Files
LFS_Book/chapter06/readline.xml
Anton Maisak 553106032f SYNC
Revision: 11558
Author: pierre
Date: 13 марта 2019 г. 20:58:54
Message:
Update all chapter 6 contents and description sections.
Patch by Xi Ruoyao.
----
Modified : /trunk/BOOK/chapter01/changelog.xml
Modified : /trunk/BOOK/chapter06/bash.xml
Modified : /trunk/BOOK/chapter06/binutils.xml
Modified : /trunk/BOOK/chapter06/coreutils.xml
Modified : /trunk/BOOK/chapter06/e2fsprogs.xml
Modified : /trunk/BOOK/chapter06/findutils.xml
Modified : /trunk/BOOK/chapter06/gawk.xml
Modified : /trunk/BOOK/chapter06/gcc.xml
Modified : /trunk/BOOK/chapter06/gettext.xml
Modified : /trunk/BOOK/chapter06/glibc.xml
Modified : /trunk/BOOK/chapter06/grub.xml
Modified : /trunk/BOOK/chapter06/libelf.xml
Modified : /trunk/BOOK/chapter06/linux-headers.xml
Modified : /trunk/BOOK/chapter06/man-db.xml
Modified : /trunk/BOOK/chapter06/meson.xml
Modified : /trunk/BOOK/chapter06/psmisc.xml
Modified : /trunk/BOOK/chapter06/python.xml
Modified : /trunk/BOOK/chapter06/readline.xml
Modified : /trunk/BOOK/chapter06/systemd.xml
Modified : /trunk/BOOK/chapter06/texinfo.xml
Modified : /trunk/BOOK/chapter06/util-linux.xml
2019-08-10 10:18:54 +03:00

134 lines
5.4 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-readline" role="wrap">
<?dbhtml filename="readline.html"?>
<sect1info condition="script">
<productname>readline</productname>
<productnumber>&readline-version;</productnumber>
<address>&readline-url;</address>
</sect1info>
<title>Readline-&readline-version;</title>
<indexterm zone="ch-system-readline">
<primary sortas="a-Readline">Readline</primary>
</indexterm>
<sect2 role="package">
<title/>
<para>Пакет Readline - набор библиотек, который предлагает редактирование командной строки и возможности просмотра истории.</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>&readline-ch6-sbu;</seg>
<seg>&readline-ch6-du;</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Установка пакета Readline</title>
<para>Для установки рабочего пакета Readline, необходимо переместить старые библиотеки в &lt;libraryname&gt;.old. Как правило проблем не будет, однако иногда могут возникать ошибки привязки с <command>ldconfig</command>. Это можно обойти, выполнив следующие команды sed:</para>
<screen><userinput remap="pre">sed -i '/MV.*old/d' Makefile.in
sed -i '/{OLDSUFF}/c:' support/shlib-install</userinput></screen>
<para>Подготовьте пакет Readline к компиляции:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/readline-&readline-version;</userinput></screen>
<para>Скомпилируйте пакет:</para>
<screen><userinput remap="make">make SHLIB_LIBS="-L/tools/lib -lncursesw"</userinput></screen>
<variablelist>
<title>Значение аргументов команды make:</title>
<varlistentry>
<term><parameter>SHLIB_LIBS="-L/tools/lib -lncursesw"</parameter></term>
<listitem>
<para>Аргумент сообщает выполнить принудительную линковку с библиотекой
<filename class="libraryfile">libncursesw</filename>.</para>
</listitem>
</varlistentry>
</variablelist>
<para>У этого пакета нет тестов.</para>
<para>Установите пакет:</para>
<screen><userinput remap="install">make SHLIB_LIBS="-L/tools/lib -lncurses" install</userinput></screen>
<para>Теперь переместите динамические библиотеки в подходящее место и исправьте символические ссылки:</para>
<screen><userinput remap="install">mv -v /usr/lib/lib{readline,history}.so.* /lib
chmod -v u+w /lib/lib{readline,history}.so.*
ln -sfv ../../lib/$(readlink /usr/lib/libreadline.so) /usr/lib/libreadline.so
ln -sfv ../../lib/$(readlink /usr/lib/libhistory.so ) /usr/lib/libhistory.so</userinput></screen>
<para>При желании, можно установить документацию:</para>
<screen><userinput remap="install">install -v -m644 doc/*.{ps,pdf,html,dvi} /usr/share/doc/readline-&readline-version;</userinput></screen>
</sect2>
<sect2 id="contents-readline" role="content">
<title>Содержимое пакета Readline</title>
<segmentedlist>
<segtitle>Установленные библиотеки</segtitle>
<segtitle>Установленные каталоги</segtitle>
<seglistitem>
<seg>libhistory.so и libreadline.so</seg>
<seg>/usr/include/readline и
/usr/share/doc/readline-&readline-version;</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Краткое описание</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="libhistory">
<term><filename class="libraryfile">libhistory</filename></term>
<listitem>
<para>Обеспечивает согласованный пользовательский интерфейс для вызова строк истории</para>
<indexterm zone="ch-system-readline libhistory">
<primary sortas="c-libhistory">libhistory</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libreadline">
<term><filename class="libraryfile">libreadline</filename></term>
<listitem>
<para>Предоставляет набор команд для манипулирования текстом, введенным в интерактивной сессии программы.</para>
<indexterm zone="ch-system-readline libreadline">
<primary sortas="c-libreadline">libreadline</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>