diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml
index 30f2b05a6..3cbfe7b8b 100644
--- a/appendices/dependencies.xml
+++ b/appendices/dependencies.xml
@@ -2935,6 +2935,7 @@
make-ca,
p11-kit,
PCRE2,
+ pefile,
Polkit,
pyelftools,
qemu,
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 58ec89bf0..d8182189f 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -40,12 +40,23 @@
appropriate for the entry or if needed the entire day's listitem.
-->
+
+ 2023-12-16
+
+
+ [xry111] - Update to udev
+ from systemd-255. Fixes
+ #5390.
+
+
+
+
2023-12-14
[bdubbs] - Update to util-linux v2.39.3. Fixes
- #5390.
+ #5388.
[bdubbs] - Update to python3-3.12.1. Fixes
diff --git a/chapter08/systemd.xml b/chapter08/systemd.xml
index 761467acd..a1999e278 100644
--- a/chapter08/systemd.xml
+++ b/chapter08/systemd.xml
@@ -62,13 +62,14 @@ meson setup \
-Dldconfig=false \
-Dsysusers=false \
-Drpmmacrosdir=no \
- -Dhomed=false \
+ -Dhomed=disabled \
-Duserdb=false \
-Dman=false \
-Dmode=release \
-Dpamconfdir=no \
-Ddev-kvm-mode=0660 \
-Dnobody-group=nogroup \
+ -Dukify=disabled \
-Ddocdir=/usr/share/doc/systemd-&systemd-version; \
..
@@ -139,7 +140,8 @@ meson setup \
- -D{userdb,homed}=false
+ -Dhomed=disabled and
+ -Duserdb=false
Remove two daemons with dependencies that do not fit
within the scope of LFS.
@@ -187,6 +189,17 @@ meson setup \
nogroup.
+
+
+ -Dukify=disabled
+
+ Do not install the systemd-ukify script.
+ At runtime this script requires the
+ pefile Python module that neither LFS
+ nor BLFS provides.
+
+
+
Compile the package:
diff --git a/chapter08/udev.xml b/chapter08/udev.xml
index dd686f489..967b3dd84 100644
--- a/chapter08/udev.xml
+++ b/chapter08/udev.xml
@@ -125,11 +125,18 @@ meson setup \
+ Get the list of the shipped udev helpers and save it into an
+ environment variable:
+
+ udev_helpers=$(grep "'name' :" ../src/udev/meson.build | \
+ awk '{print $3}' | tr -d ",'" | grep -v 'udevadm')
+
Only build the components needed for udev:
ninja udevadm systemd-hwdb \
$(ninja -n | grep -Eo '(src/(lib)?udev|rules.d|hwdb.d)/[^ ]*') \
- $(realpath libudev.so --relative-to .)
+ $(realpath libudev.so --relative-to .) \
+ $udev_helpers udevadm
Install the package:
@@ -147,8 +154,7 @@ install -vm644 rules.d/* ../rules.d/README /usr/lib/udev/rules.d/
install -vm644 $(find ../rules.d/*.rules \
-not -name '*power-switch*') /usr/lib/udev/rules.d/
install -vm644 hwdb.d/* ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/
-install -vm755 $(find src/udev \
- -type f -not -name '*.*') /usr/lib/udev
+install -vm755 $udev_helpers /usr/lib/udev
install -vm644 ../network/99-default.link /usr/lib/udev/network
Install some custom rules and support files useful in an LFS
diff --git a/packages.ent b/packages.ent
index 0d1a93f77..df970d61f 100644
--- a/packages.ent
+++ b/packages.ent
@@ -652,20 +652,20 @@
-
+
-
+
-
+
-
-
+
+
-
+