浏览代码

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 年之前
父节点
当前提交
a79ca5f186
共有 72 个文件被更改,包括 906 次插入1865 次删除
  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 \
 	  -o $(RENDERTMP)/lfs-full.xml index.xml
 	$(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:
 	@echo "Making tarballs..."

+ 44 - 15
appendices/dependencies.xml

@@ -95,7 +95,7 @@
 
         <seglistitem>
           <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>
       </segmentedlist>
 
@@ -289,8 +289,8 @@
         <segtitle>&dependencies;</segtitle>
 
         <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>
       </segmentedlist>
 
@@ -373,8 +373,8 @@
         <segtitle>&dependencies;</segtitle>
 
         <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>
       </segmentedlist>
 
@@ -563,6 +563,34 @@
         </seglistitem>
       </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 -->
   <bridgehead renderas="sect2" id="grep-dep">Grep</bridgehead>
 
@@ -954,14 +982,15 @@
         </seglistitem>
       </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>
         <segtitle>&dependencies;</segtitle>
 
         <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>
       </segmentedlist>
 
@@ -969,7 +998,7 @@
         <segtitle>&testsuites;</segtitle>
 
         <seglistitem>
-          <seg>No testsuite available</seg>
+          <seg>Diffutils, File, Gawk, Gzip, and Mktemp</seg>
         </seglistitem>
       </segmentedlist>
 
@@ -981,15 +1010,15 @@
         </seglistitem>
       </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>
         <segtitle>&dependencies;</segtitle>
 
         <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>
       </segmentedlist>
 
@@ -997,7 +1026,7 @@
         <segtitle>&testsuites;</segtitle>
 
         <seglistitem>
-          <seg>Diffutils, File, Gawk, Gzip, and Mktemp</seg>
+          <seg>None</seg>
         </seglistitem>
       </segmentedlist>
 
@@ -1005,7 +1034,7 @@
         <segtitle>&before;</segtitle>
 
         <seglistitem>
-          <seg>None</seg>
+          <seg>GCC</seg>
         </seglistitem>
       </segmentedlist>
 

+ 7 - 7
appendices/license.xml

@@ -11,15 +11,15 @@
 
   <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>

+ 12 - 12
appendices/mit-lic.xml

@@ -13,21 +13,21 @@
   <para>Copyright &copy; &copyrightdate; Gerard Beekmans</para>
 
   <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
-	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
-	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>

+ 8 - 8
appendices/scripts.xml

@@ -39,14 +39,14 @@
 
   <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">
     <title>/etc/rc.d/init.d/rc</title>

+ 3 - 3
appendices/udev-rules.xml

@@ -13,9 +13,9 @@
 
   <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">
     <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/              \
        -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>
 	* 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
 
 2007-08-13	Dan Nicholson	<dnicholson@linuxfromscratch.org>
@@ -96,7 +113,8 @@
 n/a - June 2, 2006
 	* Removed console config file and makefile targets.
 	* Removed references to /dev/bug and bugreport in udevand 
-          udev_retry bootscripts. (DJ Lucas)
+	  udev_retry bootscripts. (DJ Lucas)
+
 n/a - April 17, 2006
 	* Updated udev script to use the new udevsettle program.
 	* 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
 	* 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)
 
 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 
-          udev bootscript. (Dan Nicholson)
+	  udev bootscript. (Dan Nicholson)
 	* 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)
-	* 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
-        * 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
 	* 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
 	* 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)
 	* syslog-ng 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,
 	  as suggested by Greg K-H (Nathan Coulson)
 	* 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
 
 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)
 	* Fixed mtu optional service typo (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 Makefile rc.6 to reboot
 	* 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:
 
@@ -823,8 +842,8 @@ n/a - January 30, 2004:
 n/a - January 30, 2004:
 
 	* 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:
 
@@ -834,7 +853,7 @@ n/a - January 30, 2004:
 1.10 - September 12th, 2002:
 
 	* Fixed up checkfs to work with non-ext2 filesystems too (such as
-	minix).
+	  minix).
 
 1.9 - April 5th, 2002:
 
@@ -880,9 +899,9 @@ n/a - January 30, 2004:
 1.6 - February 26th, 2002:
 
 	* 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
 
