diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index 03eed010f..697d0d1d7 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -312,7 +312,8 @@ &external; - Elfutils + Elfutils and + Jansson @@ -463,7 +464,9 @@ &before; - Bash, Diffutils, Eudev, Findutils, and Man-DB + Bash, Diffutils, Eudev, + Findutils, and Man-DB, and Systemd @@ -479,42 +482,45 @@ - + DejaGNU @@ -633,9 +639,9 @@ - Eudev + Eudev - + &dependencies; Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Gperf, Make, @@ -643,28 +649,28 @@ - + &runtime; Glibc, Kmod, Xz, Util-linux, and Zlib. - + &testsuites; None - + &before; None - + &external; None @@ -1578,7 +1584,8 @@ &before; - Eudev + Eudev + Systemd @@ -1625,6 +1632,7 @@ &external; + PCRE2 or PCRE @@ -2027,7 +2035,8 @@ &external; - libseccomp + libseccomp and + po4a @@ -2435,7 +2444,7 @@ &dependencies; - Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, Popt, + Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make, and Sed @@ -2714,37 +2723,37 @@ - Sysklogd + Sysklogd - + &dependencies; Binutils, Coreutils, GCC, Glibc, Make, and Patch - + &runtime; Glibc - + &testsuites; No test suite available - + &before; None - + &external; None @@ -2828,7 +2837,8 @@ quota-tools, rsync, - Sphinx, + + Sphinx, tpm2-tss, Valgrind, @@ -3000,8 +3010,10 @@ &dependencies; - Bash, Binutils, Coreutils, Diffutils, Eudev, Findutils, Gawk, - GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed, and Zlib + Bash, Binutils, Coreutils, Diffutils, + Eudev, Findutils, Gawk, + GCC, Gettext, Glibc, Grep, Make, Ncurses, Sed, + Systemd, and Zlib @@ -3078,7 +3090,7 @@ Xorg, GTK+2, - LessTif, + LessTif, Ruby, and GPM @@ -3192,7 +3204,9 @@ &before; - Eudev, File, GRUB, Kmod, and Man-DB + Eudev, File, GRUB, Kmod, + and Man-DB, and Systemd diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 196c32fe5..72de0fc74 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -39,6 +39,185 @@ or as appropriate for the entry or if needed the entire day's listitem. --> + + 2023-02-19 + + + [xry111] - Apply a patch for GRUB for an issue triggered + with e2fsprogs-1.47.0. Fixes + #5219. + + + + + + 2023-02-13 + + + [bdubbs] - Update to man-pages-6.03. Fixes + #5216. + + + + + + 2023-02-11 + + + [bdubbs] - Update to iana-etc-20230202. Addresses + #5006. + + + [bdubbs] - Update to zstd-1.5.4. Fixes + #5215. + + + [bdubbs] - Update to Python3-3.11.2. Fixes + #5214. + + + [bdubbs] - Update to e2fsprogs-1.47.0. Fixes + #5213. + + + [bdubbs] - Update to dbus-1.14.6. Fixes + #5212. + + + [bdubbs] - Update to linux-6.1.11. Fixes + #5210. + + + [bdubbs] - Update to libcap-2.67. Fixes + #5209. + + + [bdubbs] - Update to bc-6.2.4. Fixes + #5207. + + + + + + 2023-02-07 + + + [renodr] - Update to OpenSSL-3.0.8 (Security Update). Fixes + #5211. + + + [renodr] - Update to e2fsprogs-1.46.6 (Security Update). Fixes + #5208. + + + + + + 2023-02-06 + + + [renodr] - Repackage the systemd man pages to prevent stray + man pages from ending up in /usr/share/man. + + + + + + 2023-02-02 + + + [xry111] - Update to glibc-2.37. Fixes + #5203. + + + [xry111] - Update to bc-6.2.3. Fixes + #5204. + + + [xry111] - Update to linux-6.1.9. Fixes + #5205. + + + [xry111] - Update to vim-9.0.1273. Addresses + #4500. + + + [xry111] - Remove + for libffi. + + + + + + 2023-02-01 + + + [bdubbs] - Update to texinfo-7.0.2. Fixes + #5202. + + + [bdubbs] - Update to linux-6.1.8. Fixes + #5201. + + + [bdubbs] - Update to diffutils-3.9. Fixes + #5199. + + + + + + 2023-01-22 + + + [bdubbs] - Update to MarkupSafe-2.1.2. Fixes + #5200. + + + + + + 2023-01-15 + + + [thomas] - Add libsframe to online_usrlib in stripping. + libsframe.so.0.0.0 is in use by strip. + + + [bdubbs] - Update to iana-etc-20230109. Addresses + #5006. + + + [bdubbs] - Update to binutils-2.40. Fixes + #5198. + + + [bdubbs] - Update to bc-6.2.2. Fixes + #5192. + + + [bdubbs] - Update to linux-6.1.6. Fixes + #5193. + + + [bdubbs] - Update to man-db-2.11.2. Fixes + #5196. + + + [bdubbs] - Update to mpfr-4.2.0. Fixes + #5195. + + + [bdubbs] - Update to ncurses-6.4. Fixes + #5194. + + + [bdubbs] - Update to xz-5.4.1. Fixes + #5197. + + + + 2023-01-01 diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 86992592b..bf69cb08f 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -52,9 +52,9 @@ Bc &bc-version; - + @@ -73,12 +73,12 @@ D-Bus-&dbus-version; - - + @@ -109,9 +109,9 @@ Gettext-&gettext-version; - + @@ -187,21 +187,21 @@ Man-pages-&man-pages-version; - + Meson-&meson-version; MPC-&mpc-version; - - + Ninja-&ninja-version; @@ -274,9 +274,9 @@ Zlib-&zlib-version; - + - + &readline-fixes-patch; @@ -309,9 +309,9 @@ Removed: - + + zstd-1.5.2-upstream_fixes-1.patch + diff --git a/chapter02/hostreqs.xml b/chapter02/hostreqs.xml index c612f5963..05cf80d2b 100644 --- a/chapter02/hostreqs.xml +++ b/chapter02/hostreqs.xml @@ -10,6 +10,21 @@ Host System Requirements + + Hardware + + The LFS editors recommend that the system CPU have at least + four cores and that the system have at least 8 GB of memory. + Older systems that do not meet these requirements will still work, + but the time to build packages will be significantly longer + than documented. + + + + + + Software + Your host system should have the following software with the minimum versions indicated. This should not be an issue for most modern Linux distributions. Also note that many distributions will @@ -224,5 +239,5 @@ bash library-check.sh The files identified by this script should be all present or all absent, but not only one or two present. --> - + diff --git a/chapter03/packages.xml b/chapter03/packages.xml index d82e0b4c4..92d44afaf 100644 --- a/chapter03/packages.xml +++ b/chapter03/packages.xml @@ -270,6 +270,20 @@ Home page: Download: MD5 sum: &glibc-md5; + + + + The Glibc developers maintain a + Git + branch containing patches considered worthy for + Glibc-&glibc-version; but unfortunately developed after + Glibc-&glibc-version; release. The LFS editors will issue a + security advisory if any security fix is added into the branch, + but no actions will be taken for other newly added patches. You + may review the patches yourself and incorporate some patches if + you consider them important. + + diff --git a/chapter03/patches.xml b/chapter03/patches.xml index 05b49d319..44367898f 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -85,6 +85,14 @@ + + GRUB Upstream Fixes Patch - &grub-upstream-fixes-patch-size;: + + Download: + MD5 sum: &grub-upstream-fixes-patch-md5; + + + Kbd Backspace/Delete Fix Patch - &kbd-backspace-patch-size;: @@ -153,6 +161,7 @@ --> + Total size of these patches: about diff --git a/chapter04/aboutsbus.xml b/chapter04/aboutsbus.xml index 82934d851..f88db24f6 100644 --- a/chapter04/aboutsbus.xml +++ b/chapter04/aboutsbus.xml @@ -13,17 +13,17 @@ Many people would like to know beforehand approximately how long it takes to compile and install each package. Because Linux From Scratch can be built on many different systems, it is impossible to - provide absolute time estimates. The biggest package (Glibc) will - take approximately 20 minutes on the fastest systems, but could take - up to three days on slower systems! Instead of providing actual times, + provide absolute time estimates. The biggest package (gcc) will + take approximately 5 minutes on the fastest systems, but could take + days on slower systems! Instead of providing actual times, the Standard Build Unit (SBU) measure will be used instead. - The SBU measure works as follows. The first package to be compiled - is binutils in . The - time it takes to compile this package is what we will refer to as the - Standard Build Unit or SBU. All other compile times will be expressed in - terms of this unit of time. + The SBU measure works as follows. The first package to be compiled is + binutils in . The time it takes to + compile using one core is what we will refer to as the Standard + Build Unit or SBU. All other compile times will be expressed in terms of this + unit of time. For example, consider a package whose compilation time is 4.5 SBUs. This means that if your system took 10 minutes to compile and @@ -55,6 +55,11 @@ be more difficult because the lines from different processes will be interleaved. If you run into a problem with a build step, revert to a single processor build to properly analyze the error messages. + + The times presented here are based upon using four cores (-j4). The + times in Chapter 8 also include the time to run the regression tests for + the package unless specified otherwise. + diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml index 2b2133a43..239888969 100644 --- a/chapter05/gcc-pass1.xml +++ b/chapter05/gcc-pass1.xml @@ -203,6 +203,14 @@ cd build header using a command that is identical to what the GCC build system does in normal circumstances: + + The command below shows an example of nested command substitution + using two methods: backquotes and a $() construct. + It could be rewritten using the same method for both substitutions, + but is shown this way to demonstrate how they can be mixed. Generally + the $() method is preferred. + + cd .. cat gcc/limitx.h gcc/glimits.h gcc/limity.h > \ `dirname $($LFS_TGT-gcc -print-libgcc-file-name)`/install-tools/include/limits.h diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml index 2be7c2b0e..d3e5600e8 100644 --- a/chapter05/glibc.xml +++ b/chapter05/glibc.xml @@ -43,11 +43,6 @@ Installation of Glibc - Fix an issue building Glibc with parallel jobs and make-4.4 - or later: - -sed '/MAKEFLAGS :=/s/)r/) -r/' -i Makerules - Some of the Glibc programs use the non-FHS-compliant /var/db directory to store their runtime data. Apply the following patch to make such programs store their diff --git a/chapter08/bash.xml b/chapter08/bash.xml index 5eb49505a..a8bf2b871 100644 --- a/chapter08/bash.xml +++ b/chapter08/bash.xml @@ -87,6 +87,19 @@ lassign [wait] _ _ _ value exit $value EOF + The test suite uses diff to detect the + difference between test script output and the expected output. Any + output from diff (prefixed with + < and + >) indicates a test failure, unless + there is a message saying the difference can be ignored. + + One test named run-builtins is known to fail on + some host distros with a difference on the first line of the + output. + Install the package: make install diff --git a/chapter08/binutils.xml b/chapter08/binutils.xml index f4307ea48..5722780fe 100644 --- a/chapter08/binutils.xml +++ b/chapter08/binutils.xml @@ -164,31 +164,14 @@ cd build grep '^FAIL:' $(find -name '*.log') - - - The test named ar with versioned solib is - known to fail. - - Because of a race between the gas test suite and the gprofng test suite, - some gas tests may fail if parallel jobs are used. If you are not - assured of the correctness of gas, invoke - make check-gas to run the gas test suite separately and - all tests should pass. Three gprofng tests yield the - ERROR result, and they are counted as - UNRESOLVED in the summary. - Install the package: make tooldir=/usr install Remove useless static libraries and an empty man page: -rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes}.a -rm -fv /usr/share/man/man1/gprofng.1 +rm -fv /usr/lib/lib{bfd,ctf,ctf-nobfd,sframe,opcodes}.a +rm -fv /usr/share/man/man1/{gprofng,gp-*}.1 @@ -203,7 +186,7 @@ rm -fv /usr/share/man/man1/gprofng.1 addr2line, ar, as, c++filt, dwp, elfedit, gprof, gprofng, ld, ld.bfd, ld.gold, nm, objcopy, objdump, ranlib, readelf, size, strings, and strip - libbfd.so, libctf.so, libctf-nobfd.so, and libopcodes.so + libbfd.so, libctf.so, libctf-nobfd.so, libopcodes.so, and libsframe.so /usr/lib/ldscripts @@ -464,6 +447,17 @@ rm -fv /usr/share/man/man1/gprofng.1 + + libsframe + + A library to support online backtracing using a + simple unwinder + + libsframe + + + + diff --git a/chapter08/dbus.xml b/chapter08/dbus.xml index 71a93e5cb..8f3c80f7a 100644 --- a/chapter08/dbus.xml +++ b/chapter08/dbus.xml @@ -67,9 +67,9 @@ --with-system-socket=/run/dbus/system_bus_socket - These set the location of the PID file and the system bus socket + These cause the PID file and the system bus socket to be in /run, instead of - deprecated /var/run. + the deprecated /var/run. diff --git a/chapter08/e2fsprogs.xml b/chapter08/e2fsprogs.xml index bccf33227..68cfffd69 100644 --- a/chapter08/e2fsprogs.xml +++ b/chapter08/e2fsprogs.xml @@ -134,6 +134,33 @@ install -v -m644 doc/com_err.info /usr/share/info install-info --dir-file=/usr/share/info/dir /usr/share/info/com_err.info + + Configuring E2fsprogs + + + /etc/mke2fs.conf + + + + /etc/mke2fs.conf contains the default value of + various command line options of mke2fs. You may + edit the file to make the default values suitable for your need. + For example, some utilities (not in LFS or BLFS) cannot recognize a + ext4 file system with + metadata_csum_seed feature enabled. + If you need such an utility, you may + remove the feature from the default + ext4 feature list with the + command: + + + sed 's/metadata_csum_seed,//' -i /etc/mke2fs.conf + + + Read the man page mke2fs.conf(5) for details. + + + Contents of E2fsprogs diff --git a/chapter08/glibc.xml b/chapter08/glibc.xml index 86704bc47..43a58b366 100644 --- a/chapter08/glibc.xml +++ b/chapter08/glibc.xml @@ -43,11 +43,6 @@ Installation of Glibc - First, fix an issue building Glibc with parallel jobs and Make-4.4 - or later: - -sed '/MAKEFLAGS :=/s/)r/) -r/' -i Makerules - Some of the Glibc programs use the non-FHS compliant /var/db directory to store their runtime data. Apply the following patch to make such programs @@ -55,6 +50,16 @@ patch -Np1 -i ../&glibc-fhs-patch; + + Fix a security issue identified upstream: + +sed '/width -=/s/workend - string/number_length/' \ + -i stdio-common/vfprintf-process-arg.c + The Glibc documentation recommends building Glibc in a dedicated build directory: @@ -165,12 +170,6 @@ esac is known to fail in the LFS chroot environment. - - The nss/tst-nss-files-hosts-long - test is known to fail if the system has no non-loopback IP - addresses. - - The stdlib/tst-arc4random-thread diff --git a/chapter08/grub.xml b/chapter08/grub.xml index 4979f21e1..f0e24c132 100644 --- a/chapter08/grub.xml +++ b/chapter08/grub.xml @@ -72,6 +72,15 @@ aggressive optimization. + + Fix an issue causing grub-install to fail when the + /boot partition (or the root + partition if /boot is not a + separate partition) is created by e2fsprogs-1.47.0 or later: + + +patch -Np1 -i ../grub-&grub-version;-upstream_fixes-1.patch + Prepare GRUB for compilation: ./configure --prefix=/usr \ diff --git a/chapter08/introduction.xml b/chapter08/introduction.xml index f80ccc0c1..93d4bd68d 100644 --- a/chapter08/introduction.xml +++ b/chapter08/introduction.xml @@ -52,8 +52,8 @@ The SBU values and required disk space include test suite data for all applicable packages in . SBU - values have been calculated using a single CPU core (-j1) for all - operations. + values have been calculated using four CPU cores (-j4) for all + operations unless specified otherwise. About Libraries diff --git a/chapter08/libelf.xml b/chapter08/libelf.xml index 07006341f..739dffb46 100644 --- a/chapter08/libelf.xml +++ b/chapter08/libelf.xml @@ -58,8 +58,9 @@ make check - One test named run-low_high_pc.sh is known to - fail on ARM64 systems. + + The test named run-native-test.sh is known to + fail. Install only Libelf: diff --git a/chapter08/libffi.xml b/chapter08/libffi.xml index 4a9ad7e36..9096e2fd8 100644 --- a/chapter08/libffi.xml +++ b/chapter08/libffi.xml @@ -62,8 +62,7 @@ ./configure --prefix=/usr \ --disable-static \ - --with-gcc-arch=native \ - --disable-exec-static-tramp + --with-gcc-arch=native The meaning of the configure option: @@ -81,17 +80,6 @@ the AArch64 options in the GCC manual. - - - - --disable-exec-static-tramp - - Disable static trampoline support, a new security - feature in Libffi. Some BLFS packages (notably - GJS) have not been adapted for it. - - - Compile the package: diff --git a/chapter08/markupsafe.xml b/chapter08/markupsafe.xml index 9481a194a..27fdb1627 100644 --- a/chapter08/markupsafe.xml +++ b/chapter08/markupsafe.xml @@ -23,7 +23,7 @@ - <para>MarkupSafe is a Python module that implements a XML/HTML/XHTML Markup + <para>MarkupSafe is a Python module that implements an XML/HTML/XHTML Markup safe string.</para> <segmentedlist> diff --git a/chapter08/mpfr.xml b/chapter08/mpfr.xml index 7237b1ecb..2d16053de 100644 --- a/chapter08/mpfr.xml +++ b/chapter08/mpfr.xml @@ -41,6 +41,20 @@ <sect2 role="installation"> <title>Installation of MPFR + + Fix a test case based on a bug of old Glibc releases: + +sed -e 's/+01,234,567/+1,234,567 /' \ + -e 's/13.10Pd/13Pd/' \ + -i tests/tsprintf.c + Prepare MPFR for compilation: ./configure --prefix=/usr \ @@ -58,7 +72,7 @@ make html Do not skip it under any circumstances. - Test the results and ensure that all 183 tests passed: + Test the results and ensure that all 197 tests passed: make check diff --git a/chapter08/openssl.xml b/chapter08/openssl.xml index bd436d868..6a97bcc2a 100644 --- a/chapter08/openssl.xml +++ b/chapter08/openssl.xml @@ -192,7 +192,7 @@ make MANSUFFIX=ssl install implements the Transport Layer Security (TLS v1) protocol. It provides a rich API, documentation - on which can be found by running man 3 ssl + on which can be found by running man 7 ssl libssl.so diff --git a/chapter08/stripping.xml b/chapter08/stripping.xml index 9f383b1e6..472285cbd 100644 --- a/chapter08/stripping.xml +++ b/chapter08/stripping.xml @@ -53,6 +53,18 @@ with g, in case the commands below have already been run. + + + If any package of which the version is different from the version + specified by the book (either following a security advisory or + satisfying personal preference), it may be necessary to update the + the library file name in save_usrlib or + online_usrlib. + Failing to do so may render the system + completely unusable. + + + @@ -77,6 +89,7 @@ done online_usrbin="bash find strip" online_usrlib="libbfd-&binutils-version;.so + libsframe.so.0.0.0 libhistory.so.&readline-soversion; libncursesw.so.&ncurses-version; libm.so.6 diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml index 2c5c0e11b..5b1fc1fe5 100644 --- a/chapter08/systemd.xml +++ b/chapter08/systemd.xml @@ -82,7 +82,7 @@ meson --prefix=/usr \ --buildtype=release This switch overrides the default buildtype - (debug), which would produce unoptimized + (debug), which produces unoptimized binaries. @@ -99,7 +99,7 @@ meson --prefix=/usr \ This switch prevents installation of systemd services responsible for setting up the system for - the first time. They are not useful for LFS because + the first time. These are not useful in LFS, because everything is done manually. @@ -115,9 +115,9 @@ meson --prefix=/usr \ -Dldconfig=false This switch prevents installation of a systemd unit that runs - ldconfig at boot, which is not useful for source - distributions such as LFS and makes the boot time longer. Remove it - if the described feature is desired. + ldconfig at boot; this is not useful for source + distributions such as LFS, and makes the boot time longer. Remove + this option to enable running ldconfig at boot. @@ -137,15 +137,15 @@ meson --prefix=/usr \ -Drpmmacrosdir=no This switch disables installation of RPM Macros - for use with systemd because LFS does not support RPM. + for use with systemd, because LFS does not support RPM. -D{userdb,homed}=false - Remove two daemons that have dependencies that do not fit - the scope of LFS. + Remove two daemons with dependencies that do not fit + within the scope of LFS. @@ -154,7 +154,7 @@ meson --prefix=/usr \ Prevent the generation of man pages to avoid extra dependencies. We will install pre-generated man pages for systemd - from a tarball later. + from a tarball. @@ -194,12 +194,12 @@ meson --prefix=/usr \ systemd-machine-id-setup - Setup the basic target structure: + Set up the basic target structure: systemctl preset-all Disable two services for upgrading binary distros. They are useless for - a basic Linux system built from source, and both will report an error if + a basic Linux system built from source, and each one will report an error if it's enabled but not configured: systemctl disable systemd-sysupdate{,-reboot} @@ -285,7 +285,7 @@ meson --prefix=/usr \ Normally invokes shutdown with the -h option, except when already in run-level 0, - then it tells the kernel to halt the system; it notes in the + when it tells the kernel to halt the system; it notes in the file /var/log/wtmp that the system is being brought down @@ -308,9 +308,9 @@ 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 - processes according to its configuration files. In this case, it starts + Is the first process to be started after the kernel has initialized + the hardware; init takes over the boot process and starts the + processes specified by its configuration files; in this case, it starts systemd init @@ -332,7 +332,7 @@ meson --prefix=/usr \ kernel-install Is used to add and remove kernel and initramfs images to and - from /boot. In LFS, this is done manually + from /boot; in LFS, this is done manually kernel-install @@ -485,8 +485,8 @@ meson --prefix=/usr \ systemd-analyze - Is used to determine system startup performance of the current - boot, as well as identify troublesome systemd units + Is used to analyze system startup performance, + as well as identify troublesome systemd units systemd-analyze @@ -497,7 +497,7 @@ meson --prefix=/usr \ systemd-ask-password Is used to query a system password or passphrase from the user, - using a question message specified on the command line + using a message specified on the Linux command line systemd-ask-password @@ -531,7 +531,7 @@ meson --prefix=/usr \ systemd-cgtop Shows the top control groups of the local Linux control group - hierarchy, ordered by their CPU, memory and disk I/O load + hierarchy, ordered by their CPU, memory and disk I/O loads systemd-cgtop @@ -552,8 +552,8 @@ meson --prefix=/usr \ systemd-delta Is used to identify and compare configuration files in - /etc that override default - counterparts in /usr + /etc that override the defaults + in /usr systemd-delta @@ -605,7 +605,7 @@ meson --prefix=/usr \ systemd-id128 - Generates and prints id128 strings + Generates and prints id128 (UUID) strings systemd-id128 @@ -649,7 +649,7 @@ meson --prefix=/usr \ systemd-notify - Is used by daemon scripts to notify the init system about status + Is used by daemon scripts to notify the init system of status changes systemd-notify @@ -660,7 +660,7 @@ meson --prefix=/usr \ systemd-nspawn - Is used to run a command or OS in a light-weight namespace + Is used to run a command, or an entire OS, in a light-weight namespace container systemd-nspawn @@ -682,7 +682,7 @@ meson --prefix=/usr \ systemd-repart Is used to grow and add partitions to a partition table when - systemd is used in an OS image (e.g. a container) + systemd is used with an OS image (e.g. a container) systemd-repart @@ -704,7 +704,7 @@ meson --prefix=/usr \ systemd-run Is used to create and start a transient .service or a .scope - unit and run the specified command in it. This is useful for + unit and run the specified command in it; this is useful for validating systemd units systemd-run @@ -736,7 +736,7 @@ meson --prefix=/usr \ systemd-tmpfiles - Creates, deletes and cleans up volatile and temporary files and + Creates, deletes, and cleans up volatile and temporary files and directories, based on the configuration file format and location specified in tmpfiles.d directories @@ -793,7 +793,7 @@ meson --prefix=/usr \ udevadm Is a generic udev administration tool which controls the udevd - daemon, provides info from the Udev hardware database, monitors + 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 diff --git a/chapter08/tcl.xml b/chapter08/tcl.xml index d1aec7f7f..5cf4e0d13 100644 --- a/chapter08/tcl.xml +++ b/chapter08/tcl.xml @@ -50,14 +50,6 @@ excessive, but it is very reassuring, if not essential, to know that the most important tools are working properly. - - - First, unpack the documentation by issuing the following command: - -tar -xf ../tcl&tcl-version;-html.tar.gz --strip-components=1 - Prepare Tcl for compilation: SRCDIR=$(pwd) @@ -117,11 +109,13 @@ unset SRCDIR mv /usr/share/man/man3/{Thread,Tcl_Thread}.3 - If you downloaded the optional documentation, install it by issuing + Optionally, install the documentation by issuing the following commands: - mkdir -v -p /usr/share/doc/tcl-&tcl-version; -cp -v -r ../html/* /usr/share/doc/tcl-&tcl-version; +cd .. +tar -xf ../tcl&tcl-version;-html.tar.gz --strip-components=1 +mkdir -v -p /usr/share/doc/tcl-&tcl-version; +cp -v -r ./html/* /usr/share/doc/tcl-&tcl-version; diff --git a/chapter08/util-linux.xml b/chapter08/util-linux.xml index 46d04b764..e8d064151 100644 --- a/chapter08/util-linux.xml +++ b/chapter08/util-linux.xml @@ -101,7 +101,9 @@ su tester -c "make -k check" The hardlink tests will fail if the host's kernel - does not have the option CONFIG_CRYPTO_USER_API_HASH set. + does not have the option CONFIG_CRYPTO_USER_API_HASH set. In addition, + two sub-tests from misc: mbsencode and one sub-test from script: replay are + known to fail. Install the package: diff --git a/chapter08/zstd.xml b/chapter08/zstd.xml index 902f982e4..ae793a34b 100644 --- a/chapter08/zstd.xml +++ b/chapter08/zstd.xml @@ -42,10 +42,6 @@ Installation of Zstd - Apply a patch to fix some issues identified by upstream: - -patch -Np1 -i ../&zstd-upstream-fixes-patch; - Compile the package: make prefix=/usr diff --git a/chapter09/networkd.xml b/chapter09/networkd.xml index 56d41a983..43b7e7172 100644 --- a/chapter09/networkd.xml +++ b/chapter09/networkd.xml @@ -164,7 +164,7 @@ Name=<network-device-name> [Network] DHCP=ipv4 -[DHCP] +[DHCPv4] UseDomains=true EOF diff --git a/packages.ent b/packages.ent index eade4c846..6889f1432 100644 --- a/packages.ent +++ b/packages.ent @@ -19,7 +19,7 @@ - + @@ -35,7 +35,7 @@ - + @@ -45,38 +45,38 @@ - - + + - - - - + + + + - - + + - - - + + + - - - - + + + + - + - - - - + + + + @@ -84,9 +84,9 @@ - - - + + + @@ -102,25 +102,25 @@ - + - - - - + + + + - - + + - + - + @@ -128,40 +128,40 @@ - + - - + + - + - + - - + + - + - - + + - - + + - + @@ -184,8 +184,8 @@ - - + + @@ -196,8 +196,8 @@ - - + + @@ -205,17 +205,17 @@ - + - - - - + + + + @@ -224,18 +224,18 @@ - - - + + + - + - + @@ -243,42 +243,42 @@ - + - - - - + + + + - - + + - + - - - - + + + + - - + + - + @@ -289,23 +289,23 @@ - + - - + + - - + + @@ -317,10 +317,10 @@ - + - + @@ -332,7 +332,7 @@ - + @@ -347,15 +347,15 @@ - - + + - + @@ -372,14 +372,14 @@ - + - + @@ -390,12 +390,12 @@ - - + + - + - + @@ -403,7 +403,7 @@ - + @@ -419,17 +419,17 @@ - - + + - + - + - + + + - - + + - + @@ -459,32 +456,32 @@ - - + + - - + + - + - + - - + + - + - + - - + + - + - + @@ -492,7 +489,7 @@ - + @@ -500,42 +497,42 @@ - - + + - - + + - + - - + + - - + + - + - - + + - + - - + + - - + + - + - - + + @@ -545,7 +542,7 @@ - + @@ -556,10 +553,10 @@ - - - - + + + + @@ -567,14 +564,14 @@ - + - + @@ -582,25 +579,25 @@ - + - + - + - + - - - - + + + + - - + + @@ -608,18 +605,18 @@ - - + + - - + + - + @@ -627,14 +624,14 @@ - + - + @@ -646,20 +643,20 @@ - + - + - + - + @@ -668,9 +665,9 @@ - + - + @@ -681,18 +678,18 @@ - - + + - - + + - + - + - - + + @@ -712,28 +709,28 @@ - - + + - + - + - + - - + + - - + + - + @@ -744,29 +741,29 @@ - - + + - + - + - - + + - + - - + + - + - - + + diff --git a/patches.ent b/patches.ent index ba133d90b..c381cd0a8 100644 --- a/patches.ent +++ b/patches.ent @@ -50,11 +50,9 @@ - + + + @@ -101,7 +99,8 @@ --> +