Browse Source

Bring jh branch up to speed with trunk

git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/jh/BOOK@8753 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Jeremy Huntwork 16 years ago
parent
commit
a79ca5f186
72 changed files with 906 additions and 1865 deletions
  1. 1 1
      Makefile
  2. 44 15
      appendices/dependencies.xml
  3. 7 7
      appendices/license.xml
  4. 12 12
      appendices/mit-lic.xml
  5. 8 8
      appendices/scripts.xml
  6. 3 3
      appendices/udev-rules.xml
  7. 1 1
      aux-file-data.sh
  8. 41 22
      bootscripts/ChangeLog
  9. 3 3
      bootscripts/Makefile
  10. 3 0
      bootscripts/contrib/lsb-v3/ChangeLog
  11. 0 13
      bootscripts/contrib/lsb-v3/init.d/console
  12. 2 2
      bootscripts/lfs/init.d/cleanfs
  13. 0 13
      bootscripts/lfs/init.d/console
  14. 16 4
      bootscripts/lfs/init.d/functions
  15. 13 1074
      chapter01/changelog.xml
  16. 9 9
      chapter01/how.xml
  17. 2 1
      chapter01/resources.xml
  18. 76 218
      chapter01/whatsnew.xml
  19. 1 1
      chapter03/introduction.xml
  20. 21 14
      chapter03/patches.xml
  21. 2 2
      chapter05/adjusting.xml
  22. 15 3
      chapter05/bash.xml
  23. 1 0
      chapter05/chapter05.xml
  24. 8 6
      chapter05/coreutils.xml
  25. 2 3
      chapter05/dejagnu.xml
  26. 5 0
      chapter05/e2fsprogs.xml
  27. 3 1
      chapter05/expect.xml
  28. 3 1
      chapter05/findutils.xml
  29. 18 2
      chapter05/gawk.xml
  30. 10 1
      chapter05/gcc-pass1.xml
  31. 71 0
      chapter05/generalinstructions.xml
  32. 14 3
      chapter05/grep.xml
  33. 3 1
      chapter05/gzip.xml
  34. 1 39
      chapter05/introduction.xml
  35. 11 4
      chapter05/linux-headers.xml
  36. 3 1
      chapter05/m4.xml
  37. 3 1
      chapter05/make.xml
  38. 5 1
      chapter05/ncurses.xml
  39. 5 4
      chapter05/perl.xml
  40. 3 1
      chapter05/sed.xml
  41. 2 3
      chapter05/stripping.xml
  42. 3 1
      chapter05/tar.xml
  43. 9 2
      chapter05/tcl.xml
  44. 3 1
      chapter05/texinfo.xml
  45. 2 2
      chapter05/toolchaintechnotes.xml
  46. 1 1
      chapter05/util-linux-ng.xml
  47. 1 1
      chapter06/bash.xml
  48. 2 2
      chapter06/chapter06.xml
  49. 3 3
      chapter06/coreutils.xml
  50. 1 1
      chapter06/createfiles.xml
  51. 70 7
      chapter06/e2fsprogs.xml
  52. 2 1
      chapter06/gawk.xml
  53. 4 0
      chapter06/gcc.xml
  54. 12 8
      chapter06/glibc.xml
  55. 10 0
      chapter06/gmp.xml
  56. 17 1
      chapter06/grep.xml
  57. 4 1
      chapter06/iproute2.xml
  58. 11 4
      chapter06/linux-headers.xml
  59. 1 1
      chapter06/m4.xml
  60. 150 119
      chapter06/man-db.xml
  61. 1 1
      chapter06/module-init-tools.xml
  62. 18 7
      chapter06/perl.xml
  63. 36 7
      chapter06/util-linux-ng.xml
  64. 8 127
      chapter06/vim.xml
  65. 30 25
      chapter07/console.xml
  66. 3 3
      general.ent
  67. 21 21
      packages.ent
  68. 10 18
      patches.ent
  69. 16 0
      stylesheets/lfs-xsl/lfs-l10n.xml
  70. 1 1
      udev-config/55-lfs.rules
  71. 1 1
      udev-config/61-cdrom.rules
  72. 4 0
      udev-config/ChangeLog

+ 1 - 1
Makefile

