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

This commit is contained in:
Xi Ruoyao 2025-06-05 12:38:54 +08:00
commit ff1799e0e4
No known key found for this signature in database
GPG Key ID: ACAAD20E19E710E3
51 changed files with 1099 additions and 1162 deletions

View File

@ -399,49 +399,6 @@
</seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>
<!-- Begin Check dependency info -->
<bridgehead renderas="sect2" id="check-dep">Check</bridgehead>
<segmentedlist id="check-depends">
<segtitle>&dependencies;</segtitle>
<seglistitem>
<seg>Gawk, GCC, Grep, Make, Sed, and Texinfo</seg>
</seglistitem>
</segmentedlist>
<segmentedlist id="check-rundeps">
<segtitle>&runtime;</segtitle>
<seglistitem>
<seg>Bash and Gawk</seg>
</seglistitem>
</segmentedlist>
<segmentedlist id="check-testdeps">
<segtitle>&testsuites;</segtitle>
<seglistitem>
<seg>None</seg>
</seglistitem>
</segmentedlist>
<segmentedlist id="check-before">
<segtitle>&before;</segtitle>
<seglistitem>
<seg>None</seg>
</seglistitem>
</segmentedlist>
<segmentedlist id="check-optdeps">
<segtitle>&external;</segtitle>
<seglistitem>
<seg>
<ulink url='&github;/testing-cabal/subunit'>libsubunit</ulink>
and
<ulink url='http://cyberelk.net/tim/software/patchutils/'>
patchutils</ulink>
</seg>
</seglistitem>
</segmentedlist>
<!-- Begin Coreutils dependency info --> <!-- Begin Coreutils dependency info -->
<bridgehead renderas="sect2" id="coreutils-dep">Coreutils</bridgehead> <bridgehead renderas="sect2" id="coreutils-dep">Coreutils</bridgehead>
@ -871,7 +828,7 @@
<segmentedlist id="flit-core-before"> <segmentedlist id="flit-core-before">
<segtitle>&before;</segtitle> <segtitle>&before;</segtitle>
<seglistitem> <seglistitem>
<seg>Wheel</seg> <seg>Packaging and Wheel</seg>
</seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>
@ -1239,7 +1196,7 @@
<segmentedlist id="groff-testdeps"> <segmentedlist id="groff-testdeps">
<segtitle>&testsuites;</segtitle> <segtitle>&testsuites;</segtitle>
<seglistitem> <seglistitem>
<seg>No test suite available</seg> <seg>None</seg>
</seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>
@ -1641,7 +1598,7 @@
<segmentedlist id="less-testdeps"> <segmentedlist id="less-testdeps">
<segtitle>&testsuites;</segtitle> <segtitle>&testsuites;</segtitle>
<seglistitem> <seglistitem>
<seg>No test suite available</seg> <seg>None</seg>
</seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>
@ -2459,6 +2416,46 @@
</seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>
<!-- Begin Packaging dependency info -->
<bridgehead renderas="sect2" id="Packaging-dep">Packaging</bridgehead>
<segmentedlist id="packaging-depends">
<segtitle>&dependencies;</segtitle>
<seglistitem>
<seg>Flit-core and Python</seg>
</seglistitem>
</segmentedlist>
<segmentedlist id="packaging-rundeps">
<segtitle>&runtime;</segtitle>
<seglistitem>
<seg>Python</seg>
</seglistitem>
</segmentedlist>
<segmentedlist id="packaging-testdeps">
<segtitle>&testsuites;</segtitle>
<seglistitem>
<seg>No test suite available</seg>
</seglistitem>
</segmentedlist>
<segmentedlist id="packaging-before">
<segtitle>&before;</segtitle>
<seglistitem>
<seg>Wheel</seg>
</seglistitem>
</segmentedlist>
<segmentedlist id="packaging-optdeps">
<segtitle>&external;</segtitle>
<seglistitem>
<seg>
<ulink url='&blfs-book;general/python-modules.html#pytest'>pytest</ulink>
</seg>
</seglistitem>
</segmentedlist>
<!-- Begin Patch dependency info --> <!-- Begin Patch dependency info -->
<bridgehead renderas="sect2" id="patch-dep">Patch</bridgehead> <bridgehead renderas="sect2" id="patch-dep">Patch</bridgehead>
@ -2650,7 +2647,7 @@
<segmentedlist id="psmisc-testdeps"> <segmentedlist id="psmisc-testdeps">
<segtitle>&testsuites;</segtitle> <segtitle>&testsuites;</segtitle>
<seglistitem> <seglistitem>
<seg>No test suite available</seg> <seg>Expect</seg>
</seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>
@ -3312,7 +3309,7 @@
<segmentedlist id="wheel-depends"> <segmentedlist id="wheel-depends">
<segtitle>&dependencies;</segtitle> <segtitle>&dependencies;</segtitle>
<seglistitem> <seglistitem>
<seg>Python and Flit-core</seg> <seg>Python, Flit-core, and packaging</seg>
</seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>

View File

@ -39,603 +39,345 @@
<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> <listitem>
<para>2025-03-02</para> <para>2025-06-04</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>[bdubbs] - Update to vim-9.1.1166 (Security Update). Fixes <para>[bdubbs] - Update to ncurses-6.5-20250531. Fixes
<ulink url='&lfs-ticket-root;5666'>#5666</ulink>.</para> <ulink url='&lfs-ticket-root;5737'>#5737</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to readline-8.3-rc2. Fixes
<ulink url='&lfs-ticket-root;5738'>#5738</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to bash-5.3-rc2. Fixes
<ulink url='&lfs-ticket-root;5738'>#5738</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to Python-3.13.4. Fixes
<ulink url='&lfs-ticket-root;5739'>#6739</ulink>.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</listitem> </listitem>
<listitem> <listitem>
<para>2025-02-27</para> <para>2025-06-01</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>[bdubbs] - Update to zstd-1.5.7. Fixes <para>[bdubbs] - Update to iana-etc-20250519. Addresses
<ulink url='&lfs-ticket-root;5652'>#5652</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to systemd-257.3. Fixes
<ulink url='&lfs-ticket-root;5612'>#5612</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to shadow-4.17.3. Fixes
<ulink url='&lfs-ticket-root;5660'>#5660</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to setuptools-75.8.1. Fixes
<ulink url='&lfs-ticket-root;5662'>#5662</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.13.4. Fixes
<ulink url='&lfs-ticket-root;5647'>#5647</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to kmod-34. Fixes
<ulink url='&lfs-ticket-root;5657'>#5657</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to inetutils-2.6. Fixes
<ulink url='&lfs-ticket-root;5656'>#5656</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gettext-0.24. Fixes
<ulink url='&lfs-ticket-root;5661'>#5661</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to flit_core-3.11.0. Fixes
<ulink url='&lfs-ticket-root;5654'>#5654</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2025-02-24</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to man-pages-6.12. Fixes
<ulink url='&lfs-ticket-root;5658'>#5658</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2025-02-19</para>
<itemizedlist>
<listitem>
<para>[xry111] - Update to vim-9.1.1122 (Security Update).
Addresses <ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
</listitem>
<listitem>
<para>[xry111] - Update to man-pages-6.11. Fixes
<ulink url='&lfs-ticket-root;5646'>#5646</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2025-02-13</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to vim-9.1.1106. Addresses
<ulink url="&lfs-ticket-root;4500">#4500</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to diffutils-3.11. Fixes
<ulink url='&lfs-ticket-root;5639'>#5639</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to libffi-3.4.7. Fixes
<ulink url='&lfs-ticket-root;5642'>#5642</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.13.2. Fixes
<ulink url='&lfs-ticket-root;5643'>#5643</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to Python3-3.13.2. Fixes
<ulink url='&lfs-ticket-root;5640'>#5640</ulink>.</para>
</listitem>
<listitem revision="sysv">
<para>[bdubbs] - Update to sysvinit-3.14. Fixes
<ulink url='&lfs-ticket-root;5641'>#5641</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2025-02-02</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to vim-9.1.1071. Addresses
<ulink url="&lfs-ticket-root;4500">#4500</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iana-etc-20250123. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para> <ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to binutils-2.44.0. Fixes <para>[bdubbs] - Update to vim-9.1.1418. Addresses
<ulink url='&lfs-ticket-root;5634'>#5634</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to coreutils-9.6. Fixes
<ulink url='&lfs-ticket-root;5628'>#5628</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to e2fsprogs-1.47.2. Fixes
<ulink url='&lfs-ticket-root;5637'>#5637</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to glibc-2.41. Fixes
<ulink url='&lfs-ticket-root;5638'>#5638</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iproute2-6.13.0. Fixes
<ulink url='&lfs-ticket-root;5631'>#5631</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to libxcrypt-4.4.38. Fixes
<ulink url='&lfs-ticket-root;5626'>#5626</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.13.1. Fixes
<ulink url='&lfs-ticket-root;5629'>#5629</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to man-pages-6.10. Fixes
<ulink url='&lfs-ticket-root;5632'>#5632</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to meson-1.7.0. Fixes
<ulink url='&lfs-ticket-root;5636'>#5636</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to perl-5.40.1. Fixes
<ulink url='&lfs-ticket-root;5630'>#5630</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to tcl8.6.16. Fixes
<ulink url='&lfs-ticket-root;5635'>#5635</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to tzdata2025a. Fixes
<ulink url='&lfs-ticket-root;5627'>#5627</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to xz-5.6.4. Fixes
<ulink url='&lfs-ticket-root;5633'>#5633</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2025-01-15</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to vim-9.1.1016. Addresses
<ulink url="&lfs-ticket-root;4500">#4500</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iana-etc-20250108. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to util-linux-2.40.4. Fixes
<ulink url='&lfs-ticket-root;5624'>#5624</ulink>.</para>
</listitem>
<listitem revision="sysv">
<para>[bdubbs] - Update to sysvinit-3.13. Fixes
<ulink url='&lfs-ticket-root;5621'>#5621</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to sysklogd-2.7.0. Fixes
<ulink url='&lfs-ticket-root;5623'>#5623</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to shadow-4.17.2. Fixes
<ulink url='&lfs-ticket-root;5625'>#5625</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to setuptools-75.8.0. Fixes
<ulink url='&lfs-ticket-root;5622'>#5622</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.12.9. Fixes
<ulink url='&lfs-ticket-root;5620'>#5620</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gettext-0.23.1. Fixes
<ulink url='&lfs-ticket-root;5619'>#5619</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2025-01-01</para>
<itemizedlist>
<listitem>
<para>[renodr] - Update to libxcrypt-4.4.37. Fixes
<ulink url="&lfs-ticket-root;5618">#5618</ulink>.</para>
</listitem>
<listitem revision="systemd">
<para>[renodr] - Update to dbus-1.16.0. Fixes
<ulink url="&lfs-ticket-root;5609">#5609</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iana-etc-20241220. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to texinfo-7.2. Fixes
<ulink url='&lfs-ticket-root;5616'>#5616</ulink>.</para>
</listitem>
<listitem revision="sysv">
<para>[bdubbs] - Update to sysvinit-3.12. Fixes
<ulink url='&lfs-ticket-root;5615'>#5615</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to shadow-4.17.1. Fixes
<ulink url='&lfs-ticket-root;5617'>#5617</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to procps-ng-4.0.5. Fixes
<ulink url='&lfs-ticket-root;5611'>#5611</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to meson-1.6.1. Fixes
<ulink url='&lfs-ticket-root;5510'>#5610</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.12.7. Fixes
<ulink url='&lfs-ticket-root;5613'>#5613</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to kbd-2.7.1. Fixes
<ulink url='&lfs-ticket-root;5608'>#5608</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to jinja2-3.1.5 (Security Update). Fixes
<ulink url='&lfs-ticket-root;5614'>#5614</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2024-12-15</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to vim-9.1.0927. Addresses
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para> <ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to iana-etc-20241206. Addresses <para>[bdubbs] - Update to kbd-2.8.0. Fixes
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para> <ulink url='&lfs-ticket-root;5736'>#5736</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to systemd-257. Fixes <para>[bdubbs] - Update to systemd-257.6. Fixes
<ulink url='&lfs-ticket-root;5559'>#5559</ulink>.</para> <ulink url='&lfs-ticket-root;5674'>#5674</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to Python-3.13.1 (Security Update). Fixes <para>[bdubbs] - Update to setuptools-80.9.0. Fixes
<ulink url='&lfs-ticket-root;5605'>#5605</ulink>.</para> <ulink url='&lfs-ticket-root;5728'>#5728</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to libcap-2.73. Fixes <para>[bdubbs] - Update to meson-1.8.1. Fixes
<ulink url='&lfs-ticket-root;5504'>#5604</ulink>.</para> <ulink url='&lfs-ticket-root;5731'>#5731</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to linux-6.12.5. Fixes <para>[bdubbs] - Update to automake-1.18. Fixes
<ulink url='&lfs-ticket-root;5607'>#5607</ulink>.</para> <ulink url='&lfs-ticket-root;5734'>#5734</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to kbd-2.7. Fixes <para>[bdubbs] - Update build instructions to accomodate
<ulink url='&lfs-ticket-root;5608'>#5608</ulink>.</para> gcc-15 for bc, expect, ncurses, and gmp.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to gettext-0.23. Fixes <para>[bdubbs] - Update to gcc-15.1.0. Fixes
<ulink url='&lfs-ticket-root;5603'>#5603</ulink>.</para> <ulink url='&lfs-ticket-root;5707'>#5707</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to less-678. Fixes
<ulink url='&lfs-ticket-root;5724'>#5724</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to readline-8.3-rc1. Fixes
<ulink url='&lfs-ticket-root;5726'>#5726</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to bash-5.3-rc1. Fixes
<ulink url='&lfs-ticket-root;5714'>#5714</ulink>.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</listitem> </listitem>
<listitem> <listitem>
<para>2024-12-01</para> <para>2025-05-15</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>[bdubbs] - Update to iana-etc-20241122. Addresses <para>[bdubbs] - Update to setuptools-80.7.1. Fixes
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para> <ulink url='&lfs-ticket-root;5715'>#5715</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to file-5.46. Fixes <para>[bdubbs] - Update to man-pages-6.14. Fixes
<ulink url='&lfs-ticket-root;5601'>#5601</ulink>.</para> <ulink url='&lfs-ticket-root;5720'>#5720</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to iproute2-6.12.0. Fixes <para>[bdubbs] - Update to man-db-2.13.1. Fixes
<ulink url='&lfs-ticket-root;5597'>#5597</ulink>.</para> <ulink url='&lfs-ticket-root;5719'>#5719</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to libtool-2.5.4. Fixes <para>[bdubbs] - Update to m4-1.4.20. Fixes
<ulink url='&lfs-ticket-root;5598'>#5598</ulink>.</para> <ulink url='&lfs-ticket-root;5722'>#5722</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to linux-6.12.1. Fixes <para>[bdubbs] - Update to linux-6.14.6. Fixes
<ulink url='&lfs-ticket-root;5596'>#5586</ulink>.</para> <ulink url='&lfs-ticket-root;5717'>#5717</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to setuptools-75.6.0 (Python Module). Fixes <para>[bdubbs] - Update to gettext-0.25. Fixes
<ulink url='&lfs-ticket-root;5599'>#5599</ulink>.</para> <ulink url='&lfs-ticket-root;5718'>#5718</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to wheel-0.45.1 (Python Module). Fixes
<ulink url='&lfs-ticket-root;5600'>#5600</ulink>.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</listitem> </listitem>
<listitem> <listitem>
<para>2024-11-15</para> <para>2025-05-01</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>[bdubbs] - Update to vim-9.1.0866. Addresses <para>[bdubbs] - Update to vim-9.1.1353. Addresses
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para> <ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to iana-etc-20241024. Addresses <para>[bdubbs] - Update to setuptools-80.0.1. Fixes
<ulink url='&lfs-ticket-root;5710'>#5710</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to packaging-25.0. Fixes
<ulink url='&lfs-ticket-root;5706'>#5706</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to meson-1.8.0. Fixes
<ulink url='&lfs-ticket-root;5713'>#5713</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.14.4. Fixes
<ulink url='&lfs-ticket-root;5709'>#5709</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iana-etc-20250407. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para> <ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to wheel-0.45.0 (Python Module). Fixes <para>[bdubbs] - Update to gperf-3.3. Fixes
<ulink url='&lfs-ticket-root;5593'>#5593</ulink>.</para> <ulink url='&lfs-ticket-root;5708'>#5708</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to setuptools-75.5.0 (Python Module). Fixes <para>[bdubbs] - Update to elfutils-0.193. Fixes
<ulink url='&lfs-ticket-root;5595'>#5595</ulink>.</para> <ulink url='&lfs-ticket-root;5711'>#5711</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.11.8. Fixes
<ulink url='&lfs-ticket-root;5592'>#5582</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to libcap-2.72. Fixes
<ulink url='&lfs-ticket-root;5594'>#5594</ulink>.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</listitem> </listitem>
<listitem> <listitem>
<para>2024-11-08</para> <para>2025-04-15</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>[bdubbs] - Added binutils-2.43.1-upstream_fix-1.patch. Fixes <para>[bdubbs] - Update to libcap-2.76. Fixes
<ulink url='&lfs-ticket-root;5591'>#5591</ulink>.</para> <ulink url='&lfs-ticket-root;5704'>#5704</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to flit_core-3.10.1. Fixes <para>[bdubbs] - Update to perl-5.40.2 (Security update). Fixes
<ulink url='&lfs-ticket-root;5589'>#5589</ulink>.</para> <ulink url='&lfs-ticket-root;5703'>#5703</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to expat-2.6.4. Fixes <para>[bdubbs] - Add packaging-24.2 (Python module). Needed for wheel.
<ulink url='&lfs-ticket-root;5590'>#5590</ulink>.</para> </para>
</listitem>
<listitem>
<para>[bdubbs] - Update to xz-5.8.1. Fixes
<ulink url='&lfs-ticket-root;5694'>#5694</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to wheel-0.46.1 (Python Module). Fixes
<ulink url='&lfs-ticket-root;5693'>#5693</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to sysklogd-2.7.2. Fixes
<ulink url='&lfs-ticket-root;5690'>#5690</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to Python3-3.13.3. Fixes
<ulink url='&lfs-ticket-root;5697'>#5697</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to openssl-3.5.0. Fixes
<ulink url='&lfs-ticket-root;5701'>#5701</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to meson-1.7.2. Fixes
<ulink url='&lfs-ticket-root;5691'>#5691</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.14.2. Fixes
<ulink url='&lfs-ticket-root;5680'>#5680</ulink>.</para>
</listitem>
<listitem revision='sysv'>
<para>[bdubbs] - Update to libffi-3.4.8. Fixes
<ulink url='&lfs-ticket-root;5700'>#5700</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iproute2-6.14.0. Fixes
<ulink url='&lfs-ticket-root;5682'>#5682</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gzip-1.14. Fixes
<ulink url='&lfs-ticket-root;5699'>#5699</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to grep-3.12. Fixes
<ulink url='&lfs-ticket-root;5702'>#5702</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gperf-3.2.1. Fixes
<ulink url='&lfs-ticket-root;5695'>#5695</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gawk-5.3.2. Fixes
<ulink url='&lfs-ticket-root;5692'>#5692</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to diffutils-3.12. Fixes
<ulink url='&lfs-ticket-root;5696'>#5696</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to coreutils-9.7. Fixes
<ulink url='&lfs-ticket-root;5698'>#5698</ulink>.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</listitem> </listitem>
<listitem> <listitem>
<para>2024-10-25</para> <para>2025-04-01</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>[bdubbs] - Update to linux-6.11.6. Fixes <para>[bdubbs] - Update to vim-9.1.1263. Addresses
<ulink url='&lfs-ticket-root;5588'>#5588</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to libcap-2.71. Fixes
<ulink url='&lfs-ticket-root;5584'>#5584</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to setuptools-75.3.0. Fixes
<ulink url='&lfs-ticket-root;5585'>#5585</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to flit_core-3.10.0. Fixes
<ulink url='&lfs-ticket-root;5587'>#5587</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2024-10-25</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to iana-etc-20241015. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to vim-9.1.0813. Addresses
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para> <ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to xz-5.6.3. Fixes <para>[bdubbs] - Update to iana-etc-20250328. Addresses
<ulink url='&lfs-ticket-root;5572'>#5572</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to sysvinit-3.11. Fixes
<ulink url='&lfs-ticket-root;5581'>#5581</ulink>.</para>
</listitem>
<listitem revision="sysv">
<para>[bdubbs] - Update to setuptools-75.2.0. Fixes
<ulink url='&lfs-ticket-root;5577'>#5577</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to Python3-3.13.0. Fixes
<ulink url='&lfs-ticket-root;5575'>#5575</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to openssl-3.4.0. Fixes
<ulink url='&lfs-ticket-root;5582'>#5582</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to meson-1.6.0. Fixes
<ulink url='&lfs-ticket-root;5580'>#5580</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to markupsafe-3.0.2. Fixes
<ulink url='&lfs-ticket-root;5576'>#5576</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.11.5. Fixes
<ulink url='&lfs-ticket-root;5574'>#5574</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to less-668. Fixes
<ulink url='&lfs-ticket-root;5578'>#5578</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to elfutils-0.192. Fixes
<ulink url='&lfs-ticket-root;5579'>#5579</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2024-10-03</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Revert back to tcl8.6.15.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2024-10-01</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to Python3-3.12.7. Fixes
<ulink url='&lfs-ticket-root;5571'>#5571</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to tcl9.0.0. Fixes
<ulink url='&lfs-ticket-root;5570'>#5570</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.11.1. Fixes
<ulink url='&lfs-ticket-root;5556'>#5556</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to libtool-2.5.3. Fixes
<ulink url='&lfs-ticket-root;5569'>#5569</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iproute2-6.11.0. Fixes
<ulink url='&lfs-ticket-root;5561'>#5561</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to bash-5.2.37. Fixes
<ulink url='&lfs-ticket-root;5567'>#5567</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to bc-7.0.3. Fixes
<ulink url='&lfs-ticket-root;5568'>#5568</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2024-09-20</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to vim-9.1.0738. Addresses
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to texinfo-7.1.1. Fixes
<ulink url='&lfs-ticket-root;5558'>#5558</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to tcl8.6.15. Fixes
<ulink url='&lfs-ticket-root;5562'>#5562</ulink>.</para>
</listitem>
<listitem revision="sysv">
<para>[bdubbs] - Update to sysklogd-2.6.2. Fixes
<ulink url='&lfs-ticket-root;5557'>#5557</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to setuptools-75.1.0. Fixes
<ulink url='&lfs-ticket-root;5560'>#5560</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to meson-1.5.2. Fixes
<ulink url='&lfs-ticket-root;5566'>#5566</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iana-etc-20240912. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para> <ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to gawk-5.3.1. Fixes <para>[bdubbs] - Update to xz-5.8.0. Fixes
<ulink url='&lfs-ticket-root;5564'>#5564</ulink>.</para> <ulink url='&lfs-ticket-root;5684'>#5684</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to bc-7.0.2. Fixes <para>[bdubbs] - Update to util-linux-2.41. Fixes
<ulink url='&lfs-ticket-root;5563'>#5563</ulink>.</para> <ulink url='&lfs-ticket-root;5648'>#5648</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to tzdata-2025b. Fixes
<ulink url='&lfs-ticket-root;5681'>#5681</ulink>.</para>
</listitem>
<listitem revision='sysv'>
<para>[bdubbs] - Update to shadow-4.17.4. Fixes
<ulink url='&lfs-ticket-root;5678'>#5678</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to setuptools-78.1.0. Fixes
<ulink url='&lfs-ticket-root;5676'>#5676</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to patch-2.8. Fixes
<ulink url='&lfs-ticket-root;5689'>#5689</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to mpfr-4.2.2. Fixes
<ulink url='&lfs-ticket-root;5677'>#5677</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to kmod-34.2. Fixes
<ulink url='&lfs-ticket-root;5688'>#5688</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gdbm-1.25. Fixes
<ulink url='&lfs-ticket-root;5679'>#5679</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to flit_core-3.12.0. Fixes
<ulink url='&lfs-ticket-root;5683'>#5683</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to expat-2.7.1. Fixes
<ulink url='&lfs-ticket-root;5685'>#5685</ulink>.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</listitem> </listitem>
<listitem> <listitem>
<para>2024-09-07</para> <para>2025-03-15</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>[bdubbs] - Update to tzdata-2024b. Fixes <para>[bdubbs] - Update to vim-9.1.1202. Addresses
<ulink url='&lfs-ticket-root;5554'>#5554</ulink>.</para> <ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to systemd-256.5. Fixes <para>[bdubbs] - Update to iana-etc-20250304. Addresses
<ulink url='&lfs-ticket-root;5551'>#5551</ulink>.</para> <ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem>
<listitem revision='sysv'>
<para>[bdubbs] - Update to sysklogd-2.7.1. Fixes
<ulink url='&lfs-ticket-root;5668'>#5668</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to setuptools-74.1.2. Fixes <para>[bdubbs] - Update to setuptools-76.0.0. Fixes
<ulink url='&lfs-ticket-root;5546'>#5546</ulink>.</para> <ulink url='&lfs-ticket-root;5665'>#5665</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to python3-3.12.6. Fixes <para>[bdubbs] - Update to pkgconf-2.4.3. Fixes
<ulink url='&lfs-ticket-root;5555'>#5555</ulink>.</para> <ulink url='&lfs-ticket-root;5672'>#5672</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to openssl-3.3.2. Fixes <para>[bdubbs] - Update to man-pages-6.13. Fixes
<ulink url='&lfs-ticket-root;5552'>#5552</ulink>.</para> <ulink url='&lfs-ticket-root;5673'>#5673</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to man-db-2.13.0. Fixes <para>[bdubbs] - Update to linux-6.13.7. Fixes
<ulink url='&lfs-ticket-root;5550'>#5550</ulink>.</para> <ulink url='&lfs-ticket-root;5664'>#5664</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to linux-6.10.8. Fixes <para>[bdubbs] - Update to libcap-2.75. Fixes
<ulink url='&lfs-ticket-root;5545'>#5545</ulink>.</para> <ulink url='&lfs-ticket-root;5667'>#5667</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to libpipeline-1.5.8. Fixes <para>[bdubbs] - Update to kmod-34.1. Fixes
<ulink url='&lfs-ticket-root;5548'>#5548</ulink>.</para> <ulink url='&lfs-ticket-root;5671'>#5671</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to expat-2.6.3. Fixes <para>[bdubbs] - Update to jinja2-3.1.6. Fixes
<ulink url='&lfs-ticket-root;5553'>#5553</ulink>.</para> <ulink url='&lfs-ticket-root;5670'>#5670</ulink>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>[bdubbs] - Update to bc-7.0.1. Fixes <para>[bdubbs] - Update to expat-2.7.0. Fixes
<ulink url='&lfs-ticket-root;5547'>#5547</ulink>.</para> <ulink url='&lfs-ticket-root;5675'>#5675</ulink>.</para>
</listitem>
<listitem revision='systemd'>
<para>[bdubbs] - Update to dbus-1.16.2. Fixes
<ulink url='&lfs-ticket-root;5663'>#5663</ulink>.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</listitem> </listitem>
<listitem> <listitem>
<para>2024-09-01</para> <para>2025-03-05</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>[bdubbs] - LFS-12.2 released.</para> <para>[bdubbs] - LFS-12.3 released.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</listitem> </listitem>

