diff options
Diffstat (limited to 'chapter06')
-rw-r--r-- | chapter06/automake.xml | 4 | ||||
-rw-r--r-- | chapter06/bash.xml | 15 | ||||
-rw-r--r-- | chapter06/binutils.xml | 8 | ||||
-rw-r--r-- | chapter06/chapter06.xml | 4 | ||||
-rw-r--r-- | chapter06/coreutils.xml | 17 | ||||
-rw-r--r-- | chapter06/findutils.xml | 6 | ||||
-rw-r--r-- | chapter06/gcc.xml | 6 | ||||
-rw-r--r-- | chapter06/make.xml | 2 | ||||
-rw-r--r-- | chapter06/revisedchroot.xml | 6 | ||||
-rw-r--r-- | chapter06/sed.xml | 7 | ||||
-rw-r--r-- | chapter06/util-linux.xml | 15 | ||||
-rw-r--r-- | chapter06/vim.xml | 8 |
12 files changed, 53 insertions, 45 deletions
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 @@ <sect2 role="installation"> <title>Installation of Automake</title> + <para>Fix a failing test:</para> + +<screen><userinput remap="pre">sed -i "s/''/etags/" t/tags-lisp-space.sh</userinput></screen> + <para>Prepare Automake for compilation:</para> <screen><userinput remap="configure">./configure --prefix=/usr --docdir=/usr/share/doc/automake-&automake-version;</userinput></screen> diff --git a/chapter06/bash.xml b/chapter06/bash.xml index adeec10a4..ae42cf4cb 100644 --- a/chapter06/bash.xml +++ b/chapter06/bash.xml @@ -73,14 +73,21 @@ <para>Skip down to <quote>Install the package</quote> if not running the test suite.</para> - <para>To prepare the tests, ensure that the <systemitem class="username">nobody</systemitem> user can write to the sources tree:</para> + <para>To prepare the tests, ensure that the <systemitem class="username">tester</systemitem> user can write to the sources tree:</para> -<screen><userinput remap="test">chown -Rv nobody .</userinput></screen> +<screen><userinput remap="test">chown -Rv tester .</userinput></screen> <para>Now, run the tests as the <systemitem - class="username">nobody</systemitem> user:</para> + class="username">tester</systemitem> user:</para> -<screen><userinput remap="test">su nobody -s /bin/bash -c "PATH=$PATH HOME=/home make tests"</userinput></screen> +<screen><userinput remap="test">su tester -c "PATH=$PATH make tests"</userinput></screen> + + <para>The <systemitem class="username">tester</systemitem> + user does not have enough permissions for all the tests to pass. This shows + up in some <quote>diff</quote> output in four test results. Portions of the + run-execscript, run-lastpipe, run-read, and run-test programs + are known to fail in the LFS chroot environment, but pass if the tests + are run in a full system.</para> <para>Install the package and move the main executable to <filename class='directory'>/bin</filename>:</para> 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.</computeroutput></screen> <para>Now remove one test that prevents the tests from running - to completion:</para> + to completion, and fix other tests in the gold test suite, which + need to be adjusted for GCC 10:</para> -<screen><userinput remap="pre">sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in</userinput></screen> +<screen><userinput remap="pre">sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in +patch -Np1 -i ../binutils-&binutils-version;-gcc10_gold_test_fix-1.patch</userinput></screen> <para>The Binutils documentation recommends building Binutils in a dedicated build directory:</para> @@ -157,7 +159,7 @@ cd build</userinput></screen> <screen><userinput remap="test">make -k check</userinput></screen> - <para>The ver_test_pr16504.sh test is known to fail.</para> +<!-- <para>The ver_test_pr16504.sh test is known to fail.</para>--> <para>Install the package:</para> diff --git a/chapter06/chapter06.xml b/chapter06/chapter06.xml index 9a5ca1fc5..7fc83b374 100644 --- a/chapter06/chapter06.xml +++ b/chapter06/chapter06.xml @@ -20,10 +20,12 @@ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="zlib.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bzip2.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="xz.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="zstd.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="file.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="readline.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="m4.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bc.xml"/> + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="flex.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="binutils.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gmp.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="mpfr.xml"/> @@ -40,7 +42,6 @@ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="iana-etc.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gettext.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bison.xml"/> - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="flex.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="grep.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bash.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libtool.xml"/> @@ -69,7 +70,6 @@ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="grub.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="less.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gzip.xml"/> - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="zstd.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="iproute2.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="kbd.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libpipeline.xml"/> diff --git a/chapter06/coreutils.xml b/chapter06/coreutils.xml index f383623a2..6a12d4e80 100644 --- a/chapter06/coreutils.xml +++ b/chapter06/coreutils.xml @@ -108,35 +108,34 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \ <para>Now the test suite is ready to be run. First, run the tests that are meant to be run as user <systemitem class="username">root</systemitem>:</para> -<screen><userinput remap="test">make NON_ROOT_USERNAME=nobody check-root</userinput></screen> +<screen><userinput remap="test">make NON_ROOT_USERNAME=tester check-root</userinput></screen> <para>We're going to run the remainder of the tests as the - <systemitem class="username">nobody</systemitem> user. Certain tests, + <systemitem class="username">tester</systemitem> user. Certain tests, however, require that the user be a member of more than one group. So that these tests are not skipped we'll add a temporary group and make the - user <systemitem class="username">nobody</systemitem> a part of it:</para> + user <systemitem class="username">tester</systemitem> a part of it:</para> -<screen><userinput remap="test">echo "dummy:x:1000:nobody" >> /etc/group</userinput></screen> +<screen><userinput remap="test">echo "dummy:x:1000:tester" >> /etc/group</userinput></screen> <para>Fix some of the permissions so that the non-root user can compile and run the tests:</para> -<screen><userinput remap="test">chown -Rv nobody . </userinput></screen> +<screen><userinput remap="test">chown -Rv tester . </userinput></screen> <para>Now run the tests:</para> -<screen><userinput remap="test">su nobody -s /bin/bash \ - -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen> - +<screen><userinput remap="test">su tester -c "PATH=$PATH make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen> +<!-- <para>The test program test-getlogin is known to fail in a partially built system environment like the chroot environment here, but passes if run at the end of this chapter. The test program tty.sh is also known to fail.</para> +--> <para>Remove the temporary group:</para> <screen><userinput remap="test">sed -i '/dummy/d' /etc/group</userinput></screen> - <para>Install the package:</para> <screen><userinput remap="install">make install</userinput></screen> 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 @@ <para>To test the results, issue:</para> -<screen><userinput remap="test">make check</userinput></screen> - - <para>Two tests are known to fail in the chroot environment: - sv-bug-54171.old-O3 and sv-bug-54171.new-O3.</para> +<screen><userinput remap="test">chown -Rv tester . +su tester -c "PATH=$PATH make check"</userinput></screen> <para>Install the package:</para> diff --git a/chapter06/gcc.xml b/chapter06/gcc.xml index c6d47d970..9e4c53ec5 100644 --- a/chapter06/gcc.xml +++ b/chapter06/gcc.xml @@ -98,8 +98,8 @@ cd build</userinput></screen> <para>Test the results as a non-privileged user, but do not stop at errors:</para> -<screen><userinput remap="test">chown -Rv nobody . -su nobody -s /bin/bash -c "PATH=$PATH make -k check"</userinput></screen> +<screen><userinput remap="test">chown -Rv tester . +su tester -c "PATH=$PATH make -k check"</userinput></screen> <para>To receive a summary of the test suite results, run:</para> @@ -139,7 +139,7 @@ su nobody -s /bin/bash -c "PATH=$PATH make -k check"</userinput></screen> rm -rf /usr/lib/gcc/$(gcc -dumpmachine)/&gcc-version;/include-fixed/bits/</userinput></screen> <para>The GCC build directory is owned by <systemitem class="username"> - nobody</systemitem> now and the ownership of the installed header + tester</systemitem> now and the ownership of the installed header directory (and its content) will be incorrect. Change the ownership to <systemitem class="username">root</systemitem> user and group:</para> diff --git a/chapter06/make.xml b/chapter06/make.xml index 585f8eea3..9c649cdc5 100644 --- a/chapter06/make.xml +++ b/chapter06/make.xml @@ -56,7 +56,7 @@ We use an environment variable to accomplish this. To test the results, issue:</para> -<screen><userinput remap="test">make PERL5LIB=$PWD/tests/ check</userinput></screen> +<screen><userinput remap="test">make check</userinput></screen> <para>Install the package:</para> diff --git a/chapter06/revisedchroot.xml b/chapter06/revisedchroot.xml index 882fbd3d5..0e836d661 100644 --- a/chapter06/revisedchroot.xml +++ b/chapter06/revisedchroot.xml @@ -42,6 +42,7 @@ chroot "$LFS" /usr/bin/env -i \ remove them now:</para> <screen><userinput>rm -f /usr/lib/lib{bfd,opcodes}.a +rm -f /usr/lib/libctf{,-nobfd}.a rm -f /usr/lib/libbz2.a rm -f /usr/lib/lib{com_err,e2p,ext2fs,ss}.a rm -f /usr/lib/libltdl.a @@ -61,4 +62,9 @@ rm -f /usr/lib/libz.a</userinput></screen> url="&blfs-book;/introduction/la-files.html">BLFS section "About Libtool Archive (.la) files"</ulink>.</para> + <para>Finally, remove the temporary 'tester' usr account created at the + beginning of this chapter.</para> + +<screen><userinput>sed -i '/tester/d' /etc/passwd /etc/group +rm -rf /home/tester</userinput></screen> </sect1> diff --git a/chapter06/sed.xml b/chapter06/sed.xml index bebd49d14..030e77a0b 100644 --- a/chapter06/sed.xml +++ b/chapter06/sed.xml @@ -40,10 +40,6 @@ <sect2 role="installation"> <title>Installation of Sed</title> - <para>First fix an issue in the LFS environment and remove a failing test:</para> - -<screen><userinput remap="pre">sed -i 's/testsuite.panic-tests.sh//' Makefile.in</userinput></screen> - <para>Prepare Sed for compilation:</para> <screen><userinput remap="configure">./configure --prefix=/usr --bindir=/bin</userinput></screen> @@ -55,7 +51,8 @@ make html</userinput></screen> <para>To test the results, issue:</para> -<screen><userinput remap="test">make check</userinput></screen> +<screen><userinput remap="test">chown -Rv tester . +su tester -c "PATH=$PATH make check"</userinput></screen> <para>Install the package and its documentation:</para> diff --git a/chapter06/util-linux.xml b/chapter06/util-linux.xml index bc328e8bb..519c3b171 100644 --- a/chapter06/util-linux.xml +++ b/chapter06/util-linux.xml @@ -40,21 +40,16 @@ </sect2> <sect2 role="installation"> - <title>FHS compliance notes</title> + <title>Installation of Util-linux</title> <para>The FHS recommends using the <filename class="directory">/var/lib/hwclock</filename> directory instead of the usual <filename class="directory">/etc</filename> directory as the - location for the <filename>adjtime</filename> file. First create a directory - to enable storage for the <command>hwclock</command> program:</para> + location for the <filename>adjtime</filename> file. Create this directory + with:</para> <screen><userinput remap="pre">mkdir -pv /var/lib/hwclock</userinput></screen> - </sect2> - - <sect2 role="installation"> - <title>Installation of Util-linux</title> - <para>Prepare Util-linux for compilation:</para> <screen revision="sysv"><userinput remap="configure">./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \ @@ -103,8 +98,8 @@ <screen role="nodump"><userinput>bash tests/run.sh --srcdir=$PWD --builddir=$PWD</userinput></screen> </warning> -<screen><userinput remap="test">chown -Rv nobody . -su nobody -s /bin/bash -c "PATH=$PATH make -k check"</userinput></screen> +<screen><userinput remap="test">chown -Rv tester . +su tester -c "make -k check"</userinput></screen> <para>Install the package:</para> 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 @@ <screen><userinput remap="make">make</userinput></screen> <para>To prepare the tests, ensure that the - <systemitem class="username">nobody</systemitem> user can write + <systemitem class="username">tester</systemitem> user can write to the sources tree:</para> -<screen><userinput remap="test">chown -Rv nobody .</userinput></screen> +<screen><userinput remap="test">chown -Rv tester .</userinput></screen> <para>Now run the tests as the <systemitem - class="username">nobody</systemitem> user:</para> + class="username">tester</systemitem> user:</para> -<screen><userinput remap="test">su nobody -s /bin/bash -c "LANG=en_US.UTF-8 make -j1 test" &> vim-test.log</userinput></screen> +<screen><userinput remap="test">su tester -c "LANG=en_US.UTF-8 make -j1 test" &> vim-test.log</userinput></screen> <!--<screen><userinput remap="test">LANG=en_US.UTF-8 make -j1 test &> vim-test.log</userinput></screen>--> |