@@ -84,7 +84,7 @@ validxml: tmpdir
 	$(Q)xmllint --nonet --noent --xinclude --postvalid \
 	$(Q)xmllint --nonet --noent --xinclude --postvalid \
 	  -o $(RENDERTMP)/lfs-full.xml index.xml
 	  -o $(RENDERTMP)/lfs-full.xml index.xml
 	$(Q)rm -f appendices/*.script
 	$(Q)rm -f appendices/*.script
-	$(Q)sh aux-file-data.sh $(RENDERTMP)/lfs-full.xml
+	$(Q)./aux-file-data.sh $(RENDERTMP)/lfs-full.xml
 
 
 maketar:
 maketar:
 	@echo "Making tarballs..."
 	@echo "Making tarballs..."

+ 44 - 15
appendices/dependencies.xml

@@ -95,7 +95,7 @@
 
 
         <seglistitem>
         <seglistitem>
           <seg>Bash, Bison, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make,
           <seg>Bash, Bison, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make,
-	  Ncurses, Patch, Readline, Sed, and Texinfo</seg>
+          Ncurses, Patch, Readline, Sed, and Texinfo</seg>
         </seglistitem>
         </seglistitem>
       </segmentedlist>
       </segmentedlist>
 
 
@@ -289,8 +289,8 @@
         <segtitle>&dependencies;</segtitle>
         <segtitle>&dependencies;</segtitle>
 
 
         <seglistitem>
         <seglistitem>
-         <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep,
-	 Make, Patch, Sed, and Texinfo</seg>
+          <seg>Bash, Binutils, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep,
+          Make, Patch, Sed, and Texinfo</seg>
         </seglistitem>
         </seglistitem>
       </segmentedlist>
       </segmentedlist>
 
 
@@ -373,8 +373,8 @@
         <segtitle>&dependencies;</segtitle>
         <segtitle>&dependencies;</segtitle>
 
 
         <seglistitem>
         <seglistitem>
-         <seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep,
-	 Make, Sed, and Zlib</seg>
+          <seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep,
+          Make, Sed, and Zlib</seg>
         </seglistitem>
         </seglistitem>
       </segmentedlist>
       </segmentedlist>
 
 
@@ -563,6 +563,34 @@
         </seglistitem>
         </seglistitem>
       </segmentedlist>
       </segmentedlist>
 
 
+<!-- Begin GMP dependency info -->
+  <bridgehead renderas="sect2" id="gmp-dep">GMP</bridgehead>
+
+      <segmentedlist>
+        <segtitle>&dependencies;</segtitle>
+
+        <seglistitem>
+         <seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, M4, Make,
+         Sed and Texinfo</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&testsuites;</segtitle>
+
+        <seglistitem>
+          <seg>None</seg>
+        </seglistitem>
+      </segmentedlist>
+
+      <segmentedlist>
+        <segtitle>&before;</segtitle>
+
+        <seglistitem>
+          <seg>MPFR, GCC</seg>
+        </seglistitem>
+      </segmentedlist>
+
 <!-- Begin Grep dependency info -->
 <!-- Begin Grep dependency info -->
   <bridgehead renderas="sect2" id="grep-dep">Grep</bridgehead>
   <bridgehead renderas="sect2" id="grep-dep">Grep</bridgehead>
 
 
@@ -954,14 +982,15 @@
         </seglistitem>
         </seglistitem>
       </segmentedlist>
       </segmentedlist>
 
 
-<!-- Begin Mktemp dependency info -->
-  <bridgehead renderas="sect2" id="mktemp-dep">Mktemp</bridgehead>
+<!-- Begin Module-Init-Tools dependency info -->
+  <bridgehead renderas="sect2" id="module-init-tools-dep">Module-Init-Tools</bridgehead>
 
 
       <segmentedlist>
       <segmentedlist>
         <segtitle>&dependencies;</segtitle>
         <segtitle>&dependencies;</segtitle>
 
 
         <seglistitem>
         <seglistitem>
-         <seg>Bash, Binutils, Coreutils, GCC, Glibc, Grep, Patch, and Sed</seg>
+         <seg>Bash, Binutils, Coreutils, Findutils, GCC, Glibc, Grep, Make,
+         Patch, Sed, and Zlib</seg>
         </seglistitem>
         </seglistitem>
       </segmentedlist>
       </segmentedlist>
 
 
@@ -969,7 +998,7 @@
         <segtitle>&testsuites;</segtitle>
         <segtitle>&testsuites;</segtitle>
 
 
         <seglistitem>
         <seglistitem>
-          <seg>No testsuite available</seg>
+          <seg>Diffutils, File, Gawk, Gzip, and Mktemp</seg>
         </seglistitem>
         </seglistitem>
       </segmentedlist>
       </segmentedlist>
 
 
@@ -981,15 +1010,15 @@
         </seglistitem>
         </seglistitem>
       </segmentedlist>
       </segmentedlist>
 
 
-<!-- Begin Module-Init-Tools dependency info -->
-  <bridgehead renderas="sect2" id="module-init-tools-dep">Module-Init-Tools</bridgehead>
+<!-- Begin MPFR dependency info -->
+  <bridgehead renderas="sect2" id="mpfr-dep">MPFR</bridgehead>
 
 
       <segmentedlist>
       <segmentedlist>
         <segtitle>&dependencies;</segtitle>
         <segtitle>&dependencies;</segtitle>
 
 
         <seglistitem>
         <seglistitem>
-         <seg>Bash, Binutils, Coreutils, Findutils, GCC, Glibc, Grep, Make,
-         Patch, Sed, and Zlib</seg>
+         <seg>Bash, Binutils, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, GMP,
+         Make, Sed and Texinfo</seg>
         </seglistitem>
         </seglistitem>
       </segmentedlist>
       </segmentedlist>
 
 
@@ -997,7 +1026,7 @@
         <segtitle>&testsuites;</segtitle>
         <segtitle>&testsuites;</segtitle>
 
 
         <seglistitem>
         <seglistitem>
-          <seg>Diffutils, File, Gawk, Gzip, and Mktemp</seg>
+          <seg>None</seg>
         </seglistitem>
         </seglistitem>
       </segmentedlist>
       </segmentedlist>
 
 
@@ -1005,7 +1034,7 @@
         <segtitle>&before;</segtitle>
         <segtitle>&before;</segtitle>
 
 
         <seglistitem>
         <seglistitem>
-          <seg>None</seg>
+          <seg>GCC</seg>
         </seglistitem>
         </seglistitem>
       </segmentedlist>
       </segmentedlist>
 
 

+ 7 - 7
appendices/license.xml

@@ -11,15 +11,15 @@
 
 
   <title>LFS Licenses</title>
   <title>LFS Licenses</title>
 
 
-	<para>This book is licensed under the Creative Commons
-	Attribution-NonCommercial-ShareAlike 2.0 License.</para>
+  <para>This book is licensed under the Creative Commons
+  Attribution-NonCommercial-ShareAlike 2.0 License.</para>
 
 
-	<para>Computer instructions may be extracted from the book under the MIT
-	License.</para>
+  <para>Computer instructions may be extracted from the book under the MIT
+  License.</para>
 
 
-	
-	<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creat-comm.xml"/>
-	<xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mit-lic.xml"/>
+
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creat-comm.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="mit-lic.xml"/>
 
 
 
 
 </appendix>
 </appendix>

+ 12 - 12
appendices/mit-lic.xml

@@ -13,21 +13,21 @@
   <para>Copyright &copy; &copyrightdate; Gerard Beekmans</para>
   <para>Copyright &copy; &copyrightdate; Gerard Beekmans</para>
 
 
   <para>Permission is hereby granted, free of charge, to any person obtaining a copy
   <para>Permission is hereby granted, free of charge, to any person obtaining a copy
-	of this software and associated documentation files (the "Software"), to deal
-	in the Software without restriction, including without limitation the rights
-	to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-	copies of the Software, and to permit persons to whom the Software is
-	furnished to do so, subject to the following conditions:</para>
+  of this software and associated documentation files (the "Software"), to deal
+  in the Software without restriction, including without limitation the rights
+  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+  copies of the Software, and to permit persons to whom the Software is
+  furnished to do so, subject to the following conditions:</para>
 
 
   <para>The above copyright notice and this permission notice shall be included in
   <para>The above copyright notice and this permission notice shall be included in
-	all copies or substantial portions of the Software.</para>
+  all copies or substantial portions of the Software.</para>
 
 
   <para>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   <para>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-	IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-	FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-	AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-	LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-	OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-	THE SOFTWARE.</para>
+  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+  THE SOFTWARE.</para>
 
 
 </sect1>
 </sect1>

+ 8 - 8
appendices/scripts.xml

@@ -39,14 +39,14 @@
 
 
   <title>Boot and sysconfig scripts version-&lfs-bootscripts-version;</title>
   <title>Boot and sysconfig scripts version-&lfs-bootscripts-version;</title>
 
 
-	<para>The scripts in this appendix are listed by the directory where they
-	normally reside.  The order is <filename
-	class='directory'>/etc/rc.d/init.d</filename>, <filename
-	class='directory'>/etc/sysconfig</filename>, <filename
-	class='directory'>/etc/sysconfig/network-devices</filename>, and <filename
-	class='directory'>/etc/sysconfig/network-devices/services</filename>.  Within
-	each section, the files are listed in the order they are normally called.
-	</para>
+  <para>The scripts in this appendix are listed by the directory where they
+  normally reside.  The order is <filename
+  class='directory'>/etc/rc.d/init.d</filename>, <filename
+  class='directory'>/etc/sysconfig</filename>, <filename
+  class='directory'>/etc/sysconfig/network-devices</filename>, and <filename
+  class='directory'>/etc/sysconfig/network-devices/services</filename>.  Within
+  each section, the files are listed in the order they are normally called.
+  </para>
 
 
   <sect1 id="rc" role="wrap">
   <sect1 id="rc" role="wrap">
     <title>/etc/rc.d/init.d/rc</title>
     <title>/etc/rc.d/init.d/rc</title>

+ 3 - 3
appendices/udev-rules.xml

@@ -13,9 +13,9 @@
 
 
   <title>Udev configuration rules</title>
   <title>Udev configuration rules</title>
 
 
-	<para>The rules from &udev-config;.tar.bz2 in this appendix are listed for
-	convenience.  Installation is normally done via instructions in <xref
-	linkend='ch-system-udev'/>.  </para>
+  <para>The rules from &udev-config;.tar.bz2 in this appendix are listed for
+  convenience.  Installation is normally done via instructions in <xref
+  linkend='ch-system-udev'/>.  </para>
 
 
   <sect1 id="lfsrules" role="wrap">
   <sect1 id="lfsrules" role="wrap">
     <title>55-lfs.rules</title>
     <title>55-lfs.rules</title>

+ 1 - 1
aux-file-data.sh

@@ -24,7 +24,7 @@ rm -rf $TMP_DIR
 
 
 sed -i -e s/BOOTSCRIPTS-SIZE/$bootsize/              \
 sed -i -e s/BOOTSCRIPTS-SIZE/$bootsize/              \
        -e s/BOOTSCRIPTS-INSTALL-KB/$bootinstallsize/ \
        -e s/BOOTSCRIPTS-INSTALL-KB/$bootinstallsize/ \
-			 -e s/BOOTSCRIPTS-MD5SUM/$bootmd5/ $FILE
+       -e s/BOOTSCRIPTS-MD5SUM/$bootmd5/ $FILE
 
 
 ############
 ############
 
 

+ 41 - 22
bootscripts/ChangeLog

@@ -1,7 +1,24 @@
+2008-10-27	DJ Lucas	<dj@linuxfromscratch.org>
+	* lfs/init.d/cleanfs: Removed '! -newer /proc' from find commands in
+	  check for stale files in /var/lock and /var/run.
+	* Makefile: Reversed cleanfs and udev_retry scripts so that cleanfs
+	  runs immediately after mountfs.
+
+2008-10-26	Dan Nicholson	<dnicholson@linuxfromscratch.org>
+	* lfs/init.d/functions: Remove stale pid files when encountered
+	  in loadproc/killproc/reloadproc. When the bootscript specifies
+	  a pid file to use with the "-p pidfile" argument, *proc
+	  functions previously bailed out when the referenced file
+	  contains an invalid pid.
+
+2008-10-23	DJ Lucas	<dj@linuxfromscratch.org>
+	* lfs/init.d/console: Removed BROKEN_COMPOSE as kernel patch has
+	  been accepted upstream.
+
 2008-05-21	Bryan Kadzban	<bryan@linuxfromscratch.org>
 2008-05-21	Bryan Kadzban	<bryan@linuxfromscratch.org>
 	* lfs/init.d/udev, lfs/init.d/udev_retry: Use new udevadm program.
 	* lfs/init.d/udev, lfs/init.d/udev_retry: Use new udevadm program.
 
 
-2007-08-20	DJ Lucas <dj@linuxfromscratch.org>
+2007-08-20	DJ Lucas	<dj@linuxfromscratch.org>
 	* lfs/init.d/setclock: Added missing 'stop' argument to usage text
 	* lfs/init.d/setclock: Added missing 'stop' argument to usage text
 
 
 2007-08-13	Dan Nicholson	<dnicholson@linuxfromscratch.org>
 2007-08-13	Dan Nicholson	<dnicholson@linuxfromscratch.org>
@@ -96,7 +113,8 @@
 n/a - June 2, 2006
 n/a - June 2, 2006
 	* Removed console config file and makefile targets.
 	* Removed console config file and makefile targets.
 	* Removed references to /dev/bug and bugreport in udevand 
 	* Removed references to /dev/bug and bugreport in udevand 
-          udev_retry bootscripts. (DJ Lucas)
+	  udev_retry bootscripts. (DJ Lucas)
+
 n/a - April 17, 2006
 n/a - April 17, 2006
 	* Updated udev script to use the new udevsettle program.
 	* Updated udev script to use the new udevsettle program.
 	* Added udev_retry script for systems that have /usr on a different
 	* Added udev_retry script for systems that have /usr on a different
@@ -104,26 +122,26 @@ n/a - April 17, 2006
 
 
 n/a - April 15, 2006
 n/a - April 15, 2006
 	* Cleaned up contrib directory.  Removed: contrib/init.d, 
 	* Cleaned up contrib directory.  Removed: contrib/init.d, 
-          contrib/enhanced, contrib/livecd, contrib/hotplug, and raq2 
+	  contrib/enhanced, contrib/livecd, contrib/hotplug, and raq2 
 	  patch. (DJ Lucas)
 	  patch. (DJ Lucas)
 
 
 n/a - April 14, 2006
 n/a - April 14, 2006
-        * Merged changes from udev_update branch (DJ Lucas)
+	* Merged changes from udev_update branch (DJ Lucas)
 	* Replaced a return with an exit and reversed comment changes in 
 	* Replaced a return with an exit and reversed comment changes in 
-          udev bootscript. (Dan Nicholson)
+	  udev bootscript. (Dan Nicholson)
 	* Replaced walk_sysfs function in udev bootscript with new udevtrigger
 	* Replaced walk_sysfs function in udev bootscript with new udevtrigger
-          program and move wait_for_uevents function inline. (DJ Lucas)
+	  program and move wait_for_uevents function inline. (DJ Lucas)
 	* Removed extra evaluate_retval in udev bootscript. (Ken Moffat)
 	* Removed extra evaluate_retval in udev bootscript. (Ken Moffat)
-	* Wait for uevents to be processed in the udev script.  See ticket #1720
-	  for details. (Matthew Burgess)
+	* Wait for uevents to be processed in the udev script.  See ticket
+	  #1720 for details. (Matthew Burgess)
 
 
 n/a - March 21, 2006
 n/a - March 21, 2006
-        * Removed old references to boot_log function and arguments passed
-          to boot_mesg_flush in echo_* functions. (DJ Lucas)
+	* Removed old references to boot_log function and arguments passed
+	  to boot_mesg_flush in echo_* functions. (DJ Lucas)
 
 
 n/a - March 10, 2006
 n/a - March 10, 2006
 	* Moved src argument to ipv4-static-route service script and 
 	* Moved src argument to ipv4-static-route service script and 
-          removed from ipv4-static service script. (DJ Lucas)
+	  removed from ipv4-static service script. (DJ Lucas)
 
 
 n/a - March 8. 2006
 n/a - March 8. 2006
 	* Correct sourced path in checkfs script. (Matthew Burgess)
 	* Correct sourced path in checkfs script. (Matthew Burgess)
@@ -283,7 +301,8 @@ n/a - November 25, 2004
 	  related to boot_mesg changes (DJ Lucas, Alexander Patrakov)
 	  related to boot_mesg changes (DJ Lucas, Alexander Patrakov)
 	* syslog-ng is now installed by default (Jeremy Utley)
 	* syslog-ng is now installed by default (Jeremy Utley)
 	* hotplug is now installed by default (Jeremy Utley)
 	* hotplug is now installed by default (Jeremy Utley)
-	* udev now uses /sbin/hotplug as the default hotplug handler (Nathan Coulson)
+	* udev now uses /sbin/hotplug as the default hotplug handler
+	  (Nathan Coulson)
 	* udev now mounts a tmpfs instead of a ramfs onto /dev,
 	* udev now mounts a tmpfs instead of a ramfs onto /dev,
 	  as suggested by Greg K-H (Nathan Coulson)
 	  as suggested by Greg K-H (Nathan Coulson)
 	* Created contrib/lsb, and added a LSB compliant functions file
 	* Created contrib/lsb, and added a LSB compliant functions file
@@ -350,8 +369,8 @@ n/a - September 22, 2004
 	* All scriptes have been converted to use boot_mesg
 	* All scriptes have been converted to use boot_mesg
 
 
 n/a - September 21, 2004
 n/a - September 21, 2004
-	* boot_mesg has been enhanced.  Subsequent calls will overwrite previous
-	  text, and it will wrap text basedupon the variable ${WCOL}. 
+	* boot_mesg has been enhanced.  Subsequent calls will overwrite
+	  previous text, and it will wrap text basedupon the variable ${WCOL}. 
 	  (James Robertson)
 	  (James Robertson)
 	* Fixed mtu optional service typo (Kevin P Fleming)
 	* Fixed mtu optional service typo (Kevin P Fleming)
 	* Added SOURCE variable to ipv4-static-route (Kevin P Fleming)
 	* Added SOURCE variable to ipv4-static-route (Kevin P Fleming)
@@ -802,7 +821,7 @@ n/a - February 2, 2004:
 	* Fixed network shutdown script
 	* Fixed network shutdown script
 	* Fixed Makefile rc.6 to reboot
 	* Fixed Makefile rc.6 to reboot
 	* Added -s flag to grep command in rc.d/init.d/network -
 	* Added -s flag to grep command in rc.d/init.d/network -
-          suppresses an error if no ifconfig.* files exist
+	  suppresses an error if no ifconfig.* files exist
 
 
 n/a - January 30, 2004:
 n/a - January 30, 2004:
 
 
@@ -823,8 +842,8 @@ n/a - January 30, 2004:
 n/a - January 30, 2004:
 n/a - January 30, 2004:
 
 
 	* New maintainers for the lfs-bootscripts package are:
 	* New maintainers for the lfs-bootscripts package are:
-	Jeremy Utley (jeremy@linuxfromscratch.org)
-	Nathan Coulson (nathan@linuxfromscratch.org)
+	  Jeremy Utley (jeremy@linuxfromscratch.org)
+	  Nathan Coulson (nathan@linuxfromscratch.org)
 
 
 1.11 - February 3rd, 2003:
 1.11 - February 3rd, 2003:
 
 
@@ -834,7 +853,7 @@ n/a - January 30, 2004:
 1.10 - September 12th, 2002:
 1.10 - September 12th, 2002:
 
 
 	* Fixed up checkfs to work with non-ext2 filesystems too (such as
 	* Fixed up checkfs to work with non-ext2 filesystems too (such as
-	minix).
+	  minix).
 
 
 1.9 - April 5th, 2002:
 1.9 - April 5th, 2002:
 
 
@@ -880,9 +899,9 @@ n/a - January 30, 2004:
 1.6 - February 26th, 2002:
 1.6 - February 26th, 2002:
 
 
 	* replaced -o %PPID with -o $PPID throughout the functions script. This
 	* replaced -o %PPID with -o $PPID throughout the functions script. This
-	construct does what it's supposed to do (don't take PPID into account
-	because this would fail if a running daemon and the bootscript have
-	the same name).
+	  construct does what it's supposed to do (don't take PPID into account
+	  because this would fail if a running daemon and the bootscript have
+	  the same name).
 
 
 	* added 'restart' to the swap script
 	* added 'restart' to the swap script
 
 
@@ -910,7 +929,7 @@ n/a - January 30, 2004:
 	  variable is set
 	  variable is set
 
 
 	* removed the emptying of /etc/mtab since it's a symlink to
 	* removed the emptying of /etc/mtab since it's a symlink to
-	 /proc/mounts now
+	  /proc/mounts now
 
 
 	* added the mountproc script which mounts the proc system. This is done
 	* added the mountproc script which mounts the proc system. This is done
 	  because we need proc mounted even before the mountfs script is ran
 	  because we need proc mounted even before the mountfs script is ran

+ 3 - 3
bootscripts/Makefile

@@ -75,8 +75,8 @@ install: create-dirs create-service-dir
 	ln -sf ../init.d/setclock    ${EXTDIR}/rc.d/rcsysinit.d/S25setclock
 	ln -sf ../init.d/setclock    ${EXTDIR}/rc.d/rcsysinit.d/S25setclock
 	ln -sf ../init.d/checkfs     ${EXTDIR}/rc.d/rcsysinit.d/S30checkfs
 	ln -sf ../init.d/checkfs     ${EXTDIR}/rc.d/rcsysinit.d/S30checkfs
 	ln -sf ../init.d/mountfs     ${EXTDIR}/rc.d/rcsysinit.d/S40mountfs
 	ln -sf ../init.d/mountfs     ${EXTDIR}/rc.d/rcsysinit.d/S40mountfs
-	ln -sf ../init.d/udev_retry  ${EXTDIR}/rc.d/rcsysinit.d/S45udev_retry
-	ln -sf ../init.d/cleanfs     ${EXTDIR}/rc.d/rcsysinit.d/S50cleanfs
+	ln -sf ../init.d/cleanfs     ${EXTDIR}/rc.d/rcsysinit.d/S45cleanfs
+	ln -sf ../init.d/udev_retry  ${EXTDIR}/rc.d/rcsysinit.d/S50udev_retry
 	ln -sf ../init.d/console     ${EXTDIR}/rc.d/rcsysinit.d/S70console
 	ln -sf ../init.d/console     ${EXTDIR}/rc.d/rcsysinit.d/S70console
 	ln -sf ../init.d/localnet    ${EXTDIR}/rc.d/rcsysinit.d/S80localnet
 	ln -sf ../init.d/localnet    ${EXTDIR}/rc.d/rcsysinit.d/S80localnet
 	ln -sf ../init.d/sysctl      ${EXTDIR}/rc.d/rcsysinit.d/S90sysctl
 	ln -sf ../init.d/sysctl      ${EXTDIR}/rc.d/rcsysinit.d/S90sysctl
@@ -126,7 +126,7 @@ minimal: create-dirs create-service-dir
 	ln -sf ../init.d/setclock    ${EXTDIR}/rc.d/rcsysinit.d/S25setclock
 	ln -sf ../init.d/setclock    ${EXTDIR}/rc.d/rcsysinit.d/S25setclock
 	ln -sf ../init.d/checkfs     ${EXTDIR}/rc.d/rcsysinit.d/S30checkfs
 	ln -sf ../init.d/checkfs     ${EXTDIR}/rc.d/rcsysinit.d/S30checkfs
 	ln -sf ../init.d/mountfs     ${EXTDIR}/rc.d/rcsysinit.d/S40mountfs
 	ln -sf ../init.d/mountfs     ${EXTDIR}/rc.d/rcsysinit.d/S40mountfs
-	ln -sf ../init.d/cleanfs     ${EXTDIR}/rc.d/rcsysinit.d/S50cleanfs
+	ln -sf ../init.d/cleanfs     ${EXTDIR}/rc.d/rcsysinit.d/S45cleanfs
 	if [ ! -f ${EXTDIR}/sysconfig/rc          ]; then install -m ${CONFMODE} lfs/sysconfig/rc          ${EXTDIR}/sysconfig/; fi
 	if [ ! -f ${EXTDIR}/sysconfig/rc          ]; then install -m ${CONFMODE} lfs/sysconfig/rc          ${EXTDIR}/sysconfig/; fi
 
 
 .PHONY: all create-dirs create-service-dir \
 .PHONY: all create-dirs create-service-dir \

+ 3 - 0
bootscripts/contrib/lsb-v3/ChangeLog

@@ -1,4 +1,7 @@
 ChangeLog
 ChangeLog
+20081023 - [dj] * Removed BROKEN_COMPOSE handling in console script because
+                  kernel patch was accepted upstream.
+
 20080908 - [dj] * Corrected echo command in rc script - Thanks to 
 20080908 - [dj] * Corrected echo command in rc script - Thanks to 
                   Michael Tremer at IPFire.
                   Michael Tremer at IPFire.
 
 

+ 0 - 13
bootscripts/contrib/lsb-v3/init.d/console

@@ -78,19 +78,6 @@ case "${1}" in
 			loadkeys ${KEYMAP_CORRECTIONS} >/dev/null 2>&1 ||
 			loadkeys ${KEYMAP_CORRECTIONS} >/dev/null 2>&1 ||
                         failed=1
                         failed=1
 
 
-		# Linux kernel generates wrong bytes when composing
-		# in Unicode mode. That's why we disable dead keys in Unicode
-		# mode by default. If you need them, download and apply
-		# http://www.linuxfromscratch.org/~alexander/patches/linux-2.6.12.5-utf8_input-2.patch
-		# After patching, add "-m charset_of_your_keymap" to the FONT
-		# variable and set BROKEN_COMPOSE=false
-		# in /etc/sysconfig/console
-
-		[ -n "$BROKEN_COMPOSE" ] || BROKEN_COMPOSE="$UNICODE"
-		! is_true "$BROKEN_COMPOSE" ||
-			echo "" | loadkeys -c >/dev/null 2>&1 ||
-                        failed=1
-		
 		# Convert the keymap from $LEGACY_CHARSET to UTF-8
 		# Convert the keymap from $LEGACY_CHARSET to UTF-8
 		[ -z "$LEGACY_CHARSET" ] ||
 		[ -z "$LEGACY_CHARSET" ] ||
 			dumpkeys -c "$LEGACY_CHARSET" |
 			dumpkeys -c "$LEGACY_CHARSET" |

+ 2 - 2
bootscripts/lfs/init.d/cleanfs

@@ -80,11 +80,11 @@ case "${1}" in
 
 
 		boot_mesg -n " /var/lock" ${NORMAL}
 		boot_mesg -n " /var/lock" ${NORMAL}
 		cd /var/lock &&
 		cd /var/lock &&
-		find . -type f ! -newer /proc -exec rm -f {} \; || failed=1
+		find . -type f -exec rm -f {} \; || failed=1
 
 
 		boot_mesg " /var/run" ${NORMAL}
 		boot_mesg " /var/run" ${NORMAL}
 		cd /var/run &&
 		cd /var/run &&
-		find . ! -type d ! -name utmp ! -newer /proc \
+		find . ! -type d ! -name utmp \
 			-exec rm -f {} \; || failed=1
 			-exec rm -f {} \; || failed=1
 		> /var/run/utmp
 		> /var/run/utmp
 		if grep -q '^utmp:' /etc/group ; then
 		if grep -q '^utmp:' /etc/group ; then

+ 0 - 13
bootscripts/lfs/init.d/console

@@ -76,19 +76,6 @@ case "${1}" in
 			loadkeys ${KEYMAP_CORRECTIONS} >/dev/null 2>&1 ||
 			loadkeys ${KEYMAP_CORRECTIONS} >/dev/null 2>&1 ||
 			failed=1
 			failed=1
 
 
-		# Linux kernel generates wrong bytes when composing
-		# in Unicode mode. That's why we disable dead keys in Unicode
-		# mode by default. If you need them, download and apply
-		# http://www.linuxfromscratch.org/~alexander/patches/linux-2.6.12.5-utf8_input-2.patch
-		# After patching, add "-m charset_of_your_keymap" to the FONT
-		# variable and set BROKEN_COMPOSE=false
-		# in /etc/sysconfig/console
-
-		[ -n "$BROKEN_COMPOSE" ] || BROKEN_COMPOSE="$UNICODE"
-		! is_true "$BROKEN_COMPOSE" ||
-			echo "" | loadkeys -c >/dev/null 2>&1 ||
-			failed=1
-		
 		# Convert the keymap from $LEGACY_CHARSET to UTF-8
 		# Convert the keymap from $LEGACY_CHARSET to UTF-8
 		[ -z "$LEGACY_CHARSET" ] ||
 		[ -z "$LEGACY_CHARSET" ] ||
 			dumpkeys -c "$LEGACY_CHARSET" |
 			dumpkeys -c "$LEGACY_CHARSET" |

+ 16 - 4
bootscripts/lfs/init.d/functions

@@ -291,6 +291,12 @@ reloadproc()
 		pidofproc -s -p "${pidfile}" "${1}"
 		pidofproc -s -p "${pidfile}" "${1}"
 	fi
 	fi
 
 
+	# Warn about stale pid file
+	if [ "$?" = 1 ]; then
+		boot_mesg -n "Removing stale pid file: ${pidfile}. " ${WARNING}
+		rm -f "${pidfile}"
+	fi
+
 	if [ -n "${pidlist}" ];	then
 	if [ -n "${pidlist}" ];	then
 		for pid in ${pidlist}
 		for pid in ${pidlist}
 		do
 		do
@@ -504,7 +510,7 @@ getpids()
 #                     warning in stdout
 #                     warning in stdout
 #          return 4 - Program or service status is unknown
 #          return 4 - Program or service status is unknown
 #
 #
-# Dependencies: nice
+# Dependencies: nice, rm
 #
 #
 # Todo: LSB says this should be called start_daemon
 # Todo: LSB says this should be called start_daemon
 #       LSB does not say that it should call evaluate_retval
 #       LSB does not say that it should call evaluate_retval
@@ -567,8 +573,8 @@ loadproc()
 				return 0 # 4
 				return 0 # 4
 				;;
 				;;
 			1)
 			1)
-				log_warning_msg "Unable to continue: ${pidfile} exists"
-				return 0 # 4
+				boot_mesg "Removing stale pid file: ${pidfile}" ${WARNING}
+				rm -f "${pidfile}"
 				;;
 				;;
 			3)
 			3)
 				;;
 				;;
@@ -598,7 +604,7 @@ loadproc()
 #                     warning in stdout
 #                     warning in stdout
 #          return 4 - Unknown Status
 #          return 4 - Unknown Status
 #
 #
-# Dependencies: kill
+# Dependencies: kill, rm
 #
 #
 # Todo: LSB does not say that it should call evaluate_retval
 # Todo: LSB does not say that it should call evaluate_retval
 #       It checks for PIDFILE, which is deprecated.
 #       It checks for PIDFILE, which is deprecated.
@@ -648,6 +654,12 @@ killproc()
 		pidofproc -s -p "${pidfile}" "${1}"
 		pidofproc -s -p "${pidfile}" "${1}"
 	fi
 	fi
 
 
+	# Remove stale pidfile
+	if [ "$?" = 1 ]; then
+		boot_mesg "Removing stale pid file: ${pidfile}." ${WARNING}
+		rm -f "${pidfile}"
+	fi
+
     # If running, send the signal
     # If running, send the signal
     if [ -n "${pidlist}" ]; then
     if [ -n "${pidlist}" ]; then
 	for pid in ${pidlist}
 	for pid in ${pidlist}

+ 13 - 1074
chapter01/changelog.xml

@@ -36,1101 +36,40 @@
     </listitem>
     </listitem>
 
 
 -->
 -->
-
-    <listitem>
-      <para>2008-10-20</para>
-      <itemizedlist>
-        <listitem>
-          <para>[jhuntwork] - GCC 4.3.2 uses a new directory for fixed includes. Fixed
-          the adjust toolchain scripts to point to the new location.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-10-19</para>
-      <itemizedlist>
-        <listitem>
-          <para>[bdubbs] - Added a note to the Host System Requirements that the
-          Linux host must be a 32-bit system and that the book only supports 
-          a 32-bit build.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated the book to use 4.13a as the Texinfo version,
-          even though the tarball is exactly the same as the previous 4.13
-          version.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Removed an unnecessary command from the Chapter 5
-          Perl instructions.</para>
-        </listitem>
-        <listitem>
-          <para>[bdubbs] - Updated the discussion in Chapter 1 explaining that the 
-          LiveCD is out of date.</para>
-        </listitem>
-        <listitem>
-          <para>[bdubbs] - Added a paragraph to the note in the packages page
-          explaining that bandwidth can be saved when making multiple updates within a
-          minor kernel release by downloading a base version and patches.</para>
-        </listitem>
-        <listitem>
-          <para>[jhuntwork] - Move GCC's bootstrap back to pass 1 to correspond more closely
-	  with trunk. Cross compilation methods in the future can address the issues originally
-	  bypassed by moving the bootstrap to pass 2.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-10-18</para>
-      <itemizedlist>
-        <listitem>
-          <para>[jhuntwork] - Fixed build locations of m4 so that it links against the
-          glibc built in /tools and so that no packages in chapter 6 hard-code references
-          to the temporary location. Also made m4 a host requirement.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-10-15</para>
-      <itemizedlist>
-        <listitem>
-          <para>[bdubbs] - Added --disable-libssp to glibc Pass 1 in Chapter 5
-          to eliminate a build failure on some systems.</para>
-        </listitem>
-        <listitem>
-          <para>[dj] - Updated to udev-config-20081015.</para>
-        </listitem>
-        <listitem>
-          <para>[dj] - Modified udev instructions following upstream
-          recommendations.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-10-13</para>
-      <itemizedlist>
-        <listitem>
-          <para>[randy] - Modified the Chapter 5 instructions so that instead
-          of building the GMP and MPFR packages separately for GCC Pass2, they
-          are built by GCC internally.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Added a configure option to the Chapter 6 Gettext
-          instructions so that the documentation is installed in a versioned
-          directory.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-10-12</para>
-      <itemizedlist>
-        <listitem>
-          <para>[dj] - Updated to E2fsprogs-1.41.2.</para>
-        </listitem>
-        <listitem>
-          <para>[dj] - Corrected installation prefixes of Iproute2
-          package with DESTDIR and MANDIR paths. Thanks to Steffen Pankratz 
-          for the fix.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Modified the Chapter 6 GMP instructions to include a
-          method for determining all the tests in the test suite passed.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Modified the GCC search for correct headers command
-          to account for the new include-fixed directory.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Added a patch to the Chapter 6 Binutils instructions
-          to correct some errors in the test suite.</para>
-        </listitem>
-        <listitem>
-          <para>[dj] - Corrected installation of udev rule files.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Moved the Chapter 6 M4 installation into alphabetical
-          order as it is installed in Chapter 5 now and therefore doesn't need
-          to precede the Bison installation.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Moved the Chapter 5 M4 installation to before GCC
-          Pass1 so that the internal GCC build of GMP will not fail in case
-          M4 doesn't exist on the host. Also updated GCC's dependencies to
-          reflect GMP and MPFR.</para>
-        </listitem>
-        <listitem>
-          <para>[dj] - Changed Chapter 5 GCC Pass 1 build to static.  Thanks to
-          Jeremy Huntwork for the suggestion and supporting text.</para>
-        </listitem>
-        <listitem>
-          <para>[dj] - Added note to Chapter 6 GCC about the new include-fixed
-          directory and changed the sample output to match.</para>
-        </listitem>
-        <listitem>
-          <para>[dj] - Added instruction to keep Chapter 5 Glibc from honoring
-          /etc/ld.so.preload.  Thanks to Alexander Patrakov for the fix.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Added descriptions of the configure options used
-          in the GMP instructions and updated the installed library
-          descriptions.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-10-11</para>
-      <itemizedlist>
-        <listitem>
-          <para>[dj] - Removed the Chapter 5 Glibc test suite information as
-          it requires a working C++ compiler to run.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Added three configure parameters to the Chapter 6
-          Util-linux-ng instructions so that additional programs are
-          installed. Also updated the installed programs list.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Added a sed command to the Sysvinit instructions to
-          suppress the installation of the wall program and its man page as a
-          maintained version of this program is installed by
-          Util-linux-ng.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Added commands to the Chapter 6 Binutils instructions
-          to suppress the installation of standards.info. Thanks to Greg
-          Schafer for contributing the fix.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Added a patch to the Procps instructions to fix a
-          unicode related issue in the watch program.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Added documentation installation commands to the
-          Chapter 6 Kbd instructions.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Modified the IPRoute2 installation command so that the
-          docs are installed in a versioned directory.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Modified the Groff installation command so that the
-          docs are installed in a standardized versioned directory.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Added documentation installation commands to the
-          Chapter 6 Gawk instructions.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Added commands to the Chapter 6 Flex instructions
-          to install a .pdf doc file.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Added a parameter to the configure command in the
-          Automake instructions so that docs are installed in a versioned
-          directory.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated Module-Init-Tools to 3.4.1.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Added documentation installation commands to the
-          Chapter 6 Readline instructions.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Added documentation installation commands to the
-          Chapter 6 Ncurses instructions.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-10-10</para>
-      <itemizedlist>
-        <listitem>
-          <para>[randy] - Added documentation enhancements to the E2fsprogs
-          package.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Removed an unnecessary parameter from the
-          Util-linux-ng Chapter 6 make command. Thanks to Greg Schafer for
-          pointing it out.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated the Perl instructions. Thanks to Greg Schafer
-          for pointing out the issues. This change also required that the Zlib
-          package is built right before the Perl package in Chapter 6.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated Vim to 7.2.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated Udev to 130.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-10-09</para>
-      <itemizedlist>
-        <listitem>
-          <para>[randy] - Updated File to 4.26</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated Shadow to 4.1.2.1.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated Man-DB to 2.5.2.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated Iproute to 2.6.26.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Added a command to the Inetutils instructions to
-          correct an issue with GCC-&gcc-version;.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-10-07</para>
-      <itemizedlist>
-        <listitem>
-          <para>[randy] - Updated Autoconf to 2.63.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated Libtool to 2.2.6a.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Corrected the instruction to untar the E2fsprogs
-          tarball in Section 2.3. Thanks to William Immendorf for pointing
-          out the error.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated Berkeley DB to 4.7.25.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated Man-pages to 3.11.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated Util-linux-ng to 2.14.1.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated Texinfo to 4.13.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-10-06</para>
-      <itemizedlist>
-        <listitem>
-          <para>[robert] - Added -v to the cp command in the Chapter 5 Expect
-          instructions.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated Tar to 1.20.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated Perl to 5.10.0.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated M4 to 1.4.11 and added it to the Chapter 5
-          build as it is required by the GMP package in Chapter 6.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated Findutils to 4.4.0.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-10-05</para>
-      <itemizedlist>
-        <listitem>
-          <para>[randy] - Updated E2fsprogs to 1.41.1.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Added the Mktemp-1.5 package to the list of
-          removed items in the Chapter3 'What's new ...' page.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated Coreutils to 6.12. Thanks to William
-          Immendorf for contributing a patch to add the mktemp program
-          information to the Coreutils page.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated the Bash Fixes patch to the -8 version.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Added a patch to the Expect instructions to fix an
-          issue with recent Tcl versions.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated Tcl to 8.5.4.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated the Linux kernel to 2.6.26.5.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated Glibc to a 2.8 snapshot taken on
-          9/29/2008. The tarball of this snapshot includes the libidn
-          data that previously was separately packaged.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Added the GMP and MPFR packages to the list of
-          packages in Chapter 3. Thanks to Lefteris Dimitroulakis for
-          pointing out the omission.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-10-03</para>
-      <itemizedlist>
-        <listitem>
-          <para>[bdubbs] - Added version check for Perl in Host System 
-          Requirements.</para>
-        </listitem>
-        <listitem>
-          <para>[randy] - Updated GCC to 4.3.2 which includes adding the
-          GMP-4.2.4 and MPFR-2.3.2 packages. This new version of GCC requires
-          the added packages. Thanks to DJ Lucas for the stimulus and initial
-          work resulting in this and all of the other package updates coming
-          up.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-07-11</para>
-      <itemizedlist>
-        <listitem>
-          <para>[ken] - Belatedly fixed known vulnerabilities in perl.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-06-03</para>
-      <itemizedlist>
-        <listitem>
-          <para>[bdubbs] - Added udev-config scripts to appendices.</para>
-        </listitem>
-        <listitem>
-          <para>[bdubbs] - Added lfs-bootscripts to appendices.</para>
-        </listitem>
-        <listitem>
-          <para>[bdubbs] - Updated license to Creative Commons with
-          extracted code under the MIT license.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-05-23</para>
-      <itemizedlist>
-        <listitem>
-          <para>[bryan] - Install a few extra rules from the
-          etc/udev/packages directory in udev.  Thanks to Dan
-          Nicholson for noticing the issue.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-            
-    <listitem>
-      <para>2008-05-22</para>
-      <itemizedlist>
-        <listitem>
-          <para>[bryan] - Updated Udev to 122, udev-config to
-          20080522, and lfs-bootscripts to 20080522.  Also made
-          persistent-net rules able to be pre-generated, using
-          udevadm test.  Fixes #2057, #2079 (I think), #2170, and
-          #2186.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-04-23</para>
-      <itemizedlist>
-        <listitem>
-          <para>[jhuntwork] - Use -mtune=native for glibc. We don't
-          want our libc optimized for 486. It should be optimized
-          for the local machine.</para>
-        </listitem>
-        <listitem>
-          <para>[jhuntwork] - Updated Autoconf to 2.62.</para>
-        </listitem>
-        <listitem>
-          <para>[jhuntwork] - Updated E2fsprogs to 1.40.8. Fixes #2173.
-          </para>
-        </listitem>
-        <listitem>
-          <para>[jhuntwork] - Fixed behavior in kbd where man pages
-          for optional programs that aren't built are installed.
-          Thanks Greg Schafer for spotting this.
-          </para>
-        </listitem>
-        <listitem>
-          <para>[jhuntwork] - Fixed kbd to install getkeycodes,
-          setkeycodes and resizecons. Also moved loadkeys to /bin from
-          /usr/bin. Thanks, Greg Schafer.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-04-22</para>
-      <itemizedlist>
-        <listitem>
-          <para>[jhuntwork] - Updated Kbd to 1.14.1. Fixes #2162.</para>
-        </listitem>
-        <listitem>
-          <para>[jhuntwork] - Updated Flex to 2.5.35. Fixes #2179.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-04-11</para>
-      <itemizedlist>
-        <listitem>
-          <para>[bdubbs] - Updated host requirments to check for
-          symbolic links from sh, awk, and yacc.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-04-03</para>
-      <itemizedlist>
-        <listitem>
-          <para>[jhuntwork] - Suppress installation of uptime in coreutils.
-          Thanks to Randy McMurchy. Fixes #2133.</para>
-        </listitem>
-        <listitem>
-          <para>[jhuntwork] - Upgraded to iana-etc-2.30. Fixes #2174.</para>
-        </listitem>
-        <listitem>
-          <para>[jhuntwork] - Added patch for 256-byte inode support in GRUB.
-          Fixes #2161.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-04-02</para>
-      <itemizedlist>
-        <listitem>
-          <para>[jhuntwork] - Updated to linux-2.6.24.4, fixes #2157.</para>
-        </listitem>
-        <listitem>
-          <para>[jhuntwork] - Added an upstream patch for db-4.6.21, thanks
-          Randy McMurchy for the report. Fixes #2164.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-03-30</para>
-      <itemizedlist>
-        <listitem>
-          <para>[dnicholson] - Added <parameter>--sysconfdir</parameter>
-          parameter to Man-db's configure command so that
-          <filename>man_db.conf</filename> is installed in <filename
-          class="directory">/etc</filename>.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-03-27</para>
-      <itemizedlist>
-        <listitem>
-          <para>[ken] - Updated bzip2 to 1.0.5, fixes CVE-2008-1372.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-02-26</para>
-      <itemizedlist>
-        <listitem>
-          <para>[ken] - Corrected typo in name of ru-ms keymap.</para>
-        </listitem>
-        <listitem>
-          <para>[ken] - Updated Kbd to 1.13.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-02-24</para>
-      <itemizedlist>
-        <listitem>
-          <para>[matthew] - Add --libexecdir parameter to Man-db's configure
-          command so that <command>globbing</command> and
-          <command>manconv</command> are installed into /usr/libexec/man-db.
-          Fixes <ulink url="&lfs-ticket-root;2153">#2153</ulink>.  Also, remove
-          the --enable-mb-groff parameter, as this is now detected
-          automatically.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-02-19</para>
-      <itemizedlist>
-        <listitem>
-          <para>[ken] - Updated Grep to 2.5.3, thanks to Matthew for the fix
-          for automated builds.</para>
-        </listitem>
-        <listitem>
-          <para>[ken] - Updated Flex to 2.5.34.</para>
-        </listitem>
-        <listitem>
-          <para>[ken] - Updated Module-Init-Tools to 3.4.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-02-17</para>
-      <itemizedlist>
-        <listitem>
-          <para>[matthew] - Upgraded to latest upstream Vim patches.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Tcl-8.4.18. Fixes
-          <ulink url="&lfs-ticket-root;2146">#2146</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Man-pages-2.78. Fixes
-          <ulink url="&lfs-ticket-root;2152">#2152</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Man-DB-2.5.1. Fixes
-          <ulink url="&lfs-ticket-root;2148">#2148</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Linux-2.6.24.2. Fixes
-          <ulink url="&lfs-ticket-root;2147">#2147</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Now that <command>mktemp</command> is installed by
-          Coreutils in chapter 5, there is no need to fix up GCC's
-          <command>gccbug</command> in chapter 6.  Thanks to Greg Schafer for
-          the report.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Findutils-4.2.33. Fixes
-          <ulink url="&lfs-ticket-root;2151">#2151</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to E2fsprogs-1.40.6. Fixes
-          <ulink url="&lfs-ticket-root;2149">#2149</ulink>.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-02-07</para>
-      <itemizedlist>
-        <listitem>
-          <para>[matthew] - Added a patch to fix a known issue in the Automake
-          test suite. Fixes
-          <ulink url="&lfs-ticket-root;2143">#2143</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Man-pages-2.77. Fixes
-          <ulink url="&lfs-ticket-root;2142">#2142</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Libtool-1.5.26. Fixes
-          <ulink url="&lfs-ticket-root;2141">#2141</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to GCC-4.2.3. Fixes
-          <ulink url="&lfs-ticket-root;2140">#2140</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Coreutils-6.10. Removed Mktemp-1.5 as
-          Coreutils provides its own implementation now. Removed the coreutils
-          binary suppression patch as the configure script can now be given a
-          list of programs not to install. Fixes
-          <ulink url="&lfs-ticket-root;2133">#2133</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to E2fsprogs-1.40.5. Fixes
-          <ulink url="&lfs-ticket-root;2138">#2138</ulink>.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-01-29</para>
-      <itemizedlist>
-        <listitem>
-          <para>[matthew] - Upgraded to Linux-2.6.24. Fixes
-          <ulink url="&lfs-ticket-root;2137">#2137</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Findutils-4.2.32. Fixes
-          <ulink url="&lfs-ticket-root;2136">#2136</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Automake-1.10.1. Fixes
-          <ulink url="&lfs-ticket-root;2132">#2132</ulink>.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-01-22</para>
-      <itemizedlist>
-        <listitem>
-          <para>[matthew] - Replaced Util-Linux-2.12r, with
-          Util-Linux-NG-2.13.1. Fixes
-          <ulink url="&lfs-ticket-root;2077">#2077</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Tcl-8.4.17. Fixes
-          <ulink url="&lfs-ticket-root;2131">#2131</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Man-Pages-2.76. Fixes
-          <ulink url="&lfs-ticket-root;2129">#2129</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Linux-2.6.23.14. Fixes
-          <ulink url="&lfs-ticket-root;2128">#2128</ulink>.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-01-19</para>
-      <itemizedlist>
-        <listitem>
-          <para>[matthew] - Add Perl to the list of host requirements, as it is
-          required by Glibc.  Thanks to Ben Collver for the report.  Fixes
-          <ulink url="&lfs-ticket-root;2112">#2112</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Mention <command>strace</command> as another means
-          of logging installed files, and correct the URL of the Linux Standard
-          Base specifications. Fixes
-          <ulink url="&lfs-ticket-root;2073">#2073</ulink> and
-          <ulink url="&lfs-ticket-root;2130">#2130</ulink>.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2008-01-04</para>
-      <itemizedlist>
-        <listitem>
-          <para>[matthew] - Upgraded to latest upstream fixes for Vim.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Less-418.  Fixes
-          <ulink url="&lfs-ticket-root;2124">#2124</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to File-4.23.  Fixes
-          <ulink url="&lfs-ticket-root;2125">#2125</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to E2fsprogs-1.40.4.  Fixes
-          <ulink url="&lfs-ticket-root;2123">#2123</ulink>.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2007-12-23</para>
-      <itemizedlist>
-        <listitem>
-          <para>[matthew] - Upgraded to latest upstream fixes for Readline.
-          Fixes <ulink url="&lfs-ticket-root;2122">#2122</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Man-Pages-2.74. Fixes
-          <ulink url="&lfs-ticket-root;2119">#2119</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Linux-2.6.23.12. Fixes
-          <ulink url="&lfs-ticket-root;2118">#2118</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to latest upstream fixes for Bash. Fixes
-          <ulink url="&lfs-ticket-root;2121">#2121</ulink>.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2007-12-08</para>
-      <itemizedlist>
-        <listitem>
-          <para>[matthew] - Upgraded to latest upstream fixes for Vim. Fixes
-          <ulink url="&lfs-ticket-root;2108">#2108</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Texinfo-4.11. Fixes
-          <ulink url="&lfs-ticket-root;2074">#2074</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Psmisc-22.6. Fixes
-          <ulink url="&lfs-ticket-root;2104">#2104</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Man-Pages-2.70. Fixes
-          <ulink url="&lfs-ticket-root;2110">#2110</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Man-DB-2.5.0. Fixes
-          <ulink url="&lfs-ticket-root;2109">#2109</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Linux-2.6.23.9. Fixes
-          <ulink url="&lfs-ticket-root;2106">#2106</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Less-416. Fixes
-          <ulink url="&lfs-ticket-root;2105">#2105</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to Gettext-0.17. Fixes
-          <ulink url="&lfs-ticket-root;2103">#2103</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Removed the modifications to Gawk's config.h as
-          Gawk-3.1.6 fixes the bug that they were working around.  Fixes
-          <ulink url="&lfs-ticket-root;2107">#2107</ulink>. Thanks to Erik-Jan
-          for the report.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Removed the modifications to Gawk's config.h as
-          Gawk-3.1.6 fixes the bug that they were working around.  Fixes
-          <ulink url="&lfs-ticket-root;2107">#2107</ulink>. Thanks to Erik-Jan
-          for the report.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgraded to E2fsprogs-1.40.3.  Fixes
-          <ulink url="&lfs-ticket-root;2116">#2116</ulink>.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-     <listitem>
-      <para>2007-11-25</para>
-      <itemizedlist>
-        <listitem>
-          <para>[bdubbs] - Fixed test for Debian binutils.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2007-10-29</para>
-      <itemizedlist>
-        <listitem>
-          <para>[bdubbs] - Removed obsolete note from Creating Symlinks section
-          about continuation lines in udev rules.  Changed dailout group
-          to uucp for udev rule compatability.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgrade to the latest upstream patches for
-          Vim.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Add a patch to fix a segfault in usb_id.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgrade to Tcl-8.4.16. Fixes
-          <ulink url="&lfs-ticket-root;2084">#2084</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgrade to Tar-1.19. Fixes
-          <ulink url="&lfs-ticket-root;2090">#2090</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgrade to Man-Pages-2.67. Fixes
-          <ulink url="&lfs-ticket-root;2078">#2078</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgrade to Linux-2.6.23.1. Fixes
-          <ulink url="&lfs-ticket-root;2088">#2088</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgrade to Less-409. Fixes
-          <ulink url="&lfs-ticket-root;2087">#2087</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgrade to IPRoute2-2.6.23. Fixes
-          <ulink url="&lfs-ticket-root;2091">#2091</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgrade to Glibc-2.7. Fixes
-          <ulink url="&lfs-ticket-root;2095">#2095</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgrade to GCC-4.2.2. Fixes
-          <ulink url="&lfs-ticket-root;2089">#2089</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgrade to Gawk-3.1.6. Fixes
-          <ulink url="&lfs-ticket-root;2098">#2098</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgrade to DB-4.6.21. Fixes
-          <ulink url="&lfs-ticket-root;2086">#2086</ulink>.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-     <listitem>
-      <para>2007-10-06</para>
-      <itemizedlist>
-        <listitem>
-          <para>[jhuntwork] - Made book buildable by powerpc.</para>
-        </listitem>
-        <listitem>
-          <para>[jhuntwork] - Moved GCC's bootstrap to pass 2.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-     <listitem>
-      <para>2007-10-05</para>
-      <itemizedlist>
-        <listitem>
-          <para>[bdubbs] - Added -mtune to Glibc CFLAGS.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-     <listitem>
-      <para>2007-10-04</para>
-      <itemizedlist>
-        <listitem>
-          <para>[jhuntwork] - Fixed grep syntax in Glibc.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-     <listitem>
-      <para>2007-09-25</para>
-      <itemizedlist>
-        <listitem>
-          <para>[manuel] - More updates in dependencies list. Thanks to
-          Chris Staub for the patch.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-     <listitem>
-      <para>2007-09-23</para>
-      <itemizedlist>
-        <listitem>
-          <para>[manuel] - Updated dependencies list. Thanks to
-          Chris Staub for the patch.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-     <listitem>
-      <para>2007-09-21</para>
-      <itemizedlist>
-        <listitem>
-          <para>[manuel] - Fixed glibc-libidn tarball extension.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-     <listitem>
-      <para>2007-09-18</para>
-      <itemizedlist>
-        <listitem>
-          <para>[manuel] - Added remap attributes to userinput tags in packages
-          pages to help adding package manager support and other extensions
-          into jhalfs. Made all testsuite commands screen blocks for
-          consistency.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2007-09-16</para>
-      <itemizedlist>
-        <listitem>
-          <para>[manuel] - Updated Ncurses contents list and fixes some typos.
-          Thanks to Chris Staub for the patch.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-       <para>2007-09-15</para>
-      <itemizedlist>
-        <listitem>
-          <para>[matthew] - Add latest upstream patches for Vim.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgrade to Sysklogd-1.5. Fixes
-          <ulink url="&lfs-ticket-root;2055">#2055</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Add latest upstream patches for Readline. Fixes
-          <ulink url="&lfs-ticket-root;2068">#2068</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgrade to Man-pages 2.64. Fixes
-          <ulink url="&lfs-ticket-root;2061">#2061</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgrade to Linux-2.6.22.6. Fixes
-          <ulink url="&lfs-ticket-root;2070">#2070</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[jhuntwork] - Remove --with-arch for GCC and adjust CFLAGS for
-	  Glibc instead.
-	  Thanks to Robert Connolly and Dan Nicholson for investigating how best
-	  to adjust CFLAGS, and Greg Schafer for showing the technical
-	  benefits of using CFLAGS with Glibc.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Upgrade to DB-4.6.19. Fixes
-          <ulink url="&lfs-ticket-root;2051">#2051</ulink>.</para>
-        </listitem>
-        <listitem>
-          <para>[matthew] - Add latest upstream patches for Bash. Fixes
-          <ulink url="&lfs-ticket-root;2067">#2067</ulink>.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-     <listitem>
-      <para>2007-09-07</para>
-      <itemizedlist>
-        <listitem>
-          <para>[manuel] - Added sect1info metainformation blocks to packages
-          pages to help adding package manager support into jhalfs.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
     <listitem>
     <listitem>
-      <para>2007-09-03</para>
+      <para>2008-12-02</para>
       <itemizedlist>
       <itemizedlist>
         <listitem>
         <listitem>
-          <para>[jhuntwork] - Remove -m64 from binutils and gcc pass 1. Tests show that the 32-bit binary
-	  versions still produce the wanted 64-bit code.</para>
+          <para>[jhuntwork] - Moved grep up in the build order of chapter 6
+          to be before libtool which hardcodes references to grep in its installed
+          files. Was previously circumvented by a symlink, but this approach sticks
+          more closely to our build order policy. Thanks to Greg Schafer for the reminder.</para>
         </listitem>
         </listitem>
       </itemizedlist>
       </itemizedlist>
     </listitem>
     </listitem>
 
 
     <listitem>
     <listitem>
-      <para>2007-08-31</para>
+      <para>2008-12-01</para>
       <itemizedlist>
       <itemizedlist>
         <listitem>
         <listitem>
-          <para>[jhuntwork] - Update explanatory text for the use of -m64.</para>
-        </listitem>
-        <listitem>
-          <para>[jhuntwork] - Update explanatory text for GCC's --with-arch parameter.</para>
+          <para>[jhuntwork] - Adjusted the line break in the adjusting toolchain
+          section so that the output redirection does not look like a secondary
+	  bash prompt. Thanks to Chris Staub for the idea.</para>
         </listitem>
         </listitem>
-        <listitem>
-          <para>[jhuntwork] - Add --disable-bootstrap flags to GCC pass 2 and chapter 6 GCC,
-          to achieve traditional LFS build methods with GCC 4.2.1.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2007-08-30</para>
-      <itemizedlist>
-        <listitem>
-          <para>[jhuntwork] - Upgraded to FSF Binutils version 2.18.</para>
-	</listitem>
-        <listitem>
-          <para>[jhuntwork] - Use --with-arch=i486 only for x86. Also force '-m64' for 64-bit builds.
-	  Lastly, use 'make' instead of 'make bootstrap' on gcc pass 1. The bootstrap is now default.</para>
-	</listitem>
       </itemizedlist>
       </itemizedlist>
     </listitem>
     </listitem>
 
 
-
     <listitem>
     <listitem>
-      <para>2007-08-20</para>
+      <para>2008-11-23</para>
       <itemizedlist>
       <itemizedlist>
         <listitem>
         <listitem>
-          <para>[jhuntwork] - Use --with-arch=i486 on GCC instead of -march=i486 with Glibc.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
-
-    <listitem>
-      <para>2007-08-11</para>
-      <itemizedlist>
-	<listitem>
-	  <para>[jhuntwork] - Add -march=i486 to Glibc for x86 builds as default of i386 is
-          incompatible.</para>
-        </listitem>
-	<listitem>
-	  <para>[jhuntwork] - Make the sed to Glibc's test-installation.pl file
-	  architecture independent.</para>
+          <para>[ken] - Added note to gmp about CFLAGS on 64-bit-capable
+          machines.  Reported by Tobias Gasser, thanks to Greg Schafer for
+	  the analysis.</para>
         </listitem>
         </listitem>
       </itemizedlist>
       </itemizedlist>
     </listitem>
     </listitem>
 
 
-    <listitem>
-      <para>2007-08-07</para>
-      <itemizedlist>
-	<listitem>
-	  <para>[jhuntwork] - Fix Perl-5.8.8 to build with GCC-4.2.1.
-	  Have makedepend.SH check for 'command-line' as well as 'command line'.</para>
-	</listitem>
-	<listitem>
-	  <para>[jhuntwork] - Fix Coreutils-6.9 and Gzip-1.3.12 to work with Glibc-2.6.1.
-	  Rename the futimens function.</para>
-	</listitem>
-	<listitem>
-	  <para>[jhuntwork] - Use a loop, find and sed instead of the gcc specs patch</para>
-	</listitem>
-	<listitem>
-	  <para>[jhuntwork] - Upgraded to Glibc 2.6.1</para>
-	</listitem>
-	<listitem>
-	  <para>[jhuntwork] - Add --disable-shared to gcc pass 1. Requires adding
-	  a libgcc_eh.a -> libgcc.a symlink.</para>
-	</listitem>
-        <listitem>
-          <para>[jhuntwork] - Since we're using HJL Binutils, add m4, bison and flex
-	  back to chatper 5.</para>
-	</listitem>
-	<listitem>
-	  <para>[jhuntwork] - Upgraded to GCC 4.2.1</para>
-	</listitem>
-	<listitem>
-	  <para>[jhuntwork] - Upgraded to HJL Binutils-2.17.50.0.18</para>
-	</listitem>
-	<listitem>
-	  <para>[jhuntwork] - Update commands to work with both x86 and x86_64</para>
-	</listitem>
-        <listitem>
-          <para>[jhuntwork] - Use '-n' when creating /tools/lib64 symlink.
-	  Will fail if that directory or symlink already exists, instead of
-	  creating an unwanted lib -> lib symlink inside of /tools/lib. Fix
-	  from Dan Nicholson.</para>
-        </listitem>
-      </itemizedlist>
-    </listitem>
 
 
   </itemizedlist>
   </itemizedlist>
 
 

+ 9 - 9
chapter01/how.xml

@@ -18,15 +18,15 @@
   during the distribution installation to be able to access these
   during the distribution installation to be able to access these
   tools.</para>
   tools.</para>
 
 
-	<para>As an alternative to installing a separate distribution onto your
-	machine, you may wish to use the Linux From Scratch LiveCD or a LiveCD from a
-	commercial distribution.  The LFS LiveCD works well as a host system,
-	providing all the tools you need to successfully follow the instructions in
-	this book. Unfortunately, development of the LiveCD has not progressed
-	recently and it only contains older versions of the source packages and
-	patches (for those ISOs not labels -nosrc or -min), and this book.  For more
-	information about the LFS LiveCD or to download a copy, visit <ulink
-	url="&livecd-root;"/>.</para>
+  <para>As an alternative to installing a separate distribution onto your
+  machine, you may wish to use the Linux From Scratch LiveCD or a LiveCD from a
+  commercial distribution.  The LFS LiveCD works well as a host system,
+  providing all the tools you need to successfully follow the instructions in
+  this book. Unfortunately, development of the LiveCD has not progressed
+  recently and it only contains older versions of the source packages and
+  patches (for those ISOs not labels -nosrc or -min), and this book.  For more
+  information about the LFS LiveCD or to download a copy, visit <ulink
+  url="&livecd-root;"/>.</para>
 
 
   <note>
   <note>
     <para>The LFS LiveCD might not work on newer hardware configurations,
     <para>The LFS LiveCD might not work on newer hardware configurations,

+ 2 - 1
chapter01/resources.xml

@@ -62,6 +62,7 @@
 
 
   </sect2>
   </sect2>
 
 
+  <!-- Commentted out until the target link is updated
   <sect2 id="ch-intro-references">
   <sect2 id="ch-intro-references">
     <title>References</title>
     <title>References</title>
 
 
@@ -69,7 +70,7 @@
     available in the LFS Package Reference page located at <ulink
     available in the LFS Package Reference page located at <ulink
     url="http://www.linuxfromscratch.org/~matthew/LFS-references.html"/>.</para>
     url="http://www.linuxfromscratch.org/~matthew/LFS-references.html"/>.</para>
 
 
-  </sect2>
+  </sect2>  -->
 
 
   <sect2 id="ch-intro-mirrors" xreflabel="Chapter 1 - Mirror sites">
   <sect2 id="ch-intro-mirrors" xreflabel="Chapter 1 - Mirror sites">
     <title>Mirror Sites</title>
     <title>Mirror Sites</title>

+ 76 - 218
chapter01/whatsnew.xml

@@ -23,75 +23,73 @@
     <title>Upgraded to:</title>
     <title>Upgraded to:</title>
 
 
 
 
-<!--
     <listitem>
     <listitem>
       <para>None yet</para>
       <para>None yet</para>
     </listitem>
     </listitem>
--->
 
 
-    <listitem>
+    <!--<listitem>
       <para>Autoconf &autoconf-version;</para>
       <para>Autoconf &autoconf-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Automake &automake-version;</para>
       <para>Automake &automake-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
     <!--<listitem>
       <para>Bash &bash-version;</para>
       <para>Bash &bash-version;</para>
     </listitem>-->
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>Berkeley DB &db-version;</para>
       <para>Berkeley DB &db-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Binutils &binutils-version;</para>
       <para>Binutils &binutils-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
     <!--<listitem>
       <para>Bison &bison-version;</para>
       <para>Bison &bison-version;</para>
     </listitem>-->
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>Bzip2 &bzip2-version;</para>
       <para>Bzip2 &bzip2-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Coreutils &coreutils-version;</para>
       <para>Coreutils &coreutils-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
     <!--<listitem>
       <para>DejaGNU &dejagnu-version;</para>
       <para>DejaGNU &dejagnu-version;</para>
     </listitem>-->
     </listitem>-->
     <!--<listitem>
     <!--<listitem>
       <para>Diffutils &diffutils-version;</para>
       <para>Diffutils &diffutils-version;</para>
     </listitem>-->
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>E2fsprogs &e2fsprogs-version;</para>
       <para>E2fsprogs &e2fsprogs-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
     <!--<listitem>
       <para>Expect &expect-version;</para>
       <para>Expect &expect-version;</para>
     </listitem>-->
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>File &file-version;</para>
       <para>File &file-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Findutils &findutils-version;</para>
       <para>Findutils &findutils-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Flex &flex-version;</para>
       <para>Flex &flex-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Gawk &gawk-version;</para>
       <para>Gawk &gawk-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>GCC &gcc-version;</para>
       <para>GCC &gcc-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Gettext &gettext-version;</para>
       <para>Gettext &gettext-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Glibc &glibc-version;</para>
       <para>Glibc &glibc-version;</para>
-    </listitem>
+    </listitem>-->
     <!-- <listitem>
     <!-- <listitem>
       <para>GMP &gmp-version;</para>
       <para>GMP &gmp-version;</para>
     </listitem> -->
     </listitem> -->
-    <listitem>
+    <!--<listitem>
       <para>Grep &grep-version;</para>
       <para>Grep &grep-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
     <!--<listitem>
       <para>Groff &groff-version;</para>
       <para>Groff &groff-version;</para>
     </listitem>-->
     </listitem>-->
@@ -101,48 +99,48 @@
     <!--<listitem>
     <!--<listitem>
       <para>Gzip &gzip-version;</para>
       <para>Gzip &gzip-version;</para>
     </listitem>-->
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>IANA-Etc &iana-etc-version;</para>
       <para>IANA-Etc &iana-etc-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
     <!--<listitem>
       <para>Inetutils &inetutils-version;</para>
       <para>Inetutils &inetutils-version;</para>
     </listitem>-->
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>IPRoute2 &iproute2-version;</para>
       <para>IPRoute2 &iproute2-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Kbd &kbd-version;</para>
       <para>Kbd &kbd-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Less &less-version;</para>
       <para>Less &less-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>LFS-Bootscripts &lfs-bootscripts-version;</para>
       <para>LFS-Bootscripts &lfs-bootscripts-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Libtool &libtool-version;</para>
       <para>Libtool &libtool-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Linux &linux-version;</para>
       <para>Linux &linux-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>M4 &m4-version;</para>
       <para>M4 &m4-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
     <!--<listitem>
       <para>Make &make-version;</para>
       <para>Make &make-version;</para>
     </listitem>-->
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>Man-DB &man-db-version;</para>
       <para>Man-DB &man-db-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Man-pages &man-pages-version;</para>
       <para>Man-pages &man-pages-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
     <!--<listitem>
       <para>Mktemp &mktemp-version;</para>
       <para>Mktemp &mktemp-version;</para>
     </listitem>-->
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>Module-Init-Tools &module-init-tools-version;</para>
       <para>Module-Init-Tools &module-init-tools-version;</para>
-    </listitem>
+    </listitem>-->
     <!-- <listitem>
     <!-- <listitem>
       <para>MPFR &mpfr-version;</para>
       <para>MPFR &mpfr-version;</para>
     </listitem> -->
     </listitem> -->
@@ -152,51 +150,51 @@
     <!--<listitem>
     <!--<listitem>
       <para>Patch &patch-version;</para>
       <para>Patch &patch-version;</para>
     </listitem>-->
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>Perl &perl-version;</para>
       <para>Perl &perl-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
     <!--<listitem>
       <para>Procps &procps-version;</para>
       <para>Procps &procps-version;</para>
     </listitem>-->
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>Psmisc &psmisc-version;</para>
       <para>Psmisc &psmisc-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
     <!--<listitem>
       <para>Readline &readline-version;</para>
       <para>Readline &readline-version;</para>
     </listitem>-->
     </listitem>-->
     <!--<listitem>
     <!--<listitem>
       <para>Sed &sed-version;</para>
       <para>Sed &sed-version;</para>
     </listitem>-->
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>Shadow &shadow-version;</para>
       <para>Shadow &shadow-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Sysklogd &sysklogd-version;</para>
       <para>Sysklogd &sysklogd-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
     <!--<listitem>
       <para>SysVinit &sysvinit-version;</para>
       <para>SysVinit &sysvinit-version;</para>
     </listitem>-->
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>Tar &tar-version;</para>
       <para>Tar &tar-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>TCL &tcl-version;</para>
       <para>TCL &tcl-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Texinfo &texinfo-version;</para>
       <para>Texinfo &texinfo-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Udev &udev-version;</para>
       <para>Udev &udev-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>&udev-config;</para>
       <para>&udev-config;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Util-Linux-NG &util-linux-ng-version;</para>
       <para>Util-Linux-NG &util-linux-ng-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Vim &vim-version;</para>
       <para>Vim &vim-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
     <!--<listitem>
       <para>Zlib &zlib-version;</para>
       <para>Zlib &zlib-version;</para>
     </listitem>-->
     </listitem>-->
@@ -215,83 +213,7 @@
     <title>Added:</title>
     <title>Added:</title>
 
 
     <listitem>
     <listitem>
-      <para>&bash-fixes-patch;</para>
-    </listitem>
-
-    <listitem>
-      <para>&binutils-configure-patch;</para>
-    </listitem>
-
-    <listitem>
-      <para>&binutils-gcc-patch;</para>
-    </listitem>
-
-    <listitem>
-      <para>&coreutils-old-kernel-patch;</para>
-    </listitem>
-
-    <listitem>
-      <para>&db-fixes-patch;</para>
-    </listitem>
-
-    <listitem>
-      <para>&expect-tcl-patch;</para>
-    </listitem>
-
-    <listitem>
-      <para>GMP-&gmp-version;</para>
-    </listitem>
-
-    <listitem>
-      <para>&glibc-iconv-test-fixes-patch;</para>
-    </listitem>
-
-    <listitem>
-      <para>&glibc-ildoubl-test-fix-patch;</para>
-    </listitem>
-
-    <listitem>
-      <para>&grep-debian-patch;</para>
-    </listitem>
-
-    <listitem>
-      <para>&grep-fixes-patch;</para>
-    </listitem>
-
-    <listitem>
-      <para>M4 to the Chapter 5 build</para>
-    </listitem>
-
-    <listitem>
-      <para>&module-init-manpages-patch;</para>
-    </listitem>
-
-    <listitem>
-      <para>MPFR-&mpfr-version;</para>
-    </listitem>
-
-    <listitem>
-      <para>&perl-libc-patch;</para>
-    </listitem>
-
-    <listitem>
-      <para>&perl-page-patch;</para>
-    </listitem>
-
-    <listitem>
-      <para>&perl-security-patch;</para>
-    </listitem>
-
-    <listitem>
-      <para>&procps-watch-patch;</para>
-    </listitem>
-
-    <listitem>
-      <para>&readline-fixes-patch;</para>
-    </listitem>
-
-    <listitem>
-      <para>&vim-fixes-patch;</para>
+      <para>None yet</para>
     </listitem>
     </listitem>
 
 
   </itemizedlist>
   </itemizedlist>
@@ -300,71 +222,7 @@
     <title>Removed:</title>
     <title>Removed:</title>
 
 
     <listitem>
     <listitem>
-      <para>bash-3.2-fixes-5.patch</para>
-    </listitem>
-
-    <listitem>
-      <para>coreutils-6.10-i18n-1.patch</para>
-    </listitem>
-
-    <listitem>
-      <para>db-4.5.20-fixes-1.patch</para>
-    </listitem>
-
-    <listitem>
-      <para>gawk-3.1.5-segfault_fix-1.patch</para>
-    </listitem>
-
-    <listitem>
-      <para>gcc-4.1.2-specs-1.patch</para>
-    </listitem>
-
-    <listitem>
-      <para>grep-2.5.1-redhat_fixes-2.patch</para>
-   </listitem>
-
-   <listitem>
-     <para>kbd-1.12-gcc4_fixes-1.patch</para>
-   </listitem>
-
-    <listitem>
-      <para>man-db-2.4.4-fixes-1.patch</para>
-    </listitem>
-
-    <listitem>
-      <para>mktemp 1.5</para>
-    </listitem>
-
-    <listitem>
-      <para>module-init-tools-3.2.2-modprobe-1.patch</para>
-    </listitem>
-
-    <listitem>
-      <para>perl-5.8.8-libc-2.patch</para>
-    </listitem>
-
-    <listitem>
-      <para>readline-5.2-fixes-3.patch</para>
-    </listitem>
-
-    <listitem>
-      <para>shadow-4.0.18.1-useradd_fix-2.patch</para>
-    </listitem>
-
-    <listitem>
-      <para>sysklogd-1.4.1-8bit-1.patch</para>
-    </listitem>
-
-    <listitem>
-      <para>sysklogd-1.4.1-fixes-2.patch</para>
-    </listitem>
-
-    <listitem>
-      <para>Util-linux 2.12r</para>
-    </listitem>
-
-    <listitem>
-      <para>vim-7.1-fixes-6.patch</para>
+      <para>None yet</para>
     </listitem>
     </listitem>
 
 
   </itemizedlist>
   </itemizedlist>

+ 1 - 1
chapter03/introduction.xml

@@ -24,7 +24,7 @@
   url="http://www.google.com/"/>) provides a useful search engine for
   url="http://www.google.com/"/>) provides a useful search engine for
   most packages. If this search is unsuccessful, try one of the
   most packages. If this search is unsuccessful, try one of the
   alternative means of downloading discussed at <ulink
   alternative means of downloading discussed at <ulink
-  url="&lfs-root;lfs/packages.html"/>.</para>
+  url="&lfs-root;lfs/packages.html#packages"/>.</para>
 
 
   <para>Downloaded packages and patches will need to be stored somewhere
   <para>Downloaded packages and patches will need to be stored somewhere
   that is conveniently available throughout the entire build. A working
   that is conveniently available throughout the entire build. A working

+ 21 - 14
chapter03/patches.xml

@@ -66,13 +66,13 @@
       </listitem>
       </listitem>
     </varlistentry>
     </varlistentry>
 
 
-    <!-- <varlistentry>
+    <varlistentry>
       <term>Coreutils Internationalization Fixes Patch - <token>&coreutils-i18n-patch-size;</token>:</term>
       <term>Coreutils Internationalization Fixes Patch - <token>&coreutils-i18n-patch-size;</token>:</term>
       <listitem>
       <listitem>
         <para>Download: <ulink url="&patches-root;&coreutils-i18n-patch;"/></para>
         <para>Download: <ulink url="&patches-root;&coreutils-i18n-patch;"/></para>
         <para>MD5 sum: <literal>&coreutils-i18n-patch-md5;</literal></para>
         <para>MD5 sum: <literal>&coreutils-i18n-patch-md5;</literal></para>
       </listitem>
       </listitem>
-    </varlistentry> -->
+    </varlistentry>
 
 
     <varlistentry>
     <varlistentry>
       <term>Coreutils Old Kernel Patch - <token>&coreutils-old-kernel-patch-size;</token>:</term>
       <term>Coreutils Old Kernel Patch - <token>&coreutils-old-kernel-patch-size;</token>:</term>
@@ -117,24 +117,24 @@
     <varlistentry>
     <varlistentry>
       <term>Glibc Iconv Test Fixes Patch - <token>&glibc-iconv-test-fixes-patch-size;</token>:</term>
       <term>Glibc Iconv Test Fixes Patch - <token>&glibc-iconv-test-fixes-patch-size;</token>:</term>
       <listitem>
       <listitem>
-	<para>Download: <ulink url="&patches-root;&glibc-iconv-test-fixes-patch;"/></para>
-	<para>MD5 sum: <literal>&glibc-iconv-test-fixes-patch-md5;</literal></para>
+        <para>Download: <ulink url="&patches-root;&glibc-iconv-test-fixes-patch;"/></para>
+        <para>MD5 sum: <literal>&glibc-iconv-test-fixes-patch-md5;</literal></para>
       </listitem>
       </listitem>
     </varlistentry>
     </varlistentry>
 
 
     <varlistentry>
     <varlistentry>
       <term>Glibc Ildoubl Test Fix Patch - <token>&glibc-ildoubl-test-fix-patch-size;</token>:</term>
       <term>Glibc Ildoubl Test Fix Patch - <token>&glibc-ildoubl-test-fix-patch-size;</token>:</term>
       <listitem>
       <listitem>
-	<para>Download: <ulink url="&patches-root;&glibc-ildoubl-test-fix-patch;"/></para>
-	<para>MD5 sum: <literal>&glibc-ildoubl-test-fix-patch-md5;</literal></para>
+        <para>Download: <ulink url="&patches-root;&glibc-ildoubl-test-fix-patch;"/></para>
+        <para>MD5 sum: <literal>&glibc-ildoubl-test-fix-patch-md5;</literal></para>
       </listitem>
       </listitem>
     </varlistentry>
     </varlistentry>
 
 
     <varlistentry>
     <varlistentry>
       <term>Grep Debian Patch - <token>&grep-debian-patch-size;</token>:</term>
       <term>Grep Debian Patch - <token>&grep-debian-patch-size;</token>:</term>
       <listitem>
       <listitem>
-	<para>Download: <ulink url="&patches-root;&grep-debian-patch;"/></para>
-	<para>MD5 sum: <literal>&grep-debian-patch-md5;</literal></para>
+        <para>Download: <ulink url="&patches-root;&grep-debian-patch;"/></para>
+        <para>MD5 sum: <literal>&grep-debian-patch-md5;</literal></para>
       </listitem>
       </listitem>
     </varlistentry>
     </varlistentry>
 
 
@@ -194,15 +194,23 @@
       </listitem>
       </listitem>
     </varlistentry>
     </varlistentry>
 
 
-    <varlistentry>
+    <!-- <varlistentry>
       <term>Perl Libc Patch - <token>&perl-libc-patch-size;</token>:</term>
       <term>Perl Libc Patch - <token>&perl-libc-patch-size;</token>:</term>
       <listitem>
       <listitem>
         <para>Download: <ulink url="&patches-root;&perl-libc-patch;"/></para>
         <para>Download: <ulink url="&patches-root;&perl-libc-patch;"/></para>
         <para>MD5 sum: <literal>&perl-libc-patch-md5;</literal></para>
         <para>MD5 sum: <literal>&perl-libc-patch-md5;</literal></para>
       </listitem>
       </listitem>
-    </varlistentry>
+    </varlistentry> -->
 
 
     <varlistentry>
     <varlistentry>
+      <term>Perl Consolidated Patch - <token>&perl-consolidated-patch-size;</token>:</term>
+      <listitem>
+        <para>Download: <ulink url="&patches-root;&perl-consolidated-patch;"/></para>
+        <para>MD5 sum: <literal>&perl-consolidated-patch-md5;</literal></para>
+      </listitem>
+    </varlistentry>
+
+    <!-- <varlistentry>
       <term>Perl Page Patch - <token>&perl-page-patch-size;</token>:</term>
       <term>Perl Page Patch - <token>&perl-page-patch-size;</token>:</term>
       <listitem>
       <listitem>
         <para>Download: <ulink url="&patches-root;&perl-page-patch;"/></para>
         <para>Download: <ulink url="&patches-root;&perl-page-patch;"/></para>
@@ -216,7 +224,7 @@
         <para>Download: <ulink url="&patches-root;&perl-security-patch;"/></para>
         <para>Download: <ulink url="&patches-root;&perl-security-patch;"/></para>
         <para>MD5 sum: <literal>&perl-security-patch-md5;</literal></para>
         <para>MD5 sum: <literal>&perl-security-patch-md5;</literal></para>
       </listitem>
       </listitem>
-    </varlistentry>
+    </varlistentry> -->
 
 
     <varlistentry>
     <varlistentry>
       <term>Procps Watch Patch - <token>&procps-watch-patch-size;</token>:</term>
       <term>Procps Watch Patch - <token>&procps-watch-patch-size;</token>:</term>
@@ -242,7 +250,6 @@
       </listitem>
       </listitem>
     </varlistentry> -->
     </varlistentry> -->
 
 
-
     <varlistentry>
     <varlistentry>
       <term>Vim Fixes Patch - <token>&vim-fixes-patch-size;</token>:</term>
       <term>Vim Fixes Patch - <token>&vim-fixes-patch-size;</token>:</term>
       <listitem>
       <listitem>
@@ -251,13 +258,13 @@
       </listitem>
       </listitem>
     </varlistentry>
     </varlistentry>
 
 
-    <varlistentry>
+    <!-- <varlistentry>
       <term>Vim Man Directories Patch - <token>&vim-mandir-patch-size;</token>:</term>
       <term>Vim Man Directories Patch - <token>&vim-mandir-patch-size;</token>:</term>
       <listitem>
       <listitem>
         <para>Download: <ulink url="&patches-root;&vim-mandir-patch;"/></para>
         <para>Download: <ulink url="&patches-root;&vim-mandir-patch;"/></para>
         <para>MD5 sum: <literal>&vim-mandir-patch-md5;</literal></para>
         <para>MD5 sum: <literal>&vim-mandir-patch-md5;</literal></para>
       </listitem>
       </listitem>
-    </varlistentry>
+    </varlistentry> -->
 
 
   </variablelist>
   </variablelist>
 
 

+ 2 - 2
chapter05/adjusting.xml

@@ -46,8 +46,8 @@ ln -sv /tools/bin/ld /tools/$(gcc -dumpmachine)/bin/ld</userinput></screen>
   of the dynamic linker, if necessary.</para>
   of the dynamic linker, if necessary.</para>
 
 
 <!-- Ampersands are needed to allow copy and paste -->
 <!-- Ampersands are needed to allow copy and paste -->
-<screen><userinput>gcc -dumpspecs | sed 's@/lib\(64\)\?/ld@/tools&amp;@g' \
-  &gt; `dirname $(gcc -print-libgcc-file-name)`/specs</userinput></screen>
+<screen><userinput>gcc -dumpspecs | sed 's@/lib\(64\)\?/ld@/tools&amp;@g' &gt; \
+  `dirname $(gcc -print-libgcc-file-name)`/specs</userinput></screen>
 
 
   <para>During the build process, GCC runs a script
   <para>During the build process, GCC runs a script
   (<command>fixincludes</command>) that scans the system for header files
   (<command>fixincludes</command>) that scans the system for header files

+ 15 - 3
chapter05/bash.xml

@@ -50,10 +50,11 @@
 
 
     <para>Prepare Bash for compilation:</para>
     <para>Prepare Bash for compilation:</para>
 
 
-<screen><userinput remap="configure">./configure --prefix=/tools --without-bash-malloc</userinput></screen>
+<screen><userinput remap="configure">./configure --prefix=/tools --without-bash-malloc \
+   ac_cv_func_working_mktime=yes</userinput></screen>
 
 
     <variablelist>
     <variablelist>
-      <title>The meaning of the configure option:</title>
+      <title>The meaning of the configure options:</title>
 
 
       <varlistentry>
       <varlistentry>
         <term><parameter>--without-bash-malloc</parameter></term>
         <term><parameter>--without-bash-malloc</parameter></term>
@@ -65,6 +66,14 @@
           more stable.</para>
           more stable.</para>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
+      <varlistentry>
+        <term><parameter>ac_cv_func_working_mktime=yes</parameter></term>
+        <listitem>
+          <para>This parameter bypasses the search for mktime in configure
+          and uses the version in glibc. The is necessary due to a change in
+          gcc that has not been incorporated into this package yet.</para>
+        </listitem>
+      </varlistentry>
 
 
     </variablelist>
     </variablelist>
 
 
@@ -72,7 +81,10 @@
 
 
 <screen><userinput remap="make">make</userinput></screen>
 <screen><userinput remap="make">make</userinput></screen>
 
 
-    <para>To test the results, issue:</para>
+    <para>Compilation is now complete. As discussed earlier, running the test
+    suite is not mandatory for the temporary tools here in this chapter. To run
+    the Bash test suite anyway, issue the following command:</para>
+
 
 
 <screen><userinput remap="test">make tests</userinput></screen>
 <screen><userinput remap="test">make tests</userinput></screen>
 
 

+ 1 - 0
chapter05/chapter05.xml

@@ -13,6 +13,7 @@
 
 
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="toolchaintechnotes.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="toolchaintechnotes.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="generalinstructions.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="binutils-pass1.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="binutils-pass1.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc-pass1.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gcc-pass1.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="linux-headers.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="linux-headers.xml"/>

+ 8 - 6
chapter05/coreutils.xml

@@ -70,7 +70,9 @@
 
 
 <screen><userinput remap="make">make</userinput></screen>
 <screen><userinput remap="make">make</userinput></screen>
 
 
-    <para>To test the results, issue:</para>
+    <para>Compilation is now complete. As discussed earlier, running the test
+    suite is not mandatory for the temporary tools here in this chapter. To run
+    the Coreutils test suite anyway, issue the following command:</para>
 
 
 <screen><userinput remap="test">make RUN_EXPENSIVE_TESTS=yes check</userinput></screen>
 <screen><userinput remap="test">make RUN_EXPENSIVE_TESTS=yes check</userinput></screen>
 
 
@@ -84,11 +86,11 @@
 <screen><userinput remap="install">make install</userinput></screen>
 <screen><userinput remap="install">make install</userinput></screen>
 
 
     <para>The above command refuses to install <filename>su</filename>
     <para>The above command refuses to install <filename>su</filename>
-    because it cannot install it setuid root as a non-privileged user. By
-    manually installing it with a different name, we can use it for running
-    tests in the final system as a non-privileged user and we keep a possibly
-    useful <command>su</command> from our host first place in our PATH. Install
-    it with:</para>
+    because the program cannot be installed setuid root as a non-privileged
+    user. By manually installing it with a different name, we can use it for
+    running tests in the final system as a non-privileged user and we keep a
+    possibly useful <command>su</command> from our host first in our PATH.
+    Install it with:</para>
 
 
 <screen><userinput remap="install">cp -v src/su /tools/bin/su-tools</userinput></screen>
 <screen><userinput remap="install">cp -v src/su /tools/bin/su-tools</userinput></screen>
 
 

+ 2 - 3
chapter05/dejagnu.xml

@@ -49,9 +49,8 @@
 
 
 <screen><userinput remap="install">make install</userinput></screen>
 <screen><userinput remap="install">make install</userinput></screen>
 
 
-    <para>To test the results, issue:</para>
-
-<screen><userinput remap="test">make check</userinput></screen>
+    <para>This package does come with a test suite, however, it cannot be
+    run at this time because we do not have a C++ compiler yet.</para>
 
 
   </sect2>
   </sect2>
 
 

+ 5 - 0
chapter05/e2fsprogs.xml

@@ -60,6 +60,11 @@ cd build</userinput></screen>
 
 
 <screen><userinput remap="install">make install-libs</userinput></screen>
 <screen><userinput remap="install">make install-libs</userinput></screen>
 
 
+    <para>Make the installed static libraries writable so debugging symbols can 
+    be removed later.</para>
+
+<screen><userinput remap="install">chmod -v u+w /tools/lib/{libblkid,libcom_err,libe2p,libext2fs,libss,libuuid}.a</userinput></screen>
+
   </sect2>
   </sect2>
 
 
   <sect2 role="content">
   <sect2 role="content">

+ 3 - 1
chapter05/expect.xml

@@ -101,7 +101,9 @@ sed 's:/usr/local/bin:/bin:' configure.orig &gt; configure</userinput></screen>
 
 
 <screen><userinput remap="make">make</userinput></screen>
 <screen><userinput remap="make">make</userinput></screen>
 
 
-    <para>To test the results, issue:</para>
+    <para>Compilation is now complete. As discussed earlier, running the test
+    suite is not mandatory for the temporary tools here in this chapter. To run
+    the Expect test suite anyway, issue the following command:</para>
 
 
 <screen><userinput remap="test">make test</userinput></screen>
 <screen><userinput remap="test">make test</userinput></screen>
 
 

+ 3 - 1
chapter05/findutils.xml

@@ -51,7 +51,9 @@
 
 
 <screen><userinput remap="make">make</userinput></screen>
 <screen><userinput remap="make">make</userinput></screen>
 
 
-    <para>To test the results, issue:</para>
+    <para>Compilation is now complete. As discussed earlier, running the test
+    suite is not mandatory for the temporary tools here in this chapter. To run
+    the Findutils test suite anyway, issue the following command:</para>
 
 
 <screen><userinput remap="test">make check</userinput></screen>
 <screen><userinput remap="test">make check</userinput></screen>
 
 

+ 18 - 2
chapter05/gawk.xml

@@ -45,12 +45,28 @@
 
 
     <para>Prepare Gawk for compilation:</para>
     <para>Prepare Gawk for compilation:</para>
 
 
-<screen><userinput remap="configure">./configure --prefix=/tools</userinput></screen>
+<screen><userinput remap="configure">./configure --prefix=/tools ac_cv_func_working_mktime=yes</userinput></screen>
 
 
-    <para>Compile the package:</para>
+    <variablelist>
+      <title>The meaning of the configure option:</title>
+
+      <varlistentry>
+        <term><parameter>ac_cv_func_working_mktime=yes</parameter></term>
+        <listitem>
+          <para>This parameter bypasses the search for mktime in configure
+          and uses the version in glibc. This is necessary due to a change in
+          gcc that has not been incorporated into this package yet.</para>
+        </listitem>
+      </varlistentry>
+
+    </variablelist>
 
 
 <screen><userinput remap="make">make</userinput></screen>
 <screen><userinput remap="make">make</userinput></screen>
 
 
+    <para>Compilation is now complete. As discussed earlier, running the test
+    suite is not mandatory for the temporary tools here in this chapter. To run
+    the Gawk test suite anyway, issue the following command:</para>
+
     <para>To test the results, issue:</para>
     <para>To test the results, issue:</para>
 
 
 <screen><userinput remap="test">make check</userinput></screen>
 <screen><userinput remap="test">make check</userinput></screen>

+ 10 - 1
chapter05/gcc-pass1.xml

@@ -98,10 +98,19 @@ cd ../gcc-build</userinput></screen>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
+      <varlistentry>
+        <term><parameter>--disable-libssp</parameter></term>
+        <listitem>
+          <para>This switch prevents a conflict with older versions of 
+          glibc which can cause the build to fail.</para>
+        </listitem>
+      </varlistentry>
+
       <varlistentry>
       <varlistentry>
         <term><parameter>--enable-languages=c</parameter></term>
         <term><parameter>--enable-languages=c</parameter></term>
         <listitem>
         <listitem>
-          <para>This option ensures that only the C compiler is built.</para>
+          <para>This option ensures that only the C compiler is built.
+          This is the only language needed now.</para>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 

+ 71 - 0
chapter05/generalinstructions.xml

@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+  <!ENTITY % general-entities SYSTEM "../general.ent">
+  %general-entities;
+]>
+
+<sect1 id="ch-tools-generalinstructions">
+  <?dbhtml filename="generalinstructions.html"?>
+
+  <title>General Compilation Instructions</title>
+
+  <para>When building packages there are several assumptions made within 
+  the instructions:</para>
+
+  <itemizedlist>
+
+  <listitem>
+    <para>Several of the packages are patched before compilation, but only when
+    the patch is needed to circumvent a problem. A patch is often needed in
+    both this and the next chapter, but sometimes in only one or the other.
+    Therefore, do not be concerned if instructions for a downloaded patch seem
+    to be missing.  Warning messages about <emphasis>offset</emphasis> or
+    <emphasis>fuzz</emphasis> may also be encountered when applying a patch. Do
+    not worry about these warnings, as the patch was still successfully
+    applied.</para>
+  </listitem>
+
+  <listitem>
+    <para>During the compilation of most packages, there will be several
+    warnings that scroll by on the screen. These are normal and can safely be
+    ignored.  These warnings are as they appear&mdash;warnings about
+    deprecated, but not invalid, use of the C or C++ syntax. C standards change
+    fairly often, and some packages still use the older standard. This is not a
+    problem, but does prompt the warning.</para>
+
+    <important>
+      <para>After installing each package, delete its source and build
+      directories, unless specifically instructed otherwise. Deleting the
+      sources prevents mis-configuration when the same package is reinstalled
+      later.</para>
+    </important>
+  </listitem>
+
+  <listitem>
+    <para>Check one last time that the <envar>LFS</envar> environment variable
+    is set up properly:</para>
+
+<screen role="nodump"><userinput>echo $LFS</userinput></screen>
+
+    <para>Make sure the output shows the path to the LFS partition's mount
+    point, which is <filename class="directory">/mnt/lfs</filename>, using our
+    example.</para>
+  </listitem>
+
+  <listitem>
+
+    <para>Finally, one last important item must be emphasized:</para>
+
+    <important>
+      <para>Before issuing the build instructions for a package, the package
+      should be unpacked as user <systemitem class="username">lfs</systemitem>,
+      and a <command>cd</command> into the created directory should be
+      performed.  The build instructions assume that the
+      <command>bash</command> shell is in use.</para>
+    </important>
+  </listitem>
+
+  </itemizedlist>
+
+</sect1>

+ 14 - 3
chapter05/grep.xml

@@ -46,10 +46,11 @@
     <para>Prepare Grep for compilation:</para>
     <para>Prepare Grep for compilation:</para>
 
 
 <screen><userinput remap="configure">./configure --prefix=/tools \
 <screen><userinput remap="configure">./configure --prefix=/tools \
-    --disable-perl-regexp</userinput></screen>
+    --disable-perl-regexp \
+    --without-included-regex</userinput></screen>
 
 
     <variablelist>
     <variablelist>
-      <title>The meaning of the configure option:</title>
+      <title>The meaning of the configure switches:</title>
 
 
       <varlistentry>
       <varlistentry>
         <term><parameter>--disable-perl-regexp</parameter></term>
         <term><parameter>--disable-perl-regexp</parameter></term>
@@ -61,13 +62,23 @@
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
+      <varlistentry>
+        <term><parameter>--without-included-regex</parameter></term>
+        <listitem>
+          <para>The configure check for glibc's regex library is broken when
+          building against glibc-2.8.  This switch forces the use of glibc's
+          regex library.</para>
+        </listitem>
+      </varlistentry>
     </variablelist>
     </variablelist>
 
 
     <para>Compile the package:</para>
     <para>Compile the package:</para>
 
 
 <screen><userinput remap="make">make</userinput></screen>
 <screen><userinput remap="make">make</userinput></screen>
 
 
-    <para>To test the results, issue:</para>
+    <para>Compilation is now complete. As discussed earlier, running the test
+    suite is not mandatory for the temporary tools here in this chapter. To run
+    the Grep test suite anyway, issue the following command:</para>
 
 
 <screen><userinput remap="test">make check</userinput></screen>
 <screen><userinput remap="test">make check</userinput></screen>
 
 

+ 3 - 1
chapter05/gzip.xml

@@ -60,7 +60,9 @@ done</userinput></screen>
 
 
 <screen><userinput remap="make">make</userinput></screen>
 <screen><userinput remap="make">make</userinput></screen>
 
 
-    <para>To test the results, issue:</para>
+    <para>Compilation is now complete. As discussed earlier, running the test
+    suite is not mandatory for the temporary tools here in this chapter. To run
+    the Gzip test suite anyway, issue the following command:</para>
 
 
 <screen><userinput remap="test">make check</userinput></screen>
 <screen><userinput remap="test">make check</userinput></screen>
 
 

+ 1 - 39
chapter05/introduction.xml

@@ -10,7 +10,7 @@
 
 
   <title>Introduction</title>
   <title>Introduction</title>
 
 
-  <para>This chapter shows how to compile and install a minimal Linux system.
+  <para>This chapter shows how to build a minimal Linux system.
   This system will contain just enough tools to start constructing the final
   This system will contain just enough tools to start constructing the final
   LFS system in <xref linkend="chapter-building-system"/> and allow a working
   LFS system in <xref linkend="chapter-building-system"/> and allow a working
   environment with more user convenience than a minimum environment would.</para>
   environment with more user convenience than a minimum environment would.</para>
@@ -26,42 +26,4 @@
   production directories. Since the packages compiled here are temporary,
   production directories. Since the packages compiled here are temporary,
   we do not want them to pollute the soon-to-be LFS system.</para>
   we do not want them to pollute the soon-to-be LFS system.</para>
 
 
-  <important>
-    <para>Before issuing the build instructions for a package, the package
-    should be unpacked as user <systemitem class="username">lfs</systemitem>,
-    and a <command>cd</command> into the created directory should be performed.
-    The build instructions assume that the <command>bash</command> shell is
-    in use.</para>
-  </important>
-
-  <para>Several of the packages are patched before compilation, but only when
-  the patch is needed to circumvent a problem. A patch is often needed in both
-  this and the next chapter, but sometimes in only one or the other. Therefore,
-  do not be concerned if instructions for a downloaded patch seem to be missing.
-  Warning messages about <emphasis>offset</emphasis> or <emphasis>fuzz</emphasis>
-  may also be encountered when applying a patch. Do not worry about these
-  warnings, as the patch was still successfully applied.</para>
-
-  <para>During the compilation of most packages, there will be several warnings
-  that scroll by on the screen. These are normal and can safely be ignored.
-  These warnings are as they appear&mdash;warnings about deprecated, but not
-  invalid, use of the C or C++ syntax. C standards change fairly often, and
-  some packages still use the older standard. This is not a problem, but does
-  prompt the warning.</para>
-
-  <important>
-    <para>After installing each package, delete its source and build directories,
-    unless specifically instructed otherwise. Deleting the sources prevents
-    mis-configuration when the same package is reinstalled later.</para>
-  </important>
-
-  <para>Check one last time that the <envar>LFS</envar> environment
-  variable is set up properly:</para>
-
-<screen role="nodump"><userinput>echo $LFS</userinput></screen>
-
-  <para>Make sure the output shows the path to the LFS partition's mount
-  point, which is <filename class="directory">/mnt/lfs</filename>, using
-  our example.</para>
-
 </sect1>
 </sect1>

+ 11 - 4
chapter05/linux-headers.xml

@@ -44,14 +44,21 @@
     <title>Installation of Linux API Headers</title>
     <title>Installation of Linux API Headers</title>
 
 
     <para>The Linux kernel needs to expose an Application Programming Interface
     <para>The Linux kernel needs to expose an Application Programming Interface
-    (API) for the system's C library (Glibc in LFS) to utilize.  This is done
+    (API) for the system's C library (Glibc in LFS) to use.  This is done
     by way of sanitizing various C header files that are shipped in the Linux
     by way of sanitizing various C header files that are shipped in the Linux
     kernel source tarball.</para>
     kernel source tarball.</para>
 
 
-    <para>Install the header files:</para>
+    <para>First, make sure there are no stale files and dependencies lying around
+    from previous activity:</para>
 
 
-<screen><userinput remap="install">make mrproper
-make headers_check
+<screen><userinput remap="install">make mrproper</userinput></screen>
+
+    <para>Now test and extract the user-visible kernel headers from the source.
+    They are placed in an intermediate local directory and copied to the needed
+    location because the extraction process removes any existing files in 
+    the target directory.</para>
+
+<screen><userinput remap="install">make headers_check
 make INSTALL_HDR_PATH=dest headers_install
 make INSTALL_HDR_PATH=dest headers_install
 cp -rv dest/include/* /tools/include</userinput></screen>
 cp -rv dest/include/* /tools/include</userinput></screen>
 
 

+ 3 - 1
chapter05/m4.xml

@@ -51,7 +51,9 @@
 
 
 <screen><userinput remap="make">make</userinput></screen>
 <screen><userinput remap="make">make</userinput></screen>
 
 
-    <para>To test the results, issue:</para>
+    <para>Compilation is now complete. As discussed earlier, running the test
+    suite is not mandatory for the temporary tools here in this chapter. To run
+    the M4 test suite anyway, issue the following command:</para>
 
 
 <screen><userinput remap="test">make check</userinput></screen>
 <screen><userinput remap="test">make check</userinput></screen>
 
 

+ 3 - 1
chapter05/make.xml

@@ -50,7 +50,9 @@
 
 
 <screen><userinput remap="make">make</userinput></screen>
 <screen><userinput remap="make">make</userinput></screen>
 
 
-    <para>To test the results, issue:</para>
+    <para>Compilation is now complete. As discussed earlier, running the test
+    suite is not mandatory for the temporary tools here in this chapter. To run
+    the Make test suite anyway, issue the following command:</para>
 
 
 <screen><userinput remap="test">make check</userinput></screen>
 <screen><userinput remap="test">make check</userinput></screen>
 
 

+ 5 - 1
chapter05/ncurses.xml

@@ -77,7 +77,11 @@
 
 
 <screen><userinput remap="make">make</userinput></screen>
 <screen><userinput remap="make">make</userinput></screen>
 
 
-    <para>This package does not come with a test suite.</para>
+    <para>This package has a test suite, but it can only be run after the
+    package has been installed.  The tests reside in the
+    <filename class="directory">test/</filename> directory.  See the
+    <filename>README</filename> file in that directory for further details.
+    </para>
 
 
     <para>Install the package:</para>
     <para>Install the package:</para>
 
 

+ 5 - 4
chapter05/perl.xml

@@ -43,10 +43,10 @@
   <sect2 role="installation">
   <sect2 role="installation">
     <title>Installation of Perl</title>
     <title>Installation of Perl</title>
 
 
-    <para>First adapt some hard-wired paths to the C library by applying
-    the following patch:</para>
+    <para>First apply a series of patches to address security issues and adapt some 
+    hard-wired paths to the C library by applying the following patch:</para>
 
 
-<screen><userinput remap="pre">patch -Np1 -i ../&perl-libc-patch;</userinput></screen>
+<screen><userinput remap="pre">patch -Np1 -i ../&perl-consolidated-patch;</userinput></screen>
 
 
     <!-- <para>Fix an incompatibility with gcc-&gcc-version;:</para>
     <!-- <para>Fix an incompatibility with gcc-&gcc-version;:</para>
 
 
@@ -57,7 +57,8 @@ sed 's/command /command[ -]/' makedepend.SH.orig &gt; makedepend.SH</userinput><
     'Data/Dumper Fcntl IO POSIX' part of the command correct&mdash;they are all
     'Data/Dumper Fcntl IO POSIX' part of the command correct&mdash;they are all
     letters):</para>
     letters):</para>
 
 
-<screen><userinput remap="configure">./configure.gnu --prefix=/tools -Dstatic_ext='Data/Dumper Fcntl IO POSIX'</userinput></screen>
+<screen><userinput remap="configure">sh Configure -des -Dprefix=/tools \
+                  -Dstatic_ext='Data/Dumper Fcntl IO POSIX'</userinput></screen>
 
 
     <variablelist>
     <variablelist>
       <title>The meaning of the configure options:</title>
       <title>The meaning of the configure options:</title>

+ 3 - 1
chapter05/sed.xml

@@ -51,7 +51,9 @@
 
 
 <screen><userinput remap="make">make</userinput></screen>
 <screen><userinput remap="make">make</userinput></screen>
 
 
-    <para>To test the results, issue:</para>
+    <para>Compilation is now complete. As discussed earlier, running the test
+    suite is not mandatory for the temporary tools here in this chapter. To run
+    the Sed test suite anyway, issue the following command:</para>
 
 
 <screen><userinput remap="test">make check</userinput></screen>
 <screen><userinput remap="test">make check</userinput></screen>
 
 

+ 2 - 3
chapter05/stripping.xml

@@ -18,9 +18,8 @@
 <screen><userinput>strip --strip-debug /tools/lib/*
 <screen><userinput>strip --strip-debug /tools/lib/*
 strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
 strip --strip-unneeded /tools/{,s}bin/*</userinput></screen>
 
 
-  <para>The last of the above commands will skip some twenty files,
-  reporting that it does not recognize their file format. Most of these
-  are scripts instead of binaries.</para>
+  <para>These commands will skip a number of files, reporting that it does not
+  recognize their file format. Most of these are scripts instead of binaries.</para>
 
 
   <para>Take care <emphasis>not</emphasis> to use
   <para>Take care <emphasis>not</emphasis> to use
   <parameter>--strip-unneeded</parameter> on the libraries. The static
   <parameter>--strip-unneeded</parameter> on the libraries. The static

+ 3 - 1
chapter05/tar.xml

@@ -51,7 +51,9 @@
 
 
 <screen><userinput remap="make">make</userinput></screen>
 <screen><userinput remap="make">make</userinput></screen>
 
 
-    <para>To test the results, issue:</para>
+    <para>Compilation is now complete. As discussed earlier, running the test
+    suite is not mandatory for the temporary tools here in this chapter. To run
+    the Tar test suite anyway, issue the following command:</para>
 
 
 <screen><userinput remap="test">make check</userinput></screen>
 <screen><userinput remap="test">make check</userinput></screen>
 
 

+ 9 - 2
chapter05/tcl.xml

@@ -57,11 +57,13 @@
 
 
 <screen><userinput remap="make">make</userinput></screen>
 <screen><userinput remap="make">make</userinput></screen>
 
 
-    <para>To test the results, issue:</para>
+    <para>Compilation is now complete. As discussed earlier, running the test
+    suite is not mandatory for the temporary tools here in this chapter. To run
+    the Tcl test suite anyway, issue the following command:</para>
 
 
 <screen><userinput remap="test">TZ=UTC make test</userinput></screen>
 <screen><userinput remap="test">TZ=UTC make test</userinput></screen>
 
 
-    <para>The Tcl test suite is known to experience failures under certain host
+    <para>The Tcl test suite may experience failures under certain host
     conditions that are not fully understood. Therefore, test suite failures
     conditions that are not fully understood. Therefore, test suite failures
     here are not surprising, and are not considered critical. The
     here are not surprising, and are not considered critical. The
     <parameter>TZ=UTC</parameter> parameter sets the time zone to Coordinated
     <parameter>TZ=UTC</parameter> parameter sets the time zone to Coordinated
@@ -74,6 +76,11 @@
 
 
 <screen><userinput remap="install">make install</userinput></screen>
 <screen><userinput remap="install">make install</userinput></screen>
 
 
+    <para>Make the installed library writable so debugging symbols can
+    be removed later:</para>
+
+<screen><userinput remap="install">chmod -v u+w /tools/lib/libtcl8.5.so</userinput></screen>
+
     <para>Install Tcl's headers. The next package, Expect, requires them
     <para>Install Tcl's headers. The next package, Expect, requires them
     to build.</para>
     to build.</para>
 
 

+ 3 - 1
chapter05/texinfo.xml

@@ -51,7 +51,9 @@
 
 
 <screen><userinput remap="make">make</userinput></screen>
 <screen><userinput remap="make">make</userinput></screen>
 
 
-    <para>To test the results, issue:</para>
+    <para>Compilation is now complete. As discussed earlier, running the test
+    suite is not mandatory for the temporary tools here in this chapter. To run
+    the Texinfo test suite anyway, issue the following command:</para>
 
 
 <screen><userinput remap="test">make check</userinput></screen>
 <screen><userinput remap="test">make check</userinput></screen>
 
 

+ 2 - 2
chapter05/toolchaintechnotes.xml

@@ -142,8 +142,8 @@ checking what linker to use... /tools/i686-pc-linux-gnu/bin/ld</computeroutput><
   through the end of this chapter will use the new dynamic linker in
   through the end of this chapter will use the new dynamic linker in
   <filename class="directory">/tools/lib</filename>.</para>
   <filename class="directory">/tools/lib</filename>.</para>
 
 
-  <para>The need to use the new dynamic linker is also the reason why
-  the Specs patch is applied for the second pass of GCC. Failure to do
+  <para>For the second pass of GCC, its sources also need to be modified
+  to tell GCC to use the new dynamic linker. Failure to do
   so will result in the GCC programs themselves having the name of the
   so will result in the GCC programs themselves having the name of the
   dynamic linker from the host system's <filename
   dynamic linker from the host system's <filename
   class="directory">/lib</filename> directory embedded into them, which
   class="directory">/lib</filename> directory embedded into them, which

+ 1 - 1
chapter05/util-linux-ng.xml

@@ -60,7 +60,7 @@ make -C text-utils more</userinput></screen>
         <term><parameter>BLKID_LIBS="-lblkid -luuid"</parameter></term>
         <term><parameter>BLKID_LIBS="-lblkid -luuid"</parameter></term>
         <listitem>
         <listitem>
           <para>When building only a subset of the package, the
           <para>When building only a subset of the package, the
-          <filename class="libraryfile">libuuid.so</filename> library is not
+          <filename class="libraryfile">libuuid.a</filename> library is not
           pulled into the build as it is supposed to. This command overrides
           pulled into the build as it is supposed to. This command overrides
           the default from the <filename>Makefile</filename>.</para>
           the default from the <filename>Makefile</filename>.</para>
         </listitem>
         </listitem>

+ 1 - 1
chapter06/bash.xml

@@ -55,7 +55,7 @@ sed -i "s|htmldir = @htmldir@|htmldir = /usr/share/doc/bash-&bash-version;|" \
     <para>Prepare Bash for compilation:</para>
     <para>Prepare Bash for compilation:</para>
 
 
 <screen><userinput remap="configure">./configure --prefix=/usr --bindir=/bin \
 <screen><userinput remap="configure">./configure --prefix=/usr --bindir=/bin \
-    --without-bash-malloc --with-installed-readline</userinput></screen>
+    --without-bash-malloc --with-installed-readline ac_cv_func_working_mktime=yes</userinput></screen>
 
 
     <variablelist>
     <variablelist>
       <title>The meaning of the configure options:</title>
       <title>The meaning of the configure options:</title>

+ 2 - 2
chapter06/chapter06.xml

@@ -34,6 +34,7 @@
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bison.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bison.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ncurses.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="ncurses.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="procps.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="procps.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grep.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="libtool.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="libtool.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="zlib.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="zlib.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="perl.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="perl.xml"/>
@@ -44,12 +45,11 @@
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bzip2.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="bzip2.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="diffutils.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="diffutils.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="file.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="file.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gawk.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="findutils.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="findutils.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="flex.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="flex.xml"/>
 <!--  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grub.xml"/> -->
 <!--  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grub.xml"/> -->
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gawk.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gettext.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gettext.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="grep.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="groff.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="groff.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gzip.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gzip.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="inetutils.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="inetutils.xml"/>

+ 3 - 3
chapter06/coreutils.xml

@@ -56,7 +56,7 @@ esac</userinput></screen>
 
 
 <screen><userinput remap="pre">patch -Np1 -i ../&coreutils-old-kernel-patch;</userinput></screen>
 <screen><userinput remap="pre">patch -Np1 -i ../&coreutils-old-kernel-patch;</userinput></screen>
 
 
-    <!-- <para>POSIX requires that programs from Coreutils recognize character
+    <para>POSIX requires that programs from Coreutils recognize character
     boundaries correctly even in multibyte locales. The following patch
     boundaries correctly even in multibyte locales. The following patch
     fixes this non-compliance and other internationalization-related bugs:</para>
     fixes this non-compliance and other internationalization-related bugs:</para>
 
 
@@ -66,7 +66,7 @@ esac</userinput></screen>
       <para>In the past, many bugs were found in this patch. When reporting new
       <para>In the past, many bugs were found in this patch. When reporting new
       bugs to Coreutils maintainers, please check first if they are reproducible
       bugs to Coreutils maintainers, please check first if they are reproducible
       without this patch.</para>
       without this patch.</para>
-    </note> -->
+    </note>
 
 
     <para>Now prepare Coreutils for compilation:</para>
     <para>Now prepare Coreutils for compilation:</para>
 
 
@@ -108,7 +108,7 @@ esac</userinput></screen>
     <para>Fix some of the permissions so that the non-root user can compile and
     <para>Fix some of the permissions so that the non-root user can compile and
     run the tests:</para>
     run the tests:</para>
 
 
-<screen><userinput remap="test">chown -v nobody gnulib-tests/.deps</userinput></screen>
+<screen><userinput remap="test">chown -Rv nobody config.log {gnulib-tests,lib,src}/.deps</userinput></screen>
 
 
     <para>Now run the tests:</para>
     <para>Now run the tests:</para>
 
 

+ 1 - 1
chapter06/createfiles.xml

@@ -39,7 +39,7 @@
   replaced by real files throughout the course of this chapter after the software
   replaced by real files throughout the course of this chapter after the software
   has been installed:</para>
   has been installed:</para>
 
 
-<screen><userinput>ln -sv /tools/bin/{bash,cat,echo,grep,pwd,stty} /bin
+<screen><userinput>ln -sv /tools/bin/{bash,cat,echo,pwd,stty} /bin
 ln -sv /tools/bin/perl /usr/bin
 ln -sv /tools/bin/perl /usr/bin
 ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib
 ln -sv /tools/lib/libgcc_s.so{,.1} /usr/lib
 ln -sv /tools/lib/libstdc++.so{,.6} /usr/lib
 ln -sv /tools/lib/libstdc++.so{,.6} /usr/lib

+ 70 - 7
chapter06/e2fsprogs.xml

@@ -109,6 +109,11 @@ cd build</userinput></screen>
 
 
 <screen><userinput remap="install">make install-libs</userinput></screen>
 <screen><userinput remap="install">make install-libs</userinput></screen>
 
 
+    <para>Make the installed static libraries writable so debugging symbols can 
+    be removed later.</para>
+
+<screen><userinput remap="install">chmod -v u+w /usr/lib/{libblkid,libcom_err,libe2p,libext2fs,libss,libuuid}.a</userinput></screen>
+
     <para>This package installs a gzipped
     <para>This package installs a gzipped
     <filename class="extension">.info</filename> file but doesn't update the
     <filename class="extension">.info</filename> file but doesn't update the
     system-wide <filename>dir</filename> file. Unzip this file and then update
     system-wide <filename>dir</filename> file. Unzip this file and then update
@@ -141,9 +146,10 @@ install -v -m644 -D ../doc/libblkid.txt \
 
 
       <seglistitem>
       <seglistitem>
         <seg>badblocks, blkid, chattr, compile_et, debugfs, dumpe2fs, e2fsck,
         <seg>badblocks, blkid, chattr, compile_et, debugfs, dumpe2fs, e2fsck,
-        e2image, e2label, filefrag, findfs, fsck, fsck.ext2, fsck.ext3, logsave, lsattr,
-        mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3, mklost+found, resize2fs,
-        tune2fs, uuidd and uuidgen.</seg>
+        e2image, e2label, e2undo, filefrag, findfs, fsck, fsck.ext2, fsck.ext3, 
+        fsck.ext4, fsck.ext4dev, logsave, lsattr,
+        mk_cmds, mke2fs, mkfs.ext2, mkfs.ext3, fsck.ext4, fsck.ext4dev, 
+        mklost+found, resize2fs, tune2fs, uuidd, and uuidgen.</seg>
         <seg>libblkid.{a,so}, libcom_err.{a,so}, libe2p.{a,so},
         <seg>libblkid.{a,so}, libcom_err.{a,so}, libe2p.{a,so},
         libext2fs.{a,so}, libss.{a,so}, and libuuid.{a,so}</seg>
         libext2fs.{a,so}, libss.{a,so}, and libuuid.{a,so}</seg>
       </seglistitem>
       </seglistitem>
@@ -260,6 +266,18 @@ install -v -m644 -D ../doc/libblkid.txt \
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
+      <varlistentry id="e2undo">
+        <term><command>e2undo</command></term>
+        <listitem>
+          <para>Replays the undo log undo_log for an ext2/ext3/ext4 filesystem 
+          found on a device. This can be used to undo a failed operation by an 
+          e2fsprogs program.</para>
+          <indexterm zone="ch-system-e2fsprogs e2undo">
+            <primary sortas="b-e2undo">e2undo</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
       <varlistentry id="filefrag">
       <varlistentry id="filefrag">
         <term><command>filefrag</command></term>
         <term><command>filefrag</command></term>
         <listitem>
         <listitem>
@@ -295,7 +313,7 @@ install -v -m644 -D ../doc/libblkid.txt \
         <term><command>fsck.ext2</command></term>
         <term><command>fsck.ext2</command></term>
         <listitem>
         <listitem>
           <para>By default checks <systemitem class="filesystem">ext2</systemitem>
           <para>By default checks <systemitem class="filesystem">ext2</systemitem>
-          file systems</para>
+          file systems. This is a hard link to <command>fsck</command>.</para>
           <indexterm zone="ch-system-e2fsprogs fsck.ext2">
           <indexterm zone="ch-system-e2fsprogs fsck.ext2">
             <primary sortas="b-fsck.ext2">fsck.ext2</primary>
             <primary sortas="b-fsck.ext2">fsck.ext2</primary>
           </indexterm>
           </indexterm>
@@ -306,13 +324,36 @@ install -v -m644 -D ../doc/libblkid.txt \
         <term><command>fsck.ext3</command></term>
         <term><command>fsck.ext3</command></term>
         <listitem>
         <listitem>
           <para>By default checks <systemitem class="filesystem">ext3</systemitem>
           <para>By default checks <systemitem class="filesystem">ext3</systemitem>
-          file systems</para>
+          file systems. This is a hard link to <command>fsck</command>.</para>
           <indexterm zone="ch-system-e2fsprogs fsck.ext3">
           <indexterm zone="ch-system-e2fsprogs fsck.ext3">
             <primary sortas="b-fsck.ext3">fsck.ext3</primary>
             <primary sortas="b-fsck.ext3">fsck.ext3</primary>
           </indexterm>
           </indexterm>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
+      <varlistentry id="fsck.ext4">
+        <term><command>fsck.ext4</command></term>
+        <listitem>
+          <para>By default checks <systemitem class="filesystem">ext4</systemitem>
+          file systems. This is a hard link to <command>fsck</command>.</para>
+          <indexterm zone="ch-system-e2fsprogs fsck.ext4">
+            <primary sortas="b-fsck.ext4">fsck.ext4</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="fsck.ext4dev">
+        <term><command>fsck.ext4dev</command></term>
+        <listitem>
+          <para>By default checks <systemitem class="filesystem">ext4</systemitem>
+          development file systems. This is a hard link to 
+          <command>fsck</command>.</para>
+          <indexterm zone="ch-system-e2fsprogs fsck.ext4dev">
+            <primary sortas="b-fsck.ext4dev">fsck.ext4dev</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
       <varlistentry id="logsave">
       <varlistentry id="logsave">
         <term><command>logsave</command></term>
         <term><command>logsave</command></term>
         <listitem>
         <listitem>
@@ -362,7 +403,7 @@ install -v -m644 -D ../doc/libblkid.txt \
         <term><command>mkfs.ext2</command></term>
         <term><command>mkfs.ext2</command></term>
         <listitem>
         <listitem>
           <para>By default creates <systemitem class="filesystem">ext2</systemitem>
           <para>By default creates <systemitem class="filesystem">ext2</systemitem>
-          file systems</para>
+          file systems.  This is a hard link to <command>mke2fs</command>.</para>
           <indexterm zone="ch-system-e2fsprogs mkfs.ext2">
           <indexterm zone="ch-system-e2fsprogs mkfs.ext2">
             <primary sortas="b-mkfs.ext2">mkfs.ext2</primary>
             <primary sortas="b-mkfs.ext2">mkfs.ext2</primary>
           </indexterm>
           </indexterm>
@@ -373,13 +414,35 @@ install -v -m644 -D ../doc/libblkid.txt \
         <term><command>mkfs.ext3</command></term>
         <term><command>mkfs.ext3</command></term>
         <listitem>
         <listitem>
           <para>By default creates <systemitem class="filesystem">ext3</systemitem>
           <para>By default creates <systemitem class="filesystem">ext3</systemitem>
-          file systems</para>
+          file systems.  This is a hard link to <command>mke2fs</command>.</para>
           <indexterm zone="ch-system-e2fsprogs mkfs.ext3">
           <indexterm zone="ch-system-e2fsprogs mkfs.ext3">
             <primary sortas="b-mkfs.ext3">mkfs.ext3</primary>
             <primary sortas="b-mkfs.ext3">mkfs.ext3</primary>
           </indexterm>
           </indexterm>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
+      <varlistentry id="mkfs.ext4">
+        <term><command>mkfs.ext4</command></term>
+        <listitem>
+          <para>By default creates <systemitem class="filesystem">ext4</systemitem>
+          file systems.  This is a hard link to <command>mke2fs</command>.</para>
+          <indexterm zone="ch-system-e2fsprogs mkfs.ext4">
+            <primary sortas="b-mkfs.ext4">mkfs.ext4</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="mkfs.ext4dev">
+        <term><command>mkfs.ext4dev</command></term>
+        <listitem>
+          <para>By default creates <systemitem class="filesystem">ext4</systemitem>
+          development file systems.  This is a hard link to <command>mke2fs</command>.</para>
+          <indexterm zone="ch-system-e2fsprogs mkfs.ext4dev">
+            <primary sortas="b-mkfs.ext4dev">mkfs.ext4dev</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
       <varlistentry id="mklost-found">
       <varlistentry id="mklost-found">
         <term><command>mklost+found</command></term>
         <term><command>mklost+found</command></term>
         <listitem>
         <listitem>

+ 2 - 1
chapter06/gawk.xml

@@ -42,7 +42,8 @@
 
 
     <para>Prepare Gawk for compilation:</para>
     <para>Prepare Gawk for compilation:</para>
 
 
-<screen><userinput remap="configure">./configure --prefix=/usr --libexecdir=/usr/lib</userinput></screen>
+<screen><userinput remap="configure">./configure --prefix=/usr --libexecdir=/usr/lib \
+   ac_cv_func_working_mktime=yes</userinput></screen>
 
 
     <para>Compile the package:</para>
     <para>Compile the package:</para>
 
 

+ 4 - 0
chapter06/gcc.xml

@@ -82,6 +82,10 @@ cd ../gcc-build</userinput></screen>
     --enable-clocale=gnu --enable-languages=c,c++ \
     --enable-clocale=gnu --enable-languages=c,c++ \
     --disable-multilib --disable-bootstrap</userinput></screen>
     --disable-multilib --disable-bootstrap</userinput></screen>
 
 
+    <para>Note that for other languages, there are some prerequsites that
+    are not available.  See the BLFS Book for instructions on how to
+    build all the GCC supported languages.</para>
+
     <para>Compile the package:</para>
     <para>Compile the package:</para>
 
 
 <screen><userinput remap="make">make</userinput></screen>
 <screen><userinput remap="make">make</userinput></screen>

+ 12 - 8
chapter06/glibc.xml

@@ -70,12 +70,12 @@
 <screen><userinput remap="pre">tar -xvf ../glibc-libidn-&glibc-version;.tar.bz2
 <screen><userinput remap="pre">tar -xvf ../glibc-libidn-&glibc-version;.tar.bz2
 mv glibc-libidn-&glibc-version; libidn</userinput></screen>-->
 mv glibc-libidn-&glibc-version; libidn</userinput></screen>-->
 
 
-    <!-- <para>In the vi_VN.TCVN locale, <command>bash</command> enters an infinite loop
-    at startup. It is unknown whether this is a <command>bash</command> bug or a
-    Glibc problem. Disable installation of this locale in order to avoid the
-    problem:</para>
+    <para>In the vi_VN.TCVN locale, <command>bash</command> enters an infinite
+    loop at startup. It is unknown whether this is a <command>bash</command>
+    bug or a Glibc problem. Disable installation of this locale in order to
+    avoid the problem:</para>
 
 
-<screen><userinput remap="pre">sed -i '/vi_VN.TCVN/d' localedata/SUPPORTED</userinput></screen> -->
+<screen><userinput remap="pre">sed -i '/vi_VN.TCVN/d' localedata/SUPPORTED</userinput></screen>
 
 
     <!-- <para>When running <command>make install</command>, a script called
     <!-- <para>When running <command>make install</command>, a script called
     <filename>test-installation.pl</filename> performs a small sanity test on
     <filename>test-installation.pl</filename> performs a small sanity test on
@@ -208,17 +208,19 @@ grep Error glibc-check-log</userinput></screen>
     <para>Individual locales can be installed using the
     <para>Individual locales can be installed using the
     <command>localedef</command> program. E.g., the first
     <command>localedef</command> program. E.g., the first
     <command>localedef</command> command below combines the
     <command>localedef</command> command below combines the
-    <filename>/usr/share/i18n/locales/de_DE</filename>
+    <filename>/usr/share/i18n/locales/cs_CZ</filename>
     charset-independent locale definition with the
     charset-independent locale definition with the
-    <filename>/usr/share/i18n/charmaps/ISO-8859-1.gz</filename>
+    <filename>/usr/share/i18n/charmaps/UTF-8.gz</filename>
     charmap definition and appends the result to the
     charmap definition and appends the result to the
     <filename>/usr/lib/locale/locale-archive</filename> file.
     <filename>/usr/lib/locale/locale-archive</filename> file.
     The following instructions will install the minimum set of
     The following instructions will install the minimum set of
     locales necessary for the optimal coverage of tests:</para>
     locales necessary for the optimal coverage of tests:</para>
 
 
 <screen role="nodump"><userinput remap="locale-test">mkdir -pv /usr/lib/locale
 <screen role="nodump"><userinput remap="locale-test">mkdir -pv /usr/lib/locale
+localedef -i cs_CZ -f UTF-8 cs_CZ.UTF-8
 localedef -i de_DE -f ISO-8859-1 de_DE
 localedef -i de_DE -f ISO-8859-1 de_DE
 localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
 localedef -i de_DE@euro -f ISO-8859-15 de_DE@euro
+localedef -i de_DE -f UTF-8 de_DE.UTF-8
 localedef -i en_HK -f ISO-8859-1 en_HK
 localedef -i en_HK -f ISO-8859-1 en_HK
 localedef -i en_PH -f ISO-8859-1 en_PH
 localedef -i en_PH -f ISO-8859-1 en_PH
 localedef -i en_US -f ISO-8859-1 en_US
 localedef -i en_US -f ISO-8859-1 en_US
@@ -229,7 +231,9 @@ localedef -i fr_FR -f ISO-8859-1 fr_FR
 localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
 localedef -i fr_FR@euro -f ISO-8859-15 fr_FR@euro
 localedef -i fr_FR -f UTF-8 fr_FR.UTF-8
 localedef -i fr_FR -f UTF-8 fr_FR.UTF-8
 localedef -i it_IT -f ISO-8859-1 it_IT
 localedef -i it_IT -f ISO-8859-1 it_IT
-localedef -i ja_JP -f EUC-JP ja_JP</userinput></screen>
+localedef -i ja_JP -f EUC-JP ja_JP
+localedef -i tr_TR -f UTF-8 tr_TR.UTF-8
+localedef -i zh_CN -f GB18030 zh_CN.GB18030</userinput></screen>
 
 
     <para>In addition, install the locale for your own country, language and
     <para>In addition, install the locale for your own country, language and
     character set.</para>
     character set.</para>

+ 10 - 0
chapter06/gmp.xml

@@ -41,6 +41,16 @@
   <sect2 role="installation">
   <sect2 role="installation">
     <title>Installation of GMP</title>
     <title>Installation of GMP</title>
 
 
+    <note>
+      <para>If you have a CPU which is capable of running 64-bit code
+      and you have specified <envar>CFLAGS</envar> in the environment,
+      the configure script will attempt to configure for 64-bits and fail.
+      Avoid this by adding <parameter>ABI=32</parameter> to the
+      <envar>CFLAGS</envar> variable for the duration of the configure
+      command below, then remove it afterwards.</para>
+    </note>
+
+    <para>Prepare Zlib for compilation:</para>
     <para>Prepare GMP for compilation:</para>
     <para>Prepare GMP for compilation:</para>
 
 
 <screen><userinput remap="configure">./configure --prefix=/usr --enable-cxx --enable-mpbsd</userinput></screen>
 <screen><userinput remap="configure">./configure --prefix=/usr --enable-cxx --enable-mpbsd</userinput></screen>

+ 17 - 1
chapter06/grep.xml

@@ -55,7 +55,23 @@
 
 
     <para>Prepare Grep for compilation:</para>
     <para>Prepare Grep for compilation:</para>
 
 
-<screen><userinput remap="configure">./configure --prefix=/usr --bindir=/bin</userinput></screen>
+<screen><userinput remap="configure">./configure --prefix=/usr \
+    --bindir=/bin \
+    --without-included-regex</userinput></screen>
+
+
+    <variablelist>
+      <title>The meaning of the configure switch:</title>
+      <varlistentry>
+        <term><parameter>--without-included-regex</parameter></term>
+        <listitem>
+          <para>The configure check for glibc's regex library is broken when
+          building against glibc-2.8.  This switch forces the use of glibc's
+          regex library.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+
 
 
     <para>Compile the package:</para>
     <para>Compile the package:</para>
 
 

+ 4 - 1
chapter06/iproute2.xml

@@ -146,7 +146,10 @@
       <varlistentry id="ifcfg">
       <varlistentry id="ifcfg">
         <term><command>ifcfg</command></term>
         <term><command>ifcfg</command></term>
         <listitem>
         <listitem>
-          <para>A shell script wrapper for the <command>ip</command> command</para>
+          <para>A shell script wrapper for the <command>ip</command> command. 
+          Note that it requires the <command>arping</command> and 
+          <command>rdisk</command> programs from the 
+          iputils package found at <ulink url="http://www.skbuff.net/iputils/"/>.</para>
           <indexterm zone="ch-system-iproute2 ifcfg">
           <indexterm zone="ch-system-iproute2 ifcfg">
             <primary sortas="b-ifcfg">ifcfg</primary>
             <primary sortas="b-ifcfg">ifcfg</primary>
           </indexterm>
           </indexterm>

+ 11 - 4
chapter06/linux-headers.xml

@@ -42,14 +42,21 @@
     <title>Installation of Linux API Headers</title>
     <title>Installation of Linux API Headers</title>
 
 
     <para>The Linux kernel needs to expose an Application Programming Interface
     <para>The Linux kernel needs to expose an Application Programming Interface
-    (API) for the system's C library (Glibc in LFS) to utilize.  This is done
+    (API) for the system's C library (Glibc in LFS) to use.  This is done
     by way of sanitizing various C header files that are shipped in the Linux
     by way of sanitizing various C header files that are shipped in the Linux
     kernel source tarball.</para>
     kernel source tarball.</para>
 
 
-    <para>Install the header files:</para>
+    <para>First, make sure there are no stale files and dependencies lying around
+    from previous activity:</para>
 
 
-<screen><userinput remap="install">make mrproper
-make headers_check
+<screen><userinput remap="install">make mrproper</userinput></screen>
+
+    <para>Now test and extract the user-visible kernel headers from the source.
+    They are placed in an intermediate local directory and copied to the needed
+    location because the extraction process removes any existing files in 
+    the target directory.</para>
+
+<screen><userinput remap="install">make headers_check
 make INSTALL_HDR_PATH=dest headers_install
 make INSTALL_HDR_PATH=dest headers_install
 cp -rv dest/include/* /usr/include</userinput></screen>
 cp -rv dest/include/* /usr/include</userinput></screen>
 
 

+ 1 - 1
chapter06/m4.xml

@@ -42,7 +42,7 @@
 
 
     <para>Prepare M4 for compilation:</para>
     <para>Prepare M4 for compilation:</para>
 
 
-<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>
+<screen><userinput remap="configure">./configure --prefix=/usr --enable-threads</userinput></screen>
 
 
     <para>Compile the package:</para>
     <para>Compile the package:</para>
 
 

+ 150 - 119
chapter06/man-db.xml

@@ -41,48 +41,18 @@
   <sect2 role="installation">
   <sect2 role="installation">
     <title>Installation of Man-DB</title>
     <title>Installation of Man-DB</title>
 
 
-    <!-- <para>Two adjustments need to be made to the sources of Man-DB.</para> 
-
-    <para>The first change is a <command>sed</command> substitution to delete
-    the <quote>/usr/man</quote> and <quote>/usr/local/man</quote> lines in
-    the <filename>man_db.conf</filename> file to prevent redundant results
-    when using programs such as <command>whatis</command>:</para> -->
-
-    <para>Use a <command>sed</command> substitution to delete
-    the <quote>/usr/man</quote> and <quote>/usr/local/man</quote> lines in
-    the <filename>man_db.conf</filename> file to prevent redundant results
-    when using programs such as <command>whatis</command>:</para>
+    <para>LFS creates <filename>/usr/man</filename> and
+    <filename>/usr/local/man</filename> as symlinks.   Remove them from the
+    <filename>man_db.conf</filename> file to prevent redundant
+    results when using programs such as <command>whatis</command>:</para>
 
 
 <screen><userinput remap="pre">sed -i -e '\%\t/usr/man%d' -e '\%\t/usr/local/man%d' src/man_db.conf.in</userinput></screen>
 <screen><userinput remap="pre">sed -i -e '\%\t/usr/man%d' -e '\%\t/usr/local/man%d' src/man_db.conf.in</userinput></screen>
 
 
-    <!-- This is removed and the same thing is done using the configure
-         command, which seems to be the more proper method
-
-    <para>The second change accounts for programs that Man-DB should be able
-    to find at runtime, but that haven't been installed yet:</para>
-
-<screen><userinput remap="pre">cat &gt;&gt; include/manconfig.h.in &lt;&lt; "EOF"
-<literal>#define WEB_BROWSER "exec /usr/bin/lynx"
-#define COL "/usr/bin/col"
-#define VGRIND "/usr/bin/vgrind"
-#define GRAP "/usr/bin/grap"</literal>
-EOF</userinput></screen>
-
-    <para>The <command>col</command> program is a part of the Util-linux
-    package, <command>lynx</command> is a text-based web browser (see BLFS
-    for installation instructions), <command>vgrind</command> converts
-    program sources to Groff input, and <command>grap</command> is useful
-    for typesetting graphs in Groff documents. The <command>vgrind</command>
-    and <command>grap</command> programs are not normally needed for viewing
-    manual pages. They are not part of LFS or BLFS, but you should be able
-    to install them yourself after finishing LFS if you wish to do so.</para>
-
-    -->
-
     <para>Prepare Man-DB for compilation:</para>
     <para>Prepare Man-DB for compilation:</para>
 
 
-<screen><userinput remap="configure">./configure --prefix=/usr --libexecdir=/usr/lib --sysconfdir=/etc \
-    --disable-setuid --with-browser=/usr/bin/lynx \
+<screen><userinput remap="configure">./configure --prefix=/usr --libexecdir=/usr/lib \
+    --sysconfdir=/etc --disable-setuid \
+    --enable-mb-groff --with-browser=/usr/bin/lynx \
     --with-col=/usr/bin/col --with-vgrind=/usr/bin/vgrind \
     --with-col=/usr/bin/col --with-vgrind=/usr/bin/vgrind \
     --with-grap=/usr/bin/grap</userinput></screen>
     --with-grap=/usr/bin/grap</userinput></screen>
 
 
@@ -97,18 +67,28 @@ EOF</userinput></screen>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
+      <varlistentry>
+        <term><parameter>--enable-mb-groff</parameter></term>
+        <listitem>
+          <para>This switch tells <application>man-db</application> to expect
+          the Debian multibyte patched version of
+          <application>groff</application>.</para>  
+        </listitem>
+      </varlistentry>
+
       <varlistentry>
       <varlistentry>
         <term><parameter>--with-...</parameter></term>
         <term><parameter>--with-...</parameter></term>
         <listitem>
         <listitem>
           <para>These four parameters are used to set some default programs.
           <para>These four parameters are used to set some default programs.
           The <command>col</command> program is a part of the Util-linux-ng
           The <command>col</command> program is a part of the Util-linux-ng
-          package, <command>lynx</command> is a text-based web browser (see BLFS
-          for installation instructions), <command>vgrind</command> converts
-          program sources to Groff input, and <command>grap</command> is useful
-          for typesetting graphs in Groff documents. The <command>vgrind</command>
-          and <command>grap</command> programs are not normally needed for viewing
-          manual pages. They are not part of LFS or BLFS, but you should be able
-          to install them yourself after finishing LFS if you wish to do so.</para>
+          package, <command>lynx</command> is a text-based web browser (see
+          BLFS for installation instructions), <command>vgrind</command>
+          converts program sources to Groff input, and <command>grap</command>
+          is useful for typesetting graphs in Groff documents. The
+          <command>vgrind</command> and <command>grap</command> programs are
+          not normally needed for viewing manual pages. They are not part of
+          LFS or BLFS, but you should be able to install them yourself after
+          finishing LFS if you wish to do so.</para>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
@@ -124,60 +104,54 @@ EOF</userinput></screen>
 
 
 <screen><userinput remap="install">make install</userinput></screen>
 <screen><userinput remap="install">make install</userinput></screen>
 
 
-    <para>Some packages provide UTF-8 man pages which this version of
-    <command>man</command> is unable to display.  The following script will
-    allow some of these to be converted into the expected encodings shown in
-    the table below. Man-DB expects the manual pages to be in the encodings
-    in the table, and will convert them as necessary to the actual locale
-    encoding when it displays them, so that they will display in both UTF-8
-    and traditional locales.  Because this script is intended for limited use
-    during the system build, for public data, we will not bother with error
-    checking, nor use a non-predictable temporary file name:</para>
-
-<screen><userinput remap="install">cat &gt;&gt; convert-mans &lt;&lt; "EOF"
-<literal>#!/bin/sh -e
-FROM="$1"
-TO="$2"
-shift ; shift
-while [ $# -gt 0 ]
-do
-        FILE="$1"
-        shift
-        iconv -f "$FROM" -t "$TO" "$FILE" >.tmp.iconv
-        mv .tmp.iconv "$FILE"
-done</literal>
-EOF
-install -m755 convert-mans  /usr/bin</userinput></screen>
-
-    <para>Additional information regarding the compression of
-    man and info pages can be found in the BLFS book at
-    <ulink url="&blfs-root;view/cvs/postlfs/compressdoc.html"/>.</para>
-
   </sect2>
   </sect2>
 
 
   <sect2>
   <sect2>
     <title>Non-English Manual Pages in LFS</title>
     <title>Non-English Manual Pages in LFS</title>
 
 
-    <para>Linux distributions have different policies concerning the character
-    encoding in which manual pages are stored in the filesystem. E.g., RedHat
-    stores all manual pages in UTF-8, while Debian uses language-specific
-    (mostly 8-bit) encodings. This leads to incompatibility of packages with
-    manual pages designed for different distributions.</para>
-
-    <para>LFS uses the same conventions as Debian. This was chosen because
-    Man-DB does not understand man pages stored in UTF-8. And, for our
-    purposes, Man-DB is preferable to Man as it works without extra
-    configuration in any locale. Lastly, as of now, there is no fully-working
-    implementation of the RedHat convention. RedHat's <command>groff</command>
-    is known to misformat text.</para>
-
-    <para>The relationship between language codes and the expected encoding
-    of manual pages is listed below. Man-DB automatically converts them to
-    the locale encoding while viewing.</para>
-
-    <!-- Origin: man-db-2.4.3/src/encodings.c -->
+    <para>Some packages provide non-English manual pages. They are displayed 
+    correctly only if their location and encoding matches the expectation of 
+    the "man" program. However, different Linux distributions have different 
+    policies (expressed in the choice of the <command>man</command> program,
+    its configuration and patches applied to it) concerning the character 
+    encoding in which manual pages are stored in the filesystem.</para>
+
+    <para>E.g., Debian previously required Russian manual pages to be encoded
+    in KOI8-R and to be placed in
+    <filename class="directory">/usr/share/man/ru</filename>. Now, in addition,
+    their <command>man</command> program (<application>Man-DB</application>)
+    searches for UTF-8 encoded Russian manual pages in
+    <filename class="directory">/usr/share/man/ru.UTF-8</filename>. On the
+    other hand, Fedora uses UTF-8 encoded manual pages exclusively. Russian
+    manual pages  are found in
+    <filename class="directory">/usr/share/man/ru</filename> and their
+    <command>man</command> program doesn't acknowledge
+    <filename class="directory">/usr/share/man/ru.UTF-8</filename>.  Many
+    other distributions ignore the on disk encodings completely, leaving the
+    end user with a mix of improperly encoded manual pages for their
+    configuration. When <command>man</command> processes the requtested page,
+    it will display the contents as configured, resulting in completely
+    unreadable text if the on disk encoding is not what is expected for that
+    configuration.</para>
+
+    <para>Disagreement about the expected encoding of manual pages amongst
+    distribution vendors, has led to confusion for upstream package
+    maintainers. One package may contain UTF-8 manual pages, while another
+    ships with manual pages in legacy encodings. <command>man</command>
+    searches for manual pages based on the user's locale settings.
+    <application>Man-DB</application> uses a built-in table (see below) to
+    determine the on disk encoding of manual pages found for a user's
+    locale, only if the directories found do not have an extension that
+    describes the encoding. E.g., because of ".UTF-8" in the directory name,
+    <application>Man-DB</application> knows that all manual pages residing in 
+    <filename class="directory">/usr/share/man/fr.UTF-8</filename> are UTF-8
+    encoded and, according to the built-in table, expects all manual pages
+    residing in <filename class="directory">/usr/share/man/ru</filename> to
+    be encoded using KOI8-R.</para>
+
+    <!-- Origin: man-db-2.5.2/src/encodings.c -->
     <table>
     <table>
-      <title>Expected character encoding of manual pages</title>
+      <title>Expected character encoding of legacy 8-bit manual pages</title>
       <?dbfo table-width="2.5in" ?>
       <?dbfo table-width="2.5in" ?>
 
 
       <tgroup cols="2">
       <tgroup cols="2">
@@ -241,7 +215,7 @@ install -m755 convert-mans  /usr/bin</userinput></screen>
             <entry>Dutch (nl)</entry>
             <entry>Dutch (nl)</entry>
             <entry>ISO-8859-1</entry>
             <entry>ISO-8859-1</entry>
           </row>
           </row>
-	  <!-- FIXME: BUG: "no" is deprecated, should use "nb" or "nn" and
+          <!-- FIXME: BUG: "no" is deprecated, should use "nb" or "nn" and
           symlinks -->
           symlinks -->
           <row>
           <row>
             <entry>Norwegian (no)</entry>
             <entry>Norwegian (no)</entry>
@@ -257,6 +231,10 @@ install -m755 convert-mans  /usr/bin</userinput></screen>
             <entry>ISO-8859-1</entry>
             <entry>ISO-8859-1</entry>
           </row>
           </row>
           <!-- Languages below require patched groff -->
           <!-- Languages below require patched groff -->
+          <row>
+            <entry>Bulgarian (bg)</entry>
+            <entry>CP1251</entry>
+          </row>
           <row>
           <row>
             <entry>Czech (cs)</entry>
             <entry>Czech (cs)</entry>
             <entry>ISO-8859-2</entry>
             <entry>ISO-8859-2</entry>
@@ -289,10 +267,30 @@ install -m755 convert-mans  /usr/bin</userinput></screen>
             <entry>Slovak (sk)</entry>
             <entry>Slovak (sk)</entry>
             <entry>ISO-8859-2</entry>
             <entry>ISO-8859-2</entry>
           </row>
           </row>
+          <row>
+            <entry>Serbian (sr)</entry>
+            <entry>ISO-8859-5</entry>
+          </row>
           <row>
           <row>
             <entry>Turkish (tr)</entry>
             <entry>Turkish (tr)</entry>
             <entry>ISO-8859-9</entry>
             <entry>ISO-8859-9</entry>
           </row>
           </row>
+          <row>
+            <entry>Simplified Chinese (zh_CN)</entry>
+            <entry>GBK</entry>
+          </row>
+          <row>
+            <entry>Simplified Chinese, Singapore (zh_SG)</entry>
+            <entry>GBK</entry>
+          </row>
+          <row>
+            <entry>Traditional Chinese (zh_TW)</entry>
+            <entry>BIG5</entry>
+          </row>
+          <row>
+            <entry>Traditional Chinese, Hong Kong (zh_HK)</entry>
+            <entry>BIG5HKSCS</entry>
+          </row>
         </tbody>
         </tbody>
 
 
       </tgroup>
       </tgroup>
@@ -301,40 +299,73 @@ install -m755 convert-mans  /usr/bin</userinput></screen>
 
 
     <note>
     <note>
       <para>Manual pages in languages not in the list are not supported.
       <para>Manual pages in languages not in the list are not supported.
-      Norwegian doesn't work now because of the transition from no_NO to
-      nb_NO locale, and Korean is non-functional because of the incomplete
-      Groff patch.</para>
+      Norwegian does not work because of the transition from no_NO to
+      nb_NO locale, and will be fixed in the next release of 
+      <application>Man-DB</application>.  Korean is currently non functional
+      because of incomplete fixes in the Debian
+      <application>Groff</application> patch applied in LFS.</para>
     </note>
     </note>
 
 
-    <para>If upstream distributes the manual pages in the same encoding
-    as Man-DB expects, the manual pages can be copied to
+    <para>Packages may install manual pages into an improperly named directory,
+    depending on which distributions the author develops the package for. To
+    assist in the conversion of the manual pages to the proper encoding for the
+    directory in which they are installed, the <command>convert-mans</command>
+    script was written. It will convert manual pages to another encoding before
+    (or after) installation.  Install the <command>convert-mans</command>
+    script with the following instructions:</para>
+
+<screen><userinput remap="install">cat &gt;&gt; convert-mans &lt;&lt; "EOF"
+<literal>#!/bin/sh -e
+FROM="$1"
+TO="$2"
+shift ; shift
+while [ $# -gt 0 ]
+do
+        FILE="$1"
+        shift
+        iconv -f "$FROM" -t "$TO" "$FILE" >.tmp.iconv
+        mv .tmp.iconv "$FILE"
+done</literal>
+EOF
+install -m755 convert-mans  /usr/bin</userinput></screen>
+
+
+    <para>If upstream distributes the manual pages in a legacy encoding, the
+    manual pages can simply be copied to
     <filename class="directory">/usr/share/man/<replaceable>&lt;language
     <filename class="directory">/usr/share/man/<replaceable>&lt;language
-    code&gt;</replaceable></filename>. E.g., French manual pages
-    (<ulink url="http://ccb.club.fr/man/man-fr-1.58.0.tar.bz2"/>) can be
-    installed with the following command:</para>
+    code&gt;</replaceable></filename>. For example, <ulink
+    url="http://www.infodrom.org/projects/manpages-de/download/manpages-de-0.5.tar.gz">
+    German manual pages</ulink> can be installed with the following
+    commands:</para>
 
 
-<screen role="nodump"><userinput>mkdir -p /usr/share/man/fr
-cp -rv man? /usr/share/man/fr</userinput></screen>
+<screen role="nodump"><userinput>mkdir -p /usr/share/man/de
+cp -rv man? /usr/share/man/de</userinput></screen>
 
 
     <para>If upstream distributes manual pages in UTF-8 (i.e., <quote>for
     <para>If upstream distributes manual pages in UTF-8 (i.e., <quote>for
     RedHat</quote>) instead of the encoding listed in the table above, they
     RedHat</quote>) instead of the encoding listed in the table above, they
-    have to be converted from UTF-8 to the encoding listed in the table before
-    installation. This can be achieved with <command>convert-mans</command>,
-    e.g., Spanish manual pages (<ulink
-    url="http://ditec.um.es/~piernas/manpages-es/man-pages-es-1.55.tar.bz2"/>)
-    can be installed with the following commands:</para>
+    can either be converted from UTF-8 to the encoding listed in the table
+    above, or they can be installed directly into
+    <filename class="directory">/usr/share/man/<replaceable>&lt;language
+    code&gt;</replaceable>.UTF-8</filename>.</para>
 
 
-<screen role="nodump"><userinput>mv man7/iso_8859-7.7{,X}
-convert-mans UTF-8 ISO-8859-1 man?/*.?
-mv man7/iso_8859-7.7{X,}
-make install</userinput></screen>
+    <para>For example, to install <ulink
+    url="http://manpagesfr.free.fr/download/man-pages-fr-2.40.0.tar.bz2">
+    French manual pages</ulink> in the legacy encoding, use the following
+    commands:</para>
 
 
-    <note>
-      <para>The need to exclude the <filename>man7/iso_8859-7.7</filename> file
-      from the conversion process because it is already in ISO-8859-1 is a
-      packaging bug in man-pages-es-1.55. Future versions should not require
-      this workaround.</para>
-    </note>
+<screen role="nodump"><userinput>convert-mans UTF-8 ISO-8859-1 man?/*.?
+mkdir -p /usr/share/man/fr
+cp -rv man? /usr/share/man/fr</userinput></screen>
+
+    <note><para>The French manual pages ship with ready made scripts to do the
+    same conversion. The above instructions are used only as an example for
+    use of the <command>convert-mans</command> script.</para></note>
+
+    <para>Finally, as an example installation of UTF-8 manual pages, again, the
+    French manual pages could be installed with the following commands:</para>
+
+<screen role="nodump"><userinput>mkdir -p /usr/share/man/fr.UTF-8
+cp -rv man? /usr/share/man/fr.UTF-8</userinput></screen>
 
 
   </sect2>
   </sect2>
 
 
@@ -391,7 +422,7 @@ make install</userinput></screen>
       <varlistentry id="convert-mans">
       <varlistentry id="convert-mans">
         <term><command>convert-mans</command></term>
         <term><command>convert-mans</command></term>
         <listitem>
         <listitem>
-          <para>Reformat man pages so that Man-DB can display them</para>
+          <para>Reformats manual pages into the chosen encoding.</para>
           <indexterm zone="ch-system-man-db convert-mans">
           <indexterm zone="ch-system-man-db convert-mans">
             <primary sortas="b-convert-mans">convert-mans</primary>
             <primary sortas="b-convert-mans">convert-mans</primary>
           </indexterm>
           </indexterm>

+ 1 - 1
chapter06/module-init-tools.xml

@@ -61,7 +61,7 @@ make clean</userinput></screen>
 
 
     <para>Prepare Module-Init-Tools for compilation:</para>
     <para>Prepare Module-Init-Tools for compilation:</para>
 
 
-<screen><userinput remap="configure">./configure --prefix=/ --enable-zlib</userinput></screen>
+<screen><userinput remap="configure">./configure --prefix=/ --enable-zlib --mandir=/usr/share/man</userinput></screen>
 
 
     <para>Compile the package:</para>
     <para>Compile the package:</para>
 
 

+ 18 - 7
chapter06/perl.xml

@@ -47,14 +47,16 @@
 
 
 <screen><userinput remap="pre">echo "127.0.0.1 localhost $(hostname)" &gt; /etc/hosts</userinput></screen>
 <screen><userinput remap="pre">echo "127.0.0.1 localhost $(hostname)" &gt; /etc/hosts</userinput></screen>
 
 
-    <para>The following patch fixes known vulnerabilities:</para>
+    <para>The following patch fixes known vulnerabilities and other issues
+    identified by the developers:</para>
 
 
-<screen><userinput remap="pre">patch -Np1 -i ../&perl-security-patch;</userinput></screen>
+<screen><userinput remap="pre">patch -Np1 -i ../&perl-consolidated-patch;</userinput></screen>
 
 
-    <para>The following patch fixes an incompatibility with
+    <!-- <para>The following patch fixes an incompatibility with
     Glibc-&glibc-version;:</para>
     Glibc-&glibc-version;:</para>
 
 
 <screen><userinput remap="pre">patch -Np1 -i ../&perl-page-patch;</userinput></screen>
 <screen><userinput remap="pre">patch -Np1 -i ../&perl-page-patch;</userinput></screen>
+    -->
 
 
     <!-- Confirmed that this is not required any longer
     <!-- Confirmed that this is not required any longer
     <para>Fix an incompatibility with gcc-&gcc-version;:</para>
     <para>Fix an incompatibility with gcc-&gcc-version;:</para>
@@ -77,14 +79,23 @@
     package is built. If you prefer, you can use the defaults that Perl
     package is built. If you prefer, you can use the defaults that Perl
     auto-detects, by preparing Perl for compilation with:</para>
     auto-detects, by preparing Perl for compilation with:</para>
 
 
-<screen><userinput remap="configure">./configure.gnu --prefix=/usr \
-    -Dman1dir=/usr/share/man/man1 \
-    -Dman3dir=/usr/share/man/man3 \
-    -Dpager="/usr/bin/less -isR"</userinput></screen>
+<screen><userinput remap="configure">sh Configure -des -Dprefix=/usr \
+                  -Dvendorprefix=/usr           \
+                  -Dman1dir=/usr/share/man/man1 \
+                  -Dman3dir=/usr/share/man/man3 \
+                  -Dpager="/usr/bin/less -isR"</userinput></screen>
 
 
     <variablelist>
     <variablelist>
       <title>The meaning of the configure options:</title>
       <title>The meaning of the configure options:</title>
 
 
+      <varlistentry>
+        <term><parameter>-Dvendorprefix=/usr</parameter></term>
+        <listitem>
+          <para>This ensures <command>perl</command> knows how to
+          tell packages where they should install their perl modules.</para>
+        </listitem>
+      </varlistentry>
+
       <varlistentry>
       <varlistentry>
         <term><parameter>-Dpager="/usr/bin/less -isR"</parameter></term>
         <term><parameter>-Dpager="/usr/bin/less -isR"</parameter></term>
         <listitem>
         <listitem>

+ 36 - 7
chapter06/util-linux-ng.xml

@@ -105,16 +105,15 @@ mkdir -pv /var/lib/hwclock</userinput></screen>
       <segtitle>Installed programs</segtitle>
       <segtitle>Installed programs</segtitle>
 
 
       <seglistitem>
       <seglistitem>
-
         <seg>addpart, agetty, arch, blockdev, cal, cfdisk, chkdupexe, chrt,
         <seg>addpart, agetty, arch, blockdev, cal, cfdisk, chkdupexe, chrt,
         col, colcrt, colrm, column, ctrlaltdel, cytune, ddate, delpart, dmesg,
         col, colcrt, colrm, column, ctrlaltdel, cytune, ddate, delpart, dmesg,
         fdformat, fdisk, flock, fsck.cramfs, fsck.minix, getopt, hexdump,
         fdformat, fdisk, flock, fsck.cramfs, fsck.minix, getopt, hexdump,
-        hwclock, ionice, ipcrm, ipcs, isosize, ldattach, line, logger, look,
-        losetup, mcookie, mkfs, mkfs.bfs, mkfs.cramfs, mkfs.minix, mkswap,
-        more, mount, namei, partx, pg, pivot_root, readprofile, rename, renice,
-        rev, rtcwake, script, scriptreplay, setarch, setsid, setterm, sfdisk,
-        swapon, tailf, taskset, tunelp, ul, umount, wall, whereis,
-        and write</seg>
+        hwclock, i386,  ionice, ipcrm, ipcs, isosize, ldattach, line, linux32,
+        linux64, logger, look, losetup, mcookie, mkfs, mkfs.bfs, mkfs.cramfs,
+        mkfs.minix, mkswap, more, mount, namei, partx, pg, pivot_root,
+        readprofile, rename, renice, rev, rtcwake, script, scriptreplay,
+        setarch, setsid, setterm, sfdisk, swapon, tailf, taskset, tunelp, ul,
+        umount, wall, whereis, and write</seg>
       </seglistitem>
       </seglistitem>
     </segmentedlist>
     </segmentedlist>
 
 
@@ -385,6 +384,16 @@ mkdir -pv /var/lib/hwclock</userinput></screen>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
+      <varlistentry id="i386">
+        <term><command>i386</command></term>
+        <listitem>
+          <para>A symbolic link to setarch</para>
+          <indexterm zone="ch-system-util-linux-ng i386">
+            <primary sortas="b-i386">i386</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
       <varlistentry id="ionice">
       <varlistentry id="ionice">
         <term><command>ionice</command></term>
         <term><command>ionice</command></term>
         <listitem>
         <listitem>
@@ -435,6 +444,26 @@ mkdir -pv /var/lib/hwclock</userinput></screen>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
+      <varlistentry id="linux32">
+        <term><command>linux32</command></term>
+        <listitem>
+          <para>A symbolic link to setarch</para>
+          <indexterm zone="ch-system-util-linux-ng linux32">
+            <primary sortas="b-linux32">linux32</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry id="linux64">
+        <term><command>linux64</command></term>
+        <listitem>
+          <para>A symbolic link to setarch</para>
+          <indexterm zone="ch-system-util-linux-ng linux64">
+            <primary sortas="b-linux64">linux64</primary>
+          </indexterm>
+        </listitem>
+      </varlistentry>
+
       <varlistentry id="line">
       <varlistentry id="line">
         <term><command>line</command></term>
         <term><command>line</command></term>
         <listitem>
         <listitem>

+ 8 - 127
chapter06/vim.xml

@@ -59,7 +59,7 @@
     </para>
     </para>
 
 
 <screen><userinput remap="pre">patch -Np1 -i ../&vim-fixes-patch;</userinput></screen>
 <screen><userinput remap="pre">patch -Np1 -i ../&vim-fixes-patch;</userinput></screen>
-
+<!--
     <para>This version of Vim installs translated man pages and places
     <para>This version of Vim installs translated man pages and places
     them into directories that will not be searched by Man-DB. Patch Vim
     them into directories that will not be searched by Man-DB. Patch Vim
     so that it installs its man pages into searchable directories and
     so that it installs its man pages into searchable directories and
@@ -67,8 +67,8 @@
     at run-time:</para>
     at run-time:</para>
 
 
 <screen><userinput remap="pre">patch -Np1 -i ../&vim-mandir-patch;</userinput></screen>
 <screen><userinput remap="pre">patch -Np1 -i ../&vim-mandir-patch;</userinput></screen>
-
-    <para>Finally, change the default location of the
+-->
+    <para>Change the default location of the
     <filename>vimrc</filename> configuration file to <filename
     <filename>vimrc</filename> configuration file to <filename
     class="directory">/etc</filename>:</para>
     class="directory">/etc</filename>:</para>
 
 
@@ -117,8 +117,8 @@
     languages:</para>
     languages:</para>
 
 
 <screen><userinput remap="install">ln -sv vim /usr/bin/vi
 <screen><userinput remap="install">ln -sv vim /usr/bin/vi
-for L in "" fr it pl ru; do
-    ln -sv vim.1 /usr/share/man/$L/man1/vi.1
+for L in  /usr/share/man/{,*/}man1/vim.1; do
+    ln -sv vim.1 $(dirname $L)/vi.1
 done</userinput></screen>
 done</userinput></screen>
 
 
     <para>By default, Vim's documentation is installed in <filename
     <para>By default, Vim's documentation is installed in <filename
