diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml
index a1efa3d01..6387743a7 100644
--- a/appendices/dependencies.xml
+++ b/appendices/dependencies.xml
@@ -876,6 +876,48 @@
+
+ Flit-Core
+
+
+ &dependencies;
+
+ Python
+
+
+
+
+ &runtime;
+
+ Python
+
+
+
+
+ &testsuites;
+
+ No test suite available
+
+
+
+
+ &before;
+
+ Wheel
+
+
+
+
+ &external;
+
+
+ pytest
+ and
+ testpath
+
+
+
+
Gawk
@@ -3104,7 +3146,7 @@
&dependencies;
- Python
+ Python and Flit-core
@@ -3262,7 +3304,7 @@
&dependencies;
- Binutils, Coreutils, GCC, Glibc, Gzip, Make, and Xz
+ Binutils, Coreutils, GCC, Glibc, Gzip, Make, Xz, and Zlib
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 20cf06f58..3f8583217 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -39,6 +39,76 @@
or as
appropriate for the entry or if needed the entire day's listitem.
-->
+
+ 2023-03-31
+
+
+ [xry111] - Update to linux-6.2.9 (security fix). Fixes
+ #5230.
+
+
+ [xry111] - Update to grep-3.10. Fixes
+ #5234.
+
+
+ [xry111] - Update to wheel-0.40.0. Fixes
+ #5229.
+
+
+ [xry111] - Update to bc-6.5.0. Fixes
+ #5228.
+
+
+ [xry111] - Update to texinfo-7.0.3. Fixes
+ #5235.
+
+
+ [xry111] - Update to coreutils-9.2. Fixes
+ #5232.
+
+
+ [xry111] - Update to libcap-2.68. Fixes
+ #5236.
+
+
+ [xry111] - Update to tzdata-2023c. Fixes
+ #5237.
+
+
+ [xry111] - Update to xz-5.4.2. Fixes
+ #5233.
+
+
+ [xry111] - Update to openssl-3.1.0. Fixes
+ #5227.
+
+
+ [xry111] - Add flit-core-3.8.0.
+
+
+
+
+
+ 2023-03-15
+
+
+ [bdubbs] - Update to bc-6.4.0. Fixes
+ #5217.
+
+
+ [bdubbs] - Update to grep-3.9. Fixes
+ #5225.
+
+
+ [bdubbs] - Update to linux-6.2.6. Fixes
+ #5226.
+
+
+ [bdubbs] - Update to iana-etc-20230306. Addresses
+ #5006.
+
+
+
2023-03-04
diff --git a/chapter01/how.xml b/chapter01/how.xml
index a8fdddddd..107c415aa 100644
--- a/chapter01/how.xml
+++ b/chapter01/how.xml
@@ -18,15 +18,13 @@
during the distribution installation to include these
tools.
+ There are many ways to install a Linux distribution and
+ the defaults are usually not optimal for building an LFS system.
+ For suggestions on setting up a commercial distribution see:
+ .
+
As an alternative to installing a separate distribution on your
- machine, you may wish to use a LiveCD from a
- commercial distribution.
+ machine, you may wish to use a LiveCD from a commercial distribution.
-
+
@@ -130,9 +130,9 @@
-
+
@@ -292,6 +292,10 @@
Added:
+
+ Flit-core-&flit-core-version;
+
+
diff --git a/chapter02/creatingpartition.xml b/chapter02/creatingpartition.xml
index 42bceaca7..3f165980f 100644
--- a/chapter02/creatingpartition.xml
+++ b/chapter02/creatingpartition.xml
@@ -151,7 +151,7 @@
used, 5 to 10 gigabytes is generally adequate.
- /tmp – A separate /tmp directory
+ /tmp – A separate /tmp partition
is rare, but useful if configuring a thin client. This partition, if
used, will usually not need to exceed a couple of
gigabytes. If you have enough RAM, you can mount a
diff --git a/chapter03/packages.xml b/chapter03/packages.xml
index 92d44afaf..87238724d 100644
--- a/chapter03/packages.xml
+++ b/chapter03/packages.xml
@@ -227,6 +227,15 @@
+
+ Flit-core (&flit-core-version;) - &flit-core-size;:
+
+ Home page:
+ Download:
+ MD5 sum: &flit-core-md5;
+
+
+
Gawk (&gawk-version;) - &gawk-size;:
diff --git a/chapter08/chapter08.xml b/chapter08/chapter08.xml
index 902d1bf48..91827b88e 100644
--- a/chapter08/chapter08.xml
+++ b/chapter08/chapter08.xml
@@ -63,6 +63,7 @@
+
diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml
index 77c6a7a92..7c528d6c4 100644
--- a/chapter08/coreutils.xml
+++ b/chapter08/coreutils.xml
@@ -53,14 +53,12 @@
those bugs are reproducible without this patch.
-
-
+ Fix a bug in checksum utilities causing failed checks not
+ reported correctly:
+
+sed '/if ( ! match/s/ed_checksums//' -i src/digest.c
-patch -Np1 -i ../&coreutils-chmod-patch;
--->
Now prepare Coreutils for compilation:
autoreconf -fiv
diff --git a/chapter08/flit-core.xml b/chapter08/flit-core.xml
new file mode 100644
index 000000000..641ff73b7
--- /dev/null
+++ b/chapter08/flit-core.xml
@@ -0,0 +1,115 @@
+
+
+ %general-entities;
+]>
+
+
+
+
+
+ flit-core
+ &flit-core-version;
+ &flit-core-url;
+
+
+ Flit-Core-&flit-core-version;
+
+
+ Flit-core
+
+
+
+
+
+ Flit-core is the distribution-building parts of Flit (a packaging
+ tool for simple Python modules).
+
+
+ &buildtime;
+ &diskspace;
+
+ &flit-core-fin-sbu;
+ &flit-core-fin-du;
+
+
+
+
+
+
+ Installation of Flit-Core
+
+ Build the package:
+
+pip3 wheel -w dist --no-build-isolation --no-deps $PWD
+
+ Install the package:
+
+pip3 install --no-index --no-user --find-links dist flit_core
+
+
+ The meaning of the pip3 configuration options and commands:
+
+
+ wheel
+
+ This command builds the wheel archive for this package.
+
+
+
+
+ -w dist
+
+ Instructs pip to put the created wheel into the
+ dist directory.
+
+
+
+
+ install
+
+ This command installs the package.
+
+
+
+
+ --no-build-isolation,
+ --no-deps, and
+ --no-index
+
+ These options prevent fetching files from the online package
+ repository (PyPI). If packages are installed in the correct order,
+ pip won't need to fetch any files in the first place; these
+ options add some safety in case of user error.
+
+
+
+
+ --find-links dist
+
+ Instructs pip to search for wheel archives in the
+ dist directory.
+
+
+
+
+
+
+ Contents of Flit-Core
+
+
+ Installed directory
+
+
+
+ /usr/lib/python&python-minor;/site-packages/flit_core and
+ /usr/lib/python&python-minor;/site-packages/flit_core-&flit-core-version;.dist-info
+
+
+
+
+
+
+
+
diff --git a/chapter08/openssl.xml b/chapter08/openssl.xml
index 6a97bcc2a..0c3c41a7c 100644
--- a/chapter08/openssl.xml
+++ b/chapter08/openssl.xml
@@ -98,6 +98,21 @@ make MANSUFFIX=ssl install
number.
+
+
+ If OpenSSH is installed, it will be an
+ exception of the general rule above. It contains an
+ over-restrictive OpenSSL version check, so both SSH client and SSH
+ server will refuse to start if OpenSSL
+ is updated with MAJOR version number unchanged but MINOR version
+ number changed. You need to rebuild
+ OpenSSH after such an upgrade.
+ If OpenSSH is being
+ used to access the system, you must rebuild and reinstall it
+ after upgrading OpenSSL to a new MINOR version number before logout
+ or you won't be able to login via SSH anymore.
+
+
However, any running programs linked to those libraries need to be stopped
and restarted. Read the related entries in
diff --git a/chapter08/stripping.xml b/chapter08/stripping.xml
index 472285cbd..906dc297c 100644
--- a/chapter08/stripping.xml
+++ b/chapter08/stripping.xml
@@ -55,10 +55,10 @@
- If any package of which the version is different from the version
+ If there is any package whose 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
+ library file name in save_usrlib or
online_usrlib.
Failing to do so may render the system
completely unusable.
diff --git a/chapter08/util-linux.xml b/chapter08/util-linux.xml
index e8d064151..3830c95be 100644
--- a/chapter08/util-linux.xml
+++ b/chapter08/util-linux.xml
@@ -975,12 +975,12 @@ su tester -c "make -k check"
-
- rkfill
+
+ rfkill
Tool for enabling and disabling wireless devices
-
- rkfill
+
+ rfkill
diff --git a/chapter08/wheel.xml b/chapter08/wheel.xml
index 57457dacc..88e47d556 100644
--- a/chapter08/wheel.xml
+++ b/chapter08/wheel.xml
@@ -42,65 +42,12 @@
Compile Wheel with the following command:
-PYTHONPATH=src pip3 wheel -w dist --no-build-isolation --no-deps $PWD
+pip3 wheel -w dist --no-build-isolation --no-deps $PWD
Install Wheel with the following command:
pip3 install --no-index --find-links=dist wheel
-
- The meaning of the pip3 configuration options and commands:
-
-
- PYTHONPATH=src
-
- Allows this package (not installed yet) to build a
- wheel archive for itself, to avoid a chicken-or-egg problem.
-
-
-
-
- wheel
-
- This command builds the wheel archive for this package.
-
-
-
-
- -w dist
-
- Instructs pip to put the created wheel into the
- dist directory.
-
-
-
-
- install
-
- This command installs the package.
-
-
-
-
- --no-build-isolation,
- --no-deps, and
- --no-index
-
- These options prevent fetching files from the online package
- repository (PyPI). If packages are installed in the correct order,
- pip won't need to fetch any files in the first place; these
- options add some safety in case of user error.
-
-
-
-
- --find-links dist
-
- Instructs pip to search for wheel archives in the
- dist directory.
-
-
-
diff --git a/chapter10/kernel.xml b/chapter10/kernel.xml
index 0815b70c8..d2c332822 100644
--- a/chapter10/kernel.xml
+++ b/chapter10/kernel.xml
@@ -162,6 +162,7 @@ General setup --->
[ ] Auditing Support [CONFIG_AUDIT]
CPU/Task time and stats accounting --->
[*] Pressure stall information tracking [CONFIG_PSI]
+ [ ] Require boot parameter to enable pressure stall information tracking [CONFIG_PSI_DEFAULT_DISABLED]
< > Enable kernel headers through /sys/kernel/kheaders.tar.xz [CONFIG_IKHEADERS]
[*] Control Group support [CONFIG_CGROUPS] --->
[*] Memory controller [CONFIG_MEMCG]
diff --git a/chapter11/reboot.xml b/chapter11/reboot.xml
index 809d9bb70..6b2680ad0 100644
--- a/chapter11/reboot.xml
+++ b/chapter11/reboot.xml
@@ -75,6 +75,12 @@
+
+
+ Ensure a password is set for the &root; user.
+
+
+
A review of the following configuration files
@@ -133,7 +139,15 @@ umount -v $LFS
Assuming the GRUB boot loader was set up as outlined earlier, the menu
is set to boot LFS &version; automatically.
- When the reboot is complete, the LFS system is ready for use and
- more software may be added to suit your needs.
+ When the reboot is complete, the LFS system is ready for use. What you
+ will see is a simple login:
prompt. At this point, you can
+ proceed to the BLFS Book
+ where you can add more software to suit your needs.
+
+
+ If your reboot is not successful, it
+ is time to troubleshoot. For hints on solving initial booting problems, see
+ .
+
diff --git a/gen-changelog.py b/gen-changelog.py
new file mode 100755
index 000000000..2932dd9ec
--- /dev/null
+++ b/gen-changelog.py
@@ -0,0 +1,108 @@
+#!/usr/bin/env python3
+
+# LFS ChangeLog generator for trivial package addition, removal, and update
+
+from subprocess import Popen, PIPE
+from urllib.request import urlopen
+from os import getenv
+
+def get_entity(line):
+ line = line[1:]
+ if not line.startswith("= 2:
+ pkg = fields[1].lower()
+ pos = pkg.find(' ')
+ if pos > 0:
+ pkg = pkg[:pos]
+ tic = fields[0]
+ if len(fields) >= 3 and fields[2].startswith("high"):
+ security.add(pkg)
+ ticket[pkg] = tic
+
+print("Plain Text:")
+for (s, act) in [(upd, "Update to "), (add, "Add ")]:
+ for i in s:
+ pkgver = i + "-" + expand_entity(ent, i + "-version")
+ out = act + pkgver
+ if pkgver in ticket:
+ out += ' (#' + ticket[pkgver] + ')'
+ print(out)
+for i in rem:
+ print("Remove", i)
+
+print("---------------------")
+
+print("XML")
+name = getenv("USER")
+for (s, act) in [(upd, "Update to "), (add, "Add ")]:
+ for i in s:
+ print(' ')
+ pkgver = i + "-" + expand_entity(ent, i + "-version")
+ out = ' [' + name + '] - ' + act + pkgver
+ if pkgver in security:
+ out += " (security fix)"
+ out += "."
+ if pkgver in ticket:
+ out += " Fixes\n "
+ out += "#"
+ out += ticket[pkgver] + "."
+ out += ""
+ print(out)
+ print(' ')
diff --git a/packages.ent b/packages.ent
index ce26b0be5..88ddfe414 100644
--- a/packages.ent
+++ b/packages.ent
@@ -58,10 +58,10 @@
-
-
+
+
-
+
@@ -104,10 +104,10 @@
-
-
+
+
-
+
@@ -207,6 +207,14 @@
+
+
+
+
+
+
+
+
@@ -281,10 +289,10 @@
-
-
+
+
-
+
@@ -317,10 +325,10 @@
-
-
+
+
-
+
@@ -390,10 +398,10 @@
-
-
+
+
-
+
@@ -424,12 +432,12 @@
-
+
-
+
-
+