Преглед изворни кода

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

Pierre Labastie пре 4 година
родитељ
комит
59b66d792f

+ 31 - 0
chapter01/changelog.xml

@@ -42,6 +42,37 @@
     <listitem revision="sysv"> or <listitem revision="systemd"> as
     appropriate for the entry or if needed the entire day's listitem.
     -->
+    <listitem>
+      <para>2020-05-26</para>
+      <itemizedlist>
+        <listitem>
+          <para>[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 &lt;&lt; EOF" instead.</para>
+        </listitem>
+        <listitem>
+          <para>[pierre] - Mount /dev/pts with "--bind", so that "tty"
+          knows there is a terminal. Fixes a test in coreutils.</para>
+        </listitem>
+        <listitem>
+          <para>[pierre] - Add a patch to fix a failure in gold test suite,
+          which really needs -fcommon in some tests.</para>
+        </listitem>
+        <listitem>
+          <para>[pierre] - Fix a failure in automake test suite.</para>
+        </listitem>
+        <listitem>
+          <para>[pierre] - Update to vim-8.2.0814.</para>
+        </listitem>
+        <listitem>
+          <para>[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;</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
     <listitem>
       <para>2020-05-21</para>
       <itemizedlist>

+ 5 - 5
chapter03/patches.xml

@@ -26,15 +26,15 @@
       </listitem>
     </varlistentry>
 
-<!--
+
     <varlistentry>
-      <term>Bc Memory Leak Patch - <token>&bc-memory-leak-patch-size;</token>:</term>
+      <term>Binutils Fix for gold Test Suite Patch - <token>&binutils-gold-test-patch-size;</token>:</term>
       <listitem>
-        <para>Download: <ulink url="&patches-root;&bc-memory-leak-patch;"/></para>
-        <para>MD5 sum: <literal>&bc-memory-leak-patch-md5;</literal></para>
+        <para>Download: <ulink url="&patches-root;&binutils-gold-test-patch;"/></para>
+        <para>MD5 sum: <literal>&binutils-gold-test-patch-md5;</literal></para>
       </listitem>
     </varlistentry>
--->
+
     <varlistentry>
       <term>Bzip2 Documentation Patch - <token>&bzip2-docs-patch-size;</token>:</term>
       <listitem>

+ 4 - 0
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>

+ 8 - 1
chapter06/bash.xml

@@ -80,7 +80,14 @@
     <para>Now, run the tests as the <systemitem
     class="username">nobody</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 nobody -s /bin/bash &lt;&lt; EOF
+PATH=$PATH HOME=/home make tests
+EOF</userinput></screen>
+
+    <para>The <command>su</command> command above is slightly different from
+    other places in the book. The
+    reason is that the <option>-c</option> option runs the command without
+    a controlling terminal, while the bash test suite needs one.</para>
 
     <para>Install the package and move the main executable to
     <filename class='directory'>/bin</filename>:</para>

+ 5 - 3
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>
 

+ 3 - 4
chapter06/coreutils.xml

@@ -126,14 +126,13 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
     <para>Now run the tests. Make sure the PATH in the <userinput>su</userinput>
     environment includes /tools/bin.</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 nobody -s /bin/bash -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>

+ 19 - 1
chapter06/createfiles.xml

@@ -56,7 +56,10 @@ done
 for incdir in blkid libmount uuid libfdisk
 do
     ln -svf /tools/include/$incdir    /usr/include
-done</userinput></screen>
+done
+
+mkdir -pv /tools/lib/locale
+ln -sv /usr/lib/locale/locale-archive /tools/lib/locale</userinput></screen>
 
   <variablelist>
     <title>The purpose of each link:</title>
@@ -200,6 +203,21 @@ done</userinput></screen>
       </listitem>
     </varlistentry>
 
+    <varlistentry>
+      <term>
+        <parameter>
+          <filename>/tools/lib/locale/locale-archive</filename>
+        </parameter>
+      </term>
+      <listitem>
+        <para>Some programs built in chapter 5 look for installed
+        locale descriptions in this file. The locale descriptions will be
+        installed in <filename>/usr/lib/locale/locale-archive</filename>
+        after building the final glibc. The symlink allows those programs
+        to use the installed locales.</para>
+      </listitem>
+    </varlistentry>
+
   </variablelist>
 
   <para>Historically, Linux maintains a list of the mounted file systems in the

+ 1 - 1
chapter06/kernfs.xml

@@ -68,7 +68,7 @@ mknod -m 666 $LFS/dev/null c 1 3</userinput></screen>
 
       <para>Now mount the remaining virtual kernel filesystems:</para>
 
-<screen><userinput>mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620
+<screen><userinput>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</userinput></screen>

+ 3 - 3
general.ent

@@ -1,13 +1,13 @@
-<!ENTITY version         "SVN-20200521">
+<!ENTITY version         "SVN-20200526">
 <!ENTITY short-version   "svn">  <!-- Used below in &blfs-book; 
                                       Change to x.y for release but not -rc releases -->
 <!ENTITY generic-version "development"> <!-- Use "development"  or "x.y[-pre{x}]" -->
 
-<!ENTITY versiond        "20200521-systemd">
+<!ENTITY versiond        "20200526-systemd">
 <!ENTITY short-versiond  "systemd">
 <!ENTITY generic-versiond "systemd"> 
 
-<!ENTITY releasedate     "May 21st, 2020">
+<!ENTITY releasedate     "May 26th, 2020">
 
 <!ENTITY copyrightdate   "1999-2020"><!-- jhalfs needs a literal dash, not &ndash; -->
 

+ 2 - 2
packages.ent

@@ -700,13 +700,13 @@
 <!ENTITY util-linux-ch6-du "289 MB">
 <!ENTITY util-linux-ch6-sbu "1.1 SBU">
 
-<!ENTITY vim-version "8.2.0716">
+<!ENTITY vim-version "8.2.0814">
 <!ENTITY vim-majmin "82">
 <!ENTITY vim-docdir "vim/vim82">
 <!ENTITY vim-size "14,595 KB">
 <!--<!ENTITY vim-url "https://github.com/vim/vim/archive/v&vim-version;/vim-&vim-version;.tar.gz">-->
 <!ENTITY vim-url "&anduin-sources;/vim-&vim-version;.tar.gz">
-<!ENTITY vim-md5 "004b4596f185889fbca5b8d513f294ce">
+<!ENTITY vim-md5 "02b8b91bd2a9a97879fc60616f4eb767">
 <!ENTITY vim-home "https://www.vim.org">
 <!ENTITY vim-ch6-du "202 MB">
 <!ENTITY vim-ch6-sbu "1.7 SBU">

+ 4 - 0
patches.ent

@@ -6,6 +6,10 @@
 <!ENTITY bash-fixes-patch-md5 "c1545da2ad7d78574b52c465ec077ed9">
 <!ENTITY bash-fixes-patch-size "22 KB">
 
+<!ENTITY binutils-gold-test-patch "binutils-&binutils-version;-gcc10_gold_test_fix-1.patch">
+<!ENTITY binutils-gold-test-patch-md5 "d18aaf9b25830cb8f7a5d44aa3febe28">
+<!ENTITY binutils-gold-test-patch-size "5.0 KB">
+
 <!ENTITY bzip2-docs-patch "bzip2-&bzip2-version;-install_docs-1.patch">
 <!ENTITY bzip2-docs-patch-md5 "6a5ac7e89b791aae556de0f745916f7f">
 <!ENTITY bzip2-docs-patch-size "1.6 KB">