6.24. Readline-5.2

El paquete Readline contiene un conjunto de librerías que ofrecen edición de la línea de comandos y capacidades de historial.

Tiempo estimado de construcción: 0.1 SBU
Espacio requerido en disco: 10.2 MB

6.24.1. Instalación de Readline

Una reinstalación Readline provacaría que las antiguas librerías fuesen movidas a <nombre_librería>.old. Aunque normalmente esto no es un problema, en algunos casos puede sacar a la luz un fallo de enlazado de ldconfig. Esto puede evitarse ejecutando las dos siguientes sustituciones:

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

Readline contiene un fallo en el manejo de caracteres multibyte que puede causar cálculos incorrectos de la pantalla. Corrige este problema aplicando aplicando el siguiente parche procedente de su desarrollador:

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

Prepara Readline para su compilación:

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

Compila el paquete:

make SHLIB_LIBS=-lncurses

Significado de la opción de make:

SHLIB_LIBS=-lncurses

Esta opción fuerza a Readline a enlazarse contra la libería libncurses (en realidad, contra libncursesw).

Este paquete no incluye un banco de pruebas.

Instala el paquete:

make install

Mueve las librerías estáticas a una ubicación más correcta:

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

Ahora elimina los ficheros .so del directorio /lib y reenlazalos a /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

6.24.2. Contenido de Readline

Librerías instaladas: libhistory.{a,so} y libreadline.{a,so}

Descripciones cortas

libhistory

Proporciona una interfaz de usuario consistente para la rellamada de líneas de historial.

libreadline

Asiste en la consistencia de la interfaz de usuario entre programas discrecionales que necesitan suministrar una interfaz de línea de comandos.