@@ -213,10 +213,9 @@ set spell</literal></screen>
       <segtitle>Installed programs</segtitle>
       <segtitle>Installed programs</segtitle>
 
 
       <seglistitem>
       <seglistitem>
-        <seg>efm_filter.pl, efm_perl.pl, ex (link to vim), less.sh, mve.awk,
-        pltags.pl, ref, rview (link to vim), rvim (link to vim), shtags.pl,
-        vi (link to vim), view (link to vim), vim, vim132, vim2html.pl,
-        vimdiff (link to vim), vimm, vimspell.sh, vimtutor, and xxd</seg>
+        <seg>ex (link to vim), rview (link to vim), rvim (link to vim), 
+        vi (link to vim), view (link to vim), vim, 
+        vimdiff (link to vim), vimtutor, and xxd</seg>
       </seglistitem>
       </seglistitem>
     </segmentedlist>
     </segmentedlist>
 
 
@@ -225,28 +224,6 @@ set spell</literal></screen>
       <?dbfo list-presentation="list"?>
       <?dbfo list-presentation="list"?>
       <?dbhtml list-presentation="table"?>
       <?dbhtml list-presentation="table"?>
 
 
-      <varlistentry id="efm_filter.pl">
-        <term><command>efm_filter.pl</command></term>
-        <listitem>
-          <para>A filter for creating an error file that can be read
-          by <command>vim</command></para>
-          <indexterm zone="ch-system-vim efm_filter.pl">
-            <primary sortas="b-efm_filter.pl">efm_filter.pl</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="efm_perl.pl">
-        <term><command>efm_perl.pl</command></term>
-        <listitem>
-          <para>Reformats the error messages of the Perl interpreter for use
-          with the <quote>quickfix</quote> mode of <command>vim</command></para>
-          <indexterm zone="ch-system-vim efm_perl.pl">
-            <primary sortas="b-efm_perl.pl">efm_perl.pl</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
       <varlistentry id="ex">
       <varlistentry id="ex">
         <term><command>ex</command></term>
         <term><command>ex</command></term>
         <listitem>
         <listitem>
