aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06
diff options
context:
space:
mode:
authorPierre Labastie <pieere@linuxfromscratch.org>2020-05-30 18:22:47 +0000
committerPierre Labastie <pieere@linuxfromscratch.org>2020-05-30 18:22:47 +0000
commitae7f075dd6185f9ec93d5aedbb46e98511f25235 (patch)
tree910ae466b675094d23e33c62fa9a598b67fccfd7 /chapter06
parentf4bb2af2e4b9c007a6e660409e9fd5670c3469df (diff)
Update to trunk r11877
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/cross-chap5@11878 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Diffstat (limited to 'chapter06')
-rw-r--r--chapter06/automake.xml4
-rw-r--r--chapter06/bash.xml15
-rw-r--r--chapter06/binutils.xml8
-rw-r--r--chapter06/chapter06.xml4
-rw-r--r--chapter06/coreutils.xml17
-rw-r--r--chapter06/findutils.xml6
-rw-r--r--chapter06/gcc.xml6
-rw-r--r--chapter06/make.xml2
-rw-r--r--chapter06/revisedchroot.xml6
-rw-r--r--chapter06/sed.xml7
-rw-r--r--chapter06/util-linux.xml15
-rw-r--r--chapter06/vim.xml8
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" &gt;&gt; /etc/group</userinput></screen>
+<screen><userinput remap="test">echo "dummy:x:1000:tester" &gt;&gt; /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" &amp;> vim-test.log</userinput></screen>
+<screen><userinput remap="test">su tester -c "LANG=en_US.UTF-8 make -j1 test" &amp;> vim-test.log</userinput></screen>
<!--<screen><userinput remap="test">LANG=en_US.UTF-8 make -j1 test &amp;&gt; vim-test.log</userinput></screen>-->