@@ -910,7 +929,7 @@ n/a - January 30, 2004:
 	  variable is set
 
 	* 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
 	  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/checkfs     ${EXTDIR}/rc.d/rcsysinit.d/S30checkfs
 	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/localnet    ${EXTDIR}/rc.d/rcsysinit.d/S80localnet
 	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/checkfs     ${EXTDIR}/rc.d/rcsysinit.d/S30checkfs
 	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
 
 .PHONY: all create-dirs create-service-dir \

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

@@ -1,4 +1,7 @@
 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 
                   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 ||
                         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
 		[ -z "$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}
 		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}
 		cd /var/run &&
-		find . ! -type d ! -name utmp ! -newer /proc \
+		find . ! -type d ! -name utmp \
 			-exec rm -f {} \; || failed=1
 		> /var/run/utmp
 		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 ||
 			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
 		[ -z "$LEGACY_CHARSET" ] ||
 			dumpkeys -c "$LEGACY_CHARSET" |

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

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

+ 13 - 1074
chapter01/changelog.xml

@@ -36,1101 +36,40 @@
     </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>
-      <para>2007-09-03</para>
+      <para>2008-12-02</para>
       <itemizedlist>
         <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>
       </itemizedlist>
     </listitem>
 
     <listitem>
-      <para>2007-08-31</para>
+      <para>2008-12-01</para>
       <itemizedlist>
         <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>
-          <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>
     </listitem>
 
-
     <listitem>
-      <para>2007-08-20</para>
+      <para>2008-11-23</para>
       <itemizedlist>
         <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>
       </itemizedlist>
     </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>
 

+ 9 - 9
chapter01/how.xml

@@ -18,15 +18,15 @@
   during the distribution installation to be able to access these
   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>
     <para>The LFS LiveCD might not work on newer hardware configurations,

+ 2 - 1
chapter01/resources.xml

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

+ 76 - 218
chapter01/whatsnew.xml

@@ -23,75 +23,73 @@
     <title>Upgraded to:</title>
 
 
-<!--
     <listitem>
       <para>None yet</para>
     </listitem>
--->
 
-    <listitem>
+    <!--<listitem>
       <para>Autoconf &autoconf-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Automake &automake-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
       <para>Bash &bash-version;</para>
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>Berkeley DB &db-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Binutils &binutils-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
       <para>Bison &bison-version;</para>
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>Bzip2 &bzip2-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Coreutils &coreutils-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
       <para>DejaGNU &dejagnu-version;</para>
     </listitem>-->
     <!--<listitem>
       <para>Diffutils &diffutils-version;</para>
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>E2fsprogs &e2fsprogs-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
       <para>Expect &expect-version;</para>
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>File &file-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Findutils &findutils-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Flex &flex-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Gawk &gawk-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>GCC &gcc-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Gettext &gettext-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Glibc &glibc-version;</para>
-    </listitem>
+    </listitem>-->
     <!-- <listitem>
       <para>GMP &gmp-version;</para>
     </listitem> -->
-    <listitem>
+    <!--<listitem>
       <para>Grep &grep-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
       <para>Groff &groff-version;</para>
     </listitem>-->
@@ -101,48 +99,48 @@
     <!--<listitem>
       <para>Gzip &gzip-version;</para>
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>IANA-Etc &iana-etc-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
       <para>Inetutils &inetutils-version;</para>
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>IPRoute2 &iproute2-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Kbd &kbd-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Less &less-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>LFS-Bootscripts &lfs-bootscripts-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Libtool &libtool-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Linux &linux-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>M4 &m4-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
       <para>Make &make-version;</para>
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>Man-DB &man-db-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Man-pages &man-pages-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
       <para>Mktemp &mktemp-version;</para>
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>Module-Init-Tools &module-init-tools-version;</para>
-    </listitem>
+    </listitem>-->
     <!-- <listitem>
       <para>MPFR &mpfr-version;</para>
     </listitem> -->
@@ -152,51 +150,51 @@
     <!--<listitem>
       <para>Patch &patch-version;</para>
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>Perl &perl-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
       <para>Procps &procps-version;</para>
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>Psmisc &psmisc-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
       <para>Readline &readline-version;</para>
     </listitem>-->
     <!--<listitem>
       <para>Sed &sed-version;</para>
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>Shadow &shadow-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Sysklogd &sysklogd-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
       <para>SysVinit &sysvinit-version;</para>
     </listitem>-->
-    <listitem>
+    <!--<listitem>
       <para>Tar &tar-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>TCL &tcl-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Texinfo &texinfo-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Udev &udev-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>&udev-config;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Util-Linux-NG &util-linux-ng-version;</para>
