Переглянути джерело

Mostly text updates in Chapter 8.
There are a couple of minor command changes.



git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross2@11924 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

Bruce Dubbs 3 роки тому
батько
коміт
6a156bab1b

+ 1 - 1
chapter05/glibc.xml

@@ -157,7 +157,7 @@ cd       build</userinput></screen>
 
     <para>Install the package:</para>
 
-    <warning><para>If <envar>LFS</envar> is not proprly set, and despite the
+    <warning><para>If <envar>LFS</envar> is not properly set, and despite the
     recommendations, you are building as root, the next command will install
     the newly built glibc to your host system, which most likely will render it
     unusable. So double check that the environment is correctly set for user

+ 2 - 2
chapter08/aboutdebug.xml

@@ -13,8 +13,8 @@
   <para>Most programs and libraries are, by default, compiled with
   debugging symbols included (with <command>gcc</command>'s
   <parameter>-g</parameter> option). This means that when debugging a
-  program or library that was compiled with debugging information
-  included, the debugger can provide not only memory addresses, but also
+  program or library that was compiled with debugging information,
+  the debugger can provide not only memory addresses, but also
   the names of the routines and variables.</para>
 
   <para>However, the inclusion of these debugging symbols enlarges a

+ 4 - 4
chapter08/adjusting.xml

@@ -50,7 +50,7 @@ readelf -l a.out | grep ': /lib'</userinput></screen>
 
   <para os="b">There should be no errors,
   and the output of the last command will be (allowing for
-  platform-specific differences in dynamic linker name):</para>
+  platform-specific differences in the dynamic linker name):</para>
 
 <screen os="c"><computeroutput>[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen>
 
@@ -104,7 +104,7 @@ SEARCH_DIR("/lib")</computeroutput></screen>
 
 <screen os="o"><computeroutput>attempt to open /lib/libc.so.6 succeeded</computeroutput></screen>
 
-  <para os="p">Lastly, make sure GCC is using the correct dynamic linker:</para>
+  <para os="p">Make sure GCC is using the correct dynamic linker:</para>
 
 <screen os="q"><userinput>grep found dummy.log</userinput></screen>
 
@@ -115,8 +115,8 @@ SEARCH_DIR("/lib")</computeroutput></screen>
 
   <para os="t">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 adjustment. Any
+  steps to find out where the problem is and correct it. <!--The most likely
+  reason is that something went wrong with the specs file adjustment.--> Any
   issues will need to be resolved before continuing with the process.</para>
 
   <para os="u">Once everything is working correctly, clean up the test files:</para>

+ 2 - 4
chapter08/attr.xml

@@ -43,15 +43,13 @@
 
     <para>Prepare Attr for compilation:</para>
 
-<screen revision="sysv"><userinput remap="configure">
-./configure --prefix=/usr     \
+<screen revision="sysv"><userinput remap="configure">./configure --prefix=/usr     \
             --bindir=/bin     \
             --disable-static  \
             --sysconfdir=/etc \
             --docdir=/usr/share/doc/attr-&attr-version;</userinput></screen>
 
-<screen revision="systemd"><userinput remap="configure">
-./configure --prefix=/usr     \
+<screen revision="systemd"><userinput remap="configure">./configure --prefix=/usr     \
             --disable-static  \
             --sysconfdir=/etc \
             --docdir=/usr/share/doc/attr-&attr-version;</userinput></screen>

+ 1 - 1
chapter08/autoconf.xml

@@ -43,7 +43,7 @@
 
     <para>First, fix a bug generated by Perl 5.28.</para>
 
-<screen><userinput remap="pre">sed '361 s/{/\\{/' -i bin/autoscan.in</userinput></screen>
+<screen><userinput remap="pre">sed -i '361 s/{/\\{/' bin/autoscan.in</userinput></screen>
 
     <para>Prepare Autoconf for compilation:</para>
 

+ 1 - 1
chapter08/automake.xml

@@ -43,7 +43,7 @@
 
     <para>Fix a failing test:</para>
 
-<screen><userinput remap="pre">sed -i "s/''/etags/"  t/tags-lisp-space.sh</userinput></screen>
+<screen><userinput remap="pre">sed -i "s/''/etags/" t/tags-lisp-space.sh</userinput></screen>
 
     <para>Prepare Automake for compilation:</para>
 

+ 2 - 9
chapter08/bash.xml

@@ -83,14 +83,7 @@
 <screen><userinput remap="test">su tester &lt;&lt; EOF
 PATH=$PATH make tests &lt; $(tty)
 EOF</userinput></screen>
-<!--
-    <para>The <systemitem class="username">tester</systemitem>
-    user does not have enough permissions for all the tests to pass. This shows
-    up in some <quote>diff</quote> output in four test results. Portions of the 
-    run-execscript, run-lastpipe, run-read, and run-test programs
-    are known to fail in the LFS chroot environment, but pass if the tests
-    are run in a full system.</para>
--->
+
     <para>Install the package and move the main executable to
     <filename class='directory'>/bin</filename>:</para>
 
@@ -104,7 +97,7 @@ mv -vf /usr/bin/bash /bin</userinput></screen>
 
     <note>
       <para>The parameters used make the <command>bash</command>
-      process an interactive login shell and continue to disable hashing so
+      process an interactive login shell and continues to disable hashing so
       that new programs are found as they become available.</para>
     </note>
 

+ 15 - 10
chapter08/coreutils.xml

@@ -111,9 +111,9 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
 <screen><userinput remap="test">make NON_ROOT_USERNAME=tester check-root</userinput></screen>
 
     <para>We're going to run the remainder of the tests as the
-    <systemitem class="username">tester</systemitem> user. Certain tests,
-    however, require that the user be a member of more than one group. So that
-    these tests are not skipped we'll add a temporary group and make the
+    <systemitem class="username">tester</systemitem> user. Certain tests
+    require that the user be a member of more than one group. So that
+    these tests are not skipped, add a temporary group and make the
     user <systemitem class="username">tester</systemitem> a part of it:</para>
 
 <screen><userinput remap="test">echo "dummy:x:102:tester" &gt;&gt; /etc/group</userinput></screen>
@@ -126,12 +126,6 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
     <para>Now run the tests:</para>
 
 <screen><userinput remap="test">su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
-<!--
-    <para>The test program test-getlogin is known to fail in a
-    partially built system environment like the chroot environment here, but
-    passes if run at the end of this chapter.  The test program tty.sh is
-    also known to fail.</para>
--->
 
     <para>Remove the temporary group:</para>
 
@@ -147,7 +141,7 @@ mv -v /usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,rm} /bin
 mv -v /usr/bin/{rmdir,stty,sync,true,uname} /bin
 mv -v /usr/bin/chroot /usr/sbin
 mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8
