8.12. Readline-8.2.13

Пакет Readline представляет собой набор библиотек, предлагающих возможности редактирования прямо в командной строке и просмотра истории команд.

Приблизительное время сборки: менее 0.1 SBU
Требуемое дисковое пространство: 16 MB

8.12.1. Установка пакета Readline

Переустановка пакета Readline приводит к перемещению старых библиотек в <libraryname>.old. Обычно это не вызывает проблем, но в некоторых случаях могут возникать ошибки линковки с ldconfig. Этого можно избежать, выполнив следующие две команды sed:

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

Запретите использование библиотеки поиска списка жестко запрограммированных путей (rpath) в общих библиотеках. Этому пакету не требуется rpath для установки в стандартное местоположение, кроме того, rpath иногда может вызывать нежелательные эффекты или даже проблемы с безопасностью:

sed -i 's/-Wl,-rpath,[^ ]*//' support/shobj-conf

Подготовьте Readline к компиляции:

./configure --prefix=/usr    \
            --disable-static \
            --with-curses    \
            --docdir=/usr/share/doc/readline-8.2.13

Значение нового параметра configure:

--with-curses

Этот параметр сообщает Readline, что он может найти функции библиотеки termcap в библиотеке curses, а не в отдельной библиотеке termcap. Это позволит сгенерировать корректный файл readline.pc.

Скомпилируйте пакет:

make SHLIB_LIBS="-lncursesw"

Значение параметра make:

SHLIB_LIBS="-lncursesw"

Этот параметр принудительно линкует Readline с библиотекой libncursesw.

С этим пакетом не поставляется набор тестов.

Установите пакет:

make SHLIB_LIBS="-lncursesw" install

По желанию установите документацию:

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

8.12.2. Содержимое пакета Readline

Установленные библиотеки: libhistory.so и libreadline.so
Созданные каталоги: /usr/include/readline и /usr/share/doc/readline-8.2.13

Краткое описание

libhistory

Обеспечивает согласованный пользовательский интерфейс для вызова строк из истории

libreadline

Предоставляет набор команд для управления текстом, введенным в интерактивном сеансе программы.