Indenting chapter 6, part 8

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7358 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Manuel Canales Esparcia 2006-02-06 20:45:42 +00:00
parent cf7142a5e2
commit 2fa922f380
6 changed files with 941 additions and 648 deletions

View File

@ -1,38 +1,54 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?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" [ <!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"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="ch-system-man-db" role="wrap"> <sect1 id="ch-system-man-db" role="wrap">
<title>Man-DB-&man-db-version;</title> <?dbhtml filename="man-db.html"?>
<?dbhtml filename="man-db.html"?>
<indexterm zone="ch-system-man-db"><primary sortas="a-Man-DB">Man-DB</primary></indexterm> <title>Man-DB-&man-db-version;</title>
<sect2 role="package"><title/> <indexterm zone="ch-system-man-db">
<para>The Man-DB package contains programs for finding and viewing man pages.</para> <primary sortas="a-Man-DB">Man-DB</primary>
</indexterm>
<segmentedlist> <sect2 role="package">
<segtitle>&buildtime;</segtitle> <title/>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.1 SBU</seg><seg>1.1 MB</seg></seglistitem>
</segmentedlist>
<segmentedlist> <para>The Man-DB package contains programs for finding and viewing man
<segtitle>&dependencies;</segtitle> pages.</para>
<seglistitem><seg>Bash, Berkeley DB, Binutils, Coreutils, Gawk, GCC,
Gettext, Glibc, Grep, Make, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation"> <segmentedlist>
<title>Installation of Man-DB</title> <segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<para>Three adjustments need to be made to the sources of Man-DB.</para> <seglistitem>
<seg>0.1 SBU</seg>
<seg>1.1 MB</seg>
</seglistitem>
</segmentedlist>
<para>The first one changes the location of translated manual pages that come <segmentedlist>
with Man-DB, in order for them to be accessible in both traditional and <segtitle>&dependencies;</segtitle>
UTF-8 locales:</para>
<seglistitem>
<seg>Bash, Berkeley DB, Binutils, Coreutils, Gawk, GCC, Gettext,
Glibc, Grep, Make, and Sed</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Man-DB</title>
<para>Three adjustments need to be made to the sources of Man-DB.</para>
<para>The first one changes the location of translated manual pages that come
with Man-DB, in order for them to be accessible in both traditional and
UTF-8 locales:</para>
<screen><userinput>mv man/de{_DE.88591,} &amp;&amp; <screen><userinput>mv man/de{_DE.88591,} &amp;&amp;
mv man/es{_ES.88591,} &amp;&amp; mv man/es{_ES.88591,} &amp;&amp;
@ -40,15 +56,15 @@ mv man/it{_IT.88591,} &amp;&amp;
mv man/ja{_JP.eucJP,} &amp;&amp; mv man/ja{_JP.eucJP,} &amp;&amp;
sed -i 's,\*_\*,??,' man/Makefile.in</userinput></screen> sed -i 's,\*_\*,??,' man/Makefile.in</userinput></screen>
<para>The second change is a <command>sed</command> substitution to delete the <para>The second change is a <command>sed</command> substitution to delete
<quote>/usr/man</quote> lines in the the <quote>/usr/man</quote> lines in the <filename>man_db.conf</filename>
<filename>man_db.conf</filename> file to prevent redundant results when file to prevent redundant results when using programs such as
using programs such as <command>whatis</command>:</para> <command>whatis</command>:</para>
<screen><userinput>sed -i '/\t\/usr\/man/d' src/man_db.conf.in</userinput></screen> <screen><userinput>sed -i '/\t\/usr\/man/d' src/man_db.conf.in</userinput></screen>
<para>The third change accounts for programs that Man-DB should be able <para>The third change accounts for programs that Man-DB should be able
to find at runtime, but that haven't been installed yet:</para> to find at runtime, but that haven't been installed yet:</para>
<screen><userinput>cat &gt;&gt;include/manconfig.h.in &lt;&lt;"EOF" <screen><userinput>cat &gt;&gt;include/manconfig.h.in &lt;&lt;"EOF"
<literal>#define WEB_BROWSER "exec /usr/bin/lynx" <literal>#define WEB_BROWSER "exec /usr/bin/lynx"
@ -57,121 +73,210 @@ to find at runtime, but that haven't been installed yet:</para>
#define GRAP "/usr/bin/grap"</literal> #define GRAP "/usr/bin/grap"</literal>
EOF</userinput></screen> EOF</userinput></screen>
<para>The <command>col</command> program is a part of the Util-linux package, <para>The <command>col</command> program is a part of the Util-linux
<command>lynx</command> is a text-based web browser package, <command>lynx</command> is a text-based web browser (see BLFS
(see BLFS for installation instructions), for installation instructions), <command>vgrind</command> converts
<command>vgrind</command> converts program sources to Groff input, program sources to Groff input, and <command>grap</command> is useful
and <command>grap</command> is useful for typesetting graphs in Groff documents. for typesetting graphs in Groff documents. The <command>vgrind</command>
The <command>vgrind</command> and <command>grap</command> programs are and <command>grap</command> programs are not normally needed for viewing
not normally needed for viewing manual pages. They are manual pages. They are not part of LFS or BLFS, but you should be able
not part of LFS or BLFS, but you should be able to install them yourself to install them yourself after finishing LFS if you wish to do so.</para>
after finishing LFS if you wish to do so.</para>
<para>Prepare Man-DB for compilation:</para> <para>Prepare Man-DB for compilation:</para>
<screen><userinput>./configure --prefix=/usr --enable-mb-groff --disable-setuid</userinput></screen> <screen><userinput>./configure --prefix=/usr --enable-mb-groff --disable-setuid</userinput></screen>
<para>The meaning of the configure options:</para> <variablelist>
<title>The meaning of the configure options:</title>
<variablelist> <varlistentry>
<varlistentry> <term><parameter>--enable-mb-groff</parameter></term>
<term><parameter>--enable-mb-groff</parameter></term> <listitem>
<listitem><para>This tells the <command>man</command> program to <para>This tells the <command>man</command> program to use the
use the <quote>ascii8</quote> and <quote>nippon</quote> Groff devices for formatting non-ISO-8859-1 <quote>ascii8</quote> and <quote>nippon</quote> Groff devices for
manual pages.</para></listitem> formatting non-ISO-8859-1 manual pages.</para>
</varlistentry> </listitem>
<varlistentry> </varlistentry>
<term><parameter>--disable-setuid</parameter></term>
<listitem><para>This disables making the <command>man</command> program
setuid to user <quote>man</quote>.</para></listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para> <varlistentry>
<term><parameter>--disable-setuid</parameter></term>
<listitem>
<para>This disables making the <command>man</command> program setuid
to user <systemitem class="username">man</systemitem>.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>
<screen><userinput>make</userinput></screen> <screen><userinput>make</userinput></screen>
<para>Install the package:</para> <para>Install the package:</para>
<screen><userinput>make install</userinput></screen> <screen><userinput>make install</userinput></screen>
<para>Additional information regarding the compression of <para>Additional information regarding the compression of
man and info pages can be found in the BLFS book at man and info pages can be found in the BLFS book at
<ulink url="&blfs-root;view/cvs/postlfs/compressdoc.html"/>.</para> <ulink url="&blfs-root;view/cvs/postlfs/compressdoc.html"/>.</para>
</sect2> </sect2>
<sect2><title>Non-English Manual Pages in LFS</title> <sect2>
<title>Non-English Manual Pages in LFS</title>
<para>Linux distributions have different policies concerning the character <para>Linux distributions have different policies concerning the character
encoding in which manual pages are stored in the filesystem. E.g., RedHat encoding in which manual pages are stored in the filesystem. E.g., RedHat
stores all manual pages in UTF-8, while Debian uses language-specific stores all manual pages in UTF-8, while Debian uses language-specific
(mostly 8-bit) encodings. This leads to incompatibility of packages with (mostly 8-bit) encodings. This leads to incompatibility of packages with
manual pages designed for different distributions.</para> manual pages designed for different distributions.</para>
<para>LFS uses the same conventions as Debian. The relationship between <para>LFS uses the same conventions as Debian. The relationship between
language codes and the expected encoding of manual pages is listed below. language codes and the expected encoding of manual pages is listed below.
Man-DB automatically converts them to the locale encoding while viewing.</para> Man-DB automatically converts them to the locale encoding while viewing.</para>
<!-- Origin: man-db-2.4.3/src/encodings.c --> <!-- Origin: man-db-2.4.3/src/encodings.c -->
<table frame='all'><title>Expected character encoding of manual pages</title> <table>
<tgroup cols='2' align='center' colsep='1' rowsep='1'> <title>Expected character encoding of manual pages</title>
<thead>
<row><entry>Language (code)</entry><entry>Encoding</entry></row>
</thead>
<tbody>
<row><entry>Danish (da)</entry><entry>ISO-8859-1</entry></row>
<row><entry>German (de)</entry><entry>ISO-8859-1</entry></row>
<row><entry>English (en)</entry><entry>ISO-8859-1</entry></row>
<row><entry>Spanish (es)</entry><entry>ISO-8859-1</entry></row>
<row><entry>Finnish (fi)</entry><entry>ISO-8859-1</entry></row>
<row><entry>French (fr)</entry><entry>ISO-8859-1</entry></row>
<row><entry>Irish (ga)</entry><entry>ISO-8859-1</entry></row>
<row><entry>Galician (gl)</entry><entry>ISO-8859-1</entry></row>
<row><entry>Indonesian (id)</entry><entry>ISO-8859-1</entry></row>
<row><entry>Icelandic (is)</entry><entry>ISO-8859-1</entry></row>
<row><entry>Italian (it)</entry><entry>ISO-8859-1</entry></row>
<row><entry>Dutch (nl)</entry><entry>ISO-8859-1</entry></row>
<!-- BUG: "no" is deprecated, should use "nb" or "nn" and symlinks -->
<row><entry>Norwegian (no)</entry><entry>ISO-8859-1</entry></row>
<!-- END BUG -->
<row><entry>Portuguese (pt)</entry><entry>ISO-8859-1</entry></row>
<row><entry>Swedish (sv)</entry><entry>ISO-8859-1</entry></row>
<!-- Languages below require patched groff -->
<row><entry>Czech (cs)</entry><entry>ISO-8859-2</entry></row>
<row><entry>Croatian (hr)</entry><entry>ISO-8859-2</entry></row>
<row><entry>Hungarian (hu)</entry><entry>ISO-8859-2</entry></row>
<row><entry>Japanese (ja)</entry><entry>EUC-JP</entry></row>
<row><entry>Korean (ko)</entry><entry>EUC-KR</entry></row>
<row><entry>Polish (pl)</entry><entry>ISO-8859-2</entry></row>
<row><entry>Russian (ru)</entry><entry>KOI8-R</entry></row>
<row><entry>Slovak (sk)</entry><entry>ISO-8859-2</entry></row>
<row><entry>Turkish (tr)</entry><entry>ISO-8859-9</entry></row>
</tbody>
</tgroup>
</table>
<note><para>Manual pages in languages not in the list are not supported. <tgroup cols="2">
Norwegian doesn't work now because of the transition from no_NO to nb_NO
locale, and Korean is non-functional because of the incomplete Groff patch.
</para></note>
<para>If upstream distributes the manual pages in the same encoding as <thead>
Man-DB expects, the manual pages can be copied to <row>
<filename class="directory">/usr/share/man/<replaceable>[language code]</replaceable></filename>. <entry>Language (code)</entry>
E.g., French manual pages <entry>Encoding</entry>
(<ulink url="http://ccb.club.fr/man/man-fr-1.58.0.tar.bz2"/>) </row>
can be installed with the following command:</para> </thead>
<tbody>
<row>
<entry>Danish (da)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>German (de)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>English (en)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Spanish (es)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Finnish (fi)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>French (fr)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Irish (ga)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Galician (gl)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Indonesian (id)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Icelandic (is)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Italian (it)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Dutch (nl)</entry>
<entry>ISO-8859-1</entry>
</row>
<!-- BUG: "no" is deprecated, should use "nb" or "nn" and symlinks -->
<row>
<entry>Norwegian (no)</entry>
<entry>ISO-8859-1</entry>
</row>
<!-- END BUG -->
<row>
<entry>Portuguese (pt)</entry>
<entry>ISO-8859-1</entry>
</row>
<row>
<entry>Swedish (sv)</entry>
<entry>ISO-8859-1</entry>
</row>
<!-- Languages below require patched groff -->
<row>
<entry>Czech (cs)</entry>
<entry>ISO-8859-2</entry>
</row>
<row>
<entry>Croatian (hr)</entry>
<entry>ISO-8859-2</entry>
</row>
<row>
<entry>Hungarian (hu)</entry>
<entry>ISO-8859-2</entry>
</row>
<row>
<entry>Japanese (ja)</entry>
<entry>EUC-JP</entry>
</row>
<row>
<entry>Korean (ko)</entry>
<entry>EUC-KR</entry>
</row>
<row>
<entry>Polish (pl)</entry>
<entry>ISO-8859-2</entry>
</row>
<row>
<entry>Russian (ru)</entry>
<entry>KOI8-R</entry>
</row>
<row>
<entry>Slovak (sk)</entry>
<entry>ISO-8859-2</entry>
</row>
<row>
<entry>Turkish (tr)</entry>
<entry>ISO-8859-9</entry>
</row>
</tbody>
</tgroup>
</table>
<note>
<para>Manual pages in languages not in the list are not supported.
Norwegian doesn't work now because of the transition from no_NO to
nb_NO locale, and Korean is non-functional because of the incomplete
Groff patch.</para>
</note>
<para>If upstream distributes the manual pages in the same encoding
as Man-DB expects, the manual pages can be copied to
<filename class="directory">/usr/share/man/<replaceable>[language
code]</replaceable></filename>. E.g., French manual pages
(<ulink url="http://ccb.club.fr/man/man-fr-1.58.0.tar.bz2"/>) can be
installed with the following command:</para>
<screen role="nodump"><userinput>mkdir -p /usr/share/man/fr &amp;&amp; <screen role="nodump"><userinput>mkdir -p /usr/share/man/fr &amp;&amp;
cp -rv man? /usr/share/man/fr</userinput></screen> cp -rv man? /usr/share/man/fr</userinput></screen>
<para>If upstream distributes manual pages in UTF-8 (i.e., <quote>for RedHat</quote>) <para>If upstream distributes manual pages in UTF-8 (i.e., <quote>for
instead of the encoding listed in the table above, they have to be RedHat</quote>) instead of the encoding listed in the table above, they
converted from UTF-8 to the encoding listed in the table before have to be converted from UTF-8 to the encoding listed in the table before
installation. E.g., Spanish manual pages installation. E.g., Spanish manual pages (<ulink
(<ulink url="http://ditec.um.es/~piernas/manpages-es/man-pages-es-1.55.tar.bz2"/>) url="http://ditec.um.es/~piernas/manpages-es/man-pages-es-1.55.tar.bz2"/>)
can be installed with the following commands:</para> can be installed with the following commands:</para>
<screen role="nodump"><userinput>mkdir -p /usr/share/man/es &amp;&amp; <screen role="nodump"><userinput>mkdir -p /usr/share/man/es &amp;&amp;
find man? -type f | grep -v 'man7/iso_8859-7.7' | \ find man? -type f | grep -v 'man7/iso_8859-7.7' | \
@ -180,86 +285,110 @@ while read F ; do
done &amp;&amp; done &amp;&amp;
cp -rv man? /usr/share/man/es</userinput></screen> cp -rv man? /usr/share/man/es</userinput></screen>
<note><para>The need to exclude the <filename>man7/iso_8859-7.7</filename> file <note>
from the conversion process because it is already in ISO-8859-1 is a packaging <para>The need to exclude the <filename>man7/iso_8859-7.7</filename> file
bug in man-pages-es-1.55. Future versions should not require this workaround.</para></note> from the conversion process because it is already in ISO-8859-1 is a
packaging bug in man-pages-es-1.55. Future versions should not require
this workaround.</para>
</note>
</sect2> </sect2>
<sect2 id="contents-man-db" role="content"><title>Contents of Man-DB</title> <sect2 id="contents-man-db" role="content">
<title>Contents of Man-DB</title>
<segmentedlist> <segmentedlist>
<segtitle>Installed programs</segtitle> <segtitle>Installed programs</segtitle>
<seglistitem><seg>accessdb, apropos, catman, lexgrog, man, mandb, manpath,
and whatis</seg></seglistitem>
</segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> <seglistitem>
<?dbfo list-presentation="list"?> <seg>accessdb, apropos, catman, lexgrog, man, mandb, manpath,
<?dbhtml list-presentation="table"?> and whatis</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="accessdb"> <varlistentry id="accessdb">
<term><command>accessdb</command></term> <term><command>accessdb</command></term>
<listitem> <listitem>
<para>Dumps the <command>whatis</command> database contents in human-readable form</para> <para>Dumps the <command>whatis</command> database contents in
<indexterm zone="ch-system-man-db accessdb"><primary sortas="b-accessdb">accessdb</primary></indexterm> human-readable form</para>
</listitem> <indexterm zone="ch-system-man-db accessdb">
</varlistentry> <primary sortas="b-accessdb">accessdb</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="apropos"> <varlistentry id="apropos">
<term><command>apropos</command></term> <term><command>apropos</command></term>
<listitem> <listitem>
<para>Searches the <command>whatis</command> database and displays the short descriptions <para>Searches the <command>whatis</command> database and displays
of system commands that contain a given string</para> the short descriptions of system commands that contain a given
<indexterm zone="ch-system-man-db apropos"><primary sortas="b-apropos">apropos</primary></indexterm> string</para>
</listitem> <indexterm zone="ch-system-man-db apropos">
</varlistentry> <primary sortas="b-apropos">apropos</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="catman"> <varlistentry id="catman">
<term><command>catman</command></term> <term><command>catman</command></term>
<listitem> <listitem>
<para>Creates or updates the pre-formatted manual pages</para> <para>Creates or updates the pre-formatted manual pages</para>
<indexterm zone="ch-system-man-db catman"><primary sortas="b-catman">catman</primary></indexterm> <indexterm zone="ch-system-man-db catman">
</listitem> <primary sortas="b-catman">catman</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="lexgrog"> <varlistentry id="lexgrog">
<term><command>lexgrog</command></term> <term><command>lexgrog</command></term>
<listitem> <listitem>
<para>Displays one-line summary information about a given manual page</para> <para>Displays one-line summary information about a given manual
<indexterm zone="ch-system-man-db lexgrog"><primary sortas="b-lexgrog">lexgrog</primary></indexterm> page</para>
</listitem> <indexterm zone="ch-system-man-db lexgrog">
</varlistentry> <primary sortas="b-lexgrog">lexgrog</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="man"> <varlistentry id="man">
<term><command>man</command></term> <term><command>man</command></term>
<listitem> <listitem>
<para>Formats and displays the requested manual page</para> <para>Formats and displays the requested manual page</para>
<indexterm zone="ch-system-man-db man"><primary sortas="b-man">man</primary></indexterm> <indexterm zone="ch-system-man-db man">
</listitem> <primary sortas="b-man">man</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="mandb"> <varlistentry id="mandb">
<term><command>mandb</command></term> <term><command>mandb</command></term>
<listitem> <listitem>
<para>Creates or updates the <command>whatis</command> database</para> <para>Creates or updates the <command>whatis</command> database</para>
<indexterm zone="ch-system-man-db mandb"><primary sortas="b-mandb">mandb</primary></indexterm> <indexterm zone="ch-system-man-db mandb">
</listitem> <primary sortas="b-mandb">mandb</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="whatis"> <varlistentry id="whatis">
<term><command>whatis</command></term> <term><command>whatis</command></term>
<listitem> <listitem>
<para>Searches the <command>whatis</command> database and displays the short descriptions <para>Searches the <command>whatis</command> database and displays
of system commands that contain the given keyword as a separate the short descriptions of system commands that contain the given
word</para> keyword as a separate word</para>
<indexterm zone="ch-system-man-db whatis"><primary sortas="b-whatis">whatis</primary></indexterm> <indexterm zone="ch-system-man-db whatis">
</listitem> <primary sortas="b-whatis">whatis</primary>
</varlistentry> </indexterm>
</variablelist> </listitem>
</varlistentry>
</sect2> </variablelist>
</sect2>
</sect1> </sect1>