View File

@ -35,27 +35,24 @@
<!--<listitem> <!--<listitem>
<para>Autoconf-&autoconf-version;</para> <para>Autoconf-&autoconf-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> <listitem>
<para>Automake-&automake-version;</para> <para>Automake-&automake-version;</para>
</listitem>--> </listitem>
<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>-->
<!--<listitem>
<para>Check-&check-version;</para>
</listitem>-->
<listitem> <listitem>
<para>Coreutils-&coreutils-version;</para> <para>Coreutils-&coreutils-version;</para>
</listitem> </listitem>
@ -68,18 +65,18 @@
<listitem> <listitem>
<para>Diffutils-&diffutils-version;</para> <para>Diffutils-&diffutils-version;</para>
</listitem> </listitem>
<listitem> <!--<listitem>
<para>E2fsprogs-&e2fsprogs-version;</para> <para>E2fsprogs-&e2fsprogs-version;</para>
</listitem> </listitem>-->
<listitem> <listitem>
<para>Expat-&expat-version;</para> <para>Expat-&expat-version;</para>
</listitem> </listitem>
<!--<listitem> <!--<listitem>
<para>Expect-&expect-version;</para> <para>Expect-&expect-version;</para>
</listitem>--> </listitem>-->
<listitem> <!--<listitem>
<para>File-&file-version;</para> <para>File-&file-version;</para>
</listitem> </listitem>-->
<!--<listitem> <!--<listitem>
<para>Findutils-&findutils-version;</para> <para>Findutils-&findutils-version;</para>
</listitem>--> </listitem>-->
@ -87,47 +84,47 @@
<para>Flex-&flex-version;</para> <para>Flex-&flex-version;</para>
</listitem>--> </listitem>-->
<listitem> <listitem>
<para>Flit-core-&flit-core-version;</para> <para>Flit-Core-&flit-core-version;</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Gawk-&gawk-version;</para> <para>Gawk-&gawk-version;</para>
</listitem> </listitem>
<!--<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>
<listitem> <!--<listitem>
<para>Glibc-&glibc-version;</para> <para>Glibc-&glibc-version;</para>
</listitem> </listitem>-->
<!--<listitem> <!--<listitem>
<para>GMP-&gmp-version;</para> <para>GMP-&gmp-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> <listitem>
<para>Gperf-&gperf-version;</para> <para>Gperf-&gperf-version;</para>
</listitem>--> </listitem>
<!--<listitem> <listitem>
<para>Grep-&grep-version;</para> <para>Grep-&grep-version;</para>
</listitem>--> </listitem>
<!--<listitem> <!--<listitem>
<para>Groff-&groff-version;</para> <para>Groff-&groff-version;</para>
</listitem>--> </listitem>-->
<!--<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>-->
@ -158,24 +155,24 @@
<listitem> <listitem>
<para>Libffi-&libffi-version;</para> <para>Libffi-&libffi-version;</para>
</listitem> </listitem>
<listitem> <!--<listitem>
<para>Libpipeline-&libpipeline-version;</para> <para>Libpipeline-&libpipeline-version;</para>
</listitem> </listitem>-->
<listitem> <!--<listitem>
<para>Libtool-&libtool-version;</para> <para>Libtool-&libtool-version;</para>
</listitem> </listitem>-->
<listitem> <!--<listitem>
<para>Libxcrypt-&libxcrypt-version;</para> <para>Libxcrypt-&libxcrypt-version;</para>
</listitem> </listitem>-->
<listitem> <listitem>
<para>Linux-&linux-version;</para> <para>Linux-&linux-version;</para>
</listitem> </listitem>
<!--<listitem> <!--<listitem>
<para>Lz4-&lz4-version;</para> <para>Lz4-&lz4-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> <listitem>
<para>M4-&m4-version;</para> <para>M4-&m4-version;</para>
</listitem>--> </listitem>
<!--<listitem> <!--<listitem>
<para>Make-&make-version;</para> <para>Make-&make-version;</para>
</listitem>--> </listitem>-->
@ -185,18 +182,18 @@
<listitem> <listitem>
<para>Man-pages-&man-pages-version;</para> <para>Man-pages-&man-pages-version;</para>
</listitem> </listitem>
<listitem> <!--<listitem>
<para>MarkupSafe-&markupsafe-version;</para> <para>MarkupSafe-&markupsafe-version;</para>
</listitem> </listitem>-->
<listitem> <listitem>
<para>Meson-&meson-version;</para> <para>Meson-&meson-version;</para>
</listitem> </listitem>
<!--<listitem> <!--<listitem>
<para>MPC-&mpc-version;</para> <para>MPC-&mpc-version;</para>
</listitem>--> </listitem>-->
<!--<listitem> <listitem>
<para>MPFR-&mpfr-version;</para> <para>MPFR-&mpfr-version;</para>
</listitem>--> </listitem>
<!--<listitem> <!--<listitem>
<para>Ncurses-&ncurses-version;</para> <para>Ncurses-&ncurses-version;</para>
</listitem>--> </listitem>-->
@ -206,27 +203,27 @@
<listitem> <listitem>
<para>OpenSSL-&openssl-version;</para> <para>OpenSSL-&openssl-version;</para>
</listitem> </listitem>
<!--<listitem> <listitem>
<para>Patch-&patch-version;</para> <para>Patch-&patch-version;</para>
</listitem>--> </listitem>
<listitem> <listitem>
<para>Perl-&perl-version;</para> <para>Perl-&perl-version;</para>
</listitem> </listitem>
<!--<listitem>
<para>Pkgconf-&pkgconf-version;</para>
</listitem>-->
<listitem> <listitem>
<para>Procps-ng-&procps-ng-version;</para> <para>Pkgconf-&pkgconf-version;</para>
</listitem> </listitem>
<!--<listitem>
<para>Procps-ng-&procps-ng-version;</para>
</listitem>-->
<!--<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>
<!--<listitem> <!--<listitem>
<para>Sed-&sed-version;</para> <para>Sed-&sed-version;</para>
</listitem>--> </listitem>-->
@ -242,24 +239,24 @@
<listitem> <listitem>
<para>Systemd-&systemd-version;</para> <para>Systemd-&systemd-version;</para>
</listitem> </listitem>
<listitem revision="sysv"> <!--<listitem revision="sysv">
<para>SysVinit-&sysvinit-version;</para> <para>SysVinit-&sysvinit-version;</para>
</listitem> </listitem>-->
<!--<listitem> <!--<listitem>
<para>Tar-&tar-version;</para> <para>Tar-&tar-version;</para>
</listitem>--> </listitem>-->
<listitem> <!--<listitem>
<para>Tcl-&tcl-version;</para> <para>Tcl-&tcl-version;</para>
</listitem> </listitem>-->
<listitem> <!--<listitem>
<para>Texinfo-&texinfo-version;</para> <para>Texinfo-&texinfo-version;</para>
</listitem> </listitem>-->
<listitem> <listitem>
<para>Tzdata-&tzdata-version;</para> <para>Tzdata-&tzdata-version;</para>
</listitem> </listitem>
<listitem revision="sysv"> <!--<listitem revision="sysv">
<para>Udev from Systemd-&systemd-version;</para> <para>Udev from Systemd-&systemd-version;</para>
</listitem> </listitem>-->
<listitem> <listitem>
<para>Util-linux-&util-linux-version;</para> <para>Util-linux-&util-linux-version;</para>
</listitem> </listitem>
@ -278,9 +275,9 @@
<!--<listitem> <!--<listitem>
<para>Zlib-&zlib-version;</para> <para>Zlib-&zlib-version;</para>
</listitem>--> </listitem>-->
<listitem> <!--<listitem>
<para>Zstd-&zstd-version;</para> <para>Zstd-&zstd-version;</para>
</listitem> </listitem>-->
</itemizedlist> </itemizedlist>
<!--<itemizedlist> <!--<itemizedlist>
@ -295,22 +292,25 @@
<itemizedlist> <itemizedlist>
<title>Added:</title> <title>Added:</title>
<listitem><para></para></listitem> <!-- satisfy build --> <listitem><para></para></listitem> <!-- satisfy build -->
<!--
<listitem> <listitem>
<para>binutils-2.43.1-upstream_fix-1.patch</para> <para>Packaging-&packaging-version;</para>
</listitem> </listitem>
--> <listitem>
<para>coreutils-9.7-upstream_fix-1.patch</para>
</listitem>
<listitem>
<para>perl-5.40.2-upstream_fix-1.patch</para>
</listitem>
</itemizedlist> </itemizedlist>
<itemizedlist> <itemizedlist>
<title>Removed:</title> <title>Removed:</title>
<listitem><para></para></listitem> <!-- satisfy build --> <listitem><para></para></listitem> <!-- satisfy build -->
<!--<listitem> <listitem>
<para>expect-5.45.4-gcc14-1.patch</para> <para>Check-0.15.2</para>
</listitem>--> </listitem>
<!--<listitem>
<para>readline-8.2-upstream_fixes-3.patch</para>
</listitem>-->
</itemizedlist> </itemizedlist>
</sect1> </sect1>

View File

@ -110,15 +110,6 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>Check (&check-version;) - <token>&check-size;</token>:</term>
<listitem>
<para>Home page: <ulink url="&check-home;"/></para>
<para>Download: <ulink url="&check-url;"/></para>
<para>MD5 sum: <literal>&check-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>Coreutils (&coreutils-version;) - <token>&coreutils-size;</token>:</term> <term>Coreutils (&coreutils-version;) - <token>&coreutils-size;</token>:</term>
<listitem> <listitem>
@ -597,6 +588,15 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>Packaging (&packaging-version;) - <token>&packaging-size;</token>:</term>
<listitem>
<para>Home page: <ulink url="&packaging-home;"/></para>
<para>Download: <ulink url="&packaging-url;"/></para>
<para>MD5 sum: <literal>&packaging-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>Patch (&patch-version;) - <token>&patch-size;</token>:</term> <term>Patch (&patch-version;) - <token>&patch-size;</token>:</term>
<listitem> <listitem>

View File

@ -25,13 +25,12 @@
<para>MD5 sum: <literal>&autoconf-fixes-patch-md5;</literal></para> <para>MD5 sum: <literal>&autoconf-fixes-patch-md5;</literal></para>
</listitem> </listitem>
</varlistentry> </varlistentry>
-->
<!--
<varlistentry> <varlistentry>
<term>Bash Upstream Fixes Patch - <token>&bash-upstream-fixes-patch-size;</token>:</term> <term>Bash Cross Compile Fix Patch - <token>&bash-crosscompile-fix-patch-size;</token>:</term>
<listitem> <listitem>
<para>Download: <ulink url="&patches-root;&bash-upstream-fixes-patch;"/></para> <para>Download: <ulink url="&patches-root;&bash-crosscompile-fix-patch;"/></para>
<para>MD5 sum: <literal>&bash-upstream-fixes-patch-md5;</literal></para> <para>MD5 sum: <literal>&bash-crosscompile-fix-patch-md5;</literal></para>
</listitem> </listitem>
</varlistentry> </varlistentry>
--> -->
@ -52,6 +51,14 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term>Coreutils Upstream Fix Patch - <token>&coreutils-upstream-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&coreutils-upstream-patch;"/></para>
<para>MD5 sum: <literal>&coreutils-upstream-patch-md5;</literal></para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term>Coreutils Internationalization Fixes Patch - <token>&coreutils-i18n-patch-size;</token>:</term> <term>Coreutils Internationalization Fixes Patch - <token>&coreutils-i18n-patch-size;</token>:</term>
<listitem> <listitem>
@ -61,10 +68,10 @@
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term>Expect GCC14 Patch - <token>&expect-gcc14-patch-size;</token>:</term> <term>Expect GCC15 Patch - <token>&expect-gcc15-patch-size;</token>:</term>
<listitem> <listitem>
<para>Download: <ulink url="&patches-root;&expect-gcc14-patch;"/></para> <para>Download: <ulink url="&patches-root;&expect-gcc15-patch;"/></para>
<para>MD5 sum: <literal>&expect-gcc14-patch-md5;</literal></para> <para>MD5 sum: <literal>&expect-gcc15-patch-md5;</literal></para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -118,24 +125,25 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
--> -->
<varlistentry>
<term>Perl Upstream Fix Patch - <token>&perl-upstream-fix-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&perl-upstream-fix-patch;"/></para>
<para>MD5 sum: <literal>&perl-upstream-fix-patch-md5;</literal></para>
</listitem>
</varlistentry>
<!-- <!--
<varlistentry> <varlistentry>
<term>Pkgconf Upstream Fix Patch - <token>&pkgconf-upstream-fix-patch-size;</token>:</term> <term>Python Security Fix Patch - <token>&python-security-fixes-patch-size;</token>:</term>
<listitem> <listitem>
<para>Download: <ulink url="&patches-root;&pkgconf-upstream-fix-patch;"/></para> <para>Download: <ulink url="&patches-root;&python-security-fixes-patch;"/></para>
<para>MD5 sum: <literal>&pkgconf-upstream-fix-patch-md5;</literal></para> <para>MD5 sum: <literal>&python-security-fixes-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
<!--
<varlistentry>
<term>Readline Upstream Fix Patch - <token>&readline-fixes-patch-size;</token>:</term>
<listitem>
<para>Download: <ulink url="&patches-root;&readline-fixes-patch;"/></para>
<para>MD5 sum: <literal>&readline-fixes-patch-md5;</literal></para>
</listitem> </listitem>
</varlistentry> </varlistentry>
--> -->
<varlistentry revision="sysv"> <varlistentry revision="sysv">
<term>SysVinit Consolidated Patch - <token>&sysvinit-consolidated-patch-size;</token>:</term> <term>SysVinit Consolidated Patch - <token>&sysvinit-consolidated-patch-size;</token>:</term>
<listitem> <listitem>

