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"?>
<!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">
%general-entities;
]>
<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/>
<para>The Man-DB package contains programs for finding and viewing man pages.</para>
<indexterm zone="ch-system-man-db">
<primary sortas="a-Man-DB">Man-DB</primary>
</indexterm>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.1 SBU</seg><seg>1.1 MB</seg></seglistitem>
</segmentedlist>
<sect2 role="package">
<title/>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Berkeley DB, Binutils, Coreutils, Gawk, GCC,
Gettext, Glibc, Grep, Make, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>
<para>The Man-DB package contains programs for finding and viewing man
pages.</para>
<sect2 role="installation">
<title>Installation of Man-DB</title>
<segmentedlist>
<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
with Man-DB, in order for them to be accessible in both traditional and
UTF-8 locales:</para>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<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;
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;
sed -i 's,\*_\*,??,' man/Makefile.in</userinput></screen>
<para>The second change is a <command>sed</command> substitution to delete the
<quote>/usr/man</quote> lines in the
<filename>man_db.conf</filename> file to prevent redundant results when
using programs such as <command>whatis</command>:</para>
<para>The second change is a <command>sed</command> substitution to delete
the <quote>/usr/man</quote> lines in the <filename>man_db.conf</filename>
file to prevent redundant results when using programs such as
<command>whatis</command>:</para>
<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
to find at runtime, but that haven't been installed yet:</para>
<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>
<screen><userinput>cat &gt;&gt;include/manconfig.h.in &lt;&lt;"EOF"
<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>
EOF</userinput></screen>
<para>The <command>col</command> program is a part of the Util-linux package,
<command>lynx</command> is a text-based web browser
(see BLFS for installation instructions),
<command>vgrind</command> converts program sources to Groff input,
and <command>grap</command> is useful for typesetting graphs in Groff documents.
The <command>vgrind</command> and <command>grap</command> programs are
not normally needed for viewing manual pages. They are
not part of LFS or BLFS, but you should be able to install them yourself
after finishing LFS if you wish to do so.</para>
<para>The <command>col</command> program is a part of the Util-linux
package, <command>lynx</command> is a text-based web browser (see BLFS
for installation instructions), <command>vgrind</command> converts
program sources to Groff input, and <command>grap</command> is useful
for typesetting graphs in Groff documents. The <command>vgrind</command>
and <command>grap</command> programs are not normally needed for viewing
manual pages. They are not part of LFS or BLFS, but you should be able
to install them yourself 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>
<para>The meaning of the configure options:</para>
<variablelist>
<title>The meaning of the configure options:</title>
<variablelist>
<varlistentry>
<term><parameter>--enable-mb-groff</parameter></term>
<listitem><para>This tells the <command>man</command> program to
use the <quote>ascii8</quote> and <quote>nippon</quote> Groff devices for formatting non-ISO-8859-1
manual pages.</para></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>
<varlistentry>
<term><parameter>--enable-mb-groff</parameter></term>
<listitem>
<para>This tells the <command>man</command> program to use the
<quote>ascii8</quote> and <quote>nippon</quote> Groff devices for
formatting non-ISO-8859-1 manual pages.</para>
</listitem>
</varlistentry>
<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>
<para>Install the package:</para>
<para>Install the package:</para>
<screen><userinput>make install</userinput></screen>
<para>Additional information regarding the compression of
man and info pages can be found in the BLFS book at
<ulink url="&blfs-root;view/cvs/postlfs/compressdoc.html"/>.</para>
<para>Additional information regarding the compression of
man and info pages can be found in the BLFS book at
<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
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
(mostly 8-bit) encodings. This leads to incompatibility of packages with
manual pages designed for different distributions.</para>
<para>Linux distributions have different policies concerning the character
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
(mostly 8-bit) encodings. This leads to incompatibility of packages with
manual pages designed for different distributions.</para>
<para>LFS uses the same conventions as Debian. The relationship between
language codes and the expected encoding of manual pages is listed below.
Man-DB automatically converts them to the locale encoding while viewing.</para>
<para>LFS uses the same conventions as Debian. The relationship between
language codes and the expected encoding of manual pages is listed below.
Man-DB automatically converts them to the locale encoding while viewing.</para>
<!-- Origin: man-db-2.4.3/src/encodings.c -->
<table frame='all'><title>Expected character encoding of manual pages</title>
<tgroup cols='2' align='center' colsep='1' rowsep='1'>
<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>
<!-- Origin: man-db-2.4.3/src/encodings.c -->
<table>
<title>Expected character encoding of manual pages</title>
<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>
<tgroup cols="2">
<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>
<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.
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;
cp -rv man? /usr/share/man/fr</userinput></screen>
<para>If upstream distributes manual pages in UTF-8 (i.e., <quote>for RedHat</quote>)
instead of the encoding listed in the table above, they have to be
converted from UTF-8 to the encoding listed in the table before
installation. E.g., Spanish manual pages
(<ulink url="http://ditec.um.es/~piernas/manpages-es/man-pages-es-1.55.tar.bz2"/>)
can be installed with the following commands:</para>
<para>If upstream distributes manual pages in UTF-8 (i.e., <quote>for
RedHat</quote>) instead of the encoding listed in the table above, they
have to be converted from UTF-8 to the encoding listed in the table before
installation. E.g., Spanish manual pages (<ulink
url="http://ditec.um.es/~piernas/manpages-es/man-pages-es-1.55.tar.bz2"/>)
can be installed with the following commands:</para>
<screen role="nodump"><userinput>mkdir -p /usr/share/man/es &amp;&amp;
find man? -type f | grep -v 'man7/iso_8859-7.7' | \
@ -180,86 +285,110 @@ while read F ; do
done &amp;&amp;
cp -rv man? /usr/share/man/es</userinput></screen>
<note><para>The need to exclude the <filename>man7/iso_8859-7.7</filename> file
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>
<note>
<para>The need to exclude the <filename>man7/iso_8859-7.7</filename> file
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>
<segtitle>Installed programs</segtitle>
<seglistitem><seg>accessdb, apropos, catman, lexgrog, man, mandb, manpath,
and whatis</seg></seglistitem>
</segmentedlist>
<segmentedlist>
<segtitle>Installed programs</segtitle>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<seglistitem>
<seg>accessdb, apropos, catman, lexgrog, man, mandb, manpath,
and whatis</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="accessdb">
<term><command>accessdb</command></term>
<listitem>
<para>Dumps the <command>whatis</command> database contents in human-readable form</para>
<indexterm zone="ch-system-man-db accessdb"><primary sortas="b-accessdb">accessdb</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="accessdb">
<term><command>accessdb</command></term>
<listitem>
<para>Dumps the <command>whatis</command> database contents in
human-readable form</para>
<indexterm zone="ch-system-man-db accessdb">
<primary sortas="b-accessdb">accessdb</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="apropos">
<term><command>apropos</command></term>
<listitem>
<para>Searches the <command>whatis</command> database and displays the short descriptions
of system commands that contain a given string</para>
<indexterm zone="ch-system-man-db apropos"><primary sortas="b-apropos">apropos</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="apropos">
<term><command>apropos</command></term>
<listitem>
<para>Searches the <command>whatis</command> database and displays
the short descriptions of system commands that contain a given
string</para>
<indexterm zone="ch-system-man-db apropos">
<primary sortas="b-apropos">apropos</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="catman">
<term><command>catman</command></term>
<listitem>
<para>Creates or updates the pre-formatted manual pages</para>
<indexterm zone="ch-system-man-db catman"><primary sortas="b-catman">catman</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="catman">
<term><command>catman</command></term>
<listitem>
<para>Creates or updates the pre-formatted manual pages</para>
<indexterm zone="ch-system-man-db catman">
<primary sortas="b-catman">catman</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="lexgrog">
<term><command>lexgrog</command></term>
<listitem>
<para>Displays one-line summary information about a given manual page</para>
<indexterm zone="ch-system-man-db lexgrog"><primary sortas="b-lexgrog">lexgrog</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="lexgrog">
<term><command>lexgrog</command></term>
<listitem>
<para>Displays one-line summary information about a given manual
page</para>
<indexterm zone="ch-system-man-db lexgrog">
<primary sortas="b-lexgrog">lexgrog</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="man">
<term><command>man</command></term>
<listitem>
<para>Formats and displays the requested manual page</para>
<indexterm zone="ch-system-man-db man"><primary sortas="b-man">man</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="man">
<term><command>man</command></term>
<listitem>
<para>Formats and displays the requested manual page</para>
<indexterm zone="ch-system-man-db man">
<primary sortas="b-man">man</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="mandb">
<term><command>mandb</command></term>
<listitem>
<para>Creates or updates the <command>whatis</command> database</para>
<indexterm zone="ch-system-man-db mandb"><primary sortas="b-mandb">mandb</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="mandb">
<term><command>mandb</command></term>
<listitem>
<para>Creates or updates the <command>whatis</command> database</para>
<indexterm zone="ch-system-man-db mandb">
<primary sortas="b-mandb">mandb</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="whatis">
<term><command>whatis</command></term>
<listitem>
<para>Searches the <command>whatis</command> database and displays the short descriptions
of system commands that contain the given keyword as a separate
word</para>
<indexterm zone="ch-system-man-db whatis"><primary sortas="b-whatis">whatis</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
<varlistentry id="whatis">
<term><command>whatis</command></term>
<listitem>
<para>Searches the <command>whatis</command> database and displays
the short descriptions of system commands that contain the given
keyword as a separate word</para>
<indexterm zone="ch-system-man-db whatis">
<primary sortas="b-whatis">whatis</primary>
</indexterm>
</listitem>
</varlistentry>
</sect2>
</variablelist>
</sect2>
</sect1>

