Merge upstream

This commit is contained in:
Thomas Trepl (Moody) 2021-09-20 09:37:34 +02:00
commit 716db1f765
127 changed files with 769 additions and 668 deletions

View File

@ -2557,7 +2557,6 @@
</seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>
<segmentedlist id="python-testdeps"> <segmentedlist id="python-testdeps">
<segtitle>&testsuites;</segtitle> <segtitle>&testsuites;</segtitle>
<seglistitem> <seglistitem>

View File

@ -341,7 +341,7 @@
n/a - June 2, 2006 n/a - June 2, 2006
* Removed console config file and makefile targets. * Removed console config file and makefile targets.
* Removed references to /dev/bug and bugreport in udevand * Removed references to /dev/bug and bugreport in udev and
udev_retry bootscripts. (DJ Lucas) udev_retry bootscripts. (DJ Lucas)
n/a - April 17, 2006 n/a - April 17, 2006
@ -636,7 +636,6 @@ n/a - August 4, 2004
to allow permissions to be set at install. (DJ) to allow permissions to be set at install. (DJ)
n/a - July 31, 2004 n/a - July 31, 2004
* Moved PIDFILE check to getpids and removed arguments from * Moved PIDFILE check to getpids and removed arguments from
killproc and reloadproc. Signals are now set at beginning of killproc and reloadproc. Signals are now set at beginning of
funtcions script with KILLDELAY. (DJ) funtcions script with KILLDELAY. (DJ)

View File

@ -38,13 +38,13 @@
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para> <para>The version of the book being used (in this case
The version of the book being used (in this case <phrase revision="sysv">&version;</phrase>
<phrase arch="default" revision="sysv">&version;</phrase> <phrase revision="systemd">&versiond;</phrase>)
<phrase arch="ml_32,ml_x32,ml_all" revision="sysv">&version;-multilib</phrase> <phrase arch="default" revision="sysv">&version;</phrase>
<phrase arch="default" revision="systemd">&versiond;</phrase> <phrase arch="ml_32,ml_x32,ml_all" revision="sysv">&version;-multilib</phrase>
<phrase arch="ml_32,ml_x32,ml_all" revision="systemd">&versiond;-multilib</phrase>) <phrase arch="default" revision="systemd">&versiond;</phrase>
</para> <phrase arch="ml_32,ml_x32,ml_all" revision="systemd">&versiond;-multilib</phrase>)</para>
</listitem> </listitem>
<listitem> <listitem>
<para>The host distribution and version being used to create LFS</para> <para>The host distribution and version being used to create LFS</para>

View File

@ -11,10 +11,10 @@
<title>Changelog</title> <title>Changelog</title>
<para>This is version <para>This is version
<phrase arch="default" revision="sysv">&version;</phrase> <phrase arch="default" revision="sysv">&version;</phrase>
<phrase arch="ml_32,ml_x32,ml_all" revision="sysv">&version;-multilib</phrase> <phrase arch="ml_32,ml_x32,ml_all" revision="sysv">&version;-multilib</phrase>
<phrase arch="default" revision="systemd">&versiond;</phrase> <phrase arch="default" revision="systemd">&versiond;</phrase>
<phrase arch="ml_32,ml_x32,ml_all" revision="systemd">&versiond;-multilib</phrase> <phrase arch="ml_32,ml_x32,ml_all" revision="systemd">&versiond;-multilib</phrase>
of the Linux From Scratch book, dated of the Linux From Scratch book, dated
&releasedate;. If this book is more than six months old, a newer and better &releasedate;. If this book is more than six months old, a newer and better
version is probably already available. To find out, please check one of the version is probably already available. To find out, please check one of the
@ -44,6 +44,71 @@
<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>2021-09-15</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Ensure tcl documentation instructions are present. Fixes
<ulink url="&lfs-ticket-root;4923">#4923</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to Python3-3.9.7. Fixes
<ulink url="&lfs-ticket-root;4916">#4916</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-5.14.3. Fixes
<ulink url="&lfs-ticket-root;4913">#4913</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to libcap-2.57. Fixes
<ulink url="&lfs-ticket-root;4912">#4912</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iproute2-5.14.0. Fixes
<ulink url="&lfs-ticket-root;4917">#4917</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to inetutils-2.2. Fixes
<ulink url="&lfs-ticket-root;4918">#4918</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gzip-1.11. Fixes
<ulink url="&lfs-ticket-root;4920">#4920</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gdbm-1.21. Fixes
<ulink url="&lfs-ticket-root;4919">#4919</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to bison-3.8.1. Fixes
<ulink url="&lfs-ticket-root;4921">#4921</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to bc-5.0.2. Fixes
<ulink url="&lfs-ticket-root;4908">#4905</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2021-09-08</para>
<itemizedlist>
<listitem>
<para>[renodr] - Fix regressions in File that result in improper
detection of text and XZ files.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2021-09-06</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Text clarifications in the backup/restore section
of Chapter 7. Thanks to Kevin Buckley for the patch.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem> <listitem>
<para>2021-09-01</para> <para>2021-09-01</para>

View File

