diff options
125 files changed, 728 insertions, 1455 deletions
@@ -1,11 +1,11 @@ LFS Book Conversion Tools Installation Instructions -After downloading the SVN source, there are some things that need to be set up -on your computer if you want to convert the XML source into something easier to -read (e.g. HTML, TXT, or PDF). If you are interested in this, then keep -reading. If you are only interested in editing the XML source for re- -submission to the lfs-book or lfs-dev mailing lists, then you do not need this -document. Instead, you need to read the LFS Editor's Manual. See the LFS +After downloading the SVN source, there are some things that need to be set up +on your computer if you want to convert the XML source into something easier to +read (e.g. HTML, TXT, or PDF). If you are interested in this, then keep +reading. If you are only interested in editing the XML source for re- +submission to the lfs-book or lfs-dev mailing lists, then you do not need this +document. Instead, you need to read the LFS Editor's Manual. See the LFS website at https://www.linuxfromscratch.org for more information. ------------------------------------------------------------------------------- @@ -18,16 +18,16 @@ If you want to convert the XML to HTML, install the following: * libxslt - https://www.linuxfromscratch.org/blfs/view/svn/general/libxslt.html -* DocBook DTD +* DocBook DTD - https://www.linuxfromscratch.org/blfs/view/svn/pst/xml.html -* DocBook XSL Stylesheets +* DocBook XSL Stylesheets - https://www.linuxfromscratch.org/blfs/view/svn/pst/docbook-xsl.html * HTMLTidy - https://www.linuxfromscratch.org/blfs/view/svn/general/tidy-html5.html -------------------------------------------------------------------------------- +------------------------------------------------------------------------------- If you want to convert the XML to TXT, install the above items, and then install the following: @@ -35,7 +35,7 @@ the following: * lynx - https://www.linuxfromscratch.org/blfs/view/svn/basicnet/lynx.html -------------------------------------------------------------------------------- +------------------------------------------------------------------------------- If you want to convert the XML to PDF, install the items listed above (except lynx) and then install the following: @@ -143,7 +143,7 @@ validate: tmpdir version $(Q)./aux-file-data.sh $(RENDERTMP)/lfs-full.xml @echo "Validation complete." -profile-html: +profile-html: @echo "Generating profiled XML for XHTML..." $(Q)xsltproc --nonet \ --stringparam profile.condition html \ @@ -1,13 +1,13 @@ LFS Book README -This document is meant to instruct the user on how to convert the book's XML -source to other formats (e.g. HTML, PDF, PS and TXT). First, if you have not +This document is meant to instruct the user on how to convert the book's XML +source to other formats (e.g. HTML, PDF, PS and TXT). First, if you have not already done so, please read the INSTALL file for instructions on how to install the required software. If you have already completed the steps outlined in the INSTALL file, then continue reading for examples how to convert these files into various other formats. -In all examples, setting the parameter REV=systemd is needed to build the +In all examples, setting the parameter REV=systemd is needed to build the systemd version of the book. XML to XHTML: diff --git a/appendices/acknowledgments.xml b/appendices/acknowledgments.xml index 48decde56..2d3041dc6 100644 --- a/appendices/acknowledgments.xml +++ b/appendices/acknowledgments.xml @@ -75,13 +75,13 @@ </listitem> <listitem> - <para><ulink url="mailto:jmengual@linuxfromscratch.org">Jean-Philippe + <para><ulink url="mailto:jmengual@linuxfromscratch.org">Jean-Philippe Mengual </ulink> <jmengual@linuxfromscratch.org> – French LFS translation project 2008-2016</para> </listitem> <listitem> - <para><ulink url="mailto:jlepiller@linuxfromscratch.org">Julien + <para><ulink url="mailto:jlepiller@linuxfromscratch.org">Julien Lepiller </ulink> <jlepiller@linuxfromscratch.org> – French LFS translation project 2017-present</para> </listitem> @@ -99,13 +99,13 @@ </listitem> <listitem> - <para><ulink url="mailto:info@linuxfromscratch.org.ru">Anton Maisak</ulink> + <para><ulink url="mailto:info@linuxfromscratch.org.ru">Anton Maisak</ulink> <info@linuxfromscratch.org.ru> – Russian LFS translation project</para> </listitem> <listitem> - <para><ulink url="mailto:helen@linuxfromscratch.org.ru">Elena Shevcova</ulink> + <para><ulink url="mailto:helen@linuxfromscratch.org.ru">Elena Shevcova</ulink> <helen@linuxfromscratch.org.ru> – Russian LFS translation project</para> </listitem> diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index e2a8e2f06..c5a4b086d 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -472,7 +472,7 @@ <seglistitem> <seg> <ulink url="https://metacpan.org/pod/Expect">Expect.pm</ulink> - and + and <ulink url="https://metacpan.org/pod/IO::Tty">IO::Tty</ulink> </seg> </seglistitem> @@ -747,7 +747,7 @@ <seglistitem> <seg> <ulink url="&blfs-book;general/tk.html">Tk</ulink> - </seg> + </seg> </seglistitem> </segmentedlist> @@ -950,7 +950,7 @@ <seg> <ulink url="http://gcc.gnu.org/wiki/GNAT">GNAT</ulink> and - <ulink url="https://repo.or.cz/isl.git">ISL</ulink> + <ulink url="https://repo.or.cz/isl.git">ISL</ulink> </seg> </seglistitem> </segmentedlist> @@ -2556,7 +2556,6 @@ Zlib</seg> </seglistitem> </segmentedlist> - <segmentedlist id="python-testdeps"> <segtitle>&testsuites;</segtitle> diff --git a/bootscripts/ChangeLog b/bootscripts/ChangeLog index 8d37e862f..f8411c737 100644 --- a/bootscripts/ChangeLog +++ b/bootscripts/ChangeLog @@ -6,7 +6,7 @@ * Prevent sendsignals from killing an active mdmon 2021-04-28 Bruce Dubbs <bdubbs@linuxfromscratch.org> - * Make check_signal more robust. + * Make check_signal more robust. * Use a better methog for killproc to remove a dead pid file. * Clarify what signals killproc accepts. * Thanks to input and discussion from Scott Andrews. @@ -84,7 +84,7 @@ 2013-01-24 Bruce Dubbs <bdubbs@linuxfromscratch.org> * Remove local attribue of some variables for Bourne shell compatability - * Specify /bin/echo in commands with -e switch for + * Specify /bin/echo in commands with -e switch for Bourne shell compatability 2012-10-13 Bruce Dubbs <bdubbs@linuxfromscratch.org> @@ -121,7 +121,7 @@ ** ifdown now only uses the first SERVICE ** Updated ifup.8 to reflect current usage ** ifup - *** Move interface up logic to after service scripts. Eliminates the + *** Move interface up logic to after service scripts. Eliminates the need for the LINK_CHECK variable. *** Sets the GATEWAY if the variable is set *** Add MTU logic to ifup @@ -167,10 +167,10 @@ *** /lib/lsb is a symlink to /lib/services. * Create convenience symlink /etc/init.d->/etc/rc.d/init.d. * Add help and man pages to upup/ifdown. - * Append /run/var/bootlog to /var/log/boot.log at the end of + * Append /run/var/bootlog to /var/log/boot.log at the end of the boot sequence. * Add capabiltiy to step through the boot scripts at boot time - * Optionally allow environment variables in sysconfig directory's + * Optionally allow environment variables in sysconfig directory's console, network, and clock files to be placed in rc.site. * Add an optional FASTBOOT parameter to set /fastboot when rebooting. @@ -183,11 +183,11 @@ HEADLESS=1 to skip READ commands ** Add /etc/sysconfig/init_params for adding environmental parameters to all functions used in bootscripts - ** Move network configuration to /etc/sysconfig/ifconfig.*. The - ifconfig files can have any extension. Use IFACE parameter to + ** Move network configuration to /etc/sysconfig/ifconfig.*. The + ifconfig files can have any extension. Use IFACE parameter to specify the target network interface within the configuration file. - ** Adds an optional parameter, SKIPTMPCLEAN, to skip the removal of - files in /tmp at bootup. Specify the variable in + ** Adds an optional parameter, SKIPTMPCLEAN, to skip the removal of + files in /tmp at bootup. Specify the variable in /etc/sysconfig/init_params. 2011-05-31 DJ Lucas <dj@linuxfromscratch.org> @@ -223,8 +223,8 @@ 2009-01-02 Bruce Dubbs <bdubbs@linuxfromscratch.org> * lfs/init.d/functions: - * lfs/sysconfig/network-devices/ifup: - Updated line widths to accommodate pdf generation in both the above + * lfs/sysconfig/network-devices/ifup: + Updated line widths to accommodate pdf generation in both the above files. 2008-10-27 DJ Lucas <dj@linuxfromscratch.org> @@ -341,7 +341,7 @@ n/a - June 2, 2006 * Removed console config file and makefile targets. - * Removed references to /dev/bug and bugreport in udevand + * Removed references to /dev/bug and bugreport in udev and udev_retry bootscripts. (DJ Lucas) n/a - April 17, 2006 @@ -350,13 +350,13 @@ n/a - April 17, 2006 partition or for some other reason fail the initial replay. (Archaic) n/a - April 15, 2006 - * Cleaned up contrib directory. Removed: contrib/init.d, - contrib/enhanced, contrib/livecd, contrib/hotplug, and raq2 + * Cleaned up contrib directory. Removed: contrib/init.d, + contrib/enhanced, contrib/livecd, contrib/hotplug, and raq2 patch. (DJ Lucas) n/a - April 14, 2006 * Merged changes from udev_update branch (DJ Lucas) - * Replaced a return with an exit and reversed comment changes in + * Replaced a return with an exit and reversed comment changes in udev bootscript. (Dan Nicholson) * Replaced walk_sysfs function in udev bootscript with new udevtrigger program and move wait_for_uevents function inline. (DJ Lucas) @@ -369,7 +369,7 @@ n/a - March 21, 2006 to boot_mesg_flush in echo_* functions. (DJ Lucas) n/a - March 10, 2006 - * Moved src argument to ipv4-static-route service script and + * Moved src argument to ipv4-static-route service script and removed from ipv4-static service script. (DJ Lucas) n/a - March 8. 2006 @@ -388,13 +388,13 @@ n/a - September 11, 2005 * Fixed display error with LSB init-functions script * Made above killproc/print_status changes in enhanced bootscripts. - * Made logger service configurable in enhanced + * Made logger service configurable in enhanced bootscripts. (DJ Lucas) n/a - August 14, 2005 - * Added -s flag to pidofproc() for backwards + * Added -s flag to pidofproc() for backwards compatibility (DJ Lucas) - * Fixed erronous values returned by pidofproc() which + * Fixed erronous values returned by pidofproc() which broke the functionality of statusproc (DJ Lucas) n/a - July 1, 2005 @@ -402,8 +402,8 @@ n/a - July 1, 2005 function for ash compliancy (Nathan Coulson) n/a - June 26, 2005 - * Removed consolelog script from contrib - * Updated interactive rc script in contrib and added + * Removed consolelog script from contrib + * Updated interactive rc script in contrib and added README.rc-Interactive, added install target to the Makefile. (DJ Lucas) @@ -599,7 +599,7 @@ n/a - September 22, 2004 n/a - September 21, 2004 * boot_mesg has been enhanced. Subsequent calls will overwrite - previous text, and it will wrap text basedupon the variable ${WCOL}. + 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) @@ -608,7 +608,7 @@ n/a - September 16, 2004 * nework interfaces are now brought down in reverse order n/a - September 15, 2004 - * Added blue bracket, from dj's 3.0-pre1 bootscript package + * Added blue bracket, from dj's 3.0-pre1 bootscript package [echo_failure, echo_warning, and echo_ok] * Added a new function called boot_mesg, meant to replace the echo command. @@ -632,11 +632,10 @@ n/a - August 7, 2004 * Added missing error redirect (/dev/null) in getpids. (DJ) n/a - August 4, 2004 - * Added MODE, DIRMODE, and CONFMODE variables to the makefile + * Added MODE, DIRMODE, and CONFMODE variables to the makefile to allow permissions to be set at install. (DJ) n/a - July 31, 2004 - * Moved PIDFILE check to getpids and removed arguments from killproc and reloadproc. Signals are now set at beginning of funtcions script with KILLDELAY. (DJ) @@ -645,7 +644,7 @@ n/a - July 31, 2004 n/a - July 21, 2004 - * Committed DJ Lucas's patch for the killproc function. It no + * Committed DJ Lucas's patch for the killproc function. It no longer requires arguments if PIDFILE is set * added --backup to all sysconfig configuration files, so they are not replaced on a make install @@ -978,7 +977,7 @@ n/a - March 20, 2004 * Added create-service-dir target and removed from create-dirs * Changed service script install targets to use create-service-dir - * Added check for dhcpcd service script for stale pid file + * Added check for dhcpcd service script for stale pid file Suggested by Jeremy * Added ifconfig to ipx service script for hosting device not up diff --git a/bootscripts/Makefile b/bootscripts/Makefile index 4686c6ff2..50b63ad3b 100644 --- a/bootscripts/Makefile +++ b/bootscripts/Makefile @@ -29,7 +29,7 @@ create-dirs: ln -sfn services ${LIBDIR}/lsb ln -sfn rc.d/init.d ${ETCDIR}/init.d -files: create-dirs +files: create-dirs install -m ${MODE} lfs/init.d/checkfs ${ETCDIR}/rc.d/init.d/ install -m ${MODE} lfs/init.d/cleanfs ${ETCDIR}/rc.d/init.d/ install -m ${MODE} lfs/init.d/halt ${ETCDIR}/rc.d/init.d/ @@ -126,7 +126,7 @@ rc6: files uninstall: rm -rf ${DESTDIR}/lib/services ${DESTDIR}/lib/lsb ${ETCDIR}/rc.d ${ETCDIR}/init.d \ ${SBIN}/ifup ${SBIN}/ifdown ${MAN8}/ifup.8 ${MAN8}/ifdown.8 \ - ${ETCDIR}/sysconfig/rc + ${ETCDIR}/sysconfig/rc .PHONY: all create-dirs install files links rcS rc0 rc1 rc2 rc3 rc4 rc5 rc6 uninstall diff --git a/bootscripts/README b/bootscripts/README index 9c08faf39..8753c95b0 100644 --- a/bootscripts/README +++ b/bootscripts/README @@ -48,7 +48,7 @@ CleanFS configuration: /etc/sysconfig/rc.site - SKIPTMPCLEAN: skips cleaning of /tmp directory - /etc/sysconfig/createfiles + /etc/sysconfig/createfiles Each line is parsed, using space as a deliminator. [NAME] [TYPE] [PERMISSIONS] [USER] [GROUP] The below fields are currently only used on dev type. diff --git a/bootscripts/lfs/init.d/checkfs b/bootscripts/lfs/init.d/checkfs index 061d136e5..584921983 100644 --- a/bootscripts/lfs/init.d/checkfs +++ b/bootscripts/lfs/init.d/checkfs @@ -61,7 +61,7 @@ case "${1}" in msg="${msg}halted and powered off.\n\n" log_failure_msg "${msg}" - log_info_msg "Press Enter to continue..." + log_info_msg "Press Enter to continue..." wait_for_user /etc/rc.d/init.d/halt stop else @@ -69,7 +69,7 @@ case "${1}" in fi if [ -f /forcefsck ]; then - msg="/forcefsck found, forcing file" + msg="/forcefsck found, forcing file" msg="${msg} system checks as requested." log_success_msg "$msg" options="-f" @@ -108,7 +108,7 @@ case "${1}" in msg="${msg}this system will be rebooted\n\n" log_failure_msg "$msg" - log_info_msg "Press Enter to continue..." + log_info_msg "Press Enter to continue..." wait_for_user reboot -f fi @@ -125,7 +125,7 @@ case "${1}" in msg="${msg}halted and powered off.\n\n" log_failure_msg "$msg" - log_info_msg "Press Enter to continue..." + log_info_msg "Press Enter to continue..." wait_for_user /etc/rc.d/init.d/halt stop fi diff --git a/bootscripts/lfs/init.d/cleanfs b/bootscripts/lfs/init.d/cleanfs index bbca3ddf6..c75923c34 100644 --- a/bootscripts/lfs/init.d/cleanfs +++ b/bootscripts/lfs/init.d/cleanfs @@ -22,7 +22,7 @@ # Default-Stop: # Short-Description: Cleans temporary directories early in the boot process. # Description: Cleans temporary directories /run, /var/lock, and -# optionally, /tmp. cleanfs also creates /run/utmp +# optionally, /tmp. cleanfs also creates /run/utmp # and any files defined in /etc/sysconfig/createfiles. # X-LFS-Provided-By: LFS ### END INIT INFO @@ -30,7 +30,7 @@ . /lib/lsb/init-functions # Function to create files/directory on boot. -create_files() +create_files() { # Input to file descriptor 9 and output to stdin (redirection) exec 9>&0 < /etc/sysconfig/createfiles @@ -63,13 +63,13 @@ create_files() pipe) mknod "${name}" p ;; - *) - log_warning_msg "\nUnknown device type: ${dtype}" + *) + log_warning_msg "\nUnknown device type: ${dtype}" ;; esac ;; *) - log_warning_msg "\nUnknown type: ${type}" + log_warning_msg "\nUnknown type: ${type}" continue ;; esac @@ -87,10 +87,10 @@ create_files() case "${1}" in start) - log_info_msg "Cleaning file systems:" + log_info_msg "Cleaning file systems:" if [ "${SKIPTMPCLEAN}" = "" ]; then - log_info_msg2 " /tmp" + log_info_msg2 " /tmp" cd /tmp && find . -xdev -mindepth 1 ! -name lost+found -delete || failed=1 fi diff --git a/bootscripts/lfs/init.d/console b/bootscripts/lfs/init.d/console index 3d3b5e0b1..6eb111640 100644 --- a/bootscripts/lfs/init.d/console +++ b/bootscripts/lfs/init.d/console @@ -32,7 +32,7 @@ # Native English speakers probably don't have /etc/sysconfig/console at all [ -r /etc/sysconfig/console ] && . /etc/sysconfig/console -is_true() +is_true() { [ "$1" = "1" ] || [ "$1" = "yes" ] || [ "$1" = "true" ] } @@ -43,8 +43,8 @@ case "${1}" in start) # See if we need to do anything if [ -z "${KEYMAP}" ] && [ -z "${KEYMAP_CORRECTIONS}" ] && - [ -z "${FONT}" ] && [ -z "${LEGACY_CHARSET}" ] && - ! is_true "${UNICODE}"; then + [ -z "${FONT}" ] && [ -z "${LEGACY_CHARSET}" ] && + ! is_true "${UNICODE}"; then exit 0 fi @@ -85,7 +85,7 @@ case "${1}" in [ -z "${KEYMAP}" ] || loadkeys ${KEYMAP} >/dev/null 2>&1 || failed=1 - + [ -z "${KEYMAP_CORRECTIONS}" ] || loadkeys ${KEYMAP_CORRECTIONS} >/dev/null 2>&1 || failed=1 @@ -97,16 +97,16 @@ case "${1}" in # If any of the commands above failed, the trap at the # top would set $failed to 1 - ( exit $failed ) + ( exit $failed ) evaluate_retval exit $failed - ;; + ;; - *) + *) echo "Usage: ${0} {start}" - exit 1 - ;; + exit 1 + ;; esac # End console diff --git a/bootscripts/lfs/init.d/modules b/bootscripts/lfs/init.d/modules index eabcde5a2..3ef4cec0d 100644 --- a/bootscripts/lfs/init.d/modules +++ b/bootscripts/lfs/init.d/modules @@ -37,7 +37,7 @@ case "${1}" in [ -r /etc/sysconfig/modules ] || exit 0 egrep -qv '^($|#)' /etc/sysconfig/modules || exit 0 - log_info_msg "Loading modules:" + log_info_msg "Loading modules:" # Only try to load modules if the user has actually given us # some modules to load. @@ -54,7 +54,7 @@ case "${1}" in # Print the module name if successful, otherwise take note. if [ $? -eq 0 ]; then - log_info_msg2 " ${module}" + log_info_msg2 " ${module}" else failedmod="${failedmod} ${module}" fi @@ -63,10 +63,10 @@ case "${1}" in # Print a message about successfully loaded modules on the correct line. log_success_msg2 - # Print a failure message with a list of any modules that + # Print a failure message with a list of any modules that # may have failed to load. if [ -n "${failedmod}" ]; then - log_failure_msg "Failed to load modules:${failedmod}" + log_failure_msg "Failed to load modules:${failedmod}" exit 1 fi ;; diff --git a/bootscripts/lfs/init.d/mountvirtfs b/bootscripts/lfs/init.d/mountvirtfs index e642546df..3507beea7 100644 --- a/bootscripts/lfs/init.d/mountvirtfs +++ b/bootscripts/lfs/init.d/mountvirtfs @@ -39,7 +39,7 @@ case "${1}" in mkdir -p /run/lock /run/shm chmod 1777 /run/shm /run/lock - log_info_msg "Mounting virtual file systems: ${INFO}/run" + log_info_msg "Mounting virtual file systems: ${INFO}/run" if ! mountpoint /proc >/dev/null; then log_info_msg2 " ${INFO}/proc" @@ -47,17 +47,17 @@ case "${1}" in fi if ! mountpoint /sys >/dev/null; then - log_info_msg2 " ${INFO}/sys" + log_info_msg2 " ${INFO}/sys" mount -o nosuid,noexec,nodev /sys || failed=1 fi if ! mountpoint /dev >/dev/null; then - log_info_msg2 " ${INFO}/dev" + log_info_msg2 " ${INFO}/dev" mount -o mode=0755,nosuid /dev || failed=1 fi ln -sfn /run/shm /dev/shm - + (exit ${failed}) evaluate_retval exit $failed diff --git a/bootscripts/lfs/init.d/network b/bootscripts/lfs/init.d/network index 710cfcfd4..c60b9ff5b 100644 --- a/bootscripts/lfs/init.d/network +++ b/bootscripts/lfs/init.d/network @@ -43,7 +43,7 @@ case "${1}" in stop) # Unmount any network mounted file systems - umount --all --force --types nfs,cifs,nfs4 + umount --all --force --types nfs,cifs,nfs4 # Reverse list net_files="" diff --git a/bootscripts/lfs/init.d/rc b/bootscripts/lfs/init.d/rc index 2bc155ed4..80469e952 100644 --- a/bootscripts/lfs/init.d/rc +++ b/bootscripts/lfs/init.d/rc @@ -18,11 +18,11 @@ print_error_msg() { log_failure_msg # $i is set when called - MSG="FAILURE:\n\nYou should not be reading this error message.\n\n" + MSG="FAILURE:\n\nYou should not be reading this error message.\n\n" MSG="${MSG}It means that an unforeseen error took place in\n" MSG="${MSG}${i},\n" MSG="${MSG}which exited with a return value of ${error_value}.\n" - + MSG="${MSG}If you're able to track this error down to a bug in one of\n" MSG="${MSG}the files provided by the ${DISTRO_MINI} book,\n" MSG="${MSG}please be so kind to inform us at ${DISTRO_CONTACT}.\n" @@ -36,7 +36,7 @@ check_script_status() { # $i is set when called if [ ! -f ${i} ]; then - log_warning_msg "${i} is not a valid symlink." + log_warning_msg "${i} is not a valid symlink." SCRIPT_STAT="1" fi @@ -102,16 +102,16 @@ previous=${PREVLEVEL} [ "${previous}" == "" ] && previous=N if [ ! -d /etc/rc.d/rc${runlevel}.d ]; then - log_info_msg "/etc/rc.d/rc${runlevel}.d does not exist.\n" + log_info_msg "/etc/rc.d/rc${runlevel}.d does not exist.\n" exit 1 fi if [ "$runlevel" == "6" -o "$runlevel" == "0" ]; then IPROMPT="no"; fi # Note: In ${LOGLEVEL:-7}, it is ':' 'dash' '7', not minus 7 -if [ "$runlevel" == "S" ]; then - [ -r /etc/sysconfig/console ] && source /etc/sysconfig/console - dmesg -n "${LOGLEVEL:-7}" +if [ "$runlevel" == "S" ]; then + [ -r /etc/sysconfig/console ] && source /etc/sysconfig/console + dmesg -n "${LOGLEVEL:-7}" fi if [ "${IPROMPT}" == "yes" -a "${runlevel}" == "S" ]; then @@ -225,10 +225,10 @@ fi # Copy the boot log on initial boot only if [ "${previous}" == "N" -a "${runlevel}" != "S" ]; then cat $BOOTLOG >> /var/log/boot.log - + # Mark the end of boot echo "--------" >> /var/log/boot.log - + # Remove the temporary file rm -f $BOOTLOG 2> /dev/null fi diff --git a/bootscripts/lfs/init.d/setclock b/bootscripts/lfs/init.d/setclock index 059ce585d..cd4f617a8 100644 --- a/bootscripts/lfs/init.d/setclock +++ b/bootscripts/lfs/init.d/setclock @@ -13,7 +13,7 @@ ######################################################################## ### BEGIN INIT INFO -# Provides: +# Provides: # Required-Start: # Should-Start: modules # Required-Stop: diff --git a/bootscripts/lfs/init.d/swap b/bootscripts/lfs/init.d/swap index 34fad3552..9747024c5 100644 --- a/bootscripts/lfs/init.d/swap +++ b/bootscripts/lfs/init.d/swap @@ -48,7 +48,7 @@ case "${1}" in ;; status) - log_success_msg "Retrieving swap status." + log_success_msg "Retrieving swap status." swapon -s ;; diff --git a/bootscripts/lfs/init.d/udev b/bootscripts/lfs/init.d/udev index 1ec053623..c74c8e19f 100644 --- a/bootscripts/lfs/init.d/udev +++ b/bootscripts/lfs/init.d/udev @@ -60,9 +60,9 @@ case "${1}" in # If any LVM based partitions are on the system, ensure they # are activated so they can be used. - if [ -x /sbin/vgchange ]; then /sbin/vgchange -a y >/dev/null; fi + if [ -x /sbin/vgchange ]; then /sbin/vgchange -a y >/dev/null; fi - log_success_msg2 + log_success_msg2 ;; *) diff --git a/bootscripts/lfs/init.d/udev_retry b/bootscripts/lfs/init.d/udev_retry index 2253a3be2..112846a03 100644 --- a/bootscripts/lfs/init.d/udev_retry +++ b/bootscripts/lfs/init.d/udev_retry @@ -7,7 +7,7 @@ # Authors : Alexander E. Patrakov # DJ Lucas - dj@linuxfromscratch.org # Update : Bruce Dubbs - bdubbs@linuxfromscratch.org -# Bryan Kadzban - +# Bryan Kadzban - # # Version : LFS 7.0 # @@ -39,7 +39,7 @@ case "${1}" in rundir=/run/udev # From Debian: "copy the rules generated before / was mounted # read-write": - + for file in ${rundir}/tmp-rules--*; do dest=${file##*tmp-rules--} [ "$dest" = '*' ] && break @@ -47,7 +47,7 @@ case "${1}" in rm -f $file done - # Re-trigger the uevents that may have failed, + # Re-trigger the uevents that may have failed, # in hope they will succeed now /bin/sed -e 's/#.*$//' /etc/sysconfig/udev_retry | /bin/grep -v '^$' | \ while read line ; do diff --git a/bootscripts/lfs/lib/services/init-functions b/bootscripts/lfs/lib/services/init-functions index 0a7ca4da1..d0c86cb03 100644 --- a/bootscripts/lfs/lib/services/init-functions +++ b/bootscripts/lfs/lib/services/init-functions @@ -1,6 +1,6 @@ #!/bin/sh ######################################################################## -# +# # Begin /lib/lsb/init-funtions # # Description : Run Level Control Functions @@ -154,13 +154,13 @@ start_daemon() retval="${?}" fi - # Return a value ONLY + # Return a value ONLY # It is the init script's (or distribution's functions) responsibilty # to log messages! case "${retval}" in 0) - # Program is already running correctly, this is a + # Program is already running correctly, this is a # successful start. return 0 ;; @@ -230,7 +230,7 @@ killproc() pidfile="${2}" shift 2 ;; - + *) program="${1}" if [ -n "${2}" ]; then @@ -243,9 +243,9 @@ killproc() # Error on additional arguments if [ -n "${3}" ]; then return 2 - else + else break - fi + fi ;; esac done @@ -321,7 +321,7 @@ killproc() if [ "${?}" -eq "0" ]; then # Signal is used to terminate the program - # Account for empty pidlist (pid file still exists and no + # Account for empty pidlist (pid file still exists and no # signal was given) if [ "${pidlist}" != "" ]; then @@ -336,7 +336,7 @@ killproc() else kill "${signal}" "${pid}" 2> /dev/null - # Wait up to ${delay}/10 seconds to for "${pid}" to + # Wait up to ${delay}/10 seconds to for "${pid}" to # terminate in 10ths of a second while [ "${delay}" -ne "0" ]; do @@ -433,7 +433,7 @@ pidofproc() # Get the program's basename prefix=`echo "${program}" | sed 's/[^/]*$//'` - if [ -z "${prefix}" ]; then + if [ -z "${prefix}" ]; then progname="${program}" else progname=`echo "${program}" | sed "s@${prefix}@@"` @@ -583,7 +583,7 @@ log_success_msg() timespec /bin/echo -e "${STAMP} ${logmessage} OK" >> ${BOOTLOG} - + return 0 } @@ -593,7 +593,7 @@ log_success_msg2() /bin/echo -e "${CURS_ZERO}${SUCCESS_PREFIX}${SET_COL}${SUCCESS_SUFFIX}" echo " OK" >> ${BOOTLOG} - + return 0 } @@ -618,7 +618,7 @@ log_failure_msg() timespec logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'` /bin/echo -e "${STAMP} ${logmessage} FAIL" >> ${BOOTLOG} - + return 0 } @@ -628,7 +628,7 @@ log_failure_msg2() /bin/echo -e "${CURS_ZERO}${FAILURE_PREFIX}${SET_COL}${FAILURE_SUFFIX}" echo "FAIL" >> ${BOOTLOG} - + return 0 } @@ -650,7 +650,7 @@ log_warning_msg() logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'` timespec /bin/echo -e "${STAMP} ${logmessage} WARN" >> ${BOOTLOG} - + return 0 } @@ -662,7 +662,7 @@ log_skip_msg() # Strip non-printable characters from log file logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'` /bin/echo "SKIP" >> ${BOOTLOG} - + return 0 } @@ -683,7 +683,7 @@ log_info_msg() logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'` timespec /bin/echo -n -e "${STAMP} ${logmessage}" >> ${BOOTLOG} - + return 0 } @@ -694,7 +694,7 @@ log_info_msg2() # Strip non-printable characters from log file logmessage=`echo "${@}" | sed 's/\\\033[^a-zA-Z]*.//g'` /bin/echo -n -e "${logmessage}" >> ${BOOTLOG} - + return 0 } diff --git a/bootscripts/lfs/lib/services/ipv4-static-route b/bootscripts/lfs/lib/services/ipv4-static-route index 293ca44a5..4db3a5d19 100755 --- a/bootscripts/lfs/lib/services/ipv4-static-route +++ b/bootscripts/lfs/lib/services/ipv4-static-route @@ -56,10 +56,10 @@ if [ -n "${need_ip}" ]; then fi if [ -z "${PREFIX}" ]; then - log_failure_msg "PREFIX variable missing from ${IFCONFIG}, cannot continue." + log_failure_msg "PREFIX variable missing from ${IFCONFIG}, cannot continue." exit 1 fi - + args="${args} ${IP}/${PREFIX}" desc="${desc}${IP}/${PREFIX}" fi @@ -82,13 +82,13 @@ case "${2}" in ip route add ${args} dev ${1} evaluate_retval ;; - + down) log_info_msg "Removing '${desc}' route from the ${1} interface..." ip route del ${args} dev ${1} evaluate_retval ;; - + *) echo "Usage: ${0} [interface] {up|down}" exit 1 diff --git a/bootscripts/lfs/sbin/ifdown b/bootscripts/lfs/sbin/ifdown index e875be905..05d7b4188 100755 --- a/bootscripts/lfs/sbin/ifdown +++ b/bootscripts/lfs/sbin/ifdown @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash ######################################################################## # Begin /sbin/ifdown # @@ -30,7 +30,7 @@ while [ $# -gt 0 ]; do -*) echo "ifup: ${1}: invalid option" >&2 echo "${USAGE}" >& 2 exit 2 ;; - + *) break ;; esac done @@ -53,7 +53,7 @@ file=/etc/sysconfig/ifconfig.${1} # Skip backup files [ "${file}" = "${file%""~""}" ] || exit 0 -. /lib/lsb/init-functions +. /lib/lsb/init-functions if [ ! -r "${file}" ]; then log_warning_msg "${file} is missing or cannot be accessed." diff --git a/bootscripts/lfs/sbin/ifup b/bootscripts/lfs/sbin/ifup index 5a4945a43..4c70810cd 100755 --- a/bootscripts/lfs/sbin/ifup +++ b/bootscripts/lfs/sbin/ifup @@ -48,11 +48,11 @@ while [ $# -gt 0 ]; do --help | -h) help="y"; break ;; --version | -V) echo "${VERSTR}"; exit 0 ;; - + -*) echo "ifup: ${1}: invalid option" >&2 echo "${USAGE}" >& 2 exit 2 ;; - + *) break ;; esac done @@ -102,7 +102,7 @@ fi for S in ${SERVICE}; do if [ ! -x "/lib/services/${S}" ]; then - MSG="\nUnable to process ${file}. Either " + MSG="\nUnable to process ${file}. Either " MSG="${MSG}the SERVICE '${S} was not present " MSG="${MSG}or cannot be executed." log_failure_msg "$MSG" @@ -113,7 +113,7 @@ done if [ "${SERVICE}" = "wpa" ]; then log_success_msg; fi # Create/configure the interface -for S in ${SERVICE}; do +for S in ${SERVICE}; do IFCONFIG=${file} /lib/services/${S} ${IFACE} up done @@ -128,13 +128,13 @@ for I in $INTERFACE_COMPONENTS; do up $I; done # Set MTU if requested. Check if MTU has a "good" value. if test -n "${MTU}"; then if [[ ${MTU} =~ ^[0-9]+$ ]] && [[ $MTU -ge 68 ]] ; then - for I in $IFACE $INTERFACE_COMPONENTS; do - ip link set dev $I mtu $MTU; + for I in $IFACE $INTERFACE_COMPONENTS; do + ip link set dev $I mtu $MTU; done else log_info_msg2 "Invalid MTU $MTU" fi -fi +fi # Set the route default gateway if requested if [ -n "${GATEWAY}" ]; then diff --git a/bootscripts/lfs/sbin/ifup.8 b/bootscripts/lfs/sbin/ifup.8 index e0ca9db37..2fb7873ec 100644 --- a/bootscripts/lfs/sbin/ifup.8 +++ b/bootscripts/lfs/sbin/ifup.8 @@ -14,9 +14,9 @@ SYNOPSIS ifdown -V|--version DESCRIPTION - The ifup and ifdown commands may be used to configure - (or, respectively, deconfigure) a network interface based - on interface definitions in the file + The ifup and ifdown commands may be used to configure + (or, respectively, deconfigure) a network interface based + on interface definitions in the file /etc/sysconfig/ifconfig.IFACE. OPTIONS @@ -30,7 +30,7 @@ OPTIONS EXAMPLES ifup eth0 - Bring up the interface defined in the file + Bring up the interface defined in the file /etc/sysconfig/ifconfig.eth0 ONBOOT=no @@ -49,21 +49,21 @@ EXAMPLES IFACE=eth0 LABEL=eth0:2 SERVICE=dhcpcd - + DHCP_START="--waitip" DHCP_STOP="-k" - + # Set PRINTIP="yes" to have the script print the DHCP IP address PRINTIP="yes" - + # Set PRINTALL="yes" to print the DHCP assigned values for - # IP, SM, DG, and 1st NS. + # IP, SM, DG, and 1st NS. PRINTALL="no" ifup br0 - Bring up the interface defined in the file + Bring up the interface defined in the file /etc/sysconfig/ifconfig.br0 - + ONBOOT=yes IFACE=br0 SERVICE="bridge ipv4-static" @@ -77,65 +77,65 @@ EXAMPLES NOTES The program does not configure network interfaces direct- - ly. It runs scripts defined by the SERVICE variable in + ly. It runs scripts defined by the SERVICE variable in the network configuration file. The configuration files must have the following environ- ment variables set: - IFACE - The interface to configure, e.g. eth0. It must + IFACE - The interface to configure, e.g. eth0. It must be available in /sys/class/net. SERVICE - The service script to run to bring up the inter- - face. Standard services are ipv4-static and + face. Standard services are ipv4-static and ipv4-static-route. Other services such as dhcp or bridge may be installed. This value may be a list of services when the interface is a compound device such as a bridge. - ONBOOT - If set to 'yes', the specified interface is + ONBOOT - If set to 'yes', the specified interface is configured by the netowrk boot script. GATEWAY - The default IP address to use for routing if - the destination IP address is not in a static - route or on a local network, e.g., 192.168.1.1. - For secondary IP addresses on an interface, this + the destination IP address is not in a static + route or on a local network, e.g., 192.168.1.1. + For secondary IP addresses on an interface, this parameter should not be specified. If the service is ipv4-static-route, this parameter must NOT be set. STATIC_GATEWAY - The default IP address to use for routing - when setting a static routing address. + when setting a static routing address. INTERFACE_COMPONENTS - A list of component interfaces - only needed for a compound device such as a bridge. - This list is normally a single value, e.g. eth0, + only needed for a compound device such as a bridge. + This list is normally a single value, e.g. eth0, for use with a virtual host such as kvm. Other paramters that are service specific include: ipv4-static - IP - The IP address of the interface, + IP - The IP address of the interface, e.g. 192.168.1.2. PREFIX - The number of bits that specify the network number of the interface. The default, if not specified, is 24. - - LABEL - The label to be assigned to the interface. + + LABEL - The label to be assigned to the interface. This is normally specified for assigning additional IP addresses to a network device. Example: eth0:2 (optional) - - BROADCAST - The brodcast address for this interface, - e.g 192.168.1.255. If not specified, + + BROADCAST - The brodcast address for this interface, + e.g 192.168.1.255. If not specified, the broadcast address will be calculated from the IP and PREFIX. ipv4-static-route - TYPE - The type of route, typically 'default', + TYPE - The type of route, typically 'default', 'network', 'or host'. IP - The IP address for a network or host, if the @@ -145,7 +145,7 @@ NOTES STATIC_GATEWAY - The IP address for a network route. - SOURCE - The source IP address to prefer when sending + SOURCE - The source IP address to prefer when sending to the destinations covered by the specified route. (optional) @@ -154,7 +154,7 @@ NOTES DHCP_START - Optional parameters to pass to the dhcp client at startup. - DHCP_STOP - Optional paremeters to pass to the dhcp client + DHCP_STOP - Optional paremeters to pass to the dhcp client at shutdown. PRINTIP - Flag to print the dhcp address to stdout @@ -164,18 +164,18 @@ NOTES bridge IP_FORWARD - An optional flag to enable the system to forward - inbound IP packets received by one interface to - another outbound interface. + inbound IP packets received by one interface to + another outbound interface. STP - Set bridge spanning tree protocol. Default is no. FILES /etc/sysconfig/ifconfig.* - definitions of network interfaces + definitions of network interfaces AUTHORS The ifup/ifdown suite was written by Nathan Coulson - <nathan@linuxfromscratch.org> and Kevin P. Fleming + <nathan@linuxfromscratch.org> and Kevin P. Fleming <kpfleming@linuxfromscratch.org> and updated by Bruce Dubbs <bdubbs@linuxfromscratch>. diff --git a/bootscripts/lfs/sysconfig/createfiles b/bootscripts/lfs/sysconfig/createfiles index 9706346df..3d8587439 100644 --- a/bootscripts/lfs/sysconfig/createfiles +++ b/bootscripts/lfs/sysconfig/createfiles @@ -11,7 +11,7 @@ # if type is equal to "file" or "dir" # <filename> <type> <permissions> <user> <group> # if type is equal to "dev" -# <filename> <type> <permissions> <user> <group> <devtype> +# <filename> <type> <permissions> <user> <group> <devtype> # <major> <minor> # # <filename> is the name of the file which is to be created @@ -22,9 +22,9 @@ # <devtype> is either block, char or pipe # block creates a block device # char creates a character deivce -# pipe creates a pipe, this will ignore the <major> and +# pipe creates a pipe, this will ignore the <major> and # <minor> fields -# <major> and <minor> are the major and minor numbers used for +# <major> and <minor> are the major and minor numbers used for # the device. ######################################################################## diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index b53b5390c..ea0585ada 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -40,834 +40,78 @@ appropriate for the entry or if needed the entire day's listitem. --> <listitem> - <para>2021-08-25</para> + <para>2021-09-15</para> <itemizedlist> <listitem> - <para>[xry111] - Update to man-pages-5.13. Fixes - <ulink url="&lfs-ticket-root;4915">#4915</ulink>.</para> + <para>[bdubbs] - Ensure tcl documentation instructions are present. Fixes + <ulink url="&lfs-ticket-root;4923">#4923</ulink>.</para> </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-08-25</para> - <itemizedlist> - <listitem> - <para>[bdubbs] - LFS-11.0-rc3 released.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to e2fsprogs-1.46.4. Fixes - <ulink url="&lfs-ticket-root;4910">#4910</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to meson-0.59.1. Fixes - <ulink url="&lfs-ticket-root;4909">#4909</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to util-linux 2.37.2. Fixes - <ulink url="&lfs-ticket-root;4908">#4908</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to linux-5.13.12. Fixes - <ulink url="&lfs-ticket-root;4907">#4907</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to libcap-2.53. Fixes - <ulink url="&lfs-ticket-root;4906">#4906</ulink>.</para> - </listitem> - <listitem> - <para>[xry111] - Update to openssl-1.1.1l (security fixes). Fixes - <ulink url="&lfs-ticket-root;4911">#4911</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-08-20</para> - <itemizedlist> - <listitem> - <para>[bdubbs] - Add a sed to glibc in Chapter 8 to fix a - critical security issue.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-08-18</para> - <itemizedlist> - <listitem> - <para>[bdubbs] - Eliminate an instruction to remove a test - in bunutils that no longer fails.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-08-16</para> - <itemizedlist> - <listitem> - <para>[dj] - add p11-kit to dependencies list for systemd.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-08-15</para> - <itemizedlist> - <listitem> - <para>[renodr] - LFS-11.0-rc1 released.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-08-14</para> - <itemizedlist> - <listitem> - <para>[bdubbs] - Update to grep-3.7. Fixes - <ulink url="&lfs-ticket-root;4901">#4901</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-08-13</para> - <itemizedlist> - <listitem> - <para>[bdubbs] - Update to linux-5.13.10. Fixes - <ulink url="&lfs-ticket-root;4904">#4904</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to bc-5.0.0. Fixes - <ulink url="&lfs-ticket-root;4903">#4903</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to vim-8.2.3337. Addresses - <ulink url="&lfs-ticket-root;4521">#4521</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Add binutils-2.37 upstream patch.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-08-08</para> - <itemizedlist> - <listitem> - <para>[bdubbs] - Update to linux-5.13.9. Fixes - <ulink url="&lfs-ticket-root;4900">#4900</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to libffi-3.4.2. Fixes - <ulink url="&lfs-ticket-root;4902">#4902</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-08-06</para> - <itemizedlist> - <listitem> - <para>[xry111] - Fix - <filename class="libraryfile">libasan.a</filename> building - GCC with Glibc-2.34. Addresses - <ulink url="https://wiki.linuxfromscratch.org/blfs/ticket/15350"> - BLFS #15350</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-08-02</para> - <itemizedlist> - <listitem> - <para>[bdubbs] - Update to glibc-2.34. Fixes - <ulink url="&lfs-ticket-root;4897">#4897</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to diffutils-3.8. Fixes - <ulink url="&lfs-ticket-root;4898">#4898</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to libcap-2.52. Fixes - <ulink url="&lfs-ticket-root;4899">#4899</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-08-01</para> - <itemizedlist> - <listitem> - <para>[bdubbs] - Remove unneeded sed commands from automake and - coreutils. Fixes - <ulink url="&lfs-ticket-root;4895">#4895</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to linux-5.13.7. Fixes - <ulink url="&lfs-ticket-root;4893">#4893</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to e2fsprogs-1.46.3. Fixes - <ulink url="&lfs-ticket-root;4896">#4896</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-07-27</para> - <itemizedlist> - <listitem> - <para>[xry111] - Update to GCC-11.2.0. Fixes - <ulink url="&lfs-ticket-root;4883">#4883</ulink>.</para> - </listitem> - <listitem> - <para>[xry111] - Update to inetutils-2.1. Fixes - <ulink url="&lfs-ticket-root;4892">#4892</ulink>.</para> - </listitem> - <listitem> - <para>[xry111] - Update to automake-1.16.4. Fixes - <ulink url="&lfs-ticket-root;4894">#4894</ulink>.</para> - </listitem> - <listitem> - <para>[xry111] - Always use --strip-unneeded for stripping.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-07-27</para> - <itemizedlist> - <listitem> - <para>[xry111] - Use workaround for Glibc NSS modules during - stripping, to prevent bash from crash.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-07-26</para> - <itemizedlist> - <listitem> - <para>[thomas] - Fix a programming error in shadow-4.9</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-07-25</para> - <itemizedlist> - <listitem> - <para>[xry111] - (Hopefully) complete stripping workaround.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-07-25</para> - <itemizedlist> - <listitem> - <para>[bdubbs] - Add workaround to strip libraries - correctly.</para> - </listitem> - <listitem> - <para>[xry111] - Add workaround to install Binutils-2.37 man pages - correctly.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to shadow-4.9. Fixes - <ulink url="&lfs-ticket-root;4891">#4891</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to util-linux 2.37.1. Fixes - <ulink url="&lfs-ticket-root;4890">#4890</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-07-23</para> - <itemizedlist> - <listitem revision="systemd"> - <para>[renodr] - Guard systemd against CVE-2021-33910. Fixes - <ulink url="&lfs-ticket-root;4889">#4889</ulink>.</para> - </listitem> - <listitem> - <para>[renodr] - Update to meson-0.59.0. Fixes - <ulink url="&lfs-ticket-root;4888">#4888</ulink>.</para> - </listitem> - <listitem> - <para>[renodr] - Update to binutils-2.37. Fixes - <ulink url="&lfs-ticket-root;4887">#4887</ulink>.</para> - </listitem> - <listitem> - <para>[renodr] - Update to less-590. Fixes - <ulink url="&lfs-ticket-root;4884">#4884</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-07-22</para> - <itemizedlist> - <listitem> - <para>[dj] - Correct page IDs in Chapter 08 dejagnu, expect, and - tcl.</para> - </listitem> - <listitem> - <para>[dj] - Ensure that glibc installs ldconfig and sln to - <filename class="directory">/usr/sbin</filename>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-07-20</para> - <itemizedlist> - <listitem> - <para>[ken] - Update to linux-5.13.4 (security fix). Fixes - <ulink url="&lfs-ticket-root;4886">#4886</ulink>.</para> - </listitem> - <listitem> - <para>[xry111] - Use a fixed, non-zero UID for - <systemitem class="username">tester</systemitem> user, and spawn a - new pseudoterminal to satisfy bash testsuite.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-07-19</para> - <itemizedlist> - <listitem> - <para>[renodr] - Add text about security advisories to the - Errata page.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-07-17</para> - <itemizedlist> - <listitem> - <para>[ken] - Fix test failures in perl-5.34.0 by building less before - perl and by patching perl for a problem highlighted by gdbm-1.20. Fixes - <ulink url="&lfs-ticket-root;4885">#4885</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-07-15</para> - <itemizedlist> - <listitem> - <para>[bdubbs] - Remove modifications to m4 that are no longer needed.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-07-08</para> - <itemizedlist> - <listitem revision="systemd"> - <para>[renodr] - Added Jinja2-3.0.1.</para> - </listitem> - <listitem revision="systemd"> - <para>[renodr] - Added MarkupSafe-2.0.1.</para> - </listitem> - <listitem> - <para>[renodr] - Update to texinfo-6.8. Fixes - <ulink url="&lfs-ticket-root;4880">#4880</ulink>.</para> - </listitem> - <listitem> - <para>[renodr] - Update to iproute2-5.13.0. Fixes - <ulink url="&lfs-ticket-root;4879">#4879</ulink>.</para> - </listitem> - <listitem> - <para>[renodr] - Update to Python-3.9.6 (Security Update). Fixes - <ulink url="&lfs-ticket-root;4878">#4878</ulink>.</para> - </listitem> - <listitem revision="systemd"> - <para>[renodr] - Update to systemd-249 (Security Update). Fixes - <ulink url="&lfs-ticket-root;4882">#4882</ulink>.</para> - </listitem> - <listitem> - <para>[renodr] - Update to Linux-5.13.1. Fixes - <ulink url="&lfs-ticket-root;4873">#4873</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-07-01</para> - <itemizedlist> - <listitem> - <para>[ken] - Patch gcc to fix some regressions (will be - needed to build firefox-91ESR in BLFS) and to allow it to - build against linux-5.13.0 kernel headers. Fixes - <ulink url="&lfs-ticket-root;4875">#4875</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-06-28</para> - <itemizedlist> - <listitem> - <para>[ken] - If installing individual locales, add 9 more - used by libstdc++-v3 tests. Fixes - <ulink url="&lfs-ticket-root;4877">#4877</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-06-27</para> - <itemizedlist> - <listitem> - <para>[bdubbs] - Update to bash-5.1.8. Fixes - <ulink url="&lfs-ticket-root;4869">#4869</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to dejagnu-1.6.3. Fixes - <ulink url="&lfs-ticket-root;4871">#4871</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to gdbm-1.20. Fixes - <ulink url="&lfs-ticket-root;4872">#4872</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to libcap-2.51. Fixes - <ulink url="&lfs-ticket-root;4874">#4874</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to man-pages-5.1. Fixes - <ulink url="&lfs-ticket-root;4876">#4876</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-06-18</para> - <itemizedlist> - <listitem> - <para>[bdubbs] - Ensure libcap installs capsh.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-06-15</para> - <itemizedlist> - <listitem> - <para>[bdubbs] - Update to iana-etc-20210611. Addresses - <ulink url="&lfs-ticket-root;4722">#4722</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to vim-8.2.3001. Addresses - <ulink url="&lfs-ticket-root;4500">#4500</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to util-linux-2.37. Fixes - <ulink url="&lfs-ticket-root;4865">#4865</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to meson-0.58.1. Fixes - <ulink url="&lfs-ticket-root;4867">#4867</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to linux-5.12.10. Fixes - <ulink url="&lfs-ticket-root;4857">#4866</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to m4-1.4.19. Fixes - <ulink url="&lfs-ticket-root;4864">#4864</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to grub-2.06. Fixes - <ulink url="&lfs-ticket-root;4868">#4868</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-06-09</para> - <itemizedlist> - <listitem> - <para>[ken] - For consistency, make the cpp link in /usr/lib. - </para> - </listitem> - <listitem> - <para>[ken] - Install iproute2 programs in /usr/sbin for - consistency.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem revision="sysv"> - <para>2021-06-08</para> - <itemizedlist> - <listitem> - <para>[bdubbs] - Make shutting down the netwrok more robust.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem revision="sysv"> - <para>2021-06-02</para> - <itemizedlist> - <listitem> - <para>[thomas] - Tweak sendsignal bootscript to avoid - killing mdmod (if active).</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-05-31</para> - <itemizedlist> - <listitem> - <para>[ken] - Update to linux-5.12.8 (security fix). Fixes - <ulink url="&lfs-ticket-root;4863">#4863</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-05-28</para> - <itemizedlist> - <listitem> - <para>[bdubbs] - Update to iana-etc-20210526. Addresses - <ulink url="&lfs-ticket-root;4722">#4722</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to vim-8.2.2890. Addresses - <ulink url="&lfs-ticket-root;4500">#4500</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to zstd-1.5.0. Fixes - <ulink url="&lfs-ticket-root;4858">#4858</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to perl-5.34.0. Fixes - <ulink url="&lfs-ticket-root;4860">#4860</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to linux-5.12.7. Fixes - <ulink url="&lfs-ticket-root;4857">#4857</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to libcap-2.50. Fixes - <ulink url="&lfs-ticket-root;4862">#4862</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to kmod-29. Fixes - <ulink url="&lfs-ticket-root;4859">#4859</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to expat-2.4.1. Fixes - <ulink url="&lfs-ticket-root;4861">#4861</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to elfutils-0.185. Fixes - <ulink url="&lfs-ticket-root;4855">#4855</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to bc-4.0.2. Fixes - <ulink url="&lfs-ticket-root;4855">#4855</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-05-26</para> - <itemizedlist> - <listitem> - <para>[thomas] - Remove obsolete DOCDIR option from iproute2 install command.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-05-17</para> - <itemizedlist> - <listitem> - <para>[bdubbs] - Tweak install directories for eudev and e2fsprogs. - Thanks to Ryan Marsaw for the report.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-05-14</para> - <itemizedlist> - <listitem> - <para>[ken] - Add a Note about upgrading in OpenSSL.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-05-12</para> - <itemizedlist> - <listitem> - <para>[bdubbs] - Removed instructions for running tests - in Python due to an indefinite hang in the partial - LFS envrionment.</para> - </listitem> - <listitem> - <para>[renodr] - Moved LFS to a merged-/usr configuration. Thanks - goes to Xi Ruoyao for doing almost all of the work. Fixes - <ulink url="&lfs-ticket-root;4848">#4848</ulink>.</para> - </listitem> - <listitem> - <para>[renodr] - Update to gcc-11.1.0. Fixes - <ulink url="&lfs-ticket-root;4847">#4847</ulink>.</para> - </listitem> - <listitem> - <para>[renodr] - Fix a FTBFS when building glibc-2.33 with - gcc-11.1.0.</para> - </listitem> - <listitem revision="systemd"> - <para>[renodr] - Update to systemd-248. Fixes - <ulink url="&lfs-ticket-root;4841">#4841</ulink>.</para> - </listitem> - <listitem> - <para>[renodr] - Update to iproute2-5.12.0. Fixes - <ulink url="&lfs-ticket-root;4852">#4852</ulink>.</para> - </listitem> - <listitem> - <para>[renodr] - Update to Python-3.9.5. Fixes - <ulink url="&lfs-ticket-root;4854">#4854</ulink>.</para> - </listitem> - <listitem> - <para>[renodr] - Update to meson-0.58.0. Fixes - <ulink url="&lfs-ticket-root;4853">#4853</ulink>.</para> - </listitem> - <listitem> - <para>[renodr] - Update to linux-5.12.2. Fixes - <ulink url="&lfs-ticket-root;4840">#4840</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-04-28</para> - <itemizedlist> - <listitem revision="systemd"> - <para>[renodr] - Fix building systemd with Linux-API-Headers 5.11.14 - and higher, as well as with meson-0.57.2. Fixes - <ulink url="&lfs-ticket-root;4851">#4851</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Add manual locales needed for tests - if using alternate locale installation instructions. Fixes - <ulink url="&lfs-ticket-root;4844">#4844</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Minor changes to boot scripts. Fixes - <ulink url="&lfs-ticket-root;4842">#4842</ulink>. - Thanks to Scott Andrews for the report.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-04-26</para> - <itemizedlist> - <listitem> - <para>[bdubbs] - Update to vim-8.2.2812. Addresses - <ulink url="&lfs-ticket-root;4500">#4500</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to iana-etc-20210407. Addresses - <ulink url="&lfs-ticket-root;4722">#4722</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to Python3-3.9.4. Fixes - <ulink url="&lfs-ticket-root;4843">#4843</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to meson-0.57.2. Fixes - <ulink url="&lfs-ticket-root;4846">#4846</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to linux-5.11.16. Addresses - <ulink url="&lfs-ticket-root;4840">#4840</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to less-581. Fixes - <ulink url="&lfs-ticket-root;4849">#4849</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to file-5.40. Fixes - <ulink url="&lfs-ticket-root;4839">#4839</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to bc-4.0.1. Fixes - <ulink url="&lfs-ticket-root;4845">#4845</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-04-22</para> - <itemizedlist> <listitem> - <para>[xry111] - Revert 2772bb9c, as the proposed fix in it is - rejected by Python maintainers explicitly.</para> + <para>[bdubbs] - Update to Python3-3.9.7. Fixes + <ulink url="&lfs-ticket-root;4916">#4916</ulink>.</para> </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-04-06</para> - <itemizedlist> <listitem> - <para>The XML source code of this book is migrated from SVN - to Git.</para> + <para>[bdubbs] - Update to linux-5.14.3. Fixes + <ulink url="&lfs-ticket-root;4913">#4913</ulink>.</para> </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-03-26</para> - <itemizedlist> <listitem> - <para>[renodr] - Update to openssl-1.1.1k (Security Update). Fixes - <ulink url="&lfs-ticket-root;4838">#4838</ulink>.</para> + <para>[bdubbs] - Update to libcap-2.57. Fixes + <ulink url="&lfs-ticket-root;4912">#4912</ulink>.</para> </listitem> <listitem> - <para>[renodr] - Update to attr-2.5.1. Fixes - <ulink url="&lfs-ticket-root;4833">#4833</ulink>.</para> + <para>[bdubbs] - Update to iproute2-5.14.0. Fixes + <ulink url="&lfs-ticket-root;4917">#4917</ulink>.</para> </listitem> <listitem> - <para>[renodr] - Update to linux-5.11.10. Fixes - <ulink url="&lfs-ticket-root;4834">#4834</ulink>.</para> + <para>[bdubbs] - Update to inetutils-2.2. Fixes + <ulink url="&lfs-ticket-root;4918">#4918</ulink>.</para> </listitem> <listitem> - <para>[renodr] - Update to bc-3.3.4. Fixes - <ulink url="&lfs-ticket-root;4835">#4835</ulink>.</para> + <para>[bdubbs] - Update to gzip-1.11. Fixes + <ulink url="&lfs-ticket-root;4920">#4920</ulink>.</para> </listitem> <listitem> - <para>[renodr] - Update to man-pages-5.11. Fixes - <ulink url="&lfs-ticket-root;4836">#4836</ulink>.</para> + <para>[bdubbs] - Update to gdbm-1.21. Fixes + <ulink url="&lfs-ticket-root;4919">#4919</ulink>.</para> </listitem> <listitem> - <para>[renodr] - Update to expat-2.3.0. Fixes - <ulink url="&lfs-ticket-root;4837">#4837</ulink>.</para> + <para>[bdubbs] - Update to bison-3.8.1. Fixes + <ulink url="&lfs-ticket-root;4921">#4921</ulink>.</para> </listitem> <listitem> - <para>[renodr] - Update to acl-2.3.1. Fixes - <ulink url="&lfs-ticket-root;4832">#4832</ulink>.</para> + <para>[bdubbs] - Update to bc-5.0.2. Fixes + <ulink url="&lfs-ticket-root;4908">#4905</ulink>.</para> </listitem> </itemizedlist> </listitem> <listitem> - <para>2021-03-17</para> + <para>2021-09-08</para> <itemizedlist> <listitem> - <para>[xry111] - Use <option>-j1</option> for Binutils - installation. Thanks report from Hans Meier.</para> + <para>[renodr] - Fix regressions in File that result in improper + detection of text and XZ files.</para> </listitem> </itemizedlist> </listitem> <listitem> - <para>2021-03-15</para> + <para>2021-09-06</para> <itemizedlist> <listitem> - <para>[bdubbs] - Update to vim-8.2.2604. Addreses - <ulink url="&lfs-ticket-root;4500">#4500</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to iana-etc-20210304. Addreses - <ulink url="&lfs-ticket-root;4722">#4722</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to zstd-1.4.9. Fixes - <ulink url="&lfs-ticket-root;4827">#4827</ulink>.</para> - </listitem> - <listitem revision="sysv"> - <para>[bdubbs] - Update to sysvinit-2.99. Fixes - <ulink url="&lfs-ticket-root;4822">#4822</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to linux-5.11.6. Fixes - <ulink url="&lfs-ticket-root;4824">#4824</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to libcap-2.49. Fixes - <ulink url="&lfs-ticket-root;4831">#4831</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to iproute2-5.11.0. Fixes - <ulink url="&lfs-ticket-root;4823">#4823</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to e2fsprogs-1.46.2. Fixes - <ulink url="&lfs-ticket-root;4826">#4826</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to bison-3.7.6. Fixes - <ulink url="&lfs-ticket-root;4828">#4828</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to bc-3.3.3. Fixes - <ulink url="&lfs-ticket-root;4825">#4825</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to attr-2.5.0. Fixes - <ulink url="&lfs-ticket-root;4830">#4830</ulink>.</para> - </listitem> - <listitem> - <para>[bdubbs] - Update to acl-2.3.0. Fixes - <ulink url="&lfs-ticket-root;4829">#4829</ulink>.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem revision="systemd"> - <para>2021-03-05</para> - <itemizedlist> - <listitem> - <para>[xry111] - Simplify the installation of systemd man pages. - </para> - </listitem> - </itemizedlist> - </listitem> - - <listitem revision="systemd"> - <para>2021-03-04</para> - <itemizedlist> - <listitem> - <para>[renodr] - Patch systemd-247 so that it will function with - Linux-5.11 API headers.</para> - </listitem> - </itemizedlist> - </listitem> - - <listitem> - <para>2021-03-02</para> - <itemizedlist> - <listitem> - <para>[pierre] - Fix a header file for python, so that - <command>#include <python&python-minor;/Python.h></command> - works.</para> + <para>[bdubbs] - Text clarifications in the backup/restore section + of Chapter 7. Thanks to Kevin Buckley for the patch.</para> </listitem> </itemizedlist> </listitem> <listitem> - <para>2021-03-01</para> + <para>2021-09-01</para> <itemizedlist> <listitem> - <para>[bdubbs] - LFS-10.1 released.</para> + <para>[bdubbs] - LFS-11.0 released.</para> </listitem> </itemizedlist> </listitem> - </itemizedlist> </sect1> diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index a8584a71f..1e85e7978 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -30,28 +30,28 @@ <!--<listitem> <para>None</para> </listitem>--> - <listitem> + <!--<listitem> <para>Acl-&acl-version;</para> - </listitem> - <listitem> + </listitem>--> + <!--<listitem> <para>Attr-&attr-version;</para> - </listitem> + </listitem>--> <!--<listitem> <para>Autoconf-&autoconf-version;</para> </listitem>--> - <listitem> + <!--<listitem> <para>Automake-&automake-version;</para> - </listitem> - <listitem> + </listitem>--> + <!--<listitem> <para>Bash &bash-version;</para> - </listitem> - <listitem> + </listitem>--> + <listitem> <para>Bc &bc-version;</para> </listitem> - <listitem> + <!--<listitem> <para>Binutils-&binutils-version;</para> - </listitem> - <listitem> + </listitem>--> + <listitem> <para>Bison-&bison-version;</para> </listitem> <!--<listitem> @@ -63,30 +63,30 @@ <!--<listitem> <para>Coreutils-&coreutils-version;</para> </listitem>--> - <listitem> + <!--<listitem> <para>DejaGNU-&dejagnu-version;</para> - </listitem> + </listitem>--> <!--<listitem revision="systemd"> <para>D-Bus-&dbus-version;</para> </listitem>--> - <listitem> + <!--<listitem> <para>Diffutils-&diffutils-version;</para> - </listitem> - <listitem> + </listitem>--> + <!--<listitem> <para>E2fsprogs-&e2fsprogs-version;</para> - </listitem> + </listitem>--> <!--<listitem revision="sysv"> <para>Eudev-&eudev-version;</para> </listitem>--> - <listitem> + <!--<listitem> <para>Expat-&expat-version;</para> - </listitem> + </listitem>--> <!--<listitem> <para>Expect-&expect-version;</para> </listitem>--> - <listitem> + <!--<listitem> <para>File-&file-version;</para> - </listitem> + </listitem>--> <!--<listitem> <para>Findutils-&findutils-version;</para> </listitem>--> @@ -96,46 +96,46 @@ <!--<listitem> <para>Gawk-&gawk-version;</para> </listitem>--> - <listitem> + <!--<listitem> <para>GCC-&gcc-version;</para> - </listitem> - <listitem> + </listitem>--> + <listitem> <para>GDBM-&gdbm-version;</para> </listitem> <!--<listitem> <para>Gettext-&gettext-version;</para> </listitem>--> - <listitem> + <!--<listitem> <para>Glibc-&glibc-version;</para> - </listitem> + </listitem>--> <!--<listitem> <para>GMP-&gmp-version;</para> </listitem>--> <!--<listitem> <para>Gperf-&gperf-version;</para> </listitem>--> - <listitem> + <!--<listitem> <para>Grep-&grep-version;</para> - </listitem> + </listitem>--> <!--<listitem> <para>Groff-&groff-version;</para> </listitem>--> - <listitem> + <!--<listitem> <para>GRUB-&grub-version;</para> - </listitem> - <!--<listitem> - <para>Gzip-&gzip-version;</para> </listitem>--> <listitem> - <para>IANA-Etc-&iana-etc-version;</para> + <para>Gzip-&gzip-version;</para> </listitem> - <!--<listitem> - <para>Inetutils-&inetutils-version;</para> + <!--<listitem> + <para>IANA-Etc-&iana-etc-version;</para> </listitem>--> + <listitem> + <para>Inetutils-&inetutils-version;</para> + </listitem> <!--<listitem> <para>Intltool-&intltool-version;</para> </listitem>--> - <listitem> + <listitem> <para>IPRoute2-&iproute2-version;</para> </listitem> <!--<listitem revision="systemd"> @@ -144,51 +144,51 @@ <!--<listitem> <para>Kbd-&kbd-version;</para> </listitem>--> - <listitem> + <!--<listitem> <para>Kmod-&kmod-version;</para> - </listitem> - <listitem> + </listitem>--> + <!--<listitem> <para>Less-&less-version;</para> - </listitem> + </listitem>--> <!--<listitem> <para>LFS-Bootscripts-&lfs-bootscripts-version;</para> </listitem>--> - <listitem> + <listitem> <para>Libcap-&libcap-version;</para> </listitem> - <listitem> + <!--<listitem> <para>Libelf-&elfutils-version; (from elfutils)</para> - </listitem> - <listitem> + </listitem>--> + <!--<listitem> <para>Libffi-&libffi-version;</para> - </listitem> + </listitem>--> <!--<listitem> <para>Libpipeline-&libpipeline-version;</para> </listitem>--> <!--<listitem> <para>Libtool-&libtool-version;</para> </listitem>--> - <listitem> + <listitem> <para>Linux-&linux-version;</para> </listitem> - <listitem> + <!--<listitem> <para>M4-&m4-version;</para> - </listitem> + </listitem>--> <!--<listitem> <para>Make-&make-version;</para> </listitem>--> <!--<listitem> <para>Man-DB-&man-db-version;</para> </listitem>--> - <listitem> + <!--<listitem> <para>Man-pages-&man-pages-version;</para> - </listitem> + </listitem>--> <!--<listitem revision="systemd"> <para>MarkupSafe-&markupsafe-version;</para> </listitem>--> - <listitem> + <!--<listitem> <para>Meson-&meson-version;</para> - </listitem> + </listitem>--> <!--<listitem> <para>MPC-&mpc-version;</para> </listitem>--> @@ -201,15 +201,15 @@ <!--<listitem> <para>Ninja-&ninja-version;</para> </listitem>--> - <listitem> + <!--<listitem> <para>Openssl-&openssl-version;</para> - </listitem> + </listitem>--> <!--<listitem> <para>Patch-&patch-version;</para> </listitem>--> - <listitem> + <!--<listitem> <para>Perl-&perl-version;</para> - </listitem> + </listitem>--> <!--<listitem> <para>Pkg-config-&pkgconfig-version;</para> </listitem>--> @@ -228,36 +228,36 @@ <!--<listitem> <para>Sed-&sed-version;</para> </listitem>--> - <listitem> + <!--<listitem> <para>Shadow-&shadow-version;</para> - </listitem> - <listitem revision="sysv"> + </listitem>--> + <!--<listitem revision="sysv"> <para>Sysklogd-&sysklogd-version;</para> - </listitem> - <listitem revision="systemd"> + </listitem>--> + <!--<listitem revision="systemd"> <para>Systemd-&systemd-version;</para> - </listitem> - <listitem revision="sysv"> + </listitem>--> + <!--<listitem revision="sysv"> <para>SysVinit-&sysvinit-version;</para> - </listitem> + </listitem>--> <!--<listitem> <para>Tar-&tar-version;</para> </listitem>--> <!--<listitem> <para>Tcl-&tcl-version;</para> </listitem>--> - <listitem> + <!--<listitem> <para>Texinfo-&texinfo-version;</para> - </listitem> + </listitem>--> <!--<listitem> <para>Tzdata-&tzdata-version;</para> </listitem>--> - <listitem> + <!--<listitem> <para>Util-Linux-&util-linux-version;</para> - </listitem> - <listitem> + </listitem>--> + <!--<listitem> <para>Vim-&vim-version;</para> - </listitem> + </listitem>--> <!--<listitem> <para>XML-Parser-&xml-parser-version;</para> </listitem>--> @@ -267,9 +267,9 @@ <!--<listitem> <para>Zlib-&zlib-version;</para> </listitem>--> - <listitem> + <!--<listitem> <para>Zstd-&zstd-version;</para> - </listitem> + </listitem>--> </itemizedlist> <!--<itemizedlist> @@ -285,6 +285,10 @@ <title>Added:</title> <listitem><para></para></listitem> <!-- satisfy build --> <listitem> + <para>file-5.40-upstream_fixes-1.patch</para> + </listitem> + <!-- + <listitem> <para>binutils-2.37-upstream_fix-1.patch</para> </listitem> <listitem> @@ -296,7 +300,7 @@ <listitem revision="systemd"> <para>Jinja2-&jinja2-version;</para> </listitem> - + --> </itemizedlist> <itemizedlist> diff --git a/chapter02/aboutlfs.xml b/chapter02/aboutlfs.xml index 0d5a5281b..41b50a2a0 100644 --- a/chapter02/aboutlfs.xml +++ b/chapter02/aboutlfs.xml @@ -52,17 +52,17 @@ <envar>LFS</envar> variable needs to be bash to ensure that the <filename>/root/.bash_profile</filename> file is incorporated as a part of the login process.</para> - + <para>Another consideration is the method that is used to log into the host system. If logging in through a graphical display manager, the user's <filename>.bash_profile</filename> is not normally used when a virtual terminal is started. In this case, add the export command to the <filename>.bashrc</filename> file for the user and - <systemitem class="username">root</systemitem>. In addition, - some distributions have instructions to not run the <filename>.bashrc</filename> + <systemitem class="username">root</systemitem>. In addition, + some distributions have instructions to not run the <filename>.bashrc</filename> instructions in a non-interactive bash invocation. Be sure to add the export command before the test for non-interactive use.</para> - + </note> </sect1> diff --git a/chapter02/creatingfilesystem.xml b/chapter02/creatingfilesystem.xml index f01b745e9..12529ce8c 100644 --- a/chapter02/creatingfilesystem.xml +++ b/chapter02/creatingfilesystem.xml @@ -11,9 +11,9 @@ <title>Creating a File System on the Partition</title> <para>Now that a blank partition has been set up, the file system can be - created. LFS can use any file system recognized by the Linux kernel, but the - most common types are ext3 and ext4. The choice of file system can be - complex and depends on the characteristics of the files and the size of + created. LFS can use any file system recognized by the Linux kernel, but the + most common types are ext3 and ext4. The choice of file system can be + complex and depends on the characteristics of the files and the size of the partition. For example:</para> <variablelist> @@ -26,7 +26,7 @@ <varlistentry> <term>ext3</term> <listitem><para>is an upgrade to ext2 that includes a journal - to help recover the partition's status in the case of an unclean + to help recover the partition's status in the case of an unclean shutdown. It is commonly used as a general purpose file system. </para> </listitem> diff --git a/chapter02/creatingpartition.xml b/chapter02/creatingpartition.xml index efca7ea1c..ac496bbae 100644 --- a/chapter02/creatingpartition.xml +++ b/chapter02/creatingpartition.xml @@ -37,7 +37,7 @@ <para>Start a disk partitioning program such as <command>cfdisk</command> or <command>fdisk</command> with a command line option naming the hard disk on which the new partition will be created—for example - <filename class="devicefile">/dev/sda</filename> for the primary + <filename class="devicefile">/dev/sda</filename> for the primary disk drive. Create a Linux native partition and a <systemitem class="filesystem">swap</systemitem> partition, if needed. Please refer to <filename>cfdisk(8)</filename> or <filename>fdisk(8)</filename> if @@ -88,7 +88,7 @@ swapping.</para> <para>If you want to use the hibernation feature (suspend-to-disk) of Linux, - it writes out the contents of RAM to the swap partition before turning off + it writes out the contents of RAM to the swap partition before turning off the machine. In this case the size of the swap partition should be at least as large as the system's installed RAM.</para> @@ -114,8 +114,8 @@ <command>fdisk</command> or have a code of <emphasis>EF02</emphasis> if using <command>gdisk</command>.</para> - <note><para>The Grub Bios partition must be on the drive that the BIOS - uses to boot the system. This is not necessarily the same drive where the + <note><para>The Grub Bios partition must be on the drive that the BIOS + uses to boot the system. This is not necessarily the same drive where the LFS root partition is located. Disks on a system may use different partition table types. The requirement for this partition depends only on the partition table type of the boot disk.</para></note> diff --git a/chapter02/hostreqs.xml b/chapter02/hostreqs.xml index e513bd92d..dc3073b33 100644 --- a/chapter02/hostreqs.xml +++ b/chapter02/hostreqs.xml @@ -150,8 +150,8 @@ </important> <!-- Use an empty sect2 element to prevent a pdf warning. --> - <bridgehead renderas="sect2" - id="version-check" + <bridgehead renderas="sect2" + id="version-check" xreflabel="Host System Requirements"> </bridgehead> <!--<title> </title>--> @@ -177,7 +177,7 @@ if [ -h /usr/bin/yacc ]; then elif [ -x /usr/bin/yacc ]; then echo yacc is `/usr/bin/yacc --version | head -n1` else - echo "yacc not found" + echo "yacc not found" fi bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f1,6- @@ -190,8 +190,8 @@ if [ -h /usr/bin/awk ]; then echo "/usr/bin/awk -> `readlink -f /usr/bin/awk`"; elif [ -x /usr/bin/awk ]; then echo awk is `/usr/bin/awk --version | head -n1` -else - echo "awk not found" +else + echo "awk not found" fi gcc --version | head -n1 diff --git a/chapter02/introduction.xml b/chapter02/introduction.xml index 8dad0ceb8..bddcfec61 100644 --- a/chapter02/introduction.xml +++ b/chapter02/introduction.xml @@ -11,8 +11,8 @@ <title>Introduction</title> <para>In this chapter, the host tools needed for building LFS - are checked and, if necessary, installed. Then a partition which will - host the LFS system is prepared. We will create the partition + are checked and, if necessary, installed. Then a partition which will + host the LFS system is prepared. We will create the partition itself, create a file system on it, and mount it.</para> </sect1> diff --git a/chapter02/mounting.xml b/chapter02/mounting.xml index 45f222485..a4408c94f 100644 --- a/chapter02/mounting.xml +++ b/chapter02/mounting.xml @@ -47,8 +47,8 @@ mount -v -t ext4 /dev/<replaceable><yyy></replaceable> $LFS/home</userinpu <warning><para>The above instructions assume that you will not be restarting your computer throughout the LFS process. If you shut down your system, - you will either need to remount the LFS partition each time you restart - the build process or modify your host system's /etc/fstab file to automatically + you will either need to remount the LFS partition each time you restart + the build process or modify your host system's /etc/fstab file to automatically remount it upon boot. For example: <screen role="nodump">/dev/<replaceable><xxx></replaceable> /mnt/lfs ext4 defaults 1 1</screen> diff --git a/chapter02/stages.xml b/chapter02/stages.xml index b15b9446e..830ec0c1f 100644 --- a/chapter02/stages.xml +++ b/chapter02/stages.xml @@ -22,7 +22,7 @@ <para>These chapters are accomplished on the host system. When restarting, be careful of the following:</para> - + <itemizedlist> <listitem> <para>Procedures done as the @@ -32,7 +32,7 @@ </listitem> </itemizedlist> </sect2> - + <sect2> <title>Chapter 5–6</title> @@ -85,8 +85,8 @@ <para> The virtual file systems must be mounted. This can be done before or after entering chroot by changing to a host virtual terminal and, as <systemitem class="username">root</systemitem>, running the - commands in - <xref linkend='ch-tools-bindmount'/> and + commands in + <xref linkend='ch-tools-bindmount'/> and <xref linkend='ch-tools-kernfsmount'/>.</para> </listitem> </itemizedlist> diff --git a/chapter03/introduction.xml b/chapter03/introduction.xml index c7451f055..63ec046b5 100644 --- a/chapter03/introduction.xml +++ b/chapter03/introduction.xml @@ -54,11 +54,11 @@ <itemizedlist> <listitem> - <para>The files can be downloaded individually as described in the + <para>The files can be downloaded individually as described in the next two sections.</para> </listitem> <listitem> - <para>For stable versions of the book, a tarball of all the needed files + <para>For stable versions of the book, a tarball of all the needed files can be downloaded from one of the LFS files mirrors listed at <ulink url="https://www.linuxfromscratch.org/mirrors.html#files"/>.</para> </listitem> @@ -83,7 +83,7 @@ md5sum -c md5sums popd</userinput></screen> - <para>This check can be used after retrieving the needed files with any of the + <para>This check can be used after retrieving the needed files with any of the methods listed above.</para> </sect1> diff --git a/chapter03/packages.xml b/chapter03/packages.xml index 191f7f921..a0e6ec1f5 100644 --- a/chapter03/packages.xml +++ b/chapter03/packages.xml @@ -440,7 +440,7 @@ <note> <para>The Linux kernel is updated relatively often, many times due to discoveries of security vulnerabilities. The latest available - <!--&linux-major-version;.&linux-minor-version;.x--> stable kernel + <!--&linux-major-version;.&linux-minor-version;.x--> stable kernel version <!--should--> may be used, unless the errata page says otherwise.</para> diff --git a/chapter03/patches.xml b/chapter03/patches.xml index 9c32c63f8..8921684ce 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -61,6 +61,14 @@ </varlistentry> <varlistentry> + <term>File Upstream Fixes Patch - <token>&file-upstream-fixes-patch-size;</token>:</term> + <listitem> + <para>Download: <ulink url="&patches-root;&file-upstream-fixes-patch;"/></para> + <para>MD5 sum: <literal>&file-upstream-fixes-md5;</literal></para> + </listitem> + </varlistentry> + + <varlistentry> <term>Glibc FHS Patch - <token>&glibc-fhs-patch-size;</token>:</term> <listitem> <para>Download: <ulink url="&patches-root;&glibc-fhs-patch;"/></para> diff --git a/chapter04/addinguser.xml b/chapter04/addinguser.xml index 59fca9468..49fb43466 100644 --- a/chapter04/addinguser.xml +++ b/chapter04/addinguser.xml @@ -11,7 +11,7 @@ <title>Adding the LFS User</title> <para>When logged in as user <systemitem class="username">root</systemitem>, - making a single mistake can damage or destroy a system. Therefore, + making a single mistake can damage or destroy a system. Therefore, the packages in the next two chapters are built as an unprivileged user. You could use your own user name, but to make it easier to set up a clean working environment, create a new user called <systemitem diff --git a/chapter04/settingenviron.xml b/chapter04/settingenviron.xml index 3b682b061..4c419d00a 100644 --- a/chapter04/settingenviron.xml +++ b/chapter04/settingenviron.xml @@ -179,7 +179,7 @@ EOF</userinput></screen> out of the way. As the <systemitem class="username">root</systemitem> user, run:</para> - <screen role="nodump"><userinput>[ ! -e /etc/bash.bashrc ] || mv -v /etc/bash.bashrc /etc/bash.bashrc.NOUSE</userinput></screen> + <screen role="nodump"><userinput>[ ! -e /etc/bash.bashrc ] || mv -v /etc/bash.bashrc /etc/bash.bashrc.NOUSE</userinput></screen> <para>After use of the <systemitem class="username">lfs</systemitem> user is finished at the beginning of <xref diff --git a/chapter05/binutils-pass1.xml b/chapter05/binutils-pass1.xml index e17c2fc92..a0410f9f3 100644 --- a/chapter05/binutils-pass1.xml +++ b/chapter05/binutils-pass1.xml @@ -53,7 +53,7 @@ linker and assembler to determine which of their own features to enable.</para> - <para>The Binutils documentation recommends building Binutils + <para>The Binutils documentation recommends building Binutils in a dedicated build directory:</para> <screen><userinput remap="pre">mkdir -v build diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml index 0cd852ee6..1ff7d50fe 100644 --- a/chapter05/gcc-pass1.xml +++ b/chapter05/gcc-pass1.xml @@ -72,7 +72,7 @@ mv -v mpc-&mpc-version; mpc</userinput></screen> ;; esac</userinput></screen> - <para>The GCC documentation recommends building GCC + <para>The GCC documentation recommends building GCC in a dedicated build directory:</para> <screen><userinput remap="pre">mkdir -v build @@ -107,7 +107,7 @@ cd build</userinput></screen> <term><parameter>--with-glibc-version=2.11</parameter></term> <listitem> <para>This option ensures the package will be compatible with the host's - version of glibc. It is set to the minimum glibc requirement + version of glibc. It is set to the minimum glibc requirement specified in the <xref linkend="ch-partitioning-hostreqs"/>.</para> </listitem> </varlistentry> @@ -159,7 +159,7 @@ cd build</userinput></screen> <varlistentry> <term><parameter>--disable-decimal-float, --disable-threads, - --disable-libatomic, --disable-libgomp, + --disable-libatomic, --disable-libgomp, --disable-libquadmath, --disable-libssp, --disable-libvtv, --disable-libstdcxx</parameter></term> <listitem> diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml index 37a222bd1..e3503a958 100644 --- a/chapter05/glibc.xml +++ b/chapter05/glibc.xml @@ -62,7 +62,7 @@ esac</userinput></screen> <screen><userinput remap="pre">patch -Np1 -i ../glibc-&glibc-version;-fhs-1.patch</userinput></screen> - <para>The Glibc documentation recommends building Glibc + <para>The Glibc documentation recommends building Glibc in a dedicated build directory:</para> <screen><userinput remap="pre">mkdir -v build @@ -139,7 +139,7 @@ cd build</userinput></screen> generally harmless. This <command>msgfmt</command> program is part of the Gettext package which the host distribution should provide.</para> - <note><para>There have been reports that this package may fail when + <note><para>There have been reports that this package may fail when building as a "parallel make". If this occurs, rerun the make command with a "-j1" option.</para></note> diff --git a/chapter05/libstdc++.xml b/chapter05/libstdc++.xml index 68da1f7c2..750868591 100644 --- a/chapter05/libstdc++.xml +++ b/chapter05/libstdc++.xml @@ -24,7 +24,7 @@ <sect2 role="package"> <title/> - <para>Libstdc++ is the standard C++ library. It is needed + <para>Libstdc++ is the standard C++ library. It is needed to compile C++ code (part of GCC is written in C++), but we had to defer its installation when we built <xref linkend="ch-tools-gcc-pass1"/> diff --git a/chapter05/linux-headers.xml b/chapter05/linux-headers.xml index 213fe7dc3..24415bf55 100644 --- a/chapter05/linux-headers.xml +++ b/chapter05/linux-headers.xml @@ -75,12 +75,12 @@ rm usr/include/Makefile <seglistitem> <seg>/usr/include/asm/*.h, /usr/include/asm-generic/*.h, /usr/include/drm/*.h, /usr/include/linux/*.h, /usr/include/misc/*.h, - /usr/include/mtd/*.h, /usr/include/rdma/*.h, /usr/include/scsi/*.h, - /usr/include/sound/*.h, /usr/include/video/*.h, + /usr/include/mtd/*.h, /usr/include/rdma/*.h, /usr/include/scsi/*.h, + /usr/include/sound/*.h, /usr/include/video/*.h, and /usr/include/xen/*.h</seg> <seg>/usr/include/asm, /usr/include/asm-generic, /usr/include/drm, - /usr/include/linux, /usr/include/misc, /usr/include/mtd, - /usr/include/rdma, /usr/include/scsi, /usr/include/sound, + /usr/include/linux, /usr/include/misc, /usr/include/mtd, + /usr/include/rdma, /usr/include/scsi, /usr/include/sound, /usr/include/video, and /usr/include/xen</seg> </seglistitem> </segmentedlist> diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml index af75e60cf..27ae2a04d 100644 --- a/chapter06/coreutils.xml +++ b/chapter06/coreutils.xml @@ -83,10 +83,10 @@ not necessary in this temporary environment, we must do so because some programs harcode executable locations:</para> -<screen><userinput remap="install">mv -v $LFS/usr/bin/chroot $LFS/usr/sbin +<screen><userinput remap="install">mv -v $LFS/usr/bin/chroot $LFS/usr/sbin mkdir -pv $LFS/usr/share/man/man8 -mv -v $LFS/usr/share/man/man1/chroot.1 $LFS/usr/share/man/man8/chroot.8 -sed -i 's/"1"/"8"/' $LFS/usr/share/man/man8/chroot.8</userinput></screen> +mv -v $LFS/usr/share/man/man1/chroot.1 $LFS/usr/share/man/man8/chroot.8 +sed -i 's/"1"/"8"/' $LFS/usr/share/man/man8/chroot.8</userinput></screen> </sect2> diff --git a/chapter06/file.xml b/chapter06/file.xml index dc6024177..880817509 100644 --- a/chapter06/file.xml +++ b/chapter06/file.xml @@ -44,8 +44,8 @@ <title>Installation of File</title> <para> - The <command>file</command> command on the build host needs - to be same version as the one we are building in order to + The <command>file</command> command on the build host needs + to be same version as the one we are building in order to create the signature file. Run the following commands to build it: </para> diff --git a/chapter06/introduction.xml b/chapter06/introduction.xml index 58f0dd7f7..1d786eb0c 100644 --- a/chapter06/introduction.xml +++ b/chapter06/introduction.xml @@ -18,7 +18,7 @@ <para>Using the utilities will be possible in next chapter after entering the <quote>chroot</quote> environment. But all the packages built in the - present chapter need to be built before we do that. Therefore we cannot be + present chapter need to be built before we do that. Therefore we cannot be independent of the host system yet.</para> <para>Once again, let us recall that improper setting of <envar>LFS</envar> diff --git a/chapter07/chapter07.xml b/chapter07/chapter07.xml index 3706a6dfb..8c78f230a 100644 --- a/chapter07/chapter07.xml +++ b/chapter07/chapter07.xml @@ -24,7 +24,7 @@ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="python.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="texinfo.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="util-linux.xml"/> - + <!-- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="tcl.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="expect.xml"/> diff --git a/chapter07/cleanup.xml b/chapter07/cleanup.xml index b4eacad1a..c50c65f06 100644 --- a/chapter07/cleanup.xml +++ b/chapter07/cleanup.xml @@ -9,7 +9,7 @@ <?dbhtml filename="cleanup.html"?> <title>Cleaning up and Saving the Temporary System</title> - + <sect2> <title>Cleaning</title> @@ -20,13 +20,13 @@ <para>Second, the libtool .la files are only useful when linking with static libraries. They are unneeded and potentially harmful when using dynamic - shared libraries, specially when using non-autotools build systems. + shared libraries, especially when using non-autotools build systems. While still in chroot, remove those files now:</para> <screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput></screen> <para> - The current system size is now about 3 GB, however + The current system size is now about 3 GB, however the /tools directory is no longer needed. It uses about 1 GB of disk space. Delete it now: </para> @@ -37,14 +37,25 @@ <sect2> <title>Backup</title> + <para> + At this point the essential programs and libraries have been created + and your current LFS system is in a good state. Your system can now be + backed up for later reuse. In case of fatal failures in the subsequent + chapters, it often turns out that removing everything and starting over + (more carefully) is the best option to recover. Unfortunately, all the + temporary files will be removed, too. To avoid spending extra time to + redo something which has been built successfully, creating a backup of + the current LFS system may prove useful. + </para> + <note><para> All the remaining steps in this section are optional. Nevertheless, as soon as you begin installing packages in <xref linkend="chapter-building-system"/>, the temporary files will be overwritten. So it may be a good idea to do a backup of the current - system as described below. + system as described below. </para></note> - + <para> The following steps are performed from outside the chroot environment. That means, you have to leave the chroot environment @@ -56,47 +67,54 @@ safety reasons. </para> + <para> + If you have decided to make a backup, leave the chroot environment: + </para> + +<screen role="nodump"><userinput>exit</userinput></screen> + <important> - <para>All of the following instructions are executed by - <systemitem class="username">root</systemitem>. Take extra - care about the commands you're going to run as mistakes + <para> + All of the following instructions are executed by + <systemitem class="username">root</systemitem> on your host system. + Take extra care about the commands you're going to run as mistakes here can modify your host system. Be aware that the - environment variable <envar>LFS</envar> - is set for user <systemitem class="username">lfs</systemitem> by default - but may <emphasis>not</emphasis> be set for - <systemitem class="username">root</systemitem>. Whenever - commands are to be executed by <systemitem class="username">root</systemitem>, + environment variable <envar>LFS</envar> + is set for user <systemitem class="username">lfs</systemitem> by default + but may <emphasis>not</emphasis> be set for + <systemitem class="username">root</systemitem>. + </para> + <para> + Whenever commands are to be executed by <systemitem class="username">root</systemitem>, make sure you have set <envar>LFS</envar>. + </para> + <para> This has been discussed in <xref linkend='ch-partitioning-aboutlfs'/>. </para> </important> - <para> - Now, if you are making a backup, leave the chroot environment: - </para> + <para>Before making a backup, unmount the virtual file systems:</para> -<screen role="nodump"><userinput>exit</userinput></screen> +<screen role="nodump"><userinput>umount $LFS/dev/pts +umount $LFS/{sys,proc,run,dev}</userinput></screen> <para> - At this point the essential programs and libraries have been created - and your current system is in a good state. Your system can now be - backed up for later reuse. In case of fatal failures in the subsequent - chapters, it often turns out that removing everything and starting over - (more carefully) is the best option to recover. Unfortunately, all the - temporary files will be removed, too. To avoid spending extra time to - redo something which has been built successfully, prepare a backup. + Make sure you have at least 1 GB free disk space (the source tarballs + will be included in the backup archive) on the filesystem containing + directory where you create the backup archive. </para> <para> - Make sure you have at least 1 GB free disk space (the source tarballs - will be included in the backup archive) in the home directory of user - <systemitem class="username">root</systemitem>. + Note that the instructions below specify the home directory of the host + system's <systemitem class="username">root</systemitem> user, which is + typically found on the root filesystem. </para> - <para>Before we make a backup, unmount the virtual file systems:</para> - -<screen role="nodump"><userinput>umount $LFS/dev{/pts,} -umount $LFS/{sys,proc,run}</userinput></screen> + <para> + Replace <envar>$HOME</envar> by a directory of your choice if you + do not want to have the backup stored in <systemitem + class="username">root</systemitem>'s home directory. + </para> <para> Create the backup archive by running the following command: @@ -107,21 +125,11 @@ umount $LFS/{sys,proc,run}</userinput></screen> Because the backup archive is compressed, it takes a relatively long time (over 10 minutes) even on a resonably fast system. </para> - - <para> - Also, ensure the <envar>LFS</envar> environment variable is set - for the root user. - </para> </note> <screen role="nodump"><userinput>cd $LFS tar -cJpf $HOME/lfs-temp-tools-&version;.tar.xz .</userinput></screen> - <para> - Replace <envar>$HOME</envar> by a directory of your choice if you - do not want to have the backup stored in <systemitem - class="username">root</systemitem>'s home directory. - </para> </sect2> <sect2> @@ -130,7 +138,7 @@ tar -cJpf $HOME/lfs-temp-tools-&version;.tar.xz .</userinput></screen> <para> In case some mistakes have been made and you need to start over, you can use this backup to restore the system and save some recovery time. - Since the sources are located under + Since the sources are located under <filename class="directory">$LFS</filename>, they are included in the backup archive as well, so they do not need to be downloaded again. After checking that <envar>$LFS</envar> is set properly, @@ -141,9 +149,9 @@ tar -cJpf $HOME/lfs-temp-tools-&version;.tar.xz .</userinput></screen> restore when they don't need to. --> <warning><para>The following commands are extremly dangerous. If - you run <command>rm -rf ./*</command> as the root user and you - do not change to the $LFS directory or the <envar>LFS</envar> - environment variable is not set for the root user, it will destroy + you run <command>rm -rf ./*</command> as the root user and you + do not change to the $LFS directory or the <envar>LFS</envar> + environment variable is not set for the root user, it will destroy your entire host system. YOU ARE WARNED.</para></warning> <screen role="nodump"><computeroutput>cd $LFS @@ -165,7 +173,7 @@ tar -xpf $HOME/lfs-temp-tools-&version;.tar.xz</computeroutput></screen> environment (see <xref linkend='ch-tools-chroot'/>) before continuing. </para> </important> - + </sect2> </sect1> diff --git a/chapter07/introduction.xml b/chapter07/introduction.xml index 2e57af238..2b0030d7b 100644 --- a/chapter07/introduction.xml +++ b/chapter07/introduction.xml @@ -11,11 +11,10 @@ <title>Introduction</title> <para>This chapter shows how to build the last missing bits of the temporary - system: the tools needed by the build machinery of various packages. - Now that all circular dependencies - have been resolved, we can use a <quote>chroot</quote> environment, - completely isolated the host operating system used for the build, except - for the running kernel.</para> + system: the tools needed by the build machinery of various packages. Now + that all circular dependencies have been resolved, a <quote>chroot</quote> + environment, completely isolated from the host operating system (except for + the running kernel), can be used for the build.</para> <para>For proper operation of the isolated environment, some communication with the running kernel must be established. This is done through the diff --git a/chapter07/kernfs.xml b/chapter07/kernfs.xml index a23b7e195..f34155d7b 100644 --- a/chapter07/kernfs.xml +++ b/chapter07/kernfs.xml @@ -104,7 +104,7 @@ mount -vt tmpfs tmpfs $LFS/run</userinput></screen> --> <para>In some host systems, <filename>/dev/shm</filename> is a symbolic link to <filename class="directory">/run/shm</filename>. - The /run tmpfs was mounted above so in this case only a + The /run tmpfs was mounted above so in this case only a directory needs to be created.</para> <screen><userinput>if [ -h $LFS/dev/shm ]; then diff --git a/chapter07/perl.xml b/chapter07/perl.xml index 93ffb9a39..c99745c0d 100644 --- a/chapter07/perl.xml +++ b/chapter07/perl.xml @@ -60,7 +60,7 @@ <varlistentry> <term><parameter>-des</parameter></term> <listitem> - <para>This is a combination of three options: -d uses defaults for + <para>This is a combination of three options: -d uses defaults for all items; -e ensures completion of all tasks; -s silences non-essential output.</para> </listitem> diff --git a/chapter08/attr.xml b/chapter08/attr.xml index 122781f27..a7a9bb426 100644 --- a/chapter08/attr.xml +++ b/chapter08/attr.xml @@ -53,7 +53,7 @@ <screen><userinput remap="make">make</userinput></screen> <para>The tests need to be run on a filesystem that supports extended - attributes such as the ext2, ext3, or ext4 filesystems. + attributes such as the ext2, ext3, or ext4 filesystems. To test the results, issue:</para> <screen><userinput remap="test">make check</userinput></screen> diff --git a/chapter08/automake.xml b/chapter08/automake.xml index 0ea77d729..92fae932b 100644 --- a/chapter08/automake.xml +++ b/chapter08/automake.xml @@ -59,7 +59,7 @@ <screen><userinput remap="test">make -j4 check</userinput></screen> <!-- - <para>The tests t/subobj.sh, t/deprecated-acinit.sh, and t/init.sh are known to + <para>The tests t/subobj.sh, t/deprecated-acinit.sh, and t/init.sh are known to fail in the LFS environment.</para> --> <para>Install the package:</para> diff --git a/chapter08/bc.xml b/chapter08/bc.xml index 2f29c1859..9678ddd54 100644 --- a/chapter08/bc.xml +++ b/chapter08/bc.xml @@ -23,7 +23,7 @@ <sect2 role="package"> <title/> - <para>The Bc package contains an arbitrary precision numeric processing + <para>The Bc package contains an arbitrary precision numeric processing language.</para> <segmentedlist> diff --git a/chapter08/binutils.xml b/chapter08/binutils.xml index c01ba44bd..113236674 100644 --- a/chapter08/binutils.xml +++ b/chapter08/binutils.xml @@ -74,7 +74,7 @@ find -name \*.1 -delete</userinput></screen> <screen><userinput remap="pre">sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in</userinput></screen> --> - <para>The Binutils documentation recommends building Binutils + <para>The Binutils documentation recommends building Binutils in a dedicated build directory:</para> <screen><userinput remap="pre">mkdir -v build @@ -297,7 +297,7 @@ cd build</userinput></screen> <varlistentry id="ld.gold"> <term><command>ld.gold</command></term> <listitem> - <para>A cut down version of ld that only supports the + <para>A cut down version of ld that only supports the elf object file format</para> <indexterm zone="ch-system-binutils ld.gold"> <primary sortas="b-ld.gold">ld.gold</primary> diff --git a/chapter08/chapter08.xml b/chapter08/chapter08.xml index e9cb2b2ce..7b638cc0d 100644 --- a/chapter08/chapter08.xml +++ b/chapter08/chapter08.xml @@ -66,7 +66,7 @@ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ninja.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="meson.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="coreutils.xml"/> - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="check.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="check.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="diffutils.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gawk.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="findutils.xml"/> diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml index cb8ec6d64..f5c4118ad 100644 --- a/chapter08/coreutils.xml +++ b/chapter08/coreutils.xml @@ -88,7 +88,7 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \ <varlistentry> <term><envar>FORCE_UNSAFE_CONFIGURE=1</envar></term> <listitem> - <para>This environment variable allows the package to be + <para>This environment variable allows the package to be built as the <systemitem class="username">root</systemitem> user. </para> </listitem> diff --git a/chapter08/dbus.xml b/chapter08/dbus.xml index 94d348d2d..271df146f 100644 --- a/chapter08/dbus.xml +++ b/chapter08/dbus.xml @@ -114,7 +114,7 @@ <seglistitem> <seg>dbus-cleanup-sockets, dbus-daemon, dbus-launch, dbus-monitor, - dbus-run-session, dbus-send, dbus-test-tool, + dbus-run-session, dbus-send, dbus-test-tool, dbus-update-activation-environment, and dbus-uuidgen</seg> <seg>libdbus-1.{a,so}</seg> <seg>/etc/dbus-1, /usr/include/dbus-1.0, /usr/lib/dbus-1.0, diff --git a/chapter08/eudev.xml b/chapter08/eudev.xml index aa86f5150..efaba9d30 100644 --- a/chapter08/eudev.xml +++ b/chapter08/eudev.xml @@ -24,7 +24,7 @@ <title/> <para>The Eudev package contains programs for dynamic creation of device - nodes.</para> + nodes.</para> <segmentedlist> <segtitle>&buildtime;</segtitle> @@ -76,7 +76,7 @@ mkdir -pv /etc/udev/rules.d</userinput></screen> <screen><userinput remap="install">make install</userinput></screen> - <para>Install some custom rules and support files useful in an LFS + <para>Install some custom rules and support files useful in an LFS environment:</para> <screen><userinput remap="install">tar -xvf ../&udev-lfs-version;.tar.xz diff --git a/chapter08/expect.xml b/chapter08/expect.xml index 1e56595fb..6503372c6 100644 --- a/chapter08/expect.xml +++ b/chapter08/expect.xml @@ -62,7 +62,7 @@ <varlistentry> <term><parameter>--with-tcl=/usr/lib</parameter></term> <listitem> - <para>This parameter is needed to tell + <para>This parameter is needed to tell <command>configure</command> where the <command>tclConfig.sh</command> script is located.</para> </listitem> diff --git a/chapter08/file.xml b/chapter08/file.xml index eb9f41a2b..8baf349b1 100644 --- a/chapter08/file.xml +++ b/chapter08/file.xml @@ -41,6 +41,10 @@ <sect2 role="installation"> <title>Installation of File</title> + <para>First, fix a few regressions in File:</para> + +<screen><userinput remap="pre">patch -Np1 -i ../file-&file-version;-upstream_fixes-1.patch</userinput></screen> + <para>Prepare File for compilation:</para> <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen> diff --git a/chapter08/gcc.xml b/chapter08/gcc.xml index bbe83a50d..fc8748fc3 100644 --- a/chapter08/gcc.xml +++ b/chapter08/gcc.xml @@ -115,7 +115,7 @@ cd build</userinput></screen> <para>Test the results as a non-privileged user, but do not stop at errors:</para> -<screen><userinput remap="test">chown -Rv tester . +<screen><userinput remap="test">chown -Rv tester . su tester -c "PATH=$PATH make -k check"</userinput></screen> <para>To receive a summary of the test suite results, run:</para> @@ -185,7 +185,7 @@ rm -rf /usr/lib/gcc/$(gcc -dumpmachine)/&gcc-version;/include-fixed/bits/</useri <screen><userinput remap="install">ln -sv gcc /usr/bin/cc</userinput></screen> --> <para>Add a compatibility symlink to enable building programs with - Link Time Optimization (LTO):</para> + Link Time Optimization (LTO):</para> <screen><userinput remap="install">ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/&gcc-version;/liblto_plugin.so \ /usr/lib/bfd-plugins/</userinput></screen> @@ -351,7 +351,7 @@ mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib</userinput></screen> libstdc++.{a,so}, libstdc++fs.a, libsupc++.a, libtsan.{a,so}, and libubsan.{a,so}</seg> - <seg>/usr/include/c++, /usr/lib/gcc, /usr/libexec/gcc, and + <seg>/usr/include/c++, /usr/lib/gcc, /usr/libexec/gcc, and /usr/share/gcc-&gcc-version;</seg> </seglistitem> </segmentedlist> diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 968b398e0..c0e89455c 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -46,7 +46,7 @@ <para>First, fix a security problem identified upstream:</para> <screen><userinput remap="pre">sed -e '/NOTIFY_REMOVED)/s/)/ \&\& data.attr != NULL)/' \ - -i sysdeps/unix/sysv/linux/mq_notify.c</userinput></screen> + -i sysdeps/unix/sysv/linux/mq_notify.c</userinput></screen> <para>Some of the Glibc programs use the non-FHS compliant <filename class="directory">/var/db</filename> directory to store @@ -55,7 +55,7 @@ <screen><userinput remap="pre">patch -Np1 -i ../&glibc-fhs-patch;</userinput></screen> - <para>The Glibc documentation recommends building Glibc + <para>The Glibc documentation recommends building Glibc in a dedicated build directory:</para> <screen><userinput remap="pre">mkdir -v build @@ -82,7 +82,7 @@ cd build</userinput></screen> <varlistentry> <term><parameter>--disable-werror</parameter></term> <listitem> - <para>This option disables the -Werror option passed to + <para>This option disables the -Werror option passed to GCC. This is necessary for running the test suite.</para> </listitem> </varlistentry> @@ -100,7 +100,7 @@ cd build</userinput></screen> <varlistentry> <term><parameter>--enable-stack-protector=strong</parameter></term> <listitem> - <para>This option increases system security by adding + <para>This option increases system security by adding extra code to check for buffer overflows, such as stack smashing attacks.</para> </listitem> @@ -150,18 +150,18 @@ esac</userinput></screen> <para>You may see some test failures. The Glibc test suite is somewhat dependent on the host system. A few failures out of - over 4200 tests can generally be ignored. This is a list of the + over 4200 tests can generally be ignored. This is a list of the most common issues seen for recent versions of LFS:</para> <itemizedlist> <listitem> - <para><emphasis>io/tst-lchmod</emphasis> + <para><emphasis>io/tst-lchmod</emphasis> is known to fail in the LFS chroot environment.</para> </listitem> <listitem> - <para><emphasis>misc/tst-ttyname</emphasis> + <para><emphasis>misc/tst-ttyname</emphasis> is known to fail in the LFS chroot environment.</para> </listitem> <!-- @@ -173,7 +173,7 @@ esac</userinput></screen> <listitem> <para>The <emphasis>rt/tst-cputimer{1,2,3}</emphasis> tests depend on the host system kernel. Kernels 4.14.91–4.14.96, - 4.19.13–4.19.18, and 4.20.0–4.20.5 are known to + 4.19.13–4.19.18, and 4.20.0–4.20.5 are known to cause these tests to fail. </para> </listitem> @@ -213,7 +213,7 @@ esac</userinput></screen> <screen><userinput remap="install">cp -v ../nscd/nscd.conf /etc/nscd.conf mkdir -pv /var/cache/nscd</userinput></screen> - <para revision="systemd">Install the systemd support files for + <para revision="systemd">Install the systemd support files for <command>nscd</command>:</para> <screen revision="systemd"><userinput remap="install">install -v -Dm644 ../nscd/nscd.tmpfiles /usr/lib/tmpfiles.d/nscd.conf @@ -287,13 +287,13 @@ localedef -i zh_TW -f UTF-8 zh_TW.UTF-8</userinput></screen> <filename>glibc-&glibc-version;/localedata/SUPPORTED</filename> file when you need them. For instance, the following two locales are needed for some tests later in this chapter:</para> - + <screen role="nodump"><userinput remap="locale-full">localedef -i POSIX -f UTF-8 C.UTF-8 2> /dev/null || true localedef -i ja_JP -f SHIFT_JIS ja_JP.SIJS 2> /dev/null || true</userinput></screen> - <note><para>Glibc now uses libidn2 when resolving internationalized + <note><para>Glibc now uses libidn2 when resolving internationalized domain names. This is a run time dependency. If this capability - is needed, the instructions for installing libidn2 are in the + is needed, the instructions for installing libidn2 are in the <ulink url="&blfs-book;general/libidn2.html">BLFS libidn2 page</ulink>. </para></note> @@ -479,7 +479,7 @@ mkdir -pv /etc/ld.so.conf.d</userinput></screen> <seglistitem> <seg>catchsegv, gencat, getconf, getent, iconv, iconvconfig, ldconfig, - ldd, lddlibc4, locale, localedef, makedb, mtrace, nscd, + ldd, lddlibc4, locale, localedef, makedb, mtrace, nscd, pcprofiledump, pldd, sln, sotruss, sprof, tzselect, xtrace, zdump, and zic</seg> <seg>ld-linux-x86-64.so.2, ld-linux.so.2, @@ -949,7 +949,6 @@ mkdir -pv /etc/ld.so.conf.d</userinput></screen> code for <quote>standard</quote> functions used in many different Unix utilities. These functions are now in <filename class="libraryfile">libc</filename></para> - <indexterm zone="ch-system-glibc libutil"> <primary sortas="c-libutil">libutil</primary> </indexterm> diff --git a/chapter08/gmp.xml b/chapter08/gmp.xml index 2419e2d02..0820f726c 100644 --- a/chapter08/gmp.xml +++ b/chapter08/gmp.xml @@ -53,7 +53,7 @@ <note> <para>The default settings of GMP produce libraries optimized for the host processor. If libraries suitable for processors less - capable than the host's CPU are desired, generic libraries can be + capable than the host's CPU are desired, generic libraries can be created by running the following: <screen role="nodump"><userinput>cp -v configfsf.guess config.guess @@ -100,7 +100,7 @@ make html</userinput></screen> <para>Test the results:</para> <screen><userinput remap="test">make check 2>&1 | tee gmp-check-log</userinput></screen> - + <caution><para>The code in gmp is highly optimized for the processor where it is built. Occasionally, the code that detects the processor misidentifies the system capabilities and there will be errors in the tests or other diff --git a/chapter08/grub.xml b/chapter08/grub.xml index 07be0e851..e9008c31a 100644 --- a/chapter08/grub.xml +++ b/chapter08/grub.xml @@ -106,11 +106,11 @@ mv -v /etc/bash_completion.d/grub /usr/share/bash-completion/completions</userin <seglistitem> <seg>grub-bios-setup, grub-editenv, grub-file, grub-fstest, - grub-glue-efi, grub-install, grub-kbdcomp, grub-macbless, + grub-glue-efi, grub-install, grub-kbdcomp, grub-macbless, grub-menulst2cfg, grub-mkconfig, grub-mkimage, grub-mklayout, grub-mknetdir, grub-mkpasswd-pbkdf2, grub-mkrelpath, grub-mkrescue, grub-mkstandalone, - grub-ofpathname, grub-probe, grub-reboot, grub-render-label, + grub-ofpathname, grub-probe, grub-reboot, grub-render-label, grub-script-check, grub-set-default, grub-sparc64-setup, and grub-syslinux2cfg</seg> diff --git a/chapter08/gzip.xml b/chapter08/gzip.xml index afbfa36a0..a20bcdd7a 100644 --- a/chapter08/gzip.xml +++ b/chapter08/gzip.xml @@ -66,7 +66,7 @@ <segtitle>Installed programs</segtitle> <seglistitem> - <seg>gunzip, gzexe, gzip, uncompress (hard link with gunzip), zcat, zcmp, + <seg>gunzip, gzexe, gzip, uncompress (hard link with gunzip), zcat, zcmp, zdiff, zegrep, zfgrep, zforce, zgrep, zless, zmore, and znew</seg> </seglistitem> </segmentedlist> diff --git a/chapter08/inetutils.xml b/chapter08/inetutils.xml index ad828f67d..8acb361d8 100644 --- a/chapter08/inetutils.xml +++ b/chapter08/inetutils.xml @@ -128,7 +128,7 @@ <segtitle>Installed programs</segtitle> <seglistitem> - <seg>dnsdomainname, ftp, ifconfig, hostname, ping, ping6, + <seg>dnsdomainname, ftp, ifconfig, hostname, ping, ping6, talk, telnet, tftp, and traceroute</seg> </seglistitem> </segmentedlist> diff --git a/chapter08/iproute2.xml b/chapter08/iproute2.xml index 9d6a0c264..e1b2d189e 100644 --- a/chapter08/iproute2.xml +++ b/chapter08/iproute2.xml @@ -43,8 +43,8 @@ <para>The <command>arpd</command> program included in this package will not be built since it is dependent on Berkeley DB, which is not installed in - LFS. However, a directory for <command>arpd</command> and a man page will still - be installed. Prevent this by running the commands below. + LFS. However, a directory for <command>arpd</command> and a man page will still + be installed. Prevent this by running the commands below. If the <command>arpd</command> binary is needed, instructions for compiling Berkeley DB can be found in the BLFS Book at <ulink url="&blfs-book;server/db.html"/>. @@ -53,7 +53,7 @@ <screen><userinput remap="pre">sed -i /ARPD/d Makefile rm -fv man/man8/arpd.8</userinput></screen> - <para>It is also necessary to disable building two modules that + <para>It is also necessary to disable building two modules that require <ulink url="&blfs-book;postlfs/iptables.html"/>.</para> <screen><userinput remap="pre">sed -i 's/.m_ipt.o//' tc/Makefile</userinput></screen> diff --git a/chapter08/kbd.xml b/chapter08/kbd.xml index a219102eb..911720129 100644 --- a/chapter08/kbd.xml +++ b/chapter08/kbd.xml @@ -116,7 +116,7 @@ cp -R -v docs/doc/* /usr/share/doc/kbd-&kbd-version;</userinput></screen> psfxtable), psfstriptable (link to psfxtable), psfxtable, <!--resizecons,--> setfont, setkeycodes, setleds, setmetamode, setvtrgb, showconsolefont, showkey, unicode_start, and unicode_stop</seg> - <seg>/usr/share/consolefonts, /usr/share/consoletrans, /usr/share/keymaps, + <seg>/usr/share/consolefonts, /usr/share/consoletrans, /usr/share/keymaps, /usr/share/doc/kbd-&kbd-version;, and /usr/share/unimaps</seg> </seglistitem> </segmentedlist> diff --git a/chapter08/kmod.xml b/chapter08/kmod.xml index f26c776a9..4288f31d9 100644 --- a/chapter08/kmod.xml +++ b/chapter08/kmod.xml @@ -91,7 +91,7 @@ ln -sfv kmod /usr/bin/lsmod</userinput></screen> <segtitle>Installed library</segtitle> <seglistitem> - <seg>depmod (link to kmod), insmod (link to kmod), kmod, + <seg>depmod (link to kmod), insmod (link to kmod), kmod, lsmod (link to kmod), modinfo (link to kmod), modprobe (link to kmod), and rmmod (link to kmod)</seg> <seg>libkmod.so</seg> diff --git a/chapter08/libelf.xml b/chapter08/libelf.xml index 3465531a1..9434a3996 100644 --- a/chapter08/libelf.xml +++ b/chapter08/libelf.xml @@ -55,7 +55,7 @@ <screen><userinput remap="make">make</userinput></screen> <para>To test the results, issue:</para> - + <screen><userinput remap="test">make check</userinput></screen> <!-- <para>One test, run-elfclassify.sh, is known to fail.</para>--> diff --git a/chapter08/libffi.xml b/chapter08/libffi.xml index 1c93a7df4..11539b2cf 100644 --- a/chapter08/libffi.xml +++ b/chapter08/libffi.xml @@ -66,9 +66,9 @@ <para>Ensure GCC optimizes for the current system. If this is not specified, the system is guessed and the code generated may not be correct for some systems. If the generated code - will be copied from the native system to a less capable - system, use the less capable system as a parameter. For details - about alternative system types, see <ulink + will be copied from the native system to a less capable + system, use the less capable system as a parameter. For details + about alternative system types, see <ulink url='https://gcc.gnu.org/onlinedocs/gcc-&gcc-version;/gcc/x86-Options.html'> the x86 options in the GCC manual</ulink>.</para> </listitem> diff --git a/chapter08/libtool.xml b/chapter08/libtool.xml index 711adac05..2082c6cf9 100644 --- a/chapter08/libtool.xml +++ b/chapter08/libtool.xml @@ -61,7 +61,7 @@ percent.</para></note> <para>Five tests are known to fail in the LFS build environment due - to a circular dependency, but all tests pass if rechecked after + to a circular dependency, but all tests pass if rechecked after automake is installed.</para> <para>Install the package:</para> diff --git a/chapter08/man-db.xml b/chapter08/man-db.xml index 8afadffaf..b60e417e8 100644 --- a/chapter08/man-db.xml +++ b/chapter08/man-db.xml @@ -100,7 +100,7 @@ <varlistentry revision="sysv"> <term><parameter>--with-systemd...</parameter></term> <listitem> - <para>These parameters prevent installing unneeded systemd + <para>These parameters prevent installing unneeded systemd directories and files.</para> </listitem> </varlistentry> diff --git a/chapter08/meson.xml b/chapter08/meson.xml index 692513b06..60838af94 100644 --- a/chapter08/meson.xml +++ b/chapter08/meson.xml @@ -69,7 +69,7 @@ install -vDm644 data/shell-completions/zsh/_meson /usr/share/zsh/site-functions/ <variablelist> <title>The meaning of the install parameters:</title> - + <varlistentry> <term><parameter>--root=dest</parameter></term> <listitem> diff --git a/chapter08/ncurses.xml b/chapter08/ncurses.xml index 3fbca0c3c..3f2247586 100644 --- a/chapter08/ncurses.xml +++ b/chapter08/ncurses.xml @@ -132,7 +132,7 @@ cp -v -R doc/* /usr/share/doc/ncurses-&ncurses-version;</userinput></screen> <para>The instructions above don't create non-wide-character Ncurses libraries since no package installed by compiling from sources would link against them at runtime. However, the only known binary-only - applications that link against non-wide-character Ncurses libraries + applications that link against non-wide-character Ncurses libraries require version 5. If you must have such libraries because of some binary-only application or to be compliant with LSB, build the package again with the following commands:</para> @@ -143,7 +143,7 @@ cp -v -R doc/* /usr/share/doc/ncurses-&ncurses-version;</userinput></screen> --without-normal \ --without-debug \ --without-cxx-binding \ - --with-abi-version=5 + --with-abi-version=5 make sources libs cp -av lib/lib*.so.5* /usr/lib</userinput></screen> </note> @@ -160,27 +160,27 @@ cp -av lib/lib*.so.5* /usr/lib</userinput></screen> <seglistitem> <seg> - captoinfo (link to tic), - clear, - infocmp, + captoinfo (link to tic), + clear, + infocmp, infotocap (link to tic), - ncursesw6-config, - reset (link to tset), - tabs, - tic, - toe, - tput, and + ncursesw6-config, + reset (link to tset), + tabs, + tic, + toe, + tput, and tset </seg> <seg> libcursesw.so (symlink and linker script to libncursesw.so), - libformw.so, - libmenuw.so, + libformw.so, + libmenuw.so, libncursesw.so, libpanelw.so, and their non-wide-character counterparts without "w" in the library names.</seg> <seg> - /usr/share/tabset, + /usr/share/tabset, /usr/share/terminfo, and /usr/share/doc/ncurses-&ncurses-version; </seg> diff --git a/chapter08/ninja.xml b/chapter08/ninja.xml index 0fe0ccb73..4f3a25e88 100644 --- a/chapter08/ninja.xml +++ b/chapter08/ninja.xml @@ -50,21 +50,21 @@ <title>Installation of Ninja</title> <para>When run, ninja normally runs a maximum number of processes - in parallel. By default this is the number of cores on the system + in parallel. By default this is the number of cores on the system plus two. In some cases this can overheat a CPU or run a system out of memory. If run from the command line, passing a -jN parameter will limit the number of parallel processes, but some packages embed the execution of ninja and do not pass a -j parameter.</para> <para>Using the <emphasis>optional</emphasis> procedure below allows a user to - limit the number of parallel processes via an environment variable, + limit the number of parallel processes via an environment variable, NINJAJOBS. <emphasis role="bold">For example</emphasis>, setting: <screen>export NINJAJOBS=4</screen> will limit ninja to four parallel processes.</para> - <para>If desired, add the capability to use the environment variable + <para>If desired, add the capability to use the environment variable NINJAJOBS by running:</para> <screen><userinput remap="pre">sed -i '/int Guess/a \ diff --git a/chapter08/perl.xml b/chapter08/perl.xml index 0bb32c344..d22614a56 100644 --- a/chapter08/perl.xml +++ b/chapter08/perl.xml @@ -46,7 +46,7 @@ <screen><userinput remap="pre">patch -Np1 -i ../&perl-fix-patch;</userinput></screen> - <para>This version of Perl now builds the Compress::Raw::Zlib and + <para>This version of Perl now builds the Compress::Raw::Zlib and Compress::Raw::BZip2 modules. By default Perl will use an internal copy of the sources for the build. Issue the following command so that Perl will use the libraries @@ -89,7 +89,7 @@ export BUILD_BZIP2=0</userinput></screen> <varlistentry> <term><parameter>-Dpager="/usr/bin/less -isR"</parameter></term> <listitem> - <para>This ensures that <userinput>less</userinput> is used instead + <para>This ensures that <userinput>less</userinput> is used instead of <userinput>more</userinput>.</para> </listitem> </varlistentry> diff --git a/chapter08/pkgmgt.xml b/chapter08/pkgmgt.xml index c5fcaa4be..3814b02b0 100644 --- a/chapter08/pkgmgt.xml +++ b/chapter08/pkgmgt.xml @@ -111,7 +111,7 @@ (replace <replaceable>libfoo</replaceable> with the name of the library):</para> -<screen><userinput role="nodump">grep -l -e '<replaceable>libfoo</replaceable>.*deleted' /proc/*/maps | +<screen role="nodump"><userinput>grep -l -e '<replaceable>libfoo</replaceable>.*deleted' /proc/*/maps | tr -cd 0-9\\n | xargs -r ps u</userinput></screen> <para> diff --git a/chapter08/procps.xml b/chapter08/procps.xml index 8d49b60b4..dfdb949ab 100644 --- a/chapter08/procps.xml +++ b/chapter08/procps.xml @@ -28,7 +28,7 @@ <!-- TODO This note will probably not be needed at the next revision. --> <note> <para>This package extracts to the directory - <filename class="directory">procps-3.3.17</filename>, + <filename class="directory">procps-3.3.17</filename>, not the expected <filename class="directory">procps-ng-3.3.17</filename>.</para> </note> @@ -93,7 +93,7 @@ make check</userinput></screen> <para>Five tests related to pkill are known to fail due to a problem with tests that were not updated.</para> - + <para>Install the package:</para> <screen><userinput remap="install">make install</userinput></screen> diff --git a/chapter08/python.xml b/chapter08/python.xml index ddcaa17d2..a2c4a5bdd 100644 --- a/chapter08/python.xml +++ b/chapter08/python.xml @@ -103,7 +103,7 @@ <para>If desired, install the preformatted documentation:</para> -<screen><userinput remap="install">install -v -dm755 /usr/share/doc/python-&python-version;/html +<screen><userinput remap="install">install -v -dm755 /usr/share/doc/python-&python-version;/html tar --strip-components=1 \ --no-same-owner \ @@ -117,9 +117,9 @@ tar --strip-components=1 \ <varlistentry> <term><option>--no-same-owner</option> and <option>--no-same-permissions</option></term> <listitem> - <para>Ensure the installed files have the correct ownership and + <para>Ensure the installed files have the correct ownership and permissions. Without these options, using <application>tar</application> - will install the package files with the upstream creator's values. + will install the package files with the upstream creator's values. </para> </listitem> </varlistentry> @@ -144,7 +144,7 @@ tar --strip-components=1 \ libpython&python-minor;.so and libpython3.so </seg> <seg> - /usr/include/python&python-minor;, + /usr/include/python&python-minor;, /usr/lib/python3, and /usr/share/doc/python-&python-version; </seg> @@ -162,7 +162,7 @@ tar --strip-components=1 \ <para> is a <application>Python</application> program that reads <application>Python 2.x</application> source code and applies a - series of fixes to transform it into + series of fixes to transform it into valid <application>Python 3.x</application> code </para> <indexterm zone="ch-system-Python"> diff --git a/chapter08/revisedchroot.xml b/chapter08/revisedchroot.xml index 0c16ae622..b1317c92d 100644 --- a/chapter08/revisedchroot.xml +++ b/chapter08/revisedchroot.xml @@ -15,7 +15,7 @@ <screen><userinput>rm -rf /tmp/*</userinput></screen> <para>Now log out and reenter the chroot environment with an updated - chroot command. From now on, use this updated chroot command any time + chroot command. From now on, use this updated chroot command any time you need to reenter the chroot environment after exiting:</para> <screen role="nodump"><userinput>logout @@ -55,7 +55,7 @@ chroot "$LFS" /usr/bin/env -i \ <screen><userinput>find /usr -depth -name $(uname -m)-lfs-linux-gnu\* | xargs rm -rf</userinput></screen> - <para>Finally, remove the temporary 'tester' user account created at the + <para>Finally, remove the temporary 'tester' user account created at the beginning of the previous chapter.</para> <screen><userinput>userdel -r tester</userinput></screen> diff --git a/chapter08/stripping.xml b/chapter08/stripping.xml index 6841cd830..7f775b3d8 100644 --- a/chapter08/stripping.xml +++ b/chapter08/stripping.xml @@ -10,7 +10,7 @@ <title>Stripping</title> - <para>This section is optional. If the intended user is not a + <para>This section is optional. If the intended user is not a programmer and does not plan to do any debugging on the system software, the system size can be decreased by about 2 GB by removing the debugging symbols from binaries and @@ -24,9 +24,9 @@ backup of the LFS system in its current state.</para> <para>The debugging symbols for selected libraries are placed - in separate files. This debugging information is needed if running - regression tests that use <ulink - url='&blfs-book;/general/valgrind.html'>valgrind</ulink> or <ulink + in separate files. This debugging information is needed if running + regression tests that use <ulink + url='&blfs-book;/general/valgrind.html'>valgrind</ulink> or <ulink url='&blfs-book;/general/gdb.html'>gdb</ulink> later in BLFS. </para> @@ -41,7 +41,7 @@ rationale to use the <command>install</command> command here.</para> <note><para>The ELF loader's name is ld-linux-x86-64.so.2 on 64-bit systems - and ld-linux.so.2 on 32-bit systems. The contruct below selects the + and ld-linux.so.2 on 32-bit systems. The contruct below selects the correct name for the current architecture.</para></note> <!-- also of interest are libgfortan, libgo, libgomp, and libobjc from GCC --> @@ -50,10 +50,10 @@ <screen><userinput>save_usrlib="$(cd /usr/lib; ls ld-linux*) libc.so.6 libthread_db.so.1 - libquadmath.so.&libquadmath-version; + libquadmath.so.&libquadmath-version; libstdc++.so.&libstdcpp-version; - libitm.so.&libitm-version; - libatomic.so.&libatomic-version;" + libitm.so.&libitm-version; + libatomic.so.&libatomic-version;" cd /usr/lib @@ -93,9 +93,9 @@ for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg) \ $(find /usr/lib -type f -name \*.a) \ $(find /usr/{bin,sbin,libexec} -type f); do case "$online_usrbin $online_usrlib $save_usrlib" in - *$(basename $i)* ) + *$(basename $i)* ) ;; - * ) strip --strip-unneeded $i + * ) strip --strip-unneeded $i ;; esac done diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml index 67b27b8d8..f003a1c47 100644 --- a/chapter08/systemd.xml +++ b/chapter08/systemd.xml @@ -205,7 +205,7 @@ meson --prefix=/usr \ use a network configuration other than what is provided by systemd-networkd:</para> <!-- Observed halting startup with dhcpcd handling the primary NIC --> - + <screen><userinput remap="adjust">systemctl disable systemd-time-wait-sync.service</userinput></screen> <!-- dev: 50-pid-max.conf is not removed in BLFS, so I commented the following out. @@ -213,7 +213,7 @@ meson --prefix=/usr \ <!-- <para>Prevent systemd from resetting the maximum PID value which causes some problems with packages and units in BLFS:</para> - + <screen><userinput remap="adjust">rm -f /usr/lib/sysctl.d/50-pid-max.conf</userinput></screen> --> @@ -251,8 +251,8 @@ meson --prefix=/usr \ <seg>/etc/binfmt.d, /etc/init.d, /etc/kernel, /etc/modules-load.d, /etc/sysctl.d, /etc/systemd, /etc/tmpfiles.d, /etc/udev, /etc/xdg/systemd, /usr/lib/systemd, /usr/lib/udev, /usr/include/systemd, - /usr/lib/binfmt.d, /usr/lib/environment.d, /usr/lib/kernel, - /usr/lib/modules-load.d, /usr/lib/sysctl.d, /usr/lib/systemd, + /usr/lib/binfmt.d, /usr/lib/environment.d, /usr/lib/kernel, + /usr/lib/modules-load.d, /usr/lib/sysctl.d, /usr/lib/systemd, /usr/lib/tmpfiles.d, /usr/share/doc/systemd-&systemd-version;, /usr/share/factory, /usr/share/systemd, /var/lib/systemd, and /var/log/journal</seg> @@ -323,7 +323,7 @@ meson --prefix=/usr \ <term><command>init</command></term> <listitem> <para>Is the first process to be started when the kernel has initialized - the hardware which takes over the boot process and starts all + the hardware which takes over the boot process and starts all processes according to its configuration files. In this case, it starts systemd</para> <indexterm zone="ch-system-systemd init"> @@ -389,7 +389,7 @@ meson --prefix=/usr \ <varlistentry id="networkctl"> <term><command>networkctl</command></term> <listitem> - <para>Is used to introspect and configure the state of the network + <para>Is used to introspect and configure the state of the network links configured by systemd-networkd</para> <indexterm zone="ch-system-systemd networkctl"> <primary sortas="b-networkctl">networkctl</primary> @@ -477,7 +477,7 @@ meson --prefix=/usr \ <varlistentry id="shutdown"> <term><command>shutdown</command></term> <listitem> - <para>Brings the system down in a safe and secure manner, signaling + <para>Brings the system down in a safe and secure manner, signaling all processes and notifying all logged-in users</para> <indexterm zone="ch-system-systemd shutdown"> <primary sortas="b-shutdown">shutdown</primary> @@ -774,7 +774,7 @@ meson --prefix=/usr \ <varlistentry id="systemd-tty-ask-password-agent"> <term><command>systemd-tty-ask-password-agent</command></term> <listitem> - <para>Is used to list and/or process pending systemd password + <para>Is used to list and/or process pending systemd password requests</para> <indexterm zone="ch-system-systemd systemd-tty-ask-password-agent"> <primary sortas="b-systemd-tty-ask-password-agent">systemd-tty-ask-password-agent</primary> @@ -807,9 +807,9 @@ meson --prefix=/usr \ <varlistentry id="udevadm"> <term><command>udevadm</command></term> <listitem> - <para>Is a generic udev administration tool which controls the udevd - daemon, provides info from the Udev hardware database, monitors - uevents, waits for uevents to finish, tests udev configuration, and + <para>Is a generic udev administration tool which controls the udevd + daemon, provides info from the Udev hardware database, monitors + uevents, waits for uevents to finish, tests udev configuration, and triggers uevents for a given device</para> <indexterm zone="ch-system-systemd udevadm"> <primary sortas="b-udevadm">udevadm</primary> diff --git a/chapter08/sysvinit.xml b/chapter08/sysvinit.xml index 0a13f78e1..0d6914a45 100644 --- a/chapter08/sysvinit.xml +++ b/chapter08/sysvinit.xml @@ -91,7 +91,7 @@ <segtitle>Installed programs</segtitle> <seglistitem> - <seg>bootlogd, fstab-decode, halt, init, killall5, + <seg>bootlogd, fstab-decode, halt, init, killall5, poweroff (link to halt), reboot (link to halt), runlevel, shutdown, and telinit (link to init)</seg> </seglistitem> diff --git a/chapter08/tcl.xml b/chapter08/tcl.xml index 9f0a7401c..facdfd518 100644 --- a/chapter08/tcl.xml +++ b/chapter08/tcl.xml @@ -51,7 +51,7 @@ most important tools are working properly.</para> <!-- <para>Note that the Tcl package used here is a minimal version needed - to run the LFS tests. For the full package, see the + to run the LFS tests. For the full package, see the <ulink url='&blfs-book;general/tcl.html'>BLFS Tcl procedures</ulink>.</para>--> <para>First, unpack the documentation by issuing the following command:</para> @@ -140,10 +140,16 @@ unset SRCDIR</userinput></screen> <screen><userinput remap="install">ln -sfv tclsh&tcl-major-version; /usr/bin/tclsh</userinput></screen> - <para>Finally, rename a man page that conflicts with a Perl man page:</para> + <para>Rename a man page that conflicts with a Perl man page:</para> <screen><userinput remap="install">mv /usr/share/man/man3/{Thread,Tcl_Thread}.3</userinput></screen> + <para>If you downloaded the optional documentation, install it by issuing + the following commands:</para> + + <screen><userinput remap="install">mkdir -v -p /usr/share/doc/tcl-&tcl-version; +cp -v -r ../html/* /usr/share/doc/tcl-&tcl-version;</userinput></screen> + </sect2> <sect2 id="contents-tcl" role="content"> @@ -155,11 +161,11 @@ unset SRCDIR</userinput></screen> <seglistitem> <seg> - tclsh (link to tclsh&tcl-major-version;) and + tclsh (link to tclsh&tcl-major-version;) and tclsh&tcl-major-version; </seg> <seg> - libtcl&tcl-major-version;.so and + libtcl&tcl-major-version;.so and libtclstub&tcl-major-version;.a </seg> </seglistitem> diff --git a/chapter08/texinfo.xml b/chapter08/texinfo.xml index 2543cd14d..42e81feae 100644 --- a/chapter08/texinfo.xml +++ b/chapter08/texinfo.xml @@ -196,7 +196,7 @@ popd</userinput></screen> <varlistentry id="texi2any"> <term><command>texi2any</command></term> <listitem> - <para>Translate Texinfo source documentation to + <para>Translate Texinfo source documentation to various other formats</para> <indexterm zone="ch-system-texinfo texi2any"> <primary sortas="b-texiany">texi2any</primary> diff --git a/chapter08/util-linux.xml b/chapter08/util-linux.xml index bcc3c98bd..341310556 100644 --- a/chapter08/util-linux.xml +++ b/chapter08/util-linux.xml @@ -75,7 +75,7 @@ runstatedir=/run</userinput></screen> <para>The --disable and --without options prevent warnings about - building components that require packages not in LFS or are + building components that require packages not in LFS or are inconsistent with programs installed by other packages.</para> <para>Compile the package:</para> @@ -138,14 +138,14 @@ su tester -c "make -k check"</userinput></screen> swapoff (link to swapon), swapon, switch_root, taskset, ul, umount, uname26, unshare, utmpdump, uuidd, uuidgen, uuidparse, wall, wdctl, whereis, wipefs, x86_64, and zramctl</seg> - <seg>libblkid.so, libfdisk.so, libmount.so, + <seg>libblkid.so, libfdisk.so, libmount.so, libsmartcols.so, and libuuid.so</seg> - <seg>/usr/include/blkid, - /usr/include/libfdisk, - /usr/include/libmount, - /usr/include/libsmartcols, - /usr/include/uuid, - /usr/share/doc/util-linux-&util-linux-version;, + <seg>/usr/include/blkid, + /usr/include/libfdisk, + /usr/include/libmount, + /usr/include/libsmartcols, + /usr/include/uuid, + /usr/share/doc/util-linux-&util-linux-version;, and /var/lib/hwclock</seg> </seglistitem> </segmentedlist> @@ -592,8 +592,8 @@ su tester -c "make -k check"</userinput></screen> <varlistentry id="last"> <term><command>last</command></term> <listitem> - <para>Shows which users last logged in (and out), searching back - through the <filename>/var/log/wtmp</filename> file; it also shows + <para>Shows which users last logged in (and out), searching back + through the <filename>/var/log/wtmp</filename> file; it also shows system boots, shutdowns, and run-level changes</para> <indexterm zone="ch-system-util-linux last"> <primary sortas="b-last">last</primary> @@ -604,7 +604,7 @@ su tester -c "make -k check"</userinput></screen> <varlistentry id="lastb"> <term><command>lastb</command></term> <listitem> - <para>Shows the failed login attempts, as logged in + <para>Shows the failed login attempts, as logged in <filename>/var/log/btmp</filename></para> <indexterm zone="ch-system-util-linux lastb"> <primary sortas="b-lastb">lastb</primary> @@ -759,7 +759,7 @@ su tester -c "make -k check"</userinput></screen> <varlistentry id="mesg"> <term><command>mesg</command></term> <listitem> - <para>Controls whether other users can send messages to the current + <para>Controls whether other users can send messages to the current user's terminal</para> <indexterm zone="ch-system-util-linux mesg"> <primary sortas="b-mesg">mesg</primary> @@ -1260,7 +1260,7 @@ su tester -c "make -k check"</userinput></screen> <varlistentry id="zramctl"> <term><command>zramctl</command></term> <listitem> - <para>A program to set up and control zram (compressed ram disk) + <para>A program to set up and control zram (compressed ram disk) devices</para> <indexterm zone="ch-system-util-linux zramctl"> <primary sortas="b-zramctl">zramctl</primary> diff --git a/chapter08/vim.xml b/chapter08/vim.xml index 4d06d5a08..11b5c2565 100644 --- a/chapter08/vim.xml +++ b/chapter08/vim.xml @@ -62,8 +62,8 @@ <screen><userinput remap="make">make</userinput></screen> - <para>To prepare the tests, ensure that user - <systemitem class="username">tester</systemitem> can write + <para>To prepare the tests, ensure that user + <systemitem class="username">tester</systemitem> can write to the source tree:</para> <screen><userinput remap="test">chown -Rv tester .</userinput></screen> @@ -133,7 +133,7 @@ done</userinput></screen> " Ensure defaults are set before customizing settings, not after source $VIMRUNTIME/defaults.vim -let skip_defaults_vim=1 +let skip_defaults_vim=1 set nocompatible set backspace=2 diff --git a/chapter08/xz.xml b/chapter08/xz.xml index 7f723482a..e4c43131c 100644 --- a/chapter08/xz.xml +++ b/chapter08/xz.xml @@ -74,34 +74,34 @@ <seglistitem> <seg> - lzcat (link to xz), - lzcmp (link to xzdiff), - lzdiff (link to xzdiff), - lzegrep (link to xzgrep), + lzcat (link to xz), + lzcmp (link to xzdiff), + lzdiff (link to xzdiff), + lzegrep (link to xzgrep), lzfgrep (link to xzgrep), - lzgrep (link to xzgrep), - lzless (link to xzless), + lzgrep (link to xzgrep), + lzless (link to xzless), lzma (link to xz), - lzmadec, - lzmainfo, + lzmadec, + lzmainfo, lzmore (link to xzmore), - unlzma (link to xz), - unxz (link to xz), - xz, + unlzma (link to xz), + unxz (link to xz), + xz, xzcat (link to xz), - xzcmp (link to xzdiff), - xzdec, - xzdiff, + xzcmp (link to xzdiff), + xzdec, + xzdiff, xzegrep (link to xzgrep), - xzfgrep (link to xzgrep), - xzgrep, - xzless, and + xzfgrep (link to xzgrep), + xzgrep, + xzless, and xzmore</seg> <seg> liblzma.so </seg> <seg> - /usr/include/lzma and + /usr/include/lzma and /usr/share/doc/xz-&xz-version; </seg> </seglistitem> diff --git a/chapter08/zstd.xml b/chapter08/zstd.xml index 1d0c603f6..881aba286 100644 --- a/chapter08/zstd.xml +++ b/chapter08/zstd.xml @@ -73,10 +73,10 @@ <segtitle>Installed library</segtitle> <seglistitem> - <seg>zstd, - zstdcat (link to zstd), - zstdgrep, - zstdless, + <seg>zstd, + zstdcat (link to zstd), + zstdgrep, + zstdless, zstdmt (link to zstd), and unzstd (link to zstd) </seg> diff --git a/chapter09/bootscripts.xml b/chapter09/bootscripts.xml index 57c6377ff..cb88a9fd8 100644 --- a/chapter09/bootscripts.xml +++ b/chapter09/bootscripts.xml @@ -24,7 +24,7 @@ <title/> <para>The LFS-Bootscripts package contains a set of scripts to start/stop - the LFS system at bootup/shutdown. + the LFS system at bootup/shutdown. The configuration files and procedures needed to customize the boot process are described in the following sections.</para> diff --git a/chapter09/consoled.xml b/chapter09/consoled.xml index 76d304d44..1425f0410 100644 --- a/chapter09/consoled.xml +++ b/chapter09/consoled.xml @@ -25,7 +25,7 @@ language-specific HOWTOs can also help with this, see <ulink url="http://www.tldp.org/HOWTO/HOWTO-INDEX/other-lang.html"/>. Examine the output of <command>localectl list-keymaps</command> for a list of - valid console keymaps. Look in the + valid console keymaps. Look in the <filename class="directory">/usr/share/consolefonts</filename> directory for valid screen fonts.</para> diff --git a/chapter09/introduction.xml b/chapter09/introduction.xml index 875003f14..7bd2219fc 100644 --- a/chapter09/introduction.xml +++ b/chapter09/introduction.xml @@ -29,7 +29,7 @@ additional scripts that perform the tasks required to initialize the system.</para> - <para>The <command>init</command> program is controlled by the + <para>The <command>init</command> program is controlled by the <filename>/etc/inittab</filename> file and is organized into run levels that can be run by the user:</para> @@ -61,10 +61,10 @@ <itemizedlist> <listitem> - <para>May be slower to boot. A medium speed base LFS system - takes 8-12 seconds where the boot time is measured from the - first kernel message to the login prompt. Network - connectivity is typically established about 2 seconds + <para>May be slower to boot. A medium speed base LFS system + takes 8-12 seconds where the boot time is measured from the + first kernel message to the login prompt. Network + connectivity is typically established about 2 seconds after the login prompt.</para> </listitem> diff --git a/chapter09/locale.xml b/chapter09/locale.xml index 73de29bd7..65cffc570 100644 --- a/chapter09/locale.xml +++ b/chapter09/locale.xml @@ -80,7 +80,7 @@ LC_ALL=<locale name> locale int_prefix</userinput></screen> encoding used by the locale, the local currency, and the prefix to dial before the telephone number in order to get into the country. If any of the commands above fail with a message similar to the one shown below, this means - that your locale was either not installed in Chapter 8 or is not + that your locale was either not installed in Chapter 8 or is not supported by the default installation of Glibc.</para> <screen><computeroutput>locale: Cannot set LC_* to default locale: No such file or directory</computeroutput></screen> @@ -142,7 +142,7 @@ EOF</userinput></screen> substitutes them with question marks in that locale. Also, an attempt to send mail with such characters from Mutt or Pine results in non-RFC-conforming messages being sent (the charset in the outgoing mail is indicated as <quote>unknown - 8-bit</quote>). It's suggested that you use the <quote>C</quote> locale only + 8-bit</quote>). It's suggested that you use the <quote>C</quote> locale only if you are certain that you will never need 8-bit characters.</para> <!-- diff --git a/chapter09/network.xml b/chapter09/network.xml index 45cd1d438..52eb35c18 100644 --- a/chapter09/network.xml +++ b/chapter09/network.xml @@ -31,7 +31,7 @@ will assign network card interface names based on system physical characteristics such as enp2s1. If you are not sure what your interface name is, you can always run <command>ip link</command> or <command>ls - /sys/class/net</command> after you have booted your system. + /sys/class/net</command> after you have booted your system. </para></note> <para>The following command creates a sample file for the @@ -157,21 +157,21 @@ EOF</userinput></screen> <indexterm zone="ch-config-hosts"> <primary sortas="e-/etc/hosts">/etc/hosts</primary> </indexterm> - + <indexterm zone="ch-config-hosts"> <primary sortas="d-localnet">localnet</primary> <secondary>/etc/hosts</secondary> </indexterm> - + <indexterm zone="ch-config-hosts"> <primary sortas="d-network">network</primary> <secondary>/etc/hosts</secondary> </indexterm> - + <para>Decide on the IP address, fully-qualified domain name (FQDN), and possible aliases for use in the <filename>/etc/hosts</filename> file. The syntax is:</para> - + <screen><literal>IP_address myhost.example.org aliases</literal></screen> <para>Unless the computer is to be visible to the Internet (i.e., there is @@ -186,13 +186,13 @@ EOF</userinput></screen> <para>x can be any number in the range 16-31. y can be any number in the range 0-255.</para> - + <para>A valid private IP address could be 192.168.1.1. A valid FQDN for this IP could be lfs.example.org.</para> - + <para>Even if not using a network card, a valid FQDN is still required. This is necessary for certain programs to operate correctly.</para> - + <para>Create the <filename>/etc/hosts</filename> file by running:</para> <screen><userinput>cat > /etc/hosts << "EOF" @@ -209,7 +209,7 @@ ff02::2 ip6-allrouters EOF</userinput></screen> <para>The <replaceable><192.168.1.1></replaceable>, - <replaceable><FQDN></replaceable>, and + <replaceable><FQDN></replaceable>, and <replaceable><HOSTNAME></replaceable> values need to be changed for specific uses or requirements (if assigned an IP address by a network/system administrator and the machine will be connected to an diff --git a/chapter09/networkd.xml b/chapter09/networkd.xml index 49d4031a0..9090596c0 100644 --- a/chapter09/networkd.xml +++ b/chapter09/networkd.xml @@ -38,7 +38,7 @@ <filename class="extension">.link</filename>, <filename class="extension">.netdev</filename> and <filename class="extension">.network</filename> files. For detailed - descriptions and example contents of these configuration files, consult + descriptions and example contents of these configuration files, consult the <filename>systemd-link(5)</filename>, <filename>systemd-netdev(5)</filename> and <filename>systemd-network(5)</filename> manual pages.</para> @@ -57,7 +57,7 @@ For most systems, there is only one network interface for each type of connection. For example, the classic interface name for a wired connection is eth0. A wireless connection - will usually have the name wifi0 or wlan0. + will usually have the name wifi0 or wlan0. </para> <para> @@ -75,8 +75,8 @@ <listitem> <para> Create a manual naming scheme, for example by naming the - interfaces something like "internet0", "dmz0", or "lan0". - To do that, create .link files in /etc/systemd/network/ that + interfaces something like "internet0", "dmz0", or "lan0". + To do that, create .link files in /etc/systemd/network/ that select an explicit name or a better naming scheme for your network interfaces. For example: </para> @@ -91,13 +91,13 @@ Name=ether0</literal> EOF</userinput></screen> <para> - See the man page systemd.link(5) for more information. + See the man page systemd.link(5) for more information. </para> </listitem> <listitem> <para> - In /boot/grub/grub.cfg, pass the option net.ifnames=0 on the + In /boot/grub/grub.cfg, pass the option net.ifnames=0 on the kernel command line. </para> </listitem> @@ -209,7 +209,7 @@ EOF</userinput></screen> with the IP address of the DNS server most appropriate for your setup. There will often be more than one entry (requirements demand secondary servers for fallback capability). If you only need or want one DNS server, - remove the second <emphasis>nameserver</emphasis> line from the file. + remove the second <emphasis>nameserver</emphasis> line from the file. The IP address may also be a router on the local network. Another option is to use the Google Public DNS service using the IP addresses below as nameservers.</para> @@ -252,12 +252,12 @@ EOF</userinput></screen> <indexterm zone="ch-config-hosts"> <primary sortas="e-/etc/hosts">/etc/hosts</primary> </indexterm> - + <indexterm zone="ch-config-hosts"> <primary sortas="d-localnet">localnet</primary> <secondary>/etc/hosts</secondary> </indexterm> - + <indexterm zone="ch-config-hosts"> <primary sortas="d-network">network</primary> <secondary>/etc/hosts</secondary> diff --git a/chapter09/profile.xml b/chapter09/profile.xml index ec39d3a30..e47153830 100644 --- a/chapter09/profile.xml +++ b/chapter09/profile.xml @@ -103,7 +103,7 @@ LC_ALL=<locale name> locale int_prefix</userinput></screen> encoding used by the locale, the local currency, and the prefix to dial before the telephone number in order to get into the country. If any of the commands above fail with a message similar to the one shown below, this means - that your locale was either not installed in <xref linkend="ch-system-glibc"/> + that your locale was either not installed in <xref linkend="ch-system-glibc"/> or is not supported by the default installation of Glibc.</para> <screen><computeroutput>locale: Cannot set LC_* to default locale: No such file or directory</computeroutput></screen> diff --git a/chapter09/symlinks.xml b/chapter09/symlinks.xml index c4ddd4eaf..24ebf537d 100644 --- a/chapter09/symlinks.xml +++ b/chapter09/symlinks.xml @@ -22,7 +22,7 @@ Intel and Realtek, the network card manufactured by Intel may become eth0 and the Realtek card becomes eth1. In some cases, after a reboot the cards could get renumbered the other way around.</para> - + <para>In the new naming scheme, typical network device names would then be something like enp5s0 or wlp3s0. If this naming convention is not desired, the traditional naming scheme or a custom scheme can be @@ -30,20 +30,20 @@ <sect3> <title>Disabling Persistent Naming on the Kernel Command Line</title> - + <para>The traditional naming scheme using eth0, eth1, etc can be - restored by adding <userinput>net.ifnames=0</userinput> on the + restored by adding <userinput>net.ifnames=0</userinput> on the kernel command line. This is most appropriate for those systems that have only one ethernet device of the same type. Laptops - often have multiple ethernet connections that are named eth0 and - wlan0 and are also candidates for this method. The command line - is passed in the GRUB configuration file. + often have multiple ethernet connections that are named eth0 and + wlan0 and are also candidates for this method. The command line + is passed in the GRUB configuration file. See <xref linkend="grub-cfg"/>.</para> </sect3> <sect3> <title>Creating Custom Udev Rules</title> - + <para>The naming scheme can be customized by creating custom udev rules. A script has been included that generates the initial rules. Generate these rules by running:</para> @@ -61,7 +61,7 @@ the network rules file may not have been generated because addresses are not consistently assigned. In these cases, this method cannot be used.</para></note> - + <para>The file begins with a comment block followed by two lines for each NIC. The first line for each NIC is a commented description showing its hardware IDs (e.g. its PCI vendor and device IDs, if it's a PCI card), @@ -69,11 +69,11 @@ the hardware ID nor the driver is used to determine which name to give an interface; this information is only for reference. The second line is the udev rule that matches this NIC and actually assigns it a name.</para> - + <para>All udev rules are made up of several keys, separated by commas and optional whitespace. This rule's keys and an explanation of each of them are as follows:</para> - + <itemizedlist> <listitem> <para><literal>SUBSYSTEM=="net"</literal> - This tells udev to ignore @@ -106,7 +106,7 @@ udev will assign to this interface.</para> </listitem> </itemizedlist> - + <para>The value of <literal>NAME</literal> is the important part. Make sure you know which name has been assigned to each of your network cards before proceeding, and be sure to use that <literal>NAME</literal> value when diff --git a/chapter09/systemd-custom.xml b/chapter09/systemd-custom.xml index 7e0613df2..bab18eb6d 100644 --- a/chapter09/systemd-custom.xml +++ b/chapter09/systemd-custom.xml @@ -50,13 +50,13 @@ EOF</userinput></screen> <title>Disabling tmpfs for /tmp</title> <para>By default, <filename class="directory">/tmp</filename> is created as - a tmpfs. If this is not desired, it can be overridden by executing the + a tmpfs. If this is not desired, it can be overridden by executing the following command:</para> <screen role="nodump"><userinput>ln -sfv /dev/null /etc/systemd/system/tmp.mount</userinput></screen> <para>Alternatively, if a separate partition for - <filename class="directory">/tmp</filename> is desired, specify that + <filename class="directory">/tmp</filename> is desired, specify that partition in a <filename>/etc/fstab</filename> entry.</para> <warning> @@ -81,9 +81,9 @@ EOF</userinput></screen> <listitem><para>systemd-tmpfiles-setup-dev.service</para></listitem> <listitem><para>systemd-tmpfiles-setup.service</para></listitem> </itemizedlist> - + <para>The system location for the configuration files is - <filename>/usr/lib/tmpfiles.d/*.conf</filename>. The local + <filename>/usr/lib/tmpfiles.d/*.conf</filename>. The local configuration files are in <filename class="directory">/etc/tmpfiles.d</filename>. Files in <filename class="directory">/etc/tmpfiles.d</filename> override @@ -94,9 +94,9 @@ EOF</userinput></screen> <para> Note that the syntax for the - <filename>/usr/lib/tmpfiles.d/*.conf</filename> files can be + <filename>/usr/lib/tmpfiles.d/*.conf</filename> files can be confusing. For example, the default deletion of files in the /tmp directory - is located in <filename>/usr/lib/tmpfiles.d/tmp.conf</filename> with + is located in <filename>/usr/lib/tmpfiles.d/tmp.conf</filename> with the line: <screen role="nodump">q /tmp 1777 root root 10d</screen> @@ -148,7 +148,7 @@ EOF</userinput></screen> <para>Rather than plain shell scripts used in SysVinit or BSD style init systems, systemd uses a unified format for different types of startup files (or units). The command <command>systemctl</command> is used to - enable, disable, control state, and obtain status of unit files. Here + enable, disable, control state, and obtain status of unit files. Here are some examples of frequently used commands:</para> <itemizedlist> diff --git a/chapter09/udev.xml b/chapter09/udev.xml index 20b311284..a2ff35511 100644 --- a/chapter09/udev.xml +++ b/chapter09/udev.xml @@ -119,7 +119,7 @@ rule for the device it is creating, it will leave the permissions and ownership at whatever <systemitem class="filesystem">devtmpfs</systemitem> used initially.</para> </sect3> - + <sect3 id="module-loading"> <title>Module Loading</title> @@ -223,12 +223,12 @@ <para>Note that the <quote>softdep</quote> command also allows <literal>pre:</literal> dependencies, or a mixture of both - <literal>pre:</literal> and <literal>post:</literal> dependencies. See + <literal>pre:</literal> and <literal>post:</literal> dependencies. See the <filename>modprobe.d(5)</filename> manual page for more information on <quote>softdep</quote> syntax and capabilities.</para> - <para revision="sysv">If the module in question is not a wrapper and is - useful by itself, configure the <command>modules</command> bootscript to + <para revision="sysv">If the module in question is not a wrapper and is + useful by itself, configure the <command>modules</command> bootscript to load this module on system boot. To do this, add the module name to the <filename>/etc/sysconfig/modules</filename> file on a separate line. This works for wrapper modules too, but is suboptimal in that case.</para> diff --git a/chapter09/usage.xml b/chapter09/usage.xml index d59b38b29..ffb31055d 100644 --- a/chapter09/usage.xml +++ b/chapter09/usage.xml @@ -24,7 +24,7 @@ system to another, so it cannot be assumed that because things worked in one particular Linux distribution, they should work the same in LFS too. LFS has its own way of doing things, but it respects generally accepted standards.</para> - + <para>SysVinit (which will be referred to as <quote>init</quote> from now on) works using a run-levels scheme. There are seven (numbered 0 to 6) run-levels (actually, there are more run-levels, but they are for special cases and are @@ -233,7 +233,7 @@ EOF</userinput></screen> <device> is an absolute path in /dev or /sys such as /dev/sr0 or /sys/class/rtc.</para> - <para>For information on kernel module loading and udev, see + <para>For information on kernel module loading and udev, see <xref linkend="module-loading"/>.</para> </sect2> @@ -535,28 +535,28 @@ EOF</userinput></screen> <sect2 id="ch-config-createfiles"> <title>Creating Files at Boot</title> - + <indexterm zone="ch-config-createfiles"> <primary sortas="d-createfiles">File creation at boot</primary> <secondary>configuring</secondary> </indexterm> - + <para>At times, it is desirable to create files at boot time. For instance, the <filename class="directory">/tmp/.ICE-unix</filename> directory is often needed. This can be done by creating an entry in the <filename>/etc/sysconfig/createfiles</filename> configuration script. - The format of this file is embedded in the comments of the default + The format of this file is embedded in the comments of the default configuration file.</para> </sect2> <sect2 id="ch-config-sysklogd"> <title>Configuring the sysklogd Script</title> - + <indexterm zone="ch-config-sysklogd"> <primary sortas="d-sysklogd">sysklogd</primary> <secondary>configuring</secondary> </indexterm> - + <para>The <filename>sysklogd</filename> script invokes the <command>syslogd</command> program as a part of System V initialization. The <parameter>-m 0</parameter> option turns off the periodic timestamp mark that @@ -574,11 +574,11 @@ EOF</userinput></screen> <sect2 id="ch-config-site"> <title>The rc.site File</title> - + <indexterm zone="ch-config-site"> <primary sortas="a-rc.site">rc.site</primary> </indexterm> - + <para>The optional <filename>/etc/sysconfig/rc.site</filename> file contains settings that are automatically set for each SystemV boot script. It can alternatively set the values specified in the <filename>hostname</filename>, @@ -587,33 +587,33 @@ EOF</userinput></screen> associated variables are present in both these separate files and <filename>rc.site</filename>, the values in the script specific files have precedence. </para> - + <para><filename>rc.site</filename> also contains parameters that can customize other aspects of the boot process. Setting the IPROMPT variable will enable selective running of bootscripts. Other options are described in the file comments. The default version of the file is as follows:</para> - + <!-- Use role to fix a pdf generation problem --> <screen role="auto">&site;</screen> - + <sect3> <title>Customizing the Boot and Shutdown Scripts</title> - + <para>The LFS boot scripts boot and shut down a system in a fairly efficient manner, but there are a few tweaks that you can make in the rc.site file to improve speed even more and to adjust messages according to your preferences. To do this, adjust the settings in the <filename>/etc/sysconfig/rc.site</filename> file above.</para> - + <itemizedlist> - + <listitem><para>During the boot script <filename>udev</filename>, there is a call to <command>udev settle</command> that requires some time to complete. This time may or may not be required depending on devices present in the system. If you only have simple partitions and a single ethernet card, the boot process will probably not need to wait for this command. To skip it, set the variable OMIT_UDEV_SETTLE=y.</para></listitem> - + <listitem><para>The boot script <filename>udev_retry</filename> also runs <command>udev settle</command> by default. This command is only needed by default if the <filename class='directory'>/var</filename> directory is @@ -622,12 +622,12 @@ EOF</userinput></screen> also need to wait for udev to complete, but in many installations it is not needed. Skip the command by setting the variable OMIT_UDEV_RETRY_SETTLE=y. </para></listitem> - + <listitem><para>By default, the file system checks are silent. This can appear to be a delay during the bootup process. To turn on the <command>fsck</command> output, set the variable VERBOSE_FSCK=y. </para></listitem> - + <listitem><para>When rebooting, you may want to skip the filesystem check, <command>fsck</command>, completely. To do this, either create the file <filename>/fastboot</filename> or reboot the system with the command @@ -636,17 +636,17 @@ EOF</userinput></screen> <filename>/forcefsck</filename> or running <command>shutdown</command> with the <parameter>-F</parameter> parameter instead of <parameter>-f</parameter>. </para> - + <para>Setting the variable FASTBOOT=y will disable <command>fsck</command> during the boot process until it is removed. This is not recommended on a permanent basis.</para></listitem> - + <listitem><para>Normally, all files in the <filename class='directory'>/tmp</filename> directory are deleted at boot time. Depending on the number of files or directories present, this can cause a noticeable delay in the boot process. To skip removing these files set the variable SKIPTMPCLEAN=y.</para></listitem> - + <listitem><para>During shutdown, the <command>init</command> program sends a TERM signal to each program it has started (e.g. agetty), waits for a set time (default 3 seconds), and sends each process a KILL signal and waits @@ -658,9 +658,9 @@ EOF</userinput></screen> -t0 -r now</command>). The delay for the <command>sendsignals</command> script can be skipped by setting the parameter KILLDELAY=0.</para></listitem> - + </itemizedlist> - + </sect3> </sect2> </sect1> diff --git a/chapter10/grub.xml b/chapter10/grub.xml index d4013767d..b35d75540 100644 --- a/chapter10/grub.xml +++ b/chapter10/grub.xml @@ -42,8 +42,8 @@ url="&blfs-book;multimedia/libisoburn.html"> libisoburn</ulink> package.</para> -<screen role="nodump"><userinput>cd /tmp -grub-mkrescue --output=grub-img.iso +<screen role="nodump"><userinput>cd /tmp +grub-mkrescue --output=grub-img.iso xorriso -as cdrecord -v dev=/dev/cdrw blank=as_needed grub-img.iso</userinput></screen> </sect2> diff --git a/chapter10/kernel.xml b/chapter10/kernel.xml index 1465c3bcf..77250cae6 100644 --- a/chapter10/kernel.xml +++ b/chapter10/kernel.xml @@ -97,7 +97,6 @@ <ulink url="http://www.kroah.com/lkn/"/> </para> <note> - <para>A good starting place for setting up the kernel configuration is to run <command>make defconfig</command>. This will set the base configuration to a good state that takes your current system architecture @@ -115,7 +114,7 @@ [ ] Auditing Support [CONFIG_AUDIT] [*] Control Group support [CONFIG_CGROUPS] [ ] Enable deprecated sysfs features to support old userspace tools [CONFIG_SYSFS_DEPRECATED] - [*] Configure standard kernel features (expert users) [CONFIG_EXPERT] ---> + [*] Configure standard kernel features (expert users) [CONFIG_EXPERT] ---> [*] open by fhandle syscalls [CONFIG_FHANDLE] Processor type and features ---> [*] Enable seccomp to safely compute untrusted bytecode [CONFIG_SECCOMP] @@ -264,11 +263,11 @@ cp -r Documentation/* /usr/share/doc/linux-&linux-version;</userinput></screen> source.</para> <note> - <para>In many cases, the configuration of the kernel will need to be + <para>In many cases, the configuration of the kernel will need to be updated for packages that will be installed later in BLFS. Unlike other packages, it is not necessary to remove the kernel source tree - after the newly built kernel is installed.</para> - + after the newly built kernel is installed.</para> + <para>If the kernel source tree is going to be retained, run <command>chown -R 0:0</command> on the <filename class="directory">linux-&linux-version;</filename> directory to ensure diff --git a/general.ent b/general.ent index 75464eee7..137b0cf36 100644 --- a/general.ent +++ b/general.ent @@ -65,7 +65,7 @@ <!ENTITY testsuites "Test suite depends on"> <!ENTITY before "Must be installed before"> <!ENTITY external "Optional dependencies"> - + <!ENTITY gnu "https://ftp.gnu.org/gnu/"> <!ENTITY gnu-software "https://www.gnu.org/software/"> <!ENTITY alpha-gnu "https://alpha.gnu.org/gnu/"> diff --git a/lfs-latest-git.php b/lfs-latest-git.php index 6130d48d1..a581792af 100644 --- a/lfs-latest-git.php +++ b/lfs-latest-git.php @@ -30,13 +30,13 @@ function find_max( $lines, $regex_match, $regex_replace ) foreach ( $lines as $line ) { - if ( ! preg_match( $regex_match, $line ) ) continue; + if ( ! preg_match( $regex_match, $line ) ) continue; // Isolate the version and put in an array $slice = preg_replace( $regex_replace, "$1", $line ); - if ( $slice == $line ) continue; + if ( $slice == $line ) continue; - array_push( $a, $slice ); + array_push( $a, $slice ); } // SORT_NATURAL requires php-5.4.0 or later @@ -98,7 +98,7 @@ function max_parent( $dirpath, $prefix ) $regex_replace = "#^.*(${prefix}[\d\.]+)/.*$#"; $max = find_max( $lines, $regex_match, $regex_replace ); - return "$dirpath/$max"; + return "$dirpath/$max"; } function get_packages( $package, $dirpath ) @@ -112,8 +112,8 @@ if ( $package == "bc" ) $dirpath = "https://github.com/gavinhoward/bc/re if ( $package == "check" ) $dirpath = "https://github.com/libcheck/check/releases"; if ( $package == "e2fsprogs" ) $dirpath = "https://sourceforge.net/projects/e2fsprogs/files/e2fsprogs/"; if ( $package == "expat" ) $dirpath = "http://sourceforge.net/projects/expat/files"; -if ( $package == "elfutils" ) $dirpath = "https://sourceware.org/ftp/elfutils"; -if ( $package == "expect" ) $dirpath = "http://sourceforge.net/projects/expect/files"; +if ( $package == "elfutils" ) $dirpath = "https://sourceware.org/ftp/elfutils"; +if ( $package == "expect" ) $dirpath = "http://sourceforge.net/projects/expect/files"; if ( $package == "file" ) $dirpath = "https://github.com/file/file/releases"; if ( $package == "flex" ) $dirpath = "https://github.com/westes/flex/releases"; if ( $package == "gcc" ) $dirpath = max_parent( $dirpath, "gcc-" ); @@ -138,8 +138,8 @@ if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/rel //if ( $package == "vim" ) $dirpath = "ftp://ftp.vim.org/pub/vim/unix"; // Check for ftp - if ( preg_match( "/^ftp/", $dirpath ) ) - { + if ( preg_match( "/^ftp/", $dirpath ) ) + { $dirpath = substr( $dirpath, 6 ); // Remove ftp:// $dirpath = rtrim ( $dirpath, "/" ); // Trim any trailing slash $position = strpos( $dirpath, "/" ); // Divide at first slash @@ -147,7 +147,7 @@ if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/rel $path = substr( $dirpath, $position ); $conn = ftp_connect( $server ); - ftp_login( $conn, "anonymous", "" ); + ftp_login( $conn, "anonymous", "" ); // See if we need special handling if ( isset( $exceptions[ $package ] ) ) @@ -166,7 +166,7 @@ if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/rel $path = substr( $path, 0, $position ); // Get dir listing - $lines = ftp_rawlist ($conn, $path); + $lines = ftp_rawlist ($conn, $path); $max = find_max( $lines, $regexp, $regexp ); break; @@ -233,7 +233,7 @@ if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/rel $lines = $tmp; } - if ( $package == "attr" || + if ( $package == "attr" || $package == "acl" ) { return find_max( $lines, "/$package/", "/^.*$package-([\d\.-]*\d).tar.*$/" ); @@ -361,8 +361,8 @@ function get_current() $pattern = "/\D*(\d.*[a-z]*)\.tar\D*/"; } - else if ( preg_match( "/systemd-man-pages/", $file ) ) continue; - else if ( preg_match( "/python/" , $file ) ) continue; + else if ( preg_match( "/systemd-man-pages/", $file ) ) continue; + else if ( preg_match( "/python/" , $file ) ) continue; $version = preg_replace( $pattern, "$1", $file ); // Isolate version $version = preg_replace( "/^\d-/", "", $version ); // Remove leading #- diff --git a/lfs-latest.php b/lfs-latest.php index 641aca2fe..3a4df9243 100644 --- a/lfs-latest.php +++ b/lfs-latest.php @@ -30,13 +30,13 @@ function find_max( $lines, $regex_match, $regex_replace ) foreach ( $lines as $line ) { - if ( ! preg_match( $regex_match, $line ) ) continue; + if ( ! preg_match( $regex_match, $line ) ) continue; // Isolate the version and put in an array $slice = preg_replace( $regex_replace, "$1", $line ); - if ( $slice == $line ) continue; + if ( $slice == $line ) continue; - array_push( $a, $slice ); + array_push( $a, $slice ); } // SORT_NATURAL requires php-5.4.0 or later @@ -98,7 +98,7 @@ function max_parent( $dirpath, $prefix ) $regex_replace = "#^.*(${prefix}[\d\.]+)/.*$#"; $max = find_max( $lines, $regex_match, $regex_replace ); - return "$dirpath/$max"; + return "$dirpath/$max"; } function get_packages( $package, $dirpath ) @@ -112,8 +112,8 @@ if ( $package == "bc" ) $dirpath = "https://github.com/gavinhoward/bc/re if ( $package == "check" ) $dirpath = "https://github.com/libcheck/check/releases"; if ( $package == "e2fsprogs" ) $dirpath = "http://sourceforge.net/projects/e2fsprogs/files/e2fsprogs"; if ( $package == "expat" ) $dirpath = "http://sourceforge.net/projects/expat/files"; -if ( $package == "elfutils" ) $dirpath = "https://sourceware.org/ftp/elfutils"; -if ( $package == "expect" ) $dirpath = "http://sourceforge.net/projects/expect/files"; +if ( $package == "elfutils" ) $dirpath = "https://sourceware.org/ftp/elfutils"; +if ( $package == "expect" ) $dirpath = "http://sourceforge.net/projects/expect/files"; if ( $package == "file" ) $dirpath = "https://github.com/file/file/releases"; if ( $package == "flex" ) $dirpath = "https://github.com/westes/flex/releases"; if ( $package == "gcc" ) $dirpath = max_parent( $dirpath, "gcc-" ); @@ -135,8 +135,8 @@ if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/rel //if ( $package == "vim" ) $dirpath = "ftp://ftp.vim.org/pub/vim/unix"; // Check for ftp - if ( preg_match( "/^ftp/", $dirpath ) ) - { + if ( preg_match( "/^ftp/", $dirpath ) ) + { $dirpath = substr( $dirpath, 6 ); // Remove ftp:// $dirpath = rtrim ( $dirpath, "/" ); // Trim any trailing slash $position = strpos( $dirpath, "/" ); // Divide at first slash @@ -144,7 +144,7 @@ if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/rel $path = substr( $dirpath, $position ); $conn = ftp_connect( $server ); - ftp_login( $conn, "anonymous", "" ); + ftp_login( $conn, "anonymous", "" ); // See if we need special handling if ( isset( $exceptions[ $package ] ) ) @@ -163,7 +163,7 @@ if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/rel $path = substr( $path, 0, $position ); // Get dir listing - $lines = ftp_rawlist ($conn, $path); + $lines = ftp_rawlist ($conn, $path); $max = find_max( $lines, $regexp, $regexp ); break; @@ -196,7 +196,7 @@ if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/rel $dirpath = substr ( $dirpath, 0, $position ); } - //if ( $package == "bzip2" ) + //if ( $package == "bzip2" ) //{ // // Remove one directory // $dirpath = rtrim ( $dirpath, "/" ); // Trim any trailing slash @@ -238,7 +238,7 @@ if ( $package == "zstd" ) $dirpath = "https://github.com/facebook/zstd/rel $lines = $tmp; } - if ( $package == "attr" || + if ( $package == "attr" || $package == "acl" ) { return find_max( $lines, "/$package/", "/^.*$package-([\d\.-]*\d).tar.*$/" ); @@ -356,8 +356,8 @@ function get_current() $pattern = "/\D*(\d.*[a-z]*)\.tar\D*/"; } - else if ( preg_match( "/systemd-man-pages/", $file ) ) continue; - else if ( preg_match( "/python/" , $file ) ) continue; + else if ( preg_match( "/systemd-man-pages/", $file ) ) continue; + else if ( preg_match( "/python/" , $file ) ) continue; $version = preg_replace( $pattern, "$1", $file ); // Isolate version $version = preg_replace( "/^\d-/", "", $version ); // Remove leading #- diff --git a/make-aux-files.sh b/make-aux-files.sh index 9cb1adbff..27a8674f4 100755 --- a/make-aux-files.sh +++ b/make-aux-files.sh @@ -8,7 +8,7 @@ mv bootscripts lfs-bootscripts-$version # Create the tarball and clean up tar -cJf lfs-bootscripts-$version.tar.xz --exclude .svn lfs-bootscripts-$version -mv lfs-bootscripts-$version bootscripts +mv lfs-bootscripts-$version bootscripts #rm -f udev-config*.bz2 diff --git a/packages.ent b/packages.ent index 94353f1d9..bbadf20d4 100644 --- a/packages.ent +++ b/packages.ent @@ -5,7 +5,7 @@ Packages sizes allways in KB Allowed deviation in SBUs : 10% Allowed deviation in disk usage : 2% - + Suffixes: *-tmp-* Package info for Temporary Tools *-fin-* Package info for Final System @@ -58,10 +58,10 @@ <!ENTITY bash-fin-du "50 MB"> <!ENTITY bash-fin-sbu "1.6 SBU"> -<!ENTITY bc-version "5.0.0"> +<!ENTITY bc-version "5.0.2"> <!ENTITY bc-size "420 KB"> <!ENTITY bc-url "https://github.com/gavinhoward/bc/releases/download/&bc-version;/bc-&bc-version;.tar.xz"> -<!ENTITY bc-md5 "8345bb81c576ddfc8c27e0842370603c"> +<!ENTITY bc-md5 "3b521d29aa4af4c4d5e96f7c3db3c607"> <!ENTITY bc-home "https://git.yzena.com/gavin/bc"> <!ENTITY bc-fin-du "6.7 MB"> <!ENTITY bc-fin-sbu "less than 0.1 SBU"> @@ -78,10 +78,10 @@ <!ENTITY binutils-fin-du "4.5 GB"> <!ENTITY binutils-fin-sbu "6.3 SBU"> -<!ENTITY bison-version "3.7.6"> -<!ENTITY bison-size "2,566 KB"> +<!ENTITY bison-version "3.8.1"> +<!ENTITY bison-size "2,735 KB"> <!ENTITY bison-url "&gnu;bison/bison-&bison-version;.tar.xz"> -<!ENTITY bison-md5 "d61aa92e3562cb7292b004ce96173cf7"> +<!ENTITY bison-md5 "0ea56629a7136cc097668dba808afe3a"> <!ENTITY bison-home "&gnu-software;bison/"> <!ENTITY bison-tmp-du "50 MB"> <!ENTITY bison-tmp-sbu "0.3 SBU"> @@ -263,10 +263,10 @@ <!ENTITY libstdcpp-tmpp2-du "1.1 GB"> <!ENTITY libstdcpp-tmpp2-sbu "0.8 SBU"> -<!ENTITY gdbm-version "1.20"> -<!ENTITY gdbm-size "965 KB"> +<!ENTITY gdbm-version "1.21"> +<!ENTITY gdbm-size "983 KB"> <!ENTITY gdbm-url "&gnu;gdbm/gdbm-&gdbm-version;.tar.gz"> -<!ENTITY gdbm-md5 "006c19b8b60828fd6916a16f3496bd3c"> +<!ENTITY gdbm-md5 "a285c6e2dfed78668664c0555a7d202b"> <!ENTITY gdbm-home "&gnu-software;gdbm/"> <!ENTITY gdbm-fin-du "11 MB"> <!ENTITY gdbm-fin-sbu "0.1 SBU"> @@ -334,10 +334,10 @@ <!ENTITY grub-fin-du "158 MB"> <!ENTITY grub-fin-sbu "0.8 SBU"> -<!ENTITY gzip-version "1.10"> -<!ENTITY gzip-size "757 KB"> +<!ENTITY gzip-version "1.11"> +<!ENTITY gzip-size "786 KB"> <!ENTITY gzip-url "&gnu;gzip/gzip-&gzip-version;.tar.xz"> -<!ENTITY gzip-md5 "691b1221694c3394f1c537df4eee39d3"> +<!ENTITY gzip-md5 "d1e93996dba00cab0caa7903cd01d454"> <!ENTITY gzip-home "&gnu-software;gzip/"> <!ENTITY gzip-tmp-du "10 MB"> <!ENTITY gzip-tmp-sbu "0.1 SBU"> @@ -352,10 +352,10 @@ <!ENTITY iana-etc-fin-du "4.7 MB"> <!ENTITY iana-etc-fin-sbu "less than 0.1 SBU"> -<!ENTITY inetutils-version "2.1"> -<!ENTITY inetutils-size "1,496 KB"> +<!ENTITY inetutils-version "2.2"> +<!ENTITY inetutils-size "1,494 KB"> <!ENTITY inetutils-url "&gnu;inetutils/inetutils-&inetutils-version;.tar.xz"> -<!ENTITY inetutils-md5 "4e7676d1980e57c7df665e5c5c3c1047"> +<!ENTITY inetutils-md5 "de8c1b49cbde2b30e481c61c65357ad4"> <!ENTITY inetutils-sha256 "01b9a4bc73a47e63f6e8a07b76122d9ad2a2e46ebf14870e9c91d660b5647a22"> <!ENTITY inetutils-home "&gnu-software;inetutils/"> <!ENTITY inetutils-fin-du "30 MB"> @@ -369,10 +369,10 @@ <!ENTITY intltool-fin-du "1.5 MB"> <!ENTITY intltool-fin-sbu "less than 0.1 SBU"> -<!ENTITY iproute2-version "5.13.0"> -<!ENTITY iproute2-size "828 KB"> +<!ENTITY iproute2-version "5.14.0"> +<!ENTITY iproute2-size "834 KB"> <!ENTITY iproute2-url "&kernel;linux/utils/net/iproute2/iproute2-&iproute2-version;.tar.xz"> -<!ENTITY iproute2-md5 "15fc3786303a173a14e180afe4cd2ecd"> +<!ENTITY iproute2-md5 "da53966eb3b08ac264f3e9df02e06bfa"> <!ENTITY iproute2-home "&kernel;linux/utils/net/iproute2/"> <!ENTITY iproute2-fin-du "15 MB"> <!ENTITY iproute2-fin-sbu "0.2 SBU"> @@ -427,11 +427,11 @@ sake of make-aux-files.sh --> <![ %sysv; [ <!ENTITY lfs-bootscripts-version "20210608"> <!-- Scripts depend on this format --> -<!ENTITY lfs-bootscripts-size "BOOTSCRIPTS-SIZE KB"> +<!ENTITY lfs-bootscripts-size "BOOTSCRIPTS-SIZE KB"> <!ENTITY lfs-bootscripts-url "&downloads-root;lfs-bootscripts-&lfs-bootscripts-version;.tar.xz"> -<!ENTITY lfs-bootscripts-md5 "BOOTSCRIPTS-MD5SUM"> +<!ENTITY lfs-bootscripts-md5 "BOOTSCRIPTS-MD5SUM"> <!ENTITY lfs-bootscripts-home " "> -<!ENTITY lfs-bootscripts-cfg-du "BOOTSCRIPTS-INSTALL-KB KB"> +<!ENTITY lfs-bootscripts-cfg-du "BOOTSCRIPTS-INSTALL-KB KB"> <!ENTITY lfs-bootscripts-cfg-sbu "less than 0.1 SBU"> ]]> @@ -445,10 +445,10 @@ <!ENTITY lfs-bootscripts-cfg-sbu "not-used"> ]]> -<!ENTITY libcap-version "2.53"> -<!ENTITY libcap-size "153 KB"> +<!ENTITY libcap-version "2.57"> +<!ENTITY libcap-size "164 KB"> <!ENTITY libcap-url "&kernel;linux/libs/security/linux-privs/libcap2/libcap-&libcap-version;.tar.xz"> -<!ENTITY libcap-md5 "094994d4554c6689cf98ae4f717b8e19"> +<!ENTITY libcap-md5 "e84ce311ec412cbe8340ea8ea31525d9"> <!ENTITY libcap-home "https://sites.google.com/site/fullycapable/"> <!ENTITY libcap-fin-du "3.2 MB"> <!ENTITY libcap-fin-sbu "less than 0.1 SBU"> @@ -478,13 +478,13 @@ <!ENTITY libtool-fin-sbu "1.5 SBU"> <!ENTITY linux-major-version "5"> -<!ENTITY linux-minor-version "13"> -<!ENTITY linux-patch-version "12"> +<!ENTITY linux-minor-version "14"> +<!ENTITY linux-patch-version "3"> <!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">--> <!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;"> -<!ENTITY linux-size "116,545 KB"> +<!ENTITY linux-size "117,839 KB"> <!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz"> -<!ENTITY linux-md5 "6e1728b2021ca19cc9273f080e6c44c7"> +<!ENTITY linux-md5 "b45b18effd1af9077de47f4bc496d2ab"> <!ENTITY linux-home "https://www.kernel.org/"> <!-- measured for 5.13.4 / gcc-11.1.0 on x86_64 : minimum is allnoconfig rounded down to allow for ongoing cleanups, @@ -652,22 +652,22 @@ <!ENTITY psmisc-fin-du "5.6 MB"> <!ENTITY psmisc-fin-sbu "less than 0.1 SBU"> -<!-- If python minor version changes, updates in python and +<!-- If python minor version changes, updates in python and meson pages will be needed: python3.6 and python3.6m --> -<!ENTITY python-version "3.9.6"> +<!ENTITY python-version "3.9.7"> <!ENTITY python-minor "3.9"> -<!ENTITY python-size "18,608 KB"> +<!ENTITY python-size "18,676 KB"> <!ENTITY python-url "https://www.python.org/ftp/python/&python-version;/Python-&python-version;.tar.xz"> -<!ENTITY python-md5 "ecc29a7688f86e550d29dba2ee66cf80"> +<!ENTITY python-md5 "fddb060b483bc01850a3f412eea1d954"> <!ENTITY python-home "https://www.python.org/"> <!ENTITY python-tmp-du "347 MB"> <!ENTITY python-tmp-sbu "1.2 SBU"> <!ENTITY python-fin-du "260 MB"> <!ENTITY python-fin-sbu "4.4 SBU"> <!ENTITY python-docs-url "https://www.python.org/ftp/python/doc/&python-version;/python-&python-version;-docs-html.tar.bz2"> -<!ENTITY python-docs-md5 "0dae29e4c38af1b6b1a86b35c9e48923"> -<!ENTITY python-docs-size "6,692 KB"> +<!ENTITY python-docs-md5 "ef3ea6141ed362e4d12467b136ee70fe"> +<!ENTITY python-docs-size "6,791 KB"> <!ENTITY readline-version "8.1"> <!ENTITY readline-size "2,924 KB"> @@ -691,7 +691,7 @@ <!ENTITY shadow-size "1,592 KB"> <!ENTITY shadow-url "&github;/shadow-maint/shadow/releases/download/v&shadow-version;/shadow-&shadow-version;.tar.xz"> <!ENTITY shadow-md5 "126924090caf72f3de7e9261fd4e10ac"> -<!ENTITY shadow-home "https://shadow-maint.github.io/shadow/"> +<!ENTITY shadow-home "https://shadow-maint.github.io/shadow/"> <!ENTITY shadow-fin-du "45 MB"> <!ENTITY shadow-fin-sbu "0.2 SBU"> diff --git a/part3intro/generalinstructions.xml b/part3intro/generalinstructions.xml index a441b17ef..0739f79cc 100644 --- a/part3intro/generalinstructions.xml +++ b/part3intro/generalinstructions.xml @@ -95,7 +95,7 @@ <listitem> <para>Using the <command>tar</command> program, extract the package to be built. In <xref linkend="chapter-cross-tools"/> and - <xref linkend="chapter-temporary-tools"/>, ensure you are + <xref linkend="chapter-temporary-tools"/>, ensure you are the <emphasis>lfs</emphasis> user when extracting the package.</para> </listitem> <listitem> diff --git a/part3intro/toolchaintechnotes.xml b/part3intro/toolchaintechnotes.xml index b0b9eef08..ed5afc03b 100644 --- a/part3intro/toolchaintechnotes.xml +++ b/part3intro/toolchaintechnotes.xml @@ -211,7 +211,7 @@ <para>Now, there is more about cross-compiling: the C language is not just a compiler, but also defines a standard library. In this book, the GNU C library, named glibc, is used. This library must - be compiled for the lfs machine, that is, using the cross compiler cc1. + be compiled for the lfs machine, that is, using the cross compiler cc1. But the compiler itself uses an internal library implementing complex instructions not available in the assembler instruction set. This internal library is named libgcc, and must be linked to the glibc @@ -329,7 +329,7 @@ checking what linker to use... /mnt/lfs/tools/i686-lfs-linux-gnu/bin/ld</compute linkend="chapter-chroot-temporary-tools"/>, the first task is to install libstdc++. Then temporary installations of programs needed for the proper operation of the toolchain are performed. From this point onwards, the - core toolchain is self-contained and self-hosted. In + core toolchain is self-contained and self-hosted. In <xref linkend="chapter-building-system"/>, final versions of all the packages needed for a fully functional system are built, tested and installed.</para> diff --git a/patches.ent b/patches.ent index 07f8f154a..0e9c9be6e 100644 --- a/patches.ent +++ b/patches.ent @@ -30,6 +30,10 @@ <!ENTITY flex-fixes-patch-size "3.4 KB"> --> +<!ENTITY file-upstream-fixes-patch "file-&file-version;-upstream_fixes-1.patch"> +<!ENTITY file-upstream-fixes-md5 "d99090db596b9db2bed869662199a56a"> +<!ENTITY file-upstream-fixes-patch-size "4.0 KB"> + <!ENTITY gcc-upstream-fixes-patch "gcc-&gcc-version;-upstream_fixes-1.patch"> <!ENTITY gcc-upstream-fixes-patch-md5 "27266d2a771f2ff812cb6ec9c8b456b4"> <!ENTITY gcc-upstream-fixes-patch-size "18.0 KB"> diff --git a/pdf-fixups.sh b/pdf-fixups.sh index 239090141..44fe56370 100755 --- a/pdf-fixups.sh +++ b/pdf-fixups.sh @@ -1,6 +1,6 @@ #!/bin/bash -if [ $# -lt 1 ] ; then +if [ $# -lt 1 ] ; then echo "This script needs the location of the fo file to update" exit 1 fi diff --git a/process-scripts.sh b/process-scripts.sh index 2b373a34d..dbd5039bb 100644 --- a/process-scripts.sh +++ b/process-scripts.sh @@ -8,17 +8,17 @@ for s in bootscripts/lfs/init.d/* \ udev-lfs/*.rules do script=$(basename $s) - + # Skip directories [ $script == 'network-devices' ] && continue #[ $script == 'services' ] && continue # Disambiguate duplicate file names - [ $s == 'bootscripts/lfs/sysconfig/rc' ] && script='rc-sysinit'; - [ $s == 'bootscripts/lfs/sysconfig/modules' ] && script='modules-sysinit'; - [ $s == 'bootscripts/lfs/sysconfig/udev_retry' ] && script='config-udev-retry'; - + [ $s == 'bootscripts/lfs/sysconfig/rc' ] && script='rc-sysinit'; + [ $s == 'bootscripts/lfs/sysconfig/modules' ] && script='modules-sysinit'; + [ $s == 'bootscripts/lfs/sysconfig/udev_retry' ] && script='config-udev-retry'; + sed -e 's/\&/\&\;/g' -e 's/</\<\;/g' -e 's/>/\>\;/g' \ -e "s/'/\&apos\;/g" -e 's/"/\"\;/g' -e 's/\t/ /g' \ - $s > appendices/${script}.script + $s > appendices/${script}.script done diff --git a/prologue/foreword.xml b/prologue/foreword.xml index f3f2c4418..33a33ec40 100644 --- a/prologue/foreword.xml +++ b/prologue/foreword.xml @@ -10,7 +10,7 @@ <title>Foreword</title> -<para>My journey to learn and better understand Linux began +<para>My journey to learn and better understand Linux began back in 1998. I had just installed my first Linux distribution and had quickly become intrigued with the whole concept and philosophy behind Linux.</para> diff --git a/prologue/organization.xml b/prologue/organization.xml index c2c82b63c..81bfca47a 100644 --- a/prologue/organization.xml +++ b/prologue/organization.xml @@ -51,9 +51,9 @@ <title>Part V - Appendices</title> <para>Part V provides information about the book itself including - acronyms and terms, acknowledgments, package dependencies, - a listing of LFS boot scripts, licenses for the distribution of the - book, and a comprehensive index of packages, programs, libraries, + acronyms and terms, acknowledgments, package dependencies, + a listing of LFS boot scripts, licenses for the distribution of the + book, and a comprehensive index of packages, programs, libraries, and scripts.</para> </sect2> diff --git a/prologue/standards.xml b/prologue/standards.xml index 16c4de1dd..9a9f03cf3 100644 --- a/prologue/standards.xml +++ b/prologue/standards.xml @@ -22,7 +22,7 @@ POSIX.1-2008</ulink>.</para> </listitem> <listitem> - <para><ulink + <para><ulink url="http://refspecs.linuxfoundation.org/FHS_3.0/fhs/index.html"> Filesystem Hierarchy Standard (FHS) Version 3.0</ulink></para> diff --git a/prologue/why.xml b/prologue/why.xml index 24b792e45..67d0b3b0e 100644 --- a/prologue/why.xml +++ b/prologue/why.xml @@ -23,17 +23,17 @@ <listitem> <para>Acl</para> - <para>This package contains utilities to administer Access - Control Lists, which are used to define more fine-grained - discretionary access rights for files and directories. + <para>This package contains utilities to administer Access + Control Lists, which are used to define more fine-grained + discretionary access rights for files and directories. </para> </listitem> <listitem> <para>Attr</para> - <para>This package contains programs for administering - extended attributes on filesystem objects. + <para>This package contains programs for administering + extended attributes on filesystem objects. </para> </listitem> @@ -66,7 +66,7 @@ <listitem> <para>Bc</para> - <para>This package provides an arbitrary precision numeric processing language. + <para>This package provides an arbitrary precision numeric processing language. It satisfies a requirement needed when building the Linux kernel.</para> </listitem> @@ -110,7 +110,7 @@ <listitem revision="systemd"> <para>D-Bus</para> - <para>This package contains programs to implement a message bus system, + <para>This package contains programs to implement a message bus system, which a simple way for applications to talk to one another. </para> </listitem> @@ -141,7 +141,7 @@ <para>Eudev</para> <para>This package is a device manager. It dynamically controls the ownership, - permissions, names, and symbolic links of devices in the /dev directory as + permissions, names, and symbolic links of devices in the /dev directory as devices are added or removed from the system. </para> </listitem> @@ -282,7 +282,7 @@ <listitem> <para>Intltool</para> - <para>This package contains tools for extracting translatable + <para>This package contains tools for extracting translatable strings from source files.</para> </listitem> @@ -326,8 +326,8 @@ <listitem> <para>Libcap</para> - <para>This package implements the user-space interfaces to - the POSIX 1003.1e capabilities available in Linux kernels. + <para>This package implements the user-space interfaces to + the POSIX 1003.1e capabilities available in Linux kernels. </para> </listitem> @@ -626,7 +626,7 @@ <para>Zstd</para> <para>This package contains compression and decompression routines - used by some programs. It provide high compression ratios and a very + used by some programs. It provides high compression ratios and a very wide range of compression / speed trade-offs.</para> </listitem> diff --git a/stylesheets/lfs-xsl/pdf/lfs-mixed.xsl b/stylesheets/lfs-xsl/pdf/lfs-mixed.xsl index 85fc3825f..f767ace6a 100644 --- a/stylesheets/lfs-xsl/pdf/lfs-mixed.xsl +++ b/stylesheets/lfs-xsl/pdf/lfs-mixed.xsl @@ -103,7 +103,7 @@ <xsl:otherwise> <xsl:choose> <xsl:when test="ancestor::appendix">auto</xsl:when> - <!-- Modified by Bruce Dubbs. Allow user to specify + <!-- Modified by Bruce Dubbs. Allow user to specify automatic screen formatting to split across pages. --> <xsl:when test="@role='auto'">auto</xsl:when> <xsl:otherwise>always</xsl:otherwise> @@ -114,8 +114,8 @@ </xsl:choose> </xsl:attribute> -<!-- The following lines were inserted by Martin Miehe. Scripts and rules - in the appendices should have a smaller font-size so that at least +<!-- The following lines were inserted by Martin Miehe. Scripts and rules + in the appendices should have a smaller font-size so that at least 80 characters fit to one line. --> <xsl:if test="ancestor::appendix"> <!-- name(/) != appendix" --> diff --git a/stylesheets/md5sum.xsl b/stylesheets/md5sum.xsl index d179594af..617bd4aa9 100644 --- a/stylesheets/md5sum.xsl +++ b/stylesheets/md5sum.xsl @@ -15,8 +15,8 @@ <!-- If some package don't have the predefined strings in their name, the next test must be fixed to match it also. Skip possible duplicated URLs that may be split for PDF output --> - <xsl:if test="(contains( @url, '.tar.' ) or - contains( @url, '.tgz' ) or + <xsl:if test="(contains( @url, '.tar.' ) or + contains( @url, '.tgz' ) or contains( @url, '.patch') ) and not( ancestor-or-self::*/@condition = 'pdf' )" > <!-- Get the md5sum --> @@ -32,13 +32,13 @@ <!-- Add a newline --> <xsl:text>
</xsl:text> - + </xsl:if> </xsl:template> <xsl:template name="basename"> <xsl:param name="pathname"/> - + <xsl:choose> <xsl:when test="contains( $pathname, '/' )" > diff --git a/stylesheets/wget-list.xsl b/stylesheets/wget-list.xsl index 5b4b76f11..62a518d38 100644 --- a/stylesheets/wget-list.xsl +++ b/stylesheets/wget-list.xsl @@ -16,8 +16,8 @@ <!-- If some package don't have the predefined strings in their name, the next test must be fixed to match it also. Skip possible duplicated URLs due that may be splitted for PDF output --> - <xsl:if test="(contains(@url, '.tar.') or - contains(@url, '.tgz') or + <xsl:if test="(contains(@url, '.tar.') or + contains(@url, '.tgz') or contains(@url, '.patch')) and not(ancestor-or-self::*/@condition = 'pdf')"> <xsl:choose> diff --git a/udev-lfs/ChangeLog b/udev-lfs/ChangeLog index 2383a6f81..897acee15 100644 --- a/udev-lfs/ChangeLog +++ b/udev-lfs/ChangeLog @@ -61,7 +61,7 @@ 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 - LFS ticket #2076. + LFS ticket #2076. 2008-05-21 Bryan Kadzban <bryan@linuxfromscratch.org> * 81-firmware.rules, doc/81-firmware.txt: Remove. This rule is @@ -145,7 +145,7 @@ * 05-udev-early.rules, 60-persistent-storage.rules: Sync up with upstream sample rules files (from udev-102), except for one rule which is more specific in our tarball and should probably be changed - upstream. + upstream. * doc/60-persistent-storage.txt: Modify to match the changes. Also fix a couple typos. diff --git a/udev-lfs/Makefile.lfs b/udev-lfs/Makefile.lfs index 851e0f04e..1218d9dcd 100644 --- a/udev-lfs/Makefile.lfs +++ b/udev-lfs/Makefile.lfs @@ -15,7 +15,7 @@ endif all: @echo "Use the install target" -install: +install: @mkdir -pv $(DESTDIR)/lib/udev/rules.d \ $(DESTDIR)/etc/udev/rules.d \ $(DESTDIR)/usr/share/doc/udev-$(VERSION)/lfs diff --git a/udev-lfs/init-net-rules.sh b/udev-lfs/init-net-rules.sh index a90652ee7..1ad22db8c 100644 --- a/udev-lfs/init-net-rules.sh +++ b/udev-lfs/init-net-rules.sh @@ -4,7 +4,7 @@ # Data from udev-182 75-persistent-net-generator.rules # Updated fof udev-197 (DEVICES=en*) -RULES=/etc/udev/rules.d/70-persistent-net.rules +RULES=/etc/udev/rules.d/70-persistent-net.rules DEVICES=$(eval echo /sys/class/net/{en*,eth*,ath*,wlan*[0-9],msh*,ra*,sta*,ctc*,lcs*,hsi*}) function usage @@ -68,9 +68,9 @@ function comment # export COMMENT="ibmveth ($id)" # S/390 uses id matches only, do not use MAC address match - # SUBSYSTEMS=="ccwgroup", - # export COMMENT="S/390 $driver device at $id", - # export MATCHID="$id" + # SUBSYSTEMS=="ccwgroup", + # export COMMENT="S/390 $driver device at $id", + # export MATCHID="$id" # export MATCHDRV="$driver" # export MATCHADDR="" @@ -98,10 +98,10 @@ fi if [ -e /proc/xen ]; then msg="The rules file should not be created in the Xen environment" usage -fi +fi # Variables used to communicate with write_net_rules: -# INTERFACE simple interface name +# INTERFACE simple interface name # MATCHADDR MAC address used for the match # MATCHID bus_id used for the match # MATCHDRV driver name used for the match @@ -124,6 +124,6 @@ for NIC in $DEVICES; do export MATCHIFTYPE="$(cat $NIC/type)" # Read interface type comment - /lib/udev/write_net_rules + /lib/udev/write_net_rules done |