View File

@ -1,61 +1,82 @@
<?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">
%general-entities;
]>
<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/>
<para>The Man-pages package contains over 1,200 man pages.</para>
<indexterm zone="ch-system-man-pages">
<primary sortas="a-Man-pages">Man-pages</primary>
</indexterm>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.1 SBU</seg><seg>18.6 MB</seg></seglistitem>
</segmentedlist>
<sect2 role="package">
<title/>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Coreutils, and Make</seg></seglistitem>
</segmentedlist>
</sect2>
<para>The Man-pages package contains over 1,200 man pages.</para>
<sect2 role="installation">
<title>Installation of Man-pages</title>
<segmentedlist>
<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>
</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>
<segtitle>Installed files</segtitle>
<seglistitem><seg>various man pages</seg></seglistitem>
</segmentedlist>
<seglistitem>
<seg>various man pages</seg>
</seglistitem>
</segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="man-pages">
<term><filename>man pages</filename></term>
<listitem>
<para>Describe the C and C++ functions, important
device files, and significant configuration files</para>
<indexterm zone="ch-system-man-pages man-pages"><primary sortas="e-man-pages">man pages</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
<varlistentry id="man-pages">
<term><filename>man pages</filename></term>
<listitem>
<para>Describe the C and C++ functions, important
device files, and significant configuration files</para>
<indexterm zone="ch-system-man-pages man-pages">
<primary sortas="e-man-pages">man pages</primary>
</indexterm>
</listitem>
</varlistentry>
</sect2>
</variablelist>
</sect2>
</sect1>

