diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index 434bf0120..487b9e01d 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -46,10 +46,22 @@
2021-07-25
+
+ [bdubbs] - Add workaround to strip libraries
+ correctly.
+
[xry111] - Add workaround to install Binutils-2.37 man pages
correctly.
+
+ [bdubbs] - Update to shadow-4.9. Fixes
+ #4891.
+
+
+ [bdubbs] - Update to util-linux 2.37.1. Fixes
+ #4890.
+
diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml
index a68c2aad1..832f45a46 100644
--- a/chapter01/whatsnew.xml
+++ b/chapter01/whatsnew.xml
@@ -228,9 +228,9 @@
-
+
Sysklogd-&sysklogd-version;
diff --git a/chapter03/packages.xml b/chapter03/packages.xml
index 5ede31a02..8cfba4ba8 100644
--- a/chapter03/packages.xml
+++ b/chapter03/packages.xml
@@ -741,7 +741,7 @@
MD5 sum: &util-linux-md5;
-
+
Vim (&vim-version;) - &vim-size;:
diff --git a/chapter08/binutils.xml b/chapter08/binutils.xml
index 9b46907e8..1d87b7797 100644
--- a/chapter08/binutils.xml
+++ b/chapter08/binutils.xml
@@ -57,9 +57,9 @@
The system has no more ptys.
Ask your system administrator to create more.
- A glitch in the building system causes the shipped man pages to
+ An error in the building system causes the shipped man pages to
be empty. Workaround the issue and remove the shipped man pages, so the
- building system will regenerate man pages correctly:
+ man pages will be regenerated correctly:
sed -i '63d' etc/texi2pod.pl
find -name \*.1 -delete
diff --git a/chapter08/shadow.xml b/chapter08/shadow.xml
index 49f2ec47c..9aa196421 100644
--- a/chapter08/shadow.xml
+++ b/chapter08/shadow.xml
@@ -89,12 +89,12 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;sed -i 's:DICTPATH.*:DICTPATH\t/lib/cracklib/pw_dict:' etc/login.defs
-
+
Prepare Shadow for compilation:
touch /usr/bin/passwd
@@ -124,13 +124,16 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;Compile the package:
-make
+ make
This package does not come with a test suite.
Install the package:
-make exec_prefix=/usr install
+ make exec_prefix=/usr install
+make -C man install-man
+mkdir -p /etc/default
+useradd -D --gid 999
diff --git a/chapter08/strippingagain.xml b/chapter08/strippingagain.xml
index 8f5743b51..d2e686e8f 100644
--- a/chapter08/strippingagain.xml
+++ b/chapter08/strippingagain.xml
@@ -34,15 +34,18 @@
save_usrlib="ld-&glibc-version;.so libc-&glibc-version;.so libpthread-&glibc-version;.so libthread_db-&libthread_db-version;.so
- libquadmath.so.&libquadmath-version; libstdc++.so.&libstdcpp-version;
+ libquadmath.so.&libquadmath-version; libstdc++.so.&libstdcpp-version; libz.so.&zlib-version;
libitm.so.&libitm-version; libatomic.so.&libatomic-version;"
cd /usr/lib
for LIB in $save_usrlib; do
objcopy --only-keep-debug $LIB $LIB.dbg
- strip --strip-unneeded $LIB
- objcopy --add-gnu-debuglink=$LIB.dbg $LIB
+ cp $LIB /tmp/$LIB
+ strip --strip-unneeded /tmp/$LIB
+ objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB
+ install -vm755 /tmp/$LIB /usr/lib
+ rm /tmp/$LIB
done
unset LIB save_usrlib
@@ -58,7 +61,7 @@ unset LIB save_usrlib
find /usr/lib -type f -name \*.a \
-exec strip --strip-debug {} ';'
-find /usr/lib -type f -name \*.so* ! -name \*dbg \
+find /usr/lib -type f -name \*.so* ! -name \*dbg ! -name libz.so* \
-exec strip --strip-unneeded {} ';'
find /usr/{bin,sbin,libexec} -type f \
diff --git a/chapter08/util-linux.xml b/chapter08/util-linux.xml
index 8f72a80d7..d7613a74c 100644
--- a/chapter08/util-linux.xml
+++ b/chapter08/util-linux.xml
@@ -94,25 +94,25 @@
bash tests/run.sh --srcdir=$PWD --builddir=$PWD
-
+
chown -Rv tester .
su tester -c "make -k check"
Install the package:
make install
-
+
diff --git a/packages.ent b/packages.ent
index 8855baa56..acaf9d22d 100644
--- a/packages.ent
+++ b/packages.ent
@@ -621,10 +621,10 @@
-
-
-
-
+
+
+
+
@@ -707,14 +707,11 @@
-
-
+
+
-
+
-
-
-