10.36. Readline-7.0

The Readline package is a set of libraries that offers command-line editing and history capabilities.

10.36.1. Installation of Readline

The following patch contains updates from the maintainer. The maintainer of Readline only releases these patches to fix serious issues:

patch -Np1 -i ../readline-7.0-branch_update-1.patch

Reinstalling Readline moves the old libraries to <libraryname> and a linking bug may occur in ldconfig. Prevent this with the following seds:

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

Prepare Readline for compilation:

./configure \
    --prefix=/usr \
    --libdir=/lib \
    --docdir=/usr/share/doc/readline-7.0

Compile the package:

make SHLIB_LIBS=-lncurses

This package does not come with a test suite.

Install the package:

make SHLIB_LIBS=-lncurses htmldir=/usr/share/doc/readline-7.0 install

Now move the static libraries to a more appropriate location:

mv -v /lib/lib{readline,history}.a /usr/lib

Next, relink the dynamic libraries into /usr/lib and remove the .so files in /lib.

ln -svf ../../lib/$(readlink /lib/libreadline.so) /usr/lib/libreadline.so
ln -svf ../../lib/$(readlink /lib/libhistory.so) /usr/lib/libhistory.so
rm -v /lib/lib{readline,history}.so

10.36.2. Contents of Readline

Installed libraries: libhistory.[a,so], libreadline.[a,so]
Installed directories: /usr/include/readline, /usr/share/doc/readline-7.0, /usr/share/readline

Short Descriptions

libhistory

Provides a consistent user interface for recalling lines of history

libreadline

Aids in the consistency of user interface across discrete programs that need to provide a command line interface