Readline パッケージは、コマンドラインの編集や履歴管理を行うライブラリを提供します。
まず以下のパッチを適用します。 これは種々のバグを修正するものとしてアップストリームにより提供されているものです。
patch -Np1 -i ../readline-6.3-upstream_fixes-3.patch
Readline を再インストールすると、それまでの古いライブラリは <ライブラリ名>.old というファイル名でコピーされます。 これは普通は問題ないことですが ldconfig によるリンクに際してエラーを引き起こすことがあります。 これを避けるため以下の二つの sed コマンドを実行します。
sed -i '/MV.*old/d' Makefile.in sed -i '/{OLDSUFF}/c:' support/shlib-install
Readline をコンパイルするための準備をします。
./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/readline-6.3
パッケージをコンパイルします。
make SHLIB_LIBS=-lncurses
make オプションの意味:
SHLIB_LIBS=-lncurses
このオプションにより Readline を libncurses
ライブラリ (その実体は libncursesw
ライブラリ) にリンクします。
このパッケージにテストスイートはありません。
パッケージをインストールします。
make SHLIB_LIBS=-lncurses install
スタティックライブラリを適切なディレクトリに移動し、シンボリックリンクを適正にします。
mv -v /usr/lib/lib{readline,history}.so.* /lib ln -sfv ../../lib/$(readlink /usr/lib/libreadline.so) /usr/lib/libreadline.so ln -sfv ../../lib/$(readlink /usr/lib/libhistory.so ) /usr/lib/libhistory.so
必要ならドキュメントをインストールします。
install -v -m644 doc/*.{ps,pdf,html,dvi} /usr/share/doc/readline-6.3