-sed -i s/\"1\"/\"8\"/1 /usr/share/man/man8/chroot.8</userinput></screen>
+sed -i 's/"1"/"8"' /usr/share/man/man8/chroot.8</userinput></screen>
 
     <para revision="sysv">Some of the scripts in the LFS-Bootscripts package
     depend on <command>head</command>, <command>nice</command>,
@@ -190,6 +184,17 @@ sed -i s/\"1\"/\"8\"/1 /usr/share/man/man8/chroot.8</userinput></screen>
       <?dbfo list-presentation="list"?>
       <?dbhtml list-presentation="table"?>
 
+      <varlistentry id="lbracket">
+        <term><command>[</command></term>
+        <listitem>
+          <para>Is an actual command, /usr/bin/[, that is a synonym
+          for the <command>test</command> command.</para>
+          <indexterm zone="ch-system-coreutils lbracket">
+            <primary sortas="b-111">[</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
       <varlistentry id="base32">
         <term><command>base32</command></term>
         <listitem>

+ 8 - 8
chapter08/e2fsprogs.xml

@@ -23,7 +23,7 @@
   <sect2 role="package">
     <title/>
 
-    <para>The E2fsprogs package contains the utilities for handling the
+    <para>The e2fsprogs package contains the utilities for handling the
     <systemitem class="filesystem">ext2</systemitem> file system. It also
     supports the <systemitem class="filesystem">ext3</systemitem> and
     <systemitem class="filesystem">ext4</systemitem> journaling
@@ -44,13 +44,13 @@
   <sect2 role="installation">
     <title>Installation of E2fsprogs</title>
 
-    <para>The E2fsprogs documentation recommends that the package be built in
+    <para>The e2fsprogs documentation recommends that the package be built in
     a subdirectory of the source tree: </para>
 
 <screen><userinput remap="pre">mkdir -v build
 cd       build</userinput></screen>
 
-    <para>Prepare E2fsprogs for compilation:</para>
+    <para>Prepare e2fsprogs for compilation:</para>
 
 <screen><userinput remap="configure">../configure --prefix=/usr           \
              --bindir=/bin           \
@@ -62,7 +62,7 @@ cd       build</userinput></screen>
              --disable-fsck</userinput></screen>
 
     <variablelist>
-      <title>The meaning of the environment variable and configure options:</title>
+      <title>The meaning of the configure options:</title>
 
       <varlistentry>
         <term><parameter>--with-root-prefix=""</parameter> and
@@ -74,7 +74,7 @@ cd       build</userinput></screen>
           programs still need to be available. They belong in directories
           like <filename class="directory">/lib</filename> and <filename
           class="directory">/sbin</filename>. If this option is not passed
-          to E2fsprogs' configure, the programs are installed into the
+          to configure, the programs are installed into the
           <filename class="directory">/usr</filename> directory.</para>
         </listitem>
       </varlistentry>
@@ -90,11 +90,11 @@ cd       build</userinput></screen>
       <varlistentry>
         <term><parameter>--disable-*</parameter></term>
         <listitem>
-          <para>This prevents E2fsprogs from building and installing the
+          <para>This prevents e2fsprogs from building and installing the
           <systemitem class="library">libuuid</systemitem> and
           <systemitem class="library">libblkid</systemitem> libraries, the
           <systemitem class="daemon">uuidd</systemitem> daemon, and the
-          <command>fsck</command> wrapper, as Util-Linux installs more
+          <command>fsck</command> wrapper, as util-linux installs more
           recent versions.</para>
         </listitem>
       </varlistentry>
@@ -109,7 +109,7 @@ cd       build</userinput></screen>
 
 <screen><userinput remap="test">make check</userinput></screen>
 
-    <para>One of the E2fsprogs tests will attempt to allocate 256 MB of memory.
+    <para>One of the e2fsprogs tests will attempt to allocate 256 MB of memory.
     If you do not have significantly more RAM than this, be sure to enable
     sufficient swap space for the test. See <xref
     linkend="ch-partitioning-creatingfilesystem"/> and <xref

+ 1 - 1
chapter08/expat.xml

@@ -43,7 +43,7 @@
 
     <para>First fix a problem with the regression tests in the LFS environment:</para>
 
-<screen><userinput remap="pre">sed -i 's|usr/bin/env |bin/|' run.sh.in</userinput></screen>
+<screen><userinput remap="pre">sed -i 's:usr/bin/env :bin/:' run.sh.in</userinput></screen>
 
     <para>Prepare Expat for compilation:</para>
 

+ 11 - 19
chapter08/gcc.xml

@@ -65,9 +65,9 @@ cd       build</userinput></screen>
              --disable-bootstrap      \
              --with-system-zlib</userinput></screen>
 
-    <para>Note that for other languages, there are some prerequisites that
+    <para>Note that for other programming languages there are some prerequisites that
     are not yet available. See the
-    <ulink url="&blfs-book;general/gcc.html">BLFS Book</ulink>
+    <ulink url="&blfs-book;general/gcc.html">BLFS Book GCC page</ulink>
     for instructions on how to build all of GCC's supported languages.</para>
 
     <variablelist>
@@ -77,7 +77,7 @@ cd       build</userinput></screen>
         <term><parameter>LD=ld</parameter></term>
         <listitem>
           <para>This parameter makes the configure script use the ld installed
-          by the binutils installed earlier in this chapter, rather than
+          by the binutils built earlier in this chapter, rather than
           the cross-built version which would otherwise be used.</para>
         </listitem>
       </varlistentry>
@@ -86,7 +86,7 @@ cd       build</userinput></screen>
         <term><parameter>--with-system-zlib</parameter></term>
         <listitem>
           <para>This switch tells GCC to link to the system installed copy of
-          the Zlib library, rather than its own internal copy.</para>
+          the zlib library, rather than its own internal copy.</para>
         </listitem>
       </varlistentry>
     </variablelist>
@@ -100,8 +100,8 @@ cd       build</userinput></screen>
       critical. Do not skip it under any circumstance.</para>
     </important>
 
-   <para>One set of tests in the GCC test suite is known to exhaust the stack,
-   so increase the stack size prior to running the tests:</para>
+   <para>One set of tests in the GCC test suite is known to exhaust the default
+   stack, so increase the stack size prior to running the tests:</para>
 
 <screen><userinput remap="test">ulimit -s 32768</userinput></screen>
 
@@ -175,7 +175,7 @@ ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/&gcc-version;/liblto_plugin.so \
 
     <para>Now that our final toolchain is in place, it is important to again ensure
     that compiling and linking will work as expected. We do this by performing
-    the same sanity checks as we did earlier in the chapter:</para>
+    some sanity checks:</para>
 
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
     href="adjusting.xml"
@@ -205,8 +205,8 @@ ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/&gcc-version;/liblto_plugin.so \
 /usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crti.o succeeded
 /usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/../../../../lib/crtn.o succeeded</computeroutput></screen>
 
-  <para>Depending on your machine architecture, the above may differ slightly,
-  the difference usually being the name of the directory
+  <para>Depending on your machine architecture, the above may differ slightly.
+  The difference will be the name of the directory
   after <filename class="directory">/usr/lib/gcc</filename>. The important
   thing to look for here is that <command>gcc</command> has found all three
   <filename>crt*.o</filename> files under the
@@ -228,16 +228,8 @@ ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/&gcc-version;/liblto_plugin.so \
  /usr/lib/gcc/x86_64-pc-linux-gnu/&gcc-version;/include-fixed
  /usr/include</computeroutput></screen>
 
-   <para>Again, note that the directory named after your target triplet may be
-   different than the above, depending on your architecture.</para>
-
-<!--  This appears to be obsolete
-
-    <note><para>As of version 4.3.0, GCC now unconditionally installs the
-    <filename>limits.h</filename> file into the private
-    <filename class="directory">include-fixed</filename> directory, and that
-    directory is required to be in place.</para></note>
--->
+   <para>Again, the directory named after your target triplet may be
+   different than the above, depending on your system architecture.</para>
 
     <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
     href="adjusting.xml"

+ 3 - 3
chapter08/gdbm.xml

@@ -24,7 +24,7 @@
     <title/>
 
     <para>The GDBM package contains the GNU Database Manager.  It is a library
-    of database functions that use extensible hashing and work similar to the
+    of database functions that use extensible hashing and works similar to the
     standard UNIX dbm.  The library provides primitives for storing key/data
     pairs, searching and retrieving the data by its key and deleting a key
     along with its data. </para>
@@ -60,8 +60,8 @@
       <varlistentry>
         <term><envar>--enable-libgdbm-compat</envar></term>
         <listitem>
-          <para>This switch enables the libgdbm compatibility library to be
-          built, as some packages outside of LFS may require the older DBM
+          <para>This switch enables building the libgdbm compatibility library.
+          Some packages outside of LFS may require the older DBM
           routines it provides.</para>
         </listitem>
       </varlistentry>

+ 4 - 28
chapter08/gettext.xml

@@ -43,31 +43,6 @@
   <sect2 role="installation">
     <title>Installation of Gettext</title>
 
-   <!-- This has been fixed in upstream gnulib, when a new version of
-   gettext is released, please check #4055 to see if the change has been
-   picked up in this package 
-   
-   As of April 11, 2018, 'TESTS = test-lock' is in gettext-runtime/tests/Makefile.am
-   Perhaps the test is fixed.
-
-   There is no reference to 'test' or TEST in  gettext-tools/gnulib-tests/Makefile.am
-   -->
-   <!--
-   <para>First, suppress two invocations of test-lock which on some machines
-   can loop forever:</para>
-
-<screen><userinput remap="pre">sed -i '/^TESTS =/d' gettext-runtime/tests/Makefile.in &amp;&amp;
-sed -i 's/test-lock..EXEEXT.//' gettext-tools/gnulib-tests/Makefile.in</userinput></screen>-->
-
-   <!-- As of April 11, 2018 appdata.* is NOT in git master, but appears
-   to be in metainfo.{its,loc},  When updating, check BLFS gnome-screenshot. -->
-
-<!--
-   <para>Now fix a configuration file:</para>
-
-<screen><userinput remap="pre">sed -e '/AppData/{N;N;p;s/\.appdata\./.metainfo./}' \
-    -i gettext-tools/its/appdata.loc</userinput></screen>
--->
     <para>Prepare Gettext for compilation:</para>
 
 <screen><userinput remap="configure">./configure --prefix=/usr    \
@@ -76,8 +51,9 @@ sed -i 's/test-lock..EXEEXT.//' gettext-tools/gnulib-tests/Makefile.in</userinpu
 
     <para>Compile the package:</para>
 
-<screen><userinput remap="make">make BISON_LOCALEDIR=/usr/share/locale</userinput></screen>
-
+<!--<screen><userinput remap="make">make BISON_LOCALEDIR=/usr/share/locale</userinput></screen>-->
+<screen><userinput remap="make">make</userinput></screen>
+<!--
    <variablelist>
       <title>The meaning of the make parameter:</title>
 
@@ -92,7 +68,7 @@ sed -i 's/test-lock..EXEEXT.//' gettext-tools/gnulib-tests/Makefile.in</userinpu
       </varlistentry>
 
     </variablelist>
-
+-->
     <para>To test the results (this takes a long time, around 3 SBUs),
     issue:</para>
 

+ 6 - 44
chapter08/glibc.xml

@@ -49,34 +49,7 @@
     store their runtime data in the FHS-compliant locations:</para>
 
 <screen><userinput remap="pre">patch -Np1 -i ../&glibc-fhs-patch;</userinput></screen>
-<!--
-    <para>Fix a minor security issue with glob functions:</para>
-
-<screen><userinput remap="pre">patch -Np1 -i ../&glibc-glob-patch;</userinput></screen>
--->
-<!-- No longer needed
-    <para>Fix a problem introduced with the linux-5.2 kernel:</para>
-
-<screen><userinput remap="pre">sed -i '/asm.socket.h/a# include &lt;linux/sockios.h&gt;' \
-   sysdeps/unix/sysv/linux/bits/socket.h</userinput></screen>
-=== already done ===
-    <para>Create a symlink for LSB
-    compliance. Additionally, for x86_64, create a compatibility symlink
-    required for the dynamic loader to function correctly:</para>
-
-<screen><userinput remap="pre">case $(uname -m) in
-    i?86)   ln -sfv ld-linux.so.2 /lib/ld-lsb.so.3
-    ;;
-    x86_64) ln -sfv ../lib/ld-linux-x86-64.so.2 /lib64
-            ln -sfv ../lib/ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so.3
-    ;;
-esac</userinput></screen>
-
-    <para>Remove a file that may be left over from a previous build attempt:
-    </para>
 
-<screen><userinput remap="pre">rm -f /usr/include/limits.h</userinput></screen>
--->
     <para>The Glibc documentation recommends building Glibc 
     in a dedicated build directory:</para>
 
@@ -94,7 +67,7 @@ cd       build</userinput></screen>
   <!-- WIP -->
     <variablelist>
       <title>The meaning of the options and new configure parameters:</title>
-
+<!--
       <varlistentry>
         <term><parameter>CC="gcc -ffile-prefix-map=$LFS_DIR=$DIR"</parameter></term>
         <listitem>
@@ -106,7 +79,7 @@ cd       build</userinput></screen>
           symbols.</para>
         </listitem>
       </varlistentry>
-
+-->
       <varlistentry>
         <term><parameter>--disable-werror</parameter></term>
         <listitem>
@@ -176,7 +149,7 @@ esac</userinput></screen>
         <para><emphasis>misc/tst-ttyname</emphasis> 
         is known to fail in the LFS chroot environment.</para>
       </listitem>
-
+<!--
       <listitem>
         <para><emphasis>inet/tst-idna_name_classify</emphasis> 
         is known to fail in the LFS chroot environment.</para>
@@ -187,7 +160,7 @@ esac</userinput></screen>
         <emphasis>posix/tst-getaddrinfo5</emphasis>
         may fail on some architectures.</para>
       </listitem>
-
+-->
       <listitem>
         <para>The <emphasis>nss/tst-nss-files-hosts-multi</emphasis>
         test may fail for reasons that have not been determined.</para>
@@ -206,18 +179,7 @@ esac</userinput></screen>
         systems where the CPU is not a relatively new Intel or
         AMD processor.</para>
       </listitem>
-<!--
-      <listitem>
-        <para>The
-        <emphasis>nptl/tst-thread-affinity-{pthread,pthread2,sched}</emphasis>
-        tests may fail for reasons that have not been determined.  </para>
-      </listitem>
 
-      <listitem>
-        <para>Other tests known to fail on some architectures are
-        malloc/tst-malloc-usable and nptl/tst-cleanupx4. </para>
-      </listitem>
--->
     </itemizedlist>
 
     <para>Though it is a harmless message, the install stage of Glibc will
@@ -382,7 +344,7 @@ unset ZONEINFO</userinput></screen>
       <varlistentry>
         <term><parameter>zic -L /dev/null ...</parameter></term>
         <listitem>
-          <para>This creates posix time zones, without any leap seconds.  It is
+          <para>This creates posix time zones without any leap seconds.  It is
           conventional to put these in both
           <filename class="directory">zoneinfo</filename> and
           <filename class="directory">zoneinfo/posix</filename>. It is
@@ -390,7 +352,7 @@ unset ZONEINFO</userinput></screen>
           <filename class="directory">zoneinfo</filename>, otherwise various
           test-suites will report errors. On an embedded system, where space is
           tight and you do not intend to ever update the time zones, you could save
-          1.9MB by not using the <filename class="directory">posix</filename>
+          1.9 MB by not using the <filename class="directory">posix</filename>
           directory, but some applications or test-suites might produce some
           failures.</para>
         </listitem>

+ 0 - 3
chapter08/gzip.xml

@@ -53,9 +53,6 @@
 
 <screen><userinput remap="test">make check</userinput></screen>
 
-    <para>Two tests are known to fail in the LFS environment:
-    help-version and zmore.</para>
-
     <para>Install the package:</para>
 
 <screen><userinput remap="install">make install</userinput></screen>

+ 4 - 0
chapter08/intltool.xml

@@ -45,6 +45,10 @@
 
 <screen><userinput remap="pre">sed -i 's:\\\${:\\\$\\{:' intltool-update.in</userinput></screen>
 
+    <note><para>The above regular expression looks unusual because of all the
+    baxkslashes.  What it does is add a backslash before the right brace
+    character in the sequence '\${' resulting in '\$\{'.</para></note>
+
     <para>Prepare Intltool for compilation:</para>
 
 <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>

+ 9 - 9
chapter08/introduction.xml

@@ -10,9 +10,8 @@
 
   <title>Introduction</title>
 
-  <para>In this chapter, we enter the building site and start constructing the
-  LFS system in earnest. That is, we chroot into the temporary mini Linux system,
-  make a few final preparations, and then begin installing the packages.</para>
+  <para>In this chapter, we start constructing the LFS system in earnest.
+  </para>
 
   <para>The installation of this software is straightforward. Although in many
   cases the installation instructions could be made shorter and more generic,
@@ -41,25 +40,26 @@
   contains, approximately how long it will take to build, and how much disk
   space is required during this building process. Following the installation
   instructions, there is a list of programs and libraries (along with brief
-  descriptions of these) that the package installs.</para>
+  descriptions) that the package installs.</para>
 
