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.
-->
<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>
<para>2021-07-26</para>
<itemizedlist>

View File

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

View File

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

View File

@ -69,7 +69,7 @@
</listitem>
<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
newer library. (Note that there is no correlation between the package
version and the name of the library.) For example, consider a package
@ -123,16 +123,16 @@
</para></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
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
provided by <application>Coreutils</application> has already
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
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
before updating a package.</para>
</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>
<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>

View File

@ -24,18 +24,18 @@
backup of the LFS system in its current state.</para>
<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
url='&blfs-book;/general/valgrind.html'>valgrind</ulink> or <ulink
url='&blfs-book;/general/gdb.html'>gdb</ulink> later in BLFS.
</para>
<para>And, <command>strip</command> will overwrite the binary or library
file. This may crash the processes using code or data from the file. If
the process running <command>strip</command> itself is affected, the
binary or library being stripped may be destroyed. This may make the
system completely unusable. To avoid it, we'll copy some libraries and
binaries into <filename class="directory">/tmp</filename>, strip them
<para>Note that <command>strip</command> will overwrite the binary or library
file it is processing. This may crash the processes using code or data from
the file. If the process running <command>strip</command> itself is
affected, the binary or library being stripped may be destroyed. This may
make the system completely unusable. To avoid it, we'll copy some libraries
and binaries into <filename class="directory">/tmp</filename>, strip them
there, and install them back with the <command>install</command> command.
Read the related entry in <xref linkend="pkgmgmt-upgrade-issues"/> for the
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
libhistory.so.&readline-version; libncursesw.so.&ncurses-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
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
case "$online_usrlib $save_usrlib" in
*$(basename $i)* ) ;;
* ) strip --strip-unneeded $i ;;
*$(basename $i)* )
;;
* ) strip --strip-unneeded $i
;;
esac
done</userinput><userinput arch="ml_32,ml_all">
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
case "$online_usrbin" in
*$(basename $i)* ) ;;
* ) strip --strip-all $i ;;
*$(basename $i)* )
;;
* ) strip --strip-all $i
;;
esac
done

View File

@ -94,14 +94,15 @@
<screen role="nodump"><userinput>bash tests/run.sh --srcdir=$PWD --builddir=$PWD</userinput></screen>
</warning>
<!--
<note><para>There is one test that depends on the configuration of the kernel.
If CONFIG_USER_NS or CONFIG_PID_NS are not set, the tests will hang forever.
To work around the problem, delete one test:</para>
<note><para>There is one test that fails in the chroot envronment and
causes the tests to hang forever. The problem does not occur outside
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>
</note>
-->
<screen><userinput remap="test">chown -Rv tester .
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
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
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>
<screen><computeroutput>locale: Cannot set LC_* to default locale: No such file or directory</computeroutput></screen>