Adding a touch of mtab before the running of Coreutils test suite.

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@3257 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
Alex Gronenwoud 2004-02-22 19:05:53 +00:00
parent 9da62ab0cd
commit cd0c92d633
5 changed files with 33 additions and 23 deletions

View File

@ -6,6 +6,9 @@
<itemizedlist> <itemizedlist>
<listitem><para>February 22nd, 2004 [alex]: Chapter 6 - Coreutils and
E2fsprogs: Clarified the prerequisites for running the tests.</para></listitem>
<listitem><para>February 19th, 2004 [alex]: Chapter 5 - Stripping: Removed <listitem><para>February 19th, 2004 [alex]: Chapter 5 - Stripping: Removed
an unnecessary "{,share/}" from the documentation's <command>rm</command> an unnecessary "{,share/}" from the documentation's <command>rm</command>
command.</para></listitem> command.</para></listitem>

View File

@ -40,35 +40,39 @@ provided by Net-tools. Prevent its installation by applying a patch:</para>
<screen><userinput>make</userinput></screen> <screen><userinput>make</userinput></screen>
<para>The <command>su</command> program from Coreutils wasn't installed in <para>The test suite of Coreutils makes several assumptions about the presence
<xref linkend="chapter-temporary-tools"/> because it needed of files and users that aren't valid yet this early in the LFS build. We will
<emphasis>root</emphasis> privilege to do so. We're going to need it in a few therefore have to set up a few things before being able to run the tests. If
moments for the test suite. Therefore we install it now:</para> you choose not to run these tests, skip down to "Install the package".</para>
<para>To be able to run the full test suite, the <command>su</command> program
needs to be installed. We didn't bother to install this little program in
<xref linkend="chapter-temporary-tools"/> because it requires root privileges,
so do it now:</para>
<screen><userinput>make install-root</userinput></screen> <screen><userinput>make install-root</userinput></screen>
<para>The test suite of this package <para>Create a 'table of mounted filesystems' file with:</para>
makes some assumptions with regards to the presence of non-root users and
groups that don't apply this early into the LFS build. We therefore create
a dummy system user and two dummy groups to allow the tests to run
properly. Should you choose not to run the test suite, skip down to
"Install the package". The following commands will prepare us for the test
suite. Create two dummy groups and a dummy user name:</para>
<screen><userinput>echo "dummy1:x:1000" >> /etc/group <screen><userinput>touch /etc/mtab</userinput></screen>
echo "dummy2:x:1001:dummy" >> /etc/group
echo "dummy:x:1000:1000:::/bin/bash" >> /etc/passwd</userinput></screen>
<para>Some tests are meant to run as <emphasis>root</emphasis>:</para> <para>And create two dummy groups and a dummy user name:</para>
<screen><userinput>echo "dummy1:x:1000" &gt;&gt; /etc/group
echo "dummy2:x:1001:dummy" &gt;&gt; /etc/group
echo "dummy:x:1000:1000:::/bin/bash" &gt;&gt; /etc/passwd</userinput></screen>
<para>Now you're all set to run the test suite. First run the few tests that
are meant to be run as <emphasis>root</emphasis>:</para>
<screen><userinput>make check-root</userinput></screen> <screen><userinput>make check-root</userinput></screen>
<para>The remainder of the tests are run as the <emphasis>dummy</emphasis> <para>Then run the remainder of the tests as the <emphasis>dummy</emphasis>
user:</para> user:</para>
<screen><userinput>su dummy -c "make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen> <screen><userinput>su dummy -c "make RUN_EXPENSIVE_TESTS=yes check"</userinput></screen>
<para>Remove the dummy groups and user name:</para> <para>When you're done testing, remove the dummy user and groups:</para>
<screen><userinput>sed -i.bak '/dummy/d' /etc/passwd /etc/group</userinput></screen> <screen><userinput>sed -i.bak '/dummy/d' /etc/passwd /etc/group</userinput></screen>
@ -90,7 +94,7 @@ Remove the one installed by Coreutils:</para>
<screen><userinput>rm /usr/bin/kill</userinput></screen> <screen><userinput>rm /usr/bin/kill</userinput></screen>
<para>Finally, create a few necessary symlinks:</para> <para>Finally, create two symlinks to be FHS-compliant:</para>
<screen><userinput>ln -s test /bin/[ <screen><userinput>ln -s test /bin/[
ln -s ../../bin/install /usr/bin</userinput></screen> ln -s ../../bin/install /usr/bin</userinput></screen>

View File

@ -49,8 +49,11 @@ of.</para></listitem>
<screen><userinput>make</userinput></screen> <screen><userinput>make</userinput></screen>
<para>To have the results tested, issue: <para>If you wish to have the results tested, first make sure an mtab file
<userinput>make check</userinput>.</para> exists with <userinput>touch /etc/mtab</userinput> to prevent some sixty tests
from failing, and (if it doesn't already exist) fake the presence of an old
pager with <userinput>ln -s /tools/bin/cat /bin/more</userinput> to prevent one
test from failing, then issue: <userinput>make check</userinput>.</para>
<para>Install most of the package:</para> <para>Install most of the package:</para>

View File

@ -34,7 +34,7 @@ properly:</para>
<para>Work around a problem that prevents Shadow's internationalization from <para>Work around a problem that prevents Shadow's internationalization from
working:</para> working:</para>
<screen><userinput>echo '#define HAVE_SETLOCALE 1' >> config.h</userinput></screen> <screen><userinput>echo '#define HAVE_SETLOCALE 1' &gt;&gt; config.h</userinput></screen>
<para>Compile the package:</para> <para>Compile the package:</para>

View File

@ -2,8 +2,8 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"/usr/share/docbook/docbookx.dtd" [ "/usr/share/docbook/docbookx.dtd" [
<!ENTITY version "CVS-2004-02-19"> <!ENTITY version "CVS-2004-02-22">
<!ENTITY releasedate "February 19th, 2004"> <!ENTITY releasedate "February 22nd, 2004">
<!ENTITY milestone "5.2"> <!ENTITY milestone "5.2">
<!ENTITY nbsp " "> <!ENTITY nbsp " ">