@@ -257,47 +234,6 @@ set spell</literal></screen>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
-      <varlistentry id="less.sh">
-        <term><command>less.sh</command></term>
-        <listitem>
-          <para>A script that starts <command>vim</command> with less.vim</para>
-          <indexterm zone="ch-system-vim less.sh">
-            <primary sortas="b-less.sh">less.sh</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="mve.awk">
-        <term><command>mve.awk</command></term>
-        <listitem>
-          <para>Processes <command>vim</command> errors</para>
-          <indexterm zone="ch-system-vim mve.awk">
-            <primary sortas="b-mve.awk">mve.awk</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="pltags.pl">
-        <term><command>pltags.pl</command></term>
-        <listitem>
-          <para>Creates a tags file for Perl code for use by
-          <command>vim</command></para>
-          <indexterm zone="ch-system-vim pltags.pl">
-            <primary sortas="b-pltags.pl">pltags.pl</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="ref">
-        <term><command>ref</command></term>
-        <listitem>
-          <para>Checks the spelling of arguments</para>
-          <indexterm zone="ch-system-vim ref">
-            <primary sortas="b-ref">ref</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
       <varlistentry id="rview">
       <varlistentry id="rview">
         <term><command>rview</command></term>
         <term><command>rview</command></term>
         <listitem>
         <listitem>
