aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile2
-rw-r--r--appendices/dependencies.xml59
-rw-r--r--appendices/license.xml14
-rw-r--r--appendices/mit-lic.xml24
-rw-r--r--appendices/scripts.xml16
-rw-r--r--appendices/udev-rules.xml6
-rwxr-xr-xaux-file-data.sh2
-rw-r--r--bootscripts/ChangeLog63
-rw-r--r--bootscripts/Makefile6
-rw-r--r--bootscripts/contrib/lsb-v3/ChangeLog3
-rw-r--r--bootscripts/contrib/lsb-v3/init.d/console13
-rw-r--r--bootscripts/lfs/init.d/cleanfs4
-rw-r--r--bootscripts/lfs/init.d/console13
-rw-r--r--bootscripts/lfs/init.d/functions20
-rw-r--r--chapter01/changelog.xml1087
-rw-r--r--chapter01/how.xml18
-rw-r--r--chapter01/resources.xml3
-rw-r--r--chapter01/whatsnew.xml294
-rw-r--r--chapter03/introduction.xml2
-rw-r--r--chapter03/patches.xml35
-rw-r--r--chapter05/adjusting.xml4
-rw-r--r--chapter05/bash.xml18
-rw-r--r--chapter05/chapter05.xml1
-rw-r--r--chapter05/coreutils.xml14
-rw-r--r--chapter05/dejagnu.xml5
-rw-r--r--chapter05/e2fsprogs.xml5
-rw-r--r--chapter05/expect.xml4
-rw-r--r--chapter05/findutils.xml4
-rw-r--r--chapter05/gawk.xml20
-rw-r--r--chapter05/gcc-pass1.xml11
-rw-r--r--chapter05/generalinstructions.xml71
-rw-r--r--chapter05/grep.xml17
-rw-r--r--chapter05/gzip.xml4
-rw-r--r--chapter05/introduction.xml40
-rw-r--r--chapter05/linux-headers.xml15
-rw-r--r--chapter05/m4.xml4
-rw-r--r--chapter05/make.xml4
-rw-r--r--chapter05/ncurses.xml6
-rw-r--r--chapter05/perl.xml9
-rw-r--r--chapter05/sed.xml4
-rw-r--r--chapter05/stripping.xml5
-rw-r--r--chapter05/tar.xml4
-rw-r--r--chapter05/tcl.xml11
-rw-r--r--chapter05/texinfo.xml4
-rw-r--r--chapter05/toolchaintechnotes.xml4
-rw-r--r--chapter05/util-linux-ng.xml2
-rw-r--r--chapter06/bash.xml2
-rw-r--r--chapter06/chapter06.xml4
-rw-r--r--chapter06/coreutils.xml6
-rw-r--r--chapter06/createfiles.xml2
-rw-r--r--chapter06/e2fsprogs.xml77
-rw-r--r--chapter06/gawk.xml3
-rw-r--r--chapter06/gcc.xml4
-rw-r--r--chapter06/glibc.xml20
-rw-r--r--chapter06/gmp.xml10
-rw-r--r--chapter06/grep.xml18
-rw-r--r--chapter06/iproute2.xml5
-rw-r--r--chapter06/linux-headers.xml15
-rw-r--r--chapter06/m4.xml2
-rw-r--r--chapter06/man-db.xml269
-rw-r--r--chapter06/module-init-tools.xml2
-rw-r--r--chapter06/perl.xml25
-rw-r--r--chapter06/util-linux-ng.xml43
-rw-r--r--chapter06/vim.xml135
-rw-r--r--chapter07/console.xml55
-rw-r--r--general.ent6
-rw-r--r--packages.ent42
-rw-r--r--patches.ent28
-rw-r--r--stylesheets/lfs-xsl/lfs-l10n.xml16
-rw-r--r--udev-config/55-lfs.rules2
-rw-r--r--udev-config/61-cdrom.rules2
-rw-r--r--udev-config/ChangeLog4
72 files changed, 906 insertions, 1865 deletions
diff --git a/Makefile b/Makefile
index d0fea139a..5094786be 100644
--- a/Makefile
+++ b/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..."
diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml
index ee117521a..da56a369e 100644
--- a/appendices/dependencies.xml
+++ b/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>
diff --git a/appendices/license.xml b/appendices/license.xml
index da2b891be..079552b0a 100644
--- a/appendices/license.xml
+++ b/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>
diff --git a/appendices/mit-lic.xml b/appendices/mit-lic.xml
index 9f02067e7..1e8ed4d03 100644
--- a/appendices/mit-lic.xml
+++ b/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>
diff --git a/appendices/scripts.xml b/appendices/scripts.xml
index 7730a9198..15e57b3d3 100644
--- a/appendices/scripts.xml
+++ b/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>
diff --git a/appendices/udev-rules.xml b/appendices/udev-rules.xml
index 362732fb9..76758bf44 100644
--- a/appendices/udev-rules.xml
+++ b/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>
diff --git a/aux-file-data.sh b/aux-file-data.sh
index 8df4ac2cd..7f7017728 100755
--- a/aux-file-data.sh
+++ b/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
############
diff --git a/bootscripts/ChangeLog b/bootscripts/ChangeLog
index 32e06a8b4..790329af6 100644
--- a/bootscripts/ChangeLog
+++ b/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
diff --git a/bootscripts/Makefile b/bootscripts/Makefile
index 4c6bcca10..c789a7225 100644
--- a/bootscripts/Makefile
+++ b/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 \
diff --git a/bootscripts/contrib/lsb-v3/ChangeLog b/bootscripts/contrib/lsb-v3/ChangeLog
index dc2fe95d5..ba86819ef 100644
--- a/bootscripts/contrib/lsb-v3/ChangeLog
+++ b/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.
diff --git a/bootscripts/contrib/lsb-v3/init.d/console b/bootscripts/contrib/lsb-v3/init.d/console
index 071750125..dc8bd837b 100644
--- a/bootscripts/contrib/lsb-v3/init.d/console
+++ b/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" |
diff --git a/bootscripts/lfs/init.d/cleanfs b/bootscripts/lfs/init.d/cleanfs
index 9a4e18601..c5a42970c 100644
--- a/bootscripts/lfs/init.d/cleanfs
+++ b/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
diff --git a/bootscripts/lfs/init.d/console b/bootscripts/lfs/init.d/console
index e8b853591..aa6232e0a 100644
--- a/bootscripts/lfs/init.d/console
+++ b/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" |
diff --git a/bootscripts/lfs/init.d/functions b/bootscripts/lfs/init.d/functions
index a9e13fd27..7a0b584c0 100644
--- a/bootscripts/lfs/init.d/functions
+++ b/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}
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index ba1c09c75..f0ef6ebd4 100644
--- a/chapter01/changelog.xml
+++ b/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>
+ <para>2008-12-02</para>
<itemizedlist>
<listitem>
- <para>[ken] - Updated bzip2 to 1.0.5, fixes CVE-2008-1372.</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>2008-02-26</para>
+ <para>2008-12-01</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>
+ <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>
</itemizedlist>
</listitem>
<listitem>
- <para>2007-12-23</para>
+ <para>2008-11-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>
+ <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-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>
- <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>
- </listitem>
- </itemizedlist>
- </listitem>
-
- <listitem>
- <para>2007-08-31</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>
- </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>
- <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>
- </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>
diff --git a/chapter01/how.xml b/chapter01/how.xml
index c20389147..0637dc8d8 100644
--- a/chapter01/how.xml
+++ b/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,
diff --git a/chapter01/resources.xml b/chapter01/resources.xml
index b0fcae656..35e05141e 100644
--- a/chapter01/resources.xml
+++ b/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>
diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml
index 5de2af0ab..27495333f 100644
--- a/chapter01/whatsnew.xml
+++ b/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>
diff --git a/chapter03/introduction.xml b/chapter03/introduction.xml
index 883cbc2ba..18874becb 100644
--- a/chapter03/introduction.xml
+++ b/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
diff --git a/chapter03/patches.xml b/chapter03/patches.xml
index 2c6f19aa4..0705c33be 100644
--- a/chapter03/patches.xml
+++ b/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>
diff --git a/chapter05/adjusting.xml b/chapter05/adjusting.xml
index bf3d299b9..a916e3621 100644
--- a/chapter05/adjusting.xml
+++ b/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
diff --git a/chapter05/bash.xml b/chapter05/bash.xml
index d55f01d0e..195577380 100644
--- a/chapter05/bash.xml
+++ b/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>
diff --git a/chapter05/chapter05.xml b/chapter05/chapter05.xml
index 5fa82f6da..5d776d032 100644
--- a/chapter05/chapter05.xml
+++ b/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"/>
diff --git a/chapter05/coreutils.xml b/chapter05/coreutils.xml
index d36c0145f..e901a2949 100644
--- a/chapter05/coreutils.xml
+++ b/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>
diff --git a/chapter05/dejagnu.xml b/chapter05/dejagnu.xml
index bae0ed7d9..f9bd2843d 100644
--- a/chapter05/dejagnu.xml
+++ b/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>
diff --git a/chapter05/e2fsprogs.xml b/chapter05/e2fsprogs.xml
index 5c3e9cb37..5211ca666 100644
--- a/chapter05/e2fsprogs.xml
+++ b/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">
diff --git a/chapter05/expect.xml b/chapter05/expect.xml
index 7d389f448..5e54450fc 100644
--- a/chapter05/expect.xml
+++ b/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>
diff --git a/chapter05/findutils.xml b/chapter05/findutils.xml
index c809b121e..ce78e1a17 100644
--- a/chapter05/findutils.xml
+++ b/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>
diff --git a/chapter05/gawk.xml b/chapter05/gawk.xml
index bdb99149a..c79eb72a6 100644
--- a/chapter05/gawk.xml
+++ b/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>
diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml
index be22cb7cf..2dc1fa572 100644
--- a/chapter05/gcc-pass1.xml
+++ b/chapter05/gcc-pass1.xml
@@ -99,9 +99,18 @@ cd ../gcc-build</userinput></screen>
</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>
diff --git a/chapter05/generalinstructions.xml b/chapter05/generalinstructions.xml
new file mode 100644
index 000000000..bab8bed22
--- /dev/null
+++ b/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>
diff --git a/chapter05/grep.xml b/chapter05/grep.xml
index 46e3b1c42..601bc77fb 100644
--- a/chapter05/grep.xml
+++ b/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>
diff --git a/chapter05/gzip.xml b/chapter05/gzip.xml
index f8ce9d1a3..0d55b6d75 100644
--- a/chapter05/gzip.xml
+++ b/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>
diff --git a/chapter05/introduction.xml b/chapter05/introduction.xml
index 5e6a17119..33a566877 100644
--- a/chapter05/introduction.xml
+++ b/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>
diff --git a/chapter05/linux-headers.xml b/chapter05/linux-headers.xml
index 63063b7d6..30f69a33e 100644
--- a/chapter05/linux-headers.xml
+++ b/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>
diff --git a/chapter05/m4.xml b/chapter05/m4.xml
index 8e3181cbe..4ba74d780 100644
--- a/chapter05/m4.xml
+++ b/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>
diff --git a/chapter05/make.xml b/chapter05/make.xml
index 052df7931..cf258c76f 100644
--- a/chapter05/make.xml
+++ b/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>
diff --git a/chapter05/ncurses.xml b/chapter05/ncurses.xml
index cb4cc2049..0b175073b 100644
--- a/chapter05/ncurses.xml
+++ b/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>
diff --git a/chapter05/perl.xml b/chapter05/perl.xml
index 30f176bef..7483b65ef 100644
--- a/chapter05/perl.xml
+++ b/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>
diff --git a/chapter05/sed.xml b/chapter05/sed.xml
index ed346ebdf..53ace607c 100644
--- a/chapter05/sed.xml
+++ b/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>
diff --git a/chapter05/stripping.xml b/chapter05/stripping.xml
index 79b023fb4..3491237ac 100644
--- a/chapter05/stripping.xml
+++ b/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
diff --git a/chapter05/tar.xml b/chapter05/tar.xml
index 566836f13..6d3b9b162 100644
--- a/chapter05/tar.xml
+++ b/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>
diff --git a/chapter05/tcl.xml b/chapter05/tcl.xml
index 88fa8021e..8e5146d08 100644
--- a/chapter05/tcl.xml
+++ b/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>
diff --git a/chapter05/texinfo.xml b/chapter05/texinfo.xml
index cea7779e8..26e7ecf4f 100644
--- a/chapter05/texinfo.xml
+++ b/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>
diff --git a/chapter05/toolchaintechnotes.xml b/chapter05/toolchaintechnotes.xml
index c86d1d9b9..f6adefb61 100644
--- a/chapter05/toolchaintechnotes.xml
+++ b/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
diff --git a/chapter05/util-linux-ng.xml b/chapter05/util-linux-ng.xml
index e0badac56..80eafac5c 100644
--- a/chapter05/util-linux-ng.xml
+++ b/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>
diff --git a/chapter06/bash.xml b/chapter06/bash.xml
index 668071223..59ede3798 100644
--- a/chapter06/bash.xml
+++ b/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>
diff --git a/chapter06/chapter06.xml b/chapter06/chapter06.xml
index f213f7605..016dd0657 100644
--- a/chapter06/chapter06.xml
+++ b/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"/>
diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml
index 8995ba1d1..493b39593 100644
--- a/chapter06/coreutils.xml
+++ b/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>
diff --git a/chapter06/createfiles.xml b/chapter06/createfiles.xml
index 4913d7d91..3a725ea08 100644
--- a/chapter06/createfiles.xml
+++ b/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
diff --git a/chapter06/e2fsprogs.xml b/chapter06/e2fsprogs.xml
index 9a7ca5f89..7f8514871 100644
--- a/chapter06/e2fsprogs.xml
+++ b/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>
diff --git a/chapter06/gawk.xml b/chapter06/gawk.xml
index 04ee8ae5b..f8d63fca2 100644
--- a/chapter06/gawk.xml
+++ b/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>
diff --git a/chapter06/gcc.xml b/chapter06/gcc.xml
index 7e54b47fe..8546b670a 100644
--- a/chapter06/gcc.xml
+++ b/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>
diff --git a/chapter06/glibc.xml b/chapter06/glibc.xml
index b02beb9ad..3aaa0f9d1 100644
--- a/chapter06/glibc.xml
+++ b/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>
diff --git a/chapter06/gmp.xml b/chapter06/gmp.xml
index a7b6fc7af..2832a13fb 100644
--- a/chapter06/gmp.xml
+++ b/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>
diff --git a/chapter06/grep.xml b/chapter06/grep.xml
index 22d65df95..4e9127b02 100644
--- a/chapter06/grep.xml
+++ b/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>
diff --git a/chapter06/iproute2.xml b/chapter06/iproute2.xml
index 7e7705389..007639a33 100644
--- a/chapter06/iproute2.xml
+++ b/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>
diff --git a/chapter06/linux-headers.xml b/chapter06/linux-headers.xml
index a2824d541..f34e037a4 100644
--- a/chapter06/linux-headers.xml
+++ b/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>
diff --git a/chapter06/m4.xml b/chapter06/m4.xml
index c22282c1d..924e6c7b3 100644
--- a/chapter06/m4.xml
+++ b/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>
diff --git a/chapter06/man-db.xml b/chapter06/man-db.xml
index bb1fefced..542ff47f9 100644
--- a/chapter06/man-db.xml
+++ b/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>
@@ -98,17 +68,27 @@ EOF</userinput></screen>
</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>
@@ -258,6 +232,10 @@ install -m755 convert-mans /usr/bin</userinput></screen>
</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>
</row>
@@ -290,9 +268,29 @@ install -m755 convert-mans /usr/bin</userinput></screen>
<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>
diff --git a/chapter06/module-init-tools.xml b/chapter06/module-init-tools.xml
index cea92a17b..f447974a8 100644
--- a/chapter06/module-init-tools.xml
+++ b/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>
diff --git a/chapter06/perl.xml b/chapter06/perl.xml
index 721809dbe..d159db493 100644
--- a/chapter06/perl.xml
+++ b/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,15 +79,24 @@
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>
<para>This corrects an error in the way that <command>perldoc</command>
diff --git a/chapter06/util-linux-ng.xml b/chapter06/util-linux-ng.xml
index ebe43640c..258c7b897 100644
--- a/chapter06/util-linux-ng.xml
+++ b/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>
diff --git a/chapter06/vim.xml b/chapter06/vim.xml
index a1f4d32fd..67d873a1a 100644
--- a/chapter06/vim.xml
+++ b/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>
diff --git a/chapter07/console.xml b/chapter07/console.xml
index 54056a2aa..9296952e6 100644
--- a/chapter07/console.xml
+++ b/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>
diff --git a/general.ent b/general.ent
index f10bb2107..9df811ed8 100644
--- a/general.ent
+++ b/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}]" -->
diff --git a/packages.ent b/packages.ent
index ba4369fb4..1b9edfa8e 100644
--- a/packages.ent
+++ b/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">
diff --git a/patches.ent b/patches.ent
index ff60869d7..9509e7f15 100644
--- a/patches.ent
+++ b/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"> -->
+
diff --git a/stylesheets/lfs-xsl/lfs-l10n.xml b/stylesheets/lfs-xsl/lfs-l10n.xml
index 2ee014447..07a370b80 100644
--- a/stylesheets/lfs-xsl/lfs-l10n.xml
+++ b/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>
diff --git a/udev-config/55-lfs.rules b/udev-config/55-lfs.rules
index a1750150d..e4ef214a7 100644
--- a/udev-config/55-lfs.rules
+++ b/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
diff --git a/udev-config/61-cdrom.rules b/udev-config/61-cdrom.rules
index 5a38a7210..8bf6a4338 100644
--- a/udev-config/61-cdrom.rules
+++ b/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"
diff --git a/udev-config/ChangeLog b/udev-config/ChangeLog
index be9eef85d..ca31b8c41 100644
--- a/udev-config/ChangeLog
+++ b/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