-  <note><para>The SBU values and required disk space includes
-  test suite data for all applicable packages in
-  <xref linkend="chapter-building-system"/>.</para></note>
+  <note><para>The SBU values and required disk space includes test suite data
+  for all applicable packages in <xref linkend="chapter-building-system"/>. SBU
+  values have been calculated using a single CPU core (-j1) for all
+  operations.</para></note>
 
   <sect2>
     <title>About libraries</title>
 
     <para>In general, the LFS editors discourage building and installing static
     libraries.  The original purpose for most static libraries has been made
-    obsolete in a modern Linux system.  In addition linking a static library
+    obsolete in a modern Linux system.  In addition, linking a static library
     into a program can be detrimental.  If an update to the library is needed
     to remove a security problem, all programs that use the static library will
     need to be relinked to the new library.  Since the use of static libraries
     is not always obvious, the relevant programs (and the procedures needed to
     do the linking) may not even be known.</para>
 
-    <para>In the procedures in Chapter&nbsp;6, we remove or disable installation of
+    <para>In the procedures in this chapter, we remove or disable installation of
     most static libraries. Usually this is done by passing a
     <option>--disable-static</option> option to <command>configure</command>.
     In other cases, alternate means are needed. In a few cases, especially

+ 2 - 2
chapter08/iproute2.xml

