Automatic merge of trunk into multilib

This commit is contained in:
Thomas Trepl (Moody) 2021-07-27 21:29:34 +02:00
commit 64a306d76a
8 changed files with 42 additions and 24 deletions

View File

@ -45,6 +45,16 @@
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>2021-07-27</para>
<itemizedlist>
<listitem>
<para>[xry111] - Use workaround for Glibc NSS modules during
stripping, to prevent bash from crash.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem> <listitem>
<para>2021-07-26</para> <para>2021-07-26</para>
<itemizedlist> <itemizedlist>

View File

@ -46,6 +46,7 @@
<para>Prepare Coreutils for compilation:</para> <para>Prepare Coreutils for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \ <screen><userinput remap="configure">./configure --prefix=/usr \
--libexecdir=/usr/lib \
--host=$LFS_TGT \ --host=$LFS_TGT \
--build=$(build-aux/config.guess) \ --build=$(build-aux/config.guess) \
--enable-install-program=hostname \ --enable-install-program=hostname \

View File

@ -69,6 +69,7 @@
<screen><userinput remap="configure">autoreconf -fiv <screen><userinput remap="configure">autoreconf -fiv
FORCE_UNSAFE_CONFIGURE=1 ./configure \ FORCE_UNSAFE_CONFIGURE=1 ./configure \
--prefix=/usr \ --prefix=/usr \
--libexecdir=/usr/lib \
--enable-no-install-program=kill,uptime</userinput></screen> --enable-no-install-program=kill,uptime</userinput></screen>
<variablelist> <variablelist>

View File

@ -69,7 +69,7 @@
</listitem> </listitem>
<listitem> <para>If a package containing a shared library is updated, and <listitem> <para>If a package containing a shared library is updated, and
if the name of the library changes, then any the packages dynamically if the name of the library changes, then any packages dynamically
linked to the library need to be recompiled in order to link against the linked to the library need to be recompiled in order to link against the
newer library. (Note that there is no correlation between the package newer library. (Note that there is no correlation between the package
version and the name of the library.) For example, consider a package version and the name of the library.) For example, consider a package
@ -123,16 +123,16 @@
</para></listitem> </para></listitem>
<listitem> <listitem>
<para>If a binary or a shared library is overwrote, the processes <para>If a binary or a shared library is overwritten, the processes
using the code or data in the binary or library may crash. The using the code or data in the binary or library may crash. The
correct way to update a binary or a shared library without causing correct way to update a binary or a shared library without causing
the process to crash is: remove it first, then install the new the process to crash is to remove it first, then install the new
version into position. The <command>install</command> command version into position. The <command>install</command> command
provided by <application>Coreutils</application> has already provided by <application>Coreutils</application> has already
implemented this and most packages use it to install binaries and implemented this and most packages use it to install binaries and
libraries. So you won't be troubled by this issue most of the time. libraries. This means that you won't be troubled by this issue most of the time.
However, the install process of some packages (notably Mozilla JS However, the install process of some packages (notably Mozilla JS
in BLFS) just overwrites the file if it exists and causes crash, so in BLFS) just overwrites the file if it exists and causes a crash, so
it's safer to save your work and close unneeded running processes it's safer to save your work and close unneeded running processes
before updating a package.</para> before updating a package.</para>
</listitem> </listitem>

View File

@ -97,7 +97,7 @@ find man -name Makefile.in -exec sed -i 's/passwd\.5 / /' {} \;</userinput></s
--> -->
<para>Fix a simple programming error by modifying a file with following command:</para> <para>Fix a simple programming error by modifying a file with following command:</para>
<screen><userinput remap="pre">sed -e "224s/rounds = SHA_ROUNDS_DEFAULT/min_&amp;/" -i libmisc/salt.c</userinput></screen> <screen><userinput remap="pre">sed -e "224s/rounds/min_rounds/" -i libmisc/salt.c</userinput></screen>
<para>Prepare Shadow for compilation:</para> <para>Prepare Shadow for compilation:</para>

View File

