Merge remote-tracking branch 'origin/trunk' into xry111/arm64

This commit is contained in:
Xi Ruoyao 2022-11-12 00:19:44 +08:00
commit f8ffc3a5d3
No known key found for this signature in database
GPG Key ID: ACAAD20E19E710E3
18 changed files with 221 additions and 113 deletions

View File

@ -39,6 +39,66 @@
<listitem revision="sysv"> or <listitem revision="systemd"> as
appropriate for the entry or if needed the entire day's listitem.
-->
<listitem revision="systemd">
<para>2022-11-10</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Fix make-4.4 bug. Fixes
<ulink url="&lfs-ticket-root;5160">#5160</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to wheel-0.38.4 (Python Module). Fixes
<ulink url="&lfs-ticket-root;5155">#5155</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to texinfo-7.0. Fixes
<ulink url="&lfs-ticket-root;5159">#5159</ulink>.</para>
</listitem>
<listitem revision="sysv">
<para>[bdubbs] - Update to sysvinit-3.05. Fixes
<ulink url="&lfs-ticket-root;5153">#5153</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to shadow-4.13. Fixes
<ulink url="&lfs-ticket-root;5161">#5161</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to sed-4.9. Fixes
<ulink url="&lfs-ticket-root;5157">#5157</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to meson-0.64.0. Fixes
<ulink url="&lfs-ticket-root;5156">#5156</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.0.7. Fixes
<ulink url="&lfs-ticket-root;5154">#5154</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to elfutils-0.188. Fixes
<ulink url="&lfs-ticket-root;5152">#5152</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to bc-6.1.1. Fixes
<ulink url="&lfs-ticket-root;5151">#5151</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to bash-5.2.9. Fixes
<ulink url="&lfs-ticket-root;5158">#5158</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem revision="systemd">
<para>2022-11-03</para>
<itemizedlist>
<listitem>
<para>[renodr] - Update to systemd-252. Fixes
<ulink url="&lfs-ticket-root;5150">#5150</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2022-11-01</para>
<itemizedlist>

View File

@ -160,9 +160,9 @@
<listitem>
<para>Libcap-&libcap-version;</para>
</listitem>
<!--<listitem>
<listitem>
<para>Libelf-&elfutils-version; (from elfutils)</para>
</listitem>-->
</listitem>
<listitem>
<para>Libffi-&libffi-version;</para>
</listitem>
@ -229,30 +229,30 @@
<listitem>
<para>Readline-&readline-version;</para>
</listitem>
<!--<listitem>
<listitem>
<para>Sed-&sed-version;</para>
</listitem>-->
</listitem>
<listitem>
<para>Shadow-&shadow-version;</para>
</listitem>
<!--<listitem revision="sysv">
<para>Sysklogd-&sysklogd-version;</para>
</listitem>-->
<!--<listitem revision="systemd">
<listitem revision="systemd">
<para>Systemd-&systemd-version;</para>
</listitem>-->
<!--<listitem revision="sysv">
</listitem>
<listitem revision="sysv">
<para>SysVinit-&sysvinit-version;</para>
</listitem>-->
</listitem>
<!--<listitem>
<para>Tar-&tar-version;</para>
</listitem>-->
<!--<listitem>
<para>Tcl-&tcl-version;</para>
</listitem>-->
<!--<listitem>
<listitem>
<para>Texinfo-&texinfo-version;</para>
</listitem>-->
</listitem>
<listitem>
<para>Tzdata-&tzdata-version;</para>
</listitem>
@ -262,6 +262,9 @@
<listitem>
<para>Vim-&vim-version;</para>
</listitem>
<listitem>
<para>wheel-&wheel-version;</para>
</listitem>
<!--<listitem>
<para>XML-Parser-&xml-parser-version;</para>
</listitem>-->
@ -288,10 +291,11 @@
<itemizedlist>
<title>Added:</title>
<listitem><para></para></listitem> <!-- satisfy build -->
<!--
<listitem>
<para>&bash-fixes-patch;</para>
</listitem>
-->
<listitem>
<para>&readline-fixes-patch;</para>
</listitem>