@@ -47,14 +47,14 @@
     be installed. Prevent this by running the commands below. 
     If the <command>arpd</command> binary is needed,
     instructions for compiling Berkeley DB can be found in the BLFS Book at
-    <ulink url="&blfs-book;server/databases.html#db"/>.
+    <ulink url="&blfs-book;server/db.html"/>.
     </para>
 
 <screen><userinput remap="pre">sed -i /ARPD/d Makefile
 rm -fv man/man8/arpd.8</userinput></screen>
 
     <para>It is also necessary to disable building two modules that 
-    requires <ulink url="&blfs-book;postlfs/iptables.html"/>.</para>
+    require <ulink url="&blfs-book;postlfs/iptables.html"/>.</para>
 
 <screen><userinput remap="pre">sed -i 's/.m_ipt.o//' tc/Makefile</userinput></screen>
 

+ 7 - 7
chapter08/kbd.xml

@@ -41,21 +41,21 @@
   <sect2 role="installation">
     <title>Installation of Kbd</title>
 
-    <para>The behaviour of the Backspace and Delete keys is not consistent
+    <para>The behaviour of the backspace and delete keys is not consistent
     across the keymaps in the Kbd package. The following patch fixes this
     issue for i386 keymaps:</para>
 
 <screen><userinput remap="pre">patch -Np1 -i ../&kbd-backspace-patch;</userinput></screen>
 