View File

@ -1,61 +1,82 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?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" [ <!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"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="ch-system-man-pages" role="wrap"> <sect1 id="ch-system-man-pages" role="wrap">
<title>Man-pages-&man-pages-version;</title> <?dbhtml filename="man-pages.html"?>
<?dbhtml filename="man-pages.html"?>
<indexterm zone="ch-system-man-pages"><primary sortas="a-Man-pages">Man-pages</primary></indexterm> <title>Man-pages-&man-pages-version;</title>
<sect2 role="package"><title/> <indexterm zone="ch-system-man-pages">
<para>The Man-pages package contains over 1,200 man pages.</para> <primary sortas="a-Man-pages">Man-pages</primary>
</indexterm>
<segmentedlist> <sect2 role="package">
<segtitle>&buildtime;</segtitle> <title/>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.1 SBU</seg><seg>18.6 MB</seg></seglistitem>
</segmentedlist>
<segmentedlist> <para>The Man-pages package contains over 1,200 man pages.</para>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Coreutils, and Make</seg></seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation"> <segmentedlist>
<title>Installation of Man-pages</title> <segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<para>Install Man-pages by running:</para> <seglistitem>
<seg>0.1 SBU</seg>
<seg>18.6 MB</seg>
</seglistitem>
</segmentedlist>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem>
<seg>Bash, Coreutils, and Make</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Man-pages</title>
<para>Install Man-pages by running:</para>
<screen><userinput>make install</userinput></screen> <screen><userinput>make install</userinput></screen>
</sect2> </sect2>
<sect2 id="contents-manpages" role="content">
<title>Contents of Man-pages</title>
<sect2 id="contents-manpages" role="content"><title>Contents of Man-pages</title> <segmentedlist>
<segtitle>Installed files</segtitle>
<segmentedlist> <seglistitem>
<segtitle>Installed files</segtitle> <seg>various man pages</seg>
<seglistitem><seg>various man pages</seg></seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> <variablelist>
<?dbfo list-presentation="list"?> <bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbhtml list-presentation="table"?> <?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="man-pages"> <varlistentry id="man-pages">
<term><filename>man pages</filename></term> <term><filename>man pages</filename></term>
<listitem> <listitem>
<para>Describe the C and C++ functions, important <para>Describe the C and C++ functions, important
device files, and significant configuration files</para> device files, and significant configuration files</para>
<indexterm zone="ch-system-man-pages man-pages"><primary sortas="e-man-pages">man pages</primary></indexterm> <indexterm zone="ch-system-man-pages man-pages">
</listitem> <primary sortas="e-man-pages">man pages</primary>
</varlistentry> </indexterm>
</variablelist> </listitem>
</varlistentry>
</sect2> </variablelist>
</sect2>
</sect1> </sect1>