@ -45,15 +45,15 @@
<!--<listitem> <!--<listitem>
<para>Bash &bash-version;</para> <para>Bash &bash-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> <listitem>
<para>Bc &bc-version;</para> <para>Bc &bc-version;</para>
</listitem>--> </listitem>
<!--<listitem> <!--<listitem>
<para>Binutils-&binutils-version;</para> <para>Binutils-&binutils-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> <listitem>
<para>Bison-&bison-version;</para> <para>Bison-&bison-version;</para>
</listitem>--> </listitem>
<!--<listitem> <!--<listitem>
<para>Bzip2-&bzip2-version;</para> <para>Bzip2-&bzip2-version;</para>
</listitem>--> </listitem>-->
@ -99,9 +99,9 @@
<!--<listitem> <!--<listitem>
<para>GCC-&gcc-version;</para> <para>GCC-&gcc-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> <listitem>
<para>GDBM-&gdbm-version;</para> <para>GDBM-&gdbm-version;</para>
</listitem>--> </listitem>
<!--<listitem> <!--<listitem>
<para>Gettext-&gettext-version;</para> <para>Gettext-&gettext-version;</para>
</listitem>--> </listitem>-->
@ -123,21 +123,21 @@
<!--<listitem> <!--<listitem>
<para>GRUB-&grub-version;</para> <para>GRUB-&grub-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> <listitem>
<para>Gzip-&gzip-version;</para> <para>Gzip-&gzip-version;</para>
</listitem>--> </listitem>
<!--<listitem> <!--<listitem>
<para>IANA-Etc-&iana-etc-version;</para> <para>IANA-Etc-&iana-etc-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> <listitem>
<para>Inetutils-&inetutils-version;</para> <para>Inetutils-&inetutils-version;</para>
</listitem>--> </listitem>
<!--<listitem> <!--<listitem>
<para>Intltool-&intltool-version;</para> <para>Intltool-&intltool-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> <listitem>
<para>IPRoute2-&iproute2-version;</para> <para>IPRoute2-&iproute2-version;</para>
</listitem>--> </listitem>
<!--<listitem revision="systemd"> <!--<listitem revision="systemd">
<para>Jinja2-&jinja2-version;</para> <para>Jinja2-&jinja2-version;</para>
</listitem>--> </listitem>-->
@ -153,9 +153,9 @@
<!--<listitem> <!--<listitem>
<para>LFS-Bootscripts-&lfs-bootscripts-version;</para> <para>LFS-Bootscripts-&lfs-bootscripts-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> <listitem>
<para>Libcap-&libcap-version;</para> <para>Libcap-&libcap-version;</para>
</listitem>--> </listitem>
<!--<listitem> <!--<listitem>
<para>Libelf-&elfutils-version; (from elfutils)</para> <para>Libelf-&elfutils-version; (from elfutils)</para>
</listitem>--> </listitem>-->
@ -168,9 +168,9 @@
<!--<listitem> <!--<listitem>
<para>Libtool-&libtool-version;</para> <para>Libtool-&libtool-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> <listitem>
<para>Linux-&linux-version;</para> <para>Linux-&linux-version;</para>
</listitem>--> </listitem>
<!--<listitem> <!--<listitem>
<para>M4-&m4-version;</para> <para>M4-&m4-version;</para>
</listitem>--> </listitem>-->
@ -219,9 +219,9 @@
<!--<listitem> <!--<listitem>
<para>Psmisc-&psmisc-version;</para> <para>Psmisc-&psmisc-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> <listitem>
<para>Python-&python-version;</para> <para>Python-&python-version;</para>
</listitem>--> </listitem>
<!--<listitem> <!--<listitem>
<para>Readline-&readline-version;</para> <para>Readline-&readline-version;</para>
</listitem>--> </listitem>-->
@ -284,6 +284,9 @@
<itemizedlist> <itemizedlist>
<title>Added:</title> <title>Added:</title>
<listitem><para></para></listitem> <!-- satisfy build --> <listitem><para></para></listitem> <!-- satisfy build -->
<listitem>
<para>file-5.40-upstream_fixes-1.patch</para>
</listitem>
<!-- <!--
<listitem> <listitem>
<para>binutils-2.37-upstream_fix-1.patch</para> <para>binutils-2.37-upstream_fix-1.patch</para>

View File

@ -74,6 +74,14 @@
<screen role="nodump"><userinput>wget --input-file=wget-list --continue --directory-prefix=$LFS/sources</userinput></screen> <screen role="nodump"><userinput>wget --input-file=wget-list --continue --directory-prefix=$LFS/sources</userinput></screen>
<note><para>
The <filename>wget-list</filename> file mentioned above retrieves all
packages for both the sysV and systemd versions of LFS. There are a total
of five additional small packages not needed for the currrent book. The
<filename>md5sums</filename> file mentioned below is specific to the
current book.
</para></note>
<para>Additionally, starting with LFS-7.0, there is a separate file, <para>Additionally, starting with LFS-7.0, there is a separate file,
<ulink url="../md5sums">md5sums</ulink>, which can be used to verify that all <ulink url="../md5sums">md5sums</ulink>, which can be used to verify that all
the correct packages are available before proceeding. Place that file in the correct packages are available before proceeding. Place that file in

View File

@ -60,6 +60,14 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>File Upstream Fixes Patch - <token>&file-upstream-fixes-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&file-upstream-fixes-patch;"/></para>
<para>MD5 sum: <literal>&file-upstream-fixes-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>Glibc FHS Patch - <token>&glibc-fhs-patch-size;</token>:</term> <term>Glibc FHS Patch - <token>&glibc-fhs-patch-size;</token>:</term>
<listitem> <listitem>

View File