View File

@ -1,100 +1,128 @@
<?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">
%general-entities;
]>
<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/>
<para>The Mktemp package contains programs used to create secure temporary
files in shell scripts.</para>
<indexterm zone="ch-system-mktemp">
<primary sortas="a-Mktemp">Mktemp</primary>
</indexterm>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.1 SBU</seg><seg>436 KB</seg></seglistitem>
</segmentedlist>
<sect2 role="package">
<title/>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Coreutils, Make, and Patch</seg></seglistitem>
</segmentedlist>
</sect2>
<para>The Mktemp package contains programs used to create secure temporary
files in shell scripts.</para>
<sect2 role="installation">
<title>Installation of Mktemp</title>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<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>
<seglistitem>
<seg>0.1 SBU</seg>
<seg>436 KB</seg>
</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>
<para>Prepare Mktemp for compilation:</para>
<para>Prepare Mktemp for compilation:</para>
<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>
<term><parameter>--with-libc</parameter></term>
<listitem><para>This causes the <command>mktemp</command> program to
use the <emphasis>mkstemp</emphasis> and <emphasis>mkdtemp</emphasis>
functions from the system C library instead of its own implementation of them.
</para></listitem>
</varlistentry>
</variablelist>
<varlistentry>
<term><parameter>--with-libc</parameter></term>
<listitem>
<para>This causes the <command>mktemp</command> program to use the
<emphasis>mkstemp</emphasis> and <emphasis>mkdtemp</emphasis>
functions from the system C library instead of its own implementation
of them. </para>
</listitem>
</varlistentry>
<para>Compile the package:</para>
</variablelist>
<para>Compile the package:</para>
<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
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>
<segtitle>Installed programs</segtitle>
<seglistitem><seg>mktemp and tempfile</seg></seglistitem>
</segmentedlist>
<seglistitem>
<seg>mktemp and tempfile</seg>
</seglistitem>
</segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="mktemp">
<term><command>mktemp</command></term>
<listitem>
<para>Creates temporary files in a secure manner; it is used in scripts</para>
<indexterm zone="ch-system-mktemp mktemp"><primary sortas="b-mktemp">mktemp</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="mktemp">
<term><command>mktemp</command></term>
<listitem>
<para>Creates temporary files in a secure manner; it is used in
scripts</para>
<indexterm zone="ch-system-mktemp mktemp">
<primary sortas="b-mktemp">mktemp</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="tempfile">
<term><command>tempfile</command></term>
<listitem>
<para>Creates temporary files in a less secure manner than
<command>mktemp</command>; it is installed for backwards-compatibility</para>
<indexterm zone="ch-system-mktemp tempfile"><primary sortas="b-tempfile">tempfile</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
<varlistentry id="tempfile">
<term><command>tempfile</command></term>
<listitem>
<para>Creates temporary files in a less secure manner than
<command>mktemp</command>; it is installed for
backwards-compatibility</para>
<indexterm zone="ch-system-mktemp tempfile">
<primary sortas="b-tempfile">tempfile</primary>
</indexterm>
</listitem>
</varlistentry>
</sect2>
</variablelist>
</sect2>
</sect1>

