6.32. Readline-6.3

Le paquet Readline est un ensemble de bibliothèques qui offrent des fonctionnalités d'édition de la ligne de commande et d'historique.

Temps de construction approximatif: 0.1 SBU
Espace disque requis: 14 Mo

6.32.1. Installation de Readline

Tout d'abord, installez des correctifs pour corriger des bogues traités en amont :

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

La réinstallation de Readline aura pour conséquence que les vieilles bibliothèques seront déplacées vers <nom_bibliotheque>.old. Même si cela n'est pas normalement un problème, cela peut dans certains cas provoquer un bogue de lien dans ldconfig. Cela peut être évité en effectuant les deux seds suivants :

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

Préparez la compilation de Readline :

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/readline-6.3

Compilez le paquet :

make SHLIB_LIBS=-lncurses

Voici la signification de l'option de make :

SHLIB_LIBS=-lncurses

Cette option force Readline à se lier à la bibliothèque libncurses (en réalité, libncursesw).

Ce paquet n'est pas fourni avec une suite de tests.

Installez le paquet :

make SHLIB_LIBS=-lncurses install

Maintenant, déplacez les bibliothèques dynamiques à un endroit plus adéquat et corrigez certains liens symboliques :

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

Si désiré, installez la documentation :

install -v -m644 doc/*.{ps,pdf,html,dvi} /usr/share/doc/readline-6.3

6.32.2. Contenu de Readline

Bibliothèques installées: libhistory.so et libreadline.so
Répertoires installés: /usr/include/readline, /usr/share/readline et /usr/share/doc/readline-6.3

Descriptions courtes

libhistory

Fournit une interface utilisateur cohérente pour rappeler des lignes dans l'historique

libreadline

Aide à une cohérence dans l'interface utilisateur pour des programmes discrets qui ont besoin d'une interface en ligne de commande