mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-30 00:59:21 +01:00
Automatic merge of trunk into multilib
This commit is contained in:
commit
aebd449557
@ -39,6 +39,44 @@
|
||||
<listitem revision="sysv"> or <listitem revision="systemd"> as
|
||||
appropriate for the entry or if needed the entire day's listitem.
|
||||
-->
|
||||
<listitem>
|
||||
<para>2023-11-13</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[xry111] - Update to elfutils-0.190. Fixes
|
||||
<ulink url='&lfs-ticket-root;5373'>#5373</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[xry111] - Update to vim-9.0.2103. Addresses
|
||||
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[xry111] - Update to linux-6.6.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5369'>#5369</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[xry111] - Update to xz-5.4.5. Fixes
|
||||
<ulink url='&lfs-ticket-root;5371'>#5371</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[xry111] - Update to iana-etc-20231107. Addresses
|
||||
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[xry111] - Update to gawk-5.3.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5372'>#5372</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[xry111] - Update to bash-5.2.21. Fixes
|
||||
<ulink url='&lfs-ticket-root;5375'>#5375</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[xry111] - Update to iproute2-6.6.0. Fixes
|
||||
<ulink url='&lfs-ticket-root;5374'>#5374</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2023-11-01</para>
|
||||
<itemizedlist>
|
||||
|
@ -38,9 +38,9 @@
|
||||
<!--<listitem>
|
||||
<para>Automake-&automake-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<listitem>
|
||||
<para>Bash-&bash-version;</para>
|
||||
</listitem>-->
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Bc-&bc-version;</para>
|
||||
</listitem>
|
||||
@ -89,9 +89,9 @@
|
||||
<!--<listitem>
|
||||
<para>Flit-core-&flit-core-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<listitem>
|
||||
<para>Gawk-&gawk-version;</para>
|
||||
</listitem>-->
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>GCC-&gcc-version;</para>
|
||||
</listitem>-->
|
||||
@ -131,9 +131,9 @@
|
||||
<!--<listitem>
|
||||
<para>Intltool-&intltool-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<listitem>
|
||||
<para>IPRoute2-&iproute2-version;</para>
|
||||
</listitem>-->
|
||||
</listitem>
|
||||
<!--<listitem revision="systemd">
|
||||
<para>Jinja2-&jinja2-version;</para>
|
||||
</listitem>-->
|
||||
@ -152,9 +152,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>-->
|
||||
@ -266,9 +266,9 @@
|
||||
<!--<listitem>
|
||||
<para>XML::Parser-&xml-parser-version;</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<listitem>
|
||||
<para>Xz-&xz-version;</para>
|
||||
</listitem>-->
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Zlib-&zlib-version;</para>
|
||||
</listitem>
|
||||
|
@ -54,8 +54,9 @@
|
||||
should be a link to bison or a small script that executes bison)</para>
|
||||
</listitem>
|
||||
|
||||
<!-- In Coreutils-8.1 the nproc program is added. -->
|
||||
<listitem>
|
||||
<para><emphasis role="strong">Coreutils-7.0</emphasis></para>
|
||||
<para><emphasis role="strong">Coreutils-8.1</emphasis></para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
@ -218,8 +219,8 @@ ver_kernel()
|
||||
fi
|
||||
}
|
||||
|
||||
# Coreutils first because-sort needs Coreutils >= 7.0
|
||||
ver_check Coreutils sort 7.0 || bail "--version-sort unsupported"
|
||||
# Coreutils first because --version-sort needs Coreutils >= 7.0
|
||||
ver_check Coreutils sort 8.1 || bail "Coreutils too old, stop"
|
||||
ver_check Bash bash 3.2
|
||||
ver_check Binutils ld 2.13.1
|
||||
ver_check Bison bison 2.7
|
||||
@ -259,7 +260,13 @@ echo "Compiler check:"
|
||||
if printf "int main(){}" | g++ -x c++ -
|
||||
then echo "OK: g++ works";
|
||||
else echo "ERROR: g++ does NOT work"; fi
|
||||
rm -f a.out</literal>
|
||||
rm -f a.out
|
||||
|
||||
if [ "$(nproc)" = "" ]; then
|
||||
echo "ERROR: nproc is not available or it produces empty output"
|
||||
else
|
||||
echo "OK: nproc reports $(nproc) logical cores are available"
|
||||
fi</literal>
|
||||
EOF
|
||||
|
||||
bash version-check.sh</userinput></screen>
|
||||
|
@ -37,18 +37,6 @@
|
||||
numbers can vary by as much as dozens of minutes in some cases.</para>
|
||||
|
||||
<note>
|
||||
<para>For many modern systems with multiple processors (or cores) the
|
||||
compilation time for a package can be reduced by performing a "parallel
|
||||
make" by either setting an environment variable or telling the
|
||||
<command>make</command> program how many processors are available. For
|
||||
instance, an Intel i5-6500 CPU can support four simultaneous processes with:</para>
|
||||
|
||||
<screen role="nodump"><userinput>export MAKEFLAGS='-j4'</userinput></screen>
|
||||
|
||||
<para>or by building with:</para>
|
||||
|
||||
<screen role="nodump"><userinput>make -j4</userinput></screen>
|
||||
|
||||
<para>When multiple processors are used in this way, the SBU units in the
|
||||
book will vary even more than they normally would. In some cases, the make
|
||||
step will simply fail. Analyzing the output of the build process will also
|
||||
|
@ -209,6 +209,55 @@ EOF</userinput></screen>
|
||||
completed LFS system.</para>
|
||||
</important>
|
||||
|
||||
<para>
|
||||
For many modern systems with multiple processors (or cores) the
|
||||
compilation time for a package can be reduced by performing a "parallel
|
||||
make" by telling the make program how many processors are available via
|
||||
a command line option or an environment variable. For instance, an Intel
|
||||
Core i9-13900K processor has 8 P (performance) cores and
|
||||
16 E (efficiency) cores, and a P core can simultaneously run two threads
|
||||
so each P core are modeled as two logical cores by the Linux kernel.
|
||||
As the result there are 32 logical cores in total. One obvious way to
|
||||
use all these logical cores is allowing <command>make</command> to spawn
|
||||
up to 32 build jobs. This can be done by passing the
|
||||
<parameter>-j32</parameter> option to <command>make</command>:
|
||||
</para>
|
||||
|
||||
<screen role='nodump'><userinput>make -j32</userinput></screen>
|
||||
|
||||
<para>
|
||||
Or set the <envar>MAKEFLAGS</envar> environment variable and its
|
||||
content will be automatically used by <command>make</command> as
|
||||
command line options:
|
||||
</para>
|
||||
|
||||
<screen role='nodump'><userinput>export MAKEFLAGS=-j32</userinput></screen>
|
||||
|
||||
<important>
|
||||
<para>
|
||||
Never pass a <parameter>-j</parameter> option without a number to
|
||||
<command>make</command> or set such an option in
|
||||
<envar>MAKEFLAGS</envar>. Doing so will allow <command>make</command>
|
||||
to spawn infinite build jobs and cause system stability issue.
|
||||
</para>
|
||||
</important>
|
||||
|
||||
<para>
|
||||
To use all logical cores available for building packages in
|
||||
<xref linkend='chapter-cross-tools'/> and
|
||||
<xref linkend='chapter-temporary-tools'/>, set <envar>MAKEFLAGS</envar>
|
||||
now in <filename>.bashrc</filename>:
|
||||
</para>
|
||||
|
||||
<screen><userinput>cat >> ~/.bashrc << "EOF"
|
||||
<literal>export MAKEFLAGS=-j<replaceable>$(nproc)</replaceable></literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>
|
||||
Replace <replaceable>$(nproc)</replaceable> with the number of logical
|
||||
cores you want to use if you don't want to use all the logical cores.
|
||||
</para>
|
||||
|
||||
<para>Finally, to ensure the environment is fully prepared for building the
|
||||
temporary tools, force the <command>bash</command> shell to read
|
||||
the new user profile:</para>
|
||||
|
@ -23,8 +23,20 @@
|
||||
TERM="$TERM" \
|
||||
PS1='(lfs chroot) \u:\w\$ ' \
|
||||
PATH=/usr/bin:/usr/sbin \
|
||||
MAKEFLAGS="-j<replaceable>$(nproc)</replaceable>" \
|
||||
TESTSUITEFLAGS="-j<replaceable>$(nproc)</replaceable>" \
|
||||
/bin/bash --login</userinput></screen>
|
||||
|
||||
<para>
|
||||
If you don't want to use all available logical cores, replace
|
||||
<replaceable>$(nproc)</replaceable> with the number of logical cores you
|
||||
want to use for building packages in this chapter and the following
|
||||
chapters. The test suites of some packages (notably Autoconf, Libtool,
|
||||
and Tar) in &ch-final; are not affected by <envar>MAKEFLAGS</envar>, they
|
||||
use a <envar>TESTSUITEFLAGS</envar> environment variable instead. We
|
||||
set set that here as well for running these test suites with multiple cores.
|
||||
</para>
|
||||
|
||||
<para>The <parameter>-i</parameter> option given to the <command>env</command>
|
||||
command will clear all the variables in the chroot environment. After that, only
|
||||
the <envar>HOME</envar>, <envar>TERM</envar>, <envar>PS1</envar>, and
|
||||
@ -47,7 +59,7 @@
|
||||
in the <envar>PATH</envar>. This means that the cross toolchain will no longer be
|
||||
used.</para>
|
||||
|
||||
<para>Note that the <command>bash</command> prompt will say
|
||||
<para>Also note that the <command>bash</command> prompt will say
|
||||
<computeroutput>I have no name!</computeroutput> This is normal because the
|
||||
<filename>/etc/passwd</filename> file has not been created yet.</para>
|
||||
|
||||
|
@ -53,11 +53,14 @@
|
||||
|
||||
<screen><userinput remap="make">make</userinput></screen>
|
||||
|
||||
<para> Using the -j4 make option speeds up the tests, even on systems with
|
||||
only one processor, due to internal delays in individual tests. To test
|
||||
<para>Using four parallel jobs speeds up the tests, even on systems with
|
||||
less logical cores, due to internal delays in individual tests. To test
|
||||
the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make -j4 check</userinput></screen>
|
||||
<screen><userinput remap="test">make <replaceable>-j$(($(nproc)>4?$(nproc):4))</replaceable> check</userinput></screen>
|
||||
|
||||
<para>Replace <replaceable>$((...))</replaceable> with the number of
|
||||
logical cores you want to use if you don't want to use all.</para>
|
||||
|
||||
<para>The test t/subobj.sh is known to fail.</para>
|
||||
|
||||
|
@ -63,7 +63,7 @@
|
||||
|
||||
<para>To test the results, issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make test</userinput></screen>
|
||||
<screen><userinput remap="test">HARNESS_JOBS=<replaceable>$(nproc)</replaceable> make test</userinput></screen>
|
||||
|
||||
<para>One test, 30-test_afalg.t, is known to fail if the host kernel
|
||||
does not have <option>CONFIG_CRYPTO_USER_API_SKCIPHER</option> enabled,
|
||||
|
@ -111,7 +111,7 @@ export BUILD_BZIP2=0</userinput></screen>
|
||||
|
||||
<para>To test the results (approximately 11 SBU), issue:</para>
|
||||
|
||||
<screen><userinput remap="test">make test</userinput></screen>
|
||||
<screen><userinput remap="test">TEST_JOBS=$(nproc) make test_harness</userinput></screen>
|
||||
|
||||
<para>Install the package and clean up:</para>
|
||||
|
||||
|
@ -139,11 +139,11 @@ install -vm644 src/libudev/*.pc /usr/lib/pkgconfig/
|
||||
install -vm644 src/udev/*.pc /usr/share/pkgconfig/
|
||||
install -vm644 ../src/udev/udev.conf /etc/udev/
|
||||
install -vm644 rules.d/* ../rules.d/README /usr/lib/udev/rules.d/
|
||||
install -vm644 $(echo ../rules.d/*.rules | \
|
||||
sed 's/70-power-switch.rules//') /usr/lib/udev/rules.d/
|
||||
install -vm644 $(find ../rules.d/*.rules \
|
||||
-not -name '*power-switch*') /usr/lib/udev/rules.d/
|
||||
install -vm644 hwdb.d/* ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/
|
||||
install -vm755 $(find src/udev -type f \
|
||||
-not -name '*.*') /usr/lib/udev</userinput></screen>
|
||||
install -vm755 $(find src/udev \
|
||||
-type f -not -name '*.*') /usr/lib/udev</userinput></screen>
|
||||
|
||||
<para>Install some custom rules and support files useful in an LFS
|
||||
environment:</para>
|
||||
|
52
packages.ent
52
packages.ent
@ -47,10 +47,10 @@
|
||||
<!ENTITY automake-fin-du "114 MB">
|
||||
<!ENTITY automake-fin-sbu "less than 0.1 SBU (about 7.0 SBU with tests)">
|
||||
|
||||
<!ENTITY bash-version "5.2.15">
|
||||
<!ENTITY bash-size "10,695 KB">
|
||||
<!ENTITY bash-version "5.2.21">
|
||||
<!ENTITY bash-size "10,696 KB">
|
||||
<!ENTITY bash-url "&gnu;bash/bash-&bash-version;.tar.gz">
|
||||
<!ENTITY bash-md5 "4281bb43497f3905a308430a8d6a30a5">
|
||||
<!ENTITY bash-md5 "ad5b38410e3bf0e9bcc20e2765f5e3f9">
|
||||
<!ENTITY bash-home "&gnu-software;bash/">
|
||||
<!ENTITY bash-tmp-du "67 MB">
|
||||
<!ENTITY bash-tmp-sbu "0.2 SBU">
|
||||
@ -148,10 +148,10 @@
|
||||
<!ENTITY e2fsprogs-fin-du "95 MB">
|
||||
<!ENTITY e2fsprogs-fin-sbu "2.4 SBU on a spinning disk, 0.6 SBU on an SSD">
|
||||
|
||||
<!ENTITY elfutils-version "0.189"> <!-- libelf -->
|
||||
<!ENTITY elfutils-size "8,936 KB">
|
||||
<!ENTITY elfutils-version "0.190"> <!-- libelf -->
|
||||
<!ENTITY elfutils-size "8,949 KB">
|
||||
<!ENTITY elfutils-url "https://sourceware.org/ftp/elfutils/&elfutils-version;/elfutils-&elfutils-version;.tar.bz2">
|
||||
<!ENTITY elfutils-md5 "5cfaa711a90cb670406cd495aeaa6030">
|
||||
<!ENTITY elfutils-md5 "79ad698e61a052bea79e77df6a08bc4b">
|
||||
<!ENTITY elfutils-home "https://sourceware.org/elfutils/">
|
||||
<!ENTITY elfutils-fin-du "122 MB">
|
||||
<!ENTITY elfutils-fin-sbu "0.3 SBU">
|
||||
@ -208,10 +208,10 @@
|
||||
<!ENTITY flit-core-fin-du "1.7 MB">
|
||||
<!ENTITY flit-core-fin-sbu "less than 0.1 SBU">
|
||||
|
||||
<!ENTITY gawk-version "5.2.2">
|
||||
<!ENTITY gawk-size "3,324 KB">
|
||||
<!ENTITY gawk-version "5.3.0">
|
||||
<!ENTITY gawk-size "3,356 KB">
|
||||
<!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz">
|
||||
<!ENTITY gawk-md5 "d63b4de2c722cbd9b8cc8e6f14d78a1e">
|
||||
<!ENTITY gawk-md5 "97c5a7d83f91a7e1b2035ebbe6ac7abd">
|
||||
<!ENTITY gawk-home "&gnu-software;gawk/">
|
||||
<!ENTITY gawk-tmp-du "48 MB">
|
||||
<!ENTITY gawk-tmp-sbu "0.1 SBU">
|
||||
@ -317,10 +317,10 @@
|
||||
<!ENTITY gzip-fin-du "21 MB">
|
||||
<!ENTITY gzip-fin-sbu "0.3 SBU">
|
||||
|
||||
<!ENTITY iana-etc-version "20231026">
|
||||
<!ENTITY iana-etc-size "588 KB">
|
||||
<!ENTITY iana-etc-version "20231107">
|
||||
<!ENTITY iana-etc-size "589 KB">
|
||||
<!ENTITY iana-etc-url "https://github.com/Mic92/iana-etc/releases/download/&iana-etc-version;/iana-etc-&iana-etc-version;.tar.gz">
|
||||
<!ENTITY iana-etc-md5 "87e127b8f5ce7f2daa7b4afa1c147465">
|
||||
<!ENTITY iana-etc-md5 "01331998d26d5beb592c12b06b2eeb24">
|
||||
<!ENTITY iana-etc-home "https://www.iana.org/protocols">
|
||||
<!ENTITY iana-etc-fin-du "4.8 MB">
|
||||
<!ENTITY iana-etc-fin-sbu "less than 0.1 SBU">
|
||||
@ -341,10 +341,10 @@
|
||||
<!ENTITY intltool-fin-du "1.5 MB">
|
||||
<!ENTITY intltool-fin-sbu "less than 0.1 SBU">
|
||||
|
||||
<!ENTITY iproute2-version "6.5.0">
|
||||
<!ENTITY iproute2-size "908 KB">
|
||||
<!ENTITY iproute2-version "6.6.0">
|
||||
<!ENTITY iproute2-size "897 KB">
|
||||
<!ENTITY iproute2-url "&kernel;linux/utils/net/iproute2/iproute2-&iproute2-version;.tar.xz">
|
||||
<!ENTITY iproute2-md5 "ae811fc51b3a2c9c7701be308152c45a">
|
||||
<!ENTITY iproute2-md5 "6716fc3188dbea226997fa2478a190d7">
|
||||
<!ENTITY iproute2-home "&kernel;linux/utils/net/iproute2/">
|
||||
<!ENTITY iproute2-fin-du "17 MB">
|
||||
<!ENTITY iproute2-fin-sbu "0.1 SBU">
|
||||
@ -439,13 +439,13 @@
|
||||
<!ENTITY libxcrypt-fin-sbu "0.1 SBU">
|
||||
|
||||
<!ENTITY linux-major-version "6">
|
||||
<!ENTITY linux-minor-version "5">
|
||||
<!ENTITY linux-patch-version "9">
|
||||
<!ENTITY linux-minor-version "6">
|
||||
<!ENTITY linux-patch-version "1">
|
||||
<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
|
||||
<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
|
||||
<!ENTITY linux-size "135,718 KB">
|
||||
<!ENTITY linux-size "136,730 KB">
|
||||
<!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
|
||||
<!ENTITY linux-md5 "9e187b3c0cd0e29d151a1bd72c66f78f">
|
||||
<!ENTITY linux-md5 "90291279ca684fb8cfa59b2ae75b6fe0">
|
||||
<!ENTITY linux-home "https://www.kernel.org/">
|
||||
<!-- measured for 6.5.3 / gcc-13.2.0 on x86_64 with -j4 : minimum is
|
||||
allnoconfig + some configs we recommend for the users, rounded down to
|
||||
@ -744,13 +744,13 @@
|
||||
<!ENTITY util-linux-fin-du "310 MB">
|
||||
<!ENTITY util-linux-fin-sbu "0.5 SBU">
|
||||
|
||||
<!ENTITY vim-version "9.0.1968">
|
||||
<!ENTITY vim-version "9.0.2103">
|
||||
<!-- <!ENTITY vim-majmin "90"> -->
|
||||
<!ENTITY vim-docdir "vim/vim90">
|
||||
<!ENTITY vim-size "16,909 KB">
|
||||
<!ENTITY vim-size "11,193 KB">
|
||||
<!--<!ENTITY vim-url "https://github.com/vim/vim/archive/v&vim-version;/vim-&vim-version;.tar.gz">-->
|
||||
<!ENTITY vim-url "&anduin-sources;/vim-&vim-version;.tar.gz">
|
||||
<!ENTITY vim-md5 "66147348ba84ea9c78b9d6595015f5a6">
|
||||
<!ENTITY vim-url "&anduin-sources;/vim-&vim-version;.tar.xz">
|
||||
<!ENTITY vim-md5 "1af1d018026234d085a82348703461ce">
|
||||
<!ENTITY vim-home "https://www.vim.org">
|
||||
<!ENTITY vim-fin-du "229 MB">
|
||||
<!ENTITY vim-fin-sbu "2.3 SBU">
|
||||
@ -771,10 +771,10 @@
|
||||
<!ENTITY xml-parser-fin-du "2.3 MB">
|
||||
<!ENTITY xml-parser-fin-sbu "less than 0.1 SBU">
|
||||
|
||||
<!ENTITY xz-version "5.4.4">
|
||||
<!ENTITY xz-size "1,623 KB">
|
||||
<!ENTITY xz-version "5.4.5">
|
||||
<!ENTITY xz-size "1,642 KB">
|
||||
<!ENTITY xz-url "https://tukaani.org/xz/xz-&xz-version;.tar.xz">
|
||||
<!ENTITY xz-md5 "d83d6f64a64f88759e312b8a38c3add6">
|
||||
<!ENTITY xz-md5 "1d33e0be05c53e7a5641acf5c8b35fdd">
|
||||
<!ENTITY xz-home "https://tukaani.org/xz">
|
||||
<!ENTITY xz-tmp-du "22 MB">
|
||||
<!ENTITY xz-tmp-sbu "0.1 SBU">
|
||||
|
Loading…
Reference in New Issue
Block a user