View File

@ -1,140 +1,176 @@
<?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">
%general-entities;
]>
<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/>
<para>The Module-Init-Tools package contains programs for handling kernel
modules in Linux kernels greater than or equal to version 2.5.47.</para>
<indexterm zone="ch-system-module-init-tools">
<primary sortas="a-Module-Init-Tools">Module-Init-Tools</primary>
</indexterm>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.3 SBU</seg><seg>3.3 MB</seg></seglistitem>
</segmentedlist>
<sect2 role="package">
<title/>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Bison,
Coreutils, Diffutils, Flex, GCC, Glibc, Grep, M4, Make, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>
<para>The Module-Init-Tools package contains programs for handling kernel
modules in Linux kernels greater than or equal to version 2.5.47.</para>
<sect2 role="installation">
<title>Installation of Module-Init-Tools</title>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<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>
<seglistitem>
<seg>0.3 SBU</seg>
<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;
make check &amp;&amp;
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>
<para>Compile the package:</para>
<para>Compile the package:</para>
<screen><userinput>make</userinput></screen>
<para>Install the package:</para>
<para>Install the package:</para>
<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>
<segtitle>Installed programs</segtitle>
<seglistitem><seg>depmod, generate-modprobe.conf, insmod,
insmod.static, lsmod, modinfo, modprobe, and rmmod</seg></seglistitem>
</segmentedlist>
<seglistitem>
<seg>depmod, generate-modprobe.conf, insmod, insmod.static, lsmod,
modinfo, modprobe, and rmmod</seg>
</seglistitem>
</segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="depmod">
<term><command>depmod</command></term>
<listitem>
<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
automatically load the required modules</para>
<indexterm zone="ch-system-module-init-tools depmod"><primary sortas="b-depmod">depmod</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="depmod">
<term><command>depmod</command></term>
<listitem>
<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 automatically load the required
modules</para>
<indexterm zone="ch-system-module-init-tools depmod">
<primary sortas="b-depmod">depmod</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="generate-modprobe.conf">
<term><command>generate-modprobe.conf</command></term>
<listitem>
<para>Creates a modprobe.conf file from an existing 2.2 or 2.4 module setup</para>
<indexterm zone="ch-system-module-init-tools generate-modprobe.conf"><primary sortas="b-generate-modprobe.conf">generate-modprobe.conf</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="generate-modprobe.conf">
<term><command>generate-modprobe.conf</command></term>
<listitem>
<para>Creates a modprobe.conf file from an existing 2.2 or 2.4 module
setup</para>
<indexterm zone="ch-system-module-init-tools generate-modprobe.conf">
<primary sortas="b-generate-modprobe.conf">generate-modprobe.conf</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="insmod">
<term><command>insmod</command></term>
<listitem>
<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>
</listitem>
</varlistentry>
<varlistentry id="insmod">
<term><command>insmod</command></term>
<listitem>
<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>
</listitem>
</varlistentry>
<varlistentry id="insmod.static">
<term><command>insmod.static</command></term>
<listitem>
<para>A statically compiled version of <command>insmod</command></para>
<indexterm zone="ch-system-module-init-tools insmod.static"><primary
sortas="b-insmod.static">insmod.static</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="insmod.static">
<term><command>insmod.static</command></term>
<listitem>
<para>A statically compiled version of <command>insmod</command></para>
<indexterm zone="ch-system-module-init-tools insmod.static">
<primary sortas="b-insmod.static">insmod.static</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="lsmod">
<term><command>lsmod</command></term>
<listitem>
<para>Lists currently loaded modules</para>
<indexterm zone="ch-system-module-init-tools lsmod"><primary sortas="b-lsmod">lsmod</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="lsmod">
<term><command>lsmod</command></term>
<listitem>
<para>Lists currently loaded modules</para>
<indexterm zone="ch-system-module-init-tools lsmod">
<primary sortas="b-lsmod">lsmod</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="modinfo">
<term><command>modinfo</command></term>
<listitem>
<para>Examines an object file associated with a kernel module and
displays any information that it can glean</para>
<indexterm zone="ch-system-module-init-tools modinfo"><primary sortas="b-modinfo">modinfo</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="modinfo">
<term><command>modinfo</command></term>
<listitem>
<para>Examines an object file associated with a kernel module and
displays any information that it can glean</para>
<indexterm zone="ch-system-module-init-tools modinfo">
<primary sortas="b-modinfo">modinfo</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="modprobe">
<term><command>modprobe</command></term>
<listitem>
<para>Uses a dependency file, created by
<command>depmod</command>, to automatically load relevant modules</para>
<indexterm zone="ch-system-module-init-tools modprobe"><primary sortas="b-modprobe">modprobe</primary></indexterm>
</listitem>
</varlistentry>
<varlistentry id="modprobe">
<term><command>modprobe</command></term>
<listitem>
<para>Uses a dependency file, created by
<command>depmod</command>, to automatically load relevant modules</para>
<indexterm zone="ch-system-module-init-tools modprobe">
<primary sortas="b-modprobe">modprobe</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="rmmod">
<term><command>rmmod</command></term>
<listitem>
<para>Unloads modules from the running kernel</para>
<indexterm zone="ch-system-module-init-tools rmmod"><primary sortas="b-rmmod">rmmod</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
<varlistentry id="rmmod">
<term><command>rmmod</command></term>
<listitem>
<para>Unloads modules from the running kernel</para>
<indexterm zone="ch-system-module-init-tools rmmod">
<primary sortas="b-rmmod">rmmod</primary>
</indexterm>
</listitem>
</varlistentry>
</sect2>
</variablelist>
</sect2>
</sect1>

