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