View File

@ -27,14 +27,14 @@
</varlistentry>
-->
<varlistentry>
<!-- <varlistentry>
<term>Bash Upstream Fixes Patch - <token>&bash-fixes-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&bash-fixes-patch;"/></para>
<para>MD5 sum: <literal>&bash-fixes-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
<!--
<varlistentry>
<term>Binutils LTO Fix Patch - <token>&binutils-lto-patch-size;</token>:</term>
@ -135,6 +135,7 @@
</listitem>
</varlistentry>
<!--
<varlistentry revision="systemd">
<term>Systemd Upstream Patch - <token>&systemd-upstream-patch-size;</token>:</term>
<listitem>
@ -142,6 +143,7 @@
<para>MD5 sum: <literal>&systemd-upstream-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
<!--
<varlistentry>
<term>Xz Upstream Fix Patch - <token>&xz-upstream-fix-patch-size;</token>:</term>

View File

@ -45,9 +45,9 @@
<!-- Don't remove this until Binutils upstream updates the libtool
copy. On some host distros the issue doesn't show up. -->
<para>Binutils ships an outdated libtool copy in the tarball. It lacks
sysroot support so the produced binaries will be mistakenly linked to
libraries from the host distro. Workaround this issue:</para>
<para>Binutils ships an outdated copy of libtool in the tarball. It lacks
sysroot support, so the produced binaries will be mistakenly linked to
libraries from the host distro. Work around this issue:</para>
<screen><userinput remap="pre">sed '6009s/$add_dir//' -i ltmain.sh</userinput></screen>
@ -83,8 +83,8 @@ cd build</userinput></screen>
<varlistentry>
<term><parameter>--enable-64-bit-bfd</parameter></term>
<listitem>
<para>Enables 64-bit support (on hosts with narrower word sizes).
May not be needed on 64-bit systems, but does no harm.</para>
<para>Enables 64-bit support (on hosts with smaller word sizes).
This may not be needed on 64-bit systems, but it does no harm.</para>
</listitem>
</varlistentry>

View File

@ -45,8 +45,9 @@
<para>
The <command>file</command> command on the build host needs
to be same version as the one we are building in order to
create the signature file. Run the following commands to build it:
to be the same version as the one we are building in order to
create the signature file. Run the following commands to make a
temporary copy of the <command>file</command> command:
</para>
<screen><userinput remap="pre">mkdir build

View File

@ -48,8 +48,7 @@
<screen><userinput remap="pre">patch -Np1 -i ../&gcc-upstream-fixes-patch;</userinput></screen>
-->
<para>As in the first build of GCC, the GMP, MPFR, and MPC packages are
required. Unpack the tarballs and move them into the required directory
names:</para>
required. Unpack the tarballs and move them into the required directories:</para>
<screen><userinput remap="pre">tar -xf ../mpfr-&mpfr-version;.tar.xz
mv -v mpfr-&mpfr-version; mpfr
@ -108,9 +107,9 @@ cd build</userinput></screen>
<para>Normally, using <parameter>--host</parameter> ensures that
a cross-compiler is used for building GCC, and that compiler knows
that it has to look for headers and libraries in <filename
class="directory">$LFS</filename>. But the build system of GCC uses
class="directory">$LFS</filename>. But the build system for GCC uses
other tools, which are not aware of this location. This switch is
needed to have them find the needed files in <filename
needed so those tools will find the needed files in <filename
class="directory">$LFS</filename>, and not on the host.</para>
</listitem>
</varlistentry>
@ -118,16 +117,16 @@ cd build</userinput></screen>
<varlistentry>
<term><parameter>--target=$LFS_TGT</parameter></term>
<listitem>
<para>As we are cross-compiling GCC, it's impossible to build
<para>We are cross-compiling GCC, so it's impossible to build
target libraries (<filename class="libraryfile">libgcc</filename>
and <filename class="libraryfile">libstdc++</filename>) with the
compiled GCC binaries because these binaries won't run on the
host distro. GCC building system will attempt to use the
C and C++ compilers on the host distro as a workaround by default.
It's not supported to build GCC target libraries with a different
version of GCC, so using host compilers may cause building
failure. This parameter ensures to build the libraries with GCC
pass 1 and prevent the issue.</para>
previously compiled GCC binaries&mdash;those binaries won't run on the
host. The GCC build system will attempt to use the host's
C and C++ compilers as a workaround by default.
Building the GCC target libraries with a different
version of GCC is not supported, so using the host's compilers may cause
the build to fail. This parameter ensures the libraries are built by GCC
pass 1.</para>
</listitem>
</varlistentry>
@ -135,9 +134,9 @@ cd build</userinput></screen>
<term><parameter>LDFLAGS_FOR_TARGET=...</parameter></term>
<listitem>
<para>Allow <filename class="libraryfile">libstdc++</filename> to
use shared <filename class="libraryfile">libgcc</filename> being
built in this pass, instead of the static version built in GCC
pass 1. This is needed for supporting C++ exception
use the shared <filename class="libraryfile">libgcc</filename> being
built in this pass, instead of the static version that was built in GCC
pass 1. This is necessary to support C++ exception
handling.</para>
</listitem>
</varlistentry>