@@ -322,16 +258,6 @@ set spell</literal></screen>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
-      <varlistentry id="shtags.pl">
-        <term><command>shtags.pl</command></term>
-        <listitem>
-          <para>Generates a tags file for Perl scripts</para>
-          <indexterm zone="ch-system-vim shtags.pl">
-            <primary sortas="b-shtags.pl">shtags.pl</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
       <varlistentry id="vi">
       <varlistentry id="vi">
         <term><command>vi</command></term>
         <term><command>vi</command></term>
         <listitem>
         <listitem>
@@ -362,28 +288,6 @@ set spell</literal></screen>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
-      <varlistentry id="vim132">
-        <term><command>vim132</command></term>
-        <listitem>
-          <para>Starts <command>vim</command> with the terminal in 132-column
-          mode</para>
-          <indexterm zone="ch-system-vim vim132">
-            <primary sortas="b-vim132">vim132</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="vim2html.pl">
-        <term><command>vim2html.pl</command></term>
-        <listitem>
-          <para>Converts Vim documentation to HypterText Markup Language
-          (HTML)</para>
-          <indexterm zone="ch-system-vim vim2html.pl">
-            <primary sortas="b-vim2html.pl">vim2html.pl</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
       <varlistentry id="vimdiff">
       <varlistentry id="vimdiff">
         <term><command>vimdiff</command></term>
         <term><command>vimdiff</command></term>
         <listitem>
         <listitem>
