Browse Source

Fixes for bash tests

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11881 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Pierre Labastie 5 years ago
parent
commit
a3260cbb07
5 changed files with 21 additions and 7 deletions
  1. 12 0
      chapter01/changelog.xml
  2. 3 1
      chapter06/bash.xml
  3. 1 1
      chapter06/coreutils.xml
  4. 2 2
      chapter06/createfiles.xml
  5. 3 3
      general.ent

+ 12 - 0
chapter01/changelog.xml

@@ -42,6 +42,18 @@
     <listitem revision="sysv"> or <listitem revision="systemd"> as
     <listitem revision="sysv"> or <listitem revision="systemd"> as
     appropriate for the entry or if needed the entire day's listitem.
     appropriate for the entry or if needed the entire day's listitem.
     -->
     -->
+    <listitem>
+      <para>2020-05-31</para>
+      <itemizedlist>
+        <listitem>
+          <para>[pierre] - Fix bash tests: add a couple of symlinks
+          from /bin to /tools, create the tester user with the uid of
+          the tty owner, run the bash tests with su &lt;&lt; EOF, and
+          explicitely defining stdin (with help from thomas and bdubbs).</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
     <listitem>
     <listitem>
       <para>2020-05-29</para>
       <para>2020-05-29</para>
       <itemizedlist>
       <itemizedlist>

+ 3 - 1
chapter06/bash.xml

@@ -80,7 +80,9 @@
     <para>Now, run the tests as the <systemitem
     <para>Now, run the tests as the <systemitem
     class="username">tester</systemitem> user:</para>
     class="username">tester</systemitem> user:</para>
 
 
-<screen><userinput remap="test">su tester -c "PATH=$PATH make tests"</userinput></screen>
+<screen><userinput remap="test">su tester &lt;&lt; EOF
+PATH=$PATH make tests &lt; $(tty)
+EOF</userinput></screen>
 
 
     <para>The <systemitem class="username">tester</systemitem>
     <para>The <systemitem class="username">tester</systemitem>
     user does not have enough permissions for all the tests to pass. This shows
     user does not have enough permissions for all the tests to pass. This shows

+ 1 - 1
chapter06/coreutils.xml

@@ -116,7 +116,7 @@ FORCE_UNSAFE_CONFIGURE=1 ./configure \
     these tests are not skipped we'll add a temporary group and make the
     these tests are not skipped we'll add a temporary group and make the
     user <systemitem class="username">tester</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:tester" &gt;&gt; /etc/group</userinput></screen>
+<screen><userinput remap="test">echo "dummy:x:102:tester" &gt;&gt; /etc/group</userinput></screen>
 
 
     <para>Fix some of the permissions so that the non-root user can compile and
     <para>Fix some of the permissions so that the non-root user can compile and
     run the tests:</para>
     run the tests:</para>

+ 2 - 2
chapter06/createfiles.xml

@@ -39,7 +39,7 @@
   will be replaced by real files throughout the course of this chapter after the
   will be replaced by real files throughout the course of this chapter after the
   software has been installed:</para>
   software has been installed:</para>
 
 
-<screen><userinput>ln -sv /tools/bin/{bash,cat,chmod,dd,echo,ln,mkdir,pwd,rm,stty,touch} /bin
+<screen><userinput>ln -sv /tools/bin/{bash,cat,chmod,dd,echo,false,ln,ls,mkdir,pwd,rm,stty,touch} /bin
 ln -sv /tools/bin/{env,install,perl,printf}         /usr/bin
 ln -sv /tools/bin/{env,install,perl,printf}         /usr/bin
 ln -sv /tools/lib/libgcc_s.so{,.1}                  /usr/lib
 ln -sv /tools/lib/libgcc_s.so{,.1}                  /usr/lib
 ln -sv /tools/lib/libstdc++.{a,so{,.6}}             /usr/lib
 ln -sv /tools/lib/libstdc++.{a,so{,.6}}             /usr/lib
@@ -334,7 +334,7 @@ EOF</userinput></screen>
   <para>Some tests later in the chapter need a regular user. We add this
   <para>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.</para>
   user here and delete this account at the end of the chapter.</para>
 
 
-<screen><userinput>echo "tester:x:101:101::/home/tester:/bin/bash" &gt;&gt; /etc/passwd
+<screen><userinput>echo "tester:x:$(ls -n $(tty) | cut -d" " -f3):101::/home/tester:/bin/bash" &gt;&gt; /etc/passwd
 echo "tester:x:101:" &gt;&gt; /etc/group
 echo "tester:x:101:" &gt;&gt; /etc/group
 install -o tester -d /home/tester</userinput></screen>
 install -o tester -d /home/tester</userinput></screen>
 
 

+ 3 - 3
general.ent

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