-    <para>After patching, the Backspace key generates the character with code 127,
-    and the Delete key generates a well-known escape sequence.</para>
+    <para>After patching, the backspace key generates the character with code 127,
+    and the delete key generates a well-known escape sequence.</para>
 
     <para>Remove the redundant <command>resizecons</command> program (it requires
     the defunct svgalib to provide the video mode files - for normal use
     <command>setfont</command> sizes the console appropriately) together with its
     manpage.</para>
 
-<screen><userinput remap="pre">sed -i 's/\(RESIZECONS_PROGS=\)yes/\1no/g' configure
+<screen><userinput remap="pre">sed -i '/RESIZECONS_PROGS=/s/yes/no/' configure
 sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in</userinput></screen>
 
     <para>Prepare Kbd for compilation:</para>
@@ -63,12 +63,12 @@ sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in</userinput></screen>
 <screen><userinput remap="configure">./configure --prefix=/usr --disable-vlock</userinput></screen>
 
     <variablelist>
-      <title>The meaning of the configure options:</title>
+      <title>The meaning of the configure option:</title>
 
       <varlistentry>
         <term><parameter>--disable-vlock</parameter></term>
         <listitem>
-          <para>This option prevents the vlock utility from being built, as it
+          <para>This option prevents the vlock utility from being built because it
           requires the PAM library, which isn't available in the chroot
           environment.</para>
        </listitem>
@@ -97,7 +97,7 @@ sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in</userinput></screen>
 
     <para>If desired, install the documentation:</para>
 