@@ -395,29 +299,6 @@ set spell</literal></screen>
         </listitem>
         </listitem>
       </varlistentry>
       </varlistentry>
 
 
-      <varlistentry id="vimm">
-        <term><command>vimm</command></term>
-        <listitem>
-          <para>Enables the DEC locator input model on a remote terminal</para>
-          <indexterm zone="ch-system-vim vimm">
-            <primary sortas="b-vimm">vimm</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
-      <varlistentry id="vimspell.sh">
-        <term><command>vimspell.sh</command></term>
-        <listitem>
-          <para>Spell checks a file and generates the syntax statements
-          necessary to highlight in <command>vim</command>. This script
-          requires the old Unix <command>spell</command> command, which
-          is provided neither in LFS nor in BLFS</para>
-          <indexterm zone="ch-system-vim vimspell.sh">
-            <primary sortas="b-vimspell.sh">vimspell.sh</primary>
-          </indexterm>
-        </listitem>
-      </varlistentry>
-
       <varlistentry id="vimtutor">
       <varlistentry id="vimtutor">
         <term><command>vimtutor</command></term>
         <term><command>vimtutor</command></term>
         <listitem>
         <listitem>

+ 30 - 25
chapter07/console.xml

@@ -59,8 +59,8 @@
         <para>This variable specifies the arguments for the
         <para>This variable specifies the arguments for the
         <command>loadkeys</command> program, typically, the name of keymap
         <command>loadkeys</command> program, typically, the name of keymap
         to load, e.g., <quote>es</quote>. If this variable is not set, the
         to load, e.g., <quote>es</quote>. If this variable is not set, the
