diff options
author | Jeremy Huntwork <jhuntwork@linuxfromscratch.org> | 2008-12-03 22:04:18 +0000 |
---|---|---|
committer | Jeremy Huntwork <jhuntwork@linuxfromscratch.org> | 2008-12-03 22:04:18 +0000 |
commit | a79ca5f186ef1dbd6d51a032cc5b0c134ae50348 (patch) | |
tree | a80ff0de12dc77f48a5eb600a1264e76f42b1ca4 | |
parent | 3efd483db8fca37ecaef6a6497cd74c06aad489f (diff) |
Bring jh branch up to speed with trunkjh
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/jh/BOOK@8753 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
72 files changed, 906 insertions, 1865 deletions
@@ -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 © ©rightdate; 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&@g' \ - > `dirname $(gcc -print-libgcc-file-name)`/specs</userinput></screen> +<screen><userinput>gcc -dumpspecs | sed 's@/lib\(64\)\?/ld@/tools&@g' > \ + `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 > 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—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—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 > makedepend.SH</userinput>< 'Data/Dumper Fcntl IO POSIX' part of the command correct—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 >> include/manconfig.h.in << "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 >> convert-mans << "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 >> convert-mans << "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><language - code></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></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><language + code></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)" > /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 > /etc/sysconfig/console << "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 Æ</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–2008"> +<!ENTITY version "SVN-20081203"> +<!ENTITY releasedate "December 3, 2008"> +<!ENTITY copyrightdate "1999-2008"><!-- jhalfs needs a literal dash, not – --> <!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 |