@ -24,18 +24,18 @@
backup of the LFS system in its current state.</para> backup of the LFS system in its current state.</para>
<para>The debugging symbols for selected libraries are placed <para>The debugging symbols for selected libraries are placed
in separate files. These debugging information is needed if running in separate files. This debugging information is needed if running
regression tests that use <ulink regression tests that use <ulink
url='&blfs-book;/general/valgrind.html'>valgrind</ulink> or <ulink url='&blfs-book;/general/valgrind.html'>valgrind</ulink> or <ulink
url='&blfs-book;/general/gdb.html'>gdb</ulink> later in BLFS. url='&blfs-book;/general/gdb.html'>gdb</ulink> later in BLFS.
</para> </para>
<para>And, <command>strip</command> will overwrite the binary or library <para>Note that <command>strip</command> will overwrite the binary or library
file. This may crash the processes using code or data from the file. If file it is processing. This may crash the processes using code or data from
the process running <command>strip</command> itself is affected, the the file. If the process running <command>strip</command> itself is
binary or library being stripped may be destroyed. This may make the affected, the binary or library being stripped may be destroyed. This may
system completely unusable. To avoid it, we'll copy some libraries and make the system completely unusable. To avoid it, we'll copy some libraries
binaries into <filename class="directory">/tmp</filename>, strip them and binaries into <filename class="directory">/tmp</filename>, strip them
there, and install them back with the <command>install</command> command. there, and install them back with the <command>install</command> command.
Read the related entry in <xref linkend="pkgmgmt-upgrade-issues"/> for the Read the related entry in <xref linkend="pkgmgmt-upgrade-issues"/> for the
rationale to use the <command>install</command> command here.</para> rationale to use the <command>install</command> command here.</para>
@ -81,7 +81,8 @@ online_usrbin="bash find strip"
online_usrlib="libbfd-&binutils-version;.so libdl-&glibc-version;.so online_usrlib="libbfd-&binutils-version;.so libdl-&glibc-version;.so
libhistory.so.&readline-version; libncursesw.so.&ncurses-version; libhistory.so.&readline-version; libncursesw.so.&ncurses-version;
libm-&glibc-version;.so libreadline.so.&readline-version; libm-&glibc-version;.so libreadline.so.&readline-version;
libz.so.&zlib-version;" libz.so.&zlib-version;
$(cd /usr/lib; find libnss*.so* -type f)"
for BIN in $online_usrbin; do for BIN in $online_usrbin; do
cp /usr/bin/$BIN /tmp/$BIN cp /usr/bin/$BIN /tmp/$BIN
@ -114,8 +115,10 @@ find /usr/lib -type f -name \*.a \
for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg); do for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg); do
case "$online_usrlib $save_usrlib" in case "$online_usrlib $save_usrlib" in
*$(basename $i)* ) ;; *$(basename $i)* )
* ) strip --strip-unneeded $i ;; ;;
* ) strip --strip-unneeded $i
;;
esac esac
done</userinput><userinput arch="ml_32,ml_all"> done</userinput><userinput arch="ml_32,ml_all">
for i in $(find /usr/lib32 -type f -name \*.so* ! -name \*dbg); do for i in $(find /usr/lib32 -type f -name \*.so* ! -name \*dbg); do
@ -133,8 +136,10 @@ done</userinput><userinput>
for i in $(find /usr/bin -type f); do for i in $(find /usr/bin -type f); do
case "$online_usrbin" in case "$online_usrbin" in
*$(basename $i)* ) ;; *$(basename $i)* )
* ) strip --strip-all $i ;; ;;
* ) strip --strip-all $i
;;
esac esac
done done

View File

@ -94,14 +94,15 @@
<screen role="nodump"><userinput>bash tests/run.sh --srcdir=$PWD --builddir=$PWD</userinput></screen> <screen role="nodump"><userinput>bash tests/run.sh --srcdir=$PWD --builddir=$PWD</userinput></screen>
</warning> </warning>
<!--
<note><para>There is one test that depends on the configuration of the kernel. <note><para>There is one test that fails in the chroot envronment and
If CONFIG_USER_NS or CONFIG_PID_NS are not set, the tests will hang forever. causes the tests to hang forever. The problem does not occur outside
To work around the problem, delete one test:</para> of the chroot envronment.
To work around the problem, delete the test:</para>
<screen><userinput remap="test">rm tests/ts/lsns/ioctl_ns</userinput></screen> <screen><userinput remap="test">rm tests/ts/lsns/ioctl_ns</userinput></screen>
</note> </note>
-->
<screen><userinput remap="test">chown -Rv tester . <screen><userinput remap="test">chown -Rv tester .
su tester -c "make -k check"</userinput></screen> su tester -c "make -k check"</userinput></screen>

View File

@ -80,7 +80,7 @@ LC_ALL=&lt;locale name&gt; locale int_prefix</userinput></screen>
encoding used by the locale, the local currency, and the prefix to dial encoding used by the locale, the local currency, and the prefix to dial
before the telephone number in order to get into the country. If any of the before the telephone number in order to get into the country. If any of the
commands above fail with a message similar to the one shown below, this means commands above fail with a message similar to the one shown below, this means
that your locale was either not installed in Chapter&nbsp;6 or is not that your locale was either not installed in Chapter&nbsp;8 or is not
supported by the default installation of Glibc.</para> supported by the default installation of Glibc.</para>
<screen><computeroutput>locale: Cannot set LC_* to default locale: No such file or directory</computeroutput></screen> <screen><computeroutput>locale: Cannot set LC_* to default locale: No such file or directory</computeroutput></screen>