View File

@ -1,100 +1,128 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?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" [ <!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"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="ch-system-mktemp" role="wrap"> <sect1 id="ch-system-mktemp" role="wrap">
<title>Mktemp-&mktemp-version;</title> <?dbhtml filename="mktemp.html"?>
<?dbhtml filename="mktemp.html"?>
<indexterm zone="ch-system-mktemp"><primary sortas="a-Mktemp">Mktemp</primary></indexterm> <title>Mktemp-&mktemp-version;</title>
<sect2 role="package"><title/> <indexterm zone="ch-system-mktemp">
<para>The Mktemp package contains programs used to create secure temporary <primary sortas="a-Mktemp">Mktemp</primary>
files in shell scripts.</para> </indexterm>
<segmentedlist> <sect2 role="package">
<segtitle>&buildtime;</segtitle> <title/>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.1 SBU</seg><seg>436 KB</seg></seglistitem>
</segmentedlist>
<segmentedlist> <para>The Mktemp package contains programs used to create secure temporary
<segtitle>&dependencies;</segtitle> files in shell scripts.</para>
<seglistitem><seg>Coreutils, Make, and Patch</seg></seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation"> <segmentedlist>
<title>Installation of Mktemp</title> <segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<para>Many scripts still use the deprecated <seglistitem>
<command>tempfile</command> program, which has functionality similar <seg>0.1 SBU</seg>
to <command>mktemp</command>. Patch Mktemp to include a <seg>436 KB</seg>
<command>tempfile</command> wrapper:</para> </seglistitem>
</segmentedlist>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem>
<seg>Coreutils, Make, and Patch</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Mktemp</title>
<para>Many scripts still use the deprecated
<command>tempfile</command> program, which has functionality similar
to <command>mktemp</command>. Patch Mktemp to include a
<command>tempfile</command> wrapper:</para>
<screen><userinput>patch -Np1 -i ../&mktemp-tempfile-patch;</userinput></screen> <screen><userinput>patch -Np1 -i ../&mktemp-tempfile-patch;</userinput></screen>
<para>Prepare Mktemp for compilation:</para> <para>Prepare Mktemp for compilation:</para>
<screen><userinput>./configure --prefix=/usr --with-libc</userinput></screen> <screen><userinput>./configure --prefix=/usr --with-libc</userinput></screen>
<para>The meaning of the configure options:</para> <variablelist>
<title>The meaning of the configure options:</title>
<variablelist> <varlistentry>
<varlistentry> <term><parameter>--with-libc</parameter></term>
<term><parameter>--with-libc</parameter></term> <listitem>
<listitem><para>This causes the <command>mktemp</command> program to <para>This causes the <command>mktemp</command> program to use the
use the <emphasis>mkstemp</emphasis> and <emphasis>mkdtemp</emphasis> <emphasis>mkstemp</emphasis> and <emphasis>mkdtemp</emphasis>
functions from the system C library instead of its own implementation of them. functions from the system C library instead of its own implementation
</para></listitem> of them. </para>
</varlistentry> </listitem>
</variablelist> </varlistentry>
<para>Compile the package:</para> </variablelist>
<para>Compile the package:</para>
<screen><userinput>make</userinput></screen> <screen><userinput>make</userinput></screen>
<para>This package does not come with a test suite.</para> <para>This package does not come with a test suite.</para>
<para>Install the package:</para> <para>Install the package:</para>
<screen><userinput>make install <screen><userinput>make install
make install-tempfile</userinput></screen> make install-tempfile</userinput></screen>
</sect2> </sect2>
<sect2 id="contents-mktemp" role="content">
<title>Contents of Mktemp</title>
<sect2 id="contents-mktemp" role="content"><title>Contents of Mktemp</title> <segmentedlist>
<segtitle>Installed programs</segtitle>
<segmentedlist> <seglistitem>
<segtitle>Installed programs</segtitle> <seg>mktemp and tempfile</seg>
<seglistitem><seg>mktemp and tempfile</seg></seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> <variablelist>
<?dbfo list-presentation="list"?> <bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbhtml list-presentation="table"?> <?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="mktemp"> <varlistentry id="mktemp">
<term><command>mktemp</command></term> <term><command>mktemp</command></term>
<listitem> <listitem>
<para>Creates temporary files in a secure manner; it is used in scripts</para> <para>Creates temporary files in a secure manner; it is used in
<indexterm zone="ch-system-mktemp mktemp"><primary sortas="b-mktemp">mktemp</primary></indexterm> scripts</para>
</listitem> <indexterm zone="ch-system-mktemp mktemp">
</varlistentry> <primary sortas="b-mktemp">mktemp</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="tempfile"> <varlistentry id="tempfile">
<term><command>tempfile</command></term> <term><command>tempfile</command></term>
<listitem> <listitem>
<para>Creates temporary files in a less secure manner than <para>Creates temporary files in a less secure manner than
<command>mktemp</command>; it is installed for backwards-compatibility</para> <command>mktemp</command>; it is installed for
<indexterm zone="ch-system-mktemp tempfile"><primary sortas="b-tempfile">tempfile</primary></indexterm> backwards-compatibility</para>
</listitem> <indexterm zone="ch-system-mktemp tempfile">
</varlistentry> <primary sortas="b-tempfile">tempfile</primary>
</variablelist> </indexterm>
</listitem>
</varlistentry>
</sect2> </variablelist>
</sect2>
</sect1> </sect1>