-<screen><userinput remap="install">mkdir -v       /usr/share/doc/kbd-&kbd-version;
+<screen><userinput remap="install">mkdir -v            /usr/share/doc/kbd-&kbd-version;
 cp -R -v docs/doc/* /usr/share/doc/kbd-&kbd-version;</userinput></screen>
 
   </sect2>

+ 1 - 6
chapter08/kmod.xml

@@ -78,12 +78,7 @@
     LFS chroot environment.  At a minimum the git program is required and
     several tests will not run outside of a git repository. </para>
 
-<!--
-    <para>To test the results, issue:</para>
-
-<screen><userinput remap="test">make check</userinput></screen>
--->
-    <para>Install the package, and create symlinks for
+    <para>Install the package and create symlinks for
     compatibility with Module-Init-Tools (the package that previously handled
     Linux kernel modules):</para>
 

+ 1 - 14
chapter08/libffi.xml

@@ -49,18 +49,7 @@
       If this is not done, all applications that link to libffi will trigger
       Illegal Operation Errors.</para>
     </note>
-<!--
-    <para>Modify the Makefile to install headers into the standard
-    <filename class="directory">/usr/include</filename> directory instead of
-    <filename class="directory">/usr/lib/libffi-&libffi-version;/include</filename>.</para>
-
-<screen><userinput remap="pre">sed -e '/^includesdir/ s/$(libdir).*$/$(includedir)/' \
-    -i include/Makefile.in
-
-sed -e '/^includedir/ s/=.*$/=@includedir@/' \
-    -e 's/^Cflags: -I${includedir}/Cflags:/' \
-    -i libffi.pc.in</userinput></screen>
--->
+
     <para>Prepare libffi for compilation:</para>
 
 <screen><userinput remap="configure">./configure --prefix=/usr --disable-static --with-gcc-arch=native</userinput></screen>
@@ -92,8 +81,6 @@ sed -e '/^includedir/ s/=.*$/=@includedir@/' \
 
 <screen><userinput remap="test">make check</userinput></screen>
 
-    <para>Six tests, all related to test-callback.c, are known to fail.</para>
-
     <para>Install the package:</para>
 
 <screen><userinput remap="install">make install</userinput></screen>

+ 3 - 3
chapter08/m4.xml

@@ -40,7 +40,7 @@
   <sect2 role="installation">
     <title>Installation of M4</title>
 
-    <para>First, make some fixes required by glibc-2.28:</para>
+    <para>First, make some fixes required by glibc-2.28 and later:</para>
 
 <screen><userinput remap="pre">sed -i 's/IO_ftrylockfile/IO_EOF_SEEN/' lib/*.c
 echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h</userinput></screen>
@@ -84,13 +84,13 @@ echo "#define _IO_IN_BACKUP 0x100" >> lib/stdio-impl.h</userinput></screen>
         <term><command>m4 </command></term>
         <listitem>
           <para>Copies the given files while expanding the macros that they
-          contain [These macros are either built-in or user-defined and can
+          contain. These macros are either built-in or user-defined and can
           take any number of arguments. Besides performing macro expansion,
           <command>m4</command> has built-in functions for including named
           files, running Unix commands, performing integer arithmetic,
           manipulating text, recursion, etc. The <command>m4</command> program
           can be used either as a front-end to a compiler or as a macro processor
-          in its own right.]</para>
+          in its own right.</para>
           <indexterm zone="ch-system-m4 m4">
             <primary sortas="b-m4">m4</primary>
           </indexterm>

+ 1 - 3
chapter08/make.xml

@@ -53,9 +53,7 @@
 
 <screen><userinput remap="make">make</userinput></screen>
 
-    <para>The test suite needs to know where supporting perl files are located.
-    We use an environment variable to accomplish this.  To test the 
-    results, issue:</para>
+    <para>To test the results, issue:</para>
 
 <screen><userinput remap="test">make check</userinput></screen>
 

+ 0 - 11
chapter08/man-db.xml

@@ -126,21 +126,10 @@
 
 <screen><userinput remap="test">make check</userinput></screen>
 
-    <para>One test, man-missing-locales, is known to fail in the LFS chroot envirnment.</para>
-
     <para>Install the package:</para>
 
 <screen><userinput remap="install">make install</userinput></screen>
-<!--
-    <para revision="sysv">Remove an unwanted directory used for service files
-    which would cause some BLFS packages to also install files there: </para>
-
-<screen revision="sysv"><userinput remap="install">rm -rfv /lib/systemd</userinput></screen>
-
-    <para revision="systemd">Remove a reference to a non-existent user:</para>
 
-<screen revision="systemd"><userinput remap="install">sed -i "s:man man:root root:g" /usr/lib/tmpfiles.d/man-db.conf</userinput></screen>
--->
   </sect2>
 
   <sect2>

+ 4 - 8
chapter08/meson.xml

@@ -23,8 +23,8 @@
   <sect2 role="package">
     <title/>
 
-    <para>Meson is an open source build system meant to be both extremely fast,
-    and, even more importantly, as user friendly as possible.</para>
+    <para>Meson is an open source build system meant to be both extremely fast
+    and as user friendly as possible.</para>
 
     <segmentedlist>
       <segtitle>&buildtime;</segtitle>
@@ -39,11 +39,7 @@
 
   <sect2 role="installation">
     <title>Installation of Meson</title>
-<!--
-    <para>Apply a fix from upstream to fix a regression:</para>
 
-<screen><userinput remap="pre">sed -i "s@isfile(a)@&amp; and not a.startswith('/dev')@" mesonbuild/interpreter.py</userinput></screen>
--->
     <para>Compile Meson with the following command:</para>
 
 <screen><userinput remap="make">python3 setup.py build</userinput></screen>
@@ -64,8 +60,8 @@ cp -rv dest/* /</userinput></screen>
           <para>By default <command>python3 setup.py install</command>
           installs various files (such as man pages) into Python Eggs.
           With a specified root location, <command>setup.py</command> installs
-          these files into a standard hierarchy.  Then we can just copy
-          the hierarchy so the files will be in the standard location.
+          these files into a standard hierarchy.  Then the hierarchy
+          can just be copied to the standard location.
         </para>
         </listitem>
       </varlistentry>

+ 1 - 6
chapter08/openssl.xml

@@ -25,7 +25,7 @@
 
     <para>The OpenSSL package contains  management tools and libraries relating
     to cryptography. These are useful for providing cryptographic functions
-    to other packages, such as OpenSSH, email applications and web browsers
+    to other packages, such as OpenSSH, email applications, and web browsers
     (for accessing HTTPS sites).  </para>
 
     <segmentedlist>
@@ -42,12 +42,7 @@
 
   <sect2 role="installation">
     <title>Installation of OpenSSL</title>
-<!--
-    <para>First, fix a problem identified upstream:</para>
 
-<screen><userinput remap="pre">sed -i '/\} data/s/ =.*$/;\n    memset(\&amp;data, 0, sizeof(data));/' \
-  crypto/rand/rand_lib.c</userinput></screen>
--->
     <para>Prepare OpenSSL for compilation:</para>
 
 <screen><userinput remap="configure">./config --prefix=/usr         \

+ 2 - 2
chapter08/patch.xml

@@ -79,10 +79,10 @@
       <varlistentry id="patch">
         <term><command>patch</command></term>
         <listitem>
-          <para>Modifies files according to a patch file [A patch file is
+          <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>
+          <command>patch</command> creates the patched versions.)</para>
           <indexterm zone="ch-system-patch patch">
             <primary sortas="b-patch">patch</primary>
           </indexterm>

+ 3 - 3
chapter08/pkgconfig.xml

@@ -23,9 +23,9 @@
   <sect2 role="package">
     <title/>
 
-    <para> The pkg-config package contains a tool for passing the include path
-    and/or library paths to build tools during the configure and make file
-    execution.</para>
+    <para>The pkg-config package contains a tool for passing the include path
+    and/or library paths to build tools during the configure and make phases
+    of package installations.</para>
 
     <segmentedlist>
       <segtitle>&buildtime;</segtitle>

+ 17 - 20
chapter08/pkgmgt.xml

@@ -45,36 +45,33 @@
     <title>Upgrade Issues</title>
 
     <para>A Package Manager makes it easy to upgrade to newer versions when they
-    are released. Generally the instructions in the LFS and BLFS Book can be
+    are released. Generally the instructions in the LFS and BLFS books can be
     used to upgrade to the newer versions. Here are some points that you should
     be aware of when upgrading packages, especially on a running system.</para>
 
     <itemizedlist>
       <listitem>
         <para>If Glibc needs to be upgraded to a newer version, (e.g.  from
-        glibc-2.19 to glibc-2.20), it is safer to rebuild LFS.  Though you
+        glibc-2.31 to glibc-2.32), it is safer to rebuild LFS.  Though you
         <emphasis>may</emphasis> be able to rebuild all the packages in their
         dependency order, we do not recommend it.  </para>
       </listitem>
 
-      <listitem>
-        <para>If a package containing a shared library is updated, and if the
-        name of the library changes, then all the packages dynamically linked
-        to the library need to be recompiled to link against the newer library.
-        (Note that there is no correlation between the package version and the
-        name of the library.) For example, consider a package foo-1.2.3 that
-        installs a shared library with name
-        <filename class='libraryfile'>libfoo.so.1</filename>. Say you upgrade
-        the package to a newer version foo-1.2.4 that installs a shared library
-        with name <filename class='libraryfile'>libfoo.so.2</filename>. In this
-        case, all packages that are dynamically linked to
-        <filename class='libraryfile'>libfoo.so.1</filename> need to be
-        recompiled to link against
-        <filename class='libraryfile'>libfoo.so.2</filename>. Note that you
-        should not remove the previous libraries until the dependent packages
-        are recompiled.</para>
-      </listitem>
-    </itemizedlist>
+      <listitem> <para>If a package containing a shared library is updated, and
+      if the name of the library changes, then any the packages dynamically
+      linked to the library need to be recompiled in order to link against the
+      newer library.  (Note that there is no correlation between the package
+      version and the name of the library.) For example, consider a package
+      foo-1.2.3 that installs a shared library with name <filename
+      class='libraryfile'>libfoo.so.1</filename>. If you upgrade the package to
+      a newer version foo-1.2.4 that installs a shared library with name
+      <filename class='libraryfile'>libfoo.so.2</filename>. In this case, any
+      packages that are dynamically linked to <filename
+      class='libraryfile'>libfoo.so.1</filename> need to be recompiled to link
+      against <filename class='libraryfile'>libfoo.so.2</filename> in order to
+      use the new library version. You should not remove the previous
+      libraries unless all the dependent packages are recompiled.</para>
+      </listitem> </itemizedlist>
 
   </sect2>
 

+ 1 - 1
chapter08/procps.xml

@@ -58,7 +58,7 @@
             --with-systemd</userinput></screen>
 
     <variablelist>
-      <title>The meaning of the configure options:</title>
+      <title>The meaning of the configure option:</title>
 
       <varlistentry>
         <term><parameter>--disable-kill</parameter></term>

+ 5 - 18
chapter08/python.xml

@@ -25,7 +25,7 @@
 
     <para>The Python 3 package contains the Python development environment. It
     is useful for object-oriented programming, writing scripts, prototyping
-    large programs or developing entire applications.</para>
+    large programs, or developing entire applications.</para>
 
     <segmentedlist>
       <segtitle>&buildtime;</segtitle>
@@ -84,7 +84,7 @@
 <screen><userinput remap="make">make</userinput></screen>
 
     <para>To test the results, issue <command>make test</command>.
-    Some tests requiring network connection or additional packages are
+    Some tests requiring a network connection or additional packages are
     skipped.  The test named test_normalization fails because network
     configuration is not completed yet.  For more comprehensive results,
     the test can be rerun when Python 3 is reinstalled in BLFS.</para>
@@ -170,8 +170,8 @@ tar --strip-components=1  \
           <para>
             is a <application>Python</application> program that reads
             <application>Python 2.x</application> source code and applies a
-            series of fixes to transform it into valid
-            <application>Python 3.x</application> code.
+            series of fixes to transform it into 
+            valid <application>Python 3.x</application> code.
           </para>
           <indexterm zone="ch-system-Python">
             <primary sortas="b-2to3">2to3</primary>
@@ -231,20 +231,7 @@ tar --strip-components=1  \
           </indexterm>
         </listitem>
       </varlistentry>
-<!--
-      <varlistentry id="pyvenv">
-        <term><command>pyvenv</command></term>
-        <listitem>
-          <para>
-            creates virtual <application>Python</application> environments in
-            one or more target directories.
-          </para>
-          <indexterm zone="ch-system-Python">
-            <primary sortas="b-pyvenv">pyvenv</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
--->
+
     </variablelist>
 
   </sect2>

+ 6 - 4
chapter08/shadow.xml

@@ -67,13 +67,15 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /'   {} \;</userinput></s
     for user mailboxes that Shadow uses by default to the <filename
     class="directory">/var/mail</filename> location used currently:</para>
 
-<screen><userinput remap="pre">sed -i -e 's@#ENCRYPT_METHOD DES@ENCRYPT_METHOD SHA512@' \
-       -e 's@/var/spool/mail@/var/mail@' etc/login.defs</userinput></screen>
+<screen><userinput remap="pre">
+sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD SHA512:' \
+    -e 's:/var/spool/mail:/var/mail:'                 \
+    -i etc/login.defs</userinput></screen>
 
     <note>
       <para>If you chose to build Shadow with Cracklib support, run the following:</para>
 
-<screen role="nodump"><userinput>sed -i 's@DICTPATH.*@DICTPATH\t/lib/cracklib/pw_dict@' etc/login.defs</userinput></screen>
+<screen role="nodump"><userinput>sed -i 's:DICTPATH.*:DICTPATH\t/lib/cracklib/pw_dict:' etc/login.defs</userinput></screen>
     </note>
 
     <para>Make a minor change to make the first group number generated
@@ -84,7 +86,7 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /'   {} \;</userinput></s
     <para>Prepare Shadow for compilation:</para>
 
 <screen><userinput remap="configure">touch /usr/bin/passwd
-./configure --sysconfdir=/etc               \
+./configure --sysconfdir=/etc \
             --with-group-name-max-length=32</userinput></screen>
 
     <variablelist>

+ 1 - 1
chapter08/sysklogd.xml

@@ -23,7 +23,7 @@
   <sect2 role="package">
     <title/>
 
-    <para>The Sysklogd package contains programs for logging system messages,
+    <para>The sysklogd package contains programs for logging system messages,
     such as those given by the kernel when unusual things happen.</para>
 
     <segmentedlist>

+ 3 - 3
chapter08/tar.xml

@@ -23,8 +23,8 @@
   <sect2 role="package">
     <title/>
 
-    <para>The Tar package provides the ability to create tar archives, as well
-    as various other kinds of manipulation.  Tar can be used on
+    <para>The Tar package provides the ability to create tar archives as well
+    as perform various other kinds of archive manipulation.  Tar can be used on
     previously created archives to extract files, to store additional files, or
     to update or list files which were already stored. </para>
 
@@ -50,7 +50,7 @@
             --bindir=/bin</userinput></screen>
 
     <variablelist>
-      <title>The meaning of the configure options:</title>
+      <title>The meaning of the configure option:</title>
 
       <varlistentry>
         <term><envar>FORCE_UNSAFE_CONFIGURE=1</envar></term>

+ 5 - 5
chapter08/texinfo.xml

@@ -46,7 +46,7 @@
 <screen><userinput remap="configure">./configure --prefix=/usr --disable-static</userinput></screen>
 
     <variablelist>
-      <title>The meaning of the configure options:</title>
+      <title>The meaning of the configure option:</title>
 
       <varlistentry>
         <term><parameter>--disable-static</parameter></term>
@@ -101,10 +101,10 @@
     recreated, the following optional commands will accomplish the task:</para>
 
 <screen role="nodump"><userinput>pushd /usr/share/info
-rm -v dir
-for f in *
-  do install-info $f dir 2&gt;/dev/null
-done
+  rm -v dir
+  for f in *
+    do install-info $f dir 2&gt;/dev/null
+  done
 popd</userinput></screen>
 
   </sect2>

+ 1 - 1
chapter08/util-linux.xml

@@ -90,7 +90,7 @@
 
     <warning><para>Running the test suite as the root user can be harmful to
     your system.  To run it, the CONFIG_SCSI_DEBUG option for the kernel must
-    be available in the currently running system, and must be built as a
+    be available in the currently running system and must be built as a
     module.  Building it into the kernel will prevent booting.  For complete
     coverage, other BLFS packages must be installed.  If desired, this test can
     be run after rebooting into the completed LFS system and running:</para>

+ 12 - 22
chapter08/vim.xml

@@ -54,11 +54,7 @@
 
 <screen><userinput remap="pre">echo '#define SYS_VIMRC_FILE "/etc/vimrc"' &gt;&gt; src/feature.h</userinput></screen>
 
-<!--    <para>Disable a test that fails:</para>
-
-<screen><userinput remap="pre">sed -i '/call/{s/split/xsplit/;s/303/492/}' src/testdir/test_recover.vim</userinput></screen>
--->
-    <para>Prepare Vim for compilation:</para>
+    <para>Prepare vim for compilation:</para>
 
 <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
 
@@ -66,19 +62,17 @@
 
 <screen><userinput remap="make">make</userinput></screen>
 
-    <para>To prepare the tests, ensure that the 
-    <systemitem class="username">tester</systemitem> user can write 
-    to the sources tree:</para>
+    <para>To prepare the tests, ensure that user 
+    <systemitem class="username">tester</systemitem> can write 
+    to the source tree:</para>
 
 <screen><userinput remap="test">chown -Rv tester .</userinput></screen>
 
-    <para>Now run the tests as the <systemitem
-    class="username">tester</systemitem> user:</para>
+    <para>Now run the tests as user <systemitem
+    class="username">tester</systemitem>:</para>
 
 <screen><userinput remap="test">su tester -c "LANG=en_US.UTF-8 make -j1 test" &amp;> vim-test.log</userinput></screen>
 
-<!--<screen><userinput remap="test">LANG=en_US.UTF-8 make -j1 test &amp;&gt; vim-test.log</userinput></screen>-->
-
     <para>The test suite outputs a lot of binary data to the screen.  This can
     cause issues with the settings of the current terminal.  The problem can be
     avoided by redirecting the output to a log file as shown above.  A
@@ -100,7 +94,7 @@ for L in  /usr/share/man/{,*/}man1/vim.1; do
     ln -sv vim.1 $(dirname $L)/vi.1
 done</userinput></screen>
 
