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 @@ - - + + - +