トップ > 最小システムの構築 > 新システムの作成(後半) >
Readline

  

Readlineのビルド

Readlineは、コマンドライン編集のためのライブラリです。 コマンドライン入力機能を持ったソフトウェアの一部がReadlineを利用しています。

例えばBashでは、キーボードのCTRL + Fで1文字進み、CTRL + Eで1文字戻ることができます。 また、CTRL + Pで前回入力したコマンドラインを呼び出すことができます。 これらの機能が、Readlineを使って実装されています

ビルド・インストール前リストの生成

最初に、ビルド・インストール前リストを生成します。


/sources/genprevlist.sh > /dev/null 2>&1

 

ソースファイルの展開

ソースファイルを展開します。


cd /sources
tar xvf readline-6.3.tar.gz
cd readline-6.3

 

パッチの適用

展開したソースファイルにパッチを適用します。


patch -Np1 < ../readline-6.3-upstream_fixes-3.patch

 

ソースファイルの修正

展開したソースファイルを修正します。


sed -i -e '/MV.*old/d' Makefile.in
sed -i -e '/{OLDSUFF}/c:' support/shlib-install

 

configure

configureを実行します。


./configure \
  --prefix=/usr \
  --docdir=/usr/share/doc/readline-6.3 > ../../logs/configurelog.readline 2>&1

 

configureが終了したら、ログファイルに出力された内容を参照し、正常に終了したことを確認します。


cat ../../logs/configurelog.readline

 

ビルド

ビルドを実行します。


make SHLIB_LIBS=-lncurses

 

ビルドが終了したら、画面に出力された内容を参照し、正常に終了したことを確認します。

インストール

インストールを行います。


make SHLIB_LIBS=-lncurses install

 

インストールが終了したら、画面に出力された内容を参照し、正常に終了したことを確認します。

インストール後の追加作業

インストール後の追加作業を行います。 ライブラリを、本来あるべきディレクトリに移動します。


mv -v /usr/lib/libreadline.so.* /lib
mv -v /usr/lib/libhistory.so.*  /lib
ln -vsf ../../lib/libreadline.so.6 /usr/lib/libreadline.so
ln -vsf ../../lib/libhistory.so.6  /usr/lib/libhistory.so

 

ライブラリを /lib に移動し、/usr/lib からのシンボリックリンクを再生成しています。

ソースファイル付属文書のインストール

ソースファイルに付属している文書のインストールを行います。


mkdir -vp /usr/share/doc/readline-6.3
cp -va CHANGELOG  /usr/share/doc/readline-6.3
cp -va CHANGES    /usr/share/doc/readline-6.3
cp -va COPYING    /usr/share/doc/readline-6.3
cp -va INSTALL    /usr/share/doc/readline-6.3
cp -va NEWS       /usr/share/doc/readline-6.3
cp -va README     /usr/share/doc/readline-6.3
cp -va USAGE      /usr/share/doc/readline-6.3
cp -va doc/*.pdf  /usr/share/doc/readline-6.3
cp -va doc/*.html /usr/share/doc/readline-6.3
cp -va doc/*.dvi  /usr/share/doc/readline-6.3
cp -va doc/*.ps   /usr/share/doc/readline-6.3

 

後始末

ディスクを圧迫しないよう、ビルド用のディレクトリを削除します。


cd ..
rm -fr readline-6.3

 

インストールリストの生成

最後に、インストールリストを生成します。


/sources/genpostlist.sh > /dev/null 2>&1
/sources/gendifflist.sh readline

 
  
  

まとめ

Readlineは、コマンドライン編集のためのライブラリです。

 
メニュー