View File

@ -16,7 +16,7 @@
the host's tools. Nevertheless, the installed libraries are used when
linking.</para>
<para>Using the utilities will be possible in next chapter after entering
<para>Using the utilities will be possible in the next chapter after entering
the <quote>chroot</quote> environment. But all the packages built in the
present chapter need to be built before we do that. Therefore we cannot be
independent of the host system yet.</para>

View File

@ -42,6 +42,12 @@
<sect2 role="installation">
<title>Installation of Make</title>
<para>First, fix an issue identified upstream:</para>
<screen><userinput remap="pre">sed -e '/ifdef SIGPIPE/,+2 d' \
-e '/undef FATAL_SIG/i FATAL_SIG (SIGPIPE);' \
-i src/main.c</userinput></screen>
<para>Prepare Make for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \

View File

@ -119,7 +119,7 @@ popd</userinput></screen>
<term><parameter>--without-ada</parameter></term>
<listitem>
<para>This ensures that Ncurses does not build support for the Ada
compiler which may be present on the host but will not be available
compiler, which may be present on the host but will not be available
once we enter the <command>chroot</command> environment.</para>
</listitem>
</varlistentry>
@ -127,9 +127,9 @@ popd</userinput></screen>
<varlistentry>
<term><parameter>--disable-stripping</parameter></term>
<listitem>
<para>This switch prevents the building system from stripping
the programs using <command>strip</command> program from the host.
Using host tools on cross-compiled program can cause failure.</para>
<para>This switch prevents the building system from
using the <command>strip</command> program from the host.
Using host tools on cross-compiled programs can cause failure.</para>
</listitem>
</varlistentry>
@ -169,8 +169,8 @@ echo "INPUT(-lncursesw)" > $LFS/usr/lib/libncurses.so</userinput></screen>
<varlistentry>
<term><parameter>TIC_PATH=$(pwd)/build/progs/tic</parameter></term>
<listitem>
<para>We need to pass the path of the just built
<command>tic</command> able to run on the building machine, so that
<para>We need to pass the path of the newly built
<command>tic</command> program that runs on the building machine, so
the terminal database can be created without errors.</para>
</listitem>
</varlistentry>

View File

@ -40,10 +40,6 @@
<sect2 role="installation">
<title>Installation of Bash</title>
<para>First, fix some issues identified upstream:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&bash-fixes-patch;</userinput></screen>
<para>Prepare Bash for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \

View File

@ -61,6 +61,17 @@
</para>
</note>
<warning>
<para>Unset any environment variables which may affect the build:</para>
<screen><userinput remap='pre'>unset {C,CPP,CXX,LD}FLAGS</userinput></screen>
<para>Don't try <quote>tuning</quote> this package with custom
compilation flags: this package is a bootloader, with low-level
operations in the source code which is likely to be broken by some
aggressive optimizations.</para>
</warning>
<para>Prepare GRUB for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \

