diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml
index 55bcd3800..99144fdd9 100644
--- a/appendices/dependencies.xml
+++ b/appendices/dependencies.xml
@@ -911,7 +911,7 @@
Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make,
- Sed, and Texinfo
+ Ncurses, Sed, and Texinfo
diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index ebab6f423..45c1ed4b3 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -44,13 +44,60 @@
or as
appropriate for the entry or if needed the entire day's listitem.
-->
+
+ 2020-05-29
+
+
+ [bdubbs] - Run sed and findutils tests as an
+ unprivileged user. Fixes
+ #4661.
+
+
+
+
+
+ 2020-05-28
+
+
+ [bdubbs] - Add an unprivileged user, tester, at the
+ beginning of Chapter 6 for running some tests. This
+ user is then removed at the end of the chapter.
+
+
+ [bdubbs] - Update to zstd-1.4.5. Fixes
+ #4660.
+
+
+ [bdubbs] - Update to util-linux-2.35.2. Fixes
+ #4659.
+
+
+ [bdubbs] - Update to bison-3.6.2. Fixes
+ #4657.
+
+
+ [pierre] - Update to linux-5.6.15. Fixes
+ #4658.
+
+
+
+
+
+ 2020-05-27
+
+
+ [pierre] - Bash: document test results.
+
+
+
+
2020-05-26
[pierre] - Bash: do not use "su -c command" to change user
- to nobody: it removes the controlling terminal and makes some
- tests fail. Use "su << EOF" instead.
+ to nobody: it removes the controlling terminal and makes some
+ tests fail. Use "su << EOF" instead.
[pierre] - Mount /dev/pts with "--bind", so that "tty"
@@ -67,10 +114,10 @@
[pierre] - Update to vim-8.2.0814.
- [pierre] - Add a symlink from /tools/share/locale
- to /usr/share/locale/locale-archive, to allow some programs
+ [pierre] - Add a symlink from /tools/lib/locale
+ to /usr/lib/locale/locale-archive, to allow some programs
to find the installed locales. Fixes test failures in bison
- and man-db;
+ and man-db.
diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml
index 8fa0cf71c..14ea32943 100644
--- a/chapter01/whatsnew.xml
+++ b/chapter01/whatsnew.xml
@@ -245,9 +245,9 @@
Tzdata-&tzdata-version;
-
+
Vim-&vim-version;
@@ -260,9 +260,9 @@
-
+
+
Remove the temporary group:
sed -i '/dummy/d' /etc/group
-
+-->
Install the package:
make install
diff --git a/chapter06/createfiles.xml b/chapter06/createfiles.xml
index 0941391e2..20278d6e8 100644
--- a/chapter06/createfiles.xml
+++ b/chapter06/createfiles.xml
@@ -364,6 +364,13 @@ EOF
administrator since well-written programs do not depend on GID numbers, but
rather use the group's name.
+ Some tests later in the chapter need a regular user. We add this
+ user here and delete this account at the end of the chapter.
+
+echo "tester:x:101:101::/home/tester:/bin/bash" >> /etc/passwd
+echo "tester:x:101:dummy" >> /etc/group
+install -o tester -d /home/tester
+
To remove the I have no name!
prompt, start a new
shell. Since a full Glibc was installed in and the
diff --git a/chapter06/findutils.xml b/chapter06/findutils.xml
index 15b6d70fb..37393f0de 100644
--- a/chapter06/findutils.xml
+++ b/chapter06/findutils.xml
@@ -67,10 +67,8 @@
To test the results, issue:
-make check
-
- Two tests are known to fail in the chroot environment:
- sv-bug-54171.old-O3 and sv-bug-54171.new-O3.
+chown -Rv tester .
+su tester -c "PATH=$PATH make check"
Install the package:
diff --git a/chapter06/gcc.xml b/chapter06/gcc.xml
index 03bac7a39..5eabb9ce5 100644
--- a/chapter06/gcc.xml
+++ b/chapter06/gcc.xml
@@ -126,8 +126,8 @@ cd build
Test the results as a non-privileged user, but do not stop at errors:
-chown -Rv nobody .
-su nobody -s /bin/bash -c "PATH=$PATH make -k check"
+chown -Rv tester .
+su tester -c "PATH=$PATH make -k check"
To receive a summary of the test suite results, run:
@@ -167,7 +167,7 @@ su nobody -s /bin/bash -c "PATH=$PATH make -k check"
rm -rf /usr/lib/gcc/$(gcc -dumpmachine)/&gcc-version;/include-fixed/bits/
The GCC build directory is owned by
- nobody now and the ownership of the installed header
+ tester now and the ownership of the installed header
directory (and its content) will be incorrect. Change the ownership to
root user and group:
diff --git a/chapter06/revisedchroot.xml b/chapter06/revisedchroot.xml
index 0a3339e64..f4e12a804 100644
--- a/chapter06/revisedchroot.xml
+++ b/chapter06/revisedchroot.xml
@@ -73,4 +73,9 @@ rm -f /usr/lib/libz.a
url="&blfs-book;/introduction/la-files.html">BLFS section "About Libtool
Archive (.la) files".
+ Finally, remove the temporary 'tester' usr account created at the
+ beginning of this chapter.
+
+sed -i '/tester/d' /etc/passwd /etc/group
+rm -rf /home/tester
diff --git a/chapter06/sed.xml b/chapter06/sed.xml
index aa6ac177c..9dee31ed2 100644
--- a/chapter06/sed.xml
+++ b/chapter06/sed.xml
@@ -40,26 +40,14 @@
Installation of Sed
- First fix an issue in the LFS environment and remove a failing test:
+ First fix an issue in the LFS environment:
-sed -i 's/usr/tools/' build-aux/help2man
-sed -i 's/testsuite.panic-tests.sh//' Makefile.in
+sed -i 's/usr/tools/' build-aux/help2man
Prepare Sed for compilation:
./configure --prefix=/usr --bindir=/bin
-
Compile the package and generate the HTML documentation:
make
@@ -67,7 +55,8 @@ make html
To test the results, issue:
-make check
+chown -Rv tester .
+su -c "PATH=$PATH make check"
Install the package and its documentation:
diff --git a/chapter06/util-linux.xml b/chapter06/util-linux.xml
index 75054a0e2..5ee12d1b5 100644
--- a/chapter06/util-linux.xml
+++ b/chapter06/util-linux.xml
@@ -40,27 +40,16 @@
- FHS compliance notes
+ Installation of Util-linux
The FHS recommends using the /var/lib/hwclock directory instead of the
usual /etc directory as the
- location for the adjtime file. First create a directory
- to enable storage for the hwclock program:
+ location for the adjtime file. Create this directory
+ with:
mkdir -pv /var/lib/hwclock
-
-
-
- Installation of Util-linux
-
-
Remove the earlier created symlinks and files:
rm -vf /usr/include/{blkid,libfdisk,libmount,uuid}
@@ -115,8 +104,8 @@ rm -vf /usr/lib/pkgconfig/{blkid,fdisk,mount,uuid}.pc
bash tests/run.sh --srcdir=$PWD --builddir=$PWD
-chown -Rv nobody .
-su nobody -s /bin/bash -c "PATH=$PATH make -k check"
+chown -Rv tester .
+su tester -c "make -k check"
Install the package:
diff --git a/chapter06/vim.xml b/chapter06/vim.xml
index 2f91d5c33..263122bd7 100644
--- a/chapter06/vim.xml
+++ b/chapter06/vim.xml
@@ -67,15 +67,15 @@
make
To prepare the tests, ensure that the
- nobody user can write
+ tester user can write
to the sources tree:
-chown -Rv nobody .
+chown -Rv tester .
Now run the tests as the nobody user:
+ class="username">tester user:
-su nobody -s /bin/bash -c "LANG=en_US.UTF-8 make -j1 test" &> vim-test.log
+su tester -c "LANG=en_US.UTF-8 make -j1 test" &> vim-test.log
diff --git a/chapter08/kernel.xml b/chapter08/kernel.xml
index 6ee2192cc..94f050b4e 100644
--- a/chapter08/kernel.xml
+++ b/chapter08/kernel.xml
@@ -54,16 +54,6 @@
kernel compilation. Do not rely on the source tree being clean after
un-tarring.
-
- When using CONFIG_STACKPROTECTOR_STRONG=y, and
- compiling with GCC 10 and later, the default optimization is too
- aggressive, and generates a kernel panic when booting. This can be
- fixed with:
-
-sed -e '/cpu_startup/a asm("");' \
- -i arch/x86/{kernel/smpboot.c,xen/smp_pv.c}
-
Configure the kernel via a menu-driven interface. For general
diff --git a/general.ent b/general.ent
index 60846c9a0..77e61b49c 100644
--- a/general.ent
+++ b/general.ent
@@ -1,13 +1,13 @@
-
+
-
+
-
+
diff --git a/packages.ent b/packages.ent
index f92e4fbe0..5bfa2f4ce 100644
--- a/packages.ent
+++ b/packages.ent
@@ -70,10 +70,10 @@
-
-
+
+
-
+
@@ -433,12 +433,12 @@
-
+
-
+
-
+
-
+
+
-
+
@@ -755,10 +755,10 @@
-
-
+
+
-
+