From 59b66d792f68908b95b7d91d45d5573722d9ec82 Mon Sep 17 00:00:00 2001 From: Pierre Labastie Date: Tue, 26 May 2020 12:25:21 +0000 Subject: [PATCH] Fix various test failures: - bison and man-db: use a symlink: tools/share/locale->/usr/share/locale/locale-archive so that the installed locales are found by programs not yet installed in /usr - vim: upstade to 8.2.0814 (used for testing by several persons) - sed in automake, fixes one test - patch for gold: allows its testsuite to run - mount /dev/pts as --bind: foxes a test in coreutils - bash: use su << EOF instead of su -c, to keep a controlling terminal git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11859 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- chapter01/changelog.xml | 31 +++++++++++++++++++++++++++++++ chapter03/patches.xml | 10 +++++----- chapter06/automake.xml | 4 ++++ chapter06/bash.xml | 9 ++++++++- chapter06/binutils.xml | 8 +++++--- chapter06/coreutils.xml | 7 +++---- chapter06/createfiles.xml | 20 +++++++++++++++++++- chapter06/kernfs.xml | 2 +- general.ent | 6 +++--- packages.ent | 4 ++-- patches.ent | 4 ++++ 11 files changed, 85 insertions(+), 20 deletions(-) diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index ae13dceb8..3fe82a0bc 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -42,6 +42,37 @@ or as appropriate for the entry or if needed the entire day's listitem. --> + + 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. + + + [pierre] - Mount /dev/pts with "--bind", so that "tty" + knows there is a terminal. Fixes a test in coreutils. + + + [pierre] - Add a patch to fix a failure in gold test suite, + which really needs -fcommon in some tests. + + + [pierre] - Fix a failure in automake test suite. + + + [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 + to find the installed locales. Fixes test failures in bison + and man-db; + + + + 2020-05-21 diff --git a/chapter03/patches.xml b/chapter03/patches.xml index 6c2b95378..b960b7d06 100644 --- a/chapter03/patches.xml +++ b/chapter03/patches.xml @@ -26,15 +26,15 @@ - + Bzip2 Documentation Patch - &bzip2-docs-patch-size;: diff --git a/chapter06/automake.xml b/chapter06/automake.xml index 411f096c4..11dccfad3 100644 --- a/chapter06/automake.xml +++ b/chapter06/automake.xml @@ -41,6 +41,10 @@ Installation of Automake + Fix a failing test: + +sed -i "s/''/etags/" t/tags-lisp-space.sh + Prepare Automake for compilation: ./configure --prefix=/usr --docdir=/usr/share/doc/automake-&automake-version; diff --git a/chapter06/bash.xml b/chapter06/bash.xml index adeec10a4..953c4ad72 100644 --- a/chapter06/bash.xml +++ b/chapter06/bash.xml @@ -80,7 +80,14 @@ Now, run the tests as the nobody user: -su nobody -s /bin/bash -c "PATH=$PATH HOME=/home make tests" +su nobody -s /bin/bash << EOF +PATH=$PATH HOME=/home make tests +EOF + + The su command above is slightly different from + other places in the book. The + reason is that the option runs the command without + a controlling terminal, while the bash test suite needs one. Install the package and move the main executable to /bin: diff --git a/chapter06/binutils.xml b/chapter06/binutils.xml index d2d9c055d..04dbd199c 100644 --- a/chapter06/binutils.xml +++ b/chapter06/binutils.xml @@ -58,9 +58,11 @@ Ask your system administrator to create more. Now remove one test that prevents the tests from running - to completion: + to completion, and fix other tests in the gold test suite, which + need to be adjusted for GCC 10: -sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in +sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in +patch -Np1 -i ../binutils-&binutils-version;-gcc10_gold_test_fix-1.patch The Binutils documentation recommends building Binutils in a dedicated build directory: @@ -157,7 +159,7 @@ cd build make -k check - The ver_test_pr16504.sh test is known to fail. + Install the package: diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml index 42ea98b0d..50907ae11 100644 --- a/chapter06/coreutils.xml +++ b/chapter06/coreutils.xml @@ -126,14 +126,13 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \ Now run the tests. Make sure the PATH in the su environment includes /tools/bin. -su nobody -s /bin/bash \ - -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check" - +su nobody -s /bin/bash -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check" + Remove the temporary group: sed -i '/dummy/d' /etc/group diff --git a/chapter06/createfiles.xml b/chapter06/createfiles.xml index ac2805597..8cb6175cb 100644 --- a/chapter06/createfiles.xml +++ b/chapter06/createfiles.xml @@ -56,7 +56,10 @@ done for incdir in blkid libmount uuid libfdisk do ln -svf /tools/include/$incdir /usr/include -done +done + +mkdir -pv /tools/lib/locale +ln -sv /usr/lib/locale/locale-archive /tools/lib/locale The purpose of each link: @@ -200,6 +203,21 @@ done + + + + /tools/lib/locale/locale-archive + + + + Some programs built in chapter 5 look for installed + locale descriptions in this file. The locale descriptions will be + installed in /usr/lib/locale/locale-archive + after building the final glibc. The symlink allows those programs + to use the installed locales. + + + Historically, Linux maintains a list of the mounted file systems in the diff --git a/chapter06/kernfs.xml b/chapter06/kernfs.xml index 860cdfc00..8d9091c73 100644 --- a/chapter06/kernfs.xml +++ b/chapter06/kernfs.xml @@ -68,7 +68,7 @@ mknod -m 666 $LFS/dev/null c 1 3 Now mount the remaining virtual kernel filesystems: -mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620 +mount -v --bind /dev/pts $LFS/dev/pts mount -vt proc proc $LFS/proc mount -vt sysfs sysfs $LFS/sys mount -vt tmpfs tmpfs $LFS/run diff --git a/general.ent b/general.ent index 7e9a422c1..60846c9a0 100644 --- a/general.ent +++ b/general.ent @@ -1,13 +1,13 @@ - + - + - + diff --git a/packages.ent b/packages.ent index b7bb7f9ff..1848be10a 100644 --- a/packages.ent +++ b/packages.ent @@ -700,13 +700,13 @@ - + - + diff --git a/patches.ent b/patches.ent index 32c7659b5..9ec504dce 100644 --- a/patches.ent +++ b/patches.ent @@ -6,6 +6,10 @@ + + + +