mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-07-31 08:35:29 +01:00
MultiLib: Merge changes up to 11861
git-svn-id: http://svn.linuxfromscratch.org/LFS/branches/multilib@11871 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
parent
160e72c243
commit
777c890b8c
@ -911,7 +911,7 @@
|
||||
|
||||
<seglistitem>
|
||||
<seg>Bash, Binutils, Coreutils, Gawk, GCC, Glibc, Grep, Make,
|
||||
Sed, and Texinfo</seg>
|
||||
Ncurses, Sed, and Texinfo</seg>
|
||||
</seglistitem>
|
||||
</segmentedlist>
|
||||
|
||||
|
@ -44,13 +44,60 @@
|
||||
<listitem revision="sysv"> or <listitem revision="systemd"> as
|
||||
appropriate for the entry or if needed the entire day's listitem.
|
||||
-->
|
||||
<listitem>
|
||||
<para>2020-05-29</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Run sed and findutils tests as an
|
||||
unprivileged user. Fixes
|
||||
<ulink url="&lfs-ticket-root;4661">#4661</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2020-05-28</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Add an unprivileged user, tester, at the
|
||||
beginning of Chapter 6 for running some tests. This
|
||||
user is then removed at the end of the chapter.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to zstd-1.4.5. Fixes
|
||||
<ulink url="&lfs-ticket-root;4660">#4660</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to util-linux-2.35.2. Fixes
|
||||
<ulink url="&lfs-ticket-root;4659">#4659</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to bison-3.6.2. Fixes
|
||||
<ulink url="&lfs-ticket-root;4657">#4657</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[pierre] - Update to linux-5.6.15. Fixes
|
||||
<ulink url="&lfs-ticket-root;4658">#4658</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2020-05-27</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[pierre] - Bash: document test results.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</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 << EOF" instead.</para>
|
||||
to nobody: it removes the controlling terminal and makes some
|
||||
tests fail. Use "su << EOF" instead.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[pierre] - Mount /dev/pts with "--bind", so that "tty"
|
||||
@ -67,10 +114,10 @@
|
||||
<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
|
||||
<para>[pierre] - Add a symlink from /tools/lib/locale
|
||||
to /usr/lib/locale/locale-archive, to allow some programs
|
||||
to find the installed locales. Fixes test failures in bison
|
||||
and man-db;</para>
|
||||
and man-db.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
@ -245,9 +245,9 @@
|
||||
<listitem>
|
||||
<para>Tzdata-&tzdata-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<listitem>
|
||||
<para>Util-Linux-&util-linux-version;</para>
|
||||
</listitem>-->
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Vim-&vim-version;</para>
|
||||
</listitem>
|
||||
@ -260,9 +260,9 @@
|
||||
<!--<listitem>
|
||||
<para>Zlib-&zlib-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<listitem>
|
||||
<para>Zstd-&zstd-version;</para>
|
||||
</listitem>-->
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<!--<itemizedlist>
|
||||
|
@ -73,21 +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 << EOF
|
||||
PATH=$PATH HOME=/home make tests
|
||||
EOF</userinput></screen>
|
||||
<screen><userinput remap="test">su tester -c "PATH=$PATH make tests"</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>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>
|
||||
|
@ -108,35 +108,35 @@ 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 "tester:x:1000:nogroup" >> /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. 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 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>
|
||||
|
@ -364,6 +364,13 @@ EOF</userinput></screen>
|
||||
administrator since well-written programs do not depend on GID numbers, but
|
||||
rather use the group's name.</para>
|
||||
|
||||
<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>
|
||||
|
||||
<screen><userinput>echo "tester:x:101:101::/home/tester:/bin/bash" >> /etc/passwd
|
||||
echo "tester:x:101:dummy" >> /etc/group
|
||||
install -o tester -d /home/tester</userinput></screen>
|
||||
|
||||
<para>To remove the <quote>I have no name!</quote> prompt, start a new
|
||||
shell. Since a full Glibc was installed in <xref
|
||||
linkend="chapter-temporary-tools"/> and the
|
||||
|
@ -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>
|
||||
|
||||
|
@ -126,8 +126,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>
|
||||
|
||||
@ -167,7 +167,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>
|
||||
|
||||
|
@ -73,4 +73,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>
|
||||
|
@ -40,26 +40,14 @@
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Sed</title>
|
||||
|
||||
<para>First fix an issue in the LFS environment and remove a failing test:</para>
|
||||
<para>First fix an issue in the LFS environment:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -i 's/usr/tools/' build-aux/help2man
|
||||
sed -i 's/testsuite.panic-tests.sh//' Makefile.in</userinput></screen>
|
||||
<screen><userinput remap="pre">sed -i 's/usr/tools/' build-aux/help2man</userinput></screen>
|
||||
|
||||
<para>Prepare Sed for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr --bindir=/bin</userinput></screen>
|
||||
<!--
|
||||
<variablelist>
|
||||
<title>The meaning of the new configure option:</title>
|
||||
|
||||
<varlistentry>
|
||||
<term><parameter>-i -htmldir</parameter></term>
|
||||
<listitem>
|
||||
<para>This sets the installation directory for the HTML documentation.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
-->
|
||||
<para>Compile the package and generate the HTML documentation:</para>
|
||||
|
||||
<screen><userinput remap="make">make
|
||||
@ -67,7 +55,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 -c "PATH=$PATH make check"</userinput></screen>
|
||||
|
||||
<para>Install the package and its documentation:</para>
|
||||
|
||||
|
@ -40,27 +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>First, fix one of the regression tests:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -e 's/2^64/(2^64/' -e 's/E </E) <=/' -e 's/ne /eq /' \
|
||||
-i tests/ts/ipcs/limits2</userinput></screen>
|
||||
-->
|
||||
|
||||
<para>Remove the earlier created symlinks and files:</para>
|
||||
|
||||
<screen><userinput remap="pre">rm -vf /usr/include/{blkid,libfdisk,libmount,uuid}
|
||||
@ -115,8 +104,8 @@ rm -vf /usr/lib/pkgconfig/{blkid,fdisk,mount,uuid}.pc</userinput></screen>
|
||||
<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>
|
||||
|
||||
|
@ -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>-->
|
||||
|
||||
|
@ -54,16 +54,6 @@
|
||||
kernel compilation. Do not rely on the source tree being clean after
|
||||
un-tarring.</para>
|
||||
|
||||
<!-- The following paragraph and sed should be only necessary on the 5.6
|
||||
series, but check when 5.7 is out. -->
|
||||
<para>When using <envar>CONFIG_STACKPROTECTOR_STRONG=y</envar>, and
|
||||
compiling with GCC 10 and later, the default optimization is too
|
||||
aggressive, and generates a kernel panic when booting. This can be
|
||||
fixed with:</para>
|
||||
|
||||
<screen><userinput remap="pre">sed -e '/cpu_startup/a asm("");' \
|
||||
-i arch/x86/{kernel/smpboot.c,xen/smp_pv.c}</userinput></screen>
|
||||
|
||||
<!-- Support for compiling a keymap into the kernel is deliberately removed -->
|
||||
|
||||
<para>Configure the kernel via a menu-driven interface. For general
|
||||
|
@ -1,13 +1,13 @@
|
||||
<!ENTITY version "SVN-20200526">
|
||||
<!ENTITY version "SVN-20200529">
|
||||
<!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 "20200526-systemd">
|
||||
<!ENTITY versiond "20200529-systemd">
|
||||
<!ENTITY short-versiond "systemd">
|
||||
<!ENTITY generic-versiond "systemd">
|
||||
|
||||
<!ENTITY releasedate "May 26th, 2020">
|
||||
<!ENTITY releasedate "May 29th, 2020">
|
||||
|
||||
<!ENTITY copyrightdate "1999-2020"><!-- jhalfs needs a literal dash, not – -->
|
||||
|
||||
|
24
packages.ent
24
packages.ent
@ -70,10 +70,10 @@
|
||||
<!ENTITY binutils-ch6-du "5.1 GB">
|
||||
<!ENTITY binutils-ch6-sbu "6.7 SBU">
|
||||
|
||||
<!ENTITY bison-version "3.6.1">
|
||||
<!ENTITY bison-size "2,407 KB">
|
||||
<!ENTITY bison-version "3.6.2">
|
||||
<!ENTITY bison-size "2,411 KB">
|
||||
<!ENTITY bison-url "&gnu;bison/bison-&bison-version;.tar.xz">
|
||||
<!ENTITY bison-md5 "16fa3e60f2c33888c6ef7af64c89e182">
|
||||
<!ENTITY bison-md5 "fa5f7c67c523f1d8b2155f55e67f7e1c">
|
||||
<!ENTITY bison-home "&gnu-software;bison/">
|
||||
<!ENTITY bison-ch5-du "43 MB">
|
||||
<!ENTITY bison-ch5-sbu "0.3 SBU">
|
||||
@ -433,12 +433,12 @@
|
||||
|
||||
<!ENTITY linux-major-version "5">
|
||||
<!ENTITY linux-minor-version "6">
|
||||
<!ENTITY linux-patch-version "13">
|
||||
<!ENTITY linux-patch-version "15">
|
||||
<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
|
||||
<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
|
||||
<!ENTITY linux-size "109,177 KB">
|
||||
<!ENTITY linux-size "109,193 KB">
|
||||
<!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
|
||||
<!ENTITY linux-md5 "73fa7a9e7c42a9ab2cc8151d20e8d6b6">
|
||||
<!ENTITY linux-md5 "41f02b34dbb66ffa6b71bb3e2361e94d">
|
||||
<!ENTITY linux-home "https://www.kernel.org/">
|
||||
<!-- measured for 4.8.3 / gcc-6.2.0 on x86_64 : minimum is
|
||||
allnoconfig extended for a hopefully-bootable build on desktop machine,
|
||||
@ -708,10 +708,10 @@
|
||||
<!ENTITY udev-lfs-home " ">
|
||||
|
||||
<!ENTITY util-linux-minor "2.35">
|
||||
<!ENTITY util-linux-version "2.35.1"> <!-- 2.33.x -->
|
||||
<!ENTITY util-linux-size "5,018 KB">
|
||||
<!ENTITY util-linux-version "2.35.2"> <!-- 2.33.x -->
|
||||
<!ENTITY util-linux-size "5,030 KB">
|
||||
<!ENTITY util-linux-url "&kernel;linux/utils/util-linux/v&util-linux-minor;/util-linux-&util-linux-version;.tar.xz">
|
||||
<!ENTITY util-linux-md5 "7f64882f631225f0295ca05080cee1bf">
|
||||
<!ENTITY util-linux-md5 "248a4d0810c9193e0e9a4bb3f26b93d8">
|
||||
<!ENTITY util-linux-home "http://freecode.com/projects/util-linux">
|
||||
<!ENTITY util-linux-ch5-du "154 MB">
|
||||
<!ENTITY util-linux-ch5-sbu "0.9 SBU">
|
||||
@ -755,10 +755,10 @@
|
||||
<!ENTITY zlib-ch6-du "5.1 MB">
|
||||
<!ENTITY zlib-ch6-sbu "less than 0.1 SBU">
|
||||
|
||||
<!ENTITY zstd-version "1.4.4">
|
||||
<!ENTITY zstd-size "1,903 KB">
|
||||
<!ENTITY zstd-version "1.4.5">
|
||||
<!ENTITY zstd-size "1,928 KB">
|
||||
<!ENTITY zstd-url "https://github.com/facebook/zstd/releases/download/v&zstd-version;/zstd-&zstd-version;.tar.gz">
|
||||
<!ENTITY zstd-md5 "487f7ee1562dee7c1c8adf85e2a63df9">
|
||||
<!ENTITY zstd-md5 "dd0b53631303b8f972dafa6fd34beb0c">
|
||||
<!ENTITY zstd-home "https://facebook.github.io/zstd/">
|
||||
<!ENTITY zstd-ch6-du "16 MB">
|
||||
<!ENTITY zstd-ch6-sbu "0.7 SBU">
|
||||
|
Loading…
Reference in New Issue
Block a user