diff options
author | Manuel Canales Esparcia <manuel@linuxfromscratch.org> | 2006-02-06 20:45:42 +0000 |
---|---|---|
committer | Manuel Canales Esparcia <manuel@linuxfromscratch.org> | 2006-02-06 20:45:42 +0000 |
commit | 2fa922f3803deff8f7877720048e621ebf2eee8a (patch) | |
tree | 5c6780a42b58bdacbc58f36a1514352afe6301be /chapter06 | |
parent | cf7142a5e2aa71f7469412dd937c614f119ca82e (diff) |
Indenting chapter 6, part 8
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7358 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter06')
-rw-r--r-- | chapter06/man-db.xml | 549 | ||||
-rw-r--r-- | chapter06/man-pages.xml | 99 | ||||
-rw-r--r-- | chapter06/mktemp.xml | 168 | ||||
-rw-r--r-- | chapter06/module-init-tools.xml | 262 | ||||
-rw-r--r-- | chapter06/ncurses.xml | 518 | ||||
-rw-r--r-- | chapter06/patch.xml | 115 |
6 files changed, 1002 insertions, 709 deletions
diff --git a/chapter06/man-db.xml b/chapter06/man-db.xml index 3da4edb26..9e70db05f 100644 --- a/chapter06/man-db.xml +++ b/chapter06/man-db.xml @@ -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"?> + + <title>Man-DB-&man-db-version;</title> + + <indexterm zone="ch-system-man-db"> + <primary sortas="a-Man-DB">Man-DB</primary> + </indexterm> + + <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> -<sect2 role="package"><title/> -<para>The Man-DB package contains programs for finding and viewing man pages.</para> + <seglistitem> + <seg>0.1 SBU</seg> + <seg>1.1 MB</seg> + </seglistitem> + </segmentedlist> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.1 SBU</seg><seg>1.1 MB</seg></seglistitem> -</segmentedlist> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<segmentedlist> -<segtitle>&dependencies;</segtitle> -<seglistitem><seg>Bash, Berkeley DB, Binutils, Coreutils, Gawk, GCC, -Gettext, Glibc, Grep, Make, and Sed</seg></seglistitem> -</segmentedlist> -</sect2> + <seglistitem> + <seg>Bash, Berkeley DB, Binutils, Coreutils, Gawk, GCC, Gettext, + Glibc, Grep, Make, and Sed</seg> + </seglistitem> + </segmentedlist> -<sect2 role="installation"> -<title>Installation of Man-DB</title> + </sect2> -<para>Three adjustments need to be made to the sources of Man-DB.</para> + <sect2 role="installation"> + <title>Installation of Man-DB</title> -<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> + <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,} && mv man/es{_ES.88591,} && @@ -40,15 +56,15 @@ mv man/it{_IT.88591,} && mv man/ja{_JP.eucJP,} && 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 >>include/manconfig.h.in <<"EOF" <literal>#define WEB_BROWSER "exec /usr/bin/lynx" @@ -57,209 +73,322 @@ 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> + + <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> -<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>--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> -<para>Compile the package:</para> + </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> - -</sect2> - -<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>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> - -<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> + <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> + <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>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> + <title>Expected character encoding of manual pages</title> + + <tgroup cols="2"> + + <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 && 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 && find man? -type f | grep -v 'man7/iso_8859-7.7' | \ while read F ; do - iconv -f UTF-8 -t ISO-8859-1 $F >tmp ; mv tmp $F + iconv -f UTF-8 -t ISO-8859-1 $F >tmp ; mv tmp $F done && 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> - -</sect2> - -<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> - -<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="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="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="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> - -</sect2> + <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 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> + + <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="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="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="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> + + </sect2> </sect1> - diff --git a/chapter06/man-pages.xml b/chapter06/man-pages.xml index 8f64c90f9..dd744f187 100644 --- a/chapter06/man-pages.xml +++ b/chapter06/man-pages.xml @@ -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"?> + + <title>Man-pages-&man-pages-version;</title> + + <indexterm zone="ch-system-man-pages"> + <primary sortas="a-Man-pages">Man-pages</primary> + </indexterm> + + <sect2 role="package"> + <title/> -<indexterm zone="ch-system-man-pages"><primary sortas="a-Man-pages">Man-pages</primary></indexterm> + <para>The Man-pages package contains over 1,200 man pages.</para> -<sect2 role="package"><title/> -<para>The Man-pages package contains over 1,200 man pages.</para> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.1 SBU</seg><seg>18.6 MB</seg></seglistitem> -</segmentedlist> + <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> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<sect2 role="installation"> -<title>Installation of Man-pages</title> + <seglistitem> + <seg>Bash, Coreutils, and Make</seg> + </seglistitem> + </segmentedlist> -<para>Install Man-pages by running:</para> + </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> -</sect1> + </sect2> +</sect1> diff --git a/chapter06/mktemp.xml b/chapter06/mktemp.xml index 2fd6bfca3..670c24e47 100644 --- a/chapter06/mktemp.xml +++ b/chapter06/mktemp.xml @@ -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> -<screen><userinput>patch -Np1 -i ../&mktemp-tempfile-patch;</userinput></screen> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<para>Prepare Mktemp for compilation:</para> + <seglistitem> + <seg>Coreutils, Make, and Patch</seg> + </seglistitem> + </segmentedlist> -<screen><userinput>./configure --prefix=/usr --with-libc</userinput></screen> + </sect2> -<para>The meaning of the configure options:</para> + <sect2 role="installation"> + <title>Installation of Mktemp</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> + <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> -<para>Compile the package:</para> +<screen><userinput>patch -Np1 -i ../&mktemp-tempfile-patch;</userinput></screen> -<screen><userinput>make</userinput></screen> + <para>Prepare Mktemp for compilation:</para> -<para>This package does not come with a test suite.</para> +<screen><userinput>./configure --prefix=/usr --with-libc</userinput></screen> -<para>Install the package:</para> + <variablelist> + <title>The meaning of the configure options:</title> -<screen><userinput>make install -make install-tempfile</userinput></screen> - -</sect2> + <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> -<sect2 id="contents-mktemp" role="content"><title>Contents of Mktemp</title> + <para>Compile the package:</para> -<segmentedlist> -<segtitle>Installed programs</segtitle> -<seglistitem><seg>mktemp and tempfile</seg></seglistitem> -</segmentedlist> +<screen><userinput>make</userinput></screen> -<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> -<?dbfo list-presentation="list"?> -<?dbhtml list-presentation="table"?> + <para>This package does not come with a test suite.</para> -<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> + <para>Install the package:</para> -<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> +<screen><userinput>make install +make install-tempfile</userinput></screen> -</sect2> + </sect2> + + <sect2 id="contents-mktemp" role="content"> + <title>Contents of Mktemp</title> + + <segmentedlist> + <segtitle>Installed programs</segtitle> + + <seglistitem> + <seg>mktemp and tempfile</seg> + </seglistitem> + </segmentedlist> + + <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="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> + + </sect2> </sect1> - diff --git a/chapter06/module-init-tools.xml b/chapter06/module-init-tools.xml index 798480978..fa8920590 100644 --- a/chapter06/module-init-tools.xml +++ b/chapter06/module-init-tools.xml @@ -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"?> + + <title>Module-Init-Tools-&module-init-tools-version;</title> + + <indexterm zone="ch-system-module-init-tools"> + <primary sortas="a-Module-Init-Tools">Module-Init-Tools</primary> + </indexterm> + + <sect2 role="package"> + <title/> -<indexterm zone="ch-system-module-init-tools"><primary sortas="a-Module-Init-Tools">Module-Init-Tools</primary></indexterm> + <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="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> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.3 SBU</seg><seg>3.3 MB</seg></seglistitem> -</segmentedlist> + <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> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<sect2 role="installation"> -<title>Installation of Module-Init-Tools</title> + <seglistitem> + <seg>Bash, Binutils, Bison, Coreutils, Diffutils, Flex, GCC, Glibc, + Grep, M4, Make, and Sed</seg> + </seglistitem> + </segmentedlist> -<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> + </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 && make check && 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 id="contents-module-init-tools" role="content"><title>Contents of Module-Init-Tools</title> - -<segmentedlist> -<segtitle>Installed programs</segtitle> -<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"?> - -<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="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="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="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> - -</sect2> + </sect2> + + <sect2 id="contents-module-init-tools" role="content"> + <title>Contents of Module-Init-Tools</title> + + <segmentedlist> + <segtitle>Installed programs</segtitle> + + <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"?> + + <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="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="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="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> + + </sect2> </sect1> - diff --git a/chapter06/ncurses.xml b/chapter06/ncurses.xml index 9e094c868..a8ec143c3 100644 --- a/chapter06/ncurses.xml +++ b/chapter06/ncurses.xml @@ -1,286 +1,344 @@ <?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"?> + + <title>Ncurses-&ncurses-version;</title> + + <indexterm zone="ch-system-ncurses"> + <primary sortas="a-Ncurses">Ncurses</primary> + </indexterm> + + <sect2 role="package"> + <title/> -<indexterm zone="ch-system-ncurses"><primary sortas="a-Ncurses">Ncurses</primary></indexterm> + <para>The Ncurses package contains libraries for terminal-independent + handling of character screens.</para> -<sect2 role="package"><title/> -<para>The Ncurses package contains libraries for terminal-independent -handling of character screens.</para> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.6 SBU</seg><seg>18.6 MB</seg></seglistitem> -</segmentedlist> + <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> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<sect2 role="installation"> -<title>Installation of Ncurses</title> -<!-- Uncomment if using a dated ncurses release instead of a numbered one. + <seglistitem> + <seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, + Make, and Sed</seg> + </seglistitem> + </segmentedlist> -<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> + </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> -<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> - -<para>Compile the package:</para> + <variablelist> + <title>The meaning of the configure option:</title> + + <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> + + <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 ; \ - echo "INPUT(-l${lib}w)" >/usr/lib/lib${lib}.so ; \ - ln -sfv lib${lib}w.a /usr/lib/lib${lib}.a ; \ + rm -vf /usr/lib/lib${lib}.so ; \ + echo "INPUT(-l${lib}w)" >/usr/lib/lib${lib}.so ; \ + ln -sfv lib${lib}w.a /usr/lib/lib${lib}.a ; \ done && 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)" >/usr/lib/libcursesw.so && ln -sfv libncurses.so /usr/lib/libcurses.so && ln -sfv libncursesw.a /usr/lib/libcursesw.a && 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 && ./configure --prefix=/usr --with-shared --without-normal \ - --without-debug --without-cxx-binding && + --without-debug --without-cxx-binding && make sources libs && cp -av lib/lib*.so.5* /usr/lib</userinput></screen> -</note> -</sect2> - - -<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> - -<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead> -<?dbfo list-presentation="list"?> -<?dbhtml list-presentation="table"?> - -<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="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="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="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="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="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="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="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="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="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="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="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="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="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="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> + </note> + + </sect2> + + <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> + + <variablelist> + <bridgehead renderas="sect3">Short Descriptions</bridgehead> + <?dbfo list-presentation="list"?> + <?dbhtml list-presentation="table"?> + + <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="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="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="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="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="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="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="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="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="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="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="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="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="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="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> diff --git a/chapter06/patch.xml b/chapter06/patch.xml index 2b277811f..dcb3ef1af 100644 --- a/chapter06/patch.xml +++ b/chapter06/patch.xml @@ -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"?> + + <title>Patch-&patch-version;</title> + + <indexterm zone="ch-system-patch"> + <primary sortas="a-Patch">Patch</primary> + </indexterm> + + <sect2 role="package"> + <title/> -<indexterm zone="ch-system-patch"><primary sortas="a-Patch">Patch</primary></indexterm> + <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="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> + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> -<segmentedlist> -<segtitle>&buildtime;</segtitle> -<segtitle>&diskspace;</segtitle> -<seglistitem><seg>0.1 SBU</seg><seg>1.5 MB</seg></seglistitem> -</segmentedlist> + <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> + <segmentedlist> + <segtitle>&dependencies;</segtitle> -<sect2 role="installation"> -<title>Installation of Patch</title> + <seglistitem> + <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Grep, Make, + and Sed</seg> + </seglistitem> + </segmentedlist> -<para>Prepare Patch for compilation.</para> + </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> -</sect1> + </sect2> +</sect1> |