diff --git a/INSTALL b/INSTALL index 7f87aab69..1d3a6f217 100644 --- a/INSTALL +++ b/INSTALL @@ -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: diff --git a/Makefile b/Makefile index f4a74e67a..597ae1faa 100644 --- a/Makefile +++ b/Makefile @@ -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 \ diff --git a/README b/README index 719fb535d..d61d87a93 100644 --- a/README +++ b/README @@ -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 @@ - Jean-Philippe + Jean-Philippe Mengual <jmengual@linuxfromscratch.org> – French LFS translation project 2008-2016 - Julien + Julien Lepiller <jlepiller@linuxfromscratch.org> – French LFS translation project 2017-present @@ -99,13 +99,13 @@ - Anton Maisak + Anton Maisak <info@linuxfromscratch.org.ru> – Russian LFS translation project - Elena Shevcova + Elena Shevcova <helen@linuxfromscratch.org.ru> – Russian LFS translation project 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 @@ Expect.pm - and + and IO::Tty @@ -747,7 +747,7 @@ Tk - + @@ -950,7 +950,7 @@ GNAT and - ISL + ISL @@ -2556,7 +2556,6 @@ Zlib - &testsuites; 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 - * 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 * 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 @@ -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 @@ -223,8 +223,8 @@ 2009-01-02 Bruce Dubbs * 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 @@ -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 - and Kevin P. Fleming + and Kevin P. Fleming and updated by Bruce Dubbs . 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" # # if type is equal to "dev" -# +# # # # is the name of the file which is to be created @@ -22,9 +22,9 @@ # is either block, char or pipe # block creates a block device # char creates a character deivce -# pipe creates a pipe, this will ignore the and +# pipe creates a pipe, this will ignore the and # fields -# and are the major and minor numbers used for +# and 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. --> - 2021-08-25 + 2021-09-15 - [xry111] - Update to man-pages-5.13. Fixes - #4915. + [bdubbs] - Ensure tcl documentation instructions are present. Fixes + #4923. + + + [bdubbs] - Update to Python3-3.9.7. Fixes + #4916. + + + [bdubbs] - Update to linux-5.14.3. Fixes + #4913. + + + [bdubbs] - Update to libcap-2.57. Fixes + #4912. + + + [bdubbs] - Update to iproute2-5.14.0. Fixes + #4917. + + + [bdubbs] - Update to inetutils-2.2. Fixes + #4918. + + + [bdubbs] - Update to gzip-1.11. Fixes + #4920. + + + [bdubbs] - Update to gdbm-1.21. Fixes + #4919. + + + [bdubbs] - Update to bison-3.8.1. Fixes + #4921. + + + [bdubbs] - Update to bc-5.0.2. Fixes + #4905. - 2021-08-25 + 2021-09-08 - [bdubbs] - LFS-11.0-rc3 released. - - - [bdubbs] - Update to e2fsprogs-1.46.4. Fixes - #4910. - - - [bdubbs] - Update to meson-0.59.1. Fixes - #4909. - - - [bdubbs] - Update to util-linux 2.37.2. Fixes - #4908. - - - [bdubbs] - Update to linux-5.13.12. Fixes - #4907. - - - [bdubbs] - Update to libcap-2.53. Fixes - #4906. - - - [xry111] - Update to openssl-1.1.1l (security fixes). Fixes - #4911. + [renodr] - Fix regressions in File that result in improper + detection of text and XZ files. - 2021-08-20 + 2021-09-06 - [bdubbs] - Add a sed to glibc in Chapter 8 to fix a - critical security issue. + [bdubbs] - Text clarifications in the backup/restore section + of Chapter 7. Thanks to Kevin Buckley for the patch. - 2021-08-18 + 2021-09-01 - [bdubbs] - Eliminate an instruction to remove a test - in bunutils that no longer fails. + [bdubbs] - LFS-11.0 released. - - - 2021-08-16 - - - [dj] - add p11-kit to dependencies list for systemd. - - - - - - 2021-08-15 - - - [renodr] - LFS-11.0-rc1 released. - - - - - - 2021-08-14 - - - [bdubbs] - Update to grep-3.7. Fixes - #4901. - - - - - - 2021-08-13 - - - [bdubbs] - Update to linux-5.13.10. Fixes - #4904. - - - [bdubbs] - Update to bc-5.0.0. Fixes - #4903. - - - [bdubbs] - Update to vim-8.2.3337. Addresses - #4521. - - - [bdubbs] - Add binutils-2.37 upstream patch. - - - - - - 2021-08-08 - - - [bdubbs] - Update to linux-5.13.9. Fixes - #4900. - - - [bdubbs] - Update to libffi-3.4.2. Fixes - #4902. - - - - - - 2021-08-06 - - - [xry111] - Fix - libasan.a building - GCC with Glibc-2.34. Addresses - - BLFS #15350. - - - - - - 2021-08-02 - - - [bdubbs] - Update to glibc-2.34. Fixes - #4897. - - - [bdubbs] - Update to diffutils-3.8. Fixes - #4898. - - - [bdubbs] - Update to libcap-2.52. Fixes - #4899. - - - - - - 2021-08-01 - - - [bdubbs] - Remove unneeded sed commands from automake and - coreutils. Fixes - #4895. - - - [bdubbs] - Update to linux-5.13.7. Fixes - #4893. - - - [bdubbs] - Update to e2fsprogs-1.46.3. Fixes - #4896. - - - - - - 2021-07-27 - - - [xry111] - Update to GCC-11.2.0. Fixes - #4883. - - - [xry111] - Update to inetutils-2.1. Fixes - #4892. - - - [xry111] - Update to automake-1.16.4. Fixes - #4894. - - - [xry111] - Always use --strip-unneeded for stripping. - - - - - - 2021-07-27 - - - [xry111] - Use workaround for Glibc NSS modules during - stripping, to prevent bash from crash. - - - - - - 2021-07-26 - - - [thomas] - Fix a programming error in shadow-4.9 - - - - - - 2021-07-25 - - - [xry111] - (Hopefully) complete stripping workaround. - - - - - - 2021-07-25 - - - [bdubbs] - Add workaround to strip libraries - correctly. - - - [xry111] - Add workaround to install Binutils-2.37 man pages - correctly. - - - [bdubbs] - Update to shadow-4.9. Fixes - #4891. - - - [bdubbs] - Update to util-linux 2.37.1. Fixes - #4890. - - - - - - 2021-07-23 - - - [renodr] - Guard systemd against CVE-2021-33910. Fixes - #4889. - - - [renodr] - Update to meson-0.59.0. Fixes - #4888. - - - [renodr] - Update to binutils-2.37. Fixes - #4887. - - - [renodr] - Update to less-590. Fixes - #4884. - - - - - - 2021-07-22 - - - [dj] - Correct page IDs in Chapter 08 dejagnu, expect, and - tcl. - - - [dj] - Ensure that glibc installs ldconfig and sln to - /usr/sbin. - - - - - - 2021-07-20 - - - [ken] - Update to linux-5.13.4 (security fix). Fixes - #4886. - - - [xry111] - Use a fixed, non-zero UID for - tester user, and spawn a - new pseudoterminal to satisfy bash testsuite. - - - - - - 2021-07-19 - - - [renodr] - Add text about security advisories to the - Errata page. - - - - - - 2021-07-17 - - - [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 - #4885. - - - - - - 2021-07-15 - - - [bdubbs] - Remove modifications to m4 that are no longer needed. - - - - - - 2021-07-08 - - - [renodr] - Added Jinja2-3.0.1. - - - [renodr] - Added MarkupSafe-2.0.1. - - - [renodr] - Update to texinfo-6.8. Fixes - #4880. - - - [renodr] - Update to iproute2-5.13.0. Fixes - #4879. - - - [renodr] - Update to Python-3.9.6 (Security Update). Fixes - #4878. - - - [renodr] - Update to systemd-249 (Security Update). Fixes - #4882. - - - [renodr] - Update to Linux-5.13.1. Fixes - #4873. - - - - - - 2021-07-01 - - - [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 - #4875. - - - - - - 2021-06-28 - - - [ken] - If installing individual locales, add 9 more - used by libstdc++-v3 tests. Fixes - #4877. - - - - - - 2021-06-27 - - - [bdubbs] - Update to bash-5.1.8. Fixes - #4869. - - - [bdubbs] - Update to dejagnu-1.6.3. Fixes - #4871. - - - [bdubbs] - Update to gdbm-1.20. Fixes - #4872. - - - [bdubbs] - Update to libcap-2.51. Fixes - #4874. - - - [bdubbs] - Update to man-pages-5.1. Fixes - #4876. - - - - - - 2021-06-18 - - - [bdubbs] - Ensure libcap installs capsh. - - - - - - 2021-06-15 - - - [bdubbs] - Update to iana-etc-20210611. Addresses - #4722. - - - [bdubbs] - Update to vim-8.2.3001. Addresses - #4500. - - - [bdubbs] - Update to util-linux-2.37. Fixes - #4865. - - - [bdubbs] - Update to meson-0.58.1. Fixes - #4867. - - - [bdubbs] - Update to linux-5.12.10. Fixes - #4866. - - - [bdubbs] - Update to m4-1.4.19. Fixes - #4864. - - - [bdubbs] - Update to grub-2.06. Fixes - #4868. - - - - - - 2021-06-09 - - - [ken] - For consistency, make the cpp link in /usr/lib. - - - - [ken] - Install iproute2 programs in /usr/sbin for - consistency. - - - - - - 2021-06-08 - - - [bdubbs] - Make shutting down the netwrok more robust. - - - - - - 2021-06-02 - - - [thomas] - Tweak sendsignal bootscript to avoid - killing mdmod (if active). - - - - - - 2021-05-31 - - - [ken] - Update to linux-5.12.8 (security fix). Fixes - #4863. - - - - - - 2021-05-28 - - - [bdubbs] - Update to iana-etc-20210526. Addresses - #4722. - - - [bdubbs] - Update to vim-8.2.2890. Addresses - #4500. - - - [bdubbs] - Update to zstd-1.5.0. Fixes - #4858. - - - [bdubbs] - Update to perl-5.34.0. Fixes - #4860. - - - [bdubbs] - Update to linux-5.12.7. Fixes - #4857. - - - [bdubbs] - Update to libcap-2.50. Fixes - #4862. - - - [bdubbs] - Update to kmod-29. Fixes - #4859. - - - [bdubbs] - Update to expat-2.4.1. Fixes - #4861. - - - [bdubbs] - Update to elfutils-0.185. Fixes - #4855. - - - [bdubbs] - Update to bc-4.0.2. Fixes - #4855. - - - - - - 2021-05-26 - - - [thomas] - Remove obsolete DOCDIR option from iproute2 install command. - - - - - - 2021-05-17 - - - [bdubbs] - Tweak install directories for eudev and e2fsprogs. - Thanks to Ryan Marsaw for the report. - - - - - - 2021-05-14 - - - [ken] - Add a Note about upgrading in OpenSSL. - - - - - - 2021-05-12 - - - [bdubbs] - Removed instructions for running tests - in Python due to an indefinite hang in the partial - LFS envrionment. - - - [renodr] - Moved LFS to a merged-/usr configuration. Thanks - goes to Xi Ruoyao for doing almost all of the work. Fixes - #4848. - - - [renodr] - Update to gcc-11.1.0. Fixes - #4847. - - - [renodr] - Fix a FTBFS when building glibc-2.33 with - gcc-11.1.0. - - - [renodr] - Update to systemd-248. Fixes - #4841. - - - [renodr] - Update to iproute2-5.12.0. Fixes - #4852. - - - [renodr] - Update to Python-3.9.5. Fixes - #4854. - - - [renodr] - Update to meson-0.58.0. Fixes - #4853. - - - [renodr] - Update to linux-5.12.2. Fixes - #4840. - - - - - - 2021-04-28 - - - [renodr] - Fix building systemd with Linux-API-Headers 5.11.14 - and higher, as well as with meson-0.57.2. Fixes - #4851. - - - [bdubbs] - Add manual locales needed for tests - if using alternate locale installation instructions. Fixes - #4844. - - - [bdubbs] - Minor changes to boot scripts. Fixes - #4842. - Thanks to Scott Andrews for the report. - - - - - - 2021-04-26 - - - [bdubbs] - Update to vim-8.2.2812. Addresses - #4500. - - - [bdubbs] - Update to iana-etc-20210407. Addresses - #4722. - - - [bdubbs] - Update to Python3-3.9.4. Fixes - #4843. - - - [bdubbs] - Update to meson-0.57.2. Fixes - #4846. - - - [bdubbs] - Update to linux-5.11.16. Addresses - #4840. - - - [bdubbs] - Update to less-581. Fixes - #4849. - - - [bdubbs] - Update to file-5.40. Fixes - #4839. - - - [bdubbs] - Update to bc-4.0.1. Fixes - #4845. - - - - - - 2021-04-22 - - - [xry111] - Revert 2772bb9c, as the proposed fix in it is - rejected by Python maintainers explicitly. - - - - - - 2021-04-06 - - - The XML source code of this book is migrated from SVN - to Git. - - - - - - 2021-03-26 - - - [renodr] - Update to openssl-1.1.1k (Security Update). Fixes - #4838. - - - [renodr] - Update to attr-2.5.1. Fixes - #4833. - - - [renodr] - Update to linux-5.11.10. Fixes - #4834. - - - [renodr] - Update to bc-3.3.4. Fixes - #4835. - - - [renodr] - Update to man-pages-5.11. Fixes - #4836. - - - [renodr] - Update to expat-2.3.0. Fixes - #4837. - - - [renodr] - Update to acl-2.3.1. Fixes - #4832. - - - - - - 2021-03-17 - - - [xry111] - Use for Binutils - installation. Thanks report from Hans Meier. - - - - - - 2021-03-15 - - - [bdubbs] - Update to vim-8.2.2604. Addreses - #4500. - - - [bdubbs] - Update to iana-etc-20210304. Addreses - #4722. - - - [bdubbs] - Update to zstd-1.4.9. Fixes - #4827. - - - [bdubbs] - Update to sysvinit-2.99. Fixes - #4822. - - - [bdubbs] - Update to linux-5.11.6. Fixes - #4824. - - - [bdubbs] - Update to libcap-2.49. Fixes - #4831. - - - [bdubbs] - Update to iproute2-5.11.0. Fixes - #4823. - - - [bdubbs] - Update to e2fsprogs-1.46.2. Fixes - #4826. - - - [bdubbs] - Update to bison-3.7.6. Fixes - #4828. - - - [bdubbs] - Update to bc-3.3.3. Fixes - #4825. - - - [bdubbs] - Update to attr-2.5.0. Fixes - #4830. - - - [bdubbs] - Update to acl-2.3.0. Fixes - #4829. - - - - - - 2021-03-05 - - - [xry111] - Simplify the installation of systemd man pages. - - - - - - - 2021-03-04 - - - [renodr] - Patch systemd-247 so that it will function with - Linux-5.11 API headers. - - - - - - 2021-03-02 - - - [pierre] - Fix a header file for python, so that - #include <python&python-minor;/Python.h> - works. - - - - - - 2021-03-01 - - - [bdubbs] - LFS-10.1 released. - - - - 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 @@ - + + - + + + Bc &bc-version; - + + Bison-&bison-version; - + - + + - + - + @@ -96,46 +96,46 @@ - + + GDBM-&gdbm-version; - + - + - + - IANA-Etc-&iana-etc-version; + Gzip-&gzip-version; - + + Inetutils-&inetutils-version; + - + IPRoute2-&iproute2-version; - + + - + Libcap-&libcap-version; - + + - + Linux-&linux-version; - + - + - + @@ -201,15 +201,15 @@ - + - + @@ -228,36 +228,36 @@ - + + + + - + - + + @@ -267,9 +267,9 @@ - + + + file-5.40-upstream_fixes-1.patch + + 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 @@ LFS variable needs to be bash to ensure that the /root/.bash_profile file is incorporated as a part of the login process. - + 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 .bash_profile is not normally used when a virtual terminal is started. In this case, add the export command to the .bashrc file for the user and - root. In addition, - some distributions have instructions to not run the .bashrc + root. In addition, + some distributions have instructions to not run the .bashrc instructions in a non-interactive bash invocation. Be sure to add the export command before the test for non-interactive use. - + 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 @@ Creating a File System on the Partition 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: @@ -26,7 +26,7 @@ ext3 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. 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 @@ Start a disk partitioning program such as cfdisk or fdisk with a command line option naming the hard disk on which the new partition will be created—for example - /dev/sda for the primary + /dev/sda for the primary disk drive. Create a Linux native partition and a swap partition, if needed. Please refer to cfdisk(8) or fdisk(8) if @@ -88,7 +88,7 @@ swapping. 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. @@ -114,8 +114,8 @@ fdisk or have a code of EF02 if using gdisk. - 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 + 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. 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 @@ - @@ -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 @@ Introduction 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. 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/<yyy> $LFS/homeThe 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: /dev/<xxx> /mnt/lfs ext4 defaults 1 1 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 @@ These chapters are accomplished on the host system. When restarting, be careful of the following: - + Procedures done as the @@ -32,7 +32,7 @@ - + Chapter 5–6 @@ -85,8 +85,8 @@ 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 root, running the - commands in - and + commands in + and . 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 @@ - The files can be downloaded individually as described in the + The files can be downloaded individually as described in the next two sections. - For stable versions of the book, a tarball of all the needed files + 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 . @@ -83,7 +83,7 @@ md5sum -c md5sums popd - This check can be used after retrieving the needed files with any of the + This check can be used after retrieving the needed files with any of the methods listed above. 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 @@ The Linux kernel is updated relatively often, many times due to discoveries of security vulnerabilities. The latest available - stable kernel + stable kernel version may be used, unless the errata page says otherwise. diff --git a/chapter03/patches.xml b/chapter03/patches.xml index 9c32c63f8..8921684ce 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -60,6 +60,14 @@ + + File Upstream Fixes Patch - &file-upstream-fixes-patch-size;: + + Download: + MD5 sum: &file-upstream-fixes-md5; + + + Glibc FHS Patch - &glibc-fhs-patch-size;: 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 @@ Adding the LFS User When logged in as user root, - 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 out of the way. As the root user, run: - [ ! -e /etc/bash.bashrc ] || mv -v /etc/bash.bashrc /etc/bash.bashrc.NOUSE + [ ! -e /etc/bash.bashrc ] || mv -v /etc/bash.bashrc /etc/bash.bashrc.NOUSE After use of the lfs user is finished at the beginning of - The Binutils documentation recommends building Binutils + The Binutils documentation recommends building Binutils in a dedicated build directory: 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 ;; esac - The GCC documentation recommends building GCC + The GCC documentation recommends building GCC in a dedicated build directory: mkdir -v build @@ -107,7 +107,7 @@ cd build --with-glibc-version=2.11 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 . @@ -159,7 +159,7 @@ cd build --disable-decimal-float, --disable-threads, - --disable-libatomic, --disable-libgomp, + --disable-libatomic, --disable-libgomp, --disable-libquadmath, --disable-libssp, --disable-libvtv, --disable-libstdcxx 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 patch -Np1 -i ../glibc-&glibc-version;-fhs-1.patch - The Glibc documentation recommends building Glibc + The Glibc documentation recommends building Glibc in a dedicated build directory: mkdir -v build @@ -139,7 +139,7 @@ cd build generally harmless. This msgfmt program is part of the Gettext package which the host distribution should provide. - There have been reports that this package may fail when + 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. 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 @@ - <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 - The file command on the build host needs - to be same version as the one we are building in order to + The file 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: 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 @@ Using the utilities will be possible in next chapter after entering the chroot 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. Once again, let us recall that improper setting of LFS 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 @@ - + The following commands are extremly dangerous. If - you run rm -rf ./* as the root user and you - do not change to the $LFS directory or the LFS - environment variable is not set for the root user, it will destroy + you run rm -rf ./* as the root user and you + do not change to the $LFS directory or the LFS + environment variable is not set for the root user, it will destroy your entire host system. YOU ARE WARNED. cd $LFS @@ -165,7 +173,7 @@ tar -xpf $HOME/lfs-temp-tools-&version;.tar.xz environment (see ) before continuing. - + 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 @@ Introduction 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 chroot environment, - completely isolated the host operating system used for the build, except - for the running kernel. + system: the tools needed by the build machinery of various packages. Now + that all circular dependencies have been resolved, a chroot + environment, completely isolated from the host operating system (except for + the running kernel), can be used for the build. 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 --> In some host systems, /dev/shm is a symbolic link to /run/shm. - 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. 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 @@ -des - This is a combination of three options: -d uses defaults for + This is a combination of three options: -d uses defaults for all items; -e ensures completion of all tasks; -s silences non-essential output. 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 @@ make 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: make check 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 @@ make -j4 check Install the package: 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 @@ - <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 + First, fix a few regressions in File: + +patch -Np1 -i ../file-&file-version;-upstream_fixes-1.patch + Prepare File for compilation: ./configure --prefix=/usr 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 Test the results as a non-privileged user, but do not stop at errors: -chown -Rv tester . +chown -Rv tester . su tester -c "PATH=$PATH make -k check" To receive a summary of the test suite results, run: @@ -185,7 +185,7 @@ rm -rf /usr/lib/gcc/$(gcc -dumpmachine)/&gcc-version;/include-fixed/bits/ln -sv gcc /usr/bin/cc --> Add a compatibility symlink to enable building programs with - Link Time Optimization (LTO): + Link Time Optimization (LTO): ln -sfv ../../libexec/gcc/$(gcc -dumpmachine)/&gcc-version;/liblto_plugin.so \ /usr/lib/bfd-plugins/ @@ -351,7 +351,7 @@ mv -v /usr/lib/*gdb.py /usr/share/gdb/auto-load/usr/lib libstdc++.{a,so}, libstdc++fs.a, libsupc++.a, libtsan.{a,so}, and libubsan.{a,so} - /usr/include/c++, /usr/lib/gcc, /usr/libexec/gcc, and + /usr/include/c++, /usr/lib/gcc, /usr/libexec/gcc, and /usr/share/gcc-&gcc-version; 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 @@ First, fix a security problem identified upstream: sed -e '/NOTIFY_REMOVED)/s/)/ \&\& data.attr != NULL)/' \ - -i sysdeps/unix/sysv/linux/mq_notify.c + -i sysdeps/unix/sysv/linux/mq_notify.c Some of the Glibc programs use the non-FHS compliant /var/db directory to store @@ -55,7 +55,7 @@ patch -Np1 -i ../&glibc-fhs-patch; - The Glibc documentation recommends building Glibc + The Glibc documentation recommends building Glibc in a dedicated build directory: mkdir -v build @@ -82,7 +82,7 @@ cd build --disable-werror - This option disables the -Werror option passed to + This option disables the -Werror option passed to GCC. This is necessary for running the test suite. @@ -100,7 +100,7 @@ cd build --enable-stack-protector=strong - This option increases system security by adding + This option increases system security by adding extra code to check for buffer overflows, such as stack smashing attacks. @@ -150,18 +150,18 @@ esac 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: - io/tst-lchmod + io/tst-lchmod is known to fail in the LFS chroot environment. - misc/tst-ttyname + misc/tst-ttyname is known to fail in the LFS chroot environment. setfont, setkeycodes, setleds, setmetamode, setvtrgb, showconsolefont, showkey, unicode_start, and unicode_stop - /usr/share/consolefonts, /usr/share/consoletrans, /usr/share/keymaps, + /usr/share/consolefonts, /usr/share/consoletrans, /usr/share/keymaps, /usr/share/doc/kbd-&kbd-version;, and /usr/share/unimaps 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 Installed library - depmod (link to kmod), insmod (link to kmod), kmod, + 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) libkmod.so 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 @@ make To test the results, issue: - + make check 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 @@ 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 the x86 options in the GCC manual. 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. 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. Install the package: 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 @@ --with-systemd... - These parameters prevent installing unneeded systemd + These parameters prevent installing unneeded systemd directories and files. 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/ The meaning of the install parameters: - + --root=dest 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; 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: @@ -143,7 +143,7 @@ cp -v -R doc/* /usr/share/doc/ncurses-&ncurses-version; --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 @@ -160,27 +160,27 @@ cp -av lib/lib*.so.5* /usr/lib - 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 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. - /usr/share/tabset, + /usr/share/tabset, /usr/share/terminfo, and /usr/share/doc/ncurses-&ncurses-version; 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 @@ Installation of Ninja 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. Using the optional 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. For example, setting: export NINJAJOBS=4 will limit ninja to four parallel processes. - If desired, add the capability to use the environment variable + If desired, add the capability to use the environment variable NINJAJOBS by running: 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 @@ patch -Np1 -i ../&perl-fix-patch; - This version of Perl now builds the Compress::Raw::Zlib and + 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 -Dpager="/usr/bin/less -isR" - This ensures that less is used instead + This ensures that less is used instead of more. 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 libfoo with the name of the library): -grep -l -e 'libfoo.*deleted' /proc/*/maps | +grep -l -e 'libfoo.*deleted' /proc/*/maps | tr -cd 0-9\\n | xargs -r ps u 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 @@ This package extracts to the directory - procps-3.3.17, + procps-3.3.17, not the expected procps-ng-3.3.17. @@ -93,7 +93,7 @@ make check Five tests related to pkill are known to fail due to a problem with tests that were not updated. - + Install the package: make install 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 @@ If desired, install the preformatted documentation: -install -v -dm755 /usr/share/doc/python-&python-version;/html +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 \ and - Ensure the installed files have the correct ownership and + Ensure the installed files have the correct ownership and permissions. Without these options, using tar - will install the package files with the upstream creator's values. + will install the package files with the upstream creator's values. @@ -144,7 +144,7 @@ tar --strip-components=1 \ libpython&python-minor;.so and libpython3.so - /usr/include/python&python-minor;, + /usr/include/python&python-minor;, /usr/lib/python3, and /usr/share/doc/python-&python-version; @@ -162,7 +162,7 @@ tar --strip-components=1 \ is a Python program that reads Python 2.x source code and applies a - series of fixes to transform it into + series of fixes to transform it into valid Python 3.x code 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 @@ rm -rf /tmp/* 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: logout @@ -55,7 +55,7 @@ chroot "$LFS" /usr/bin/env -i \ find /usr -depth -name $(uname -m)-lfs-linux-gnu\* | xargs rm -rf - Finally, remove the temporary 'tester' user account created at the + Finally, remove the temporary 'tester' user account created at the beginning of the previous chapter. userdel -r tester 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 @@ Stripping - This section is optional. If the intended user is not a + 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. The debugging symbols for selected libraries are placed - in separate files. This debugging information is needed if running - regression tests that use valgrind or valgrind or gdb later in BLFS. @@ -41,7 +41,7 @@ rationale to use the install command here. 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. @@ -50,10 +50,10 @@ 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: - + systemctl disable systemd-time-wait-sync.service @@ -251,8 +251,8 @@ meson --prefix=/usr \ /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 @@ -323,7 +323,7 @@ meson --prefix=/usr \ init 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 @@ -389,7 +389,7 @@ meson --prefix=/usr \ networkctl - Is used to introspect and configure the state of the network + Is used to introspect and configure the state of the network links configured by systemd-networkd networkctl @@ -477,7 +477,7 @@ meson --prefix=/usr \ shutdown - Brings the system down in a safe and secure manner, signaling + Brings the system down in a safe and secure manner, signaling all processes and notifying all logged-in users shutdown @@ -774,7 +774,7 @@ meson --prefix=/usr \ systemd-tty-ask-password-agent - Is used to list and/or process pending systemd password + Is used to list and/or process pending systemd password requests systemd-tty-ask-password-agent @@ -807,9 +807,9 @@ meson --prefix=/usr \ udevadm - 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 + 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 udevadm 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 @@ Installed programs - bootlogd, fstab-decode, halt, init, killall5, + bootlogd, fstab-decode, halt, init, killall5, poweroff (link to halt), reboot (link to halt), runlevel, shutdown, and telinit (link to init) 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. First, unpack the documentation by issuing the following command: @@ -140,10 +140,16 @@ unset SRCDIR ln -sfv tclsh&tcl-major-version; /usr/bin/tclsh - Finally, rename a man page that conflicts with a Perl man page: + Rename a man page that conflicts with a Perl man page: mv /usr/share/man/man3/{Thread,Tcl_Thread}.3 + If you downloaded the optional documentation, install it by issuing + the following commands: + + mkdir -v -p /usr/share/doc/tcl-&tcl-version; +cp -v -r ../html/* /usr/share/doc/tcl-&tcl-version; + @@ -155,11 +161,11 @@ unset SRCDIR - tclsh (link to tclsh&tcl-major-version;) and + tclsh (link to tclsh&tcl-major-version;) and tclsh&tcl-major-version; - libtcl&tcl-major-version;.so and + libtcl&tcl-major-version;.so and libtclstub&tcl-major-version;.a 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 texi2any - Translate Texinfo source documentation to + Translate Texinfo source documentation to various other formats texi2any 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 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. Compile the package: @@ -138,14 +138,14 @@ su tester -c "make -k check" swapoff (link to swapon), swapon, switch_root, taskset, ul, umount, uname26, unshare, utmpdump, uuidd, uuidgen, uuidparse, wall, wdctl, whereis, wipefs, x86_64, and zramctl - libblkid.so, libfdisk.so, libmount.so, + libblkid.so, libfdisk.so, libmount.so, libsmartcols.so, and libuuid.so - /usr/include/blkid, - /usr/include/libfdisk, - /usr/include/libmount, - /usr/include/libsmartcols, - /usr/include/uuid, - /usr/share/doc/util-linux-&util-linux-version;, + /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 @@ -592,8 +592,8 @@ su tester -c "make -k check" last - Shows which users last logged in (and out), searching back - through the /var/log/wtmp file; it also shows + Shows which users last logged in (and out), searching back + through the /var/log/wtmp file; it also shows system boots, shutdowns, and run-level changes last @@ -604,7 +604,7 @@ su tester -c "make -k check" lastb - Shows the failed login attempts, as logged in + Shows the failed login attempts, as logged in /var/log/btmp lastb @@ -759,7 +759,7 @@ su tester -c "make -k check" mesg - Controls whether other users can send messages to the current + Controls whether other users can send messages to the current user's terminal mesg @@ -1260,7 +1260,7 @@ su tester -c "make -k check" zramctl - A program to set up and control zram (compressed ram disk) + A program to set up and control zram (compressed ram disk) devices zramctl 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 @@ make - To prepare the tests, ensure that user - tester can write + To prepare the tests, ensure that user + tester can write to the source tree: chown -Rv tester . @@ -133,7 +133,7 @@ done " 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 @@ - 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 liblzma.so - /usr/include/lzma and + /usr/include/lzma and /usr/share/doc/xz-&xz-version; 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 @@ Installed library - zstd, - zstdcat (link to zstd), - zstdgrep, - zstdless, + zstd, + zstdcat (link to zstd), + zstdgrep, + zstdless, zstdmt (link to zstd), and unzstd (link to zstd) 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 @@ <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 - + The traditional naming scheme using eth0, eth1, etc can be - restored by adding net.ifnames=0 on the + restored by adding net.ifnames=0 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 . Creating Custom Udev Rules - + 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: @@ -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. - + 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. - + 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: - + SUBSYSTEM=="net" - This tells udev to ignore @@ -106,7 +106,7 @@ udev will assign to this interface. - + The value of NAME 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 NAME 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 Disabling tmpfs for /tmp By default, /tmp 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: ln -sfv /dev/null /etc/systemd/system/tmp.mount Alternatively, if a separate partition for - /tmp is desired, specify that + /tmp is desired, specify that partition in a /etc/fstab entry. @@ -81,9 +81,9 @@ EOF systemd-tmpfiles-setup-dev.service systemd-tmpfiles-setup.service - + The system location for the configuration files is - /usr/lib/tmpfiles.d/*.conf. The local + /usr/lib/tmpfiles.d/*.conf. The local configuration files are in /etc/tmpfiles.d. Files in /etc/tmpfiles.d override @@ -94,9 +94,9 @@ EOF Note that the syntax for the - /usr/lib/tmpfiles.d/*.conf files can be + /usr/lib/tmpfiles.d/*.conf files can be confusing. For example, the default deletion of files in the /tmp directory - is located in /usr/lib/tmpfiles.d/tmp.conf with + is located in /usr/lib/tmpfiles.d/tmp.conf with the line: q /tmp 1777 root root 10d @@ -148,7 +148,7 @@ EOF 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 systemctl 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: 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 devtmpfs used initially. - + Module Loading @@ -223,12 +223,12 @@ Note that the softdep command also allows pre: dependencies, or a mixture of both - pre: and post: dependencies. See + pre: and post: dependencies. See the modprobe.d(5) manual page for more information on softdep syntax and capabilities. - If the module in question is not a wrapper and is - useful by itself, configure the modules bootscript to + If the module in question is not a wrapper and is + useful by itself, configure the modules bootscript to load this module on system boot. To do this, add the module name to the /etc/sysconfig/modules file on a separate line. This works for wrapper modules too, but is suboptimal in that case. 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. - + SysVinit (which will be referred to as init 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 <device> is an absolute path in /dev or /sys such as /dev/sr0 or /sys/class/rtc. - For information on kernel module loading and udev, see + For information on kernel module loading and udev, see . @@ -535,28 +535,28 @@ EOF Creating Files at Boot - + File creation at boot configuring - + At times, it is desirable to create files at boot time. For instance, the /tmp/.ICE-unix directory is often needed. This can be done by creating an entry in the /etc/sysconfig/createfiles 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. Configuring the sysklogd Script - + sysklogd configuring - + The sysklogd script invokes the syslogd program as a part of System V initialization. The -m 0 option turns off the periodic timestamp mark that @@ -574,11 +574,11 @@ EOF The rc.site File - + rc.site - + The optional /etc/sysconfig/rc.site file contains settings that are automatically set for each SystemV boot script. It can alternatively set the values specified in the hostname, @@ -587,33 +587,33 @@ EOF associated variables are present in both these separate files and rc.site, the values in the script specific files have precedence. - + rc.site 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: - + &site; - + Customizing the Boot and Shutdown Scripts - + 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 /etc/sysconfig/rc.site file above. - + - + During the boot script udev, there is a call to udev settle 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. - + The boot script udev_retry also runs udev settle by default. This command is only needed by default if the /var directory is @@ -622,12 +622,12 @@ EOF 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. - + By default, the file system checks are silent. This can appear to be a delay during the bootup process. To turn on the fsck output, set the variable VERBOSE_FSCK=y. - + When rebooting, you may want to skip the filesystem check, fsck, completely. To do this, either create the file /fastboot or reboot the system with the command @@ -636,17 +636,17 @@ EOF /forcefsck or running shutdown with the -F parameter instead of -f. - + Setting the variable FASTBOOT=y will disable fsck during the boot process until it is removed. This is not recommended on a permanent basis. - + Normally, all files in the /tmp 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. - + During shutdown, the init 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 -t0 -r now). The delay for the sendsignals script can be skipped by setting the parameter KILLDELAY=0. - + - + 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 package. -cd /tmp -grub-mkrescue --output=grub-img.iso +cd /tmp +grub-mkrescue --output=grub-img.iso xorriso -as cdrecord -v dev=/dev/cdrw blank=as_needed grub-img.iso 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 @@ - A good starting place for setting up the kernel configuration is to run make defconfig. 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; source. - In many cases, the configuration of the kernel will need to be + 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. - + after the newly built kernel is installed. + If the kernel source tree is going to be retained, run chown -R 0:0 on the linux-&linux-version; 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 @@ - + 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 @@ - + - + @@ -78,10 +78,10 @@ - - + + - + @@ -263,10 +263,10 @@ - - + + - + @@ -334,10 +334,10 @@ - - + + - + @@ -352,10 +352,10 @@ - - + + - + @@ -369,10 +369,10 @@ - - + + - + @@ -427,11 +427,11 @@ sake of make-aux-files.sh --> - + - + - + ]]> @@ -445,10 +445,10 @@ ]]> - - + + - + @@ -478,13 +478,13 @@ - - + + - + - + - + - + - + - - + + @@ -691,7 +691,7 @@ - + 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 @@ Using the tar program, extract the package to be built. In and - , ensure you are + , ensure you are the lfs user when extracting the package. 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 @@ 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, 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 , final versions of all the packages needed for a fully functional system are built, tested and installed. diff --git a/patches.ent b/patches.ent index 07f8f154a..0e9c9be6e 100644 --- a/patches.ent +++ b/patches.ent @@ -30,6 +30,10 @@ --> + + + + 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/'/\&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 @@ Foreword -My journey to learn and better understand Linux began +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. 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 @@ Part V - Appendices 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. 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. - Filesystem Hierarchy Standard (FHS) Version 3.0 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 @@ Acl - This package contains utilities to administer Access - Control Lists, which are used to define more fine-grained - discretionary access rights for files and directories. + This package contains utilities to administer Access + Control Lists, which are used to define more fine-grained + discretionary access rights for files and directories. Attr - This package contains programs for administering - extended attributes on filesystem objects. + This package contains programs for administering + extended attributes on filesystem objects. @@ -66,7 +66,7 @@ Bc - This package provides an arbitrary precision numeric processing language. + This package provides an arbitrary precision numeric processing language. It satisfies a requirement needed when building the Linux kernel. @@ -110,7 +110,7 @@ D-Bus - This package contains programs to implement a message bus system, + This package contains programs to implement a message bus system, which a simple way for applications to talk to one another. @@ -141,7 +141,7 @@ Eudev 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. @@ -282,7 +282,7 @@ Intltool - This package contains tools for extracting translatable + This package contains tools for extracting translatable strings from source files. @@ -326,8 +326,8 @@ Libcap - This package implements the user-space interfaces to - the POSIX 1003.1e capabilities available in Linux kernels. + This package implements the user-space interfaces to + the POSIX 1003.1e capabilities available in Linux kernels. @@ -626,7 +626,7 @@ Zstd 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. 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 @@ auto - auto always @@ -114,8 +114,8 @@ - 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 @@ - @@ -32,13 +32,13 @@ - + - + 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 @@ - 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 * 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 * 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