6.27. Readline-5.2

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.1 SBU
Espace disque requis : 10.2 Mio

6.27.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

Readline contient un bogue dans sa gestion des caractères non multibyte, qui peuvent entraîner des calculs d'affichage incorrect et un réaffichage incorrect. Corrigez ce problème en appliquant le correctif suivant issu des mainteneurs d'origine :

patch -Np1 -i ../readline-5.2-fixes-5.patch

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.5 /usr/lib/libreadline.so
ln -sfv ../../lib/libhistory.so.5 /usr/lib/libhistory.so

Si désiré, installez la documentation :

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

6.27.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