aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06
diff options
context:
space:
mode:
authorManuel Canales Esparcia <manuel@linuxfromscratch.org>2006-02-07 19:39:29 +0000
committerManuel Canales Esparcia <manuel@linuxfromscratch.org>2006-02-07 19:39:29 +0000
commit3f3931b0a87f6b5e217b5ffd8bbfcd758045f8c0 (patch)
tree210370008db01040776dada924c29cb6ff6aca71 /chapter06
parent1ca11cdcf4680a74eb596b0893990278a95b560f (diff)
Indenting chapter 6, part 9
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@7362 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter06')
-rw-r--r--chapter06/perl.xml686
-rw-r--r--chapter06/pkgmgt.xml60
-rw-r--r--chapter06/procps.xml405
-rw-r--r--chapter06/psmisc.xml241
-rw-r--r--chapter06/pwdgroup.xml128
-rw-r--r--chapter06/readjusting.xml135
-rw-r--r--chapter06/readline.xml174
-rw-r--r--chapter06/revisedchroot.xml34
-rw-r--r--chapter06/sed.xml115
9 files changed, 1114 insertions, 864 deletions
diff --git a/chapter06/perl.xml b/chapter06/perl.xml
index cc2140669..277d831a2 100644
--- a/chapter06/perl.xml
+++ b/chapter06/perl.xml
@@ -1,338 +1,420 @@
<?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-perl" role="wrap">
-<title>Perl-&perl-version;</title>
-<?dbhtml filename="perl.html"?>
+ <?dbhtml filename="perl.html"?>
+
+ <title>Perl-&perl-version;</title>
+
+ <indexterm zone="ch-system-perl">
+ <primary sortas="a-Perl">Perl</primary>
+ </indexterm>
+
+ <sect2 role="package">
+ <title/>
-<indexterm zone="ch-system-perl"><primary sortas="a-Perl">Perl</primary></indexterm>
+ <para>The Perl package contains the Practical Extraction and Report
+ Language.</para>
-<sect2 role="package"><title/>
-<para>The Perl package contains the Practical Extraction and Report Language.</para>
+ <segmentedlist>
+ <segtitle>&buildtime;</segtitle>
+ <segtitle>&diskspace;</segtitle>
-<segmentedlist>
-<segtitle>&buildtime;</segtitle>
-<segtitle>&diskspace;</segtitle>
-<seglistitem><seg>2.9 SBU</seg><seg>137 MB</seg></seglistitem>
-</segmentedlist>
+ <seglistitem>
+ <seg>2.9 SBU</seg>
+ <seg>137 MB</seg>
+ </seglistitem>
+ </segmentedlist>
-<segmentedlist>
-<segtitle>&dependencies;</segtitle>
-<seglistitem><seg>Bash, Berkeley DB, Binutils, Coreutils, Diffutils,
-Gawk, GCC, Glibc, Grep, Make, and Sed</seg></seglistitem>
-</segmentedlist>
-</sect2>
+ <segmentedlist>
+ <segtitle>&dependencies;</segtitle>
-<sect2 role="installation">
-<title>Installation of Perl</title>
+ <seglistitem>
+ <seg>Bash, Berkeley DB, Binutils, Coreutils, Diffutils, Gawk, GCC,
+ Glibc, Grep, Make, and Sed</seg>
+ </seglistitem>
+ </segmentedlist>
-<para>A security vulnerability exists in Perl's sprintf function. Apply the
-following patch to fix it.</para>
+ </sect2>
+
+ <sect2 role="installation">
+ <title>Installation of Perl</title>
+
+ <para>A security vulnerability exists in Perl's sprintf function. Apply the
+ following patch to fix it.</para>
<screen><userinput>patch -Np1 -i ../&perl-sprintf-patch;</userinput></screen>
-<para>The DB_File module that comes with Perl-&perl-version; is incompatible
-with Berkeley DB-&db-version; (the testsuite fails if this module gets built).
-Apply the following patch in order to update the DB_File module:</para>
+ <para>The DB_File module that comes with Perl-&perl-version; is incompatible
+ with Berkeley DB-&db-version; (the testsuite fails if this module gets built).
+ Apply the following patch in order to update the DB_File module:</para>
<screen><userinput>patch -Np1 -i ../&perl-db_file-patch;</userinput></screen>
-<para>First create a basic <filename>/etc/hosts</filename> file which will be
-referenced in one of Perl's configuration files as well as being used used by
-the testsuite if you run that.</para>
+ <para>First create a basic <filename>/etc/hosts</filename> file which will be
+ referenced in one of Perl's configuration files as well as being used used by
+ the testsuite if you run that.</para>
<screen><userinput>echo "127.0.0.1 localhost $(hostname)" &gt; /etc/hosts</userinput></screen>
-<para>To have full control over the way Perl is set up, run the
-interactive <command>Configure</command> script and hand-pick the way
-this package is built. If the defaults it auto-detects are suitable,
-prepare Perl for compilation with:</para>
+ <para>To have full control over the way Perl is set up, run the
+ interactive <command>Configure</command> script and hand-pick the way
+ this package is built. If the defaults it auto-detects are suitable,
+ prepare Perl for compilation with:</para>
<screen><userinput>./configure.gnu --prefix=/usr -Dpager="/usr/bin/less -isR"</userinput></screen>
-<para>The meaning of the configure options:</para>
+ <variablelist>
+ <title>The meaning of the configure options:</title>
-<variablelist>
-<varlistentry>
-<term><parameter>-Dpager="/usr/bin/less -isR"</parameter></term>
-<listitem><para>This corrects an error in the way that
-<command>perldoc</command> invokes the <command>less</command> program.</para>
-</listitem>
-</varlistentry>
-</variablelist>
+ <varlistentry>
+ <term><parameter>-Dpager="/usr/bin/less -isR"</parameter></term>
+ <listitem>
+ <para>This corrects an error in the way that <command>perldoc</command>
+ invokes the <command>less</command> program.</para>
+ </listitem>
+ </varlistentry>
-<para>Compile the package:</para>
+ </variablelist>
+
+ <para>Compile the package:</para>
<screen><userinput>make</userinput></screen>
-<para>Now run the tests, if desired:</para>
+ <para>Now run the tests, if desired:</para>
<screen><userinput>make test</userinput></screen>
-<para>Install the package:</para>
+ <para>Install the package:</para>
<screen><userinput>make install</userinput></screen>
-</sect2>
-
-
-<sect2 id="contents-perl" role="content"><title>Contents of Perl</title>
-
-<segmentedlist>
-<segtitle>Installed programs</segtitle>
-<segtitle>Installed libraries</segtitle>
-<seglistitem><seg>a2p, c2ph, dprofpp, enc2xs,
-find2perl, h2ph, h2xs, libnetcfg, perl, perl&perl-version; (link to perl),
-perlbug, perlcc, perldoc, perlivp, piconv, pl2pm, pod2html, pod2latex, pod2man,
-pod2text, pod2usage, podchecker, podselect, psed (link to s2p), pstruct (link
-to c2ph), s2p, splain, and xsubpp</seg>
-<seg>Several hundred which cannot all be listed here</seg></seglistitem>
-</segmentedlist>
-
-<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
-<?dbfo list-presentation="list"?>
-<?dbhtml list-presentation="table"?>
-
-<varlistentry id="a2p">
-<term><command>a2p</command></term>
-<listitem>
-<para>Translates awk to Perl</para>
-<indexterm zone="ch-system-perl a2p"><primary sortas="b-a2p">a2p</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="c2ph">
-<term><command>c2ph</command></term>
-<listitem>
-<para>Dumps C structures as generated from <command>cc -g -S</command></para>
-<indexterm zone="ch-system-perl c2ph"><primary sortas="b-c2ph">c2ph</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="dprofpp">
-<term><command>dprofpp</command></term>
-<listitem>
-<para>Displays Perl profile data</para>
-<indexterm zone="ch-system-perl dprofpp"><primary sortas="b-dprofpp">dprofpp</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="en2cxs">
-<term><command>en2cxs</command></term>
-<listitem>
-<para>Builds a Perl extension for the Encode module from either
-Unicode Character Mappings or Tcl Encoding Files</para>
-<indexterm zone="ch-system-perl en2cxs"><primary sortas="b-en2cxs">en2cxs</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="find2perl">
-<term><command>find2perl</command></term>
-<listitem>
-<para>Translates <command>find</command> commands to Perl</para>
-<indexterm zone="ch-system-perl find2perl"><primary sortas="b-find2perl">find2perl</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="h2ph">
-<term><command>h2ph</command></term>
-<listitem>
-<para>Converts <filename class="extension">.h</filename> C header files to
-<filename class="extension">.ph</filename> Perl header files</para>
-<indexterm zone="ch-system-perl h2ph"><primary sortas="b-h2ph">h2ph</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="h2xs">
-<term><command>h2xs</command></term>
-<listitem>
-<para>Converts <filename class="extension">.h</filename> C header files to Perl extensions</para>
-<indexterm zone="ch-system-perl h2xs"><primary sortas="b-h2xs">h2xs</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="libnetcfg">
-<term><command>libnetcfg</command></term>
-<listitem>
-<para>Can be used to configure the <filename class="libraryfile">libnet</filename></para>
-<indexterm zone="ch-system-perl libnetcfg"><primary sortas="b-libnetcfg">libnetcfg</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="perl">
-<term><command>perl</command></term>
-<listitem>
-<para>Combines some of the best features of C, <command>sed</command>,
-<command>awk</command> and <command>sh</command> into a single swiss-army
-language</para>
-<indexterm zone="ch-system-perl perl"><primary sortas="b-perl">perl</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="perl-version">
-<term><command>perl&perl-version;</command></term>
-<listitem>
-<para>A hard link to <command>perl</command></para>
-<indexterm zone="ch-system-perl perl-version"><primary
-sortas="b-perl&perl-version;">perl&perl-version;</primary></indexterm>
-</listitem>
-</varlistentry>
-
-
-<varlistentry id="perlbug">
-<term><command>perlbug</command></term>
-<listitem>
-<para>Used to generate bug reports about Perl, or the modules that come
-with it, and mail them</para>
-<indexterm zone="ch-system-perl perlbug"><primary sortas="b-perlbug">perlbug</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="perlcc">
-<term><command>perlcc</command></term>
-<listitem>
-<para>Generates executables from Perl programs</para>
-<indexterm zone="ch-system-perl perlcc"><primary sortas="b-perlcc">perlcc</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="perldoc">
-<term><command>perldoc</command></term>
-<listitem>
-<para>Displays a piece of documentation in pod format that is embedded
-in the Perl installation tree or in a Perl script</para>
-<indexterm zone="ch-system-perl perldoc"><primary sortas="b-perldoc">perldoc</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="perlivp">
-<term><command>perlivp</command></term>
-<listitem>
-<para>The Perl Installation Verification Procedure; it can be used to
-verify that Perl and its libraries have been installed
-correctly</para>
-<indexterm zone="ch-system-perl perlivp"><primary sortas="b-perlivp">perlivp</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="piconv">
-<term><command>piconv</command></term>
-<listitem>
-<para>A Perl version of the character encoding converter
-<command>iconv</command></para>
-<indexterm zone="ch-system-perl piconv"><primary sortas="b-piconv">piconv</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="pl2pm">
-<term><command>pl2pm</command></term>
-<listitem>
-<para>A rough tool for converting Perl4 <filename class="extension">.pl</filename>
-files to Perl5 <filename class="extension">.pm</filename> modules</para>
-<indexterm zone="ch-system-perl pl2pm"><primary sortas="b-pl2pm">pl2pm</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="pod2html">
-<term><command>pod2html</command></term>
-<listitem>
-<para>Converts files from pod format to HTML format</para>
-<indexterm zone="ch-system-perl pod2html"><primary sortas="b-pod2html">pod2html</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="pod2latex">
-<term><command>pod2latex</command></term>
-<listitem>
-<para>Converts files from pod format to LaTeX format</para>
-<indexterm zone="ch-system-perl pod2latex"><primary sortas="b-pod2latex">pod2latex</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="pod2man">
-<term><command>pod2man</command></term>
-<listitem>
-<para>Converts pod data to formatted *roff input</para>
-<indexterm zone="ch-system-perl pod2man"><primary sortas="b-pod2man">pod2man</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="pod2text">
-<term><command>pod2text</command></term>
-<listitem>
-<para>Converts pod data to formatted ASCII text</para>
-<indexterm zone="ch-system-perl pod2text"><primary sortas="b-pod2text">pod2text</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="pod2usage">
-<term><command>pod2usage</command></term>
-<listitem>
-<para>Prints usage messages from embedded pod docs in files</para>
-<indexterm zone="ch-system-perl pod2usage"><primary sortas="b-pod2usage">pod2usage</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="podchecker">
-<term><command>podchecker</command></term>
-<listitem>
-<para>Checks the syntax of pod format documentation files</para>
-<indexterm zone="ch-system-perl podchecker"><primary sortas="b-podchecker">podchecker</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="podselect">
-<term><command>podselect</command></term>
-<listitem>
-<para>Displays selected sections of pod documentation</para>
-<indexterm zone="ch-system-perl podselect"><primary sortas="b-podselect">podselect</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="psed">
-<term><command>psed</command></term>
-<listitem>
-<para>A Perl version of the stream editor <command>sed</command></para>
-<indexterm zone="ch-system-perl psed"><primary sortas="b-psed">psed</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="pstruct">
-<term><command>pstruct</command></term>
-<listitem>
-<para>Dumps C structures as generated from <command>cc -g -S</command> stabs</para>
-<indexterm zone="ch-system-perl pstruct"><primary sortas="b-pstruct">pstruct</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="s2p">
-<term><command>s2p</command></term>
-<listitem>
-<para>Translates <command>sed</command> scripts to Perl</para>
-<indexterm zone="ch-system-perl s2p"><primary sortas="b-s2p">s2p</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="splain">
-<term><command>splain</command></term>
-<listitem>
-<para>Is used to force verbose warning diagnostics in Perl</para>
-<indexterm zone="ch-system-perl splain"><primary sortas="b-splain">splain</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="xsubpp">
-<term><command>xsubpp</command></term>
-<listitem>
-<para>Converts Perl XS code into C code</para>
-<indexterm zone="ch-system-perl xsubpp"><primary sortas="b-xsubpp">xsubpp</primary></indexterm>
-</listitem>
-</varlistentry>
-</variablelist>
-
-</sect2>
+ </sect2>
+
+ <sect2 id="contents-perl" role="content">
+ <title>Contents of Perl</title>
+
+ <segmentedlist>
+ <segtitle>Installed programs</segtitle>
+ <segtitle>Installed libraries</segtitle>
+
+ <seglistitem>
+ <seg>a2p, c2ph, dprofpp, enc2xs, find2perl, h2ph, h2xs, libnetcfg, perl,
+ perl&perl-version; (link to perl), perlbug, perlcc, perldoc, perlivp,
+ piconv, pl2pm, pod2html, pod2latex, pod2man, pod2text, pod2usage,
+ podchecker, podselect, psed (link to s2p), pstruct (link to c2ph), s2p,
+ splain, and xsubpp</seg>
+ <seg>Several hundred which cannot all be listed here</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ <variablelist>
+ <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+ <?dbfo list-presentation="list"?>
+ <?dbhtml list-presentation="table"?>
+
+ <varlistentry id="a2p">
+ <term><command>a2p</command></term>
+ <listitem>
+ <para>Translates awk to Perl</para>
+ <indexterm zone="ch-system-perl a2p">
+ <primary sortas="b-a2p">a2p</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="c2ph">
+ <term><command>c2ph</command></term>
+ <listitem>
+ <para>Dumps C structures as generated from
+ <command>cc -g -S</command></para>
+ <indexterm zone="ch-system-perl c2ph">
+ <primary sortas="b-c2ph">c2ph</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="dprofpp">
+ <term><command>dprofpp</command></term>
+ <listitem>
+ <para>Displays Perl profile data</para>
+ <indexterm zone="ch-system-perl dprofpp">
+ <primary sortas="b-dprofpp">dprofpp</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="en2cxs">
+ <term><command>en2cxs</command></term>
+ <listitem>
+ <para>Builds a Perl extension for the Encode module from either
+ Unicode Character Mappings or Tcl Encoding Files</para>
+ <indexterm zone="ch-system-perl en2cxs">
+ <primary sortas="b-en2cxs">en2cxs</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="find2perl">
+ <term><command>find2perl</command></term>
+ <listitem>
+ <para>Translates <command>find</command> commands to Perl</para>
+ <indexterm zone="ch-system-perl find2perl">
+ <primary sortas="b-find2perl">find2perl</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="h2ph">
+ <term><command>h2ph</command></term>
+ <listitem>
+ <para>Converts <filename class="extension">.h</filename> C header
+ files to <filename class="extension">.ph</filename> Perl header
+ files</para>
+ <indexterm zone="ch-system-perl h2ph">
+ <primary sortas="b-h2ph">h2ph</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="h2xs">
+ <term><command>h2xs</command></term>
+ <listitem>
+ <para>Converts <filename class="extension">.h</filename> C header
+ files to Perl extensions</para>
+ <indexterm zone="ch-system-perl h2xs">
+ <primary sortas="b-h2xs">h2xs</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="libnetcfg">
+ <term><command>libnetcfg</command></term>
+ <listitem>
+ <para>Can be used to configure the
+ <filename class="libraryfile">libnet</filename></para>
+ <indexterm zone="ch-system-perl libnetcfg">
+ <primary sortas="b-libnetcfg">libnetcfg</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="perl">
+ <term><command>perl</command></term>
+ <listitem>
+ <para>Combines some of the best features of C, <command>sed</command>,
+ <command>awk</command> and <command>sh</command> into a single
+ swiss-army language</para>
+ <indexterm zone="ch-system-perl perl">
+ <primary sortas="b-perl">perl</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="perl-version">
+ <term><command>perl&perl-version;</command></term>
+ <listitem>
+ <para>A hard link to <command>perl</command></para>
+ <indexterm zone="ch-system-perl perl-version">
+ <primary sortas="b-perl&perl-version;">perl&perl-version;</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="perlbug">
+ <term><command>perlbug</command></term>
+ <listitem>
+ <para>Used to generate bug reports about Perl, or the modules that come
+ with it, and mail them</para>
+ <indexterm zone="ch-system-perl perlbug">
+ <primary sortas="b-perlbug">perlbug</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="perlcc">
+ <term><command>perlcc</command></term>
+ <listitem>
+ <para>Generates executables from Perl programs</para>
+ <indexterm zone="ch-system-perl perlcc">
+ <primary sortas="b-perlcc">perlcc</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="perldoc">
+ <term><command>perldoc</command></term>
+ <listitem>
+ <para>Displays a piece of documentation in pod format that is embedded
+ in the Perl installation tree or in a Perl script</para>
+ <indexterm zone="ch-system-perl perldoc">
+ <primary sortas="b-perldoc">perldoc</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="perlivp">
+ <term><command>perlivp</command></term>
+ <listitem>
+ <para>The Perl Installation Verification Procedure; it can be used to
+ verify that Perl and its libraries have been installed
+ correctly</para>
+ <indexterm zone="ch-system-perl perlivp">
+ <primary sortas="b-perlivp">perlivp</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="piconv">
+ <term><command>piconv</command></term>
+ <listitem>
+ <para>A Perl version of the character encoding converter
+ <command>iconv</command></para>
+ <indexterm zone="ch-system-perl piconv">
+ <primary sortas="b-piconv">piconv</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="pl2pm">
+ <term><command>pl2pm</command></term>
+ <listitem>
+ <para>A rough tool for converting Perl4
+ <filename class="extension">.pl</filename> files to Perl5
+ <filename class="extension">.pm</filename> modules</para>
+ <indexterm zone="ch-system-perl pl2pm">
+ <primary sortas="b-pl2pm">pl2pm</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="pod2html">
+ <term><command>pod2html</command></term>
+ <listitem>
+ <para>Converts files from pod format to HTML format</para>
+ <indexterm zone="ch-system-perl pod2html">
+ <primary sortas="b-pod2html">pod2html</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="pod2latex">
+ <term><command>pod2latex</command></term>
+ <listitem>
+ <para>Converts files from pod format to LaTeX format</para>
+ <indexterm zone="ch-system-perl pod2latex">
+ <primary sortas="b-pod2latex">pod2latex</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="pod2man">
+ <term><command>pod2man</command></term>
+ <listitem>
+ <para>Converts pod data to formatted *roff input</para>
+ <indexterm zone="ch-system-perl pod2man">
+ <primary sortas="b-pod2man">pod2man</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="pod2text">
+ <term><command>pod2text</command></term>
+ <listitem>
+ <para>Converts pod data to formatted ASCII text</para>
+ <indexterm zone="ch-system-perl pod2text">
+ <primary sortas="b-pod2text">pod2text</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="pod2usage">
+ <term><command>pod2usage</command></term>
+ <listitem>
+ <para>Prints usage messages from embedded pod docs in files</para>
+ <indexterm zone="ch-system-perl pod2usage">
+ <primary sortas="b-pod2usage">pod2usage</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="podchecker">
+ <term><command>podchecker</command></term>
+ <listitem>
+ <para>Checks the syntax of pod format documentation files</para>
+ <indexterm zone="ch-system-perl podchecker">
+ <primary sortas="b-podchecker">podchecker</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="podselect">
+ <term><command>podselect</command></term>
+ <listitem>
+ <para>Displays selected sections of pod documentation</para>
+ <indexterm zone="ch-system-perl podselect">
+ <primary sortas="b-podselect">podselect</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="psed">
+ <term><command>psed</command></term>
+ <listitem>
+ <para>A Perl version of the stream editor <command>sed</command></para>
+ <indexterm zone="ch-system-perl psed">
+ <primary sortas="b-psed">psed</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="pstruct">
+ <term><command>pstruct</command></term>
+ <listitem>
+ <para>Dumps C structures as generated from <command>cc -g -S</command>
+ stabs</para>
+ <indexterm zone="ch-system-perl pstruct">
+ <primary sortas="b-pstruct">pstruct</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="s2p">
+ <term><command>s2p</command></term>
+ <listitem>
+ <para>Translates <command>sed</command> scripts to Perl</para>
+ <indexterm zone="ch-system-perl s2p">
+ <primary sortas="b-s2p">s2p</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="splain">
+ <term><command>splain</command></term>
+ <listitem>
+ <para>Is used to force verbose warning diagnostics in Perl</para>
+ <indexterm zone="ch-system-perl splain">
+ <primary sortas="b-splain">splain</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="xsubpp">
+ <term><command>xsubpp</command></term>
+ <listitem>
+ <para>Converts Perl XS code into C code</para>
+ <indexterm zone="ch-system-perl xsubpp">
+ <primary sortas="b-xsubpp">xsubpp</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </sect2>
</sect1>
-
diff --git a/chapter06/pkgmgt.xml b/chapter06/pkgmgt.xml
index e6d9bae3f..76ea123e2 100644
--- a/chapter06/pkgmgt.xml
+++ b/chapter06/pkgmgt.xml
@@ -1,14 +1,15 @@
<?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" [
+ "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-pkgmgt">
- <title>Package Management</title>
<?dbhtml filename="pkgmgt.html"?>
+ <title>Package Management</title>
+
<para>Package Management is an often requested addition to the LFS Book. A
Package Manager allows tracking the installation of files making it easy to
remove and upgrade packages. Before you begin to wonder, NO&mdash;this section
@@ -18,7 +19,8 @@
combination of two or more of these techniques. This section briefly mentions
issues that may arise when upgrading packages.</para>
- <para>Some reasons why no package manager is mentioned in LFS or BLFS include: </para>
+ <para>Some reasons why no package manager is mentioned in LFS or BLFS
+ include:</para>
<itemizedlist>
<listitem>
@@ -37,11 +39,13 @@
the <ulink url="&hints-root;">Hints subproject</ulink> and see if one of them
fits your need.</para>
- <note><para>As no particular package management technique is mentioned in LFS,
- the commands in the remainder of this book must be performed while logged in
- as user <emphasis>root</emphasis> and no longer as user
- <emphasis>lfs</emphasis>. Also, double check that <envar>$LFS</envar> is set.
- </para></note>
+ <note>
+ <para>As no particular package management technique is mentioned in LFS,
+ the commands in the remainder of this book must be performed while logged in
+ as user <systemitem class="username">root</systemitem> and no longer as user
+ <systemitem class="username">lfs</systemitem>. Also, double check that
+ <envar>$LFS</envar> is set.</para>
+ </note>
<sect2>
<title>Upgrade Issues</title>
@@ -53,16 +57,14 @@
<itemizedlist>
<listitem>
- <para>If one of the toolchain packages
- (<application>Glibc</application>, <application>GCC</application> or
- <application>Binutils</application>) needs to be upgraded to a newer
- minor version, it is safer to rebuild LFS. Though you
- <emphasis>may</emphasis> be able to get by rebuilding all the packages
- in their dependency order, we do not recommend it. For example, if
- glibc-2.2.x needs to be updated to glibc-2.3.x, it is safer to rebuild.
- For micro version updates, a simple reinstallation usually works, but
- is not guaranteed. For example, upgrading from glibc-2.3.4 to
- glibc-2.3.5 will not usually cause any problems.</para>
+ <para>If one of the toolchain packages (Glibc, GCC or Binutils) needs
+ to be upgraded to a newer minor version, it is safer to rebuild LFS.
+ Though you <emphasis>may</emphasis> be able to get by rebuilding all
+ the packages in their dependency order, we do not recommend it. For
+ example, if glibc-2.2.x needs to be updated to glibc-2.3.x, it is safer
+ to rebuild. For micro version updates, a simple reinstallation usually
+ works, but is not guaranteed. For example, upgrading from glibc-2.3.4
+ to glibc-2.3.5 will not usually cause any problems.</para>
</listitem>
<listitem>
@@ -109,6 +111,7 @@
and know what files are installed by each package. Some users also do not
need any package management because they plan on rebuilding the entire
system when a package is changed.</para>
+
</sect3>
<sect3>
@@ -129,6 +132,7 @@
<envar>INFOPATH</envar> and <envar>CPPFLAGS</envar> need to be expanded to
include <filename>/usr/pkg/foo</filename>. For more than a few packages,
this scheme becomes unmanageable.</para>
+
</sect3>
<sect3>
@@ -168,11 +172,11 @@ make install</userinput></screen>
make
make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
- <para>Most packages support this approach, but there are some which do
- not. For the non-compliant packages, you may either need to manually
- install the package, or you may find that it is easier to install some
- problematic packages into <filename class='directory'>/opt</filename>.
- </para>
+ <para>Most packages support this approach, but there are some which do not.
+ For the non-compliant packages, you may either need to manually install the
+ package, or you may find that it is easier to install some problematic
+ packages into <filename class='directory'>/opt</filename>.</para>
+
</sect3>
<sect3>
@@ -190,6 +194,7 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
the package manager. Also, this scheme can only be used when one package
is installed at a time. The logs are not reliable if two packages are
being installed on two different consoles.</para>
+
</sect3>
<sect3>
@@ -205,6 +210,7 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
installation. Therefore, it is advised that one performs some tests to
ensure that the package manager does not break anything and logs all the
appropriate files.</para>
+
</sect3>
<sect3>
@@ -214,8 +220,7 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
tree as described in the Symlink style package management. After the
installation, a package archive is created using the installed files.
This archive is then used to install the package either on the local
- machine or can even be used to install the package on other machines.
- </para>
+ machine or can even be used to install the package on other machines.</para>
<para>This approach is used by most of the package managers found in the
commercial distributions. Examples of package managers that follow this
@@ -225,6 +230,7 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
Gentoo's Portage system. A hint describing how to adopt this style of
package management for LFS systems is located at <ulink
url="&hints-root;/fakeroot.txt"/>.</para>
+
</sect3>
<sect3>
@@ -236,8 +242,8 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
standard locations. Files belonging to a package are easily identified by
checking the user ID. The features and shortcomings of this approach are
too complex to describe in this section. For the details please see the
- hint at <ulink
- url="&hints-root;/more_control_and_pkg_man.txt"/>.</para>
+ hint at <ulink url="&hints-root;/more_control_and_pkg_man.txt"/>.</para>
+
</sect3>
</sect2>
diff --git a/chapter06/procps.xml b/chapter06/procps.xml
index 4973a7955..48a599ad6 100644
--- a/chapter06/procps.xml
+++ b/chapter06/procps.xml
@@ -1,195 +1,250 @@
<?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-procps" role="wrap">
-<title>Procps-&procps-version;</title>
-<?dbhtml filename="procps.html"?>
+ <?dbhtml filename="procps.html"?>
+
+ <title>Procps-&procps-version;</title>
+
+ <indexterm zone="ch-system-procps">
+ <primary sortas="a-Procps">Procps</primary>
+ </indexterm>
+
+ <sect2 role="package">
+ <title/>
-<indexterm zone="ch-system-procps"><primary sortas="a-Procps">Procps</primary></indexterm>
+ <para>The Procps package contains programs for monitoring processes.</para>
-<sect2 role="package"><title/>
-<para>The Procps package contains programs for monitoring processes.</para>
+ <segmentedlist>
+ <segtitle>&buildtime;</segtitle>
+ <segtitle>&diskspace;</segtitle>
-<segmentedlist>
-<segtitle>&buildtime;</segtitle>
-<segtitle>&diskspace;</segtitle>
-<seglistitem><seg>0.1 SBU</seg><seg>2.3 MB</seg></seglistitem>
-</segmentedlist>
+ <seglistitem>
+ <seg>0.1 SBU</seg>
+ <seg>2.3 MB</seg>
+ </seglistitem>
+ </segmentedlist>
-<segmentedlist>
-<segtitle>&dependencies;</segtitle>
-<seglistitem><seg>Bash, Binutils, Coreutils, GCC, Glibc,
-Make, and Ncurses</seg></seglistitem>
-</segmentedlist>
-</sect2>
+ <segmentedlist>
+ <segtitle>&dependencies;</segtitle>
-<sect2 role="installation">
-<title>Installation of Procps</title>
+ <seglistitem>
+ <seg>Bash, Binutils, Coreutils, GCC, Glibc, Make, and Ncurses</seg>
+ </seglistitem>
+ </segmentedlist>
-<para>Compile the package:</para>
+ </sect2>
+
+ <sect2 role="installation">
+ <title>Installation of Procps</title>
+
+ <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 id="contents-procps" role="content"><title>Contents of Procps</title>
-
-<segmentedlist>
-<segtitle>Installed programs</segtitle>
-<segtitle>Installed library</segtitle>
-<seglistitem><seg>free, kill, pgrep, pkill,
-pmap, ps, skill, snice, sysctl, tload, top, uptime, vmstat, w, and watch</seg>
-<seg>libproc.so</seg></seglistitem>
-</segmentedlist>
-
-<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
-<?dbfo list-presentation="list"?>
-<?dbhtml list-presentation="table"?>
-
-<varlistentry id="free">
-<term><command>free</command></term>
-<listitem>
-<para>Reports the amount of free and used memory (both physical and
-swap memory) in the system</para>
-<indexterm zone="ch-system-procps free"><primary sortas="b-free">free</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="kill">
-<term><command>kill</command></term>
-<listitem>
-<para>Sends signals to processes</para>
-<indexterm zone="ch-system-procps kill"><primary sortas="b-kill">kill</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="pgrep">
-<term><command>pgrep</command></term>
-<listitem>
-<para>Looks up processes based on their name and other attributes</para>
-<indexterm zone="ch-system-procps pgrep"><primary sortas="b-pgrep">pgrep</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="pkill">
-<term><command>pkill</command></term>
-<listitem>
-<para>Signals processes based on their name and other attributes</para>
-<indexterm zone="ch-system-procps pkill"><primary sortas="b-pkill">pkill</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="pmap">
-<term><command>pmap</command></term>
-<listitem>
-<para>Reports the memory map of the given process</para>
-<indexterm zone="ch-system-procps pmap"><primary sortas="b-pmap">pmap</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="ps">
-<term><command>ps</command></term>
-<listitem>
-<para>Lists the current running processes</para>
-<indexterm zone="ch-system-procps ps"><primary sortas="b-ps">ps</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="skill">
-<term><command>skill</command></term>
-<listitem>
-<para>Sends signals to processes matching the given criteria</para>
-<indexterm zone="ch-system-procps skill"><primary sortas="b-skill">skill</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="snice">
-<term><command>snice</command></term>
-<listitem>
-<para>Changes the scheduling priority of processes matching the given criteria</para>
-<indexterm zone="ch-system-procps snice"><primary sortas="b-snice">snice</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="sysctl">
-<term><command>sysctl</command></term>
-<listitem>
-<para>Modifies kernel parameters at run time</para>
-<indexterm zone="ch-system-procps sysctl"><primary sortas="b-sysctl">sysctl</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="tload">
-<term><command>tload</command></term>
-<listitem>
-<para>Prints a graph of the current system load average</para>
-<indexterm zone="ch-system-procps tload"><primary sortas="b-tload">tload</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="top">
-<term><command>top</command></term>
-<listitem>
-<para>Displays a list of the most CPU intensive processes; it provides an
-ongoing look at processor activity in real time</para>
-<indexterm zone="ch-system-procps top"><primary sortas="b-top">top</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="uptime">
-<term><command>uptime</command></term>
-<listitem>
-<para>Reports how long the system has been running, how many users are
-logged on, and the system load averages</para>
-<indexterm zone="ch-system-procps uptime"><primary sortas="b-uptime">uptime</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="vmstat">
-<term><command>vmstat</command></term>
-<listitem>
-<para>Reports virtual memory statistics, giving information about
-processes, memory, paging, block Input/Output (IO), traps, and CPU activity</para>
-<indexterm zone="ch-system-procps vmstat"><primary sortas="b-vmstat">vmstat</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="w">
-<term><command>w</command></term>
-<listitem>
-<para>Shows which users are currently logged on, where, and since when</para>
-<indexterm zone="ch-system-procps w"><primary sortas="b-w">w</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="watch">
-<term><command>watch</command></term>
-<listitem>
-<para>Runs a given command repeatedly, displaying the first screen-full of its
-output; this allows a user to watch the output change over time</para>
-<indexterm zone="ch-system-procps watch"><primary sortas="b-watch">watch</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="libproc">
-<term><filename class="libraryfile">libproc</filename></term>
-<listitem>
-<para>Contains the functions used by most programs in this package</para>
-<indexterm zone="ch-system-procps libproc"><primary sortas="c-libproc">libproc</primary></indexterm>
-</listitem>
-</varlistentry>
-</variablelist>
-
-</sect2>
+ </sect2>
+
+ <sect2 id="contents-procps" role="content">
+ <title>Contents of Procps</title>
+
+ <segmentedlist>
+ <segtitle>Installed programs</segtitle>
+ <segtitle>Installed library</segtitle>
+
+ <seglistitem>
+ <seg>free, kill, pgrep, pkill, pmap, ps, skill, snice, sysctl, tload,
+ top, uptime, vmstat, w, and watch</seg>
+ <seg>libproc.so</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ <variablelist>
+ <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+ <?dbfo list-presentation="list"?>
+ <?dbhtml list-presentation="table"?>
+
+ <varlistentry id="free">
+ <term><command>free</command></term>
+ <listitem>
+ <para>Reports the amount of free and used memory (both physical and
+ swap memory) in the system</para>
+ <indexterm zone="ch-system-procps free">
+ <primary sortas="b-free">free</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="kill">
+ <term><command>kill</command></term>
+ <listitem>
+ <para>Sends signals to processes</para>
+ <indexterm zone="ch-system-procps kill">
+ <primary sortas="b-kill">kill</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="pgrep">
+ <term><command>pgrep</command></term>
+ <listitem>
+ <para>Looks up processes based on their name and other attributes</para>
+ <indexterm zone="ch-system-procps pgrep">
+ <primary sortas="b-pgrep">pgrep</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="pkill">
+ <term><command>pkill</command></term>
+ <listitem>
+ <para>Signals processes based on their name and other attributes</para>
+ <indexterm zone="ch-system-procps pkill">
+ <primary sortas="b-pkill">pkill</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="pmap">
+ <term><command>pmap</command></term>
+ <listitem>
+ <para>Reports the memory map of the given process</para>
+ <indexterm zone="ch-system-procps pmap">
+ <primary sortas="b-pmap">pmap</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="ps">
+ <term><command>ps</command></term>
+ <listitem>
+ <para>Lists the current running processes</para>
+ <indexterm zone="ch-system-procps ps">
+ <primary sortas="b-ps">ps</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="skill">
+ <term><command>skill</command></term>
+ <listitem>
+ <para>Sends signals to processes matching the given criteria</para>
+ <indexterm zone="ch-system-procps skill">
+ <primary sortas="b-skill">skill</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="snice">
+ <term><command>snice</command></term>
+ <listitem>
+ <para>Changes the scheduling priority of processes matching the given
+ criteria</para>
+ <indexterm zone="ch-system-procps snice">
+ <primary sortas="b-snice">snice</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="sysctl">
+ <term><command>sysctl</command></term>
+ <listitem>
+ <para>Modifies kernel parameters at run time</para>
+ <indexterm zone="ch-system-procps sysctl">
+ <primary sortas="b-sysctl">sysctl</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="tload">
+ <term><command>tload</command></term>
+ <listitem>
+ <para>Prints a graph of the current system load average</para>
+ <indexterm zone="ch-system-procps tload">
+ <primary sortas="b-tload">tload</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="top">
+ <term><command>top</command></term>
+ <listitem>
+ <para>Displays a list of the most CPU intensive processes; it
+ provides an ongoing look at processor activity in real time</para>
+ <indexterm zone="ch-system-procps top">
+ <primary sortas="b-top">top</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="uptime">
+ <term><command>uptime</command></term>
+ <listitem>
+ <para>Reports how long the system has been running, how many users are
+ logged on, and the system load averages</para>
+ <indexterm zone="ch-system-procps uptime">
+ <primary sortas="b-uptime">uptime</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="vmstat">
+ <term><command>vmstat</command></term>
+ <listitem>
+ <para>Reports virtual memory statistics, giving information about
+ processes, memory, paging, block Input/Output (IO), traps, and CPU
+ activity</para>
+ <indexterm zone="ch-system-procps vmstat">
+ <primary sortas="b-vmstat">vmstat</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="w">
+ <term><command>w</command></term>
+ <listitem>
+ <para>Shows which users are currently logged on, where, and since
+ when</para>
+ <indexterm zone="ch-system-procps w">
+ <primary sortas="b-w">w</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="watch">
+ <term><command>watch</command></term>
+ <listitem>
+ <para>Runs a given command repeatedly, displaying the first
+ screen-full of its output; this allows a user to watch the output
+ change over time</para>
+ <indexterm zone="ch-system-procps watch">
+ <primary sortas="b-watch">watch</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="libproc">
+ <term><filename class="libraryfile">libproc</filename></term>
+ <listitem>
+ <para>Contains the functions used by most programs in this
+ package</para>
+ <indexterm zone="ch-system-procps libproc">
+ <primary sortas="c-libproc">libproc</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </sect2>
</sect1>
-
diff --git a/chapter06/psmisc.xml b/chapter06/psmisc.xml
index a8165860b..f8f02f458 100644
--- a/chapter06/psmisc.xml
+++ b/chapter06/psmisc.xml
@@ -1,134 +1,169 @@
<?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-psmisc" role="wrap">
-<title>Psmisc-&psmisc-version;</title>
-<?dbhtml filename="psmisc.html"?>
+ <?dbhtml filename="psmisc.html"?>
+
+ <title>Psmisc-&psmisc-version;</title>
+
+ <indexterm zone="ch-system-psmisc">
+ <primary sortas="a-Psmisc">Psmisc</primary>
+ </indexterm>
+
+ <sect2 role="package">
+ <title/>
-<indexterm zone="ch-system-psmisc"><primary sortas="a-Psmisc">Psmisc</primary></indexterm>
+ <para>The Psmisc package contains programs for displaying information about
+ running processes.</para>
-<sect2 role="package"><title/>
-<para>The Psmisc package contains programs for displaying information about
-running processes.</para>
+ <segmentedlist>
+ <segtitle>&buildtime;</segtitle>
+ <segtitle>&diskspace;</segtitle>
-<segmentedlist>
-<segtitle>&buildtime;</segtitle>
-<segtitle>&diskspace;</segtitle>
-<seglistitem><seg>0.1 SBU</seg><seg>1.7 MB</seg></seglistitem>
-</segmentedlist>
+ <seglistitem>
+ <seg>0.1 SBU</seg>
+ <seg>1.7 MB</seg>
+ </seglistitem>
+ </segmentedlist>
-<segmentedlist>
-<segtitle>&dependencies;</segtitle>
-<seglistitem><seg>Bash, Binutils, Coreutils, Diffutils,
-GCC, Gettext, Glibc, Grep, Make, Ncurses, and Sed</seg></seglistitem>
-</segmentedlist>
-</sect2>
+ <segmentedlist>
+ <segtitle>&dependencies;</segtitle>
-<sect2 role="installation">
-<title>Installation of Psmisc</title>
+ <seglistitem>
+ <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep,
+ Make, Ncurses, and Sed</seg>
+ </seglistitem>
+ </segmentedlist>
-<para>Prepare Psmisc for compilation:</para>
+ </sect2>
+
+ <sect2 role="installation">
+ <title>Installation of Psmisc</title>
+
+ <para>Prepare Psmisc for compilation:</para>
<screen><userinput>./configure --prefix=/usr --exec-prefix=""</userinput></screen>
-<para>The meaning of the configure options:</para>
+ <variablelist>
+ <title>The meaning of the configure options:</title>
-<variablelist>
-<varlistentry>
-<term><parameter>--exec-prefix=""</parameter></term>
-<listitem><para>This ensures that the Psmisc binaries will install into
-<filename class="directory">/bin</filename> instead of <filename
-class="directory">/usr/bin</filename>. This is the correct location according to
-the FHS, because some of the Psmisc binaries are used by the LFS-Bootscripts
-package.</para></listitem>
-</varlistentry>
-</variablelist>
+ <varlistentry>
+ <term><parameter>--exec-prefix=""</parameter></term>
+ <listitem>
+ <para>This ensures that the Psmisc binaries will install into
+ <filename class="directory">/bin</filename> instead of <filename
+ class="directory">/usr/bin</filename>. This is the correct location
+ according to the FHS, because some of the Psmisc binaries are used
+ by the LFS-Bootscripts package.</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</userinput></screen>
-<para>There is no reason for the <command>pstree</command> and
-<command>pstree.x11</command> programs to reside in <filename
-class="directory">/bin</filename>. Therefore, move them to <filename
-class="directory">/usr/bin</filename>:</para>
+ <para>There is no reason for the <command>pstree</command> and
+ <command>pstree.x11</command> programs to reside in <filename
+ class="directory">/bin</filename>. Therefore, move them to <filename
+ class="directory">/usr/bin</filename>:</para>
<screen><userinput>mv -v /bin/pstree* /usr/bin</userinput></screen>
-<para>By default, Psmisc's <command>pidof</command> program is not
-installed. This usually is not a problem because it is installed later
-in the Sysvinit package, which provides a better
-<command>pidof</command> program. If Sysvinit will not be used for a
-particular system, complete the installation of Psmisc by creating the
-following symlink:</para>
+ <para>By default, Psmisc's <command>pidof</command> program is not
+ installed. This usually is not a problem because it is installed later
+ in the Sysvinit package, which provides a better
+ <command>pidof</command> program. If Sysvinit will not be used for a
+ particular system, complete the installation of Psmisc by creating the
+ following symlink:</para>
<screen><userinput>ln -sv killall /bin/pidof</userinput></screen>
-</sect2>
-
-
-<sect2 id="contents-psmisc" role="content"><title>Contents of Psmisc</title>
-
-<segmentedlist>
-<segtitle>Installed programs</segtitle>
-<seglistitem><seg>fuser, killall, pstree, and pstree.x11 (link to pstree)</seg></seglistitem>
-</segmentedlist>
-
-<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
-<?dbfo list-presentation="list"?>
-<?dbhtml list-presentation="table"?>
-
-<varlistentry id="fuser">
-<term><command>fuser</command></term>
-<listitem>
-<para>Reports the Process IDs (PIDs) of processes that use the given files or file systems</para>
-<indexterm zone="ch-system-psmisc fuser"><primary sortas="b-fuser">fuser</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="killall">
-<term><command>killall</command></term>
-<listitem>
-<para>Kills processes by name; it sends a signal to all processes
-running any of the given commands</para>
-<indexterm zone="ch-system-psmisc killall"><primary sortas="b-killall">killall</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="oldfuser">
-<term><command>oldfuser</command></term>
-<listitem>
-<para>Reports the Process IDs (PIDs) of processes that use the given files or file systems</para>
-<indexterm zone="ch-system-psmisc oldfuser"><primary sortas="b-oldfuser">oldfuser</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="pstree">
-<term><command>pstree</command></term>
-<listitem>
-<para>Displays running processes as a tree</para>
-<indexterm zone="ch-system-psmisc pstree"><primary sortas="b-pstree">pstree</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="pstree.x11">
-<term><command>pstree.x11</command></term>
-<listitem>
-<para>Same as <command>pstree</command>, except that it waits for confirmation before exiting</para>
-<indexterm zone="ch-system-psmisc pstree.x11"><primary sortas="b-pstree.x11">pstree.x11</primary></indexterm>
-</listitem>
-</varlistentry>
-</variablelist>
-
-</sect2>
+ </sect2>
+
+ <sect2 id="contents-psmisc" role="content">
+ <title>Contents of Psmisc</title>
+
+ <segmentedlist>
+ <segtitle>Installed programs</segtitle>
+
+ <seglistitem>
+ <seg>fuser, killall, pstree, and pstree.x11 (link to pstree)</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ <variablelist>
+ <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+ <?dbfo list-presentation="list"?>
+ <?dbhtml list-presentation="table"?>
+
+ <varlistentry id="fuser">
+ <term><command>fuser</command></term>
+ <listitem>
+ <para>Reports the Process IDs (PIDs) of processes that use the given
+ files or file systems</para>
+ <indexterm zone="ch-system-psmisc fuser">
+ <primary sortas="b-fuser">fuser</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="killall">
+ <term><command>killall</command></term>
+ <listitem>
+ <para>Kills processes by name; it sends a signal to all processes
+ running any of the given commands</para>
+ <indexterm zone="ch-system-psmisc killall">
+ <primary sortas="b-killall">killall</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="oldfuser">
+ <term><command>oldfuser</command></term>
+ <listitem>
+ <para>Reports the Process IDs (PIDs) of processes that use the given
+ files or file systems</para>
+ <indexterm zone="ch-system-psmisc oldfuser">
+ <primary sortas="b-oldfuser">oldfuser</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="pstree">
+ <term><command>pstree</command></term>
+ <listitem>
+ <para>Displays running processes as a tree</para>
+ <indexterm zone="ch-system-psmisc pstree">
+ <primary sortas="b-pstree">pstree</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="pstree.x11">
+ <term><command>pstree.x11</command></term>
+ <listitem>
+ <para>Same as <command>pstree</command>, except that it waits for
+ confirmation before exiting</para>
+ <indexterm zone="ch-system-psmisc pstree.x11">
+ <primary sortas="b-pstree.x11">pstree.x11</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </sect2>
</sect1>
-
diff --git a/chapter06/pwdgroup.xml b/chapter06/pwdgroup.xml
index ff561570d..a58edade6 100644
--- a/chapter06/pwdgroup.xml
+++ b/chapter06/pwdgroup.xml
@@ -1,36 +1,56 @@
<?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-pwdgroup">
-<title>Creating the passwd, group, and log Files</title>
-<?dbhtml filename="pwdgroup.html"?>
+ <?dbhtml filename="pwdgroup.html"?>
+
+ <title>Creating the passwd, group, and log Files</title>
+
+ <indexterm zone="ch-system-pwdgroup">
+ <primary sortas="e-/etc/passwd">/etc/passwd</primary>
+ </indexterm>
+
+ <indexterm zone="ch-system-pwdgroup">
+ <primary sortas="e-/etc/group">/etc/group</primary>
+ </indexterm>
-<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/etc/passwd">/etc/passwd</primary></indexterm>
-<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/etc/group">/etc/group</primary></indexterm>
-<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/run/utmp">/var/run/utmp</primary></indexterm>
-<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/btmp">/var/log/btmp</primary></indexterm>
-<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary></indexterm>
-<indexterm zone="ch-system-pwdgroup"><primary sortas="e-/var/log/wtmp">/var/log/wtmp</primary></indexterm>
+ <indexterm zone="ch-system-pwdgroup">
+ <primary sortas="e-/var/run/utmp">/var/run/utmp</primary>
+ </indexterm>
-<para>In order for user <emphasis>root</emphasis> to be able to login
-and for the name <quote>root</quote> to be recognized, there must be relevant
-entries in the <filename>/etc/passwd</filename> and
-<filename>/etc/group</filename> files.</para>
+ <indexterm zone="ch-system-pwdgroup">
+ <primary sortas="e-/var/log/btmp">/var/log/btmp</primary>
+ </indexterm>
-<para>Create the <filename>/etc/passwd</filename> file by running the following
-command:</para>
+ <indexterm zone="ch-system-pwdgroup">
+ <primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary>
+ </indexterm>
+
+ <indexterm zone="ch-system-pwdgroup">
+ <primary sortas="e-/var/log/wtmp">/var/log/wtmp</primary>
+ </indexterm>
+
+ <para>In order for user <systemitem class="username">root</systemitem> to be
+ able to login and for the name <quote>root</quote> to be recognized, there
+ must be relevant entries in the <filename>/etc/passwd</filename> and
+ <filename>/etc/group</filename> files.</para>
+
+ <para>Create the <filename>/etc/passwd</filename> file by running the following
+ command:</para>
<screen><userinput>cat &gt; /etc/passwd &lt;&lt; "EOF"
<literal>root:x:0:0:root:/root:/bin/bash</literal>
EOF</userinput></screen>
-<para>The actual password for <emphasis>root</emphasis> (the <quote>x</quote>
-used here is just a placeholder) will be set later.</para>
+ <para>The actual password for <systemitem class="username">root</systemitem>
+ (the <quote>x</quote> used here is just a placeholder) will be set later.</para>
-<para>Create the <filename>/etc/group</filename> file by running the following
-command:</para>
+ <para>Create the <filename>/etc/group</filename> file by running the following
+ command:</para>
<screen><userinput>cat &gt; /etc/group &lt;&lt; "EOF"
<literal>root:x:0:
@@ -51,49 +71,49 @@ usb:x:14:
cdrom:x:15:</literal>
EOF</userinput></screen>
-<para>The created groups are not part of any standard&mdash;they are groups
-decided on in part by the requirements of the Udev configuration in this
-chapter, and in part by common convention employed by a number of existing Linux
-distributions. The Linux Standard Base (LSB, available at <ulink
-url="http://www.linuxbase.org"/>) recommends only that, besides the group
-<quote>root</quote> with a Group ID (GID) of 0, a group <quote>bin</quote> with
-a GID of 1 be present. All other group names and GIDs can be chosen freely by
-the system administrator since well-written programs do not depend on GID
-numbers, but rather use the group's name.</para>
-
-<para>To remove the <quote>I have no name!</quote> prompt, start a new
-shell. Since a full Glibc was installed in <xref
-linkend="chapter-temporary-tools"/> and the
-<filename>/etc/passwd</filename> and <filename>/etc/group</filename>
-files have been created, user name and group name resolution will now
-work.</para>
+ <para>The created groups are not part of any standard&mdash;they are groups
+ decided on in part by the requirements of the Udev configuration in this
+ chapter, and in part by common convention employed by a number of existing
+ Linux distributions. The Linux Standard Base (LSB, available at <ulink
+ url="http://www.linuxbase.org"/>) recommends only that, besides the group
+ <systemitem class="groupname">root</systemitem> with a Group ID (GID) of 0,
+ a group <systemitem class="groupname">bin</systemitem> with a GID of 1 be
+ present. All other group names and GIDs can be chosen freely by the system
+ administrator since well-written programs do not depend on GID numbers, but
+ rather use the group's name.</para>
+
+ <para>To remove the <quote>I have no name!</quote> prompt, start a new
+ shell. Since a full Glibc was installed in <xref
+ linkend="chapter-temporary-tools"/> and the
+ <filename>/etc/passwd</filename> and <filename>/etc/group</filename>
+ files have been created, user name and group name resolution will now
+ work.</para>
<screen role="nodump"><userinput>exec /tools/bin/bash --login +h</userinput></screen>
-<para>Note the use of the <parameter>+h</parameter> directive. This tells
-<command>bash</command> not to use its internal path hashing. Without this
-directive, <command>bash</command> would remember the paths to binaries it has
-executed. To ensure the use of the newly compiled binaries as soon as they are
-installed, the <parameter>+h</parameter> directive will be used for the duration
-of this chapter.</para>
+ <para>Note the use of the <parameter>+h</parameter> directive. This tells
+ <command>bash</command> not to use its internal path hashing. Without this
+ directive, <command>bash</command> would remember the paths to binaries it has
+ executed. To ensure the use of the newly compiled binaries as soon as they are
+ installed, the <parameter>+h</parameter> directive will be used for the duration
+ of this chapter.</para>
-<para>The <command>login</command>, <command>agetty</command>, and
-<command>init</command> programs (and others) use a number of log
-files to record information such as who was logged into the system and
-when. However, these programs will not write to the log files if they
-do not already exist. Initialize the log files and give them
-proper permissions:</para>
+ <para>The <command>login</command>, <command>agetty</command>, and
+ <command>init</command> programs (and others) use a number of log
+ files to record information such as who was logged into the system and
+ when. However, these programs will not write to the log files if they
+ do not already exist. Initialize the log files and give them
+ proper permissions:</para>
<screen><userinput>touch /var/run/utmp /var/log/{btmp,lastlog,wtmp}
chgrp -v utmp /var/run/utmp /var/log/lastlog
chmod -v 664 /var/run/utmp /var/log/lastlog</userinput></screen>
-<para>The <filename>/var/run/utmp</filename> file records the users
-that are currently logged in. The <filename>/var/log/wtmp</filename>
-file records all logins and logouts. The
-<filename>/var/log/lastlog</filename> file records when
-each user last logged in. The <filename>/var/log/btmp</filename> file
-records the bad login attempts.</para>
+ <para>The <filename>/var/run/utmp</filename> file records the users
+ that are currently logged in. The <filename>/var/log/wtmp</filename>
+ file records all logins and logouts. The
+ <filename>/var/log/lastlog</filename> file records when
+ each user last logged in. The <filename>/var/log/btmp</filename> file
+ records the bad login attempts.</para>
</sect1>
-
diff --git a/chapter06/readjusting.xml b/chapter06/readjusting.xml
index 18fc83d4a..e108286f0 100644
--- a/chapter06/readjusting.xml
+++ b/chapter06/readjusting.xml
@@ -1,113 +1,116 @@
<?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-readjusting">
-<title>Re-adjusting the Toolchain</title>
-<?dbhtml filename="readjusting.html"?>
-
-<para>Now that the final C libraries have been installed, it is time to adjust
-the toolchain again. The toolchain will be adjusted so that it will link any
-newly compiled program against these new libraries. This is a similar process
-used in the <quote>Adjusting</quote> phase in the beginning of <xref
-linkend="chapter-temporary-tools"/>, but with the adjustments reversed. In <xref
-linkend="chapter-temporary-tools"/>, the chain was guided from the host's
-<filename class="directory">/{,usr/}lib</filename> directories to the new
-<filename class="directory">/tools/lib</filename> directory. Now, the chain will
-be guided from that same <filename class="directory">/tools/lib</filename>
-directory to the LFS <filename class="directory">/{,usr/}lib</filename>
-directories.</para>
-
-<para>First, backup the <filename class="directory">/tools</filename> linker, and
-replace it with the adjusted linker we made in chapter 5. We'll also create a
-link to its counterpart in <filename class="directory">/tools/$(gcc -dumpmachine)/bin</filename>.</para>
+ <?dbhtml filename="readjusting.html"?>
+
+ <title>Re-adjusting the Toolchain</title>
+
+ <para>Now that the final C libraries have been installed, it is time to adjust
+ the toolchain again. The toolchain will be adjusted so that it will link any
+ newly compiled program against these new libraries. This is a similar process
+ used in the <quote>Adjusting</quote> phase in the beginning of <xref
+ linkend="chapter-temporary-tools"/>, but with the adjustments reversed. In <xref
+ linkend="chapter-temporary-tools"/>, the chain was guided from the host's
+ <filename class="directory">/{,usr/}lib</filename> directories to the new
+ <filename class="directory">/tools/lib</filename> directory. Now, the chain will
+ be guided from that same <filename class="directory">/tools/lib</filename>
+ directory to the LFS <filename class="directory">/{,usr/}lib</filename>
+ directories.</para>
+
+ <para>First, backup the <filename class="directory">/tools</filename> linker,
+ and replace it with the adjusted linker we made in chapter 5. We'll also create
+ a link to its counterpart in <filename class="directory">/tools/$(gcc
+ -dumpmachine)/bin</filename>.</para>
<screen><userinput>mv -v /tools/bin/{ld,ld-old}
mv -v /tools/$(gcc -dumpmachine)/bin/{ld,ld-old}
mv -v /tools/bin/{ld-new,ld}
ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld</userinput></screen>
-<para>Next, amend the GCC specs file so that it points to the new
-dynamic linker, and so that GCC knows where to find its start files.
-A <command>perl</command> command accomplishes this:</para>
+ <para>Next, amend the GCC specs file so that it points to the new
+ dynamic linker, and so that GCC knows where to find its start files.
+ A <command>perl</command> command accomplishes this:</para>
<screen><userinput>gcc -dumpspecs | \
perl -p -e 's@/tools/lib/ld-linux.so.2@/lib/ld-linux.so.2@g;' \
- -e 's@\*startfile_prefix_spec:\n@$_/usr/lib/ @g;' &gt; \
- `dirname $(gcc --print-libgcc-file-name)`/specs
-</userinput></screen>
-
-<para>It is a good idea to visually inspect the specs file to verify the intended
-change was actually made.</para>
-
-<important><para>If working on a platform where the name of the
-dynamic linker is something other than
-<filename class="libraryfile">ld-linux.so.2</filename>, substitute
-<quote>ld-linux.so.2</quote> with the name of the platform's
-dynamic linker in the above commands. Refer back to <xref
-linkend="ch-tools-toolchaintechnotes" role=","/> if
-necessary.</para></important>
-
-<caution><para>It is imperative at this point to stop and ensure that
-the basic functions (compiling and linking) of the adjusted toolchain
-are working as expected. To do this, perform a sanity
-check:</para>
+ -e 's@\*startfile_prefix_spec:\n@$_/usr/lib/ @g;' &gt; \
+ `dirname $(gcc --print-libgcc-file-name)`/specs</userinput></screen>
+
+ <para>It is a good idea to visually inspect the specs file to verify the
+ intended change was actually made.</para>
+
+ <important>
+ <para>If working on a platform where the name of the dynamic linker is
+ something other than <filename class="libraryfile">ld-linux.so.2</filename>,
+ substitute <quote>ld-linux.so.2</quote> with the name of the platform's
+ dynamic linker in the above commands. Refer back to <xref
+ linkend="ch-tools-toolchaintechnotes" role=","/> if necessary.</para>
+ </important>
+
+ <caution>
+ <para>It is imperative at this point to stop and ensure that the basic
+ functions (compiling and linking) of the adjusted toolchain are working
+ as expected. To do this, perform a sanity check:</para>
<screen><userinput>echo 'main(){}' &gt; dummy.c
cc dummy.c -Wl,--verbose &amp;&gt; dummy.log
readelf -l a.out | grep ': /lib'</userinput></screen>
-<para>If everything is working correctly, there should be no errors,
-and the output of the last command will be (allowing for
-platform-specific differences in dynamic linker name):</para>
+ <para>If everything is working correctly, there should be no errors,
+ and the output of the last command will be (allowing for
+ platform-specific differences in dynamic linker name):</para>
<screen><computeroutput>[Requesting program interpreter: /lib/ld-linux.so.2]</computeroutput></screen>
-<para>Note that <filename class="directory">/lib</filename> is now
-the prefix of our dynamic linker.</para>
+ <para>Note that <filename class="directory">/lib</filename> is now
+ the prefix of our dynamic linker.</para>
-<para>Now make sure that we're setup to use the correct start files:</para>
+ <para>Now make sure that we're setup to use the correct start files:</para>
<screen><userinput>grep "/usr/lib/crt.* " dummy.log</userinput></screen>
-<para>If everything is working correctly, there should be no errors,
-and the output of the last command will be:</para>
+ <para>If everything is working correctly, there should be no errors,
+ and the output of the last command will be:</para>
<screen><computeroutput>attempt to open /usr/lib/crt1.o succeeded
attempt to open /usr/lib/crti.o succeeded
attempt to open /usr/lib/crtn.o succeeded</computeroutput></screen>
-<para>Next make sure that we're using the correct libc:</para>
+ <para>Next make sure that we're using the correct libc:</para>
<screen><userinput>grep "/lib/libc.so.6 " dummy.log</userinput></screen>
-<para>If everything is working correctly, there should be no errors,
-and the output of the last command will be:</para>
+ <para>If everything is working correctly, there should be no errors,
+ and the output of the last command will be:</para>
<screen><computeroutput>attempt to open /lib/libc.so.6 succeeded</computeroutput></screen>
-<para>Lastly, make sure GCC is using the correct dynamic linker:</para>
+ <para>Lastly, make sure GCC is using the correct dynamic linker:</para>
<screen><userinput>grep found dummy.log</userinput></screen>
-<para>If everything is working correctly, there should be no errors,
-and the output of the last command will be (allowing for
-platform-specific differences in dynamic linker name):</para>
+ <para>If everything is working correctly, there should be no errors,
+ and the output of the last command will be (allowing for
+ platform-specific differences in dynamic linker name):</para>
<screen><computeroutput>found ld-linux.so.2 at /lib/ld-linux.so.2</computeroutput></screen>
-<para>If the output does not appear as shown above or is not received
-at all, then something is seriously wrong. Investigate and retrace the
-steps to find out where the problem is and correct it. The most likely
-reason is that something went wrong with the specs file amendment
-above. Any issues will need to be resolved before continuing on with
-the process.</para>
+ <para>If the output does not appear as shown above or is not received
+ at all, then something is seriously wrong. Investigate and retrace the
+ steps to find out where the problem is and correct it. The most likely
+ reason is that something went wrong with the specs file amendment
+ above. Any issues will need to be resolved before continuing on with
+ the process.</para>
-<para>Once everything is working correctly, clean up the test
-files:</para>
+ <para>Once everything is working correctly, clean up the test
+ files:</para>
-<screen><userinput>rm -v dummy.c a.out dummy.log</userinput></screen></caution>
+<screen><userinput>rm -v dummy.c a.out dummy.log</userinput></screen>
+ </caution>
</sect1>
-
diff --git a/chapter06/readline.xml b/chapter06/readline.xml
index 235f38e8c..f61f934ab 100644
--- a/chapter06/readline.xml
+++ b/chapter06/readline.xml
@@ -1,111 +1,135 @@
<?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-readline" role="wrap">
-<title>Readline-&readline-version;</title>
-<?dbhtml filename="readline.html"?>
+ <?dbhtml filename="readline.html"?>
+
+ <title>Readline-&readline-version;</title>
+
+ <indexterm zone="ch-system-readline">
+ <primary sortas="a-Readline">Readline</primary>
+ </indexterm>
+
+ <sect2 role="package">
+ <title/>
-<indexterm zone="ch-system-readline"><primary sortas="a-Readline">Readline</primary></indexterm>
+ <para>The Readline package is a set of libraries that offers command-line
+ editing and history capabilities.</para>
-<sect2 role="package"><title/>
-<para>The Readline package is a set of libraries that offers command-line
-editing and history capabilities.</para>
+ <segmentedlist>
+ <segtitle>&buildtime;</segtitle>
+ <segtitle>&diskspace;</segtitle>
-<segmentedlist>
-<segtitle>&buildtime;</segtitle>
-<segtitle>&diskspace;</segtitle>
-<seglistitem><seg>0.11 SBU</seg><seg>9.1 MB</seg></seglistitem>
-</segmentedlist>
+ <seglistitem>
+ <seg>0.11 SBU</seg>
+ <seg>9.1 MB</seg>
+ </seglistitem>
+ </segmentedlist>
-<segmentedlist>
-<segtitle>&dependencies;</segtitle>
-<seglistitem><seg>Binutils, Coreutils, Diffutils, Gawk,
-GCC, Glibc, Grep, Make, Ncurses, and Sed</seg></seglistitem>
-</segmentedlist>
-</sect2>
+ <segmentedlist>
+ <segtitle>&dependencies;</segtitle>
-<sect2 role="installation">
-<title>Installation of Readline</title>
+ <seglistitem>
+ <seg>Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make,
+ Ncurses, and Sed</seg>
+ </seglistitem>
+ </segmentedlist>
-<para>Prepare Readline for compilation:</para>
+ </sect2>
+
+ <sect2 role="installation">
+ <title>Installation of Readline</title>
+
+ <para>Prepare Readline for compilation:</para>
<screen><userinput>./configure --prefix=/usr --libdir=/lib</userinput></screen>
-<para>Compile the package:</para>
+ <para>Compile the package:</para>
<screen><userinput>make SHLIB_LIBS=-lncurses</userinput></screen>
-<para>The meaning of the make option:</para>
+ <variablelist>
+ <title>The meaning of the make option:</title>
-<variablelist>
-<varlistentry>
-<term><parameter>SHLIB_LIBS=-lncurses</parameter></term>
-<listitem><para>This option forces Readline to link against the
-<filename class="libraryfile">libncurses</filename>
-(really, <filename class="libraryfile">libncursesw</filename>)
-library.</para></listitem>
-</varlistentry>
-</variablelist>
+ <varlistentry>
+ <term><parameter>SHLIB_LIBS=-lncurses</parameter></term>
+ <listitem>
+ <para>This option forces Readline to link against the
+ <filename class="libraryfile">libncurses</filename> (really,
+ <filename class="libraryfile">libncursesw</filename>) library.</para>
+ </listitem>
+ </varlistentry>
-<para>This package does not come with a test suite.</para>
+ </variablelist>
-<para>Install the package:</para>
+ <para>This package does not come with a test suite.</para>
+
+ <para>Install the package:</para>
<screen><userinput>make install</userinput></screen>
-<para>Give Readline's dynamic libraries more appropriate permissions:</para>
+ <para>Give Readline's dynamic libraries more appropriate permissions:</para>
<screen><userinput>chmod -v 755 /lib/lib{readline,history}.so*</userinput></screen>
-<para>Now move the static libraries to a more appropriate location:</para>
+ <para>Now move the static libraries to a more appropriate location:</para>
<screen><userinput>mv -v /lib/lib{readline,history}.a /usr/lib</userinput></screen>
-<para>Next, remove the <filename class="extension">.so</filename> files in
-<filename class="directory">/lib</filename> and relink them into <filename
-class="directory">/usr/lib</filename>.</para>
+ <para>Next, remove the <filename class="extension">.so</filename> files in
+ <filename class="directory">/lib</filename> and relink them into <filename
+ class="directory">/usr/lib</filename>.</para>
<screen><userinput>rm -v /lib/lib{readline,history}.so
ln -sfv ../../lib/libreadline.so.5 /usr/lib/libreadline.so
ln -sfv ../../lib/libhistory.so.5 /usr/lib/libhistory.so</userinput></screen>
-</sect2>
-
-
-<sect2 id="contents-readline" role="content"><title>Contents of Readline</title>
-<segmentedlist>
-<segtitle>Installed libraries</segtitle>
-<seglistitem><seg>libhistory.[a,so], and libreadline.[a,so]</seg></seglistitem>
-</segmentedlist>
-
-<variablelist><bridgehead renderas="sect3">Short Descriptions</bridgehead>
-<?dbfo list-presentation="list"?>
-<?dbhtml list-presentation="table"?>
-
-<varlistentry id="libhistory">
-<term><filename class="libraryfile">libhistory</filename></term>
-<listitem>
-<para>Provides a consistent user interface
-for recalling lines of history</para>
-<indexterm zone="ch-system-readline libhistory"><primary sortas="c-libhistory">libhistory</primary></indexterm>
-</listitem>
-</varlistentry>
-
-<varlistentry id="libreadline">
-<term><filename class="libraryfile">libreadline</filename></term>
-<listitem>
-<para>Aids in the consistency of user interface
-across discrete programs that need to provide a command line
-interface</para>
-<indexterm zone="ch-system-readline libreadline"><primary sortas="c-libreadline">libreadline</primary></indexterm>
-</listitem>
-</varlistentry>
-
-</variablelist>
-
-</sect2>
+ </sect2>
+
+ <sect2 id="contents-readline" role="content">
+ <title>Contents of Readline</title>
+
+ <segmentedlist>
+ <segtitle>Installed libraries</segtitle>
+
+ <seglistitem>
+ <seg>libhistory.[a,so], and libreadline.[a,so]</seg>
+ </seglistitem>
+ </segmentedlist>
+
+ <variablelist>
+ <bridgehead renderas="sect3">Short Descriptions</bridgehead>
+ <?dbfo list-presentation="list"?>
+ <?dbhtml list-presentation="table"?>
+
+ <varlistentry id="libhistory">
+ <term><filename class="libraryfile">libhistory</filename></term>
+ <listitem>
+ <para>Provides a consistent user interface for recalling lines
+ of history</para>
+ <indexterm zone="ch-system-readline libhistory">
+ <primary sortas="c-libhistory">libhistory</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry id="libreadline">
+ <term><filename class="libraryfile">libreadline</filename></term>
+ <listitem>
+ <para>Aids in the consistency of user interface across discrete
+ programs that need to provide a command line interface</para>
+ <indexterm zone="ch-system-readline libreadline">
+ <primary sortas="c-libreadline">libreadline</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+
+ </sect2>
</sect1>
-
diff --git a/chapter06/revisedchroot.xml b/chapter06/revisedchroot.xml
index 29eeba80a..5954b64be 100644
--- a/chapter06/revisedchroot.xml
+++ b/chapter06/revisedchroot.xml
@@ -1,30 +1,34 @@
<?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-revisedchroot">
-<title>Cleaning Up</title>
-<?dbhtml filename="revisedchroot.html"?>
+ <?dbhtml filename="revisedchroot.html"?>
+
+ <title>Cleaning Up</title>
-<para>From now on, when reentering the chroot environment after
-exiting, use the following modified chroot command:</para>
+ <para>From now on, when reentering the chroot environment after
+ exiting, use the following modified chroot command:</para>
<screen><userinput>chroot "$LFS" /usr/bin/env -i \
HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
PATH=/bin:/usr/bin:/sbin:/usr/sbin \
/bin/bash --login</userinput></screen>
-<para>The reason for this is that the programs in <filename
-class="directory">/tools</filename> are no longer needed. Since they are no
-longer needed you can delete the <filename class="directory">/tools</filename>
-directory if so desired.</para>
+ <para>The reason for this is that the programs in <filename
+ class="directory">/tools</filename> are no longer needed. Since they are no
+ longer needed you can delete the <filename class="directory">/tools</filename>
+ directory if so desired.</para>
-<note><para>Removing <filename class="directory">/tools</filename> will also
-remove the temporary copies of Tcl, Expect, and DejaGNU which were used for
-running the toolchain tests. If you need these programs later on, they will need
-to be recompiled and re-installed. The BLFS book has instructions for this (see
-<ulink url="&blfs-root;"/>).</para></note>
+ <note>
+ <para>Removing <filename class="directory">/tools</filename> will also
+ remove the temporary copies of Tcl, Expect, and DejaGNU which were used
+ for running the toolchain tests. If you need these programs later on,
+ they will need to be recompiled and re-installed. The BLFS book has
+ instructions for this (see <ulink url="&blfs-root;"/>).</para>
+ </note>
</sect1>
-
diff --git a/chapter06/sed.xml b/chapter06/sed.xml
index 01c2a6d45..7fd46232a 100644
--- a/chapter06/sed.xml
+++ b/chapter06/sed.xml
@@ -1,79 +1,100 @@
<?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-sed" role="wrap">
-<title>Sed-&sed-version;</title>
-<?dbhtml filename="sed.html"?>
+ <?dbhtml filename="sed.html"?>
+
+ <title>Sed-&sed-version;</title>
+
+ <indexterm zone="ch-system-sed">
+ <primary sortas="a-Sed">Sed</primary>
+ </indexterm>
+
+ <sect2 role="package">
+ <title/>
-<indexterm zone="ch-system-sed"><primary sortas="a-Sed">Sed</primary></indexterm>
+ <para>The Sed package contains a stream editor.</para>
-<sect2 role="package"><title/>
-<para>The Sed package contains a stream editor.</para>
+ <segmentedlist>
+ <segtitle>&buildtime;</segtitle>
+ <segtitle>&diskspace;</segtitle>
-<segmentedlist>
-<segtitle>&buildtime;</segtitle>
-<segtitle>&diskspace;</segtitle>
-<seglistitem><seg>0.2 SBU</seg><seg>8.4 MB</seg></seglistitem>
-</segmentedlist>
+ <seglistitem>
+ <seg>0.2 SBU</seg>
+ <seg>8.4 MB</seg>
+ </seglistitem>
+ </segmentedlist>
-<segmentedlist>
-<segtitle>&dependencies;</segtitle>
-<seglistitem><seg>Bash, Binutils, Coreutils,
-Diffutils, GCC, Gettext, Glibc, Grep, Make, and Texinfo</seg></seglistitem>
-</segmentedlist>
-</sect2>
+ <segmentedlist>
+ <segtitle>&dependencies;</segtitle>
-<sect2 role="installation">
-<title>Installation of Sed</title>
+ <seglistitem>
+ <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc,
+ Grep, Make, and Texinfo</seg>
+ </seglistitem>
+ </segmentedlist>
-<para>By default, Sed installs its HTML documentation in
-<filename class="directory">/usr/share/doc</filename>. Alter this to
-<filename class="directory">/usr/share/doc/sed-&sed-version;</filename> by
-applying the following <command>sed</command>:</para>
+ </sect2>
+
+ <sect2 role="installation">
+ <title>Installation of Sed</title>
+
+ <para>By default, Sed installs its HTML documentation in
+ <filename class="directory">/usr/share/doc</filename>. Alter this to
+ <filename class="directory">/usr/share/doc/sed-&sed-version;</filename> by
+ applying the following <command>sed</command>:</para>
<screen><userinput>sed -i 's@/doc@&amp;/sed-&sed-version;@' doc/Makefile.in</userinput></screen>
-<para>Prepare Sed for compilation:</para>
+ <para>Prepare Sed for compilation:</para>
<screen><userinput>./configure --prefix=/usr --bindir=/bin</userinput></screen>
-<para>Compile the package:</para>
+ <para>Compile the package:</para>
<screen><userinput>make</userinput></screen>
-<para>To test the results, issue:
-<userinput>make check</userinput>.</para>
+ <para>To test the results, issue:
+ <userinput>make check</userinput>.</para>
-<para>Install the package:</para>
+ <para>Install the package:</para>
<screen><userinput>make install</userinput></screen>
-</sect2>
+ </sect2>
+ <sect2 id="contents-sed" role="content">
+ <title>Contents of Sed</title>
-<sect2 id="contents-sed" role="content"><title>Contents of Sed</title>
+ <segmentedlist>
+ <segtitle>Installed program</segtitle>
-<segmentedlist>
-<segtitle>Installed program</segtitle>
-<seglistitem><seg>sed</seg></seglistitem>
-</segmentedlist>
+ <seglistitem>
+ <seg>sed</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="sed">
-<term><command>sed</command></term>
-<listitem>
-<para>Filters and transforms text files in a single pass</para>
-<indexterm zone="ch-system-sed sed"><primary sortas="b-sed">sed</primary></indexterm>
-</listitem>
-</varlistentry>
-</variablelist>
+ <varlistentry id="sed">
+ <term><command>sed</command></term>
+ <listitem>
+ <para>Filters and transforms text files in a single pass</para>
+ <indexterm zone="ch-system-sed sed">
+ <primary sortas="b-sed">sed</primary>
+ </indexterm>
+ </listitem>
+ </varlistentry>
-</sect2>
+ </variablelist>
-</sect1>
+ </sect2>
+</sect1>