View File

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

View File

@ -1,76 +1,97 @@
<?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">
%general-entities;
]>
<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/>
<para>The Patch package contains a program for modifying or creating files by
applying a <quote>patch</quote> file typically created by the
<command>diff</command> program.</para>
<indexterm zone="ch-system-patch">
<primary sortas="a-Patch">Patch</primary>
</indexterm>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem><seg>0.1 SBU</seg><seg>1.5 MB</seg></seglistitem>
</segmentedlist>
<sect2 role="package">
<title/>
<segmentedlist>
<segtitle>&dependencies;</segtitle>
<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
GCC, Glibc, Grep, Make, and Sed</seg></seglistitem>
</segmentedlist>
</sect2>
<para>The Patch package contains a program for modifying or creating files
by applying a <quote>patch</quote> file typically created by the
<command>diff</command> program.</para>
<sect2 role="installation">
<title>Installation of Patch</title>
<segmentedlist>
<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>
<para>Compile the package:</para>
<para>Compile the package:</para>
<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>
</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>
<segtitle>Installed program</segtitle>
<seglistitem><seg>patch</seg></seglistitem>
</segmentedlist>
<seglistitem>
<seg>patch</seg>
</seglistitem>
</segmentedlist>
<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="patch">
<term><command>patch</command></term>
<listitem>
<para>Modifies files according to a patch file. A patch file is normally
a difference listing created with the <command>diff</command> program. By applying
these differences to the original files, <command>patch</command> creates the patched
versions.</para>
<indexterm zone="ch-system-patch patch"><primary sortas="b-patch">patch</primary></indexterm>
</listitem>
</varlistentry>
</variablelist>
<varlistentry id="patch">
<term><command>patch</command></term>
<listitem>
<para>Modifies files according to a patch file. A patch file is
normally a difference listing created with the <command>diff</command>
program. By applying these differences to the original files,
<command>patch</command> creates the patched versions.</para>
<indexterm zone="ch-system-patch patch">
<primary sortas="b-patch">patch</primary>
</indexterm>
</listitem>
</varlistentry>
</sect2>
</variablelist>
</sect2>
</sect1>