diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index 7d69c0a78..a24873253 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -39,7 +39,41 @@ or as appropriate for the entry or if needed the entire day's listitem. --> - + + 2022-11-22 + + + [xry111] - Update to linux-6.0.9. Fixes + #5162. + + + [xry111] - Update to libpipeline-1.5.7. Fixes + #5163. + + + [xry111] - Update to xz-5.2.8. Fixes + #5164. + + + [xry111] - Update to man-db-2.11.1. Fixes + #5166. + + + [xry111] - Update to mpfr-4.1.1. Fixes + #5167. + + + [xry111] - Stop disabling decimal float for temporary GCC, + so mpfr will be built with decimal float support. + + + [xry111] - Update instruction for wheel to avoid relying on + deprecated Python features. + + + + + 2022-11-10 diff --git a/chapter05/gcc-pass1.xml b/chapter05/gcc-pass1.xml index 2096acbe7..f3b503bd4 100644 --- a/chapter05/gcc-pass1.xml +++ b/chapter05/gcc-pass1.xml @@ -88,7 +88,6 @@ cd build --disable-nls \ --disable-shared \ --disable-multilib \ - --disable-decimal-float \ --disable-threads \ --disable-libatomic \ --disable-libgomp \ diff --git a/chapter06/gcc-pass2.xml b/chapter06/gcc-pass2.xml index 15c588bb2..603e9ed83 100644 --- a/chapter06/gcc-pass2.xml +++ b/chapter06/gcc-pass2.xml @@ -90,7 +90,6 @@ cd build --enable-default-ssp \ --disable-nls \ --disable-multilib \ - --disable-decimal-float \ --disable-libatomic \ --disable-libgomp \ --disable-libquadmath \ diff --git a/chapter08/acl.xml b/chapter08/acl.xml index 48bf73a75..6702af90f 100644 --- a/chapter08/acl.xml +++ b/chapter08/acl.xml @@ -24,7 +24,7 @@ <para>The Acl package contains utilities to administer Access Control Lists, - which are used to define more fine-grained discretionary access rights for + which are used to define fine-grained discretionary access rights for files and directories.</para> <segmentedlist> @@ -52,11 +52,11 @@ <screen><userinput remap="make">make</userinput></screen> - <para>The Acl tests need to be run on a filesystem that supports access - controls after <application>Coreutils</application> has been built with the - Acl libraries. If desired, return to this package and run <command>make - check</command> after <application>Coreutils</application> has been built - later in this chapter.</para> + <para>The Acl tests must be run on a filesystem that supports access + controls, but not until the <application>Coreutils</application> package has been built, + using the <application>Acl</application> libraries. If desired, return to this package + and run <command>make check</command> after the <application>Coreutils</application> + package has been built.</para> <para>Install the package:</para> diff --git a/chapter08/attr.xml b/chapter08/attr.xml index a7a9bb426..5272cfcb2 100644 --- a/chapter08/attr.xml +++ b/chapter08/attr.xml @@ -23,8 +23,8 @@ <sect2 role="package"> <title/> - <para>The attr package contains utilities to administer the extended - attributes on filesystem objects.</para> + <para>The Attr package contains utilities to administer the extended + attributes of filesystem objects.</para> <segmentedlist> <segtitle>&buildtime;</segtitle> @@ -52,7 +52,7 @@ <screen><userinput remap="make">make</userinput></screen> - <para>The tests need to be run on a filesystem that supports extended + <para>The tests must be run on a filesystem that supports extended attributes such as the ext2, ext3, or ext4 filesystems. To test the results, issue:</para> diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml index eb3cbcd06..3d2138026 100644 --- a/chapter08/coreutils.xml +++ b/chapter08/coreutils.xml @@ -128,11 +128,10 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \ <screen><userinput remap="test">su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen> -<!-- test-getlogin is now skipped - <para>The test-getlogin test is known to fail in the LFS chroot environment.</para> ---> -<!-- should be fixed at next release, coreutils-9.2 --> - <para>The sort-NaN-infloop test is known to fail with GCC-12.</para> +<!-- Sometimes skipped, but if not it may fail. + Please DO NOT remove or comment out this unless we can fully + understand it! --> + <para>The test-getlogin test may fail in the LFS chroot environment.</para> <para>Remove the temporary group:</para> diff --git a/chapter08/libcap.xml b/chapter08/libcap.xml index da5f6e6f0..bdde24efe 100644 --- a/chapter08/libcap.xml +++ b/chapter08/libcap.xml @@ -23,9 +23,9 @@ <sect2 role="package"> <title/> - <para>The Libcap package implements the user-space interfaces to the POSIX - 1003.1e capabilities available in Linux kernels. These capabilities are a - partitioning of the all powerful root privilege into a set of distinct + <para>The Libcap package implements the user-space interface to the POSIX + 1003.1e capabilities available in Linux kernels. These capabilities + partition the all-powerful root privilege into a set of distinct privileges.</para> <segmentedlist> @@ -115,7 +115,7 @@ <varlistentry id="getpcaps"> <term><command>getpcaps</command></term> <listitem> - <para>Displays the capabilities on the queried process(es)</para> + <para>Displays the capabilities of the queried process(es)</para> <indexterm zone="ch-system-libcap getpcaps"> <primary sortas="b-getpcaps">getpcaps</primary> </indexterm> diff --git a/chapter08/mpfr.xml b/chapter08/mpfr.xml index f2344facb..7237b1ecb 100644 --- a/chapter08/mpfr.xml +++ b/chapter08/mpfr.xml @@ -58,7 +58,7 @@ make html</userinput></screen> Do not skip it under any circumstances.</para> </important> - <para>Test the results and ensure that all tests passed:</para> + <para>Test the results and ensure that all 183 tests passed:</para> <screen><userinput remap="test">make check</userinput></screen> diff --git a/chapter08/shadow.xml b/chapter08/shadow.xml index cbd6ac913..68cc130c9 100644 --- a/chapter08/shadow.xml +++ b/chapter08/shadow.xml @@ -66,16 +66,16 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></s the obsolete <filename class="directory">/var/spool/mail</filename> location for user mailboxes that Shadow uses by default to the <filename class="directory">/var/mail</filename> location used currently. And, - get rid of <filename class="directory">/bin</filename> and - <filename class="directory">/sbin</filename> from <envar>PATH</envar>, - since they are simply symlinks to their counterpart in + remove <filename class="directory">/bin</filename> and + <filename class="directory">/sbin</filename> from the <envar>PATH</envar>, + since they are simply symlinks to their counterparts in <filename class="directory">/usr</filename>.</para> <note> - <para>If <filename class="directory">/bin</filename> and/or - <filename class="directory">/sbin</filename> are preferred to be - left over in <envar>PATH</envar> for some reason, modify - <envar>PATH</envar> in <filename>.bashrc</filename> after LFS is + <para>If you wish to include <filename class="directory">/bin</filename> + and/or <filename class="directory">/sbin</filename> in the <envar>PATH</envar> + for some reason, modify the + <envar>PATH</envar> in <filename>.bashrc</filename> after LFS has been built.</para> </note> @@ -85,7 +85,7 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></s -i etc/login.defs</userinput></screen> <note> - <para>If you chose to build Shadow with Cracklib support, run the following:</para> + <para>If you chose to build Shadow with Cracklib support, issue this command:</para> <screen role="nodump"><userinput>sed -i 's:DICTPATH.*:DICTPATH\t/lib/cracklib/pw_dict:' etc/login.defs</userinput></screen> </note> @@ -108,21 +108,22 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></s --with-group-name-max-length=32</userinput></screen> <variablelist> - <title>The meaning of the configure option: + The meaning of the new configuration options: touch /usr/bin/passwd The file /usr/bin/passwd needs - to exist because its location is hardcoded in some programs, and - if it does not exist, the default location is not right. + to exist because its location is hardcoded in some programs; + if it does not already exist, the installation script will + create it in the wrong place. --with-group-name-max-length=32 - The maximum user name is 32 characters. Make the maximum - group name the same. + The longest permissible user name is 32 characters. Make the maximum + length of a group name the same. @@ -153,9 +154,9 @@ make -C man install-man groups; set and change their passwords; and perform other administrative tasks. For a full explanation of what password shadowing means, see the doc/HOWTO file within the unpacked - source tree. If using Shadow support, keep in mind that programs which need + source tree. If you use Shadow support, keep in mind that programs which need to verify passwords (display managers, FTP programs, pop3 daemons, etc.) - must be Shadow-compliant. That is, they need to be able to work with + must be Shadow-compliant. That is, they must be able to work with shadowed passwords. To enable shadowed passwords, run the following command: @@ -167,44 +168,44 @@ make -C man install-man grpconv Shadow's default configuration for the useradd - utility has a few caveats that need some explanation. First, the default + utility needs some explanation. First, the default action for the useradd utility is to create the user and - a group of the same name as the user. By default the user ID (UID) and - group ID (GID) numbers will begin with 1000. This means if you don't pass - parameters to useradd, each user will be a member of a + a group with the same name as the user. By default the user ID (UID) and + group ID (GID) numbers will begin at 1000. This means if you don't pass + extra parameters to useradd, each user will be a member of a unique group on the system. If this behavior is undesirable, you'll need - to pass one of the -g or -N - parameter to useradd or to change the setting of + to pass either the -g or -N + parameter to useradd, or else change the setting of USERGROUPS_ENAB in /etc/login.defs. See useradd(8) for more information. Second, to change the default parameters, the file - /etc/default/useradd needs to be created and tailored + /etc/default/useradd must be created and tailored to suit your particular needs. Create it with: mkdir -p /etc/default useradd -D --gid 999 - <filename>/etc/default/useradd</filename> Parameter Explanations + <filename>/etc/default/useradd</filename> parameter explanations GROUP=999 This parameter sets the beginning of the group numbers used in the /etc/group file. The particular value 999 - comes from the --gid parameter above. You can - modify it to anything you desire. + comes from the --gid parameter above. You + may set it to any desired value. Note that useradd will never reuse a UID or GID. If the number identified in this parameter is used, it will use the next available number. Note also that if you don't have a group with - an ID equal to this number on your system the first time you use + an ID equal to this number on your system, then the first time you use useradd without the -g - parameter, you will get a message displayed on the terminal that - says: useradd: unknown GID 999, - although the account is correctly created. That is why we have + parameter, an error message will be generated—useradd: + unknown GID 999, + even though the account has been created correctly. That is why we created the group users with this group ID in . @@ -214,12 +215,11 @@ useradd -D --gid 999 CREATE_MAIL_SPOOL=yes This parameter causes useradd to create a - mailbox file for the newly created user. useradd - will make the group ownership of this file to the + mailbox file for each new user. useradd + will assign the group ownership of this file to the mail group with 0660 - permissions. If you would prefer that these mailbox files are not - created by useradd, issue the following - command: + permissions. If you would rather not create these files, + issue the following command: sed -i '/MAIL/s/yes/no/' /etc/default/useradd @@ -230,7 +230,7 @@ useradd -D --gid 999 - Setting the root password + Setting the Root Password Choose a password for user root and set it by running: @@ -329,7 +329,7 @@ useradd -D --gid 999 faillog Is used to examine the log of login failures, to set a maximum - number of failures before an account is blocked, or to reset the + number of failures before an account is blocked, and to reset the failure count faillog @@ -509,9 +509,8 @@ useradd -D --gid 999 nologin - Displays a message that an account is not available; it is designed - to be used as the default shell for accounts that have been - disabled + Displays a message saying an account is not available; it is designed + to be used as the default shell for disabled accounts nologin @@ -597,7 +596,7 @@ useradd -D --gid 999 userdel - Deletes the given user account + Deletes the specified user account userdel @@ -607,8 +606,8 @@ useradd -D --gid 999 usermod - Is used to modify the given user's login name, User - Identification (UID), shell, initial group, home directory, etc. + Is used to modify the given user's login name, user + identification (UID), shell, initial group, home directory, etc. usermod @@ -640,7 +639,7 @@ useradd -D --gid 999 libsubid - library for process subordinate id ranges for users + library for processing subordinate id ranges for users libsubid diff --git a/chapter08/wheel.xml b/chapter08/wheel.xml index 0f6ba7cb6..5b09fc65b 100644 --- a/chapter08/wheel.xml +++ b/chapter08/wheel.xml @@ -40,12 +40,39 @@ Installation of Wheel + Compile wheel with the following command: + +PYTHONPATH=src pip3 wheel -w dist --no-build-isolation --no-deps $PWD + Install wheel with the following command: -pip3 install --no-index $PWD +pip3 install --no-index --find-links=dist wheel - The meaning of the pip3 options: + The meaning of the pip3 commands: + + + PYTHONPATH=src + + Allow using this package (not installed yet) to build a + wheel archive for itself, to avoid a chicken-or-egg problem. + + + + + wheel + + Build wheel archive for this package. + + + + + -w dist + + Put the created wheels into the + dist directory. + + install @@ -55,24 +82,25 @@ - --no-index + --no-build-isolation, + --no-deps, and + --no-index Prevent pip from fetching files from the online package repository (PyPI). If packages are installed in the correct order, - then it won't need to fetch any files in the first place, but this - option adds some safety in case of user error. + then it won't need to fetch any files in the first place, but these + options add some safety in case of user error. - $PWD + --find-links dist - Look for files to install in the current working directory. + Search wheel archives from the + dist directory. - - @@ -86,7 +114,7 @@ wheel /usr/lib/python&python-minor;/site-packages/wheel and - /usr/lib/python&python-minor;/site-packages/wheel-0.37.1-py3.10.egg-info + /usr/lib/python&python-minor;/site-packages/wheel-&wheel-version;.dist-info diff --git a/packages.ent b/packages.ent index b01d751f5..76a3fa183 100644 --- a/packages.ent +++ b/packages.ent @@ -406,10 +406,10 @@ - - + + - + @@ -424,12 +424,12 @@ - + - + - +