6.28. Readline-6.1

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 estimé : 0.2 SBU
Espace disque requis : 13.8 Mio

6.28.1. Installation de Readline

Réinstaller 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

Corrigez le numéro de version utilisé dans la documentation de Readline :

sed -i -e 's/0x0600/0x0601/' \
       -e 's/6\.0/6.1/' \
       -e 's/RL_VERSION_MINOR\t0/RL_VERSION_MINOR\t1/' readline.h

Préparez la compilation de Readline :

./configure --prefix=/usr --libdir=/lib

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 install

Maintenant, déplacez les bibliothèques statiques à un emplacement plus appropriées :

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

Ensuite, supprimez les fichiers .so dans /lib et liez les à nouveau vers /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

Si désiré, installez la documentation :

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

6.28.2. Contenu de Readline

Bibliothèques installées: libhistory.{a,so} et libreadline.{a,so}

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