-    </listitem>
-    <listitem>
+    </listitem>-->
+    <!--<listitem>
       <para>Vim &vim-version;</para>
-    </listitem>
+    </listitem>-->
     <!--<listitem>
       <para>Zlib &zlib-version;</para>
     </listitem>-->
@@ -215,83 +213,7 @@
     <title>Added:</title>
 
     <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>
 
   </itemizedlist>
@@ -300,71 +222,7 @@
     <title>Removed:</title>
 
     <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>
 
   </itemizedlist>

+ 1 - 1
chapter03/introduction.xml

@@ -24,7 +24,7 @@
   url="http://www.google.com/"/>) provides a useful search engine for
   most packages. If this search is unsuccessful, try one of the
   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
   that is conveniently available throughout the entire build. A working

+ 21 - 14
chapter03/patches.xml

@@ -66,13 +66,13 @@
       </listitem>
     </varlistentry>
 
-    <!-- <varlistentry>
+    <varlistentry>
       <term>Coreutils Internationalization Fixes Patch - <token>&coreutils-i18n-patch-size;</token>:</term>
       <listitem>
         <para>Download: <ulink url="&patches-root;&coreutils-i18n-patch;"/></para>
         <para>MD5 sum: <literal>&coreutils-i18n-patch-md5;</literal></para>
       </listitem>
-    </varlistentry> -->
+    </varlistentry>
 
     <varlistentry>
       <term>Coreutils Old Kernel Patch - <token>&coreutils-old-kernel-patch-size;</token>:</term>
@@ -117,24 +117,24 @@
     <varlistentry>
       <term>Glibc Iconv Test Fixes Patch - <token>&glibc-iconv-test-fixes-patch-size;</token>:</term>
       <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>
     </varlistentry>
 
     <varlistentry>
       <term>Glibc Ildoubl Test Fix Patch - <token>&glibc-ildoubl-test-fix-patch-size;</token>:</term>
       <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>
     </varlistentry>
 
     <varlistentry>
       <term>Grep Debian Patch - <token>&grep-debian-patch-size;</token>:</term>
       <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>
     </varlistentry>
 
@@ -194,15 +194,23 @@
       </listitem>
     </varlistentry>
 
-    <varlistentry>
+    <!-- <varlistentry>
       <term>Perl Libc Patch - <token>&perl-libc-patch-size;</token>:</term>
       <listitem>
         <para>Download: <ulink url="&patches-root;&perl-libc-patch;"/></para>
         <para>MD5 sum: <literal>&perl-libc-patch-md5;</literal></para>
       </listitem>
-    </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>
       <listitem>
         <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>MD5 sum: <literal>&perl-security-patch-md5;</literal></para>
       </listitem>
-    </varlistentry>
+    </varlistentry> -->
 
     <varlistentry>
       <term>Procps Watch Patch - <token>&procps-watch-patch-size;</token>:</term>
@@ -242,7 +250,6 @@
       </listitem>
     </varlistentry> -->
 
-
     <varlistentry>
       <term>Vim Fixes Patch - <token>&vim-fixes-patch-size;</token>:</term>
       <listitem>
@@ -251,13 +258,13 @@
       </listitem>
     </varlistentry>
 
-    <varlistentry>
+    <!-- <varlistentry>
       <term>Vim Man Directories Patch - <token>&vim-mandir-patch-size;</token>:</term>
       <listitem>
         <para>Download: <ulink url="&patches-root;&vim-mandir-patch;"/></para>
         <para>MD5 sum: <literal>&vim-mandir-patch-md5;</literal></para>
       </listitem>