View File

@ -40,11 +40,13 @@
<sect2 role="installation">
<title>Installation of Make</title>
<!--
<para>Again, work around an error caused by glibc-2.27 and later:</para>
<screen><userinput remap="pre">sed -i '211,217 d; 219,229 d; 232 d' glob/glob.c</userinput></screen>
-->
<para>First, fix some issues identified upstream:</para>
<screen><userinput remap="pre">sed -e '/ifdef SIGPIPE/,+2 d' \
-e '/undef FATAL_SIG/i FATAL_SIG (SIGPIPE);' \
-i src/main.c</userinput></screen>
<para>Prepare Make for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen>

View File

@ -40,9 +40,11 @@
<sect2 role="installation">
<title>Installation of systemd</title>
<!--
<para>First, fix an issue introduced by glibc-2.36.</para>
<screen><userinput remap="pre">patch -Np1 -i ../&systemd-upstream-patch;</userinput></screen>
-->
<para>Remove two unneeded groups,
<systemitem class="groupname">render</systemitem> and
@ -196,11 +198,11 @@ meson --prefix=/usr \
<screen><userinput remap="adjust">systemctl preset-all</userinput></screen>
<para>Disable a service for upgrading binary distros. It's useless for
a basic Linux system built from source, and it will report an error if
<para>Disable two services for upgrading binary distros. They are useless for
a basic Linux system built from source, and both will report an error if
it's enabled but not configured:</para>
<screen><userinput remap="adjust">systemctl disable systemd-sysupdate</userinput></screen>
<screen><userinput remap="adjust">systemctl disable systemd-sysupdate{,-reboot}</userinput></screen>
<!-- dev: 50-pid-max.conf is not removed in BLFS, so I commented the following out.
If it causes any trouble, we can add this back and also copy it into BLFS -->

View File

@ -118,6 +118,8 @@
<!ENTITY savannah "https://download.savannah.gnu.org">
<!ENTITY savannah-nongnu "https://savannah.nongnu.org">
<!ENTITY github "https://github.com">
<!ENTITY pypi-home "https://pypi.org/project">
<!ENTITY pypi-src "https://pypi.org/packages/source">
<!ENTITY root "<systemitem class='username'>root</systemitem>">
<!ENTITY lfs-user "<systemitem class='username'>lfs</systemitem>">

View File