-    <para>By default, Vim's documentation is installed in <filename
+    <para>By default, vim's documentation is installed in <filename
     class="directory">/usr/share/vim</filename>. The following symlink
     allows the documentation to be accessed via <filename
     class="directory">/usr/share/doc/vim-&vim-version;</filename>, making
@@ -109,10 +103,10 @@ done</userinput></screen>
 <screen><userinput remap="install">ln -sv ../&vim-docdir;/doc /usr/share/doc/vim-&vim-version;</userinput></screen>
 
     <para>If an X Window System is going to be installed on the LFS
-    system, it may be necessary to recompile Vim after installing X. Vim
+    system, it may be necessary to recompile vim after installing X. Vim
     comes with a GUI version of the editor that requires X and some
     additional libraries to be installed. For more information on this
-    process, refer to the Vim documentation and the Vim installation page
+    process, refer to the vim documentation and the vim installation page
     in the BLFS book at <ulink
     url="&blfs-book;postlfs/vim.html"/>.</para>
 
@@ -157,7 +151,7 @@ EOF</userinput></screen>
     vi-compatible manner. Remove the <quote>no</quote> to keep the old
     <command>vi</command> behavior. The <parameter>set backspace=2</parameter>
     setting allows backspacing over line breaks, autoindents, and the start of