@ -90,31 +90,31 @@ cd build</userinput></screen>
<para>Prepare GCC for compilation:</para> <para>Prepare GCC for compilation:</para>
<screen arch="default"><userinput remap="configure">../configure \ <screen arch="default"><userinput remap="configure">../configure \
--target=$LFS_TGT \ --target=$LFS_TGT \
--prefix=$LFS/tools \ --prefix=$LFS/tools \
--with-glibc-version=2.11 \ --with-glibc-version=2.11 \
--with-sysroot=$LFS \ --with-sysroot=$LFS \
--with-newlib \ --with-newlib \
--without-headers \ --without-headers \
--enable-initfini-array \ --enable-initfini-array \
--disable-nls \ --disable-nls \
--disable-shared \ --disable-shared \
--disable-multilib \ --disable-multilib \
--disable-decimal-float \ --disable-decimal-float \
--disable-threads \ --disable-threads \
--disable-libatomic \ --disable-libatomic \
--disable-libgomp \ --disable-libgomp \
--disable-libquadmath \ --disable-libquadmath \
--disable-libssp \ --disable-libssp \
--disable-libvtv \ --disable-libvtv \
--disable-libstdcxx \ --disable-libstdcxx \
--enable-languages=c,c++</userinput></screen> --enable-languages=c,c++</userinput></screen>
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure" <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure"
arch="ml_32">mlist=m64,m32</userinput><userinput remap="configure" arch="ml_32">mlist=m64,m32</userinput><userinput remap="configure"
arch="ml_x32">mlist=m64,mx32</userinput><userinput remap="configure" arch="ml_x32">mlist=m64,mx32</userinput><userinput remap="configure"
arch="ml_all">mlist=m64,m32,mx32</userinput> arch="ml_all">mlist=m64,m32,mx32</userinput>
<userinput remap="configure">../configure \ <userinput remap="configure">../configure \
--target=$LFS_TGT \ --target=$LFS_TGT \
--prefix=$LFS/tools \ --prefix=$LFS/tools \
--with-glibc-version=2.11 \ --with-glibc-version=2.11 \

View File

@ -83,10 +83,10 @@
not necessary in this temporary environment, we must do so because some not necessary in this temporary environment, we must do so because some
programs harcode executable locations:</para> programs harcode executable locations:</para>
<screen><userinput remap="install">mv -v $LFS/usr/bin/chroot $LFS/usr/sbin <screen><userinput remap="install">mv -v $LFS/usr/bin/chroot $LFS/usr/sbin
mkdir -pv $LFS/usr/share/man/man8 mkdir -pv $LFS/usr/share/man/man8
mv -v $LFS/usr/share/man/man1/chroot.1 $LFS/usr/share/man/man8/chroot.8 mv -v $LFS/usr/share/man/man1/chroot.1 $LFS/usr/share/man/man8/chroot.8
sed -i 's/"1"/"8"/' $LFS/usr/share/man/man8/chroot.8</userinput></screen> sed -i 's/"1"/"8"/' $LFS/usr/share/man/man8/chroot.8</userinput></screen>
</sect2> </sect2>

View File