@ -48,20 +48,20 @@
<!ENTITY automake-fin-du "116 MB">
<!ENTITY automake-fin-sbu "less than 0.1 SBU (about 7.7 SBU with tests)">
<!ENTITY bash-version "5.2">
<!ENTITY bash-version "5.2.9">
<!ENTITY bash-size "10,695 KB">
<!ENTITY bash-url "&gnu;bash/bash-&bash-version;.tar.gz">
<!ENTITY bash-md5 "cfb4cf795fc239667f187b3d6b3d396f">
<!ENTITY bash-md5 "0d8a4e4fe2d31ed5c304316bd9fcb337">
<!ENTITY bash-home "&gnu-software;bash/">
<!ENTITY bash-tmp-du "64 MB">
<!ENTITY bash-tmp-sbu "0.5 SBU">
<!ENTITY bash-fin-du "50 MB">
<!ENTITY bash-fin-sbu "1.4 SBU">
<!ENTITY bc-version "6.0.4">
<!ENTITY bc-size "442 KB">
<!ENTITY bc-version "6.1.1">
<!ENTITY bc-size "445 KB">
<!ENTITY bc-url "https://github.com/gavinhoward/bc/releases/download/&bc-version;/bc-&bc-version;.tar.xz">
<!ENTITY bc-md5 "1e1c90de1a11f3499237425de1673ef1">
<!ENTITY bc-md5 "9a7ffa015c499272e7d41b4c0f28e691">
<!ENTITY bc-home "https://git.yzena.com/gavin/bc">
<!ENTITY bc-fin-du "7.4 MB">
<!ENTITY bc-fin-sbu "less than 0.1 SBU">
@ -148,10 +148,10 @@
<!ENTITY e2fsprogs-fin-du "94 MB">
<!ENTITY e2fsprogs-fin-sbu "4.4 SBU on a spinning disk, 1.2 SBU on an SSD">
<!ENTITY elfutils-version "0.187"> <!-- libelf -->
<!ENTITY elfutils-size "9,024 KB">
<!ENTITY elfutils-version "0.188"> <!-- libelf -->
<!ENTITY elfutils-size "8,900 KB">
<!ENTITY elfutils-url "https://sourceware.org/ftp/elfutils/&elfutils-version;/elfutils-&elfutils-version;.tar.bz2">
<!ENTITY elfutils-md5 "cc04f07b53a71616b22553c0a458cf4b">
<!ENTITY elfutils-md5 "efb25a91873b2eec4df9f31e6a4f4e5c">
<!ENTITY elfutils-home "https://sourceware.org/elfutils/">
<!ENTITY elfutils-fin-du "117 MB">
<!ENTITY elfutils-fin-sbu "0.9 SBU">
@ -424,12 +424,12 @@
<!ENTITY linux-major-version "6">
<!ENTITY linux-minor-version "0">
<!ENTITY linux-patch-version "6">
<!ENTITY linux-patch-version "7">
<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
<!ENTITY linux-size "130,766 KB">
<!ENTITY linux-size "130,748 KB">
<!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
<!ENTITY linux-md5 "4e01a82c673ea0fb85f751672f99dc96">
<!ENTITY linux-md5 "690e3de421b693bf111ec74a97476ea7">
<!ENTITY linux-home "https://www.kernel.org/">
<!-- measured for 5.13.4 / gcc-11.1.0 on x86_64 : minimum is
allnoconfig rounded down to allow for ongoing cleanups,
@ -487,10 +487,10 @@
<!ENTITY markupsafe-fin-du "168 KB">
<!ENTITY markupsafe-fin-sbu "less than 0.1 SBU">
<!ENTITY meson-version "0.63.3">
<!ENTITY meson-size "2,020 KB">
<!ENTITY meson-version "0.64.0">
<!ENTITY meson-size "2,042 KB">
<!ENTITY meson-url "&github;/mesonbuild/meson/releases/download/&meson-version;/meson-&meson-version;.tar.gz">
<!ENTITY meson-md5 "b2f2757b5dd84cc754b9df53ce37a175">
<!ENTITY meson-md5 "63a3d83206e7e277fce4b90e8ad8003a">
<!ENTITY meson-home "https://mesonbuild.com">
<!ENTITY meson-fin-du "38 MB">
<!ENTITY meson-fin-sbu "less than 0.1 SBU">
@ -611,20 +611,20 @@
<!ENTITY readline-fin-du "15 MB">
<!ENTITY readline-fin-sbu "0.1 SBU">
<!ENTITY sed-version "4.8">
<!ENTITY sed-size "1,317 KB">
<!ENTITY sed-version "4.9">
<!ENTITY sed-size "1,365 KB">
<!ENTITY sed-url "&gnu;sed/sed-&sed-version;.tar.xz">
<!ENTITY sed-md5 "6d906edfdb3202304059233f51f9a71d">
<!ENTITY sed-md5 "6aac9b2dbafcd5b7a67a8a9bcb8036c3">
<!ENTITY sed-home "&gnu-software;sed/">
<!ENTITY sed-tmp-du "20 MB">
<!ENTITY sed-tmp-sbu "0.1 SBU">
<!ENTITY sed-fin-du "31 MB">
<!ENTITY sed-fin-sbu "0.4 SBU">
<!ENTITY shadow-version "4.12.3">
<!ENTITY shadow-size "1,707 KB">
<!ENTITY shadow-version "4.13">
<!ENTITY shadow-size "1,722 KB">
<!ENTITY shadow-url "&github;/shadow-maint/shadow/releases/download/&shadow-version;/shadow-&shadow-version;.tar.xz">
<!ENTITY shadow-md5 "710bcc89c39683609aacfef9f08bd854">
<!ENTITY shadow-md5 "b1ab01b5462ddcf43588374d57bec123">
<!ENTITY shadow-home "https://shadow-maint.github.io/shadow/">
<!ENTITY shadow-fin-du "46 MB">
<!ENTITY shadow-fin-sbu "0.2 SBU">
@ -637,27 +637,27 @@
<!ENTITY sysklogd-fin-du "0.6 MB">
<!ENTITY sysklogd-fin-sbu "less than 0.1 SBU">
<!ENTITY systemd-version "251">
<!ENTITY systemd-version "252">
<!--<!ENTITY systemd-stable "6b4878d">-->
<!-- The above entity is used whenever we move to a stable backport branch. In the event of a critical problem or kernel
change that is incompatible, we will switch to the backport branch until the next stable release. -->
<!ENTITY systemd-size "11,168 KB">
<!ENTITY systemd-size "11,488 KB">
<!ENTITY systemd-url "&github;/systemd/systemd/archive/v&systemd-version;/systemd-&systemd-version;.tar.gz">
<!--<!ENTITY systemd-url "&anduin-sources;/systemd-&systemd-version;-&systemd-stable;.tar.xz">-->
<!ENTITY systemd-md5 "8090fcccc3a2ec20995e89d56fed61b1">
<!ENTITY systemd-md5 "b9456750a212dd54d81caeb3c38134b6">
<!ENTITY systemd-home "https://www.freedesktop.org/wiki/Software/systemd/">
<!ENTITY systemd-man-version "251">
<!ENTITY systemd-man-size "596 KB">
<!ENTITY systemd-man-version "252">
<!ENTITY systemd-man-size "628 KB">
<!--<!ENTITY systemd-man-url "&anduin-sources;/systemd-man-pages-&systemd-version;-&systemd-stable;.tar.xz">-->
<!ENTITY systemd-man-url "&anduin-sources;/systemd-man-pages-&systemd-man-version;.tar.xz">
<!ENTITY systemd-man-md5 "87053ffef1cfb74e4fe28f627e12a2a4">
<!ENTITY systemd-fin-du "251 MB">
<!ENTITY systemd-fin-sbu "2.3 SBU">
<!ENTITY systemd-man-md5 "856ffb33ac16962f0628dcb533d76e5c">
<!ENTITY systemd-fin-du "258 MB">
<!ENTITY systemd-fin-sbu "2.5 SBU">
<!ENTITY sysvinit-version "3.04">
<!ENTITY sysvinit-size "216 KB">
<!ENTITY sysvinit-url "&savannah;/releases/sysvinit/sysvinit-&sysvinit-version;.tar.xz">
<!ENTITY sysvinit-md5 "9a00e5f15dd2f038f10feee50677ebff">
<!ENTITY sysvinit-version "3.05">
<!ENTITY sysvinit-size "229 KB">
<!ENTITY sysvinit-url "&github;/slicer69/sysvinit/releases/download/&sysvinit-version;/sysvinit-&sysvinit-version;.tar.xz">
<!ENTITY sysvinit-md5 "57577060e5f21fd9899fa601aa45b064">
<!ENTITY sysvinit-home "&savannah-nongnu;/projects/sysvinit">
<!ENTITY sysvinit-fin-du "2.7 MB">
<!ENTITY sysvinit-fin-sbu "less than 0.1 SBU">
@ -684,10 +684,10 @@
<!ENTITY tcl-tmp-du "88 MB">
<!ENTITY tcl-tmp-sbu "3.2 SBU">
<!ENTITY texinfo-version "6.8">
<!ENTITY texinfo-size "4,848 KB">
<!ENTITY texinfo-version "7.0">
<!ENTITY texinfo-size "4,786 KB">
<!ENTITY texinfo-url "&gnu;texinfo/texinfo-&texinfo-version;.tar.xz">
<!ENTITY texinfo-md5 "a91b404e30561a5df803e6eb3a53be71">
<!ENTITY texinfo-md5 "c9bda68c809e3afe67f1fbcd7c3d9fd3">
<!ENTITY texinfo-home "&gnu-software;texinfo/">
<!ENTITY texinfo-tmp-du "113 MB">
<!ENTITY texinfo-tmp-sbu "0.2 SBU">
@ -728,12 +728,11 @@
<!ENTITY vim-fin-du "217 MB">
<!ENTITY vim-fin-sbu "2.5 SBU">
<!-- From https://files.pythonhosted.org/packages/c0/6c/9f840c2e55b67b90745af06a540964b73589256cb10cc10057c87ac78fc2/wheel-0.37.1.tar.gz -->
<!ENTITY wheel-version "0.37.1">
<!ENTITY wheel-size "65 KB">
<!ENTITY wheel-url "&anduin-sources;/wheel-&wheel-version;.tar.gz">
<!ENTITY wheel-md5 "f490f1399e5903706cb1d4fbed9ecb28">
<!ENTITY wheel-home "https://pypi.org/project/wheel/">
<!ENTITY wheel-version "0.38.4">
<!ENTITY wheel-size "66 KB">
<!ENTITY wheel-url "&pypi-src;/w/wheel/wheel-&wheel-version;.tar.gz">
<!ENTITY wheel-md5 "83bb4e7bd4d687d398733f341a64ab91">
<!ENTITY wheel-home "&pypi-home;/wheel/">
<!ENTITY wheel-fin-du "956 KB">
<!ENTITY wheel-fin-sbu "less than 0.1 SBU">