View File

@ -68,10 +68,9 @@ cd build</userinput></screen>
--prefix=/usr \ --prefix=/usr \
--host=$LFS_TGT \ --host=$LFS_TGT \
--build=$(../scripts/config.guess) \ --build=$(../scripts/config.guess) \
--enable-kernel=&min-kernel; \
--with-headers=$LFS/usr/include \
--disable-nscd \ --disable-nscd \
libc_cv_slibdir=/usr/lib</userinput></screen> libc_cv_slibdir=/usr/lib \
--enable-kernel=&min-kernel;</userinput></screen>
<variablelist> <variablelist>
<title>The meaning of the configure options:</title> <title>The meaning of the configure options:</title>
@ -94,16 +93,6 @@ cd build</userinput></screen>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term><parameter>--with-headers=$LFS/usr/include</parameter></term>
<listitem>
<para>This tells Glibc to compile itself against the headers
recently installed to the $LFS/usr/include directory, so that
it knows exactly what features the kernel has and can optimize
itself accordingly.</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term><parameter>libc_cv_slibdir=/usr/lib</parameter></term> <term><parameter>libc_cv_slibdir=/usr/lib</parameter></term>
<listitem> <listitem>
@ -167,7 +156,7 @@ cd build</userinput></screen>
class="directory">/</filename>) directory. Here we specify that class="directory">/</filename>) directory. Here we specify that
the package is installed in <filename class="directory"> the package is installed in <filename class="directory">
$LFS</filename>, which will become the root directory in <xref linkend= $LFS</filename>, which will become the root directory in <xref linkend=
"ch-tools-chroot"/>.</para> "ch-tools-chroot" role='.'/></para>
</listitem> </listitem>
</varlistentry> </varlistentry>
@ -178,32 +167,101 @@ cd build</userinput></screen>
<screen><userinput remap="install">sed '/RTLDLIST=/s@/usr@@g' -i $LFS/usr/bin/ldd</userinput></screen> <screen><userinput remap="install">sed '/RTLDLIST=/s@/usr@@g' -i $LFS/usr/bin/ldd</userinput></screen>
<caution> <para>Now that our cross toolchain is in place, it is important to ensure
<para>At this point, it is imperative to stop and ensure that the basic that compiling and linking will work as expected. We do this by performing
functions (compiling and linking) of the new toolchain are working as some sanity checks:</para>
expected. To perform a sanity check, run the following commands:</para>
<screen><userinput>echo 'int main(){}' | $LFS_TGT-gcc -xc - <screen><userinput>echo 'int main(){}' | $LFS_TGT-gcc -x c - -v -Wl,--verbose &amp;&gt; dummy.log
readelf -l a.out | grep ld-linux</userinput></screen> readelf -l a.out | grep ': /lib'</userinput></screen>
<para>If everything is working correctly, there should be no errors, <para>There should be no errors,
and the output of the last command will be of the form:</para> and the output of the last command will be (allowing for
platform-specific differences in the dynamic linker name):</para>
<screen><computeroutput>[Requesting program interpreter: /lib/ld-linux-aarch64.so.1]</computeroutput></screen> <screen><computeroutput>[Requesting program interpreter: /lib/ld-linux-aarch64.so.1]</computeroutput></screen>
<para>Note that for big-endian machines, the interpreter name will be <para>Note that for big-endian machines, the interpreter name will be
<filename>/lib/ld-linux-aarch64_be.so.1</filename>.</para> <filename>/lib/ld-linux-aarch64_be.so.1</filename>.</para>
<para>If the output is not as shown above, or there is no output at all, <para>Note that this path should not contain
then something is wrong. Investigate and retrace the steps to find out <filename class='directory'>/mnt/lfs</filename> (or the value of
where the problem is and correct it. This issue must be resolved before the <envar>LFS</envar> variable if you used a different one). The path is
continuing.</para> resolved when the compiled program is executed, and that should only happen
after we enter the chroot environment where the kernel would consider
<filename class='directory'>$LFS</filename> as the root directory
(<filename class='directory'>/</filename>).</para>
<para>Once all is well, clean up the test file:</para> <para>Now make sure that we're set up to use the correct start files:</para>
<screen><userinput>rm -v a.out</userinput></screen> <screen><userinput>grep -E -o "$LFS/lib.*/S?crt[1in].*succeeded" dummy.log</userinput></screen>
</caution> <para>The output of the last command should be:</para>
<screen><computeroutput>/mnt/lfs/lib/../lib/Scrt1.o succeeded
/mnt/lfs/lib/../lib/crti.o succeeded
/mnt/lfs/lib/../lib/crtn.o succeeded</computeroutput></screen>
<para>Verify that the compiler is searching for the correct header
files:</para>
<screen><userinput>grep -B3 "^ $LFS/usr/include" dummy.log</userinput></screen>
<para>This command should return the following output:</para>
<screen><computeroutput>#include &lt;...&gt; search starts here:
/mnt/lfs/tools/lib/gcc/x86_64-lfs-linux-gnu/&gcc-version;/include
/mnt/lfs/tools/lib/gcc/x86_64-lfs-linux-gnu/&gcc-version;/include-fixed
/mnt/lfs/usr/include</computeroutput></screen>
<para>Again, the directory named after your target triplet may be
different than the above, depending on your system architecture.</para>
<para>Next, verify that the new linker is being used with the correct search paths:</para>
<screen><userinput>grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g'</userinput></screen>
<para>References to paths that have components with '-linux-gnu' should
be ignored, but otherwise the output of the last command should be:</para>
<screen><computeroutput>SEARCH_DIR("=/mnt/lfs/tools/x86_64-lfs-linux-gnu/lib64")
SEARCH_DIR("=/usr/local/lib64")
SEARCH_DIR("=/lib64")
SEARCH_DIR("=/usr/lib64")
SEARCH_DIR("=/mnt/lfs/tools/x86_64-lfs-linux-gnu/lib")
SEARCH_DIR("=/usr/local/lib")
SEARCH_DIR("=/lib")
SEARCH_DIR("=/usr/lib");</computeroutput></screen>
<para>A 32-bit system may use a few other directories, but anyway
the important facet here is all the paths should begin with an equal sign
(<literal>=</literal>), which would be replaced with the sysroot
directory that we've configured for the linker.</para>
<para>Next make sure that we're using the correct libc:</para>
<screen><userinput>grep "/lib.*/libc.so.6 " dummy.log</userinput></screen>
<para>The output of the last command should be:</para>
<screen><computeroutput>attempt to open /mnt/lfs/usr/lib/libc.so.6 succeeded</computeroutput></screen>
<para>Make sure GCC is using the correct dynamic linker:</para>
<screen><userinput>grep found dummy.log</userinput></screen>
<para>The output of the last command should be (allowing for
platform-specific differences in dynamic linker name):</para>
<screen><computeroutput>found ld-linux-x86-64.so.2 at /mnt/lfs/usr/lib/ld-linux-x86-64.so.2</computeroutput></screen>
<para>If the output does not appear as shown above or is not received
at all, then something is seriously wrong. Investigate and retrace the
steps to find out where the problem is and correct it. Any
issues should be resolved before continuing with the process.</para>
<para>Once everything is working correctly, clean up the test files:</para>
<screen><userinput>rm -v a.out dummy.log</userinput></screen>
<note><para>Building the packages in the next chapter will serve as an <note><para>Building the packages in the next chapter will serve as an
additional check that the toolchain has been built properly. If some additional check that the toolchain has been built properly. If some

View File

@ -42,7 +42,11 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Bash</title> <title>Installation of Bash</title>
<!--
<para>First, fix a problem related to cross compilation and gcc-15:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&bash-crosscompile-fix-patch;</userinput></screen>
-->
<para>Prepare Bash for compilation:</para> <para>Prepare Bash for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \ <screen><userinput remap="configure">./configure --prefix=/usr \

View File

@ -47,8 +47,36 @@
<screen><userinput remap="configure">./configure --prefix=/usr \ <screen><userinput remap="configure">./configure --prefix=/usr \
--host=$LFS_TGT \ --host=$LFS_TGT \
gl_cv_func_strcasecmp_works=y \
--build=$(./build-aux/config.guess)</userinput></screen> --build=$(./build-aux/config.guess)</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
<varlistentry>
<!-- https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=d9083a4cc638cf9c7dfc3cc534a7c6b4debf50ab -->
<term><parameter>gl_cv_func_strcasecmp_works=y</parameter></term>
<listitem>
<para>This option specify the result of a check for the
<function>strcasecmp</function>. The check requires running a
compiled C program, and this is impossible during
cross-compilation because in general a cross-compiled program
cannot run on the host distro. Normally for such a check the
<command>configure</command> script would use a fall-back value
for cross-compilation, but the fall-back value for this check is
absent and the <command>configure</command> script would have no
value to use and error out. The upstream has already fixed the
issue, but to apply the fix we'd need to run
<command>autoconf</command> that the host distro may lack. So
we just specify the check result (<literal>y</literal> as we know
the <function>strcasecmp</function> function in
Glibc-&glibc-version; works fine) instead, then
<command>configure</command> will just use the specified value and
skip the check.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para> <para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="make">make</userinput></screen>

View File

@ -83,7 +83,6 @@ cd build</userinput></screen>
--build=$(../config.guess) \ --build=$(../config.guess) \
--host=$LFS_TGT \ --host=$LFS_TGT \
--target=$LFS_TGT \ --target=$LFS_TGT \
LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc \
--prefix=/usr \ --prefix=/usr \
--with-build-sysroot=$LFS \ --with-build-sysroot=$LFS \
--enable-default-pie \ --enable-default-pie \
@ -96,7 +95,8 @@ cd build</userinput></screen>
--disable-libsanitizer \ --disable-libsanitizer \
--disable-libssp \ --disable-libssp \
--disable-libvtv \ --disable-libvtv \
--enable-languages=c,c++</userinput></screen> --enable-languages=c,c++ \
LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc</userinput></screen>
<variablelist> <variablelist>
<title>The meaning of the new configure options:</title><!-- WIP --> <title>The meaning of the new configure options:</title><!-- WIP -->

View File

@ -45,23 +45,9 @@
<para>Prepare Make for compilation:</para> <para>Prepare Make for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \ <screen><userinput remap="configure">./configure --prefix=/usr \
--without-guile \
--host=$LFS_TGT \ --host=$LFS_TGT \
--build=$(build-aux/config.guess)</userinput></screen> --build=$(build-aux/config.guess)</userinput></screen>
<variablelist>
<title>The meaning of the new configure option:</title>
<varlistentry>
<term><parameter>--without-guile</parameter></term>
<listitem>
<para>Although we are cross-compiling, configure tries to use
guile from the build host if it finds it. This makes compilation
fail, so this switch prevents using it.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para> <para>Compile the package:</para>
<screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="make">make</userinput></screen>

View File

@ -33,6 +33,6 @@
user <systemitem class="username">root</systemitem> by running the following user <systemitem class="username">root</systemitem> by running the following
command:</para> command:</para>
<screen><userinput>chown -R --from &lfs-username; root:root $LFS/{usr,lib,var,etc,bin,sbin,tools}</userinput></screen> <screen><userinput>chown -R --from &lfs-username; root:root $LFS/{usr,var,etc,tools}</userinput></screen>
</sect1> </sect1>

View File

@ -54,7 +54,8 @@
<screen><userinput remap="configure">./configure --prefix=/usr \ <screen><userinput remap="configure">./configure --prefix=/usr \
--enable-shared \ --enable-shared \
--without-ensurepip</userinput></screen> --without-ensurepip \
--without-static-libpython</userinput></screen>
<variablelist> <variablelist>
<title>The meaning of the configure option:</title> <title>The meaning of the configure option:</title>
@ -74,6 +75,13 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term><parameter>--without-static-libpython</parameter></term>
<listitem>
<para>This switch prevents building a large, but unneeded, static
library.</para>
</listitem>
</varlistentry>
</variablelist> </variablelist>
<para>Compile the package:</para> <para>Compile the package:</para>

View File

@ -43,15 +43,15 @@
<para>Prepare Bc for compilation:</para> <para>Prepare Bc for compilation:</para>
<screen><userinput remap="configure">CC=gcc ./configure --prefix=/usr -G -O3 -r</userinput></screen> <screen><userinput remap="configure">CC='gcc -std=c99' ./configure --prefix=/usr -G -O3 -r</userinput></screen>
<variablelist> <variablelist>
<title>The meaning of the configure options:</title> <title>The meaning of the configure options:</title>
<varlistentry> <varlistentry>
<term><parameter>CC=gcc</parameter></term> <term><parameter>CC=gcc -std=c99</parameter></term>
<listitem> <listitem>
<para>This parameter specifies the compiler to use.</para> <para>This parameter specifies the compiler and C standard to use.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>

View File

@ -64,13 +64,13 @@
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libffi.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="libffi.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="python.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="python.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="flit-core.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="flit-core.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="packaging.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="wheel.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="wheel.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="setuptools.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="setuptools.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ninja.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="ninja.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="meson.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="meson.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="kmod.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="kmod.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="coreutils.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="coreutils.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="check.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="diffutils.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="diffutils.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gawk.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="gawk.xml"/>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="findutils.xml"/> <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="findutils.xml"/>

View File

@ -1,109 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-check" role="wrap">
<?dbhtml filename="check.html"?>
<sect1info condition="script">
<productname>check</productname>
<productnumber>&check-version;</productnumber>
<address>&check-url;</address>
</sect1info>
<title>Check-&check-version;</title>
<indexterm zone="ch-system-check">
<primary sortas="a-Check">Check</primary>
</indexterm>
<sect2 role="package">
<title/>
<para>Check is a unit testing framework for C.</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>&check-fin-sbu;</seg>
<seg>&check-fin-du;</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Check</title>
<para>Prepare Check for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr --disable-static</userinput></screen>
<para>Build the package:</para>
<screen><userinput remap="make">make</userinput></screen>
<para>Compilation is now complete. To run the Check test suite, issue the
following command:</para>
<screen><userinput remap="test">make check</userinput></screen>
<!-- <para>Note that the Check test suite may take a relatively long
(up to 4 SBU) time.</para>
-->
<para>Install the package:</para>
<screen><userinput remap="install">make docdir=/usr/share/doc/check-&check-version; install</userinput></screen>
</sect2>
<sect2 id="contents-check" role="content">
<title>Contents of Check</title>
<segmentedlist>
<segtitle>Installed program</segtitle>
<segtitle>Installed library</segtitle>
<seglistitem>
<seg>checkmk</seg>
<seg>libcheck.so</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="checkmk">
<term><command>checkmk</command></term>
<listitem>
<para>Awk script for generating C unit tests for use with the Check
unit testing framework</para>
<indexterm zone="ch-system-check checkmk">
<primary sortas="b-checmk">checkmk</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libcheck">
<term><filename class="libraryfile">libcheck.so</filename></term>
<listitem>
<para>Contains functions that allow Check to be called from a test
program</para>
<indexterm zone="ch-system-check libcheck">
<primary sortas="c-libcheck">libcheck</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>

View File

@ -41,6 +41,10 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Coreutils</title> <title>Installation of Coreutils</title>
<para>First, apply a patch for a security problem identified upstream:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&coreutils-upstream-patch;</userinput></screen>
<para>POSIX requires that programs from Coreutils recognize character <para>POSIX requires that programs from Coreutils recognize character
boundaries correctly even in multibyte locales. The following patch fixes boundaries correctly even in multibyte locales. The following patch fixes
this non-compliance and other internationalization-related bugs.</para> this non-compliance and other internationalization-related bugs.</para>

View File

@ -73,9 +73,9 @@
<screen><userinput remap="pre">tar -C tclconfig -xf ../autoconf-&autoconf-version;.tar.xz --strip-components=2 \ <screen><userinput remap="pre">tar -C tclconfig -xf ../autoconf-&autoconf-version;.tar.xz --strip-components=2 \
autoconf-&autoconf-version;/build-aux/config.{guess,sub}</userinput></screen> autoconf-&autoconf-version;/build-aux/config.{guess,sub}</userinput></screen>
<para>Now, make some changes to allow the package with gcc-14.1 or later:</para> <para>Now, make some changes to allow the package with gcc-15.1 or later:</para>
<screen><userinput remap="pre">patch -Np1 -i ../expect-&expect-version;-gcc14-1.patch</userinput></screen> <screen><userinput remap="pre">patch -Np1 -i ../&expect-gcc15-patch;</userinput></screen>
<para>Prepare Expect for compilation:</para> <para>Prepare Expect for compilation:</para>

View File

@ -231,8 +231,7 @@ su tester -c "PATH=$PATH make -k check"</userinput></screen>
that compiling and linking will work as expected. We do this by performing that compiling and linking will work as expected. We do this by performing
some sanity checks:</para> some sanity checks:</para>
<screen><userinput>echo 'int main(){}' &gt; dummy.c <screen><userinput>echo 'int main(){}' | cc -x c - -v -Wl,--verbose &amp;&gt; dummy.log
cc dummy.c -v -Wl,--verbose &amp;&gt; dummy.log
readelf -l a.out | grep ': /lib'</userinput></screen> readelf -l a.out | grep ': /lib'</userinput></screen>
<para>There should be no errors, <para>There should be no errors,
@ -327,7 +326,7 @@ SEARCH_DIR("/usr/lib");</computeroutput></screen>
<para>Once everything is working correctly, clean up the test files:</para> <para>Once everything is working correctly, clean up the test files:</para>
<screen><userinput>rm -v dummy.c a.out dummy.log</userinput></screen> <screen><userinput>rm -v a.out dummy.log</userinput></screen>
<para>Finally, move a misplaced file:</para> <para>Finally, move a misplaced file:</para>

View File