@ -20,7 +20,7 @@
<para>Second, the libtool .la files are only useful when linking with static <para>Second, the libtool .la files are only useful when linking with static
libraries. They are unneeded and potentially harmful when using dynamic libraries. They are unneeded and potentially harmful when using dynamic
shared libraries, specially when using non-autotools build systems. shared libraries, especially when using non-autotools build systems.
While still in chroot, remove those files now:</para> While still in chroot, remove those files now:</para>
<screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput><userinput arch="ml_32"> <screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput><userinput arch="ml_32">
@ -40,6 +40,17 @@ find /usr/lib{,x}32 -name \*.la -delete</userinput></screen>
<sect2> <sect2>
<title>Backup</title> <title>Backup</title>
<para>
At this point the essential programs and libraries have been created
and your current LFS system is in a good state. Your system can now be
backed up for later reuse. In case of fatal failures in the subsequent
chapters, it often turns out that removing everything and starting over
(more carefully) is the best option to recover. Unfortunately, all the
temporary files will be removed, too. To avoid spending extra time to
redo something which has been built successfully, creating a backup of
the current LFS system may prove useful.
</para>
<note><para> <note><para>
All the remaining steps in this section are optional. Nevertheless, All the remaining steps in this section are optional. Nevertheless,
as soon as you begin installing packages in <xref as soon as you begin installing packages in <xref
@ -59,47 +70,54 @@ find /usr/lib{,x}32 -name \*.la -delete</userinput></screen>
safety reasons. safety reasons.
</para> </para>
<important>
<para>All of the following instructions are executed by
<systemitem class="username">root</systemitem>. Take extra
care about the commands you're going to run as mistakes
here can modify your host system. Be aware that the
environment variable <envar>LFS</envar>
is set for user <systemitem class="username">lfs</systemitem> by default
but may <emphasis>not</emphasis> be set for
<systemitem class="username">root</systemitem>. Whenever
commands are to be executed by <systemitem class="username">root</systemitem>,
make sure you have set <envar>LFS</envar>.
This has been discussed in <xref linkend='ch-partitioning-aboutlfs'/>.
</para>
</important>
<para> <para>
Now, if you are making a backup, leave the chroot environment: If you have decided to make a backup, leave the chroot environment:
</para> </para>
<screen role="nodump"><userinput>exit</userinput></screen> <screen role="nodump"><userinput>exit</userinput></screen>
<para> <important>
At this point the essential programs and libraries have been created <para>
and your current system is in a good state. Your system can now be All of the following instructions are executed by
backed up for later reuse. In case of fatal failures in the subsequent <systemitem class="username">root</systemitem> on your host system.
chapters, it often turns out that removing everything and starting over Take extra care about the commands you're going to run as mistakes
(more carefully) is the best option to recover. Unfortunately, all the here can modify your host system. Be aware that the
temporary files will be removed, too. To avoid spending extra time to environment variable <envar>LFS</envar>
redo something which has been built successfully, prepare a backup. is set for user <systemitem class="username">lfs</systemitem> by default
</para> but may <emphasis>not</emphasis> be set for
<systemitem class="username">root</systemitem>.
</para>
<para>
Whenever commands are to be executed by <systemitem class="username">root</systemitem>,
make sure you have set <envar>LFS</envar>.
</para>
<para>
This has been discussed in <xref linkend='ch-partitioning-aboutlfs'/>.
</para>
</important>
<para>Before making a backup, unmount the virtual file systems:</para>
<screen role="nodump"><userinput>umount $LFS/dev/pts
umount $LFS/{sys,proc,run,dev}</userinput></screen>
<para> <para>
Make sure you have at least 1 GB free disk space (the source tarballs Make sure you have at least 1 GB free disk space (the source tarballs
will be included in the backup archive) in the home directory of user will be included in the backup archive) on the filesystem containing
<systemitem class="username">root</systemitem>. directory where you create the backup archive.
</para> </para>
<para>Before we make a backup, unmount the virtual file systems:</para> <para>
Note that the instructions below specify the home directory of the host
system's <systemitem class="username">root</systemitem> user, which is
typically found on the root filesystem.
</para>
<screen role="nodump"><userinput>umount $LFS/dev{/pts,} <para>
umount $LFS/{sys,proc,run}</userinput></screen> Replace <envar>$HOME</envar> by a directory of your choice if you
do not want to have the backup stored in <systemitem
class="username">root</systemitem>'s home directory.
</para>
<para> <para>
Create the backup archive by running the following command: Create the backup archive by running the following command:
@ -110,11 +128,6 @@ umount $LFS/{sys,proc,run}</userinput></screen>
Because the backup archive is compressed, it takes a relatively Because the backup archive is compressed, it takes a relatively
long time (over 10 minutes) even on a resonably fast system. long time (over 10 minutes) even on a resonably fast system.
</para> </para>
<para>
Also, ensure the <envar>LFS</envar> environment variable is set
for the root user.
</para>
</note> </note>
<screen role="nodump" revision="sysv"><userinput>cd $LFS <screen role="nodump" revision="sysv"><userinput>cd $LFS
@ -123,11 +136,6 @@ tar -cJpf $HOME/lfs-temp-tools-&version;.tar.xz .</userinput></screen>
<screen role="nodump" revision="systemd"><userinput>cd $LFS <screen role="nodump" revision="systemd"><userinput>cd $LFS
tar -cJpf $HOME/lfs-temp-tools-&versiond;.tar.xz .</userinput></screen> tar -cJpf $HOME/lfs-temp-tools-&versiond;.tar.xz .</userinput></screen>
<para>
Replace <envar>$HOME</envar> by a directory of your choice if you
do not want to have the backup stored in <systemitem
class="username">root</systemitem>'s home directory.
</para>
</sect2> </sect2>
<sect2> <sect2>

View File

@ -11,11 +11,10 @@
<title>Introduction</title> <title>Introduction</title>
<para>This chapter shows how to build the last missing bits of the temporary <para>This chapter shows how to build the last missing bits of the temporary
system: the tools needed by the build machinery of various packages. system: the tools needed by the build machinery of various packages. Now
Now that all circular dependencies that all circular dependencies have been resolved, a <quote>chroot</quote>
have been resolved, we can use a <quote>chroot</quote> environment, environment, completely isolated from the host operating system (except for
completely isolated the host operating system used for the build, except the running kernel), can be used for the build.</para>
for the running kernel.</para>
<para>For proper operation of the isolated environment, some communication <para>For proper operation of the isolated environment, some communication
with the running kernel must be established. This is done through the with the running kernel must be established. This is done through the

View File

@ -41,6 +41,10 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of File</title> <title>Installation of File</title>
<para>First, fix a few regressions in File:</para>
<screen><userinput remap="pre">patch -Np1 -i ../file-&file-version;-upstream_fixes-1.patch</userinput></screen>
<para>Prepare File for compilation:</para> <para>Prepare File for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen> <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>

View File

@ -1106,7 +1106,6 @@ readelf -l a.out | grep '/ld-linux-x32'</userinput></screen>
code for <quote>standard</quote> functions used in code for <quote>standard</quote> functions used in
many different Unix utilities. These functions are now in many different Unix utilities. These functions are now in
<filename class="libraryfile">libc</filename></para> <filename class="libraryfile">libc</filename></para>
<indexterm zone="ch-system-glibc libutil"> <indexterm zone="ch-system-glibc libutil">
<primary sortas="c-libutil">libutil</primary> <primary sortas="c-libutil">libutil</primary>
</indexterm> </indexterm>

View File

@ -111,7 +111,7 @@
(replace <replaceable>libfoo</replaceable> with the name of the (replace <replaceable>libfoo</replaceable> with the name of the
library):</para> library):</para>
<screen><userinput role="nodump">grep -l -e '<replaceable>libfoo</replaceable>.*deleted' /proc/*/maps | <screen role="nodump"><userinput>grep -l -e '<replaceable>libfoo</replaceable>.*deleted' /proc/*/maps |
tr -cd 0-9\\n | xargs -r ps u</userinput></screen> tr -cd 0-9\\n | xargs -r ps u</userinput></screen>
<para> <para>