-	bootscript will not run the <command>loadkeys</command> program,
-	and the default kernel keymap will be used.</para>
+        bootscript will not run the <command>loadkeys</command> program,
+        and the default kernel keymap will be used.</para>
       </listitem>
       </listitem>
     </varlistentry>
     </varlistentry>
 
 
@@ -82,13 +82,16 @@
         <para>This variable specifies the arguments for the
         <para>This variable specifies the arguments for the
         <command>setfont</command> program. Typically, this includes the font
         <command>setfont</command> program. Typically, this includes the font
         name, <quote>-m</quote>, and the name of the application character
         name, <quote>-m</quote>, and the name of the application character
-	map to load. E.g., in order to load the <quote>lat1-16</quote> font
-	together with the <quote>8859-1</quote> application character map
-	(as it is appropriate in the USA), <!-- because of the copyright sign -->
-	set this variable to <quote>lat1-16 -m 8859-1</quote>.
-        If this variable is not set, the bootscript will not run the
-        <command>setfont</command> program, and the default VGA font will be
-        used together with the default application character map.</para>
+        map to load. E.g., in order to load the <quote>lat1-16</quote> font
+        together with the <quote>8859-1</quote> application character map
+        (as it is appropriate in the USA), 
+        <!-- because of the copyright sign -->
+        set this variable to <quote>lat1-16 -m 8859-1</quote>.
+        In UTF-8 mode, the kernel uses the application character map for
+        conversion of composed 8-bit key codes in the keymap to UTF-8, and thus
+        the argument of the "-m" parameter should be set to the encoding of the
+        composed key codes in the keymap.</para>
+
       </listitem>
       </listitem>
     </varlistentry>
     </varlistentry>
 
 
