diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index b538c09b8..77b331b8b 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -44,6 +44,106 @@
or as
appropriate for the entry or if needed the entire day's listitem.
-->
+
+
+ 2020-12-15
+
+ [bdubbs] - Update to libcap-2.46. Fixes
+ #4771.
+
+
+ [bdubbs] - Update to bc-3.2.4. Fixes
+ #4770.
+
+
+ [bdubbs] - Update to autoconf-2.70. Fixes
+ #4769.
+
+
+ [bdubbs] - Update to openssl-1.1.1i. Fixes
+ #4768.
+
+
+ [bdubbs] - Update to Python3-3.9.1. Fixes
+ #4767.
+
+
+ [bdubbs] - Update to linux-5.9.14. Fixes
+ #4766.
+
+
+ [bdubbs] - Update to bash-5.1 and readline-8.1. Fixes
+ #4764.
+
+
+
+
+
+
+ 2020-12-07
+
+ [ken] - Patch meson-0.56.0 to correctly create pkgconfig
+ files re static libraries (re sysprof in BLFS) . Fixes
+ #4675.
+
+
+
+
+
+
+ 2020-12-03
+
+ [renodr] - Update to linux-5.9.12. Fixes
+ #4673.
+
+
+ [renodr] - Update to bc-3.2.3. Fixes
+ #4672.
+
+
+ [renodr] - Update to systemd-247. Fixes
+ #4745.
+
+
+
+
+
+
+ 2020-12-01
+
+ [bdubbs] - Update to ninja-1.10.2. Fixes
+ #4760.
+
+
+ [bdubbs] - Update to bc-3.2.1. Fixes
+ #4759.
+
+
+ [bdubbs] - Update to linux-5.9.11. Fixes
+ #4758.
+
+
+ [bdubbs] - Update to automake-1.16.3. Fixes
+ #4757.
+
+
+ [bdubbs] - Update to sysvinit-2.98. Fixes
+ #4756.
+
+
+ [bdubbs] - Update to util-linux-2.36.1. Fixes
+ #4755.
+
+
+ [bdubbs] - Update to iana-etc-20201124. Addresses
+ #4722.
+
+
+ [bdubbs] - Update to vim-8.2.2070. Addresses
+ #4500.
+
+
+
diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml
index 82f30baf5..f67c577c4 100644
--- a/chapter01/whatsnew.xml
+++ b/chapter01/whatsnew.xml
@@ -36,15 +36,15 @@
-
-
-
+
Bc &bc-version;
@@ -228,12 +228,12 @@
-
-
+
@@ -246,9 +246,9 @@
Tzdata-&tzdata-version;
-
+
Vim-&vim-version;
@@ -279,9 +279,11 @@
Added:
- autoconf-2.69-consolidated_fixes-1.patch
+ meson-0.56.0-upstream_fix-1.patch
+
+
+ systemd-247-upstream_fixes-1.patch
-
@@ -289,9 +291,9 @@
Removed:
-
+
+ bash-5.0-upstream_fixes-1.patch
+
diff --git a/chapter02/aboutlfs.xml b/chapter02/aboutlfs.xml
index 93f885e22..0d5a5281b 100644
--- a/chapter02/aboutlfs.xml
+++ b/chapter02/aboutlfs.xml
@@ -57,7 +57,8 @@
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,
+ the .bashrc file for the user and
+ 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/stages.xml b/chapter02/stages.xml
index 31a60166d..b15b9446e 100644
--- a/chapter02/stages.xml
+++ b/chapter02/stages.xml
@@ -25,9 +25,10 @@
- Procedures done as the root user after Section 2.4 need to
- have the LFS environment variable set FOR THE ROOT
- USER.
+ Procedures done as the
+ root user after Section
+ 2.4 need to have the LFS environment variable set
+ FOR THE ROOT USER.
@@ -41,7 +42,8 @@
- Threse two chapters must be done as user lfs.
+ These two chapters must be done as user
+ lfs.
A su - lfs needs to be done before any task in these
chapters. Failing to do that, you are at risk of installing packages to the
host, and potentially rendering it unusable.
@@ -68,18 +70,22 @@
A few operations, from Changing Ownership
to
Entering the Chroot Environment
must be done as the
- root user, with the LFS environment variable set for the root user.
+ root user, with the LFS
+ environment variable set for the
+ rootuser.
When entering chroot, the LFS environment variable must be set
- for root. The LFS variable is not used afterwards.
+ for root. The LFS
+ variable is not used afterwards.
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, as root, running the
+ commands in
and
.
diff --git a/chapter03/patches.xml b/chapter03/patches.xml
index 60d2c0533..71a5d6969 100644
--- a/chapter03/patches.xml
+++ b/chapter03/patches.xml
@@ -17,7 +17,7 @@
needed to build an LFS system:
-
+
+
diff --git a/chapter05/glibc.xml b/chapter05/glibc.xml
index 23fa3a41c..f49991852 100644
--- a/chapter05/glibc.xml
+++ b/chapter05/glibc.xml
@@ -165,10 +165,11 @@ cd build
Install the package:
If LFS is not properly set, and despite the
- recommendations, you are building as root, the next command will install
- the newly built glibc to your host system, which most likely will render it
- unusable. So double check that the environment is correctly set for user
- lfs.
+ recommendations, you are building as
+ root, the next command will
+ install the newly built glibc to your host system, which most likely
+ will render it unusable. So double check that the environment is
+ correctly set, before running the following command.
make DESTDIR=$LFS install
diff --git a/chapter06/introduction.xml b/chapter06/introduction.xml
index 163aa5796..58f0dd7f7 100644
--- a/chapter06/introduction.xml
+++ b/chapter06/introduction.xml
@@ -22,7 +22,8 @@
independent of the host system yet.
Once again, let us recall that improper setting of LFS
- together with building as root, may render your computer unusable.
+ together with building as root,
+ may render your computer unusable.
This whole chapter must be done as user lfs, with the environment as described in
.
diff --git a/chapter08/autoconf.xml b/chapter08/autoconf.xml
index 22e0a1002..23fdf1b75 100644
--- a/chapter08/autoconf.xml
+++ b/chapter08/autoconf.xml
@@ -40,12 +40,12 @@
Installation of Autoconf
-
+
Prepare Autoconf for compilation:
./configure --prefix=/usr
diff --git a/chapter08/bash.xml b/chapter08/bash.xml
index b8dd5fe40..4ab6f7d81 100644
--- a/chapter08/bash.xml
+++ b/chapter08/bash.xml
@@ -40,9 +40,9 @@
Installation of Bash
- Incorporate some upstream fixes:
+ First, fix a race condition if using multiple cores:
-patch -Np1 -i ../&bash-fixes-patch;
+sed -i '/^bashline.o:.*shmbchar.h/a bashline.o: ${DEFDIR}/builtext.h' Makefile.in
Prepare Bash for compilation:
diff --git a/chapter08/coreutils.xml b/chapter08/coreutils.xml
index 55006e1c7..c9f97a20d 100644
--- a/chapter08/coreutils.xml
+++ b/chapter08/coreutils.xml
@@ -60,6 +60,10 @@
sed -i '/test.lock/s/^/#/' gnulib-tests/gnulib.mk
+Fix a problem with autoconf-2.70 in an included gnulib .m4 file:
+
+echo '# deleted' > m4/std-gnu11.m4
+
Now prepare Coreutils for compilation:
autoreconf -fiv
@@ -83,7 +87,7 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
FORCE_UNSAFE_CONFIGURE=1
This environment variable allows the package to be
- built as the root user.
+ built as the root user.
diff --git a/chapter08/meson.xml b/chapter08/meson.xml
index b3c3224c5..4076c4c5c 100644
--- a/chapter08/meson.xml
+++ b/chapter08/meson.xml
@@ -48,6 +48,11 @@
Installation of Meson
+ First, apply a patch that fixes an issue with pkgconfig files
+ for static libraries:
+
+patch -Np1 -i ../&meson-fix-patch;
+
Compile Meson with the following command:
python3 setup.py build
diff --git a/chapter08/openssl.xml b/chapter08/openssl.xml
index b6dbb2529..c4c77aa48 100644
--- a/chapter08/openssl.xml
+++ b/chapter08/openssl.xml
@@ -68,10 +68,14 @@
sed -i '/INSTALL_LIBS/s/libcrypto.a libssl.a//' Makefile
make MANSUFFIX=ssl install
- If desired, install the documentation:
+ Add the version to the documentation directory name, to be
+ consistent with other packages:
-mv -v /usr/share/doc/openssl /usr/share/doc/openssl-&openssl-version;
-cp -vfr doc/* /usr/share/doc/openssl-&openssl-version;
+mv -v /usr/share/doc/openssl /usr/share/doc/openssl-&openssl-version;
+
+ If desired, install some additional documentation:
+
+cp -vfr doc/* /usr/share/doc/openssl-&openssl-version;
diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml
index 57f828bd9..118586079 100644
--- a/chapter08/systemd.xml
+++ b/chapter08/systemd.xml
@@ -46,6 +46,10 @@
patch -Np1 -i ../systemd-&systemd-version;-gcc_10-fixes-2.patch
-->
+ First, apply a patch to fix some regressions:
+
+patch -Np1 -i ../systemd-&systemd-version;-upstream_fixes-1.patch
+
Create a symlink to work around the xsltproc command not being installed:
ln -sf /bin/true /usr/bin/xsltproc
@@ -56,7 +60,7 @@
Remove tests that cannot be built in chroot:
-sed '177,$ d' -i src/resolve/meson.build
+sed '181,$ d' -i src/resolve/meson.build
Remove an unneeded group,
render, from the default udev
@@ -92,6 +96,7 @@ meson --prefix=/usr \
-Dhomed=false \
-Duserdb=false \
-Dman=true \
+ -Dmode=release \
-Ddocdir=/usr/share/doc/systemd-&systemd-version; \
..
@@ -185,6 +190,14 @@ meson --prefix=/usr \
+
+ -Dmode=release
+
+ Disable some features considered experimental by upstream.
+
+
+
+
Compile the package:
@@ -365,8 +378,8 @@ rm -f /usr/bin/xsltproc
resolvectl), resolvectl, runlevel (symlink to systemctl), shutdown
(symlink to systemctl), systemctl, systemd-analyze,
systemd-ask-password, systemd-cat, systemd-cgls, systemd-cgtop,
- systemd-delta, systemd-detect-virt, systemd-escape, systemd-hwdb,
- systemd-id128, systemd-inhibit, systemd-machine-id-setup,
+ systemd-delta, systemd-detect-virt, systemd-dissect, systemd-escape,
+ systemd-hwdb, systemd-id128, systemd-inhibit, systemd-machine-id-setup,
systemd-mount, systemd-notify, systemd-nspawn, systemd-path,
systemd-repart, systemd-resolve (symlink to resolvectl), systemd-run,
systemd-socket-activate, systemd-stdio-bridge, systemd-tmpfiles,
@@ -694,6 +707,16 @@ rm -f /usr/bin/xsltproc
+
+ systemd-dissect
+
+ Is used to inspect OS disk images.
+
+ systemd-dissect
+
+
+
+
systemd-escape
diff --git a/chapter08/tar.xml b/chapter08/tar.xml
index 1c3a5c75e..6f37ce888 100644
--- a/chapter08/tar.xml
+++ b/chapter08/tar.xml
@@ -56,8 +56,10 @@
FORCE_UNSAFE_CONFIGURE=1
This forces the test for mknod to be run
- as root. It is generally considered dangerous to run this test as
- the root user, but as it is being run on a system that has only been
+ as root.
+ It is generally considered dangerous to run this test as
+ the root user, but as it
+ is being run on a system that has only been
partially built, overriding it is OK.
diff --git a/chapter08/texinfo.xml b/chapter08/texinfo.xml
index 7257ae5b5..9cbbda6a6 100644
--- a/chapter08/texinfo.xml
+++ b/chapter08/texinfo.xml
@@ -43,13 +43,13 @@
Prepare Texinfo for compilation:
-./configure --prefix=/usr --disable-static
-
+./configure --prefix=/usr
+
Compile the package:
make
diff --git a/chapter08/util-linux.xml b/chapter08/util-linux.xml
index 2c94f3b11..d41c519c1 100644
--- a/chapter08/util-linux.xml
+++ b/chapter08/util-linux.xml
@@ -88,7 +88,8 @@
If desired, run the test suite as a non-root user:
- Running the test suite as the root user can be harmful to
+ Running the test suite as the
+ root user can be harmful to
your system. To run it, the CONFIG_SCSI_DEBUG option for the kernel must
be available in the currently running system and must be built as a
module. Building it into the kernel will prevent booting. For complete
diff --git a/chapter09/systemd-custom.xml b/chapter09/systemd-custom.xml
index 7addaefbb..7e0613df2 100644
--- a/chapter09/systemd-custom.xml
+++ b/chapter09/systemd-custom.xml
@@ -41,7 +41,8 @@ TTYVTDisallocate=no
EOF
The boot messages can always be reviewed by using the
- journalctl -b command as the root user.
+ journalctl -b command as the
+ root user.
diff --git a/chapter10/kernel.xml b/chapter10/kernel.xml
index 239d306d4..a1dc8043f 100644
--- a/chapter10/kernel.xml
+++ b/chapter10/kernel.xml
@@ -133,8 +133,7 @@ Device Drivers --->
File systems --->
[*] Inotify support for userspace [CONFIG_INOTIFY_USER]
Pseudo filesystems --->
- [*] Tmpfs POSIX Access Control Lists [CONFIG_TMPFS_POSIX_ACL]
- [*] Tmpfs extended attributes [CONFIG_TMPFS_XATTR]
+ [*] Tmpfs POSIX Access Control Lists [CONFIG_TMPFS_POSIX_ACL]
diff --git a/chapter11/reboot.xml b/chapter11/reboot.xml
index 1822e6165..9b184c9d8 100644
--- a/chapter11/reboot.xml
+++ b/chapter11/reboot.xml
@@ -51,12 +51,6 @@
wget.
- If one or more of your disk drives have a GUID partition
- table (GPT), either gptfdisk or parted will be useful.
-
-
Finally, a review of the following configuration files
is also appropriate at this point.
diff --git a/general.ent b/general.ent
index ef7601bc2..06deb1646 100644
--- a/general.ent
+++ b/general.ent
@@ -1,13 +1,13 @@
-
+
-
+
-
+
diff --git a/packages.ent b/packages.ent
index 0d4869005..3db4a290a 100644
--- a/packages.ent
+++ b/packages.ent
@@ -29,38 +29,38 @@
-
-
+
+
-
+
-
+
-
+
-
+
-
-
+
+
-
+
-
-
+
+
-
+
@@ -319,10 +319,10 @@
-
-
+
+
-
+
@@ -391,10 +391,10 @@
-
-
+
+
-
+
@@ -425,12 +425,12 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
+
@@ -629,26 +629,26 @@
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
-
+
+
-
+
@@ -698,23 +698,23 @@
-
-
+
+
-
+
-
+
-
+
-
+
diff --git a/patches.ent b/patches.ent
index 0f13fc504..c3e7cb5d2 100644
--- a/patches.ent
+++ b/patches.ent
@@ -53,6 +53,11 @@
-->
+
+
+
+
+
+
+
+