lfs/chapter06/texinfo.xml

201 lines
6.6 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-texinfo" role="wrap">
<?dbhtml filename="texinfo.html"?>
<title>Texinfo-&texinfo-version;</title>
<indexterm zone="ch-system-texinfo">
<primary sortas="a-Texinfo">Texinfo</primary>
</indexterm>
<sect2 role="package">
<title/>
<para>The Texinfo package contains programs for reading, writing, and
converting info pages.</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>&texinfo-ch6-sbu;</seg>
<seg>&texinfo-ch6-du;</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Texinfo</title>
<para>The <command>info</command> program makes assumptions such as that
a string occupies the same number of character cells on the screen and
bytes in memory and that one can break the string anywhere, which fail
in UTF-8 based locales. The patch below makes them valid by falling back
to English messages when a multibyte locale is in use:</para>
<screen><userinput>patch -Np1 -i ../&texinfo-multibyte-patch;</userinput></screen>
<para>Texinfo allows local users to overwrite arbitrary files via a symlink
attack on temporary files. Apply the following patch to fix this:</para>
<screen><userinput>patch -Np1 -i ../&texinfo-tempfile_fix-patch;</userinput></screen>
<para>Prepare Texinfo for compilation:</para>
<screen><userinput>./configure --prefix=/usr</userinput></screen>
<para>Compile the package:</para>
<screen><userinput>make</userinput></screen>
<para>To test the results, issue:
<userinput>make check</userinput>.</para>
<para>Install the package:</para>
<screen><userinput>make install</userinput></screen>
<para>Optionally, install the components belonging in a TeX
installation:</para>
<!-- FIXME: doesn't the TeX installation in BLFS overwrite files there? -->
<screen><userinput>make TEXMF=/usr/share/texmf install-tex</userinput></screen>
<variablelist>
<title>The meaning of the make parameter:</title>
<varlistentry>
<term><parameter>TEXMF=/usr/share/texmf</parameter></term>
<listitem>
<para>The <envar>TEXMF</envar> makefile variable holds the location
of the root of the TeX tree if, for example, a TeX package will be
installed later.</para>
</listitem>
</varlistentry>
</variablelist>
<para>The Info documentation system uses a plain text file to hold its list of
menu entries. The file is located at <filename>/usr/share/info/dir</filename>.
Unfortunately, due to occasional problems in the Makefiles of various packages,
it can sometimes get out of sync with the info pages installed on the system.
If the <filename>/usr/share/info/dir</filename> file ever needs to be
recreated, the following optional commands will accomplish the task:</para>
<screen role="nodump"><userinput>cd /usr/share/info
rm dir
for f in *
do install-info $f dir 2&gt;/dev/null
done</userinput></screen>
</sect2>
<sect2 id="contents-texinfo" role="content">
<title>Contents of Texinfo</title>
<segmentedlist>
<segtitle>Installed programs</segtitle>
<seglistitem>
<seg>info, infokey, install-info, makeinfo, texi2dvi, texi2pdf, and
texindex</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="info">
<term><command>info</command></term>
<listitem>
<para>Used to read info pages which are similar to man pages, but
often go much deeper than just explaining all the available command
line options. For example, compare <command>man bison</command> and
<command>info bison</command>.</para>
<indexterm zone="ch-system-texinfo info">
<primary sortas="b-info">info</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="infokey">
<term><command>infokey</command></term>
<listitem>
<para>Compiles a source file containing Info customizations into a
binary format</para>
<indexterm zone="ch-system-texinfo infokey">
<primary sortas="b-infokey">infokey</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="install-info">
<term><command>install-info</command></term>
<listitem>
<para>Used to install info pages; it updates entries in the
<command>info</command> index file</para>
<indexterm zone="ch-system-texinfo install-info">
<primary sortas="b-install-info">install-info</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="makeinfo">
<term><command>makeinfo</command></term>
<listitem>
<para>Translates the given Texinfo source documents into
info pages, plain text, or HTML</para>
<indexterm zone="ch-system-texinfo makeinfo">
<primary sortas="b-makeinfo">makeinfo</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="texi2dvi">
<term><command>texi2dvi</command></term>
<listitem>
<para>Used to format the given Texinfo document into a
device-independent file that can be printed</para>
<indexterm zone="ch-system-texinfo texi2dvi">
<primary sortas="b-texi2dvi">texi2dvi</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="texi2pdf">
<term><command>texi2pdf</command></term>
<listitem>
<para>Used to format the given Texinfo document into a
Portable Document Format (PDF) file</para>
<indexterm zone="ch-system-texinfo texi2pdf">
<primary sortas="b-texi2pdf">texi2pdf</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="texindex">
<term><command>texindex</command></term>
<listitem>
<para>Used to sort Texinfo index files</para>
<indexterm zone="ch-system-texinfo texindex">
<primary sortas="b-texindex">texindex</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>