View File

@ -201,7 +201,7 @@
is slightly adjusted by changing the &quot;vendor&quot; field in the
<envar>LFS_TGT</envar> variable so it says &quot;lfs&quot;. We also use the
<parameter>--with-sysroot</parameter> option when building the cross-linker and
cross-compiler to tell them where to find the needed host files. This
cross-compiler, to tell them where to find the needed host files. This
ensures that none of the other programs built in <xref
linkend="chapter-temporary-tools"/> can link to libraries on the build
machine. Only two stages are mandatory, plus one more for tests.</para>
@ -238,8 +238,8 @@
on a machine using the already installed distribution. <quote>On
lfs</quote> means the commands are run in a chrooted environment.</para>
<para>Now, there is more about cross-compiling: the C language is not
just a compiler, but also defines a standard library. In this book, the
<para>This is not yet the end of the story. The C language is not
merely a compiler; it also defines a standard library. In this book, the
GNU C library, named glibc, is used (there is an alternative, &quot;musl&quot;). This library must
be compiled for the LFS machine; that is, using the cross-compiler cc1.
But the compiler itself uses an internal library providing complex
@ -256,22 +256,22 @@
<para>The upshot of the preceding paragraph is that cc1 is unable to
build a fully functional libstdc++ with the degraded libgcc, but cc1
is the only compiler available for building the C/C++ libraries
during stage 2. Of course, the compiler built by stage 2, cc-lfs,
would be able to build those libraries, but:</para>
during stage 2. There are two reasons we don't immediately use the
compiler built in stage 2, cc-lfs, to build those libraries.</para>
<itemizedlist>
<listitem>
<para>
Generally cc-lfs cannot run on pc (the host distro). Despite the
triplets of pc and lfs are compatible to each other, an executable
for lfs will depend on glibc-&glibc-version; while the host distro
may utilize a different libc implementation (for example, musl) or
Generally speaking, cc-lfs cannot run on pc (the host system). Even though the
triplets for pc and lfs are compatible with each other, an executable
for lfs must depend on glibc-&glibc-version;; the host distro
may utilize either a different implementation of libc (for example, musl), or
a previous release of glibc (for example, glibc-2.13).
</para>
</listitem>
<listitem>
<para>
Even if cc-lfs happens to run on pc, using it on pc would create
Even if cc-lfs can run on pc, using it on pc would create
a risk of linking to the pc libraries, since cc-lfs is a native
compiler.
</para>
@ -279,16 +279,16 @@
</itemizedlist>
<para>So when we build gcc stage 2, we instruct the building system to
rebuild libgcc and libstdc++ with cc1, but link libstdc++ to the newly
rebuilt libgcc instead of the degraded build. Then the rebuilt
libstdc++ will be fully functional.</para>
rebuild libgcc and libstdc++ with cc1, but we link libstdc++ to the newly
rebuilt libgcc instead of the old, degraded build. This makes the rebuilt
libstdc++ fully functional.</para>
<para>In &ch-final; (or <quote>stage 3</quote>), all the packages needed for
the LFS system are built. Even if a package has already been installed into
the LFS system in a previous chapter, we still rebuild the package. The main reason for
rebuilding these packages is to make them stable: if we reinstall a LFS
package on a complete LFS system, the installed content of the package
should be the same as the content of the same package when installed in
rebuilding these packages is to make them stable: if we reinstall an LFS
package on a completed LFS system, the reinstalled content of the package
should be the same as the content of the same package when first installed in
&ch-final;. The temporary packages installed in &ch-tmp-cross; or
&ch-tmp-chroot; cannot satisfy this requirement, because some of them
are built without optional dependencies, and autoconf cannot