View File

@ -1,140 +1,176 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?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" [ <!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"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="ch-system-module-init-tools" role="wrap"> <sect1 id="ch-system-module-init-tools" role="wrap">
<title>Module-Init-Tools-&module-init-tools-version;</title> <?dbhtml filename="module-init-tools.html"?>
<?dbhtml filename="module-init-tools.html"?>
<indexterm zone="ch-system-module-init-tools"><primary sortas="a-Module-Init-Tools">Module-Init-Tools</primary></indexterm> <title>Module-Init-Tools-&module-init-tools-version;</title>
<sect2 role="package"><title/> <indexterm zone="ch-system-module-init-tools">
<para>The Module-Init-Tools package contains programs for handling kernel <primary sortas="a-Module-Init-Tools">Module-Init-Tools</primary>
modules in Linux kernels greater than or equal to version 2.5.47.</para> </indexterm>
<segmentedlist> <sect2 role="package">
<segtitle>&buildtime;</segtitle> <title/>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.3 SBU</seg><seg>3.3 MB</seg></seglistitem>
</segmentedlist>
<segmentedlist> <para>The Module-Init-Tools package contains programs for handling kernel
<segtitle>&dependencies;</segtitle> modules in Linux kernels greater than or equal to version 2.5.47.</para>
<seglistitem><seg>Bash, Binutils, Bison,
Coreutils, Diffutils, Flex, GCC, Glibc, Grep, M4, Make, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation"> <segmentedlist>
<title>Installation of Module-Init-Tools</title> <segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<para>Issue the following commands to perform the tests (note that the <seglistitem>
<command>make distclean</command> command is required to clean up the source <seg>0.3 SBU</seg>
tree, as the source gets recompiled as part of the testing process):</para> <seg>3.3 MB</seg>
</seglistitem>
</segmentedlist>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem>
<seg>Bash, Binutils, Bison, Coreutils, Diffutils, Flex, GCC, Glibc,
Grep, M4, Make, and Sed</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Module-Init-Tools</title>
<para>Issue the following commands to perform the tests (note that the
<command>make distclean</command> command is required to clean up the source
tree, as the source gets recompiled as part of the testing process):</para>
<screen><userinput>./configure &amp;&amp; <screen><userinput>./configure &amp;&amp;
make check &amp;&amp; make check &amp;&amp;
make distclean</userinput></screen> make distclean</userinput></screen>
<para>Prepare Module-Init-Tools for compilation:</para> <para>Prepare Module-Init-Tools for compilation:</para>
<screen><userinput>./configure --prefix=/ --enable-zlib</userinput></screen> <screen><userinput>./configure --prefix=/ --enable-zlib</userinput></screen>
<para>Compile the package:</para> <para>Compile the package:</para>
<screen><userinput>make</userinput></screen> <screen><userinput>make</userinput></screen>
<para>Install the package:</para> <para>Install the package:</para>
<screen><userinput>make install</userinput></screen> <screen><userinput>make install</userinput></screen>
</sect2> </sect2>
<sect2 id="contents-module-init-tools" role="content">
<title>Contents of Module-Init-Tools</title>
<sect2 id="contents-module-init-tools" role="content"><title>Contents of Module-Init-Tools</title> <segmentedlist>
<segtitle>Installed programs</segtitle>
<segmentedlist> <seglistitem>
<segtitle>Installed programs</segtitle> <seg>depmod, generate-modprobe.conf, insmod, insmod.static, lsmod,
<seglistitem><seg>depmod, generate-modprobe.conf, insmod, modinfo, modprobe, and rmmod</seg>
insmod.static, lsmod, modinfo, modprobe, and rmmod</seg></seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> <variablelist>
<?dbfo list-presentation="list"?> <bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbhtml list-presentation="table"?> <?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="depmod"> <varlistentry id="depmod">
<term><command>depmod</command></term> <term><command>depmod</command></term>
<listitem> <listitem>
<para>Creates a dependency file based on the symbols it finds in the <para>Creates a dependency file based on the symbols it finds in the
existing set of modules; this dependency file is used by <command>modprobe</command> to existing set of modules; this dependency file is used by
automatically load the required modules</para> <command>modprobe</command> to automatically load the required
<indexterm zone="ch-system-module-init-tools depmod"><primary sortas="b-depmod">depmod</primary></indexterm> modules</para>
</listitem> <indexterm zone="ch-system-module-init-tools depmod">
</varlistentry> <primary sortas="b-depmod">depmod</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="generate-modprobe.conf"> <varlistentry id="generate-modprobe.conf">
<term><command>generate-modprobe.conf</command></term> <term><command>generate-modprobe.conf</command></term>
<listitem> <listitem>
<para>Creates a modprobe.conf file from an existing 2.2 or 2.4 module setup</para> <para>Creates a modprobe.conf file from an existing 2.2 or 2.4 module
<indexterm zone="ch-system-module-init-tools generate-modprobe.conf"><primary sortas="b-generate-modprobe.conf">generate-modprobe.conf</primary></indexterm> setup</para>
</listitem> <indexterm zone="ch-system-module-init-tools generate-modprobe.conf">
</varlistentry> <primary sortas="b-generate-modprobe.conf">generate-modprobe.conf</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="insmod"> <varlistentry id="insmod">
<term><command>insmod</command></term> <term><command>insmod</command></term>
<listitem> <listitem>
<para>Installs a loadable module in the running kernel</para> <para>Installs a loadable module in the running kernel</para>
<indexterm zone="ch-system-module-init-tools insmod"><primary sortas="b-insmod">insmod</primary></indexterm> <indexterm zone="ch-system-module-init-tools insmod">
</listitem> <primary sortas="b-insmod">insmod</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="insmod.static"> <varlistentry id="insmod.static">
<term><command>insmod.static</command></term> <term><command>insmod.static</command></term>
<listitem> <listitem>
<para>A statically compiled version of <command>insmod</command></para> <para>A statically compiled version of <command>insmod</command></para>
<indexterm zone="ch-system-module-init-tools insmod.static"><primary <indexterm zone="ch-system-module-init-tools insmod.static">
sortas="b-insmod.static">insmod.static</primary></indexterm> <primary sortas="b-insmod.static">insmod.static</primary>
</listitem> </indexterm>
</varlistentry> </listitem>
</varlistentry>
<varlistentry id="lsmod"> <varlistentry id="lsmod">
<term><command>lsmod</command></term> <term><command>lsmod</command></term>
<listitem> <listitem>
<para>Lists currently loaded modules</para> <para>Lists currently loaded modules</para>
<indexterm zone="ch-system-module-init-tools lsmod"><primary sortas="b-lsmod">lsmod</primary></indexterm> <indexterm zone="ch-system-module-init-tools lsmod">
</listitem> <primary sortas="b-lsmod">lsmod</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="modinfo"> <varlistentry id="modinfo">
<term><command>modinfo</command></term> <term><command>modinfo</command></term>
<listitem> <listitem>
<para>Examines an object file associated with a kernel module and <para>Examines an object file associated with a kernel module and
displays any information that it can glean</para> displays any information that it can glean</para>
<indexterm zone="ch-system-module-init-tools modinfo"><primary sortas="b-modinfo">modinfo</primary></indexterm> <indexterm zone="ch-system-module-init-tools modinfo">
</listitem> <primary sortas="b-modinfo">modinfo</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="modprobe"> <varlistentry id="modprobe">
<term><command>modprobe</command></term> <term><command>modprobe</command></term>
<listitem> <listitem>
<para>Uses a dependency file, created by <para>Uses a dependency file, created by
<command>depmod</command>, to automatically load relevant modules</para> <command>depmod</command>, to automatically load relevant modules</para>
<indexterm zone="ch-system-module-init-tools modprobe"><primary sortas="b-modprobe">modprobe</primary></indexterm> <indexterm zone="ch-system-module-init-tools modprobe">
</listitem> <primary sortas="b-modprobe">modprobe</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="rmmod"> <varlistentry id="rmmod">
<term><command>rmmod</command></term> <term><command>rmmod</command></term>
<listitem> <listitem>
<para>Unloads modules from the running kernel</para> <para>Unloads modules from the running kernel</para>
<indexterm zone="ch-system-module-init-tools rmmod"><primary sortas="b-rmmod">rmmod</primary></indexterm> <indexterm zone="ch-system-module-init-tools rmmod">
</listitem> <primary sortas="b-rmmod">rmmod</primary>
</varlistentry> </indexterm>
</variablelist> </listitem>
</varlistentry>
</sect2> </variablelist>
</sect2>
</sect1> </sect1>