@@ -96,7 +99,7 @@
       <term>UNICODE</term>
       <term>UNICODE</term>
       <listitem>
       <listitem>
         <para>Set this variable to <quote>1</quote>, <quote>yes</quote> or
         <para>Set this variable to <quote>1</quote>, <quote>yes</quote> or
-	<quote>true</quote> in order to put the
+        <quote>true</quote> in order to put the
         console into UTF-8 mode. This is useful in UTF-8 based locales and
         console into UTF-8 mode. This is useful in UTF-8 based locales and
         harmful otherwise.</para>
         harmful otherwise.</para>
       </listitem>
       </listitem>
@@ -108,7 +111,7 @@
         <para>For many keyboard layouts, there is no stock Unicode keymap in
         <para>For many keyboard layouts, there is no stock Unicode keymap in
         the Kbd package. The <command>console</command> bootscript will
         the Kbd package. The <command>console</command> bootscript will
         convert an available keymap to UTF-8 on the fly if this variable is
         convert an available keymap to UTF-8 on the fly if this variable is
-	set to the encoding of the available non-UTF-8 keymap.</para>
+        set to the encoding of the available non-UTF-8 keymap.</para>
       </listitem>
       </listitem>
     </varlistentry>
     </varlistentry>
 
 
@@ -183,17 +186,17 @@ EOF</userinput></screen>
     </listitem>
     </listitem>
 
 
     <listitem>
     <listitem>
-      <para>There is no pre-made UTF-8 Russian keymap, therefore it has to be
-      produced by converting the existing KOI8-R keymap as illustrated
-      below:</para>
+      <para>The following example illustrates keymap autoconversion from
+      ISO-8859-15 to UTF-8 and enabling dead keys in Unicode mode:</para>
 
 
 <screen role="nodump"><userinput>cat &gt; /etc/sysconfig/console &lt;&lt; "EOF"
 <screen role="nodump"><userinput>cat &gt; /etc/sysconfig/console &lt;&lt; "EOF"
 <literal># Begin /etc/sysconfig/console
 <literal># Begin /etc/sysconfig/console
 
 
 UNICODE="1"
 UNICODE="1"
-KEYMAP="ru-ms"
-LEGACY_CHARSET="koi8-r"
-FONT="LatArCyrHeb-16"
+KEYMAP="de-latin1"
+KEYMAP_CORRECTIONS="euro2"
+LEGACY_CHARSET="iso-8859-15"
+FONT="LatArCyrHeb-16 -m 8859-15"
 
 
 # End /etc/sysconfig/console</literal>
 # End /etc/sysconfig/console</literal>
 EOF</userinput></screen>
 EOF</userinput></screen>
@@ -204,14 +207,16 @@ EOF</userinput></screen>
       character by themselves, but put an accent on the character produced
       character by themselves, but put an accent on the character produced
       by the next key) or define composition rules (such as: <quote>press
       by the next key) or define composition rules (such as: <quote>press
       Ctrl+. A E to get &AElig;</quote> in the default keymap).
       Ctrl+. A E to get &AElig;</quote> in the default keymap).
-      Linux-&linux-version; in UTF-8 keyboard mode assumes that accented
-      characters produced via dead keys or composing are in the Latin-1 range
-      of Unicode, and it is impossible to change this assumption. Thus,
-      accented characters needed for, e.g., the Czech language, can't be typed
-      on Linux console in UTF-8 mode (but files containing these characters can
-      be displayed correctly). The solution is either to avoid the use of
-      UTF-8, or to install the X window system that doesn't have this
-      limitation in its input handling.</para>
+      Linux-&linux-version; interprets dead keys and composition rules in the
+      keymap correctly only when the source characters to be composed together
+      are not multibyte. This deficiency doesn't affect keymaps for European
+      languages, because there accents are added to unaccented ASCII
+      characters, or two ASCII characters are composed together. However, in
+      UTF-8 mode it is a problem, e.g., for the Greek language, where one
+      sometimes needs to put an accent on the letter <quote>alpha</quote>.
+      The solution is either to avoid the use of UTF-8, or to install the
+      X window system that doesn't have this limitation in its input
+      handling.</para>
     </listitem>
     </listitem>
 
 
     <listitem>
     <listitem>

+ 3 - 3
general.ent

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="ISO-8859-1"?>
 <?xml version="1.0" encoding="ISO-8859-1"?>
-<!ENTITY version "SVN-JH-20081020">
-<!ENTITY releasedate "October 20, 2008">
-<!ENTITY copyrightdate "1999&ndash;2008">
+<!ENTITY version "SVN-20081203">
+<!ENTITY releasedate "December 3, 2008">
+<!ENTITY copyrightdate "1999-2008"><!-- jhalfs needs a literal dash, not &ndash; -->
 <!ENTITY milestone "7.0">
 <!ENTITY milestone "7.0">
 <!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->
 <!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->
 
 

+ 21 - 21
packages.ent

@@ -109,12 +109,12 @@
 <!-- NOTE: When updating e2fsprogs, remember to check the list
 <!-- NOTE: When updating e2fsprogs, remember to check the list
      of acceptable features that can be shown by debugfs in
      of acceptable features that can be shown by debugfs in
      chapter02/creatingfilesystem.xml -->
      chapter02/creatingfilesystem.xml -->
-<!ENTITY e2fsprogs-version "1.41.2">
-<!ENTITY e2fsprogs-size "4,268 KB">
+<!ENTITY e2fsprogs-version "1.41.3">
+<!ENTITY e2fsprogs-size "4,276 KB">
 <!ENTITY e2fsprogs-url "&sourceforge;e2fsprogs/e2fsprogs-&e2fsprogs-version;.tar.gz">
 <!ENTITY e2fsprogs-url "&sourceforge;e2fsprogs/e2fsprogs-&e2fsprogs-version;.tar.gz">
-<!ENTITY e2fsprogs-md5 "1c1c5177aea9a23b45b9b3f5b3241819">
+<!ENTITY e2fsprogs-md5 "b21d26fc46c584021dc9c444933ee1c2">
 <!ENTITY e2fsprogs-home "http://e2fsprogs.sourceforge.net/">
 <!ENTITY e2fsprogs-home "http://e2fsprogs.sourceforge.net/">
-<!ENTITY e2fsprogs-ch5-du "38 MB">
+<!ENTITY e2fsprogs-ch5-du "37 MB">
 <!ENTITY e2fsprogs-ch5-sbu "0.4 SBU">
 <!ENTITY e2fsprogs-ch5-sbu "0.4 SBU">
 <!ENTITY e2fsprogs-ch6-du "54 MB testsuite included">
 <!ENTITY e2fsprogs-ch6-du "54 MB testsuite included">
 <!ENTITY e2fsprogs-ch6-sbu "0.7 SBU testsuite included">
 <!ENTITY e2fsprogs-ch6-sbu "0.7 SBU testsuite included">
@@ -289,7 +289,7 @@
 <!ENTITY less-ch6-du "2.8 MB">
 <!ENTITY less-ch6-du "2.8 MB">
 <!ENTITY less-ch6-sbu "0.1 SBU">
 <!ENTITY less-ch6-sbu "0.1 SBU">
 
 
-<!ENTITY lfs-bootscripts-version "20080522">                 <!-- Scripts depend on this format -->
+<!ENTITY lfs-bootscripts-version "20081031">                 <!-- Scripts depend on this format -->
 <!ENTITY lfs-bootscripts-size "BOOTSCRIPTS-SIZE KB">         <!-- Updated in Makefile -->
 <!ENTITY lfs-bootscripts-size "BOOTSCRIPTS-SIZE KB">         <!-- Updated in Makefile -->
 <!ENTITY lfs-bootscripts-url "&downloads-root;lfs-bootscripts-&lfs-bootscripts-version;.tar.bz2">
 <!ENTITY lfs-bootscripts-url "&downloads-root;lfs-bootscripts-&lfs-bootscripts-version;.tar.bz2">
 <!ENTITY lfs-bootscripts-md5 "BOOTSCRIPTS-MD5SUM">           <!-- Updated in Makefile -->
 <!ENTITY lfs-bootscripts-md5 "BOOTSCRIPTS-MD5SUM">           <!-- Updated in Makefile -->
@@ -306,13 +306,13 @@
 <!ENTITY libtool-ch6-sbu "0.1 SBU">
 <!ENTITY libtool-ch6-sbu "0.1 SBU">
 
 
 <!ENTITY linux-major-version "2.6">
 <!ENTITY linux-major-version "2.6">
-<!ENTITY linux-minor-version "26">
-<!ENTITY linux-patch-version "5">
+<!ENTITY linux-minor-version "27">
+<!ENTITY linux-patch-version "4">
 <!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
 <!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
 <!-- <!ENTITY linux-version "&linux-major-version;.&linux-minor-version;"> -->
 <!-- <!ENTITY linux-version "&linux-major-version;.&linux-minor-version;"> -->
-<!ENTITY linux-size "49,450 KB">
+<!ENTITY linux-size "49,232 KB">
 <!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;/linux-&linux-version;.tar.bz2">
 <!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;/linux-&linux-version;.tar.bz2">
-<!ENTITY linux-md5 "98261b39a558cf0739703ffea7db9f43">
+<!ENTITY linux-md5 "3880fe9f19b9a7690afd151326eb7ce5">
 <!ENTITY linux-home "http://www.kernel.org/">
 <!ENTITY linux-home "http://www.kernel.org/">
 <!ENTITY linux-ch8-du "350 - 500 MB">
 <!ENTITY linux-ch8-du "350 - 500 MB">
 <!ENTITY linux-ch8-sbu "1.5 - 5.0 SBU">
 <!ENTITY linux-ch8-sbu "1.5 - 5.0 SBU">
@@ -322,10 +322,10 @@
 <!ENTITY linux-headers-ch6-du "341 MB">
 <!ENTITY linux-headers-ch6-du "341 MB">
 <!ENTITY linux-headers-ch6-sbu "0.1 SBU">
 <!ENTITY linux-headers-ch6-sbu "0.1 SBU">
 
 
-<!ENTITY m4-version "1.4.11">
-<!ENTITY m4-size "928 KB">
+<!ENTITY m4-version "1.4.12">
+<!ENTITY m4-size "884 KB">
 <!ENTITY m4-url "&gnu;m4/m4-&m4-version;.tar.bz2">
 <!ENTITY m4-url "&gnu;m4/m4-&m4-version;.tar.bz2">
-<!ENTITY m4-md5 "96ec473c2a6f203976c028e896a01b28">
+<!ENTITY m4-md5 "b3587c993523dd320c318ec456876839">
 <!ENTITY m4-home "&gnu-software;m4/">
 <!ENTITY m4-home "&gnu-software;m4/">
 <!ENTITY m4-ch5-du "10 MB">
 <!ENTITY m4-ch5-du "10 MB">
 <!ENTITY m4-ch5-sbu "0.2 SBU">
 <!ENTITY m4-ch5-sbu "0.2 SBU">
@@ -387,9 +387,9 @@
 <!ENTITY ncurses-version "5.6">
 <!ENTITY ncurses-version "5.6">
 <!-- <!ENTITY ncurses-date "20050319"> -->
 <!-- <!ENTITY ncurses-date "20050319"> -->
 <!ENTITY ncurses-size "2,346 KB">
 <!ENTITY ncurses-size "2,346 KB">
-<!ENTITY ncurses-url "ftp://invisible-island.net/ncurses/ncurses-&ncurses-version;.tar.gz">
+<!ENTITY ncurses-url "ftp://ftp.gnu.org/gnu/ncurses/ncurses-&ncurses-version;.tar.gz">
 <!ENTITY ncurses-md5 "b6593abe1089d6aab1551c105c9300e3">
 <!ENTITY ncurses-md5 "b6593abe1089d6aab1551c105c9300e3">
-<!ENTITY ncurses-home "http://dickey.his.com/ncurses/">
+<!ENTITY ncurses-home "http://www.gnu.org/software/ncurses/">
 <!ENTITY ncurses-ch5-du "30 MB">
 <!ENTITY ncurses-ch5-du "30 MB">
 <!ENTITY ncurses-ch5-sbu "0.7 SBU">
 <!ENTITY ncurses-ch5-sbu "0.7 SBU">
 <!ENTITY ncurses-ch6-du "31 MB">
 <!ENTITY ncurses-ch6-du "31 MB">
@@ -483,14 +483,14 @@
 <!ENTITY tar-ch6-du "19.9 MB">
 <!ENTITY tar-ch6-du "19.9 MB">
 <!ENTITY tar-ch6-sbu "0.3 SBU">
 <!ENTITY tar-ch6-sbu "0.3 SBU">
 
 
-<!ENTITY tcl-version "8.5.4">
+<!ENTITY tcl-version "8.5.5">
 <!ENTITY tcl-major-version "8.5">
 <!ENTITY tcl-major-version "8.5">
-<!ENTITY tcl-size "4,402 KB">
+<!ENTITY tcl-size "4,316 KB">
 <!ENTITY tcl-url "&sourceforge;tcl/tcl&tcl-version;-src.tar.gz">
 <!ENTITY tcl-url "&sourceforge;tcl/tcl&tcl-version;-src.tar.gz">
-<!ENTITY tcl-md5 "15032a6a43f3bfbe9223b95186849472">
+<!ENTITY tcl-md5 "39faed045bd03da1267fb66c9b75349f">
 <!ENTITY tcl-home "http://tcl.sourceforge.net/">
 <!ENTITY tcl-home "http://tcl.sourceforge.net/">
 <!ENTITY tcl-ch5-du "36 MB">
 <!ENTITY tcl-ch5-du "36 MB">
-<!ENTITY tcl-ch5-sbu "0.6 SBU">
+<!ENTITY tcl-ch5-sbu "0.5 SBU">
 
 
 <!ENTITY texinfo-version "4.13a">
 <!ENTITY texinfo-version "4.13a">
 <!ENTITY texinfo-size "2,751 KB">
 <!ENTITY texinfo-size "2,751 KB">
@@ -541,9 +541,9 @@
 <!ENTITY vim-lang-home "http://www.vim.org">
 <!ENTITY vim-lang-home "http://www.vim.org">
 
 
 <!ENTITY zlib-version "1.2.3">
 <!ENTITY zlib-version "1.2.3">
-<!ENTITY zlib-size "485 KB">
-<!ENTITY zlib-url "http://www.zlib.net/zlib-&zlib-version;.tar.gz">
-<!ENTITY zlib-md5 "debc62758716a169df9f62e6ab2bc634">
+<!ENTITY zlib-size "416 KB">
+<!ENTITY zlib-url "http://www.zlib.net/zlib-&zlib-version;.tar.bz2">
+<!ENTITY zlib-md5 "dee233bf288ee795ac96a98cc2e369b6">
 <!ENTITY zlib-home "http://www.zlib.net/">
 <!ENTITY zlib-home "http://www.zlib.net/">
 <!ENTITY zlib-ch6-du "3.1 MB">
 <!ENTITY zlib-ch6-du "3.1 MB">
 <!ENTITY zlib-ch6-sbu "less than 0.1 SBU">
 <!ENTITY zlib-ch6-sbu "less than 0.1 SBU">

+ 10 - 18
patches.ent

@@ -25,9 +25,9 @@
 <!ENTITY bzip2-docs-patch-size "1.6 KB">
 <!ENTITY bzip2-docs-patch-size "1.6 KB">
 
 
 
 
-<!-- <!ENTITY coreutils-i18n-patch "coreutils-&coreutils-version;-i18n-1.patch">
-<!ENTITY coreutils-i18n-patch-md5 "791df67d25a45d846c1af4dadf2612c8">
-<!ENTITY coreutils-i18n-patch-size "102 KB"> -->
+<!ENTITY coreutils-i18n-patch "coreutils-&coreutils-version;-i18n-2.patch">
+<!ENTITY coreutils-i18n-patch-md5 "2b6182f77f8b575e27d7743dd403104e">
+<!ENTITY coreutils-i18n-patch-size "104 KB">
 
 
 <!ENTITY coreutils-old-kernel-patch "coreutils-&coreutils-version;-old_build_kernel-1.patch">
 <!ENTITY coreutils-old-kernel-patch "coreutils-&coreutils-version;-old_build_kernel-1.patch">
 <!ENTITY coreutils-old-kernel-patch-md5 "5e8622abe6c6d81901b910383c6fb611">
 <!ENTITY coreutils-old-kernel-patch-md5 "5e8622abe6c6d81901b910383c6fb611">
@@ -53,7 +53,7 @@
 <!ENTITY expect-spawn-patch-size "6.8 KB">
 <!ENTITY expect-spawn-patch-size "6.8 KB">
 
 
 
 
-<!ENTITY expect-tcl-patch "expect-&expect-version;-tcl_8.5.4_fix-1.patch">
+<!ENTITY expect-tcl-patch "expect-&expect-version;-tcl_8.5.5_fix-1.patch">
 <!ENTITY expect-tcl-patch-md5 "6904a384960ce0e8f0d0b32f7903d7a1">
 <!ENTITY expect-tcl-patch-md5 "6904a384960ce0e8f0d0b32f7903d7a1">
 <!ENTITY expect-tcl-patch-size "4.1 KB">
 <!ENTITY expect-tcl-patch-size "4.1 KB">
 
 
@@ -109,18 +109,9 @@
 <!ENTITY ncurses-coverity-patch-size "16.8 KB">
 <!ENTITY ncurses-coverity-patch-size "16.8 KB">
 
 
 
 
-<!ENTITY perl-libc-patch "perl-&perl-version;-libc-1.patch">
-<!ENTITY perl-libc-patch-md5 "3bf8aef1fb6eb6110405e699e4141f99">
-<!ENTITY perl-libc-patch-size "1.1 KB">
-
-<!ENTITY perl-page-patch "perl-&perl-version;-page-1.patch">
-<!ENTITY perl-page-patch-md5 "16abf98d92d896601250ca610243cdf5">
-<!ENTITY perl-page-patch-size "0.7 KB">
-
-<!ENTITY perl-security-patch "perl-&perl-version;-security_fix-1.patch">
-<!ENTITY perl-security-patch-md5 "4b1384ba595abd070824c2519d1d3176">
-<!ENTITY perl-security-patch-size "0.8 KB">
-
+<!ENTITY perl-consolidated-patch "perl-&perl-version;-consolidated-1.patch">
+<!ENTITY perl-consolidated-patch-md5 "d1bcffb5d671bd659f7ca5c451a0c752">
+<!ENTITY perl-consolidated-patch-size "7.1 KB">
 
 
 <!ENTITY procps-watch-patch "procps-&procps-version;-watch_unicode-1.patch">
 <!ENTITY procps-watch-patch "procps-&procps-version;-watch_unicode-1.patch">
 <!ENTITY procps-watch-patch-md5 "2e5b57608177bd54349c718db9b5843d">
 <!ENTITY procps-watch-patch-md5 "2e5b57608177bd54349c718db9b5843d">
@@ -141,6 +132,7 @@
 <!ENTITY vim-fixes-patch-md5 "4b526f493995d2eb6fd415eb62ff43d8">
 <!ENTITY vim-fixes-patch-md5 "4b526f493995d2eb6fd415eb62ff43d8">
 <!ENTITY vim-fixes-patch-size "29.3 KB">
 <!ENTITY vim-fixes-patch-size "29.3 KB">
 
 
-<!ENTITY vim-mandir-patch "vim-&vim-version;-mandir-1.patch">
+<!-- <!ENTITY vim-mandir-patch "vim-&vim-version;-mandir-1.patch">
 <!ENTITY vim-mandir-patch-md5 "b6426eb4192faba1e867ddd502323f5b">
 <!ENTITY vim-mandir-patch-md5 "b6426eb4192faba1e867ddd502323f5b">
-<!ENTITY vim-mandir-patch-size "4.2 KB">
+<!ENTITY vim-mandir-patch-size "4.2 KB"> -->
+

+ 16 - 0
stylesheets/lfs-xsl/lfs-l10n.xml

@@ -72,4 +72,20 @@ $Date$
 
 
   </l:l10n>
   </l:l10n>
 
 
+    <!-- German -->
+  <l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"
+          language="de" english-language-name="German">
+
+    <l:gentext key="description" text="Beschreibung"/>
+    <l:gentext key="Bootscripts" text="Bootskripte"/>
+    <l:gentext key="Configuration Files" text="Einrichtungsdateien"/>
+    <l:gentext key="Kernel Configuration" text="Kernel-Konfiguration"/>
+    <l:gentext key="Libraries" text="Bibliotheken"/>
+    <l:gentext key="Others" text="Sonstige"/>
+    <l:gentext key="Packages" text="Pakete"/>
+    <l:gentext key="Programs" text="Programme"/>
+    <l:gentext key="Scripts" text="Skripte"/>
+
+  </l:l10n>
+
 </l:i18n>
 </l:i18n>

+ 1 - 1
udev-config/55-lfs.rules

@@ -1,4 +1,4 @@
-# /etc/udev/rules.d/25-lfs.rules: Rule definitions for LFS.
+# /etc/udev/rules.d/55-lfs.rules: Rule definitions for LFS.
 
 
 # Core kernel devices
 # Core kernel devices
 
 

+ 1 - 1
udev-config/61-cdrom.rules

@@ -1,3 +1,3 @@
-# /etc/udev/rules.d/81-cdrom.rules: Set CD-ROM permissions.
+# /etc/udev/rules.d/61-cdrom.rules: Set CD-ROM permissions.
 
 
 ACTION=="add", SUBSYSTEM=="block", ENV{ID_TYPE}=="cd", GROUP="cdrom"
 ACTION=="add", SUBSYSTEM=="block", ENV{ID_TYPE}=="cd", GROUP="cdrom"

+ 4 - 0
udev-config/ChangeLog

@@ -1,3 +1,7 @@
+2008-11-11	Bryan Kadzban	<bryan@linuxfromscratch.org>
+	* 55-lfs.rules, 61-cdrom.rules: Fix comments to use the right rule
+	  numbers.  Thanks to Trent Shea for the fix.  Closes #2278.
+
 2008-10-15	DJ Lucas	<dj@linuxfromscratch.org>
 2008-10-15	DJ Lucas	<dj@linuxfromscratch.org>
 	* 55-lfs.rules: Override default perms on floppy disk devices provided
 	* 55-lfs.rules: Override default perms on floppy disk devices provided
 	  by 50-udev-default.rules.  Thanks to Bruce Dubbs for the fix.  Closes
 	  by 50-udev-default.rules.  Thanks to Bruce Dubbs for the fix.  Closes