View File

@ -7,11 +7,11 @@
<!ENTITY autoconf-fixes-patch-md5 "3c515415ecdd777990c91e8900279cb9">
<!ENTITY autoconf-fixes-patch-size "3.8 KB">
-->
<!--
<!ENTITY bash-fixes-patch "bash-&bash-version;-upstream_fixes-1.patch">
<!ENTITY bash-fixes-patch-md5 "5f20760139d6a97e55124988fcddae44">
<!ENTITY bash-fixes-patch-size "2.0 KB">
-->
<!--
<!ENTITY binutils-lto-patch "binutils-&binutils-version;-lto_fix-1.patch">
<!ENTITY binutils-lto-patch-md5 "3df11b6123d5bbdb0fc83862a003827a">
@ -88,12 +88,14 @@
<!ENTITY shadow-segfault-patch-size "1.7 KB">
-->
<!ENTITY sysvinit-consolidated-patch "sysvinit-&sysvinit-version;-consolidated-1.patch">
<!ENTITY sysvinit-consolidated-patch-md5 "4900322141d493e74020c9cf437b2cdc">
<!ENTITY sysvinit-consolidated-patch-md5 "372d367918134f2f41daf54f2acf280a">
<!ENTITY sysvinit-consolidated-patch-size "2.4 KB">
<!--
<!ENTITY systemd-upstream-patch "systemd-&systemd-version;-glibc_2.36_fix-1.patch">
<!ENTITY systemd-upstream-patch-md5 "fd8dc901e73ad00dc72a351a0d4ac48c">
<!ENTITY systemd-upstream-patch-size "3.0 KB">
-->
<!--
<!ENTITY xz-upstream-fix-patch "xz-&xz-version;-upstream_fix-1.patch">
<!ENTITY xz-upstream-fix-patch-md5 "584c72ea3d8f7502b2770670f3090788">

View File

@ -99,4 +99,26 @@
</l:l10n>
<!-- Simplified Chinese -->
<l:l10n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"
language="zh_cn" english-language-name="Simplified Chinese">
<l:gentext key="description" text="描述"/>
<l:gentext key="Bootscripts" text="引导脚本"/>
<l:gentext key="Configuration Files" text="配置文件"/>
<l:gentext key="Kernel Configuration" text="内核配置"/>
<l:gentext key="Libraries" text="库"/>
<l:gentext key="Others" text="其他"/>
<l:gentext key="Packages" text="软件包"/>
<l:gentext key="Programs" text="程序"/>
<l:gentext key="Scripts" text="脚本"/>
<l:context name="title-numbered">
<l:template name="part" text="第 %n 部分 %t"/>
</l:context>
<l:gentext key="Copyright" text="版权所有"/>
</l:l10n>
</l:i18n>