lfs/chapter08/readline.xml
Bruce Dubbs dd151db302 Package updates.
Update to bash-5.2.32.
Update to iana-etc-20240801.
Update to vim-9.1.0660.
Update to binutils-2.43.
Update to linux-6.10.3.
Update to readline-8.2.13.
Update to wheel-0.44.0.
2024-08-05 13:07:12 -05:00

156 lines
5.0 KiB
XML

<?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>The Readline package is a set of libraries that offer command-line
editing and history capabilities.</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>&readline-fin-sbu;</seg>
<seg>&readline-fin-du;</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Readline</title>
<para>Reinstalling Readline will cause the old libraries to be moved to
&lt;libraryname&gt;.old. While this is normally not a problem, in some cases
it can trigger a linking bug in <command>ldconfig</command>. This can be
avoided by issuing the following two seds:</para>
<screen><userinput remap="pre">sed -i '/MV.*old/d' Makefile.in
sed -i '/{OLDSUFF}/c:' support/shlib-install</userinput></screen>
<para>Prevent hard coding library search paths (rpath) into
the shared libraries. This package does not need rpath for an
installation into the standard location, and rpath may sometimes cause
unwanted effects or even security issues:</para>
<screen><userinput>sed -i 's/-Wl,-rpath,[^ ]*//' support/shobj-conf</userinput></screen>
<para>Prepare Readline for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--disable-static \
--with-curses \
--docdir=/usr/share/doc/readline-&readline-version;</userinput></screen>
<variablelist>
<title>The meaning of the new configure option:</title>
<varlistentry>
<term><parameter>--with-curses</parameter></term>
<listitem>
<para>This option tells Readline that it can find the termcap
library functions in the curses library, not a separate
termcap library. This will generate the correct
<filename>readline.pc</filename> file.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>
<screen><userinput remap="make">make SHLIB_LIBS="-lncursesw"</userinput></screen>
<variablelist>
<title>The meaning of the make option:</title>
<varlistentry>
<term><parameter>SHLIB_LIBS="-lncursesw"</parameter></term>
<listitem>
<para>This option forces Readline to link against the
<filename class="libraryfile">libncursesw</filename> library.</para>
</listitem>
</varlistentry>
</variablelist>
<para>This package does not come with a test suite.</para>
<para>Install the package:</para>
<screen><userinput remap="install">make SHLIB_LIBS="-lncursesw" install</userinput></screen>
<para>If desired, install the documentation:</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>Contents of Readline</title>
<segmentedlist>
<segtitle>Installed libraries</segtitle>
<segtitle>Installed directories</segtitle>
<seglistitem>
<seg>libhistory.so and libreadline.so</seg>
<seg>/usr/include/readline and
/usr/share/doc/readline-&readline-version;</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="libhistory">
<term><filename class="libraryfile">libhistory</filename></term>
<listitem>
<para>Provides a consistent user interface for recalling lines
of history</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>Provides a set of commands for manipulating text entered in an
interactive session of a program</para>
<indexterm zone="ch-system-readline libreadline">
<primary sortas="c-libreadline">libreadline</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>