View File

@ -1,108 +1,127 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?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" [ <!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"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="ch-system-ncurses" role="wrap"> <sect1 id="ch-system-ncurses" role="wrap">
<title>Ncurses-&ncurses-version;</title> <?dbhtml filename="ncurses.html"?>
<?dbhtml filename="ncurses.html"?>
<indexterm zone="ch-system-ncurses"><primary sortas="a-Ncurses">Ncurses</primary></indexterm> <title>Ncurses-&ncurses-version;</title>
<sect2 role="package"><title/> <indexterm zone="ch-system-ncurses">
<para>The Ncurses package contains libraries for terminal-independent <primary sortas="a-Ncurses">Ncurses</primary>
handling of character screens.</para> </indexterm>
<segmentedlist> <sect2 role="package">
<segtitle>&buildtime;</segtitle> <title/>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.6 SBU</seg><seg>18.6 MB</seg></seglistitem>
</segmentedlist>
<segmentedlist> <para>The Ncurses package contains libraries for terminal-independent
<segtitle>&dependencies;</segtitle> handling of character screens.</para>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
Gawk, GCC, Glibc, Grep, Make, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation"> <segmentedlist>
<title>Installation of Ncurses</title> <segtitle>&buildtime;</segtitle>
<!-- Uncomment if using a dated ncurses release instead of a numbered one. <segtitle>&diskspace;</segtitle>
<para>Since the release of Ncurses-&ncurses-version;, some bugs have been fixed <seglistitem>
and features added. The most important news are ....... <seg>0.6 SBU</seg>
To get these fixes and features, apply the rollup patch:</para> <seg>18.6 MB</seg>
</seglistitem>
</segmentedlist>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem>
<seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep,
Make, and Sed</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Ncurses</title>
<!-- Uncomment if using a dated ncurses release instead of a numbered one.
<para>Since the release of Ncurses-&ncurses-version;, some bugs have been fixed
and features added. The most important news are .......
To get these fixes and features, apply the rollup patch:</para>
<screen><userinput>bzcat ../&ncurses-rollup-patch; | patch -Np1</userinput></screen> <screen><userinput>bzcat ../&ncurses-rollup-patch; | patch -Np1</userinput></screen>
--> -->
<para>Since the release of Ncurses-&ncurses-version;, a memory leak and some <para>Since the release of Ncurses-&ncurses-version;, a memory leak and some
display bugs were found and fixed upstream. Apply those fixes:</para> display bugs were found and fixed upstream. Apply those fixes:</para>
<screen><userinput>patch -Np1 -i ../&ncurses-fixes-patch;</userinput></screen> <screen><userinput>patch -Np1 -i ../&ncurses-fixes-patch;</userinput></screen>
<para>Prepare Ncurses for compilation:</para> <para>Prepare Ncurses for compilation:</para>
<screen><userinput>./configure --prefix=/usr --with-shared --without-debug --enable-widec</userinput></screen> <screen><userinput>./configure --prefix=/usr --with-shared --without-debug --enable-widec</userinput></screen>
<para>The meaning of the configure options:</para> <variablelist>
<title>The meaning of the configure option:</title>
<variablelist> <varlistentry>
<varlistentry> <term><parameter>--enable-widec</parameter></term>
<term><parameter>--enable-widec</parameter></term> <listitem>
<listitem><para>This switch causes wide-character libraries <para>This switch causes wide-character libraries (e.g., <filename
(e.g., <filename class="libraryfile">libncursesw.so.&ncurses-version;</filename>) class="libraryfile">libncursesw.so.&ncurses-version;</filename>)
to be built instead of normal ones to be built instead of normal ones (e.g., <filename
(e.g., <filename class="libraryfile">libncurses.so.&ncurses-version;</filename>). class="libraryfile">libncurses.so.&ncurses-version;</filename>).
These wide-character libraries are usable in both multibyte and traditional 8-bit These wide-character libraries are usable in both multibyte and
locales, while normal libraries work properly only in 8-bit locales. traditional 8-bit locales, while normal libraries work properly
Wide-character and normal libraries are source-compatible, but not only in 8-bit locales. Wide-character and normal libraries are
binary-compatible.</para> source-compatible, but not binary-compatible.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<!--
<varlistentry>
<term><parameter>- -without-cxx-binding</parameter></term>
<listitem><para>This optional switch causes the
<filename class="libraryfile">libncurses++w.a</filename> library
not to be built. Nothing in LFS and BLFS uses this library.</para>
</listitem>
</varlistentry>
-->
</variablelist>
<para>Compile the package:</para> <!--
<varlistentry>
<term><parameter>- -without-cxx-binding</parameter></term>
<listitem>
<para>This optional switch causes the
<filename class="libraryfile">libncurses++w.a</filename> library
not to be built. Nothing in LFS and BLFS uses this library.</para>
</listitem>
</varlistentry>
-->
</variablelist>
<para>Compile the package:</para>
<screen><userinput>make</userinput></screen> <screen><userinput>make</userinput></screen>
<para>This package does not come with a test suite.</para> <para>This package does not come with a test suite.</para>
<para>Install the package:</para> <para>Install the package:</para>
<screen><userinput>make install</userinput></screen> <screen><userinput>make install</userinput></screen>
<para>Give the Ncurses libraries execute permissions:</para> <para>Give the Ncurses libraries execute permissions:</para>
<screen><userinput>chmod -v 755 /usr/lib/*.&ncurses-version;</userinput></screen> <screen><userinput>chmod -v 755 /usr/lib/*.&ncurses-version;</userinput></screen>
<para>Fix a library that should not be executable:</para> <para>Fix a library that should not be executable:</para>
<screen><userinput>chmod -v 644 /usr/lib/libncurses++w.a</userinput></screen> <screen><userinput>chmod -v 644 /usr/lib/libncurses++w.a</userinput></screen>
<para>Move the libraries to the <filename class="directory">/lib</filename> directory, <para>Move the libraries to the <filename class="directory">/lib</filename> directory,
where they are expected to reside:</para> where they are expected to reside:</para>
<screen><userinput>mv -v /usr/lib/libncursesw.so.5* /lib</userinput></screen> <screen><userinput>mv -v /usr/lib/libncursesw.so.5* /lib</userinput></screen>
<para>Because the libraries have been moved, one symlink points to <para>Because the libraries have been moved, one symlink points to
a non-existent file. Recreate it:</para> a non-existent file. Recreate it:</para>
<screen><userinput>ln -sfv ../../lib/libncursesw.so.5 /usr/lib/libncursesw.so</userinput></screen> <screen><userinput>ln -sfv ../../lib/libncursesw.so.5 /usr/lib/libncursesw.so</userinput></screen>
<para>Many applications still expect the linker to be able to find <para>Many applications still expect the linker to be able to find
non-wide-character Ncurses libraries. Trick such applications into linking with non-wide-character Ncurses libraries. Trick such applications into linking with
wide-character libraries by means of symlinks and linker scripts:</para> wide-character libraries by means of symlinks and linker scripts:</para>
<screen><userinput>for lib in curses ncurses form panel menu ; do \ <screen><userinput>for lib in curses ncurses form panel menu ; do \
rm -vf /usr/lib/lib${lib}.so ; \ rm -vf /usr/lib/lib${lib}.so ; \
@ -111,176 +130,215 @@ wide-character libraries by means of symlinks and linker scripts:</para>
done &amp;&amp; done &amp;&amp;
ln -sfv libncurses++w.a /usr/lib/libncurses++.a</userinput></screen> ln -sfv libncurses++w.a /usr/lib/libncurses++.a</userinput></screen>
<para>Finally, make sure that old applications that look for <para>Finally, make sure that old applications that look for
<filename class="libraryfile">-lcurses</filename> at build time are still <filename class="libraryfile">-lcurses</filename> at build time are still
buildable:</para> buildable:</para>
<screen><userinput>echo "INPUT(-lncursesw)" &gt;/usr/lib/libcursesw.so &amp;&amp; <screen><userinput>echo "INPUT(-lncursesw)" &gt;/usr/lib/libcursesw.so &amp;&amp;
ln -sfv libncurses.so /usr/lib/libcurses.so &amp;&amp; ln -sfv libncurses.so /usr/lib/libcurses.so &amp;&amp;
ln -sfv libncursesw.a /usr/lib/libcursesw.a &amp;&amp; ln -sfv libncursesw.a /usr/lib/libcursesw.a &amp;&amp;
ln -sfv libncurses.a /usr/lib/libcurses.a</userinput></screen> ln -sfv libncurses.a /usr/lib/libcurses.a</userinput></screen>
<note><para>The instructions above don't create non-wide-character Ncurses <note>
libraries since no package installed by compiling from sources would link <para>The instructions above don't create non-wide-character Ncurses
against them at runtime. libraries since no package installed by compiling from sources would
If you must have such libraries because of some binary-only application, link against them at runtime. If you must have such libraries because
build them with the following commands:</para> of some binary-only application, build them with the following
commands:</para>
<screen role="nodump"><userinput>make distclean &amp;&amp; <screen role="nodump"><userinput>make distclean &amp;&amp;
./configure --prefix=/usr --with-shared --without-normal \ ./configure --prefix=/usr --with-shared --without-normal \
--without-debug --without-cxx-binding &amp;&amp; --without-debug --without-cxx-binding &amp;&amp;
make sources libs &amp;&amp; make sources libs &amp;&amp;
cp -av lib/lib*.so.5* /usr/lib</userinput></screen> cp -av lib/lib*.so.5* /usr/lib</userinput></screen>
</note> </note>
</sect2>
</sect2>
<sect2 id="contents-ncurses" role="content"><title>Contents of Ncurses</title> <sect2 id="contents-ncurses" role="content">
<title>Contents of Ncurses</title>
<segmentedlist> <segmentedlist>
<segtitle>Installed programs</segtitle> <segtitle>Installed programs</segtitle>
<segtitle>Installed libraries</segtitle> <segtitle>Installed libraries</segtitle>
<seglistitem><seg>captoinfo (link to tic), clear, infocmp, infotocap (link to tic),
reset (link to tset), tack, tic, toe, tput, and tset</seg>
<seg>libcursesw.[a,so] (symlink and linker script to libncursesw.[a,so]),
libformw.[a,so], libmenuw.[a,so],
libncurses++w.a, libncursesw.[a,so], libpanelw.[a,so] and their
non-wide-character counterparts without "w" in the library names.</seg></seglistitem>
</segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> <seglistitem>
<?dbfo list-presentation="list"?> <seg>captoinfo (link to tic), clear, infocmp, infotocap (link to tic),
<?dbhtml list-presentation="table"?> reset (link to tset), tack, tic, toe, tput, and tset</seg>
<seg>libcursesw.[a,so] (symlink and linker script to libncursesw.[a,so]),
libformw.[a,so], libmenuw.[a,so], libncurses++w.a, libncursesw.[a,so],
libpanelw.[a,so] and their non-wide-character counterparts without "w"
in the library names.</seg>
</seglistitem>
</segmentedlist>
<varlistentry id="captoinfo"> <variablelist>
<term><command>captoinfo</command></term> <bridgehead renderas="sect3">Short Descriptions</bridgehead>
<listitem> <?dbfo list-presentation="list"?>
<para>Converts a termcap description into a terminfo description</para> <?dbhtml list-presentation="table"?>
<indexterm zone="ch-system-ncurses captoinfo"><primary sortas="b-captoinfo">captoinfo</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="clear"> <varlistentry id="captoinfo">
<term><command>clear</command></term> <term><command>captoinfo</command></term>
<listitem> <listitem>
<para>Clears the screen, if possible</para> <para>Converts a termcap description into a terminfo description</para>
<indexterm zone="ch-system-ncurses clear"><primary sortas="b-clear">clear</primary></indexterm> <indexterm zone="ch-system-ncurses captoinfo">
</listitem> <primary sortas="b-captoinfo">captoinfo</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="infocmp"> <varlistentry id="clear">
<term><command>infocmp</command></term> <term><command>clear</command></term>
<listitem> <listitem>
<para>Compares or prints out terminfo descriptions</para> <para>Clears the screen, if possible</para>
<indexterm zone="ch-system-ncurses infocmp"><primary sortas="b-infocmp">infocmp</primary></indexterm> <indexterm zone="ch-system-ncurses clear">
</listitem> <primary sortas="b-clear">clear</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="infotocap"> <varlistentry id="infocmp">
<term><command>infotocap</command></term> <term><command>infocmp</command></term>
<listitem> <listitem>
<para>Converts a terminfo description into a termcap description</para> <para>Compares or prints out terminfo descriptions</para>
<indexterm zone="ch-system-ncurses infotocap"><primary sortas="b-infotocap">infotocap</primary></indexterm> <indexterm zone="ch-system-ncurses infocmp">
</listitem> <primary sortas="b-infocmp">infocmp</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="reset"> <varlistentry id="infotocap">
<term><command>reset</command></term> <term><command>infotocap</command></term>
<listitem> <listitem>
<para>Reinitializes a terminal to its default values</para> <para>Converts a terminfo description into a termcap description</para>
<indexterm zone="ch-system-ncurses reset"><primary sortas="b-reset">reset</primary></indexterm> <indexterm zone="ch-system-ncurses infotocap">
</listitem> <primary sortas="b-infotocap">infotocap</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="tack"> <varlistentry id="reset">
<term><command>tack</command></term> <term><command>reset</command></term>
<listitem> <listitem>
<para>The terminfo action checker; it is mainly used to test the <para>Reinitializes a terminal to its default values</para>
accuracy of an entry in the terminfo database</para> <indexterm zone="ch-system-ncurses reset">
<indexterm zone="ch-system-ncurses tack"><primary sortas="b-tack">tack</primary></indexterm> <primary sortas="b-reset">reset</primary>
</listitem> </indexterm>
</varlistentry> </listitem>
</varlistentry>
<varlistentry id="tic"> <varlistentry id="tack">
<term><command>tic</command></term> <term><command>tack</command></term>
<listitem> <listitem>
<para>The terminfo entry-description compiler that translates a <para>The terminfo action checker; it is mainly used to test the
terminfo file from source format into the binary format needed for the accuracy of an entry in the terminfo database</para>
ncurses library routines. A terminfo file contains information on the <indexterm zone="ch-system-ncurses tack">
capabilities of a certain terminal</para> <primary sortas="b-tack">tack</primary>
<indexterm zone="ch-system-ncurses tic"><primary sortas="b-tic">tic</primary></indexterm> </indexterm>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry id="toe"> <varlistentry id="tic">
<term><command>toe</command></term> <term><command>tic</command></term>
<listitem> <listitem>
<para>Lists all available terminal types, giving the primary name and <para>The terminfo entry-description compiler that translates a
description for each</para> terminfo file from source format into the binary format needed for the
<indexterm zone="ch-system-ncurses toe"><primary sortas="b-toe">toe</primary></indexterm> ncurses library routines. A terminfo file contains information on the
</listitem> capabilities of a certain terminal</para>
</varlistentry> <indexterm zone="ch-system-ncurses tic">
<primary sortas="b-tic">tic</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="tput"> <varlistentry id="toe">
<term><command>tput</command></term> <term><command>toe</command></term>
<listitem> <listitem>
<para>Makes the values of terminal-dependent capabilities available to <para>Lists all available terminal types, giving the primary name and
the shell; it can also be used to reset or initialize a terminal or description for each</para>
report its long name</para> <indexterm zone="ch-system-ncurses toe">
<indexterm zone="ch-system-ncurses tput"><primary sortas="b-tput">tput</primary></indexterm> <primary sortas="b-toe">toe</primary>
</listitem> </indexterm>
</varlistentry> </listitem>
</varlistentry>
<varlistentry id="tset"> <varlistentry id="tput">
<term><command>tset</command></term> <term><command>tput</command></term>
<listitem> <listitem>
<para>Can be used to initialize terminals</para> <para>Makes the values of terminal-dependent capabilities available to
<indexterm zone="ch-system-ncurses tset"><primary sortas="b-tset">tset</primary></indexterm> the shell; it can also be used to reset or initialize a terminal or
</listitem> report its long name</para>
</varlistentry> <indexterm zone="ch-system-ncurses tput">
<primary sortas="b-tput">tput</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libcurses"> <varlistentry id="tset">
<term><filename class="libraryfile">libcurses</filename></term> <term><command>tset</command></term>
<listitem> <listitem>
<para>A link to <filename>libncurses</filename></para> <para>Can be used to initialize terminals</para>
<indexterm zone="ch-system-ncurses libcurses"><primary sortas="c-libcurses">libcurses</primary></indexterm> <indexterm zone="ch-system-ncurses tset">
</listitem> <primary sortas="b-tset">tset</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="libncurses"> <varlistentry id="libcurses">
<term><filename class="libraryfile">libncurses</filename></term> <term><filename class="libraryfile">libcurses</filename></term>
<listitem> <listitem>
<para>Contains functions to display text in many complex ways on a <para>A link to <filename>libncurses</filename></para>
terminal screen; a good example of the use of these functions is the <indexterm zone="ch-system-ncurses libcurses">
menu displayed during the kernel's <command>make menuconfig</command></para> <primary sortas="c-libcurses">libcurses</primary>
<indexterm zone="ch-system-ncurses libncurses"><primary sortas="c-libncurses">libncurses</primary></indexterm> </indexterm>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry id="libform"> <varlistentry id="libncurses">
<term><filename class="libraryfile">libform</filename></term> <term><filename class="libraryfile">libncurses</filename></term>
<listitem> <listitem>
<para>Contains functions to implement forms</para> <para>Contains functions to display text in many complex ways on a
<indexterm zone="ch-system-ncurses libform"><primary sortas="c-libform">libform</primary></indexterm> terminal screen; a good example of the use of these functions is the
</listitem> menu displayed during the kernel's <command>make
</varlistentry> menuconfig</command></para>
<indexterm zone="ch-system-ncurses libncurses">
<primary sortas="c-libncurses">libncurses</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libmenu"> <varlistentry id="libform">
<term><filename class="libraryfile">libmenu</filename></term> <term><filename class="libraryfile">libform</filename></term>
<listitem> <listitem>
<para>Contains functions to implement menus</para> <para>Contains functions to implement forms</para>
<indexterm zone="ch-system-ncurses libmenu"><primary sortas="c-libmenu">libmenu</primary></indexterm> <indexterm zone="ch-system-ncurses libform">
</listitem> <primary sortas="c-libform">libform</primary>
</varlistentry> </indexterm>
</listitem>
</varlistentry>
<varlistentry id="libpanel"> <varlistentry id="libmenu">
<term><filename class="libraryfile">libpanel</filename></term> <term><filename class="libraryfile">libmenu</filename></term>
<listitem> <listitem>
<para>Contains functions to implement panels</para> <para>Contains functions to implement menus</para>
<indexterm zone="ch-system-ncurses libpanel"><primary sortas="c-libpanel">libpanel</primary></indexterm> <indexterm zone="ch-system-ncurses libmenu">
</listitem> <primary sortas="c-libmenu">libmenu</primary>
</varlistentry> </indexterm>
</variablelist> </listitem>
</varlistentry>
</sect2> <varlistentry id="libpanel">
<term><filename class="libraryfile">libpanel</filename></term>
<listitem>
<para>Contains functions to implement panels</para>
<indexterm zone="ch-system-ncurses libpanel">
<primary sortas="c-libpanel">libpanel</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1> </sect1>

View File

@ -1,76 +1,97 @@
<?xml version="1.0" encoding="ISO-8859-1"?> <?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" [ <!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"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
]> ]>
<sect1 id="ch-system-patch" role="wrap"> <sect1 id="ch-system-patch" role="wrap">
<title>Patch-&patch-version;</title> <?dbhtml filename="patch.html"?>
<?dbhtml filename="patch.html"?>
<indexterm zone="ch-system-patch"><primary sortas="a-Patch">Patch</primary></indexterm> <title>Patch-&patch-version;</title>
<sect2 role="package"><title/> <indexterm zone="ch-system-patch">
<para>The Patch package contains a program for modifying or creating files by <primary sortas="a-Patch">Patch</primary>
applying a <quote>patch</quote> file typically created by the </indexterm>
<command>diff</command> program.</para>
<segmentedlist> <sect2 role="package">
<segtitle>&buildtime;</segtitle> <title/>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.1 SBU</seg><seg>1.5 MB</seg></seglistitem>
</segmentedlist>
<segmentedlist> <para>The Patch package contains a program for modifying or creating files
<segtitle>&dependencies;</segtitle> by applying a <quote>patch</quote> file typically created by the
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils, <command>diff</command> program.</para>
GCC, Glibc, Grep, Make, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation"> <segmentedlist>
<title>Installation of Patch</title> <segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<para>Prepare Patch for compilation.</para> <seglistitem>
<seg>0.1 SBU</seg>
<seg>1.5 MB</seg>
</seglistitem>
</segmentedlist>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem>
<seg>Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make,
and Sed</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Patch</title>
<para>Prepare Patch for compilation.</para>
<screen><userinput>./configure --prefix=/usr</userinput></screen> <screen><userinput>./configure --prefix=/usr</userinput></screen>
<para>Compile the package:</para> <para>Compile the package:</para>
<screen><userinput>make</userinput></screen> <screen><userinput>make</userinput></screen>
<para>This package does not come with a test suite.</para> <para>This package does not come with a test suite.</para>
<para>Install the package:</para> <para>Install the package:</para>
<screen><userinput>make install</userinput></screen> <screen><userinput>make install</userinput></screen>
</sect2> </sect2>
<sect2 id="contents-patch" role="content">
<title>Contents of Patch</title>
<sect2 id="contents-patch" role="content"><title>Contents of Patch</title> <segmentedlist>
<segtitle>Installed program</segtitle>
<segmentedlist> <seglistitem>
<segtitle>Installed program</segtitle> <seg>patch</seg>
<seglistitem><seg>patch</seg></seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> <variablelist>
<?dbfo list-presentation="list"?> <bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbhtml list-presentation="table"?> <?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="patch"> <varlistentry id="patch">
<term><command>patch</command></term> <term><command>patch</command></term>
<listitem> <listitem>
<para>Modifies files according to a patch file. A patch file is normally <para>Modifies files according to a patch file. A patch file is
a difference listing created with the <command>diff</command> program. By applying normally a difference listing created with the <command>diff</command>
these differences to the original files, <command>patch</command> creates the patched program. By applying these differences to the original files,
versions.</para> <command>patch</command> creates the patched versions.</para>
<indexterm zone="ch-system-patch patch"><primary sortas="b-patch">patch</primary></indexterm> <indexterm zone="ch-system-patch patch">
</listitem> <primary sortas="b-patch">patch</primary>
</varlistentry> </indexterm>
</variablelist> </listitem>
</varlistentry>
</sect2> </variablelist>
</sect2>
</sect1> </sect1>