-    </varlistentry>
+    </varlistentry> -->
 
   </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>
 
 <!-- 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
   (<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>
 
-<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>
-      <title>The meaning of the configure option:</title>
+      <title>The meaning of the configure options:</title>
 
       <varlistentry>
         <term><parameter>--without-bash-malloc</parameter></term>
@@ -65,6 +66,14 @@
           more stable.</para>
         </listitem>
       </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>
 
@@ -72,7 +81,10 @@
 
 <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>
 

+ 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="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="gcc-pass1.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>
 
-    <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>
 
@@ -84,11 +86,11 @@
 <screen><userinput remap="install">make install</userinput></screen>
 
     <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>
 

+ 2 - 3
chapter05/dejagnu.xml

@@ -49,9 +49,8 @@
 
 <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>
 

+ 5 - 0
chapter05/e2fsprogs.xml

@@ -60,6 +60,11 @@ cd build</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 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>
 
-    <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>
 

+ 3 - 1
chapter05/findutils.xml

@@ -51,7 +51,9 @@
 
 <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>
 

+ 18 - 2
chapter05/gawk.xml

@@ -45,12 +45,28 @@
 
     <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>
 
+    <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>
 
 <screen><userinput remap="test">make check</userinput></screen>

+ 10 - 1
chapter05/gcc-pass1.xml

@@ -98,10 +98,19 @@ cd ../gcc-build</userinput></screen>
         </listitem>
       </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>
         <term><parameter>--enable-languages=c</parameter></term>
         <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>
       </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>
 
 <screen><userinput remap="configure">./configure --prefix=/tools \
-    --disable-perl-regexp</userinput></screen>
+    --disable-perl-regexp \
+    --without-included-regex</userinput></screen>
 
     <variablelist>
-      <title>The meaning of the configure option:</title>
+      <title>The meaning of the configure switches:</title>
 
       <varlistentry>
         <term><parameter>--disable-perl-regexp</parameter></term>
@@ -61,13 +62,23 @@
         </listitem>
       </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>
 
     <para>Compile the package:</para>
 
 <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>
 

+ 3 - 1
chapter05/gzip.xml

@@ -60,7 +60,9 @@ done</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>
 

+ 1 - 39
chapter05/introduction.xml

@@ -10,7 +10,7 @@
 
   <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
   LFS system in <xref linkend="chapter-building-system"/> and allow a working
   environment with more user convenience than a minimum environment would.</para>
@@ -26,42 +26,4 @@
   production directories. Since the packages compiled here are temporary,
   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>

+ 11 - 4
chapter05/linux-headers.xml

@@ -44,14 +44,21 @@
     <title>Installation of Linux API Headers</title>
 
     <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
     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
 cp -rv dest/include/* /tools/include</userinput></screen>
 

+ 3 - 1
chapter05/m4.xml

@@ -51,7 +51,9 @@
 
 <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>
 

+ 3 - 1
chapter05/make.xml

@@ -50,7 +50,9 @@
 
 <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>
 

+ 5 - 1
chapter05/ncurses.xml

@@ -77,7 +77,11 @@
 
 <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>
 

+ 5 - 4
chapter05/perl.xml

@@ -43,10 +43,10 @@
   <sect2 role="installation">
     <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>
 
@@ -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
     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>
       <title>The meaning of the configure options:</title>

+ 3 - 1
chapter05/sed.xml

@@ -51,7 +51,9 @@
 
 <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>
 

+ 2 - 3
chapter05/stripping.xml

@@ -18,9 +18,8 @@
 <screen><userinput>strip --strip-debug /tools/lib/*
 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
   <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>
 
-    <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>
 

+ 9 - 2
chapter05/tcl.xml

@@ -57,11 +57,13 @@
 
 <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>
 
-    <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
     here are not surprising, and are not considered critical. The
     <parameter>TZ=UTC</parameter> parameter sets the time zone to Coordinated
@@ -74,6 +76,11 @@
 
 <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
     to build.</para>
 

+ 3 - 1
chapter05/texinfo.xml

@@ -51,7 +51,9 @@
 
 <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>
 

+ 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
   <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
   dynamic linker from the host system's <filename
   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>
         <listitem>
           <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
           the default from the <filename>Makefile</filename>.</para>
         </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>
 
 <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>
       <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="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="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="zlib.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="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="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="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="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="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="gzip.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>
 
-    <!-- <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
     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
       bugs to Coreutils maintainers, please check first if they are reproducible
       without this patch.</para>
-    </note> -->
+    </note>
 
     <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
     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>
 

+ 1 - 1
chapter06/createfiles.xml

@@ -39,7 +39,7 @@
   replaced by real files throughout the course of this chapter after the software
   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/lib/libgcc_s.so{,.1} /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>
 
+    <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
     <filename class="extension">.info</filename> file but doesn't update the
     system-wide <filename>dir</filename> file. Unzip this file and then update
@@ -141,9 +146,10 @@ install -v -m644 -D ../doc/libblkid.txt \
 
       <seglistitem>
         <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},
         libext2fs.{a,so}, libss.{a,so}, and libuuid.{a,so}</seg>
       </seglistitem>
@@ -260,6 +266,18 @@ install -v -m644 -D ../doc/libblkid.txt \
         </listitem>
       </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">
         <term><command>filefrag</command></term>
         <listitem>
@@ -295,7 +313,7 @@ install -v -m644 -D ../doc/libblkid.txt \
         <term><command>fsck.ext2</command></term>
         <listitem>
           <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">
             <primary sortas="b-fsck.ext2">fsck.ext2</primary>
           </indexterm>
@@ -306,13 +324,36 @@ install -v -m644 -D ../doc/libblkid.txt \
         <term><command>fsck.ext3</command></term>
         <listitem>
           <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">
             <primary sortas="b-fsck.ext3">fsck.ext3</primary>
           </indexterm>
         </listitem>
       </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">
         <term><command>logsave</command></term>
         <listitem>
@@ -362,7 +403,7 @@ install -v -m644 -D ../doc/libblkid.txt \
         <term><command>mkfs.ext2</command></term>
         <listitem>
           <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">
             <primary sortas="b-mkfs.ext2">mkfs.ext2</primary>
           </indexterm>
@@ -373,13 +414,35 @@ install -v -m644 -D ../doc/libblkid.txt \
         <term><command>mkfs.ext3</command></term>
         <listitem>
           <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">
             <primary sortas="b-mkfs.ext3">mkfs.ext3</primary>
           </indexterm>
         </listitem>
       </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">
         <term><command>mklost+found</command></term>
         <listitem>

+ 2 - 1
chapter06/gawk.xml

@@ -42,7 +42,8 @@
 
     <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>
 

+ 4 - 0
chapter06/gcc.xml

@@ -82,6 +82,10 @@ cd ../gcc-build</userinput></screen>
     --enable-clocale=gnu --enable-languages=c,c++ \
     --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>
 
 <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
 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
     <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
     <command>localedef</command> program. E.g., the first
     <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
-    <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
     <filename>/usr/lib/locale/locale-archive</filename> file.
     The following instructions will install the minimum set of
     locales necessary for the optimal coverage of tests:</para>
 
 <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@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_PH -f ISO-8859-1 en_PH
 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 -f UTF-8 fr_FR.UTF-8
 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
     character set.</para>

+ 10 - 0
chapter06/gmp.xml

@@ -41,6 +41,16 @@
   <sect2 role="installation">
     <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>
 
 <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>
 
-<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>
 

+ 4 - 1
chapter06/iproute2.xml

@@ -146,7 +146,10 @@
       <varlistentry id="ifcfg">
         <term><command>ifcfg</command></term>
         <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">
             <primary sortas="b-ifcfg">ifcfg</primary>
           </indexterm>

+ 11 - 4
chapter06/linux-headers.xml

@@ -42,14 +42,21 @@
     <title>Installation of Linux API Headers</title>
 
     <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
     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
 cp -rv dest/include/* /usr/include</userinput></screen>
 

+ 1 - 1
chapter06/m4.xml

@@ -42,7 +42,7 @@
 
     <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>
 

+ 150 - 119
chapter06/man-db.xml

@@ -41,48 +41,18 @@
   <sect2 role="installation">
     <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>
 
-    <!-- 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>
 
-<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-grap=/usr/bin/grap</userinput></screen>
 
@@ -97,18 +67,28 @@ EOF</userinput></screen>
         </listitem>
       </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>
         <term><parameter>--with-...</parameter></term>
         <listitem>
           <para>These four parameters are used to set some default programs.
           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>
       </varlistentry>
 
@@ -124,60 +104,54 @@ EOF</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>
     <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>
-      <title>Expected character encoding of manual pages</title>
+      <title>Expected character encoding of legacy 8-bit manual pages</title>
       <?dbfo table-width="2.5in" ?>
 
       <tgroup cols="2">
@@ -241,7 +215,7 @@ install -m755 convert-mans  /usr/bin</userinput></screen>
             <entry>Dutch (nl)</entry>
             <entry>ISO-8859-1</entry>
           </row>
-	  <!-- FIXME: BUG: "no" is deprecated, should use "nb" or "nn" and
+          <!-- FIXME: BUG: "no" is deprecated, should use "nb" or "nn" and
           symlinks -->
           <row>
             <entry>Norwegian (no)</entry>
@@ -257,6 +231,10 @@ install -m755 convert-mans  /usr/bin</userinput></screen>
             <entry>ISO-8859-1</entry>
           </row>
           <!-- Languages below require patched groff -->
+          <row>
+            <entry>Bulgarian (bg)</entry>
+            <entry>CP1251</entry>
+          </row>
           <row>
             <entry>Czech (cs)</entry>
             <entry>ISO-8859-2</entry>
@@ -289,10 +267,30 @@ install -m755 convert-mans  /usr/bin</userinput></screen>
             <entry>Slovak (sk)</entry>
             <entry>ISO-8859-2</entry>
           </row>
+          <row>
+            <entry>Serbian (sr)</entry>
+            <entry>ISO-8859-5</entry>
+          </row>
           <row>
             <entry>Turkish (tr)</entry>
             <entry>ISO-8859-9</entry>
           </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>
 
       </tgroup>
@@ -301,40 +299,73 @@ install -m755 convert-mans  /usr/bin</userinput></screen>
 
     <note>
       <para>Manual pages in languages not in the list are not supported.
-      Norwegian doesn't work now because of the transition from no_NO to
-      nb_NO locale, and Korean is non-functional because of the incomplete
-      Groff patch.</para>
+      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>
 
-    <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
-    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
     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>
 
@@ -391,7 +422,7 @@ make install</userinput></screen>
       <varlistentry id="convert-mans">
         <term><command>convert-mans</command></term>
         <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">
             <primary sortas="b-convert-mans">convert-mans</primary>
           </indexterm>

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

@@ -61,7 +61,7 @@ make clean</userinput></screen>
 
     <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>
 

+ 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>
 
-    <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>
 
 <screen><userinput remap="pre">patch -Np1 -i ../&perl-page-patch;</userinput></screen>
+    -->
 
     <!-- Confirmed that this is not required any longer
     <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
     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>
       <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>
         <term><parameter>-Dpager="/usr/bin/less -isR"</parameter></term>
         <listitem>

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

@@ -105,16 +105,15 @@ mkdir -pv /var/lib/hwclock</userinput></screen>
       <segtitle>Installed programs</segtitle>
 
       <seglistitem>
-
         <seg>addpart, agetty, arch, blockdev, cal, cfdisk, chkdupexe, chrt,
         col, colcrt, colrm, column, ctrlaltdel, cytune, ddate, delpart, dmesg,
         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>
     </segmentedlist>
 
@@ -385,6 +384,16 @@ mkdir -pv /var/lib/hwclock</userinput></screen>
         </listitem>
       </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">
         <term><command>ionice</command></term>
         <listitem>
@@ -435,6 +444,26 @@ mkdir -pv /var/lib/hwclock</userinput></screen>
         </listitem>
       </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">
         <term><command>line</command></term>
         <listitem>

+ 8 - 127
chapter06/vim.xml

@@ -59,7 +59,7 @@
     </para>
 
 <screen><userinput remap="pre">patch -Np1 -i ../&vim-fixes-patch;</userinput></screen>
-
+<!--
     <para>This version of Vim installs translated man pages and places
     them into directories that will not be searched by Man-DB. Patch Vim
     so that it installs its man pages into searchable directories and
@@ -67,8 +67,8 @@
     at run-time:</para>
 
 <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
     class="directory">/etc</filename>:</para>
 
@@ -117,8 +117,8 @@
     languages:</para>
 
 <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>
 
     <para>By default, Vim's documentation is installed in <filename
@@ -213,10 +213,9 @@ set spell</literal></screen>
       <segtitle>Installed programs</segtitle>
 
       <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>
     </segmentedlist>
 
@@ -225,28 +224,6 @@ set spell</literal></screen>
       <?dbfo list-presentation="list"?>
       <?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">
         <term><command>ex</command></term>
         <listitem>
@@ -257,47 +234,6 @@ set spell</literal></screen>
         </listitem>
       </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">
         <term><command>rview</command></term>
         <listitem>
@@ -322,16 +258,6 @@ set spell</literal></screen>
         </listitem>
       </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">
         <term><command>vi</command></term>
         <listitem>
@@ -362,28 +288,6 @@ set spell</literal></screen>
         </listitem>
       </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">
         <term><command>vimdiff</command></term>
         <listitem>
@@ -395,29 +299,6 @@ set spell</literal></screen>
         </listitem>
       </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">
         <term><command>vimtutor</command></term>
         <listitem>

+ 30 - 25
chapter07/console.xml

@@ -59,8 +59,8 @@
         <para>This variable specifies the arguments for the
         <command>loadkeys</command> program, typically, the name of keymap
         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>
     </varlistentry>
 
@@ -82,13 +82,16 @@
         <para>This variable specifies the arguments for the
         <command>setfont</command> program. Typically, this includes the font
         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>
     </varlistentry>
 
@@ -96,7 +99,7 @@
       <term>UNICODE</term>
       <listitem>
         <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
         harmful otherwise.</para>
       </listitem>
@@ -108,7 +111,7 @@
         <para>For many keyboard layouts, there is no stock Unicode keymap in
         the Kbd package. The <command>console</command> bootscript will
         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>
     </varlistentry>
 
@@ -183,17 +186,17 @@ EOF</userinput></screen>
     </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"
 <literal># Begin /etc/sysconfig/console
 
 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>
 EOF</userinput></screen>
@@ -204,14 +207,16 @@ EOF</userinput></screen>
       character by themselves, but put an accent on the character produced
       by the next key) or define composition rules (such as: <quote>press
       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>

+ 3 - 3
general.ent

@@ -1,7 +1,7 @@
 <?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 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
      of acceptable features that can be shown by debugfs in
      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-md5 "1c1c5177aea9a23b45b9b3f5b3241819">
+<!ENTITY e2fsprogs-md5 "b21d26fc46c584021dc9c444933ee1c2">
 <!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-ch6-du "54 MB 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-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-url "&downloads-root;lfs-bootscripts-&lfs-bootscripts-version;.tar.bz2">
 <!ENTITY lfs-bootscripts-md5 "BOOTSCRIPTS-MD5SUM">           <!-- Updated in Makefile -->
@@ -306,13 +306,13 @@
 <!ENTITY libtool-ch6-sbu "0.1 SBU">
 
 <!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;"> -->
-<!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-md5 "98261b39a558cf0739703ffea7db9f43">
+<!ENTITY linux-md5 "3880fe9f19b9a7690afd151326eb7ce5">
 <!ENTITY linux-home "http://www.kernel.org/">
 <!ENTITY linux-ch8-du "350 - 500 MB">
 <!ENTITY linux-ch8-sbu "1.5 - 5.0 SBU">
@@ -322,10 +322,10 @@
 <!ENTITY linux-headers-ch6-du "341 MB">
 <!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-md5 "96ec473c2a6f203976c028e896a01b28">
+<!ENTITY m4-md5 "b3587c993523dd320c318ec456876839">
 <!ENTITY m4-home "&gnu-software;m4/">
 <!ENTITY m4-ch5-du "10 MB">
 <!ENTITY m4-ch5-sbu "0.2 SBU">
@@ -387,9 +387,9 @@
 <!ENTITY ncurses-version "5.6">
 <!-- <!ENTITY ncurses-date "20050319"> -->
 <!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-home "http://dickey.his.com/ncurses/">
+<!ENTITY ncurses-home "http://www.gnu.org/software/ncurses/">
 <!ENTITY ncurses-ch5-du "30 MB">
 <!ENTITY ncurses-ch5-sbu "0.7 SBU">
 <!ENTITY ncurses-ch6-du "31 MB">
@@ -483,14 +483,14 @@
 <!ENTITY tar-ch6-du "19.9 MB">
 <!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-size "4,402 KB">
+<!ENTITY tcl-size "4,316 KB">
 <!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-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-size "2,751 KB">
@@ -541,9 +541,9 @@
 <!ENTITY vim-lang-home "http://www.vim.org">
 
 <!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-ch6-du "3.1 MB">
 <!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 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-md5 "5e8622abe6c6d81901b910383c6fb611">
@@ -53,7 +53,7 @@
 <!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-size "4.1 KB">
 
@@ -109,18 +109,9 @@
 <!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-md5 "2e5b57608177bd54349c718db9b5843d">
@@ -141,6 +132,7 @@
 <!ENTITY vim-fixes-patch-md5 "4b526f493995d2eb6fd415eb62ff43d8">
 <!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-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>
 
+    <!-- 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>

+ 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
 

+ 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"

+ 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>
 	* 55-lfs.rules: Override default perms on floppy disk devices provided
 	  by 50-udev-default.rules.  Thanks to Bruce Dubbs for the fix.  Closes