-    insert. The <parameter>syntax on</parameter> parameter enables vim's syntax
+    an insert. The <parameter>syntax on</parameter> parameter enables vim's syntax
     highlighting.  The <parameter>set mouse=</parameter> setting enables
     proper pasting of text with the mouse when working in chroot or over a
     remote connection.  Finally, the <emphasis>if</emphasis> statement with the
@@ -165,18 +159,14 @@ EOF</userinput></screen>
     <command>vim</command>'s guess about the background color of some terminal
     emulators. This gives the highlighting a better color scheme for use on the
     black background of these programs.</para>
-<!--
-    <para>Creating an empty <filename>~/.vimrc</filename> prevents vim from
-    overriding settings in <filename>/etc/vimrc</filename> by using
-    <filename>/usr/share/vim/vim80/defaults.vim</filename>.</para>
--->
+
     <para>Documentation for other available options can be obtained by
     running the following command:</para>
 
 <screen role="nodump"><userinput>vim -c ':options'</userinput></screen>
 
     <note>
-      <para>By default, Vim only installs spell files for the English language.
+      <para>By default, vim only installs spell files for the English language.
       To install spell files for your preferred language, download the
       <filename>*.spl</filename> and optionally, the <filename>*.sug</filename>
       files for your language and character encoding from <ulink

+ 17 - 1
stylesheets/lfs-xsl/lfs.css

@@ -432,6 +432,12 @@ div.materials dd {
 
 .segtitle {
   float: left;
+  padding-left: 1em;
+  width: 14em;
+}
+
+.content .segtitle {
+  width: 12em;
 }
 
 .package .segbody, .appendix .segbody {
@@ -441,9 +447,19 @@ div.materials dd {
 
 .content .segbody {
   display: block;
-  padding-left: 12em;
+  padding-left: 13em;
 }
 
+.content table tr td:first-child
+{
+  width: 9em;
+  padding-right: 0px;
+}
+
+.content table tr td:first-child p
+{
+  padding-right: 0px;
+}
 
 /* itemizedlist */
 ul {