@ -70,10 +70,10 @@ cd build</userinput></screen>
<screen><userinput remap="configure">../configure --prefix=/usr \ <screen><userinput remap="configure">../configure --prefix=/usr \
--disable-werror \ --disable-werror \
--enable-kernel=&min-kernel; \
--enable-stack-protector=strong \
--disable-nscd \ --disable-nscd \
libc_cv_slibdir=/usr/lib</userinput></screen> libc_cv_slibdir=/usr/lib \
--enable-stack-protector=strong \
--enable-kernel=&min-kernel;</userinput></screen>
<variablelist> <variablelist>
<title>The meaning of the configure options:</title> <title>The meaning of the configure options:</title>
@ -329,7 +329,8 @@ install -vm755 dest/usr/lib/*.so.* /usr/lib</userinput></screen>
<screen role='nodump'><userinput>DIR=$(dirname $(gcc -print-libgcc-file-name)) <screen role='nodump'><userinput>DIR=$(dirname $(gcc -print-libgcc-file-name))
[ -e $DIR/include/limits.h ] || mv $DIR/include{-fixed,}/limits.h [ -e $DIR/include/limits.h ] || mv $DIR/include{-fixed,}/limits.h
[ -e $DIR/include/syslimits.h ] || mv $DIR/include{-fixed,}/syslimits.h [ -e $DIR/include/syslimits.h ] || mv $DIR/include{-fixed,}/syslimits.h
rm -rfv $(dirname $(gcc -print-libgcc-file-name))/include-fixed/*</userinput></screen> rm -rfv $DIR/include-fixed/*
unset DIR</userinput></screen>
</important> </important>
<para>Install the package:</para> <para>Install the package:</para>
@ -393,7 +394,6 @@ localedef -i it_IT -f ISO-8859-1 it_IT
localedef -i it_IT -f ISO-8859-15 it_IT@euro localedef -i it_IT -f ISO-8859-15 it_IT@euro
localedef -i it_IT -f UTF-8 it_IT.UTF-8 localedef -i it_IT -f UTF-8 it_IT.UTF-8
localedef -i ja_JP -f EUC-JP ja_JP localedef -i ja_JP -f EUC-JP ja_JP
localedef -i ja_JP -f SHIFT_JIS ja_JP.SJIS 2> /dev/null || true
localedef -i ja_JP -f UTF-8 ja_JP.UTF-8 localedef -i ja_JP -f UTF-8 ja_JP.UTF-8
localedef -i nl_NL@euro -f ISO-8859-15 nl_NL@euro localedef -i nl_NL@euro -f ISO-8859-15 nl_NL@euro
localedef -i ru_RU -f KOI8-R ru_RU.KOI8-R localedef -i ru_RU -f KOI8-R ru_RU.KOI8-R
@ -415,15 +415,6 @@ localedef -i zh_TW -f UTF-8 zh_TW.UTF-8</userinput></screen>
<screen><userinput remap="locale-full">make localedata/install-locales</userinput></screen> <screen><userinput remap="locale-full">make localedata/install-locales</userinput></screen>
<para>Then use the <command>localedef</command> command to create and
install locales not listed in the
<filename>glibc-&glibc-version;/localedata/SUPPORTED</filename> file
when you need them. For instance, the following two locales are
needed for some tests later in this chapter:</para>
<screen role="nodump"><userinput remap="locale-full">localedef -i C -f UTF-8 C.UTF-8
localedef -i ja_JP -f SHIFT_JIS ja_JP.SJIS 2> /dev/null || true</userinput></screen>
<note><para>Glibc now uses libidn2 when resolving internationalized <note><para>Glibc now uses libidn2 when resolving internationalized
domain names. This is a run time dependency. If this capability domain names. This is a run time dependency. If this capability
is needed, the instructions for installing libidn2 are in the is needed, the instructions for installing libidn2 are in the

View File

@ -53,6 +53,10 @@
CFLAGS is still automatically set to -march=something. --> CFLAGS is still automatically set to -march=something. -->
</note> </note>
<para>First, make an adjustment for compatibilty with gcc-15 and later:</para>
<screen><userinput remap="pre">sed -i '/long long t1;/,+1s/()/(...)/' configure</userinput></screen>
<para>Prepare GMP for compilation:</para> <para>Prepare GMP for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \ <screen><userinput remap="configure">./configure --prefix=/usr \

View File

@ -48,11 +48,9 @@
<screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="make">make</userinput></screen>
<para>The tests are known to fail if running multiple <para>To test the results, issue:</para>
simultaneous tests (-j option greater than 1). To test
the results, issue:</para>
<screen><userinput remap="test">make -j1 check</userinput></screen> <screen><userinput remap="test">make check</userinput></screen>
<para>Install the package:</para> <para>Install the package:</para>

View File

@ -88,9 +88,14 @@ sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in</userinput></screen>
<screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="make">make</userinput></screen>
<para>To test the results, issue:</para> <para>The tests for this package will all fail in the chroot environment
because they require <application>valgrind</application>. In addition
on a full system with <application>valgrind</application>, several
tests still fail in a graphical environment. The tests pass in
a non-graphical environment.</para>
<!--
<screen><userinput remap="test">make check</userinput></screen> <screen><userinput remap="test">make check</userinput></screen>
-->
<para>Install the package:</para> <para>Install the package:</para>

View File

@ -47,7 +47,6 @@
cd build cd build
meson setup --prefix=/usr .. \ meson setup --prefix=/usr .. \
--sbindir=/usr/sbin \
--buildtype=release \ --buildtype=release \
-D manpages=false</userinput></screen> -D manpages=false</userinput></screen>

View File

@ -58,6 +58,9 @@
<screen><userinput remap="test">make check</userinput></screen> <screen><userinput remap="test">make check</userinput></screen>
<para>Two tests are known to fail, dwarf_srclang_check and
run-backtrace-native-core.sh.</para>
<para>Install only Libelf:</para> <para>Install only Libelf:</para>
<screen><userinput remap="install">make -C libelf install <screen><userinput remap="install">make -C libelf install

View File

@ -51,11 +51,14 @@
<para>Like GMP, Libffi builds with optimizations specific <para>Like GMP, Libffi builds with optimizations specific
to the processor in use. If building for another system, change the to the processor in use. If building for another system, change the
value of the <parameter>--with-gcc-arch=</parameter> parameter in the value of the <parameter>--with-gcc-arch=</parameter> parameter in the
following command to an architecture name fully implemented by the following command to an architecture name fully implemented by
<emphasis role='bold'>both</emphasis> the host CPU and the
CPU on that system. CPU on that system.
If this is not done, all applications that link to If this is not done, all applications that link to
<filename class='libraryfile'>libffi</filename> will trigger <filename class='libraryfile'>libffi</filename> will trigger
Illegal Operation Errors.</para> Illegal Operation Errors. If you cannot figure out a value
safe for both the CPUs, replace the parameter with
<option>--without-gcc-arch</option> to produce a generic library.</para>
</note> </note>
<para>Prepare Libffi for compilation:</para> <para>Prepare Libffi for compilation:</para>

View File

@ -49,9 +49,8 @@
<screen><userinput remap="make">make</userinput></screen> <screen><userinput remap="make">make</userinput></screen>
<para>To test the results, issue:</para> <para>The tests require the <application>Check</application> library
that we've removed from LFS.</para>
<screen><userinput remap="test">make check</userinput></screen>
<para>Install the package:</para> <para>Install the package:</para>

View File

@ -127,7 +127,7 @@
make will spawn new shell processes during "make install". --> make will spawn new shell processes during "make install". -->
<para>The installation of this package will overwrite <para>The installation of this package will overwrite
<filename class="libraryfile">libncursesw.so.&ncurses-version;</filename> <filename class="libraryfile">libncursesw.so.&ncurses-base-version;</filename>
in-place. It may crash the shell process which is using code and data in-place. It may crash the shell process which is using code and data
from the library file. Install the package with from the library file. Install the package with
<literal>DESTDIR</literal>, and replace the library file correctly using <literal>DESTDIR</literal>, and replace the library file correctly using
@ -137,8 +137,8 @@
<xref linkend='ch-tools-ncurses'/>):</para> <xref linkend='ch-tools-ncurses'/>):</para>
<screen><userinput remap="install">make DESTDIR=$PWD/dest install <screen><userinput remap="install">make DESTDIR=$PWD/dest install
install -vm755 dest/usr/lib/libncursesw.so.&ncurses-version; /usr/lib install -vm755 dest/usr/lib/libncursesw.so.&ncurses-base-version; /usr/lib
rm -v dest/usr/lib/libncursesw.so.&ncurses-version; rm -v dest/usr/lib/libncursesw.so.&ncurses-base-version;
sed -e 's/^#if.*XOPEN.*$/#if 1/' \ sed -e 's/^#if.*XOPEN.*$/#if 1/' \
-i dest/usr/include/curses.h -i dest/usr/include/curses.h
cp -av dest/* /</userinput></screen> cp -av dest/* /</userinput></screen>

75
chapter08/packaging.xml Normal file
View File

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-system-packaging" role="wrap">
<?dbhtml filename="packaging.html"?>
<sect1info condition="script">
<productname>packaging</productname>
<productnumber>&packaging-version;</productnumber>
<address>&packaging-url;</address>
</sect1info>
<title>Packaging-&packaging-version;</title>
<indexterm zone="ch-system-packaging">
<primary sortas="a-packaging">packaging</primary>
</indexterm>
<sect2 role="package">
<title/>
<para>
The packaging module is a Python library that provides utilities that
implement the interoperability specifications which have clearly one
correct behaviour (PEP440) or benefit greatly from having a single shared
implementation (PEP425). This includes utilities for version handling,
specifiers, markers, tags, and requirements.
</para>
<segmentedlist>
<segtitle>&buildtime;</segtitle>
<segtitle>&diskspace;</segtitle>
<seglistitem>
<seg>&packaging-fin-sbu;</seg>
<seg>&packaging-fin-du;</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of Packaging</title>
<para>Compile packaging with the following command:</para>
<screen><userinput remap="make">pip3 wheel -w dist --no-cache-dir --no-build-isolation --no-deps $PWD</userinput></screen>
<para>Install packaging with the following command:</para>
<screen><userinput remap="install">pip3 install --no-index --find-links dist packaging</userinput></screen>
</sect2>
<sect2 id="contents-packaging" role="content">
<title>Contents of Packaging</title>
<segmentedlist>
<segtitle>Installed directories</segtitle>
<seglistitem>
<seg>
/usr/lib/python&python-minor;/site-packages/packaging and
/usr/lib/python&python-minor;/site-packages/packaging-&packaging-version;.dist-info
</seg>
</seglistitem>
</segmentedlist>
</sect2>
</sect1>

View File

@ -41,6 +41,10 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Perl</title> <title>Installation of Perl</title>
<para>First, apply a security patch identified upstream:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&perl-upstream-fix-patch;</userinput></screen>
<para>This version of Perl builds the Compress::Raw::Zlib and <para>This version of Perl builds the Compress::Raw::Zlib and
Compress::Raw::BZip2 modules. By Compress::Raw::BZip2 modules. By
default Perl will use an internal copy of the sources for the build. default Perl will use an internal copy of the sources for the build.

View File

@ -69,10 +69,25 @@
</listitem> </listitem>
<listitem> <para>If a package containing a shared library is updated, and <listitem> <para>If a package containing a shared library is updated, and
if the name of the library changes, then any packages dynamically if the name of the library<footnote><para>The name of a shared library is
the string coded in the <constant>DT_SONAME</constant> entry of its
ELF dynamic section. You can get it with the
<command>readelf -d <replaceable>&lt;library file&gt;</replaceable>
| grep SONAME</command> command. In most cases it's suffixed with
<literal>.so.<replaceable>&lt;a version
number&gt;</replaceable></literal>, but there are some cases where
it contains multiple numbers for versioning (like
<filename>libbz2.so.1.0</filename>), contains the version number
before the <filename class='extension'>.so</filename> suffix (like
<filename>libbfd-&binutils-version;</filename>), or does not contain
any version number at all (for example
<filename>libmemusage.so</filename>).
Generally there is no correlation between the package version and the
version number(s) in the library name.</para></footnote>
changes, then any packages dynamically
linked to the library must be recompiled, to link against the linked to the library must be recompiled, to link against the
newer library. (Note that there is no correlation between the package newer library.
version and the name of the library.) For example, consider a package For example, consider a package
foo-1.2.3 that installs a shared library with the name <filename foo-1.2.3 that installs a shared library with the name <filename
class='libraryfile'>libfoo.so.1</filename>. Suppose you upgrade the package to class='libraryfile'>libfoo.so.1</filename>. Suppose you upgrade the package to
a newer version foo-1.2.4 that installs a shared library with the name a newer version foo-1.2.4 that installs a shared library with the name
@ -370,11 +385,13 @@ make DESTDIR=/usr/pkg/libfoo/1.1 install</userinput></screen>
differences in system hardware and the original kernel differences in system hardware and the original kernel
configuration.</para> configuration.</para>
<note><para>There have been some reports of issues when copying between <important><para>If you want to deploy the LFS system onto a system
similar but not identical architectures. For instance, the instruction set with a different CPU, when you build <xref linkend='ch-system-gmp'/> and
for an Intel system is not identical with the AMD processor's instructions, and later <xref linkend='ch-system-libffi'/> you must follow the notes about
versions of some processors may provide instructions that are unavailable with overriding the architecture-specific optimization to produce libraries
earlier versions.</para></note> suitable for both the host system and the system(s) where you'll deploy
the LFS system. Otherwise you'll get <computeroutput>Illegal
Instruction</computeroutput> errors running LFS.</para></important>
<para>Finally, the new system has to be made bootable via <xref <para>Finally, the new system has to be made bootable via <xref
linkend="ch-bootable-grub"/>.</para> linkend="ch-bootable-grub"/>.</para>

View File

@ -42,13 +42,18 @@
<sect2 role="installation"> <sect2 role="installation">
<title>Installation of Python 3</title> <title>Installation of Python 3</title>
<!--
<para>First, apply a security patch to the current package:</para>
<screen><userinput remap="pre">patch -Np1 -i ../&python-security-fixes-patch;</userinput></screen>
-->
<para>Prepare Python for compilation:</para> <para>Prepare Python for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \ <screen><userinput remap="configure">./configure --prefix=/usr \
--enable-shared \ --enable-shared \
--with-system-expat \ --with-system-expat \
--enable-optimizations</userinput></screen> --enable-optimizations \
--without-static-libpython</userinput></screen>
<variablelist> <variablelist>
<title>The meaning of the configure options:</title> <title>The meaning of the configure options:</title>

View File

@ -24,16 +24,20 @@
backup of the LFS system in its current state.</para> backup of the LFS system in its current state.</para>
<para>A <command>strip</command> command with the <para>A <command>strip</command> command with the
<parameter>--strip-unneeded</parameter> option removes all debug symbols <parameter>--strip-unneeded</parameter> option removes all debug symbols from
from a binary or library. It also removes all symbol table entries not a binary or library. It also removes all symbol table entries not normally
needed by the linker (for static libraries) or dynamic linker (for needed by the linker (for static libraries) or dynamic linker (for
dynamically linked binaries and shared libraries).</para> dynamically linked binaries and shared libraries). Using
<parameter>--strip-debug</parameter> does not remove symbol table entries
that may be needed by some applications. The difference between
<literal>unneeded</literal> and <literal>debug</literal> is very small.
For example, an unstripped <filename class='libraryfile'>libc.a</filename>
is 22.4 MB. After stripping with <parameter>--strip-debug</parameter> it
is 5.9 MB. Using <parameter>--strip-unneeded</parameter> only reduces the
size further to 5.8 MB.</para>
<!-- TODO: Zstd is better than Zlib for both speed and size.
Unfortunately Valgrind does not support Zstd-compressed debug
info yet: https://bugs.kde.org/show_bug.cgi?id=469782 -->
<para>The debugging symbols from selected libraries are compressed with <para>The debugging symbols from selected libraries are compressed with
<application>Zlib</application> and preserved in separate files. That <application>Zstd</application> and preserved in separate files. That
debugging information is needed to run regression tests with <ulink debugging information is needed to run regression tests with <ulink
url='&blfs-book;/general/valgrind.html'>valgrind</ulink> or <ulink url='&blfs-book;/general/valgrind.html'>valgrind</ulink> or <ulink
url='&blfs-book;/general/gdb.html'>gdb</ulink> later, in BLFS. url='&blfs-book;/general/gdb.html'>gdb</ulink> later, in BLFS.
@ -82,9 +86,9 @@
cd /usr/lib cd /usr/lib
for LIB in $save_usrlib; do for LIB in $save_usrlib; do
objcopy --only-keep-debug --compress-debug-sections=zlib $LIB $LIB.dbg objcopy --only-keep-debug --compress-debug-sections=zstd $LIB $LIB.dbg
cp $LIB /tmp/$LIB cp $LIB /tmp/$LIB
strip --strip-unneeded /tmp/$LIB strip --strip-debug /tmp/$LIB
objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB
install -vm755 /tmp/$LIB /usr/lib install -vm755 /tmp/$LIB /usr/lib
rm /tmp/$LIB rm /tmp/$LIB
@ -103,14 +107,14 @@ online_usrlib="libbfd-&binutils-version;.so
for BIN in $online_usrbin; do for BIN in $online_usrbin; do
cp /usr/bin/$BIN /tmp/$BIN cp /usr/bin/$BIN /tmp/$BIN
strip --strip-unneeded /tmp/$BIN strip --strip-debug /tmp/$BIN
install -vm755 /tmp/$BIN /usr/bin install -vm755 /tmp/$BIN /usr/bin
rm /tmp/$BIN rm /tmp/$BIN
done done
for LIB in $online_usrlib; do for LIB in $online_usrlib; do
cp /usr/lib/$LIB /tmp/$LIB cp /usr/lib/$LIB /tmp/$LIB
strip --strip-unneeded /tmp/$LIB strip --strip-debug /tmp/$LIB
install -vm755 /tmp/$LIB /usr/lib install -vm755 /tmp/$LIB /usr/lib
rm /tmp/$LIB rm /tmp/$LIB
done done
@ -121,7 +125,7 @@ for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg) \
case "$online_usrbin $online_usrlib $save_usrlib" in case "$online_usrbin $online_usrlib $save_usrlib" in
*$(basename $i)* ) *$(basename $i)* )
;; ;;
* ) strip --strip-unneeded $i * ) strip --strip-debug $i
;; ;;
esac esac
done done

View File

@ -108,6 +108,8 @@ EOF</userinput></screen>
<quote>Default iocharset for FAT</quote> (<option>CONFIG_FAT_DEFAULT_IOCHARSET</option>). <quote>Default iocharset for FAT</quote> (<option>CONFIG_FAT_DEFAULT_IOCHARSET</option>).
There is no way to specify these settings for the There is no way to specify these settings for the
ntfs filesystem at kernel compilation time.</para> ntfs filesystem at kernel compilation time.</para>
<!--
Obsolete since 2011. barrier is the default for both ext3 and ext4.
<para>It is possible to make the ext3 filesystem reliable across power <para>It is possible to make the ext3 filesystem reliable across power
failures for some hard disk types. To do this, add the failures for some hard disk types. To do this, add the
@ -123,5 +125,5 @@ EOF</userinput></screen>
<para>Note: Logical Volume Management (LVM) based partitions cannot use the <para>Note: Logical Volume Management (LVM) based partitions cannot use the
<option>barrier</option> option.</para> <option>barrier</option> option.</para>
-->
</sect1> </sect1>

View File

@ -88,16 +88,13 @@
</para> </para>
<itemizedlist> <itemizedlist>
<listitem><para>/etc/bashrc </para></listitem>
<listitem><para>/etc/dircolors </para></listitem>
<listitem><para>/etc/fstab </para></listitem> <listitem><para>/etc/fstab </para></listitem>
<listitem><para>/etc/hosts </para></listitem> <listitem><para>/etc/hosts </para></listitem>
<listitem><para>/etc/inputrc </para></listitem> <listitem><para>/etc/inputrc </para></listitem>
<listitem><para>/etc/profile </para></listitem> <listitem><para>/etc/profile </para></listitem>
<listitem><para>/etc/resolv.conf </para></listitem> <listitem><para>/etc/resolv.conf
<phrase revision='systemd'>(optional)</phrase></para></listitem>
<listitem><para>/etc/vimrc </para></listitem> <listitem><para>/etc/vimrc </para></listitem>
<listitem><para>/root/.bash_profile </para></listitem>
<listitem><para>/root/.bashrc </para></listitem>
<listitem revision="sysv"><para>/etc/sysconfig/ifconfig.eth0</para></listitem> <listitem revision="sysv"><para>/etc/sysconfig/ifconfig.eth0</para></listitem>
</itemizedlist> </itemizedlist>
</listitem> </listitem>

View File

@ -7,9 +7,9 @@
<!ENTITY % rc "IGNORE"> <!-- set to INCLUDE for rc, <!ENTITY % rc "IGNORE"> <!-- set to INCLUDE for rc,
set to IGNORE for development or set to IGNORE for development or
release --> release -->
<!ENTITY % relnum "11.3"><!-- must be given for release or rc --> <!ENTITY % relnum "12.3"><!-- must be given for release or rc -->
<!ENTITY % reldate "March 1st, 2023"><!-- must ve given for release or rc --> <!ENTITY % reldate "March 5th, 2025"><!-- must ve given for release or rc -->
<!ENTITY % crdate "1999-2022"><!-- must ve given for release or rc --> <!ENTITY % crdate "1999-2025"><!-- must ve given for release or rc -->
<!ENTITY % rcnum "0"><!-- must be given only for rc --> <!ENTITY % rcnum "0"><!-- must be given only for rc -->
<!-- ================================================================== --> <!-- ================================================================== -->
<!-- Do not change anything below unless the www or book layouts change --> <!-- Do not change anything below unless the www or book layouts change -->
@ -98,9 +98,7 @@
<!ENTITY secadv "&lfs-root;lfs/advisories/"> <!ENTITY secadv "&lfs-root;lfs/advisories/">
<!-- 5.4 EOL is Dec 2025 <!-- 5.4 EOL is Dec 2025
so for LFS 12.5 we may consider moving to 5.10. so for LFS 12.5 we may consider moving to 5.10. -->
Keep an extra whitespace here to align the trailing "\" in glibc
configure command if y < 10 in x.y. -->
<!ENTITY min-kernel "5.4"> <!ENTITY min-kernel "5.4">
<!-- <!--

View File

@ -118,7 +118,6 @@ function get_packages( $package, $dirpath )
//if ( $package != "wheel" ) return 0; // debug //if ( $package != "wheel" ) return 0; // debug
if ( $package == "bc" ) $dirpath = github("gavinhoward/bc"); if ( $package == "bc" ) $dirpath = github("gavinhoward/bc");
if ( $package == "check" ) $dirpath = github("libcheck/check");
if ( $package == "e2fsprogs" ) $dirpath = "https://sourceforge.net/projects/e2fsprogs/files/e2fsprogs"; if ( $package == "e2fsprogs" ) $dirpath = "https://sourceforge.net/projects/e2fsprogs/files/e2fsprogs";
if ( $package == "expat" ) $dirpath = "https://sourceforge.net/projects/expat/files"; if ( $package == "expat" ) $dirpath = "https://sourceforge.net/projects/expat/files";
if ( $package == "elfutils" ) $dirpath = "https://sourceware.org/ftp/elfutils"; if ( $package == "elfutils" ) $dirpath = "https://sourceware.org/ftp/elfutils";
@ -140,6 +139,7 @@ if ( $package == "mpfr" ) $dirpath = "https://mpfr.loria.fr/mpfr-current";
if ( $package == "ncurses" ) $dirpath = "https://invisible-mirror.net/archives/ncurses"; if ( $package == "ncurses" ) $dirpath = "https://invisible-mirror.net/archives/ncurses";
if ( $package == "ninja" ) $dirpath = github("ninja-build/ninja"); if ( $package == "ninja" ) $dirpath = github("ninja-build/ninja");
if ( $package == "openssl" ) $dirpath = github("openssl/openssl"); if ( $package == "openssl" ) $dirpath = github("openssl/openssl");
if ( $package == "packaging" ) $dirpath = "https://pypi.org/rss/project/packaging/releases.xml";
if ( $package == "procps-ng" ) $dirpath = "https://gitlab.com/procps-ng/procps/-/tags"; if ( $package == "procps-ng" ) $dirpath = "https://gitlab.com/procps-ng/procps/-/tags";
if ( $package == "psmisc" ) $dirpath = "https://gitlab.com/psmisc/psmisc/-/tags"; if ( $package == "psmisc" ) $dirpath = "https://gitlab.com/psmisc/psmisc/-/tags";
if ( $package == "Python" ) $dirpath = "https://www.python.org/downloads/source/"; if ( $package == "Python" ) $dirpath = "https://www.python.org/downloads/source/";
@ -263,6 +263,9 @@ if ( $package == "zstd" ) $dirpath = github("facebook/zstd");
return find_max( $lines, "/wheel\/\d/", "/^.*wheel\/([\d\.]+).*$/" ); return find_max( $lines, "/wheel\/\d/", "/^.*wheel\/([\d\.]+).*$/" );
# End Python modules # End Python modules
if ( $package == "packaging" )
return find_max( $lines, "/packaging/", "/^.*^.*packaging.([\d\.]+\d)\/.*$/" );
if ( $package == "procps-ng" ) if ( $package == "procps-ng" )
return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" ); return find_max( $lines, "/v\d/", "/^.*v([\d\.]+)$/" );

View File

@ -38,19 +38,19 @@
<!ENTITY autoconf-fin-sbu-tests "0.4"> <!ENTITY autoconf-fin-sbu-tests "0.4">
<!ENTITY autoconf-fin-sbu "less than 0.1 SBU (about &autoconf-fin-sbu-tests; SBU with tests)"> <!ENTITY autoconf-fin-sbu "less than 0.1 SBU (about &autoconf-fin-sbu-tests; SBU with tests)">
<!ENTITY automake-version "1.17"> <!ENTITY automake-version "1.18">
<!ENTITY am-minor-version "1.17"> <!ENTITY am-minor-version "1.18">
<!ENTITY automake-size "1,614 KB"> <!ENTITY automake-size "1,614 KB">
<!ENTITY automake-url "&gnu;automake/automake-&automake-version;.tar.xz"> <!ENTITY automake-url "&gnu;automake/automake-&automake-version;.tar.xz">
<!ENTITY automake-md5 "7ab3a02318fee6f5bd42adfc369abf10"> <!ENTITY automake-md5 "1320dd6a6aae0d97668daa089086c083">
<!ENTITY automake-home "&gnu-software;automake/"> <!ENTITY automake-home "&gnu-software;automake/">
<!ENTITY automake-fin-du "121 MB"> <!ENTITY automake-fin-du "121 MB">
<!ENTITY automake-fin-sbu "less than 0.1 SBU (about 1.1 SBU with tests)"> <!ENTITY automake-fin-sbu "less than 0.1 SBU (about 1.1 SBU with tests)">
<!ENTITY bash-version "5.2.37"> <!ENTITY bash-version "5.3-rc2">
<!ENTITY bash-size "10,868 KB"> <!ENTITY bash-size "10,774 KB">
<!ENTITY bash-url "&gnu;bash/bash-&bash-version;.tar.gz"> <!ENTITY bash-url "&gnu;bash/bash-&bash-version;.tar.gz">
<!ENTITY bash-md5 "9c28f21ff65de72ca329c1779684a972"> <!ENTITY bash-md5 "9c440d7c5ca37433e496c5e22f8918c6">
<!ENTITY bash-home "&gnu-software;bash/"> <!ENTITY bash-home "&gnu-software;bash/">
<!ENTITY bash-tmp-du "68 MB"> <!ENTITY bash-tmp-du "68 MB">
<!ENTITY bash-tmp-sbu "0.2 SBU"> <!ENTITY bash-tmp-sbu "0.2 SBU">
@ -61,7 +61,7 @@
<!ENTITY bc-size "464 KB"> <!ENTITY bc-size "464 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 "ad4db5a0eb4fdbb3f6813be4b6b3da74"> <!ENTITY bc-md5 "ad4db5a0eb4fdbb3f6813be4b6b3da74">
<!ENTITY bc-home "https://git.gavinhoward.com/gavin/bc"> <!ENTITY bc-home "https://github.com/gavinhoward">
<!ENTITY bc-fin-du "7.8 MB"> <!ENTITY bc-fin-du "7.8 MB">
<!ENTITY bc-fin-sbu "less than 0.1 SBU"> <!ENTITY bc-fin-sbu "less than 0.1 SBU">
@ -96,28 +96,20 @@
<!ENTITY bzip2-fin-du "7.2 MB"> <!ENTITY bzip2-fin-du "7.2 MB">
<!ENTITY bzip2-fin-sbu "less than 0.1 SBU"> <!ENTITY bzip2-fin-sbu "less than 0.1 SBU">
<!ENTITY check-version "0.15.2"> <!ENTITY coreutils-version "9.7">
<!ENTITY check-size "760 KB"> <!ENTITY coreutils-size "6,015 KB">
<!ENTITY check-url "&github;/libcheck/check/releases/download/&check-version;/check-&check-version;.tar.gz">
<!ENTITY check-md5 "50fcafcecde5a380415b12e9c574e0b2">
<!ENTITY check-home "https://libcheck.github.io/check">
<!ENTITY check-fin-du "11 MB">
<!ENTITY check-fin-sbu "0.1 SBU (about 2.1 SBU with tests)">
<!ENTITY coreutils-version "9.6">
<!ENTITY coreutils-size "5,991 KB">
<!ENTITY coreutils-url "&gnu;coreutils/coreutils-&coreutils-version;.tar.xz"> <!ENTITY coreutils-url "&gnu;coreutils/coreutils-&coreutils-version;.tar.xz">
<!ENTITY coreutils-md5 "0ed6cc983fe02973bc98803155cc1733"> <!ENTITY coreutils-md5 "6b7285faf7d5eb91592bdd689270d3f1">
<!ENTITY coreutils-home "&gnu-software;coreutils/"> <!ENTITY coreutils-home "&gnu-software;coreutils/">
<!ENTITY coreutils-tmp-du "181 MB"> <!ENTITY coreutils-tmp-du "181 MB">
<!ENTITY coreutils-tmp-sbu "0.3 SBU"> <!ENTITY coreutils-tmp-sbu "0.3 SBU">
<!ENTITY coreutils-fin-du "182 MB"> <!ENTITY coreutils-fin-du "182 MB">
<!ENTITY coreutils-fin-sbu "1.2 SBU"> <!ENTITY coreutils-fin-sbu "1.2 SBU">
<!ENTITY dbus-version "1.16.0"> <!ENTITY dbus-version "1.16.2">
<!ENTITY dbus-size "1,092 KB"> <!ENTITY dbus-size "1,090 KB">
<!ENTITY dbus-url "https://dbus.freedesktop.org/releases/dbus/dbus-&dbus-version;.tar.xz"> <!ENTITY dbus-url "https://dbus.freedesktop.org/releases/dbus/dbus-&dbus-version;.tar.xz">
<!ENTITY dbus-md5 "66bfcf1f42d4ebc634ca558d14335e92"> <!ENTITY dbus-md5 "97832e6f0a260936d28536e5349c22e5">
<!ENTITY dbus-home "https://www.freedesktop.org/wiki/Software/dbus"> <!ENTITY dbus-home "https://www.freedesktop.org/wiki/Software/dbus">
<!ENTITY dbus-fin-du "17 MB"> <!ENTITY dbus-fin-du "17 MB">
<!ENTITY dbus-fin-sbu "0.1 SBU"> <!ENTITY dbus-fin-sbu "0.1 SBU">
@ -130,10 +122,10 @@
<!ENTITY dejagnu-tmp-du "6.9 MB"> <!ENTITY dejagnu-tmp-du "6.9 MB">
<!ENTITY dejagnu-tmp-sbu "less than 0.1 SBU"> <!ENTITY dejagnu-tmp-sbu "less than 0.1 SBU">
<!ENTITY diffutils-version "3.11"> <!ENTITY diffutils-version "3.12">
<!ENTITY diffutils-size "1,881 KB"> <!ENTITY diffutils-size "1,894 KB">
<!ENTITY diffutils-url "&gnu;diffutils/diffutils-&diffutils-version;.tar.xz"> <!ENTITY diffutils-url "&gnu;diffutils/diffutils-&diffutils-version;.tar.xz">
<!ENTITY diffutils-md5 "75ab2bb7b5ac0e3e10cece85bd1780c2"> <!ENTITY diffutils-md5 "d1b18b20868fb561f77861cd90b05de4">
<!ENTITY diffutils-home "&gnu-software;diffutils/"> <!ENTITY diffutils-home "&gnu-software;diffutils/">
<!ENTITY diffutils-tmp-du "35 MB"> <!ENTITY diffutils-tmp-du "35 MB">
<!ENTITY diffutils-tmp-sbu "0.1 SBU"> <!ENTITY diffutils-tmp-sbu "0.1 SBU">
@ -148,18 +140,18 @@
<!ENTITY e2fsprogs-fin-du "99 MB"> <!ENTITY e2fsprogs-fin-du "99 MB">
<!ENTITY e2fsprogs-fin-sbu "2.4 SBU on a spinning disk, 0.5 SBU on an SSD"> <!ENTITY e2fsprogs-fin-sbu "2.4 SBU on a spinning disk, 0.5 SBU on an SSD">
<!ENTITY elfutils-version "0.192"> <!-- libelf --> <!ENTITY elfutils-version "0.193"> <!-- libelf -->
<!ENTITY elfutils-size "11,635 KB"> <!ENTITY elfutils-size "11,695 KB">
<!ENTITY elfutils-url "https://sourceware.org/ftp/elfutils/&elfutils-version;/elfutils-&elfutils-version;.tar.bz2"> <!ENTITY elfutils-url "https://sourceware.org/ftp/elfutils/&elfutils-version;/elfutils-&elfutils-version;.tar.bz2">
<!ENTITY elfutils-md5 "a6bb1efc147302cfc15b5c2b827f186a"> <!ENTITY elfutils-md5 "ceefa052ded950a4c523688799193a44">
<!ENTITY elfutils-home "https://sourceware.org/elfutils/"> <!ENTITY elfutils-home "https://sourceware.org/elfutils/">
<!ENTITY elfutils-fin-du "135 MB"> <!ENTITY elfutils-fin-du "135 MB">
<!ENTITY elfutils-fin-sbu "0.3 SBU"> <!ENTITY elfutils-fin-sbu "0.3 SBU">
<!ENTITY expat-version "2.6.4"> <!ENTITY expat-version "2.7.1">
<!ENTITY expat-size "476 KB"> <!ENTITY expat-size "485 KB">
<!ENTITY expat-url "&sourceforge;expat/expat-&expat-version;.tar.xz"> <!ENTITY expat-url "&github;/libexpat/libexpat/releases/download/R_2_7_1/expat-&expat-version;.tar.xz">
<!ENTITY expat-md5 "101fe3e320a2800f36af8cf4045b45c7"> <!ENTITY expat-md5 "9f0c266ff4b9720beae0c6bd53ae4469">
<!ENTITY expat-home "https://libexpat.github.io/"> <!ENTITY expat-home "https://libexpat.github.io/">
<!ENTITY expat-fin-du "14 MB"> <!ENTITY expat-fin-du "14 MB">
<!ENTITY expat-fin-sbu "0.1 SBU"> <!ENTITY expat-fin-sbu "0.1 SBU">
@ -200,28 +192,28 @@
<!ENTITY flex-fin-du "33 MB"> <!ENTITY flex-fin-du "33 MB">
<!ENTITY flex-fin-sbu "0.1 SBU"> <!ENTITY flex-fin-sbu "0.1 SBU">
<!ENTITY flit-core-version "3.11.0"> <!ENTITY flit-core-version "3.12.0">
<!ENTITY flit-core-size "51 KB"> <!ENTITY flit-core-size "53 KB">
<!ENTITY flit-core-url "&pypi-src;/f/flit-core/flit_core-&flit-core-version;.tar.gz"> <!ENTITY flit-core-url "&pypi-src;/f/flit-core/flit_core-&flit-core-version;.tar.gz">
<!ENTITY flit-core-md5 "6d677b1acef1769c4c7156c7508e0dbd"> <!ENTITY flit-core-md5 "c538415c1f27bd69cbbbf3cdd5135d39">
<!ENTITY flit-core-home "&pypi-home;/flit-core/"> <!ENTITY flit-core-home "&pypi-home;/flit-core/">
<!ENTITY flit-core-fin-du "1.0 MB"> <!ENTITY flit-core-fin-du "1.0 MB">
<!ENTITY flit-core-fin-sbu "less than 0.1 SBU"> <!ENTITY flit-core-fin-sbu "less than 0.1 SBU">
<!ENTITY gawk-version "5.3.1"> <!ENTITY gawk-version "5.3.2">
<!ENTITY gawk-size "3,428 KB"> <!ENTITY gawk-size "3,662 KB">
<!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz"> <!ENTITY gawk-url "&gnu;gawk/gawk-&gawk-version;.tar.xz">
<!ENTITY gawk-md5 "4e9292a06b43694500e0620851762eec"> <!ENTITY gawk-md5 "b7014650c5f45e5d4837c31209dc0037">
<!ENTITY gawk-home "&gnu-software;gawk/"> <!ENTITY gawk-home "&gnu-software;gawk/">
<!ENTITY gawk-tmp-du "47 MB"> <!ENTITY gawk-tmp-du "47 MB">
<!ENTITY gawk-tmp-sbu "0.1 SBU"> <!ENTITY gawk-tmp-sbu "0.1 SBU">
<!ENTITY gawk-fin-du "43 MB"> <!ENTITY gawk-fin-du "43 MB">
<!ENTITY gawk-fin-sbu "0.2 SBU"> <!ENTITY gawk-fin-sbu "0.2 SBU">
<!ENTITY gcc-version "14.2.0"> <!ENTITY gcc-version "15.1.0">
<!ENTITY gcc-size "90,144 KB"> <!ENTITY gcc-size "95,966 KB">
<!ENTITY gcc-url "&gnu;gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.xz"> <!ENTITY gcc-url "&gnu;gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.xz">
<!ENTITY gcc-md5 "2268420ba02dc01821960e274711bde0"> <!ENTITY gcc-md5 "e55d13c55428bca27b4d2ea02f883135">
<!ENTITY gcc-home "https://gcc.gnu.org/"> <!ENTITY gcc-home "https://gcc.gnu.org/">
<!ENTITY gcc-tmpp1-du "4.8 GB"> <!ENTITY gcc-tmpp1-du "4.8 GB">
<!ENTITY gcc-tmpp1-sbu "3.2 SBU"> <!ENTITY gcc-tmpp1-sbu "3.2 SBU">
@ -237,18 +229,18 @@
<!ENTITY libstdcpp-tmpp1-du "850 MB"> <!ENTITY libstdcpp-tmpp1-du "850 MB">
<!ENTITY libstdcpp-tmpp1-sbu "0.2 SBU"> <!ENTITY libstdcpp-tmpp1-sbu "0.2 SBU">
<!ENTITY gdbm-version "1.24"> <!ENTITY gdbm-version "1.25">
<!ENTITY gdbm-size "1,168 KB"> <!ENTITY gdbm-size "1,196 KB">
<!ENTITY gdbm-url "&gnu;gdbm/gdbm-&gdbm-version;.tar.gz"> <!ENTITY gdbm-url "&gnu;gdbm/gdbm-&gdbm-version;.tar.gz">
<!ENTITY gdbm-md5 "c780815649e52317be48331c1773e987"> <!ENTITY gdbm-md5 "46266720c7980b75f29e3554aeaeb7a8">
<!ENTITY gdbm-home "&gnu-software;gdbm/"> <!ENTITY gdbm-home "&gnu-software;gdbm/">
<!ENTITY gdbm-fin-du "13 MB"> <!ENTITY gdbm-fin-du "13 MB">
<!ENTITY gdbm-fin-sbu "less than 0.1 SBU"> <!ENTITY gdbm-fin-sbu "less than 0.1 SBU">
<!ENTITY gettext-version "0.24"> <!ENTITY gettext-version "0.25">
<!ENTITY gettext-size "8,120 KB"> <!ENTITY gettext-size "9,701 KB">
<!ENTITY gettext-url "&gnu;gettext/gettext-&gettext-version;.tar.xz"> <!ENTITY gettext-url "&gnu;gettext/gettext-&gettext-version;.tar.xz">
<!ENTITY gettext-md5 "87aea3013802a3c60fa3feb5c7164069"> <!ENTITY gettext-md5 "355a09fa53ae2e87dd493e040d437874">
<!ENTITY gettext-home "&gnu-software;gettext/"> <!ENTITY gettext-home "&gnu-software;gettext/">
<!ENTITY gettext-tmp-du "349 MB"> <!ENTITY gettext-tmp-du "349 MB">
<!ENTITY gettext-tmp-sbu "1.3 SBU"> <!ENTITY gettext-tmp-sbu "1.3 SBU">
@ -273,18 +265,18 @@
<!ENTITY gmp-fin-du "54 MB"> <!ENTITY gmp-fin-du "54 MB">
<!ENTITY gmp-fin-sbu "0.3 SBU"> <!ENTITY gmp-fin-sbu "0.3 SBU">
<!ENTITY gperf-version "3.1"> <!ENTITY gperf-version "3.3">
<!ENTITY gperf-size "1,188 KB"> <!ENTITY gperf-size "1,789 KB">
<!ENTITY gperf-url "&gnu;gperf/gperf-&gperf-version;.tar.gz"> <!ENTITY gperf-url "&gnu;gperf/gperf-&gperf-version;.tar.gz">
<!ENTITY gperf-md5 "9e251c0a618ad0824b51117d5d9db87e"> <!ENTITY gperf-md5 "31753b021ea78a21f154bf9eecb8b079">
<!ENTITY gperf-home "&gnu-software;gperf/"> <!ENTITY gperf-home "&gnu-software;gperf/">
<!ENTITY gperf-fin-du "6.1 MB"> <!ENTITY gperf-fin-du "6.1 MB">
<!ENTITY gperf-fin-sbu "less than 0.1 SBU"> <!ENTITY gperf-fin-sbu "less than 0.1 SBU">
<!ENTITY grep-version "3.11"> <!ENTITY grep-version "3.12">
<!ENTITY grep-size "1,664 KB"> <!ENTITY grep-size "1,874 KB">
<!ENTITY grep-url "&gnu;grep/grep-&grep-version;.tar.xz"> <!ENTITY grep-url "&gnu;grep/grep-&grep-version;.tar.xz">
<!ENTITY grep-md5 "7c9bbd74492131245f7cdb291fa142c0"> <!ENTITY grep-md5 "5d9301ed9d209c4a88c8d3a6fd08b9ac">
<!ENTITY grep-home "&gnu-software;grep/"> <!ENTITY grep-home "&gnu-software;grep/">
<!ENTITY grep-tmp-du "27 MB"> <!ENTITY grep-tmp-du "27 MB">
<!ENTITY grep-tmp-sbu "0.1 SBU"> <!ENTITY grep-tmp-sbu "0.1 SBU">
@ -307,20 +299,20 @@
<!ENTITY grub-fin-du "166 MB"> <!ENTITY grub-fin-du "166 MB">
<!ENTITY grub-fin-sbu "0.3 SBU"> <!ENTITY grub-fin-sbu "0.3 SBU">
<!ENTITY gzip-version "1.13"> <!ENTITY gzip-version "1.14">
<!ENTITY gzip-size "819 KB"> <!ENTITY gzip-size "865 KB">
<!ENTITY gzip-url "&gnu;gzip/gzip-&gzip-version;.tar.xz"> <!ENTITY gzip-url "&gnu;gzip/gzip-&gzip-version;.tar.xz">
<!ENTITY gzip-md5 "d5c9fc9441288817a4a0be2da0249e29"> <!ENTITY gzip-md5 "4bf5a10f287501ee8e8ebe00ef62b2c2">
<!ENTITY gzip-home "&gnu-software;gzip/"> <!ENTITY gzip-home "&gnu-software;gzip/">
<!ENTITY gzip-tmp-du "11 MB"> <!ENTITY gzip-tmp-du "11 MB">
<!ENTITY gzip-tmp-sbu "0.1 SBU"> <!ENTITY gzip-tmp-sbu "0.1 SBU">
<!ENTITY gzip-fin-du "21 MB"> <!ENTITY gzip-fin-du "21 MB">
<!ENTITY gzip-fin-sbu "0.3 SBU"> <!ENTITY gzip-fin-sbu "0.3 SBU">
<!ENTITY iana-etc-version "20250123"> <!ENTITY iana-etc-version "20250519">
<!ENTITY iana-etc-size "591 KB"> <!ENTITY iana-etc-size "592 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-url "https://github.com/Mic92/iana-etc/releases/download/&iana-etc-version;/iana-etc-&iana-etc-version;.tar.gz">
<!ENTITY iana-etc-md5 "f8a0ebdc19a5004cf42d8bdcf614fa5d"> <!ENTITY iana-etc-md5 "45778351c7eda633946a777cd8e24eb8">
<!ENTITY iana-etc-home "https://www.iana.org/protocols"> <!ENTITY iana-etc-home "https://www.iana.org/protocols">
<!ENTITY iana-etc-fin-du "4.8 MB"> <!ENTITY iana-etc-fin-du "4.8 MB">
<!ENTITY iana-etc-fin-sbu "less than 0.1 SBU"> <!ENTITY iana-etc-fin-sbu "less than 0.1 SBU">
@ -341,42 +333,42 @@
<!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 "6.13.0"> <!ENTITY iproute2-version "6.14.0">
<!ENTITY iproute2-size "906 KB"> <!ENTITY iproute2-size "908 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 "1603d25120d03feeaba9b360d03ffaec"> <!ENTITY iproute2-md5 "84ee9c0b8bc09623e20c1341c9525024">
<!ENTITY iproute2-home "&kernel;linux/utils/net/iproute2/"> <!ENTITY iproute2-home "&kernel;linux/utils/net/iproute2/">
<!ENTITY iproute2-fin-du "17 MB"> <!ENTITY iproute2-fin-du "17 MB">
<!ENTITY iproute2-fin-sbu "0.1 SBU"> <!ENTITY iproute2-fin-sbu "0.1 SBU">
<!ENTITY jinja2-version "3.1.5"> <!ENTITY jinja2-version "3.1.6">
<!ENTITY jinja2-size "239 KB"> <!ENTITY jinja2-size "240 KB">
<!ENTITY jinja2-url "&pypi-src;/J/Jinja2/jinja2-&jinja2-version;.tar.gz"> <!ENTITY jinja2-url "&pypi-src;/J/Jinja2/jinja2-&jinja2-version;.tar.gz">
<!ENTITY jinja2-md5 "083d64f070f6f1b5f75971ae60240785"> <!ENTITY jinja2-md5 "66d4c25ff43d1deaf9637ccda523dec8">
<!ENTITY jinja2-home "https://jinja.palletsprojects.com/en/3.1.x/"> <!ENTITY jinja2-home "https://jinja.palletsprojects.com/en/3.1.x/">
<!ENTITY jinja2-fin-du "2.5 MB"> <!ENTITY jinja2-fin-du "2.5 MB">
<!ENTITY jinja2-fin-sbu "less than 0.1 SBU"> <!ENTITY jinja2-fin-sbu "less than 0.1 SBU">
<!ENTITY kbd-version "2.7.1"> <!ENTITY kbd-version "2.8.0">
<!ENTITY kbd-size "1,438 KB"> <!ENTITY kbd-size "1,448 KB">
<!ENTITY kbd-url "https://www.kernel.org/pub/linux/utils/kbd/kbd-&kbd-version;.tar.xz"> <!ENTITY kbd-url "https://www.kernel.org/pub/linux/utils/kbd/kbd-&kbd-version;.tar.xz">
<!ENTITY kbd-md5 "f15673d9f748e58f82fa50cff0d0fd20"> <!ENTITY kbd-md5 "24b5d24f7483726b88f214dc6c77aa41">
<!ENTITY kbd-home "https://kbd-project.org/"> <!ENTITY kbd-home "https://kbd-project.org/">
<!ENTITY kbd-fin-du "34 MB"> <!ENTITY kbd-fin-du "34 MB">
<!ENTITY kbd-fin-sbu "0.1 SBU"> <!ENTITY kbd-fin-sbu "0.1 SBU">
<!ENTITY kmod-version "34"> <!ENTITY kmod-version "34.2">
<!ENTITY kmod-size "331 KB"> <!ENTITY kmod-size "434 KB">
<!ENTITY kmod-url "&kernel;linux/utils/kernel/kmod/kmod-&kmod-version;.tar.xz"> <!ENTITY kmod-url "&kernel;linux/utils/kernel/kmod/kmod-&kmod-version;.tar.xz">
<!ENTITY kmod-md5 "3e6c5c9ad9c7367ab9c3cc4f08dfde62"> <!ENTITY kmod-md5 "36f2cc483745e81ede3406fa55e1065a">
<!ENTITY kmod-home "https://github.com/kmod-project/kmod"> <!ENTITY kmod-home "https://github.com/kmod-project/kmod">
<!ENTITY kmod-fin-du "11 MB"> <!ENTITY kmod-fin-du "11 MB">
<!ENTITY kmod-fin-sbu "less than 0.1 SBU"> <!ENTITY kmod-fin-sbu "less than 0.1 SBU">
<!ENTITY less-version "668"> <!ENTITY less-version "678">
<!ENTITY less-size "635 KB"> <!ENTITY less-size "857 KB">
<!ENTITY less-url "https://www.greenwoodsoftware.com/less/less-&less-version;.tar.gz"> <!ENTITY less-url "https://www.greenwoodsoftware.com/less/less-&less-version;.tar.gz">
<!ENTITY less-md5 "d72760386c5f80702890340d2f66c302"> <!ENTITY less-md5 "19b055a2ee7db1bf910380fd04c41ffc">
<!ENTITY less-home "https://www.greenwoodsoftware.com/less/"> <!ENTITY less-home "https://www.greenwoodsoftware.com/less/">
<!ENTITY less-fin-du "14 MB"> <!ENTITY less-fin-du "14 MB">
<!ENTITY less-fin-sbu "less than 0.1 SBU"> <!ENTITY less-fin-sbu "less than 0.1 SBU">
@ -389,18 +381,18 @@
<!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.73"> <!ENTITY libcap-version "2.76">
<!ENTITY libcap-size "191 KB"> <!ENTITY libcap-size "195 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 "0e186df9de9b1e925593a96684fe2e32"> <!ENTITY libcap-md5 "449ade7d620b5c4eeb15a632fbaa4f74">
<!ENTITY libcap-home "https://sites.google.com/site/fullycapable/"> <!ENTITY libcap-home "https://sites.google.com/site/fullycapable/">
<!ENTITY libcap-fin-du "3.0 MB"> <!ENTITY libcap-fin-du "3.0 MB">
<!ENTITY libcap-fin-sbu "less than 0.1 SBU"> <!ENTITY libcap-fin-sbu "less than 0.1 SBU">
<!ENTITY libffi-version "3.4.7"> <!ENTITY libffi-version "3.4.8">
<!ENTITY libffi-size "1,362 KB"> <!ENTITY libffi-size "1,366 KB">
<!ENTITY libffi-url "https://github.com/libffi/libffi/releases/download/v&libffi-version;/libffi-&libffi-version;.tar.gz"> <!ENTITY libffi-url "https://github.com/libffi/libffi/releases/download/v&libffi-version;/libffi-&libffi-version;.tar.gz">
<!ENTITY libffi-md5 "696a1d483a1174ce8a477575546a5284"> <!ENTITY libffi-md5 "ba5fc49d57d13b9e6cecd0c78d76688b">
<!ENTITY libffi-home "https://sourceware.org/libffi/"> <!ENTITY libffi-home "https://sourceware.org/libffi/">
<!ENTITY libffi-fin-du "11 MB"> <!ENTITY libffi-fin-du "11 MB">
<!ENTITY libffi-fin-sbu "1.7 SBU"> <!ENTITY libffi-fin-sbu "1.7 SBU">
@ -430,13 +422,13 @@
<!ENTITY libxcrypt-fin-sbu "0.1 SBU"> <!ENTITY libxcrypt-fin-sbu "0.1 SBU">
<!ENTITY linux-major-version "6"> <!ENTITY linux-major-version "6">
<!ENTITY linux-minor-version "13"> <!ENTITY linux-minor-version "14">
<!ENTITY linux-patch-version "4"> <!ENTITY linux-patch-version "6">
<!--<!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 "145,015 KB"> <!ENTITY linux-size "145,972 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 "13b9e6c29105a34db4647190a43d1810"> <!ENTITY linux-md5 "994a5e99e8529bf69e9a2e4f52c0a832">
<!ENTITY linux-home "https://www.kernel.org/"> <!ENTITY linux-home "https://www.kernel.org/">
<!-- measured for 6.10.1 / gcc-14.1.0 on x86_64 with -j4 : <!-- measured for 6.10.1 / gcc-14.1.0 on x86_64 with -j4 :
minimum is allnoconfig minimum is allnoconfig
@ -459,10 +451,10 @@
<!ENTITY lz4-fin-du "4.2 MB"> <!ENTITY lz4-fin-du "4.2 MB">
<!ENTITY lz4-fin-sbu "0.1 SBU"> <!ENTITY lz4-fin-sbu "0.1 SBU">
<!ENTITY m4-version "1.4.19"> <!ENTITY m4-version "1.4.20">
<!ENTITY m4-size "1,617 KB"> <!ENTITY m4-size "1,997 KB">
<!ENTITY m4-url "&gnu;m4/m4-&m4-version;.tar.xz"> <!ENTITY m4-url "&gnu;m4/m4-&m4-version;.tar.xz">
<!ENTITY m4-md5 "0d90823e1426f1da2fd872df0311298d"> <!ENTITY m4-md5 "6eb2ebed5b24e74b6e890919331d2132">
<!ENTITY m4-home "&gnu-software;m4/"> <!ENTITY m4-home "&gnu-software;m4/">
<!ENTITY m4-tmp-du "32 MB"> <!ENTITY m4-tmp-du "32 MB">
<!ENTITY m4-tmp-sbu "0.1 SBU"> <!ENTITY m4-tmp-sbu "0.1 SBU">
@ -479,18 +471,18 @@
<!ENTITY make-fin-du "13 MB"> <!ENTITY make-fin-du "13 MB">
<!ENTITY make-fin-sbu "0.7 SBU"> <!ENTITY make-fin-sbu "0.7 SBU">
<!ENTITY man-db-version "2.13.0"> <!ENTITY man-db-version "2.13.1">
<!ENTITY man-db-size "2,023 KB"> <!ENTITY man-db-size "2,061 KB">
<!ENTITY man-db-url "&savannah;/releases/man-db/man-db-&man-db-version;.tar.xz"> <!ENTITY man-db-url "&savannah;/releases/man-db/man-db-&man-db-version;.tar.xz">
<!ENTITY man-db-md5 "97ab5f9f32914eef2062d867381d8cee"> <!ENTITY man-db-md5 "b6335533cbeac3b24cd7be31fdee8c83">
<!ENTITY man-db-home "https://www.nongnu.org/man-db/"> <!ENTITY man-db-home "https://www.nongnu.org/man-db/">
<!ENTITY man-db-fin-du "44 MB"> <!ENTITY man-db-fin-du "44 MB">
<!ENTITY man-db-fin-sbu "0.3 SBU"> <!ENTITY man-db-fin-sbu "0.3 SBU">
<!ENTITY man-pages-version "6.12"> <!ENTITY man-pages-version "6.14">
<!ENTITY man-pages-size "1,838 KB"> <!ENTITY man-pages-size "1,814 KB">
<!ENTITY man-pages-url "&kernel;linux/docs/man-pages/man-pages-&man-pages-version;.tar.xz"> <!ENTITY man-pages-url "&kernel;linux/docs/man-pages/man-pages-&man-pages-version;.tar.xz">
<!ENTITY man-pages-md5 "44de430a598605eaba3e36dd43f24298"> <!ENTITY man-pages-md5 "d0c9b48d6c4b4c26ec580970c461ebfa">
<!ENTITY man-pages-home "https://www.kernel.org/doc/man-pages/"> <!ENTITY man-pages-home "https://www.kernel.org/doc/man-pages/">
<!ENTITY man-pages-fin-du "52 MB"> <!ENTITY man-pages-fin-du "52 MB">
<!ENTITY man-pages-fin-sbu "0.1 SBU"> <!ENTITY man-pages-fin-sbu "0.1 SBU">
@ -503,10 +495,10 @@
<!ENTITY markupsafe-fin-du "500 KB"> <!ENTITY markupsafe-fin-du "500 KB">
<!ENTITY markupsafe-fin-sbu "less than 0.1 SBU"> <!ENTITY markupsafe-fin-sbu "less than 0.1 SBU">
<!ENTITY meson-version "1.7.0"> <!ENTITY meson-version "1.8.1">
<!ENTITY meson-size "2,241 KB"> <!ENTITY meson-size "2,278 KB">
<!ENTITY meson-url "&github;/mesonbuild/meson/releases/download/&meson-version;/meson-&meson-version;.tar.gz"> <!ENTITY meson-url "&github;/mesonbuild/meson/releases/download/&meson-version;/meson-&meson-version;.tar.gz">
<!ENTITY meson-md5 "c20f3e5ebbb007352d22f4fd6ceb925c"> <!ENTITY meson-md5 "5cfd7e2b2246d874746d68ffd43a0774">
<!ENTITY meson-home "https://mesonbuild.com"> <!ENTITY meson-home "https://mesonbuild.com">
<!ENTITY meson-fin-du "44 MB"> <!ENTITY meson-fin-du "44 MB">
<!ENTITY meson-fin-sbu "less than 0.1 SBU"> <!ENTITY meson-fin-sbu "less than 0.1 SBU">
@ -519,18 +511,19 @@
<!ENTITY mpc-fin-du "22 MB"> <!ENTITY mpc-fin-du "22 MB">
<!ENTITY mpc-fin-sbu "0.1 SBU"> <!ENTITY mpc-fin-sbu "0.1 SBU">
<!ENTITY mpfr-version "4.2.1"> <!ENTITY mpfr-version "4.2.2">
<!ENTITY mpfr-size "1,459 KB"> <!ENTITY mpfr-size "1,471 KB">
<!ENTITY mpfr-url "https://ftp.gnu.org/gnu/mpfr/mpfr-&mpfr-version;.tar.xz"> <!ENTITY mpfr-url "https://ftp.gnu.org/gnu/mpfr/mpfr-&mpfr-version;.tar.xz">
<!ENTITY mpfr-md5 "523c50c6318dde6f9dc523bc0244690a"> <!ENTITY mpfr-md5 "7c32c39b8b6e3ae85f25156228156061">
<!ENTITY mpfr-home "https://www.mpfr.org/"> <!ENTITY mpfr-home "https://www.mpfr.org/">
<!ENTITY mpfr-fin-du "43 MB"> <!ENTITY mpfr-fin-du "43 MB">
<!ENTITY mpfr-fin-sbu "0.2 SBU"> <!ENTITY mpfr-fin-sbu "0.2 SBU">
<!ENTITY ncurses-version "6.5"> <!ENTITY ncurses-version "6.5-20250531">
<!ENTITY ncurses-size "2,156 KB"> <!ENTITY ncurses-base-version "6.5">
<!ENTITY ncurses-url "https://invisible-mirror.net/archives/ncurses/ncurses-&ncurses-version;.tar.gz"> <!ENTITY ncurses-size "3,700 KB">
<!ENTITY ncurses-md5 "ac2d2629296f04c8537ca706b6977687"> <!ENTITY ncurses-url "https://invisible-mirror.net/archives/ncurses/current/ncurses-&ncurses-version;.tgz">
<!ENTITY ncurses-md5 "5104913b6dc4804c45442b710c9ae912">
<!ENTITY ncurses-home "&gnu-software;ncurses/"> <!ENTITY ncurses-home "&gnu-software;ncurses/">
<!ENTITY ncurses-tmp-du "53 MB"> <!ENTITY ncurses-tmp-du "53 MB">
<!ENTITY ncurses-tmp-sbu "0.4 SBU"> <!ENTITY ncurses-tmp-sbu "0.4 SBU">
@ -545,18 +538,26 @@
<!ENTITY ninja-fin-du "37 MB"> <!ENTITY ninja-fin-du "37 MB">
<!ENTITY ninja-fin-sbu "0.2 SBU"> <!ENTITY ninja-fin-sbu "0.2 SBU">
<!ENTITY openssl-version "3.4.1"> <!ENTITY openssl-version "3.5.0">
<!ENTITY openssl-size "17,917 KB"> <!ENTITY openssl-size "51,892 KB">
<!ENTITY openssl-url "&github;/openssl/openssl/releases/download/openssl-&openssl-version;/openssl-&openssl-version;.tar.gz"> <!ENTITY openssl-url "&github;/openssl/openssl/releases/download/openssl-&openssl-version;/openssl-&openssl-version;.tar.gz">
<!ENTITY openssl-md5 "fb7a747ac6793a7ad7118eaba45db379"> <!ENTITY openssl-md5 "51da7d2bdf7f4f508cb024f562eb9b03">
<!ENTITY openssl-home "https://www.openssl-library.org/"> <!ENTITY openssl-home "https://www.openssl-library.org/">
<!ENTITY openssl-fin-du "920 MB"> <!ENTITY openssl-fin-du "920 MB">
<!ENTITY openssl-fin-sbu "1.8 SBU"> <!ENTITY openssl-fin-sbu "1.8 SBU">
<!ENTITY patch-version "2.7.6"> <!ENTITY packaging-version "25.0">
<!ENTITY patch-size "766 KB"> <!ENTITY packaging-size "162 KB">
<!ENTITY packaging-url "https://files.pythonhosted.org/packages/source/p/packaging/packaging-&packaging-version;.tar.gz">
<!ENTITY packaging-md5 "ab0ef21ddebe09d1803575120d3f99f8">
<!ENTITY packaging-home "&pypi-home;/packaging/">
<!ENTITY packaging-fin-du "2.7 MB">
<!ENTITY packaging-fin-sbu "less than 0.1 SBU">
<!ENTITY patch-version "2.8">
<!ENTITY patch-size "886 KB">
<!ENTITY patch-url "&gnu;patch/patch-&patch-version;.tar.xz"> <!ENTITY patch-url "&gnu;patch/patch-&patch-version;.tar.xz">
<!ENTITY patch-md5 "78ad9937e4caadcba1526ef1853730d5"> <!ENTITY patch-md5 "149327a021d41c8f88d034eab41c039f">
<!ENTITY patch-home "https://savannah.gnu.org/projects/patch/"> <!ENTITY patch-home "https://savannah.gnu.org/projects/patch/">
<!ENTITY patch-tmp-du "12 MB"> <!ENTITY patch-tmp-du "12 MB">
<!ENTITY patch-tmp-sbu "0.1 SBU"> <!ENTITY patch-tmp-sbu "0.1 SBU">
@ -565,22 +566,22 @@
<!ENTITY perl-version-major "5"> <!ENTITY perl-version-major "5">
<!ENTITY perl-version-minor "40"> <!ENTITY perl-version-minor "40">
<!ENTITY perl-version-patch "1"> <!ENTITY perl-version-patch "2">
<!ENTITY perl-version-min "&perl-version-major;.&perl-version-minor;"> <!ENTITY perl-version-min "&perl-version-major;.&perl-version-minor;">
<!ENTITY perl-version "&perl-version-major;.&perl-version-minor;.&perl-version-patch;"> <!ENTITY perl-version "&perl-version-major;.&perl-version-minor;.&perl-version-patch;">
<!ENTITY perl-size "13,605 KB"> <!ENTITY perl-size "13,598 KB">
<!ENTITY perl-url "https://www.cpan.org/src/5.0/perl-&perl-version;.tar.xz"> <!ENTITY perl-url "https://www.cpan.org/src/5.0/perl-&perl-version;.tar.xz">
<!ENTITY perl-md5 "bab3547a5cdf2302ee0396419d74a42e"> <!ENTITY perl-md5 "9ad7a269dc4053cdbeecd4fde444291b">
<!ENTITY perl-home "https://www.perl.org/"> <!ENTITY perl-home "https://www.perl.org/">
<!ENTITY perl-tmp-du "285 MB"> <!ENTITY perl-tmp-du "285 MB">
<!ENTITY perl-tmp-sbu "0.6 SBU"> <!ENTITY perl-tmp-sbu "0.6 SBU">
<!ENTITY perl-fin-du "245 MB"> <!ENTITY perl-fin-du "245 MB">
<!ENTITY perl-fin-sbu "1.3 SBU"> <!ENTITY perl-fin-sbu "1.3 SBU">
<!ENTITY pkgconf-version "2.3.0"> <!ENTITY pkgconf-version "2.4.3">
<!ENTITY pkgconf-size "309 KB"> <!ENTITY pkgconf-size "314 KB">
<!ENTITY pkgconf-url "https://distfiles.ariadne.space/pkgconf/pkgconf-&pkgconf-version;.tar.xz"> <!ENTITY pkgconf-url "https://distfiles.ariadne.space/pkgconf/pkgconf-&pkgconf-version;.tar.xz">
<!ENTITY pkgconf-md5 "833363e77b5bed0131c7bc4cc6f7747b"> <!ENTITY pkgconf-md5 "781a513f4ca3d068155482a37986d594">
<!ENTITY pkgconf-home "https://github.com/pkgconf/pkgconf"> <!ENTITY pkgconf-home "https://github.com/pkgconf/pkgconf">
<!ENTITY pkgconf-fin-du "4.7 MB"> <!ENTITY pkgconf-fin-du "4.7 MB">
<!ENTITY pkgconf-fin-sbu "less than 0.1 SBU"> <!ENTITY pkgconf-fin-sbu "less than 0.1 SBU">
@ -604,25 +605,25 @@
<!-- 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.13.2"> <!ENTITY python-version "3.13.4">
<!ENTITY python-minor "3.13"> <!ENTITY python-minor "3.13">
<!ENTITY python-size "22,091 KB"> <!ENTITY python-size "22,142 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 "4c2d9202ab4db02c9d0999b14655dfe5"> <!ENTITY python-md5 "2e2a8eb2e1be50049dc4248d99a52f89">
<!ENTITY python-home "https://www.python.org/"> <!ENTITY python-home "https://www.python.org/">
<!ENTITY python-tmp-du "634 MB"> <!ENTITY python-tmp-du "634 MB">
<!ENTITY python-tmp-sbu "0.5 SBU"> <!ENTITY python-tmp-sbu "0.5 SBU">
<!ENTITY python-fin-du "501 MB"> <!ENTITY python-fin-du "501 MB">
<!ENTITY python-fin-sbu "2.1 SBU"> <!ENTITY python-fin-sbu "2.1 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 "d6aede88f480a018d26b3206f21654ae"> <!ENTITY python-docs-md5 "5c708de9d0f811199466f6c712381bbe">
<!ENTITY python-docs-size "10,102 KB"> <!ENTITY python-docs-size "10,128 KB">
<!ENTITY readline-version "8.2.13"> <!ENTITY readline-version "8.3-rc2">
<!ENTITY readline-soversion "8.2"><!-- used for stripping --> <!ENTITY readline-soversion "8.3"><!-- used for stripping -->
<!ENTITY readline-size "2,974 KB"> <!ENTITY readline-size "3,338 KB">
<!ENTITY readline-url "&gnu;readline/readline-&readline-version;.tar.gz"> <!ENTITY readline-url "&gnu;readline/readline-&readline-version;.tar.gz">
<!ENTITY readline-md5 "05080bf3801e6874bb115cd6700b708f"> <!ENTITY readline-md5 "d580a2ab42aa69d09c237b1e2058914d">
<!ENTITY readline-home "https://tiswww.case.edu/php/chet/readline/rltop.html"> <!ENTITY readline-home "https://tiswww.case.edu/php/chet/readline/rltop.html">
<!ENTITY readline-fin-du "16 MB"> <!ENTITY readline-fin-du "16 MB">
<!ENTITY readline-fin-sbu "less than 0.1 SBU"> <!ENTITY readline-fin-sbu "less than 0.1 SBU">
@ -637,45 +638,45 @@
<!ENTITY sed-fin-du "30 MB"> <!ENTITY sed-fin-du "30 MB">
<!ENTITY sed-fin-sbu "0.3 SBU"> <!ENTITY sed-fin-sbu "0.3 SBU">
<!ENTITY setuptools-version "75.8.1"> <!ENTITY setuptools-version "80.9.0">
<!ENTITY setuptools-size "1,313 KB"> <!ENTITY setuptools-size "1,290 KB">
<!ENTITY setuptools-url "&pypi-src;/s/setuptools/setuptools-&setuptools-version;.tar.gz"> <!ENTITY setuptools-url "&pypi-src;/s/setuptools/setuptools-&setuptools-version;.tar.gz">
<!ENTITY setuptools-md5 "7dc3d3f529b76b10e35326e25c676b30"> <!ENTITY setuptools-md5 "82e1d67883b713f9493659b50d13b436">
<!ENTITY setuptools-home "&pypi-home;/setuptools/"> <!ENTITY setuptools-home "&pypi-home;/setuptools/">
<!ENTITY setuptools-fin-du "26 MB"> <!ENTITY setuptools-fin-du "26 MB">
<!ENTITY setuptools-fin-sbu "less than 0.1 SBU"> <!ENTITY setuptools-fin-sbu "less than 0.1 SBU">
<!ENTITY shadow-version "4.17.3"> <!ENTITY shadow-version "4.17.4">
<!ENTITY shadow-size "2,274 KB"> <!ENTITY shadow-size "2,273 KB">
<!ENTITY shadow-url "&github;/shadow-maint/shadow/releases/download/&shadow-version;/shadow-&shadow-version;.tar.xz"> <!ENTITY shadow-url "&github;/shadow-maint/shadow/releases/download/&shadow-version;/shadow-&shadow-version;.tar.xz">
<!ENTITY shadow-md5 "0da190e53ecee76237e4c8f3f39531ed"> <!ENTITY shadow-md5 "469666ea82c203ce5b0116d26b3793a9">
<!ENTITY shadow-home "&github;/shadow-maint/shadow/"> <!ENTITY shadow-home "&github;/shadow-maint/shadow/">
<!ENTITY shadow-fin-du "114 MB"> <!ENTITY shadow-fin-du "114 MB">
<!ENTITY shadow-fin-sbu "0.1 SBU"> <!ENTITY shadow-fin-sbu "0.1 SBU">
<!ENTITY sysklogd-version "2.7.0"> <!ENTITY sysklogd-version "2.7.2">
<!ENTITY sysklogd-size "465 KB"> <!ENTITY sysklogd-size "474 KB">
<!ENTITY sysklogd-url "https://github.com/troglobit/sysklogd/releases/download/v&sysklogd-version;/sysklogd-&sysklogd-version;.tar.gz"> <!ENTITY sysklogd-url "https://github.com/troglobit/sysklogd/releases/download/v&sysklogd-version;/sysklogd-&sysklogd-version;.tar.gz">
<!ENTITY sysklogd-md5 "611c0fa5c138eb7a532f3c13bdf11ebc"> <!ENTITY sysklogd-md5 "af60786956a2dc84054fbf46652e515e">
<!ENTITY sysklogd-home "https://www.infodrom.org/projects/sysklogd/"> <!ENTITY sysklogd-home "https://www.infodrom.org/projects/sysklogd/">
<!ENTITY sysklogd-fin-du "4.1 MB"> <!ENTITY sysklogd-fin-du "4.1 MB">
<!ENTITY sysklogd-fin-sbu "less than 0.1 SBU"> <!ENTITY sysklogd-fin-sbu "less than 0.1 SBU">
<!ENTITY systemd-version "257.3"> <!ENTITY systemd-version "257.6">
<!--<!ENTITY systemd-stable "6b4878d">--> <!--<!ENTITY systemd-stable "6b4878d">-->
<!-- The above entity is used whenever we move to a stable backport branch. <!-- 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, 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. --> we will switch to the backport branch until the next stable release. -->
<!ENTITY systemd-size "15,847 KB"> <!ENTITY systemd-size "15,940 KB">
<!ENTITY systemd-url "&github;/systemd/systemd/archive/v&systemd-version;/systemd-&systemd-version;.tar.gz"> <!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-url "&anduin-sources;/systemd-&systemd-version;-&systemd-stable;.tar.xz">-->
<!ENTITY systemd-md5 "8e4fc90c7aead651fa5c50bd1b34abc2"> <!ENTITY systemd-md5 "458b07e140cd65d25baf7752398c5d13">
<!ENTITY systemd-home "https://www.freedesktop.org/wiki/Software/systemd/"> <!ENTITY systemd-home "https://www.freedesktop.org/wiki/Software/systemd/">
<!ENTITY systemd-man-version "257.3"> <!ENTITY systemd-man-version "257.6">
<!ENTITY systemd-man-size "733 KB"> <!ENTITY systemd-man-size "736 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-version;-&systemd-stable;.tar.xz">-->
<!ENTITY systemd-man-url "&anduin-sources;/systemd-man-pages-&systemd-man-version;.tar.xz"> <!ENTITY systemd-man-url "&anduin-sources;/systemd-man-pages-&systemd-man-version;.tar.xz">
<!ENTITY systemd-man-md5 "9b77c3b066723d490cb10aed4fb05696"> <!ENTITY systemd-man-md5 "d06eb41840ab4c6138e30ba78387ef4e">
<!ENTITY systemd-fin-du "307 MB"> <!ENTITY systemd-fin-du "307 MB">
<!ENTITY systemd-fin-sbu "1.1 SBU"> <!ENTITY systemd-fin-sbu "1.1 SBU">
@ -719,10 +720,10 @@
<!ENTITY texinfo-fin-du "160 MB"> <!ENTITY texinfo-fin-du "160 MB">
<!ENTITY texinfo-fin-sbu "0.3 SBU"> <!ENTITY texinfo-fin-sbu "0.3 SBU">
<!ENTITY tzdata-version "2025a"> <!ENTITY tzdata-version "2025b">
<!ENTITY tzdata-size "453 KB"> <!ENTITY tzdata-size "454 KB">
<!ENTITY tzdata-url "https://www.iana.org/time-zones/repository/releases/tzdata&tzdata-version;.tar.gz"> <!ENTITY tzdata-url "https://www.iana.org/time-zones/repository/releases/tzdata&tzdata-version;.tar.gz">
<!ENTITY tzdata-md5 "404229390c06b7440f5e48d12c1a3251"> <!ENTITY tzdata-md5 "ad65154c48c74a9b311fe84778c5434f">
<!ENTITY tzdata-home "https://www.iana.org/time-zones"> <!ENTITY tzdata-home "https://www.iana.org/time-zones">
<!ENTITY udev-lfs-version "udev-lfs-20230818"> <!ENTITY udev-lfs-version "udev-lfs-20230818">
@ -733,21 +734,21 @@
<!ENTITY udev-fin-du "161 MB"> <!ENTITY udev-fin-du "161 MB">
<!ENTITY udev-fin-sbu "0.3 SBU"> <!ENTITY udev-fin-sbu "0.3 SBU">
<!ENTITY util-linux-minor "2.40"> <!ENTITY util-linux-minor "2.41">
<!ENTITY util-linux-version "2.40.4"> <!-- 2.33.x --> <!ENTITY util-linux-version "2.41"> <!-- 2.33.x -->
<!ENTITY util-linux-size "8,641 KB"> <!ENTITY util-linux-size "9,313 KB">
<!ENTITY util-linux-url "&kernel;linux/utils/util-linux/v&util-linux-minor;/util-linux-&util-linux-version;.tar.xz"> <!ENTITY util-linux-url "&kernel;linux/utils/util-linux/v&util-linux-minor;/util-linux-&util-linux-version;.tar.xz">
<!ENTITY util-linux-md5 "f9cbb1c8315d8ccbeb0ec36d10350304"> <!ENTITY util-linux-md5 "e666a34b03554c18a1073347b16661ce">
<!ENTITY util-linux-home "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/"> <!ENTITY util-linux-home "https://git.kernel.org/pub/scm/utils/util-linux/util-linux.git/">
<!ENTITY util-linux-tmp-du "182 MB"> <!ENTITY util-linux-tmp-du "182 MB">
<!ENTITY util-linux-tmp-sbu "0.2 SBU"> <!ENTITY util-linux-tmp-sbu "0.2 SBU">
<!ENTITY util-linux-fin-du "316 MB"> <!ENTITY util-linux-fin-du "316 MB">
<!ENTITY util-linux-fin-sbu "0.5 SBU"> <!ENTITY util-linux-fin-sbu "0.5 SBU">
<!ENTITY vim-version "9.1.1166"> <!ENTITY vim-version "9.1.1418">
<!-- <!ENTITY vim-majmin "90"> --> <!-- <!ENTITY vim-majmin "90"> -->
<!ENTITY vim-docdir "vim/vim91"> <!ENTITY vim-docdir "vim/vim91">
<!ENTITY vim-size "18,077 KB"> <!ENTITY vim-size "18,414 KB">
<!ENTITY vim-url "https://github.com/vim/vim/archive/v&vim-version;/vim-&vim-version;.tar.gz"> <!ENTITY vim-url "https://github.com/vim/vim/archive/v&vim-version;/vim-&vim-version;.tar.gz">
<!-- N.B. LFS 9.0 uses <!-- N.B. LFS 9.0 uses
https://github.com/vim/vim/archive/v8.1.1846/vim-8.1.1846.tar.gz https://github.com/vim/vim/archive/v8.1.1846/vim-8.1.1846.tar.gz
@ -761,15 +762,15 @@
example, https://github.com/vim/vim/tags?after=v8.1.1847 will show example, https://github.com/vim/vim/tags?after=v8.1.1847 will show
us v8.1.1846. --> us v8.1.1846. -->
<!--<!ENTITY vim-url "&anduin-sources;/vim-&vim-version;.tar.gz">--> <!--<!ENTITY vim-url "&anduin-sources;/vim-&vim-version;.tar.gz">-->
<!ENTITY vim-md5 "718d43ce957ab7c81071793de176c2eb"> <!ENTITY vim-md5 "a39c2c90361a39f2206302bb64f51022">
<!ENTITY vim-home "https://www.vim.org"> <!ENTITY vim-home "https://www.vim.org">
<!ENTITY vim-fin-du "251 MB"> <!ENTITY vim-fin-du "251 MB">
<!ENTITY vim-fin-sbu "3.4 SBU"> <!ENTITY vim-fin-sbu "3.4 SBU">
<!ENTITY wheel-version "0.45.1"> <!ENTITY wheel-version "0.46.1">
<!ENTITY wheel-size "106 KB"> <!ENTITY wheel-size "54 KB">
<!ENTITY wheel-url "&pypi-src;/w/wheel/wheel-&wheel-version;.tar.gz"> <!ENTITY wheel-url "&pypi-src;/w/wheel/wheel-&wheel-version;.tar.gz">
<!ENTITY wheel-md5 "dddc505d0573d03576c7c6c5a4fe0641"> <!ENTITY wheel-md5 "65e09ee84af36821e3b1e9564aa91bd5">
<!ENTITY wheel-home "&pypi-home;/wheel/"> <!ENTITY wheel-home "&pypi-home;/wheel/">
<!ENTITY wheel-fin-du "1.6 MB"> <!ENTITY wheel-fin-du "1.6 MB">
<!ENTITY wheel-fin-sbu "less than 0.1 SBU"> <!ENTITY wheel-fin-sbu "less than 0.1 SBU">
@ -782,10 +783,10 @@
<!ENTITY xml-parser-fin-du "2.4 MB"> <!ENTITY xml-parser-fin-du "2.4 MB">
<!ENTITY xml-parser-fin-sbu "less than 0.1 SBU"> <!ENTITY xml-parser-fin-sbu "less than 0.1 SBU">
<!ENTITY xz-version "5.6.4"> <!ENTITY xz-version "5.8.1">
<!ENTITY xz-size "1,310 KB"> <!ENTITY xz-size "1,428 KB">
<!ENTITY xz-url "https://github.com//tukaani-project/xz/releases/download/v&xz-version;/xz-&xz-version;.tar.xz"> <!ENTITY xz-url "https://github.com//tukaani-project/xz/releases/download/v&xz-version;/xz-&xz-version;.tar.xz">
<!ENTITY xz-md5 "4b1cf07d45ec7eb90a01dd3c00311a3e"> <!ENTITY xz-md5 "cf5e1feb023d22c6bdaa30e84ef3abe3">
<!ENTITY xz-home "https://tukaani.org/xz"> <!ENTITY xz-home "https://tukaani.org/xz">
<!ENTITY xz-tmp-du "21 MB"> <!ENTITY xz-tmp-du "21 MB">
<!ENTITY xz-tmp-sbu "0.1 SBU"> <!ENTITY xz-tmp-sbu "0.1 SBU">

View File

@ -3,6 +3,9 @@
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent"> <!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities; %general-entities;
<!ENTITY host-triplet
"<replaceable>&lt;the host triplet&gt;</replaceable>">
]> ]>
<sect1 id="ch-tools-toolchaintechnotes" xreflabel="Toolchain Technical Notes"> <sect1 id="ch-tools-toolchaintechnotes" xreflabel="Toolchain Technical Notes">
@ -44,6 +47,14 @@
book for a cross-toolchain for some purpose other book for a cross-toolchain for some purpose other
than building LFS, unless you really understand what you are doing. than building LFS, unless you really understand what you are doing.
</para> </para>
<para>
It's known installing GCC pass 2 will break the cross-toolchain.
We don't consider it a bug because GCC pass 2 is the last package
to be cross-compiled in the book, and we won't <quote>fix</quote>
it until we really need to cross-compile some package after GCC
pass 2 in the future.
</para>
</note> </note>
<para>Cross-compilation involves some concepts that deserve a section of <para>Cross-compilation involves some concepts that deserve a section of
@ -197,14 +208,105 @@
page</ulink>.</para> page</ulink>.</para>
</note> </note>
<para>In order to fake a cross-compilation in LFS, the name of the host triplet <para>
is slightly adjusted by changing the &quot;vendor&quot; field in the There are two key points for a cross-compilation:
<envar>LFS_TGT</envar> variable so it says &quot;lfs&quot;. We also use the </para>
<parameter>--with-sysroot</parameter> option when building the cross-linker and
cross-compiler, to tell them where to find the needed host files. This <itemizedlist>
ensures that none of the other programs built in <xref <listitem>
linkend="chapter-temporary-tools"/> can link to libraries on the build <para>
machine. Only two stages are mandatory, plus one more for tests.</para> When producing and processing the machine code supposed to be
executed on <quote>the host,</quote> the cross-toolchain must be
used. Note that the native toolchain from <quote>the build</quote>
may be still invoked to generate machine code supposed to be
executed on <quote>the build.</quote> For example, the build system
may compile a generator with the native toolchain, then generate
a C source file with the generator, and finally compile the C
source file with the cross-toolchain so the generated code will
be able to run on <quote>the host.</quote>
</para>
<para>
With an autoconf-based build system, this requirement is ensured
by using the <parameter>--host</parameter> switch to specify
<quote>the host</quote> triplet. With this switch the build
system will use the toolchain components prefixed
with <literal>&host-triplet;</literal>
for generating and processing the machine code for
<quote>the host</quote>; e.g. the compiler will be
<command>&host-triplet;-gcc</command> and the
<command>readelf</command> tool will be
<command>&host-triplet;-readelf</command>.
</para>
</listitem>
<listitem>
<para>
The build system should not attempt to run any generated machine
code supposed to be executed on <quote>the host.</quote> For
example, when building a utility natively, its man page can be
generated by running the utility with the
<parameter>--help</parameter> switch and processing the output,
but generally it's not possible to do so for a cross-compilation
as the utility may fail
to run on <quote>the build</quote>: it's obviously impossible to
run ARM64 machine code on a x86 CPU (without an emulator).
</para>
<para>
With an autoconf-based build system, this requirement is
satisfied in <quote>the cross-compilation mode</quote> where
the optional features requiring to run machine code for
<quote>the host</quote> during the build time are disabled. When <quote>the
host</quote> triplet is explicitly specified, <quote>the
cross-compilation mode</quote> is enabled if and only if either
the <command>configure</command> script fails to run a dummy
program compiled into <quote>the host</quote> machine code, or
<quote>the build</quote> triplet is explicitly specified via the
<parameter>--build</parameter> switch and it's different from
<quote>the host</quote> triplet.
</para>
</listitem>
</itemizedlist>
<para>In order to cross-compile a package for the LFS temporary system,
the name of the system triplet is slightly adjusted by changing the
&quot;vendor&quot; field in the <envar>LFS_TGT</envar> variable so it
says &quot;lfs&quot; and <envar>LFS_TGT</envar> is then specified as
<quote>the host</quote> triplet via <parameter>--host</parameter>, so
the cross-toolchain will be used for generating and processing the
machine code running as a part of the LFS temporary system. And, we
also need to enable <quote>the cross-compilation mode</quote>: despite
<quote>the host</quote> machine code, i.e. the machine code for the LFS
temporary system, is able to execute on the current CPU, it may refer
to a library not available on the <quote>the build</quote> (the host
distro), or some code or data non-exist or defined differently in the
library even if it happens to be available. When cross-compiling a
package for the LFS temporary system, we cannot rely on the
<command>configure</command> script to detect this issue with the
dummy program: the dummy only uses a few components in
<systemitem class='library'>libc</systemitem> that the host distro
<systemitem class='library'>libc</systemitem> likely provides (unless,
maybe the host distro uses a different
<systemitem class='library'>libc</systemitem> implementation like Musl),
so it won't fail like how the really useful programs would likely.
Thus we must explicitly specify <quote>the build</quote> triplet to
enable <quote>the cross-compilation mode.</quote> The value we use is
just the default, i.e. the original system triplet from
<command>config.guess</command> output, but <quote>the cross-compilation
mode</quote> depends on an explicit specification as we've
discussed.</para>
<para>We use the <parameter>--with-sysroot</parameter> option when
building the cross-linker and cross-compiler, to tell them where to find
the needed files for <quote>the host.</quote> This nearly ensures that
none of the other programs built in
<xref linkend="chapter-temporary-tools"/> can link to libraries on
<quote>the build.</quote> The word <quote>nearly</quote> is used because
<command>libtool</command>, a <quote>compatibility</quote> wrapper of
the compiler and the linker for autoconf-based build systems,
can try to be too clever and mistakenly pass options allowing the linker
to find libraries of <quote>the build.</quote>
To prevent this fallout, we need to delete the libtool archive
(<filename class='extension'>.la</filename>) files and fix up an
outdated libtool copy shipped with the Binutils code.</para>
<informaltable align="center"> <informaltable align="center">
<tgroup cols="5"> <tgroup cols="5">
@ -228,7 +330,7 @@
</row> </row>
<row> <row>
<entry>3</entry><entry>lfs</entry><entry>lfs</entry><entry>lfs</entry> <entry>3</entry><entry>lfs</entry><entry>lfs</entry><entry>lfs</entry>
<entry>Rebuild and test cc-lfs using cc-lfs on lfs.</entry> <entry>Rebuild (and maybe test) cc-lfs using cc-lfs on lfs.</entry>
</row> </row>
</tbody> </tbody>
</tgroup> </tgroup>
@ -256,30 +358,11 @@
<para>The upshot of the preceding paragraph is that cc1 is unable to <para>The upshot of the preceding paragraph is that cc1 is unable to
build a fully functional libstdc++ with the degraded libgcc, but cc1 build a fully functional libstdc++ with the degraded libgcc, but cc1
is the only compiler available for building the C/C++ libraries is the only compiler available for building the C/C++ libraries
during stage 2. There are two reasons we don't immediately use the during stage 2. As we've discussed, we cannot run cc-lfs on pc (the
compiler built in stage 2, cc-lfs, to build those libraries.</para> host distro) because it may require some library, code, or data not
available on <quote>the build</quote> (the host distro).
<itemizedlist> So when we build gcc stage 2, we override the library
<listitem> search path to link libstdc++ against the newly
<para>
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 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>
</listitem>
</itemizedlist>
<para>So when we build gcc stage 2, we instruct the building system to
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 rebuilt libgcc instead of the old, degraded build. This makes the rebuilt
libstdc++ fully functional.</para> libstdc++ fully functional.</para>
@ -290,12 +373,11 @@
package on a completed LFS system, the reinstalled content of the package 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 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-final;. The temporary packages installed in &ch-tmp-cross; or
&ch-tmp-chroot; cannot satisfy this requirement, because some of them &ch-tmp-chroot; cannot satisfy this requirement, because some optional
are built without optional dependencies, and autoconf cannot features of them are disabled because of either the missing
perform some feature checks in &ch-tmp-cross; because of cross-compilation, dependencies or the <quote>cross-compilation mode.</quote>
causing the temporary packages to lack optional features, Additionally, a minor reason for rebuilding the packages is to run the
or use suboptimal code routines. Additionally, a minor reason for test suites.</para>
rebuilding the packages is to run the test suites.</para>
</sect2> </sect2>
@ -357,39 +439,25 @@ checking what linker to use... /mnt/lfs/tools/i686-lfs-linux-gnu/bin/ld</compute
standard C library (glibc) to interface with features that the Linux standard C library (glibc) to interface with features that the Linux
kernel will provide.</para> kernel will provide.</para>
<para>Next comes glibc. The most important <para>Next comes glibc. This is the first package that we cross-compile.
considerations for building glibc are the compiler, binary tools, and We use the <parameter>--host=$LFS_TGT</parameter> option to make
kernel headers. The compiler and binary tools are generally not an issue the build system to use those tools prefixed with
since glibc will always use those relating to the <parameter>--host</parameter> <literal>$LFS_TGT-</literal>, and the
parameter passed to its configure script; e.g., in our case, the compiler <parameter>--build=$(../scripts/config.guess)</parameter> option to
will be <command>$LFS_TGT-gcc</command> and the <command>readelf</command> enable <quote>the cross-compilation mode</quote> as we've discussed.
tool will be <command>$LFS_TGT-readelf</command>. The kernel headers can The <envar>DESTDIR</envar> variable is used to force installation into
be a bit more complicated. Therefore, we take no risks and use the LFS file system.</para>
the available configure switch to enforce the correct selection. After
the run of <command>configure</command>, check the contents of the
<filename>config.make</filename> file in the <filename
class="directory">build</filename> directory for all important details.
These items highlight an important aspect of the glibc
package&mdash;it is very self-sufficient in terms of its build machinery,
and generally does not rely on toolchain defaults.</para>
<para>As mentioned above, the standard C++ library is compiled next, followed in <para>As mentioned above, the standard C++ library is compiled next, followed in
<xref linkend="chapter-temporary-tools"/> by other programs that must <xref linkend="chapter-temporary-tools"/> by other programs that must
be cross-compiled to break circular dependencies at build time. be cross-compiled to break circular dependencies at build time.
The install step of all those packages uses the The steps for those packages are similar to the steps for glibc.</para>
<envar>DESTDIR</envar> variable to force installation
in the LFS filesystem.</para>
<para>At the end of <xref linkend="chapter-temporary-tools"/> the native <para>At the end of <xref linkend="chapter-temporary-tools"/> the native
LFS compiler is installed. First binutils-pass2 is built, LFS compiler is installed. First binutils-pass2 is built,
in the same <envar>DESTDIR</envar> directory as the other programs, in the same <envar>DESTDIR</envar> directory as the other programs,
then the second pass of gcc is constructed, omitting some then the second pass of gcc is constructed, omitting some
non-critical libraries. Due to some weird logic in gcc's non-critical libraries.</para>
configure script, <envar>CC_FOR_TARGET</envar> ends up as
<command>cc</command> when the host is the same as the target, but
different from the build system. This is why
<parameter>CC_FOR_TARGET=$LFS_TGT-gcc</parameter> is declared explicitly
as one of the configuration options.</para>
<para>Upon entering the chroot environment in <xref <para>Upon entering the chroot environment in <xref
linkend="chapter-chroot-temporary-tools"/>, linkend="chapter-chroot-temporary-tools"/>,

View File

@ -1,48 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Start of Common Patches --> <!-- Start of Common Patches -->
<!--
<!ENTITY bash-crosscompile-fix-patch "bash-&bash-version;-cross_compile_fix-1.patch">
<!ENTITY bash-crosscompile-fix-patch-md5 "62f4cbdf89c2f4e4e453c798874a066a">
<!ENTITY bash-crosscompile-fix-patch-size "1.5 KB">
<!--
<!ENTITY bash-upstream-fixes-patch "bash-&bash-version;-upstream_fixes-1.patch">
<!ENTITY bash-upstream-fixes-patch-md5 "2d1691a629c558e894dbb78ee6bf34ef">
<!ENTITY bash-upstream-fixes-patch-size "5.9 KB">
-->
<!--
<!ENTITY binutils-upstream-patch "binutils-&binutils-version;-upstream_fix-1.patch"> <!ENTITY binutils-upstream-patch "binutils-&binutils-version;-upstream_fix-1.patch">
<!ENTITY binutils-upstream-patch-md5 "eddd9860af589ec328541a9ec5e5928e"> <!ENTITY binutils-upstream-patch-md5 "eddd9860af589ec328541a9ec5e5928e">
<!ENTITY binutils-upstream-patch-size "18 KB"> <!ENTITY binutils-upstream-patch-size "18 KB">
--> -->
<!ENTITY bzip2-docs-patch "bzip2-&bzip2-version;-install_docs-1.patch"> <!ENTITY bzip2-docs-patch "bzip2-&bzip2-version;-install_docs-1.patch">
<!ENTITY bzip2-docs-patch-md5 "6a5ac7e89b791aae556de0f745916f7f"> <!ENTITY bzip2-docs-patch-md5 "6a5ac7e89b791aae556de0f745916f7f">
<!ENTITY bzip2-docs-patch-size "1.6 KB"> <!ENTITY bzip2-docs-patch-size "1.6 KB">
<!ENTITY coreutils-i18n-patch "coreutils-&coreutils-version;-i18n-1.patch"> <!ENTITY coreutils-i18n-patch "coreutils-&coreutils-version;-i18n-1.patch">
<!ENTITY coreutils-i18n-patch-md5 "6aee45dd3e05b7658971c321d92f44b7"> <!ENTITY coreutils-i18n-patch-md5 "33ebfad32b2dfb8417c3335c08671206">
<!ENTITY coreutils-i18n-patch-size "164 KB"> <!ENTITY coreutils-i18n-patch-size "159 KB">
<!ENTITY expect-gcc14-patch "expect-&expect-version;-gcc14-1.patch"> <!ENTITY coreutils-upstream-patch "coreutils-&coreutils-version;-upstream_fix-1.patch">
<!ENTITY expect-gcc14-patch-md5 "0b8b5ac411d011263ad40b0664c669f0"> <!ENTITY coreutils-upstream-patch-md5 "96382a5aa85d6651a74f94ffb61785d9">
<!ENTITY expect-gcc14-patch-size "7.8 KB"> <!ENTITY coreutils-upstream-patch-size "4.1 KB">
<!ENTITY expect-gcc15-patch "expect-&expect-version;-gcc15-1.patch">
<!ENTITY expect-gcc15-patch-md5 "0ca4d6bb8d572fbcdb13cb36cd34833e">
<!ENTITY expect-gcc15-patch-size "12 KB">
<!ENTITY glibc-fhs-patch "glibc-&glibc-version;-fhs-1.patch"> <!ENTITY glibc-fhs-patch "glibc-&glibc-version;-fhs-1.patch">
<!ENTITY glibc-fhs-patch-md5 "9a5997c3452909b1769918c759eff8a2"> <!ENTITY glibc-fhs-patch-md5 "9a5997c3452909b1769918c759eff8a2">
<!ENTITY glibc-fhs-patch-size "2.8 KB"> <!ENTITY glibc-fhs-patch-size "2.8 KB">
<!--
<!ENTITY glibc-upstream-patch "glibc-&glibc-version;-upstream_fix-2.patch">
<!ENTITY glibc-upstream-patch-md5 "e9f8f23746755bf880772cfa59c1896c">
<!ENTITY glibc-upstream-patch-size "8.0 KB">
-->
<!ENTITY kbd-backspace-patch "kbd-&kbd-version;-backspace-1.patch"> <!ENTITY kbd-backspace-patch "kbd-&kbd-version;-backspace-1.patch">
<!ENTITY kbd-backspace-patch-md5 "f75cca16a38da6caa7d52151f7136895"> <!ENTITY kbd-backspace-patch-md5 "f75cca16a38da6caa7d52151f7136895">
<!ENTITY kbd-backspace-patch-size "12 KB"> <!ENTITY kbd-backspace-patch-size "12 KB">
<!ENTITY perl-upstream-fix-patch "perl-&perl-version;-upstream_fix-1.patch">
<!ENTITY perl-upstream-fix-patch-md5 "1983b48fee837a98db47fb5dba934744">
<!ENTITY perl-upstream-fix-patch-size "13 KB">
<!--
<!ENTITY python-security-fixes-patch "Python-&python-version;-security_fixes-1.patch">
<!ENTITY python-security-fixes-patch-md5 "55f88f3bfe711911425c3172b9024938">
<!ENTITY python-security-fixes-patch-size "24 KB">
-->
<!-- <!--
<!ENTITY readline-fixes-patch "readline-&readline-version;-upstream_fixes-3.patch"> <!ENTITY readline-fixes-patch "readline-&readline-version;-upstream_fixes-3.patch">
<!ENTITY readline-fixes-patch-md5 "9ed497b6cb8adcb8dbda9dee9ebce791"> <!ENTITY readline-fixes-patch-md5 "9ed497b6cb8adcb8dbda9dee9ebce791">
<!ENTITY readline-fixes-patch-size "13 KB"> <!ENTITY readline-fixes-patch-size "13 KB">
--> -->
<!ENTITY sysvinit-consolidated-patch "sysvinit-&sysvinit-version;-consolidated-1.patch"> <!ENTITY sysvinit-consolidated-patch "sysvinit-&sysvinit-version;-consolidated-1.patch">
<!ENTITY sysvinit-consolidated-patch-md5 "3af8fd8e13cad481eeeaa48be4247445"> <!ENTITY sysvinit-consolidated-patch-md5 "3af8fd8e13cad481eeeaa48be4247445">
<!ENTITY sysvinit-consolidated-patch-size "2.5 KB"> <!ENTITY sysvinit-consolidated-patch-size "2.5 KB">
<!-- <!--
<!ENTITY systemd-upstream-patch "systemd-&systemd-version;-upstream_fixes-1.patch"> <!ENTITY systemd-upstream-patch "systemd-&systemd-version;-upstream_fixes-1.patch">
<!ENTITY systemd-upstream-patch-md5 "8d9c1014445c463cf7c24c162b1e0686"> <!ENTITY systemd-upstream-patch-md5 "8d9c1014445c463cf7c24c162b1e0686">

View File

@ -27,8 +27,12 @@
Prevent creation of dummy sect1 files used to emulate sub-chapters. Prevent creation of dummy sect1 files used to emulate sub-chapters.
The original template is in {docbook-xsl}/xhtml/chunk-code.xsl The original template is in {docbook-xsl}/xhtml/chunk-code.xsl
It also matches other sect* tags. The code for those tags are It also matches other sect* tags. The code for those tags are
unchanged. --> unchanged. Note that the priority attribute is not strictly
<xsl:template match="sect1"> required, because the original template is less restrictive in
matching, so has less precedence. But in case the docbook dev
add a match="sect1" template in their chunk-code.xsl, then it will
be necessary!-->
<xsl:template match="sect1" priority="1">
<xsl:variable name="ischunk"> <xsl:variable name="ischunk">
<xsl:call-template name="chunk"/> <xsl:call-template name="chunk"/>
</xsl:variable> </xsl:variable>

View File

@ -80,6 +80,16 @@
</xsl:choose> </xsl:choose>
</xsl:template> </xsl:template>
<xsl:template match="footnote/para[1]">
<!--A template with the same match (+others) exists in
{docbook-xsl}/pdf/footnote.xsl, so it is
only imported, and it has less precedence than the above one, which
matches para and does not account for footnote number.
We need this one at the same level, but just apply the
docbook-xsl one.-->
<xsl:apply-imports/>
</xsl:template>
<!-- screen, literallayout: <!-- screen, literallayout:
Self-made template that creates a fo:block wrapper with keep-together Self-made template that creates a fo:block wrapper with keep-together
processing instruction support around the output generated by processing instruction support around the output generated by

View File

@ -43,6 +43,16 @@
</xsl:choose> </xsl:choose>
</xsl:template> </xsl:template>
<!-- footnote/para[1]: this template is in {docbook-xsl}/xhtml/footnote.xsl
which is imported. This means that template has less precedence
than the above one. To have higher precedence, it must be at
the same import level (then, since it is more restrictive, it is
applied preferably to the above).-->
<xsl:template match="footnote/para[1]">
<!-- just use the original template -->
<xsl:apply-imports/>
</xsl:template>
<!-- screen: <!-- screen:
Changed class attribute asignament to fit our look needs. Changed class attribute asignament to fit our look needs.
Removed unused line numbering support. --> Removed unused line numbering support. -->

View File

@ -166,7 +166,7 @@
</xsl:choose> </xsl:choose>
<xsl:call-template name="language.attribute"/> <xsl:call-template name="language.attribute"/>
<xsl:apply-templates/> <xsl:apply-templates/>
<xsl:apply-templates select="sect1info" mode="svn-keys"/> <xsl:call-template name="process.footnotes"/>
</div> </div>
</xsl:template> </xsl:template>