View File

@ -140,10 +140,16 @@ unset SRCDIR</userinput></screen>
<screen><userinput remap="install">ln -sfv tclsh&tcl-major-version; /usr/bin/tclsh</userinput></screen> <screen><userinput remap="install">ln -sfv tclsh&tcl-major-version; /usr/bin/tclsh</userinput></screen>
<para>Finally, rename a man page that conflicts with a Perl man page:</para> <para>Rename a man page that conflicts with a Perl man page:</para>
<screen><userinput remap="install">mv /usr/share/man/man3/{Thread,Tcl_Thread}.3</userinput></screen> <screen><userinput remap="install">mv /usr/share/man/man3/{Thread,Tcl_Thread}.3</userinput></screen>
<para>If you downloaded the optional documentation, install it by issuing
the following commands:</para>
<screen><userinput remap="install">mkdir -v -p /usr/share/doc/tcl-&tcl-version;
cp -v -r ../html/* /usr/share/doc/tcl-&tcl-version;</userinput></screen>
</sect2> </sect2>
<sect2 id="contents-tcl" role="content"> <sect2 id="contents-tcl" role="content">

View File

@ -97,7 +97,6 @@
<ulink url="http://www.kroah.com/lkn/"/> </para> <ulink url="http://www.kroah.com/lkn/"/> </para>
<note> <note>
<para>A good starting place for setting up the kernel configuration is to <para>A good starting place for setting up the kernel configuration is to
run <command>make defconfig</command>. This will set the base run <command>make defconfig</command>. This will set the base
configuration to a good state that takes your current system architecture configuration to a good state that takes your current system architecture

View File

@ -58,10 +58,10 @@
<!ENTITY bash-fin-du "50 MB"> <!ENTITY bash-fin-du "50 MB">
<!ENTITY bash-fin-sbu "1.6 SBU"> <!ENTITY bash-fin-sbu "1.6 SBU">
<!ENTITY bc-version "5.0.0"> <!ENTITY bc-version "5.0.2">
<!ENTITY bc-size "420 KB"> <!ENTITY bc-size "420 KB">
<!ENTITY bc-url "https://github.com/gavinhoward/bc/releases/download/&bc-version;/bc-&bc-version;.tar.xz"> <!ENTITY bc-url "https://github.com/gavinhoward/bc/releases/download/&bc-version;/bc-&bc-version;.tar.xz">
<!ENTITY bc-md5 "8345bb81c576ddfc8c27e0842370603c"> <!ENTITY bc-md5 "3b521d29aa4af4c4d5e96f7c3db3c607">
<!ENTITY bc-home "https://git.yzena.com/gavin/bc"> <!ENTITY bc-home "https://git.yzena.com/gavin/bc">
<!ENTITY bc-fin-du "6.7 MB"> <!ENTITY bc-fin-du "6.7 MB">
<!ENTITY bc-fin-sbu "less than 0.1 SBU"> <!ENTITY bc-fin-sbu "less than 0.1 SBU">
@ -78,10 +78,10 @@
<!ENTITY binutils-fin-du "4.5 GB"> <!ENTITY binutils-fin-du "4.5 GB">
<!ENTITY binutils-fin-sbu "6.3 SBU"> <!ENTITY binutils-fin-sbu "6.3 SBU">
<!ENTITY bison-version "3.7.6"> <!ENTITY bison-version "3.8.1">
<!ENTITY bison-size "2,566 KB"> <!ENTITY bison-size "2,735 KB">
<!ENTITY bison-url "&gnu;bison/bison-&bison-version;.tar.xz"> <!ENTITY bison-url "&gnu;bison/bison-&bison-version;.tar.xz">
<!ENTITY bison-md5 "d61aa92e3562cb7292b004ce96173cf7"> <!ENTITY bison-md5 "0ea56629a7136cc097668dba808afe3a">
<!ENTITY bison-home "&gnu-software;bison/"> <!ENTITY bison-home "&gnu-software;bison/">
<!ENTITY bison-tmp-du "50 MB"> <!ENTITY bison-tmp-du "50 MB">
<!ENTITY bison-tmp-sbu "0.3 SBU"> <!ENTITY bison-tmp-sbu "0.3 SBU">
@ -240,10 +240,10 @@
<!ENTITY libstdcpp-tmpp2-du "1.1 GB"> <!ENTITY libstdcpp-tmpp2-du "1.1 GB">
<!ENTITY libstdcpp-tmpp2-sbu "0.8 SBU"> <!ENTITY libstdcpp-tmpp2-sbu "0.8 SBU">
<!ENTITY gdbm-version "1.20"> <!ENTITY gdbm-version "1.21">
<!ENTITY gdbm-size "965 KB"> <!ENTITY gdbm-size "983 KB">
<!ENTITY gdbm-url "&gnu;gdbm/gdbm-&gdbm-version;.tar.gz"> <!ENTITY gdbm-url "&gnu;gdbm/gdbm-&gdbm-version;.tar.gz">
<!ENTITY gdbm-md5 "006c19b8b60828fd6916a16f3496bd3c"> <!ENTITY gdbm-md5 "a285c6e2dfed78668664c0555a7d202b">
<!ENTITY gdbm-home "&gnu-software;gdbm/"> <!ENTITY gdbm-home "&gnu-software;gdbm/">
<!ENTITY gdbm-fin-du "11 MB"> <!ENTITY gdbm-fin-du "11 MB">
<!ENTITY gdbm-fin-sbu "0.1 SBU"> <!ENTITY gdbm-fin-sbu "0.1 SBU">
@ -311,10 +311,10 @@
<!ENTITY grub-fin-du "158 MB"> <!ENTITY grub-fin-du "158 MB">
<!ENTITY grub-fin-sbu "0.8 SBU"> <!ENTITY grub-fin-sbu "0.8 SBU">
<!ENTITY gzip-version "1.10"> <!ENTITY gzip-version "1.11">
<!ENTITY gzip-size "757 KB"> <!ENTITY gzip-size "786 KB">
<!ENTITY gzip-url "&gnu;gzip/gzip-&gzip-version;.tar.xz"> <!ENTITY gzip-url "&gnu;gzip/gzip-&gzip-version;.tar.xz">
<!ENTITY gzip-md5 "691b1221694c3394f1c537df4eee39d3"> <!ENTITY gzip-md5 "d1e93996dba00cab0caa7903cd01d454">
<!ENTITY gzip-home "&gnu-software;gzip/"> <!ENTITY gzip-home "&gnu-software;gzip/">
<!ENTITY gzip-tmp-du "10 MB"> <!ENTITY gzip-tmp-du "10 MB">
<!ENTITY gzip-tmp-sbu "0.1 SBU"> <!ENTITY gzip-tmp-sbu "0.1 SBU">
@ -329,10 +329,10 @@
<!ENTITY iana-etc-fin-du "4.7 MB"> <!ENTITY iana-etc-fin-du "4.7 MB">
<!ENTITY iana-etc-fin-sbu "less than 0.1 SBU"> <!ENTITY iana-etc-fin-sbu "less than 0.1 SBU">
<!ENTITY inetutils-version "2.1"> <!ENTITY inetutils-version "2.2">
<!ENTITY inetutils-size "1,496 KB"> <!ENTITY inetutils-size "1,494 KB">
<!ENTITY inetutils-url "&gnu;inetutils/inetutils-&inetutils-version;.tar.xz"> <!ENTITY inetutils-url "&gnu;inetutils/inetutils-&inetutils-version;.tar.xz">
<!ENTITY inetutils-md5 "4e7676d1980e57c7df665e5c5c3c1047"> <!ENTITY inetutils-md5 "de8c1b49cbde2b30e481c61c65357ad4">
<!ENTITY inetutils-sha256 "01b9a4bc73a47e63f6e8a07b76122d9ad2a2e46ebf14870e9c91d660b5647a22"> <!ENTITY inetutils-sha256 "01b9a4bc73a47e63f6e8a07b76122d9ad2a2e46ebf14870e9c91d660b5647a22">
<!ENTITY inetutils-home "&gnu-software;inetutils/"> <!ENTITY inetutils-home "&gnu-software;inetutils/">
<!ENTITY inetutils-fin-du "30 MB"> <!ENTITY inetutils-fin-du "30 MB">
@ -346,10 +346,10 @@
<!ENTITY intltool-fin-du "1.5 MB"> <!ENTITY intltool-fin-du "1.5 MB">
<!ENTITY intltool-fin-sbu "less than 0.1 SBU"> <!ENTITY intltool-fin-sbu "less than 0.1 SBU">
<!ENTITY iproute2-version "5.13.0"> <!ENTITY iproute2-version "5.14.0">
<!ENTITY iproute2-size "828 KB"> <!ENTITY iproute2-size "834 KB">
<!ENTITY iproute2-url "&kernel;linux/utils/net/iproute2/iproute2-&iproute2-version;.tar.xz"> <!ENTITY iproute2-url "&kernel;linux/utils/net/iproute2/iproute2-&iproute2-version;.tar.xz">
<!ENTITY iproute2-md5 "15fc3786303a173a14e180afe4cd2ecd"> <!ENTITY iproute2-md5 "da53966eb3b08ac264f3e9df02e06bfa">
<!ENTITY iproute2-home "&kernel;linux/utils/net/iproute2/"> <!ENTITY iproute2-home "&kernel;linux/utils/net/iproute2/">
<!ENTITY iproute2-fin-du "15 MB"> <!ENTITY iproute2-fin-du "15 MB">
<!ENTITY iproute2-fin-sbu "0.2 SBU"> <!ENTITY iproute2-fin-sbu "0.2 SBU">
@ -402,10 +402,10 @@
<!ENTITY lfs-bootscripts-cfg-du "BOOTSCRIPTS-INSTALL-KB KB"> <!ENTITY lfs-bootscripts-cfg-du "BOOTSCRIPTS-INSTALL-KB KB">
<!ENTITY lfs-bootscripts-cfg-sbu "less than 0.1 SBU"> <!ENTITY lfs-bootscripts-cfg-sbu "less than 0.1 SBU">
<!ENTITY libcap-version "2.53"> <!ENTITY libcap-version "2.57">
<!ENTITY libcap-size "153 KB"> <!ENTITY libcap-size "164 KB">
<!ENTITY libcap-url "&kernel;linux/libs/security/linux-privs/libcap2/libcap-&libcap-version;.tar.xz"> <!ENTITY libcap-url "&kernel;linux/libs/security/linux-privs/libcap2/libcap-&libcap-version;.tar.xz">
<!ENTITY libcap-md5 "094994d4554c6689cf98ae4f717b8e19"> <!ENTITY libcap-md5 "e84ce311ec412cbe8340ea8ea31525d9">
<!ENTITY libcap-home "https://sites.google.com/site/fullycapable/"> <!ENTITY libcap-home "https://sites.google.com/site/fullycapable/">
<!ENTITY libcap-fin-du "3.2 MB"> <!ENTITY libcap-fin-du "3.2 MB">
<!ENTITY libcap-fin-sbu "less than 0.1 SBU"> <!ENTITY libcap-fin-sbu "less than 0.1 SBU">
@ -435,13 +435,13 @@
<!ENTITY libtool-fin-sbu "1.5 SBU"> <!ENTITY libtool-fin-sbu "1.5 SBU">
<!ENTITY linux-major-version "5"> <!ENTITY linux-major-version "5">
<!ENTITY linux-minor-version "13"> <!ENTITY linux-minor-version "14">
<!ENTITY linux-patch-version "12"> <!ENTITY linux-patch-version "3">
<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">--> <!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;"> <!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
<!ENTITY linux-size "116,545 KB"> <!ENTITY linux-size "117,839 KB">
<!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz"> <!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
<!ENTITY linux-md5 "6e1728b2021ca19cc9273f080e6c44c7"> <!ENTITY linux-md5 "b45b18effd1af9077de47f4bc496d2ab">
<!ENTITY linux-home "https://www.kernel.org/"> <!ENTITY linux-home "https://www.kernel.org/">
<!-- measured for 5.13.4 / gcc-11.1.0 on x86_64 : minimum is <!-- measured for 5.13.4 / gcc-11.1.0 on x86_64 : minimum is
allnoconfig rounded down to allow for ongoing cleanups, allnoconfig rounded down to allow for ongoing cleanups,
@ -600,19 +600,19 @@
<!-- If python minor version changes, updates in python and <!-- If python minor version changes, updates in python and
meson pages will be needed: python3.6 and python3.6m --> meson pages will be needed: python3.6 and python3.6m -->
<!ENTITY python-version "3.9.6"> <!ENTITY python-version "3.9.7">
<!ENTITY python-minor "3.9"> <!ENTITY python-minor "3.9">
<!ENTITY python-size "18,608 KB"> <!ENTITY python-size "18,676 KB">
<!ENTITY python-url "https://www.python.org/ftp/python/&python-version;/Python-&python-version;.tar.xz"> <!ENTITY python-url "https://www.python.org/ftp/python/&python-version;/Python-&python-version;.tar.xz">
<!ENTITY python-md5 "ecc29a7688f86e550d29dba2ee66cf80"> <!ENTITY python-md5 "fddb060b483bc01850a3f412eea1d954">
<!ENTITY python-home "https://www.python.org/"> <!ENTITY python-home "https://www.python.org/">
<!ENTITY python-tmp-du "347 MB"> <!ENTITY python-tmp-du "347 MB">
<!ENTITY python-tmp-sbu "1.2 SBU"> <!ENTITY python-tmp-sbu "1.2 SBU">
<!ENTITY python-fin-du "260 MB"> <!ENTITY python-fin-du "260 MB">
<!ENTITY python-fin-sbu "4.4 SBU"> <!ENTITY python-fin-sbu "4.4 SBU">
<!ENTITY python-docs-url "https://www.python.org/ftp/python/doc/&python-version;/python-&python-version;-docs-html.tar.bz2"> <!ENTITY python-docs-url "https://www.python.org/ftp/python/doc/&python-version;/python-&python-version;-docs-html.tar.bz2">
<!ENTITY python-docs-md5 "0dae29e4c38af1b6b1a86b35c9e48923"> <!ENTITY python-docs-md5 "ef3ea6141ed362e4d12467b136ee70fe">
<!ENTITY python-docs-size "6,692 KB"> <!ENTITY python-docs-size "6,791 KB">
<!ENTITY readline-version "8.1"> <!ENTITY readline-version "8.1">
<!ENTITY readline-size "2,924 KB"> <!ENTITY readline-size "2,924 KB">

View File

@ -38,9 +38,9 @@
<title>About Cross-Compilation</title> <title>About Cross-Compilation</title>
<para>Cross-compilation involves some concepts that deserve a section on <para>Cross-compilation involves some concepts that deserve a section on
their own. Although this section may be omitted in a first reading, it their own. Although this section may be omitted in a first reading,
is strongly suggested to come back to it later in order to get a full coming back to it later will be beneficial to your full understanding of
grasp of the build process.</para> the process.</para>
<para>Let us first define some terms used in this context:</para> <para>Let us first define some terms used in this context:</para>
@ -67,7 +67,7 @@
<para>As an example, let us imagine the following scenario (sometimes <para>As an example, let us imagine the following scenario (sometimes
referred to as <quote>Canadian Cross</quote>): we may have a referred to as <quote>Canadian Cross</quote>): we may have a
compiler on a slow machine only, let's call the machine A, and the compiler compiler on a slow machine only, let's call it machine A, and the compiler
ccA. We may have also a fast machine (B), but with no compiler, and we may ccA. We may have also a fast machine (B), but with no compiler, and we may
want to produce code for another slow machine (C). To build a want to produce code for another slow machine (C). To build a
compiler for machine C, we would have three stages:</para> compiler for machine C, we would have three stages:</para>
@ -141,7 +141,7 @@
cpu-vendor-kernel-os referred to as the machine triplet. An astute cpu-vendor-kernel-os referred to as the machine triplet. An astute
reader may wonder why a <quote>triplet</quote> refers to a four component reader may wonder why a <quote>triplet</quote> refers to a four component
name. The reason is history: initially, three component names were enough name. The reason is history: initially, three component names were enough
to designate unambiguously a machine, but with new machines and systems to designate a machine unambiguously, but with new machines and systems
appearing, that proved insufficient. The word <quote>triplet</quote> appearing, that proved insufficient. The word <quote>triplet</quote>
remained. A simple way to determine your machine triplet is to run remained. A simple way to determine your machine triplet is to run
the <command>config.guess</command> the <command>config.guess</command>
@ -156,9 +156,9 @@
linker <command>ld</command> that is part of binutils). The dynamic linker linker <command>ld</command> that is part of binutils). The dynamic linker
provided by Glibc finds and loads the shared libraries needed by a provided by Glibc finds and loads the shared libraries needed by a
program, prepares the program to run, and then runs it. The name of the program, prepares the program to run, and then runs it. The name of the
dynamic linker for a 32-bit Intel machine will be <filename dynamic linker for a 32-bit Intel machine is <filename
class="libraryfile">ld-linux.so.2</filename> (<filename class="libraryfile">ld-linux.so.2</filename> and is<filename
class="libraryfile">ld-linux-x86-64.so.2</filename> for 64-bit systems). A class="libraryfile">ld-linux-x86-64.so.2</filename> for 64-bit systems. A
sure-fire way to determine the name of the dynamic linker is to inspect a sure-fire way to determine the name of the dynamic linker is to inspect a
random binary from the host system by running: <userinput>readelf -l random binary from the host system by running: <userinput>readelf -l
&lt;name of binary&gt; | grep interpreter</userinput> and noting the &lt;name of binary&gt; | grep interpreter</userinput> and noting the
@ -167,7 +167,7 @@
tree.</para> tree.</para>
</note> </note>
<para>In order to fake a cross compilation, the name of the host triplet <para>In order to fake a cross compilation in LFS, the name of the host triplet
is slightly adjusted by changing the &quot;vendor&quot; field in the is slightly adjusted by changing the &quot;vendor&quot; field in the
<envar>LFS_TGT</envar> variable. We also use the <envar>LFS_TGT</envar> variable. We also use the
<parameter>--with-sysroot</parameter> option when building the cross linker and <parameter>--with-sysroot</parameter> option when building the cross linker and
@ -295,7 +295,7 @@ checking what linker to use... /mnt/lfs/tools/i686-lfs-linux-gnu/bin/ld</compute
always use the compiler relating to the <parameter>--host</parameter> always use the compiler relating to the <parameter>--host</parameter>
parameter passed to its configure script; e.g. in our case, the compiler parameter passed to its configure script; e.g. in our case, the compiler
will be <command>$LFS_TGT-gcc</command>. The binary tools and kernel will be <command>$LFS_TGT-gcc</command>. The binary tools and kernel
headers can be a bit more complicated. Therefore, take no risks and use headers can be a bit more complicated. Therefore, we take no risks and use
the available configure switches to enforce the correct selections. After the available configure switches to enforce the correct selections. After
the run of <command>configure</command>, check the contents of the the run of <command>configure</command>, check the contents of the
<filename>config.make</filename> file in the <filename <filename>config.make</filename> file in the <filename
@ -329,7 +329,7 @@ checking what linker to use... /mnt/lfs/tools/i686-lfs-linux-gnu/bin/ld</compute
linkend="chapter-chroot-temporary-tools"/>, the first task is to install linkend="chapter-chroot-temporary-tools"/>, the first task is to install
libstdc++. Then temporary installations of programs needed for the proper libstdc++. Then temporary installations of programs needed for the proper
operation of the toolchain are performed. From this point onwards, the operation of the toolchain are performed. From this point onwards, the
core toolchain is self-contained and self-hosted. In core toolchain is self-contained and self-hosted. In
<xref linkend="chapter-building-system"/>, final versions of all the <xref linkend="chapter-building-system"/>, final versions of all the
packages needed for a fully functional system are built, tested and packages needed for a fully functional system are built, tested and
installed.</para> installed.</para>

View File

@ -30,6 +30,10 @@
<!ENTITY flex-fixes-patch-size "3.4 KB"> <!ENTITY flex-fixes-patch-size "3.4 KB">
--> -->
<!ENTITY file-upstream-fixes-patch "file-&file-version;-upstream_fixes-1.patch">
<!ENTITY file-upstream-fixes-md5 "d99090db596b9db2bed869662199a56a">
<!ENTITY file-upstream-fixes-patch-size "4.0 KB">
<!ENTITY gcc-upstream-fixes-patch "gcc-&gcc-version;-upstream_fixes-1.patch"> <!ENTITY gcc-upstream-fixes-patch "gcc-&gcc-version;-upstream_fixes-1.patch">
<!ENTITY gcc-upstream-fixes-patch-md5 "27266d2a771f2ff812cb6ec9c8b456b4"> <!ENTITY gcc-upstream-fixes-patch-md5 "27266d2a771f2ff812cb6ec9c8b456b4">
<!ENTITY gcc-upstream-fixes-patch-size "18.0 KB"> <!ENTITY gcc-upstream-fixes-patch-size "18.0 KB">

View File

@ -626,7 +626,7 @@
<para>Zstd</para> <para>Zstd</para>
<para>This package contains compression and decompression routines <para>This package contains compression and decompression routines
used by some programs. It provide high compression ratios and a very used by some programs. It provides high compression ratios and a very
wide range of compression / speed trade-offs.</para> wide range of compression / speed trade-offs.</para>
</listitem> </listitem>