Compare commits

...

71 Commits

Author SHA1 Message Date
Thomas Trepl
ec7e850bd0 Fix typo in date 2025-06-16 10:34:42 +02:00
Bruce Dubbs
8d7dc4ebea Package updates.
Update to meson-1.8.2.
Update to linux-6.15.2.
Update to libffi-3.5.1.
Update to iproute2-6.15.0.
Update to Python-3.13.5.
2025-06-14 12:26:22 -05:00
Pierre Labastie
5e4ff8cb2e Fix "Too many levels of symbolic links" in chapter 8 ncurses
The problem is that TIC_PATH is nor honored anymore in chapter
6, so that tic from the host is used to create the terminfo
database in chapter 6. The problem is that old versions of
tic create symlinks in the database, while newer versions
create hardlinks. Since we use a DESTDIR install in chapter 8
(with a recent version of ncurses, so with hardlinks), and copy
it in place with cp -a, then it seems that copying hardlinks to
symlinks. If an old version of tic has been used in chapter 6,
this copies hardlinks to symlinks, which creates symlinks
pointing to themselves (cp bug?).

Anyway, the solution is to copy the auxilliary tic built
in chapter 6 to $LFS/tools/bin (suggestion by Xi Ruoyao).
Now, there is no need to set TIC_PATH or whatever because this
tic is in the PATH.

Bug first reported by Marcin Dulak. Analysis with the help of
Bruce Dubbs and Thomas Trepl.

Fixes https://wiki.linuxfromscratch.org/lfs/ticket/5744
2025-06-13 15:52:08 +02:00
Bruce Dubbs
5544caf28e Typos 2025-06-05 11:27:40 -05:00
Xi Ruoyao
7eb51d8123
libpipeline: Remove make check
Those tests need libcheck, thus make check is now a no-op.
2025-06-05 12:29:26 +08:00
Zeckmathederg
0eaba084ff Changelog: Fix wrong link. 2025-06-04 15:00:56 -06:00
Bruce Dubbs
61d0fb219d Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2025-06-04 13:57:23 -05:00
Bruce Dubbs
e481799cdf Package updates.
Update to ncurses-6.5-20250531.
Update to readline-8.3-rc2.
Update to bash-5.3-rc2.
Update to Python-3.13.4.
2025-06-04 13:56:37 -05:00
Xi Ruoyao
c24d5641af
ncurses: Fix the shared lib file name referenced in text 2025-06-03 17:03:08 +08:00
Xi Ruoyao
1b223fbe43
python: Also add --without-static-libpython to the temporary installation
Without it, in the final system
/usr/lib/python3.13/config-3.13-$triple/libpython3.13.a is a remnant
from chapter 7 instead of being absent, defeating our will to save
space.
2025-06-01 21:49:48 +08:00
Xi Ruoyao
455724dc34
patches: Fix a typo 2025-06-01 12:54:01 +08:00
Xi Ruoyao
208415b81b
reboot: Remove references to files we no longer create
And note /etc/resolv.conf is optional for the systemd revision.
2025-06-01 12:26:06 +08:00
Xi Ruoyao
30ec5ae0ea
gcc-pass2: Remove empty line 2025-05-31 19:27:05 +08:00
Xi Ruoyao
6c311ec76f
changingowner: Exclude symlinks from chown
Make this consistent with addinguser.

Applying chown to a symlink actually affects its target, and here the
targets are in $LFS/usr and already covered.
2025-05-31 19:26:40 +08:00
Bruce Dubbs
3975ea8c7e Current thanges to trunk:
Update to iana-etc-20250519.
Update to vim-9.1.1418.
Update to kbd-2.8.0.
Update to systemd-257.6.
Update to setuptools-80.9.0.
Update to meson-1.8.1.
Update to automake-1.18.
Update to gcc-15.1.0.
Update build instructions to accomodate gcc-15.
Update to less-678.
Update to readline-8.3-rc1.
Update to bash-5.3-rc1.
2025-05-31 04:28:18 -05:00
Bruce Dubbs
eb4213206a Merge branch 'gcc15' into trunk 2025-05-31 04:25:06 -05:00
Bruce Dubbs
a6bc44cc0f Package updates.
Update to iana-etc-20250519.
Update to vim-9.1.1418.
Update to kbd-2.8.0.
2025-05-31 04:23:53 -05:00
Bruce Dubbs
14b85031e4 Package updates.
Update to systemd-257.6.
Update to setuptools-80.9.0.
Update to meson-1.8.1.
Update to automake-1.18.

Add Python-3.13.3-security_fixes-1.patch
Add coreutils-9.7-upstream_fix-1.patch
Add perl-5.40.2-upstream_fix-1.patch
2025-05-30 11:00:14 -05:00
Bruce Dubbs
6a04e2420d Add some spaces 2025-05-24 07:28:03 -05:00
Xi Ruoyao
722ec5bf97
glibc: Reuse DIR in upgrade instruction and unset it afterwards 2025-05-23 15:58:57 +08:00
Xi Ruoyao
a45bbbc391
Drop the min-kernel alignment hack
Someone is really insistant on "you cannot have any extra whitespace" so
the hack will just not work.  Let's drop it and simply move the
--enable-kernel= switches to the last line.
2025-05-23 12:23:43 +08:00
Bruce Dubbs
37c303637d Adjust spacing for gcc-pass2. 2025-05-22 13:09:21 -05:00
Bruce Dubbs
68528292e6 Changes for gcc15. 2025-05-21 16:46:52 -05:00
Bruce Dubbs
fd69440977 Package updates.
Update to setuptools-80.7.1.
Update to man-pages-6.14.
Update to man-db-2.13.1.
Update to m4-1.4.20.
Update to linux-6.14.6.
Update to gettext-0.25.
2025-05-15 09:42:51 -05:00
Bruce Dubbs
de932d6de5 Fix alignment. 2025-05-15 08:20:18 -05:00
Bruce Dubbs
ac5a955c84 Restore openssl currency. 2025-05-12 10:50:04 -05:00
Bruce Dubbs
3dc11a77cf Fix currency fo ropenssl. 2025-05-11 23:38:57 -05:00
Xi Ruoyao
cbdfdd32fd
stripping: Decorate with XML labels 2025-05-02 12:41:33 +08:00
Xi Ruoyao
7a6cafbe95
stripping: Switch to zstd to compress debug info
Now BLFS has valgrind-3.25.0 which supports zstd-compressed debug
section.
2025-05-01 21:35:25 +08:00
Bruce Dubbs
9056a5ccae Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2025-04-30 16:00:18 -05:00
Bruce Dubbs
86d976a38c Package updates.
Update to vim-9.1.1353.
Update to setuptools-80.0.1.
Update to packaging-25.0.
Update to meson-1.8.0.
Update to linux-6.14.4.
Update to iana-etc-20250407.
Update to gperf-3.3.
Update to elfutils-0.193.
2025-04-30 15:59:08 -05:00
Bruce Dubbs
f6dbeeb1d3 White space reduction in instruction blocks. 2025-04-30 12:51:03 -05:00
Xi Ruoyao
a9138980ac
dependencies: Packaging needs Flit-core to be built
Quote from pyproject.toml:

    [build-system]
    requires = ["flit_core >=3.3"]
    build-backend = "flit_core.buildapi"
2025-04-21 16:49:39 +08:00
Zeckmathederg
88ee06773d packaging: Fix Contents listings. 2025-04-20 13:18:55 -06:00
Zeckmathederg
679cc02c59 dependences: Update test suite deps.
This updates dependencies for Less, Groff, and Psmisc.
2025-04-20 13:08:27 -06:00
Bruce Dubbs
cc36837f7e Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2025-04-15 23:07:23 -05:00
Bruce Dubbs
3d1e81b5a8 Change stripping to use --strip-debug
When we use -strip-unneeded it removes some symbols that are needed in static
libraries that may be needed in addition to debugging symbols.  Changing the
stripping to the more conservative --strip-debug retains thise symbols.

In the case of libc.a the unstripped file size is 22.4 MB.  Using
--strip-debug reduces the file size by 74 percent to 5.9 MB.

Using --strip-unneeded only reduces the file further by 89 KB,
so any gain is relatively trivial.
2025-04-15 22:53:28 -05:00
Bruce Dubbs
134786bcb7 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2025-04-15 10:11:42 -05:00
Bruce Dubbs
97aaa219af Update currency adding 'packaging.' 2025-04-15 10:11:29 -05:00
Xi Ruoyao
c63e26b296
packaging: Captialize the title 2025-04-15 20:44:14 +08:00
Xi Ruoyao
1a2d3f5588
whatsnew: Don't hard code version of packaging 2025-04-15 20:42:11 +08:00
Xi Ruoyao
fb602744bb
Revert "Note that gperf tests only work with -j1."
This reverts commit eb43115dec.

Per https://savannah.gnu.org/bugs/?53208 the issue is fixed.  I tried
-j18 multiple times and observed no issues.
2025-04-15 19:47:48 +08:00
Xi Ruoyao
abd4750c89
diffutils: Use an easier work around for the strcasecmp check and improve the explanation 2025-04-15 18:17:33 +08:00
Xi Ruoyao
cb6741b0fa
general: Use "x.y-systemd" instead of "stable-systemd" in BLFS URL for release
"stable-systemd" is the latest release, but we want to use the same
version as the LFS book here.
2025-04-15 18:17:23 +08:00
Zeckmathederg
9103be9005 chapter06/Diffutils: Elaborate what the sed does. 2025-04-14 18:02:27 -06:00
Bruce Dubbs
d470cdb21c Package updates.
Update to libcap-2.76.
Update to perl-5.40.2 (Security update).
Add packaging-24.2 (Python module). Needed for wheel.
Update to xz-5.8.1.
Update to wheel-0.46.1 (Python Module).
Update to sysklogd-2.7.2.
Update to Python3-3.13.3.
Update to openssl-3.5.0.
Update to meson-1.7.2.
Update to linux-6.14.2.
Update to libffi-3.4.8.
Update to iproute2-6.14.0.
Update to gzip-1.14.
Update to grep-3.12.
Update to gperf-3.2.1.
Update to gawk-5.3.2.
Update to diffutils-3.12.
Update to coreutils-9.7.
2025-04-14 13:10:11 -05:00
Xi Ruoyao
f3e6b8964f
make: Remove --without-guile from chapter 6
This seems just a remnant from the pre-cross-chap5 era.  Now with the cross-
toolchain the build system cannot find guile headers and libraries, thus
guile should be disabled by default.

I've also tried this on a host distro with guile installed.
2025-04-13 12:45:23 +08:00
Xi Ruoyao
32a9d4b35b
Remove check (#5650) 2025-04-13 12:45:19 +08:00
Bruce Dubbs
780e368072 Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2025-04-08 12:50:38 -05:00
Bruce Dubbs
7ea7a3b3d3 Change expat url and fix a grammar issue. 2025-04-08 12:50:25 -05:00
Zeckmathederg
c53c0efa0a whatsnew: Comment out None as other entries are uncommented. 2025-04-07 14:44:40 -06:00
Xi Ruoyao
9bad19ff57
kmod: Drop --sbindir=/usr/sbin
The autoconf-based build system of kmod needs this, but we've switched
to meson where this is the default.

Also it's to be decided if we should put "lsmod" back to bin.
2025-04-02 20:51:17 +08:00
Xi Ruoyao
d116c1bdb0
whatsnew: Align flit-core entry with the package page title 2025-04-02 17:55:34 +08:00
Bruce Dubbs
a05804f155 Package updates.
Update to vim-9.1.1263.
Update to iana-etc-20250328.
Update to xz-5.8.0.
Update to util-linux-2.41.
Update to tzdata-2025b.
Update to shadow-4.17.4.
Update to setuptools-78.1.0.
Update to patch-2.8.
Update to mpfr-4.2.2.
Update to kmod-34.2.
Update to gdbm-1.25.
Update to flit_core-3.12.0.
Update to expat-3.7.1.
2025-03-31 11:13:38 -05:00
Bruce Dubbs
73733138d7 Typo 2025-03-28 12:25:49 -05:00
Xi Ruoyao
8cd3ab533d
toolchaintechnotes: Typos
Just found the typos translating my own words :(.
2025-03-28 00:11:16 +08:00
Xi Ruoyao
576a368232
glibc: Fix a full stop vs. quote issue in pass 1 2025-03-27 23:13:58 +08:00
Xi Ruoyao
e55a481032
gcc: Use the same style for the sanity check compile command as glibc pass1
There seems no valid reason to use a different style here.
2025-03-27 23:11:52 +08:00
Xi Ruoyao
87e90fb633
glibc: Make the sanity check more complete for pass 1
Fixes #5651.
2025-03-27 23:11:52 +08:00
Xi Ruoyao
7e4fd2e198
glibc: Drop --with-headers in pass 1
I cannot see why this is ever needed.  The default is "the compiler
default" which should be correct as the compiler has been configured
--with-sysroot.  And the explanation for this switch is just repeating a
common misunderstanding.  In fact glibc **never** attempts to figure out
what features the kernel has from the headers.  Instead it depends on
the kernel-features.h files in the source tree and the --with-kernel
value to determine the kernel features that it can rely on.
2025-03-27 21:04:46 +08:00
Xi Ruoyao
5e3bef69d1
toolchaintechnotes: Large overhaul
- Document the autoconf behavior about "the cross-compilation mode," to
  explain the necessity of --build=$(path/to/config.guess) added for
  #5304.
- Mention the libtool fallout regrading cross-compilation.
- Remove the explanation for CC_FOR_TARGET, which is already removed
  much earlier.
- Note the cross-toolchain cannot be used anymore after installing gcc
  pass 2.
- "Stage 3" (i.e. the final LFS system) is NOT optional.
2025-03-27 16:07:16 +08:00
Pierre Labastie
7cd3a3fec1 Fix displaying note numbers also in pdf 2025-03-17 13:26:58 +01:00
Xi Ruoyao
a4b4001f03
changelog: Add revision attributes for sysklogd and dbus 2025-03-15 21:50:05 +08:00
Bruce Dubbs
d85559a14e Merge branch 'trunk' of git.linuxfromscratch.org:lfs into trunk 2025-03-14 15:55:05 -05:00
Bruce Dubbs
461741b243 Update packages for mid-March 2025.
Update to vim-9.1.1202.
Update to iana-etc-20250304.
Update to sysklogd-2.7.1.
Update to setuptools-76.0.0.
Update to pkgconf-2.4.3.
Update to man-pages-6.13.
Update to linux-6.13.7.
Update to libcap-2.75.
Update to kmod-34.1.
Update to jinja2-3.1.6.
Update to expat-2.7.0.
Update to dbus-1.16.2.
2025-03-14 15:53:55 -05:00
Xi Ruoyao
42eaacedbc
pkgmgmt: Add the definition of "library name" as a footnote 2025-03-12 21:00:55 +08:00
Pierre Labastie
e2789b4c66 stylesheets: fix generation of footnotes
There was two problems:
- the sect1 template did not process the footnote
- footnote processing needed to use a template matching
  footnote/para[1], but we had a template matching para
  at a higher precendence level.
So:
- call process.footnotes at the end of the sect1 template
- Add a templates matching footnote/para[1] at the same import
  level as the template matching para (this just call the original
  template)
We also add a priority 1 to the sect1 template in chunk-code.xsl,
although it is not strictly necessary. This is what upstream
recommends...
2025-03-11 15:45:14 +01:00
Xi Ruoyao
a2bf74a9b5
More info about "deploying LFS" 2025-03-09 13:08:32 +08:00
Xi Ruoyao
ed2611fa6f
glibc: Remove ja_JP.SJIS (#5669) 2025-03-09 11:38:29 +08:00
Bruce Dubbs
8145eff136 Cleanup after 12.3 release. 2025-03-07 14:52:09 -06:00
Bruce Dubbs
4200e09617 Remove old change entries and update whatsnew. 2025-03-04 13:55:09 -06:00
52 changed files with 1117 additions and 1168 deletions

View File

@ -399,49 +399,6 @@
</seglistitem>
</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 -->
<bridgehead renderas="sect2" id="coreutils-dep">Coreutils</bridgehead>
@ -871,7 +828,7 @@
<segmentedlist id="flit-core-before">
<segtitle>&before;</segtitle>
<seglistitem>
<seg>Wheel</seg>
<seg>Packaging and Wheel</seg>
</seglistitem>
</segmentedlist>
@ -1239,7 +1196,7 @@
<segmentedlist id="groff-testdeps">
<segtitle>&testsuites;</segtitle>
<seglistitem>
<seg>No test suite available</seg>
<seg>None</seg>
</seglistitem>
</segmentedlist>
@ -1641,7 +1598,7 @@
<segmentedlist id="less-testdeps">
<segtitle>&testsuites;</segtitle>
<seglistitem>
<seg>No test suite available</seg>
<seg>None</seg>
</seglistitem>
</segmentedlist>
@ -2459,6 +2416,46 @@
</seglistitem>
</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 -->
<bridgehead renderas="sect2" id="patch-dep">Patch</bridgehead>
@ -2650,7 +2647,7 @@
<segmentedlist id="psmisc-testdeps">
<segtitle>&testsuites;</segtitle>
<seglistitem>
<seg>No test suite available</seg>
<seg>Expect</seg>
</seglistitem>
</segmentedlist>
@ -3312,7 +3309,7 @@
<segmentedlist id="wheel-depends">
<segtitle>&dependencies;</segtitle>
<seglistitem>
<seg>Python and Flit-core</seg>
<seg>Python, Flit-core, and packaging</seg>
</seglistitem>
</segmentedlist>

View File

@ -39,603 +39,371 @@
<listitem revision="sysv"> or <listitem revision="systemd"> as
appropriate for the entry or if needed the entire day's listitem.
-->
<listitem>
<para>2025-03-02</para>
<para>2025-06-15</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to vim-9.1.1166 (Security Update). Fixes
<ulink url='&lfs-ticket-root;5666'>#5666</ulink>.</para>
<para>[bdubbs] - Update to meson-1.8.2. Fixes
<ulink url='&lfs-ticket-root;5743'>#5743</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.15.2. Fixes
<ulink url='&lfs-ticket-root;5725'>#5725</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to libffi-3.5.1. Fixes
<ulink url='&lfs-ticket-root;5741'>#5741</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iproute2-6.15.0. Fixes
<ulink url='&lfs-ticket-root;5732'>#5732</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to Python-3.13.5. Fixes
<ulink url='&lfs-ticket-root;5743'>#6743</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2025-02-27</para>
<para>2025-06-04</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to zstd-1.5.7. Fixes
<ulink url='&lfs-ticket-root;5652'>#5652</ulink>.</para>
<para>[bdubbs] - Update to ncurses-6.5-20250531. Fixes
<ulink url='&lfs-ticket-root;5737'>#5737</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to systemd-257.3. Fixes
<ulink url='&lfs-ticket-root;5612'>#5612</ulink>.</para>
<para>[bdubbs] - Update to readline-8.3-rc2. Fixes
<ulink url='&lfs-ticket-root;5738'>#5738</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to shadow-4.17.3. Fixes
<ulink url='&lfs-ticket-root;5660'>#5660</ulink>.</para>
<para>[bdubbs] - Update to bash-5.3-rc2. Fixes
<ulink url='&lfs-ticket-root;5738'>#5738</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>
<para>[bdubbs] - Update to Python-3.13.4. Fixes
<ulink url='&lfs-ticket-root;5739'>#6739</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2025-02-24</para>
<para>2025-06-01</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
<para>[bdubbs] - Update to iana-etc-20250519. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to binutils-2.44.0. Fixes
<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
<para>[bdubbs] - Update to vim-9.1.1418. Addresses
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iana-etc-20241206. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
<para>[bdubbs] - Update to kbd-2.8.0. Fixes
<ulink url='&lfs-ticket-root;5736'>#5736</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to systemd-257. Fixes
<ulink url='&lfs-ticket-root;5559'>#5559</ulink>.</para>
<para>[bdubbs] - Update to systemd-257.6. Fixes
<ulink url='&lfs-ticket-root;5674'>#5674</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to Python-3.13.1 (Security Update). Fixes
<ulink url='&lfs-ticket-root;5605'>#5605</ulink>.</para>
<para>[bdubbs] - Update to setuptools-80.9.0. Fixes
<ulink url='&lfs-ticket-root;5728'>#5728</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to libcap-2.73. Fixes
<ulink url='&lfs-ticket-root;5504'>#5604</ulink>.</para>
<para>[bdubbs] - Update to meson-1.8.1. Fixes
<ulink url='&lfs-ticket-root;5731'>#5731</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.12.5. Fixes
<ulink url='&lfs-ticket-root;5607'>#5607</ulink>.</para>
<para>[bdubbs] - Update to automake-1.18. Fixes
<ulink url='&lfs-ticket-root;5734'>#5734</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to kbd-2.7. Fixes
<ulink url='&lfs-ticket-root;5608'>#5608</ulink>.</para>
<para>[bdubbs] - Update build instructions to accommodate
gcc-15 for bc, expect, ncurses, and gmp.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gettext-0.23. Fixes
<ulink url='&lfs-ticket-root;5603'>#5603</ulink>.</para>
<para>[bdubbs] - Update to gcc-15.1.0. Fixes
<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>
</itemizedlist>
</listitem>
<listitem>
<para>2025-05-15</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to setuptools-80.7.1. Fixes
<ulink url='&lfs-ticket-root;5715'>#5715</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to man-pages-6.14. Fixes
<ulink url='&lfs-ticket-root;5720'>#5720</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to man-db-2.13.1. Fixes
<ulink url='&lfs-ticket-root;5719'>#5719</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to m4-1.4.20. Fixes
<ulink url='&lfs-ticket-root;5722'>#5722</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.14.6. Fixes
<ulink url='&lfs-ticket-root;5717'>#5717</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gettext-0.25. Fixes
<ulink url='&lfs-ticket-root;5718'>#5718</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2024-12-01</para>
<para>2025-05-01</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to iana-etc-20241122. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to file-5.46. Fixes
<ulink url='&lfs-ticket-root;5601'>#5601</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to iproute2-6.12.0. Fixes
<ulink url='&lfs-ticket-root;5597'>#5597</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to libtool-2.5.4. Fixes
<ulink url='&lfs-ticket-root;5598'>#5598</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.12.1. Fixes
<ulink url='&lfs-ticket-root;5596'>#5586</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to setuptools-75.6.0 (Python Module). Fixes
<ulink url='&lfs-ticket-root;5599'>#5599</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>
</itemizedlist>
</listitem>
<listitem>
<para>2024-11-15</para>
<itemizedlist>
<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>
</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>
</listitem>
<listitem>
<para>[bdubbs] - Update to wheel-0.45.0 (Python Module). Fixes
<ulink url='&lfs-ticket-root;5593'>#5593</ulink>.</para>
<para>[bdubbs] - Update to gperf-3.3. Fixes
<ulink url='&lfs-ticket-root;5708'>#5708</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to setuptools-75.5.0 (Python Module). Fixes
<ulink url='&lfs-ticket-root;5595'>#5595</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>
<para>[bdubbs] - Update to elfutils-0.193. Fixes
<ulink url='&lfs-ticket-root;5711'>#5711</ulink>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>2024-11-08</para>
<para>2025-04-15</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Added binutils-2.43.1-upstream_fix-1.patch. Fixes
<ulink url='&lfs-ticket-root;5591'>#5591</ulink>.</para>
<para>[bdubbs] - Update to libcap-2.76. Fixes
<ulink url='&lfs-ticket-root;5704'>#5704</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to flit_core-3.10.1. Fixes
<ulink url='&lfs-ticket-root;5589'>#5589</ulink>.</para>
<para>[bdubbs] - Update to perl-5.40.2 (Security update). Fixes
<ulink url='&lfs-ticket-root;5703'>#5703</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to expat-2.6.4. Fixes
<ulink url='&lfs-ticket-root;5590'>#5590</ulink>.</para>
<para>[bdubbs] - Add packaging-24.2 (Python module). Needed for wheel.
</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>
</itemizedlist>
</listitem>
<listitem>
<para>2024-10-25</para>
<para>2025-04-01</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to linux-6.11.6. Fixes
<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
<para>[bdubbs] - Update to vim-9.1.1263. Addresses
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to xz-5.6.3. Fixes
<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
<para>[bdubbs] - Update to iana-etc-20250328. Addresses
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to gawk-5.3.1. Fixes
<ulink url='&lfs-ticket-root;5564'>#5564</ulink>.</para>
<para>[bdubbs] - Update to xz-5.8.0. Fixes
<ulink url='&lfs-ticket-root;5684'>#5684</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to bc-7.0.2. Fixes
<ulink url='&lfs-ticket-root;5563'>#5563</ulink>.</para>
<para>[bdubbs] - Update to util-linux-2.41. Fixes
<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>
</itemizedlist>
</listitem>
<listitem>
<para>2024-09-07</para>
<para>2025-03-15</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - Update to tzdata-2024b. Fixes
<ulink url='&lfs-ticket-root;5554'>#5554</ulink>.</para>
<para>[bdubbs] - Update to vim-9.1.1202. Addresses
<ulink url='&lfs-ticket-root;4500'>#4500</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to systemd-256.5. Fixes
<ulink url='&lfs-ticket-root;5551'>#5551</ulink>.</para>
<para>[bdubbs] - Update to iana-etc-20250304. Addresses
<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>
<para>[bdubbs] - Update to setuptools-74.1.2. Fixes
<ulink url='&lfs-ticket-root;5546'>#5546</ulink>.</para>
<para>[bdubbs] - Update to setuptools-76.0.0. Fixes
<ulink url='&lfs-ticket-root;5665'>#5665</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to python3-3.12.6. Fixes
<ulink url='&lfs-ticket-root;5555'>#5555</ulink>.</para>
<para>[bdubbs] - Update to pkgconf-2.4.3. Fixes
<ulink url='&lfs-ticket-root;5672'>#5672</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to openssl-3.3.2. Fixes
<ulink url='&lfs-ticket-root;5552'>#5552</ulink>.</para>
<para>[bdubbs] - Update to man-pages-6.13. Fixes
<ulink url='&lfs-ticket-root;5673'>#5673</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to man-db-2.13.0. Fixes
<ulink url='&lfs-ticket-root;5550'>#5550</ulink>.</para>
<para>[bdubbs] - Update to linux-6.13.7. Fixes
<ulink url='&lfs-ticket-root;5664'>#5664</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to linux-6.10.8. Fixes
<ulink url='&lfs-ticket-root;5545'>#5545</ulink>.</para>
<para>[bdubbs] - Update to libcap-2.75. Fixes
<ulink url='&lfs-ticket-root;5667'>#5667</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to libpipeline-1.5.8. Fixes
<ulink url='&lfs-ticket-root;5548'>#5548</ulink>.</para>
<para>[bdubbs] - Update to kmod-34.1. Fixes
<ulink url='&lfs-ticket-root;5671'>#5671</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to expat-2.6.3. Fixes
<ulink url='&lfs-ticket-root;5553'>#5553</ulink>.</para>
<para>[bdubbs] - Update to jinja2-3.1.6. Fixes
<ulink url='&lfs-ticket-root;5670'>#5670</ulink>.</para>
</listitem>
<listitem>
<para>[bdubbs] - Update to bc-7.0.1. Fixes
<ulink url='&lfs-ticket-root;5547'>#5547</ulink>.</para>
<para>[bdubbs] - Update to expat-2.7.0. Fixes
<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>
</itemizedlist>
</listitem>
<listitem>
<para>2024-09-01</para>
<para>2025-03-05</para>
<itemizedlist>
<listitem>
<para>[bdubbs] - LFS-12.2 released.</para>
<para>[bdubbs] - LFS-12.3 released.</para>
</listitem>
</itemizedlist>
</listitem>

View File

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

View File

@ -110,15 +110,6 @@
</listitem>
</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>
<term>Coreutils (&coreutils-version;) - <token>&coreutils-size;</token>:</term>
<listitem>
@ -597,6 +588,15 @@
</listitem>
</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>
<term>Patch (&patch-version;) - <token>&patch-size;</token>:</term>
<listitem>

View File

@ -25,13 +25,12 @@
<para>MD5 sum: <literal>&autoconf-fixes-patch-md5;</literal></para>
</listitem>
</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>
<para>Download: <ulink url="&patches-root;&bash-upstream-fixes-patch;"/></para>
<para>MD5 sum: <literal>&bash-upstream-fixes-patch-md5;</literal></para>
<para>Download: <ulink url="&patches-root;&bash-crosscompile-fix-patch;"/></para>
<para>MD5 sum: <literal>&bash-crosscompile-fix-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
@ -52,6 +51,14 @@
</listitem>
</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>
<term>Coreutils Internationalization Fixes Patch - <token>&coreutils-i18n-patch-size;</token>:</term>
<listitem>
@ -61,10 +68,10 @@
</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>
<para>Download: <ulink url="&patches-root;&expect-gcc14-patch;"/></para>
<para>MD5 sum: <literal>&expect-gcc14-patch-md5;</literal></para>
<para>Download: <ulink url="&patches-root;&expect-gcc15-patch;"/></para>
<para>MD5 sum: <literal>&expect-gcc15-patch-md5;</literal></para>
</listitem>
</varlistentry>
@ -118,24 +125,25 @@
</listitem>
</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>
<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>
<para>Download: <ulink url="&patches-root;&pkgconf-upstream-fix-patch;"/></para>
<para>MD5 sum: <literal>&pkgconf-upstream-fix-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>
<para>Download: <ulink url="&patches-root;&python-security-fixes-patch;"/></para>
<para>MD5 sum: <literal>&python-security-fixes-patch-md5;</literal></para>
</listitem>
</varlistentry>
-->
<varlistentry revision="sysv">
<term>SysVinit Consolidated Patch - <token>&sysvinit-consolidated-patch-size;</token>:</term>
<listitem>

View File

@ -90,10 +90,9 @@ cd build</userinput></screen>
--prefix=/usr \
--host=$LFS_TGT \
--build=$(../scripts/config.guess) \
--enable-kernel=&min-kernel; \
--with-headers=$LFS/usr/include \
--disable-nscd \
libc_cv_slibdir=/usr/lib</userinput></screen>
libc_cv_slibdir=/usr/lib \
--enable-kernel=&min-kernel;</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
@ -116,16 +115,6 @@ cd build</userinput></screen>
</listitem>
</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>
<term><parameter>libc_cv_slibdir=/usr/lib</parameter></term>
<listitem>
@ -189,7 +178,7 @@ cd build</userinput></screen>
class="directory">/</filename>) directory. Here we specify that
the package is installed in <filename class="directory">
$LFS</filename>, which will become the root directory in <xref linkend=
"ch-tools-chroot"/>.</para>
"ch-tools-chroot" role='.'/></para>
</listitem>
</varlistentry>
@ -200,32 +189,98 @@ cd build</userinput></screen>
<screen><userinput remap="install">sed '/RTLDLIST=/s@/usr@@g' -i $LFS/usr/bin/ldd</userinput></screen>
<caution>
<para>At this point, it is imperative to stop and ensure that the basic
functions (compiling and linking) of the new toolchain are working as
expected. To perform a sanity check, run the following commands:</para>
<para>Now that our cross toolchain is in place, it is important to ensure
that compiling and linking will work as expected. We do this by performing
some sanity checks:</para>
<screen><userinput>echo 'int main(){}' | $LFS_TGT-gcc -xc -
readelf -l a.out | grep ld-linux</userinput></screen>
<screen><userinput>echo 'int main(){}' | $LFS_TGT-gcc -x c - -v -Wl,--verbose &amp;&gt; dummy.log
readelf -l a.out | grep ': /lib'</userinput></screen>
<para>If everything is working correctly, there should be no errors,
and the output of the last command will be of the form:</para>
<para>There should be no errors,
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: /lib64/ld-linux-x86-64.so.2]</computeroutput></screen>
<para>Note that for 32-bit machines, the interpreter name will be
<filename>/lib/ld-linux.so.2</filename>.</para>
<para>Note that this path should not contain
<filename class='directory'>/mnt/lfs</filename> (or the value of
the <envar>LFS</envar> variable if you used a different one). The path is
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>If the output is not as shown above, or there is no output at all,
then something is wrong. Investigate and retrace the steps to find out
where the problem is and correct it. This issue must be resolved before
continuing.</para>
<para>Now make sure that we're set up to use the correct start files:</para>
<para>Once all is well, clean up the test file:</para>
<screen><userinput>grep -E -o "$LFS/lib.*/S?crt[1in].*succeeded" dummy.log</userinput></screen>
<screen><userinput>rm -v a.out</userinput></screen>
<para>The output of the last command should be:</para>
</caution>
<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
additional check that the toolchain has been built properly. If some

View File

@ -60,13 +60,13 @@ cd build</userinput></screen>
<para>Prepare Libstdc++ for compilation:</para>
<screen><userinput remap="configure">../libstdc++-v3/configure \
--host=$LFS_TGT \
--build=$(../config.guess) \
--prefix=/usr \
--disable-multilib \
--disable-nls \
--disable-libstdcxx-pch \
<screen><userinput remap="configure">../libstdc++-v3/configure \
--host=$LFS_TGT \
--build=$(../config.guess) \
--prefix=/usr \
--disable-multilib \
--disable-nls \
--disable-libstdcxx-pch \
--with-gxx-include-dir=/tools/$LFS_TGT/include/c++/&gcc-version;</userinput></screen>
<variablelist>

View File

@ -42,7 +42,11 @@
<sect2 role="installation">
<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>
<screen><userinput remap="configure">./configure --prefix=/usr \

View File

@ -47,8 +47,36 @@
<screen><userinput remap="configure">./configure --prefix=/usr \
--host=$LFS_TGT \
gl_cv_func_strcasecmp_works=y \
--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>
<screen><userinput remap="make">make</userinput></screen>

View File

@ -83,24 +83,24 @@ cd build</userinput></screen>
<para>Now prepare GCC for compilation:</para>
<screen><userinput remap="configure">../configure \
--build=$(../config.guess) \
--host=$LFS_TGT \
--target=$LFS_TGT \
LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc \
--prefix=/usr \
--with-build-sysroot=$LFS \
--enable-default-pie \
--enable-default-ssp \
--disable-nls \
--disable-multilib \
--disable-libatomic \
--disable-libgomp \
--disable-libquadmath \
--disable-libsanitizer \
--disable-libssp \
--disable-libvtv \
--enable-languages=c,c++</userinput></screen>
<screen><userinput remap="configure">../configure \
--build=$(../config.guess) \
--host=$LFS_TGT \
--target=$LFS_TGT \
--prefix=/usr \
--with-build-sysroot=$LFS \
--enable-default-pie \
--enable-default-ssp \
--disable-nls \
--disable-multilib \
--disable-libatomic \
--disable-libgomp \
--disable-libquadmath \
--disable-libsanitizer \
--disable-libssp \
--disable-libvtv \
--enable-languages=c,c++ \
LDFLAGS_FOR_TARGET=-L$PWD/$LFS_TGT/libgcc</userinput></screen>
<variablelist>
<title>The meaning of the new configure options:</title><!-- WIP -->

View File

@ -45,23 +45,9 @@
<para>Prepare Make for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--without-guile \
--host=$LFS_TGT \
--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>
<screen><userinput remap="make">make</userinput></screen>

View File

@ -44,13 +44,16 @@
<title>Installation of Ncurses</title>
<para>First, run the following commands to build the <quote>tic</quote>
program on the build host:</para>
program on the build host. We install it in
<filename class="directory">$LFS/tools</filename>, so that it is found
in the <envar>PATH</envar> when needed:</para>
<screen><userinput remap="pre">mkdir build
pushd build
../configure AWK=gawk
../configure --prefix=$LFS/tools AWK=gawk
make -C include
make -C progs tic
install progs/tic $LFS/tools/bin
popd</userinput></screen>
<para>Prepare Ncurses for compilation:</para>
@ -147,28 +150,14 @@ popd</userinput></screen>
<para>Install the package:</para>
<screen><userinput remap="install">make DESTDIR=$LFS TIC_PATH=$(pwd)/build/progs/tic install
<screen><userinput remap="install">make DESTDIR=$LFS install
ln -sv libncursesw.so $LFS/usr/lib/libncurses.so
sed -e 's/^#if.*XOPEN.*$/#if 1/' \
-i $LFS/usr/include/curses.h</userinput></screen>
<!--
<para>Remove an unneeded static library not handled by
<command>configure</command>:</para>
<screen><userinput remap="install">rm -v $LFS/usr/lib/libncurses++w.a</userinput></screen>
-->
<variablelist>
<title>The meaning of the install options:</title>
<varlistentry>
<term><parameter>TIC_PATH=$(pwd)/build/progs/tic</parameter></term>
<listitem>
<para>We need to pass the path of the newly built
<command>tic</command> program that runs on the building machine, so
the terminal database can be created without errors.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><command>ln -sv libncursesw.so $LFS/usr/lib/libncurses.so</command></term>
<listitem>

View File

@ -45,8 +45,8 @@
<para>Prepare Tar for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--host=$LFS_TGT \
<screen><userinput remap="configure">./configure --prefix=/usr \
--host=$LFS_TGT \
--build=$(build-aux/config.guess)</userinput></screen>
<para>Compile the package:</para>

View File

@ -33,7 +33,7 @@
user <systemitem class="username">root</systemitem> by running the following
command:</para>
<screen><userinput>chown --from &lfs-username; -R root:root $LFS/{usr,lib,var,etc,bin,sbin,tools}
<screen><userinput>chown --from &lfs-username; -R root:root $LFS/{usr,var,etc,tools}
case $(uname -m) in
x86_64) chown --from &lfs-username; -R root:root $LFS/lib64 ;;
esac</userinput></screen>

View File

@ -52,9 +52,10 @@
<para>Prepare Python for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--enable-shared \
--without-ensurepip</userinput></screen>
<screen><userinput remap="configure">./configure --prefix=/usr \
--enable-shared \
--without-ensurepip \
--without-static-libpython</userinput></screen>
<variablelist>
<title>The meaning of the configure option:</title>
@ -74,6 +75,13 @@
</listitem>
</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>
<para>Compile the package:</para>

View File

@ -44,8 +44,8 @@
<para>Prepare Acl for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--disable-static \
<screen><userinput remap="configure">./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/acl-&acl-version;</userinput></screen>
<para>Compile the package:</para>

View File

@ -43,15 +43,15 @@
<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>
<title>The meaning of the configure options:</title>
<varlistentry>
<term><parameter>CC=gcc</parameter></term>
<term><parameter>CC=gcc -std=c99</parameter></term>
<listitem>
<para>This parameter specifies the compiler to use.</para>
<para>This parameter specifies the compiler and C standard to use.</para>
</listitem>
</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="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="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="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="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="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="gawk.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">
<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
boundaries correctly even in multibyte locales. The following patch fixes
this non-compliance and other internationalization-related bugs.</para>

View File

@ -52,12 +52,12 @@ cd build</userinput></screen>
<para>Prepare E2fsprogs for compilation:</para>
<screen><userinput remap="configure">../configure --prefix=/usr \
--sysconfdir=/etc \
--enable-elf-shlibs \
--disable-libblkid \
--disable-libuuid \
--disable-uuidd \
<screen><userinput remap="configure">../configure --prefix=/usr \
--sysconfdir=/etc \
--enable-elf-shlibs \
--disable-libblkid \
--disable-libuuid \
--disable-uuidd \
--disable-fsck</userinput></screen>
<variablelist>

View File

@ -67,9 +67,9 @@
GDBM, and of course Expect itself) will fail catastrophically, and other
subtle breakages may also happen.</para>
<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>

View File

@ -223,8 +223,7 @@ su tester -c "PATH=$PATH make -k check"</userinput></screen>
that compiling and linking will work as expected. We do this by performing
some sanity checks:</para>
<screen><userinput>echo 'int main(){}' &gt; dummy.c
cc dummy.c -v -Wl,--verbose &amp;&gt; dummy.log
<screen><userinput>echo 'int main(){}' | cc -x c - -v -Wl,--verbose &amp;&gt; dummy.log
readelf -l a.out | grep ': /lib'</userinput></screen>
<para>There should be no errors,
@ -319,7 +318,7 @@ SEARCH_DIR("/usr/lib");</computeroutput></screen>
<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>

View File

@ -68,12 +68,12 @@ cd build</userinput></screen>
<para>Prepare Glibc for compilation:</para>
<screen><userinput remap="configure">../configure --prefix=/usr \
--disable-werror \
--enable-kernel=&min-kernel; \
--enable-stack-protector=strong \
--disable-nscd \
libc_cv_slibdir=/usr/lib</userinput></screen>
<screen><userinput remap="configure">../configure --prefix=/usr \
--disable-werror \
--disable-nscd \
libc_cv_slibdir=/usr/lib \
--enable-stack-protector=strong \
--enable-kernel=&min-kernel;</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>
@ -327,9 +327,10 @@ install -vm755 dest/usr/lib/*.so.* /usr/lib</userinput></screen>
</para>
<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
rm -rfv $(dirname $(gcc -print-libgcc-file-name))/include-fixed/*</userinput></screen>
rm -rfv $DIR/include-fixed/*
unset DIR</userinput></screen>
</important>
<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 UTF-8 it_IT.UTF-8
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 nl_NL@euro -f ISO-8859-15 nl_NL@euro
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>
<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
domain names. This is a run time dependency. If this capability
is needed, the instructions for installing libidn2 are in the

View File

@ -62,6 +62,10 @@
CFLAGS is still automatically set to -march=something. -->
</note>
<para>First, make an adjustment for compatibility 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>
<screen><userinput remap="configure">./configure --prefix=/usr \

View File

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

View File

@ -71,9 +71,9 @@
<para>Prepare GRUB for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--sysconfdir=/etc \
--disable-efiemu \
<screen><userinput remap="configure">./configure --prefix=/usr \
--sysconfdir=/etc \
--disable-efiemu \
--disable-werror</userinput></screen>
<variablelist>

View File

@ -80,9 +80,14 @@ sed -i 's/resizecons.8 //' docs/man/man8/Makefile.in</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>
-->
<para>Install the package:</para>

View File

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

View File

@ -46,8 +46,8 @@
<para>Prepare Libelf for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--disable-debuginfod \
<screen><userinput remap="configure">./configure --prefix=/usr \
--disable-debuginfod \
--enable-libdebuginfod=dummy</userinput></screen>
<para>Compile the package:</para>
@ -58,6 +58,9 @@
<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>
<screen><userinput remap="install">make -C libelf install

View File

@ -51,17 +51,20 @@
<para>Like GMP, Libffi builds with optimizations specific
to the processor in use. If building for another system, change 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.
If this is not done, all applications that link to
<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>
<para>Prepare Libffi for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--disable-static \
<screen><userinput remap="configure">./configure --prefix=/usr \
--disable-static \
--with-gcc-arch=native</userinput></screen>
<variablelist>

View File

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

View File

@ -127,7 +127,7 @@
make will spawn new shell processes during "make install". -->
<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
from the library file. Install the package with
<literal>DESTDIR</literal>, and replace the library file correctly using
@ -137,8 +137,8 @@
<xref linkend='ch-tools-ncurses'/>):</para>
<screen><userinput remap="install">make DESTDIR=$PWD/dest install
install -vm755 dest/usr/lib/libncursesw.so.&ncurses-version; /usr/lib
rm -v dest/usr/lib/libncursesw.so.&ncurses-version;
install -vm755 dest/usr/lib/libncursesw.so.&ncurses-base-version; /usr/lib
rm -v dest/usr/lib/libncursesw.so.&ncurses-base-version;
sed -e 's/^#if.*XOPEN.*$/#if 1/' \
-i dest/usr/include/curses.h
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">
<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
Compress::Raw::BZip2 modules. By
default Perl will use an internal copy of the sources for the build.

View File

@ -46,8 +46,8 @@
<para>Prepare Pkgconf for compilation:</para>
<screen><userinput remap="configure">./configure --prefix=/usr \
--disable-static \
<screen><userinput remap="configure">./configure --prefix=/usr \
--disable-static \
--docdir=/usr/share/doc/pkgconf-&pkgconf-version;</userinput></screen>
<para>Compile the package:</para>

View File

@ -69,10 +69,25 @@
</listitem>
<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
newer library. (Note that there is no correlation between the package
version and the name of the library.) For example, consider a package
newer library.
For example, consider a package
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
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
configuration.</para>
<note><para>There have been some reports of issues when copying between
similar but not identical architectures. For instance, the instruction set
for an Intel system is not identical with the AMD processor's instructions, and later
versions of some processors may provide instructions that are unavailable with
earlier versions.</para></note>
<important><para>If you want to deploy the LFS system onto a system
with a different CPU, when you build <xref linkend='ch-system-gmp'/> and
<xref linkend='ch-system-libffi'/> you must follow the notes about
overriding the architecture-specific optimization to produce libraries
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
linkend="ch-bootable-grub"/>.</para>

View File

@ -42,13 +42,18 @@
<sect2 role="installation">
<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>
<screen><userinput remap="configure">./configure --prefix=/usr \
--enable-shared \
--with-system-expat \
--enable-optimizations</userinput></screen>
<screen><userinput remap="configure">./configure --prefix=/usr \
--enable-shared \
--with-system-expat \
--enable-optimizations \
--without-static-libpython</userinput></screen>
<variablelist>
<title>The meaning of the configure options:</title>

View File

@ -24,16 +24,20 @@
backup of the LFS system in its current state.</para>
<para>A <command>strip</command> command with the
<parameter>--strip-unneeded</parameter> option removes all debug symbols
from a binary or library. It also removes all symbol table entries not
<parameter>--strip-unneeded</parameter> option removes all debug symbols from
a binary or library. It also removes all symbol table entries not normally
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
<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
url='&blfs-book;/general/valgrind.html'>valgrind</ulink> or <ulink
url='&blfs-book;/general/gdb.html'>gdb</ulink> later, in BLFS.
@ -81,9 +85,9 @@
cd /usr/lib
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
strip --strip-unneeded /tmp/$LIB
strip --strip-debug /tmp/$LIB
objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB
install -vm755 /tmp/$LIB /usr/lib
rm /tmp/$LIB
@ -102,14 +106,14 @@ online_usrlib="libbfd-&binutils-version;.so
for BIN in $online_usrbin; do
cp /usr/bin/$BIN /tmp/$BIN
strip --strip-unneeded /tmp/$BIN
strip --strip-debug /tmp/$BIN
install -vm755 /tmp/$BIN /usr/bin
rm /tmp/$BIN
done
for LIB in $online_usrlib; do
cp /usr/lib/$LIB /tmp/$LIB
strip --strip-unneeded /tmp/$LIB
strip --strip-debug /tmp/$LIB
install -vm755 /tmp/$LIB /usr/lib
rm /tmp/$LIB
done
@ -120,7 +124,7 @@ for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg) \
case "$online_usrbin $online_usrlib $save_usrlib" in
*$(basename $i)* )
;;
* ) strip --strip-unneeded $i
* ) strip --strip-debug $i
;;
esac
done

View File

@ -243,7 +243,7 @@ ninja test</userinput></screen>
<!-- Please make sure systemd man pages tarball has a common leading
component in the path. -->
<screen><userinput remap="install">tar -xf ../../systemd-man-pages-&systemd-man-version;.tar.xz \
--no-same-owner --strip-components=1 \
--no-same-owner --strip-components=1 \
-C /usr/share/man</userinput></screen>
<para>Create the <filename>/etc/machine-id</filename> file needed by

View File

@ -82,9 +82,9 @@ sed -e "s|$SRCDIR/unix|/usr/lib|" \
-i tclConfig.sh
sed -e "s|$SRCDIR/unix/pkgs/tdbc&tdbc-ver;|/usr/lib/tdbc&tdbc-ver;|" \
-e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/generic|/usr/include|" \
-e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/library|/usr/lib/tcl8.6|" \
-e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;|/usr/include|" \
-e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/generic|/usr/include|" \
-e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;/library|/usr/lib/tcl8.6|" \
-e "s|$SRCDIR/pkgs/tdbc&tdbc-ver;|/usr/include|" \
-i pkgs/tdbc&tdbc-ver;/tdbcConfig.sh
sed -e "s|$SRCDIR/unix/pkgs/itcl&itcl-ver;|/usr/lib/itcl&itcl-ver;|" \

View File

@ -108,6 +108,8 @@ EOF</userinput></screen>
<quote>Default iocharset for FAT</quote> (<option>CONFIG_FAT_DEFAULT_IOCHARSET</option>).
There is no way to specify these settings for the
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
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
<option>barrier</option> option.</para>
-->
</sect1>

View File

@ -88,17 +88,14 @@
</para>
<itemizedlist>
<listitem><para>/etc/bashrc </para></listitem>
<listitem><para>/etc/dircolors </para></listitem>
<listitem><para>/etc/fstab </para></listitem>
<listitem><para>/etc/hosts </para></listitem>
<listitem><para>/etc/inputrc </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>/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>
</listitem>
</itemizedlist>

View File

@ -7,9 +7,9 @@
<!ENTITY % rc "IGNORE"> <!-- set to INCLUDE for rc,
set to IGNORE for development or
release -->
<!ENTITY % relnum "11.3"><!-- must be given for release or rc -->
<!ENTITY % reldate "March 1st, 2023"><!-- must ve given for release or rc -->
<!ENTITY % crdate "1999-2022"><!-- must ve given for release or rc -->
<!ENTITY % relnum "12.3"><!-- must be given for release or rc -->
<!ENTITY % reldate "March 5th, 2025"><!-- 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 -->
<!-- ================================================================== -->
<!-- Do not change anything below unless the www or book layouts change -->
@ -44,7 +44,7 @@
]]>
<![ %systemd; [
<!ENTITY version "%relnum;-systemd">
<!ENTITY short-version "stable-systemd"> <!-- Used below in &blfs-book; -->
<!ENTITY short-version "%relnum;-systemd"> <!-- Used below in &blfs-book; -->
]]>
<!ENTITY errata "&lfs-root;lfs/errata/&version;/">
<!ENTITY generic-version "%relnum;"> <!-- Used below in
@ -96,10 +96,8 @@
<!ENTITY secadv "&lfs-root;lfs/advisories/">
<!-- 5.4 EOL is Dec 2025
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 ">
so for LFS 12.5 we may consider moving to 5.10. -->
<!ENTITY min-kernel "5.4">
<!--
<!ENTITY patches-rootd "&lfs-root;patches/lfs/&generic-versiond;/">

View File

@ -118,7 +118,6 @@ function get_packages( $package, $dirpath )
//if ( $package != "wheel" ) return 0; // debug
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 == "expat" ) $dirpath = "https://sourceforge.net/projects/expat/files";
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 == "ninja" ) $dirpath = github("ninja-build/ninja");
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 == "psmisc" ) $dirpath = "https://gitlab.com/psmisc/psmisc/-/tags";
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\.]+).*$/" );
# End Python modules
if ( $package == "packaging" )
return find_max( $lines, "/packaging/", "/^.*^.*packaging.([\d\.]+\d)\/.*$/" );
if ( $package == "procps-ng" )
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 "less than 0.1 SBU (about &autoconf-fin-sbu-tests; SBU with tests)">
<!ENTITY automake-version "1.17">
<!ENTITY am-minor-version "1.17">
<!ENTITY automake-version "1.18">
<!ENTITY am-minor-version "1.18">
<!ENTITY automake-size "1,614 KB">
<!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-fin-du "121 MB">
<!ENTITY automake-fin-sbu "less than 0.1 SBU (about 1.1 SBU with tests)">
<!ENTITY bash-version "5.2.37">
<!ENTITY bash-size "10,868 KB">
<!ENTITY bash-version "5.3-rc2">
<!ENTITY bash-size "10,774 KB">
<!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-tmp-du "68 MB">
<!ENTITY bash-tmp-sbu "0.2 SBU">
@ -61,7 +61,7 @@
<!ENTITY bc-size "464 KB">
<!ENTITY bc-url "https://github.com/gavinhoward/bc/releases/download/&bc-version;/bc-&bc-version;.tar.xz">
<!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-sbu "less than 0.1 SBU">
@ -96,28 +96,20 @@
<!ENTITY bzip2-fin-du "7.2 MB">
<!ENTITY bzip2-fin-sbu "less than 0.1 SBU">
<!ENTITY check-version "0.15.2">
<!ENTITY check-size "760 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-version "9.7">
<!ENTITY coreutils-size "6,015 KB">
<!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-tmp-du "181 MB">
<!ENTITY coreutils-tmp-sbu "0.3 SBU">
<!ENTITY coreutils-fin-du "182 MB">
<!ENTITY coreutils-fin-sbu "1.2 SBU">
<!ENTITY dbus-version "1.16.0">
<!ENTITY dbus-size "1,092 KB">
<!ENTITY dbus-version "1.16.2">
<!ENTITY dbus-size "1,090 KB">
<!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-fin-du "17 MB">
<!ENTITY dbus-fin-sbu "0.1 SBU">
@ -130,10 +122,10 @@
<!ENTITY dejagnu-tmp-du "6.9 MB">
<!ENTITY dejagnu-tmp-sbu "less than 0.1 SBU">
<!ENTITY diffutils-version "3.11">
<!ENTITY diffutils-size "1,881 KB">
<!ENTITY diffutils-version "3.12">
<!ENTITY diffutils-size "1,894 KB">
<!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-tmp-du "35 MB">
<!ENTITY diffutils-tmp-sbu "0.1 SBU">
@ -148,18 +140,18 @@
<!ENTITY e2fsprogs-fin-du "99 MB">
<!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-size "11,635 KB">
<!ENTITY elfutils-version "0.193"> <!-- libelf -->
<!ENTITY elfutils-size "11,695 KB">
<!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-fin-du "135 MB">
<!ENTITY elfutils-fin-sbu "0.3 SBU">
<!ENTITY expat-version "2.6.4">
<!ENTITY expat-size "476 KB">
<!ENTITY expat-url "&sourceforge;expat/expat-&expat-version;.tar.xz">
<!ENTITY expat-md5 "101fe3e320a2800f36af8cf4045b45c7">
<!ENTITY expat-version "2.7.1">
<!ENTITY expat-size "485 KB">
<!ENTITY expat-url "&github;/libexpat/libexpat/releases/download/R_2_7_1/expat-&expat-version;.tar.xz">
<!ENTITY expat-md5 "9f0c266ff4b9720beae0c6bd53ae4469">
<!ENTITY expat-home "https://libexpat.github.io/">
<!ENTITY expat-fin-du "14 MB">
<!ENTITY expat-fin-sbu "0.1 SBU">
@ -200,28 +192,28 @@
<!ENTITY flex-fin-du "33 MB">
<!ENTITY flex-fin-sbu "0.1 SBU">
<!ENTITY flit-core-version "3.11.0">
<!ENTITY flit-core-size "51 KB">
<!ENTITY flit-core-version "3.12.0">
<!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-md5 "6d677b1acef1769c4c7156c7508e0dbd">
<!ENTITY flit-core-md5 "c538415c1f27bd69cbbbf3cdd5135d39">
<!ENTITY flit-core-home "&pypi-home;/flit-core/">
<!ENTITY flit-core-fin-du "1.0 MB">
<!ENTITY flit-core-fin-sbu "less than 0.1 SBU">
<!ENTITY gawk-version "5.3.1">
<!ENTITY gawk-size "3,428 KB">
<!ENTITY gawk-version "5.3.2">
<!ENTITY gawk-size "3,662 KB">
<!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-tmp-du "47 MB">
<!ENTITY gawk-tmp-sbu "0.1 SBU">
<!ENTITY gawk-fin-du "43 MB">
<!ENTITY gawk-fin-sbu "0.2 SBU">
<!ENTITY gcc-version "14.2.0">
<!ENTITY gcc-size "90,144 KB">
<!ENTITY gcc-version "15.1.0">
<!ENTITY gcc-size "95,966 KB">
<!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-tmpp1-du "4.8 GB">
<!ENTITY gcc-tmpp1-sbu "3.2 SBU">
@ -237,18 +229,18 @@
<!ENTITY libstdcpp-tmpp1-du "850 MB">
<!ENTITY libstdcpp-tmpp1-sbu "0.2 SBU">
<!ENTITY gdbm-version "1.24">
<!ENTITY gdbm-size "1,168 KB">
<!ENTITY gdbm-version "1.25">
<!ENTITY gdbm-size "1,196 KB">
<!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-fin-du "13 MB">
<!ENTITY gdbm-fin-sbu "less than 0.1 SBU">
<!ENTITY gettext-version "0.24">
<!ENTITY gettext-size "8,120 KB">
<!ENTITY gettext-version "0.25">
<!ENTITY gettext-size "9,701 KB">
<!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-tmp-du "349 MB">
<!ENTITY gettext-tmp-sbu "1.3 SBU">
@ -273,18 +265,18 @@
<!ENTITY gmp-fin-du "54 MB">
<!ENTITY gmp-fin-sbu "0.3 SBU">
<!ENTITY gperf-version "3.1">
<!ENTITY gperf-size "1,188 KB">
<!ENTITY gperf-version "3.3">
<!ENTITY gperf-size "1,789 KB">
<!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-fin-du "6.1 MB">
<!ENTITY gperf-fin-sbu "less than 0.1 SBU">
<!ENTITY grep-version "3.11">
<!ENTITY grep-size "1,664 KB">
<!ENTITY grep-version "3.12">
<!ENTITY grep-size "1,874 KB">
<!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-tmp-du "27 MB">
<!ENTITY grep-tmp-sbu "0.1 SBU">
@ -307,20 +299,20 @@
<!ENTITY grub-fin-du "166 MB">
<!ENTITY grub-fin-sbu "0.3 SBU">
<!ENTITY gzip-version "1.13">
<!ENTITY gzip-size "819 KB">
<!ENTITY gzip-version "1.14">
<!ENTITY gzip-size "865 KB">
<!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-tmp-du "11 MB">
<!ENTITY gzip-tmp-sbu "0.1 SBU">
<!ENTITY gzip-fin-du "21 MB">
<!ENTITY gzip-fin-sbu "0.3 SBU">
<!ENTITY iana-etc-version "20250123">
<!ENTITY iana-etc-size "591 KB">
<!ENTITY iana-etc-version "20250519">
<!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-md5 "f8a0ebdc19a5004cf42d8bdcf614fa5d">
<!ENTITY iana-etc-md5 "45778351c7eda633946a777cd8e24eb8">
<!ENTITY iana-etc-home "https://www.iana.org/protocols">
<!ENTITY iana-etc-fin-du "4.8 MB">
<!ENTITY iana-etc-fin-sbu "less than 0.1 SBU">
@ -341,42 +333,42 @@
<!ENTITY intltool-fin-du "1.5 MB">
<!ENTITY intltool-fin-sbu "less than 0.1 SBU">
<!ENTITY iproute2-version "6.13.0">
<!ENTITY iproute2-size "906 KB">
<!ENTITY iproute2-version "6.15.0">
<!ENTITY iproute2-size "910 KB">
<!ENTITY iproute2-url "&kernel;linux/utils/net/iproute2/iproute2-&iproute2-version;.tar.xz">
<!ENTITY iproute2-md5 "1603d25120d03feeaba9b360d03ffaec">
<!ENTITY iproute2-md5 "d85d77deed57e055cb2d1409595a6348">
<!ENTITY iproute2-home "&kernel;linux/utils/net/iproute2/">
<!ENTITY iproute2-fin-du "17 MB">
<!ENTITY iproute2-fin-sbu "0.1 SBU">
<!ENTITY jinja2-version "3.1.5">
<!ENTITY jinja2-size "239 KB">
<!ENTITY jinja2-version "3.1.6">
<!ENTITY jinja2-size "240 KB">
<!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-fin-du "2.5 MB">
<!ENTITY jinja2-fin-sbu "less than 0.1 SBU">
<!ENTITY kbd-version "2.7.1">
<!ENTITY kbd-size "1,438 KB">
<!ENTITY kbd-version "2.8.0">
<!ENTITY kbd-size "1,448 KB">
<!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-fin-du "34 MB">
<!ENTITY kbd-fin-sbu "0.1 SBU">
<!ENTITY kmod-version "34">
<!ENTITY kmod-size "331 KB">
<!ENTITY kmod-version "34.2">
<!ENTITY kmod-size "434 KB">
<!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-fin-du "11 MB">
<!ENTITY kmod-fin-sbu "less than 0.1 SBU">
<!ENTITY less-version "668">
<!ENTITY less-size "635 KB">
<!ENTITY less-version "678">
<!ENTITY less-size "857 KB">
<!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-fin-du "14 MB">
<!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-sbu "less than 0.1 SBU">
<!ENTITY libcap-version "2.73">
<!ENTITY libcap-size "191 KB">
<!ENTITY libcap-version "2.76">
<!ENTITY libcap-size "195 KB">
<!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-fin-du "3.0 MB">
<!ENTITY libcap-fin-sbu "less than 0.1 SBU">
<!ENTITY libffi-version "3.4.7">
<!ENTITY libffi-size "1,362 KB">
<!ENTITY libffi-version "3.5.1">
<!ENTITY libffi-size "1,387 KB">
<!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 "a67b82e7ec069f15cd81c23ced5049f4">
<!ENTITY libffi-home "https://sourceware.org/libffi/">
<!ENTITY libffi-fin-du "11 MB">
<!ENTITY libffi-fin-sbu "1.7 SBU">
@ -430,13 +422,13 @@
<!ENTITY libxcrypt-fin-sbu "0.1 SBU">
<!ENTITY linux-major-version "6">
<!ENTITY linux-minor-version "13">
<!ENTITY linux-patch-version "4">
<!ENTITY linux-minor-version "15">
<!ENTITY linux-patch-version "2">
<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
<!ENTITY linux-size "145,015 KB">
<!ENTITY linux-size "147,636 KB">
<!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
<!ENTITY linux-md5 "13b9e6c29105a34db4647190a43d1810">
<!ENTITY linux-md5 "adb5495ce6e317091541057344fcf0a6">
<!ENTITY linux-home "https://www.kernel.org/">
<!-- measured for 6.10.1 / gcc-14.1.0 on x86_64 with -j4 :
minimum is allnoconfig
@ -459,10 +451,10 @@
<!ENTITY lz4-fin-du "4.2 MB">
<!ENTITY lz4-fin-sbu "0.1 SBU">
<!ENTITY m4-version "1.4.19">
<!ENTITY m4-size "1,617 KB">
<!ENTITY m4-version "1.4.20">
<!ENTITY m4-size "1,997 KB">
<!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-tmp-du "32 MB">
<!ENTITY m4-tmp-sbu "0.1 SBU">
@ -479,18 +471,18 @@
<!ENTITY make-fin-du "13 MB">
<!ENTITY make-fin-sbu "0.7 SBU">
<!ENTITY man-db-version "2.13.0">
<!ENTITY man-db-size "2,023 KB">
<!ENTITY man-db-version "2.13.1">
<!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-md5 "97ab5f9f32914eef2062d867381d8cee">
<!ENTITY man-db-md5 "b6335533cbeac3b24cd7be31fdee8c83">
<!ENTITY man-db-home "https://www.nongnu.org/man-db/">
<!ENTITY man-db-fin-du "44 MB">
<!ENTITY man-db-fin-sbu "0.3 SBU">
<!ENTITY man-pages-version "6.12">
<!ENTITY man-pages-size "1,838 KB">
<!ENTITY man-pages-version "6.14">
<!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-md5 "44de430a598605eaba3e36dd43f24298">
<!ENTITY man-pages-md5 "d0c9b48d6c4b4c26ec580970c461ebfa">
<!ENTITY man-pages-home "https://www.kernel.org/doc/man-pages/">
<!ENTITY man-pages-fin-du "52 MB">
<!ENTITY man-pages-fin-sbu "0.1 SBU">
@ -503,10 +495,10 @@
<!ENTITY markupsafe-fin-du "500 KB">
<!ENTITY markupsafe-fin-sbu "less than 0.1 SBU">
<!ENTITY meson-version "1.7.0">
<!ENTITY meson-size "2,241 KB">
<!ENTITY meson-version "1.8.2">
<!ENTITY meson-size "2,281 KB">
<!ENTITY meson-url "&github;/mesonbuild/meson/releases/download/&meson-version;/meson-&meson-version;.tar.gz">
<!ENTITY meson-md5 "c20f3e5ebbb007352d22f4fd6ceb925c">
<!ENTITY meson-md5 "677d8dfec2a8c25bcc4de4227403fe0a">
<!ENTITY meson-home "https://mesonbuild.com">
<!ENTITY meson-fin-du "44 MB">
<!ENTITY meson-fin-sbu "less than 0.1 SBU">
@ -519,18 +511,19 @@
<!ENTITY mpc-fin-du "22 MB">
<!ENTITY mpc-fin-sbu "0.1 SBU">
<!ENTITY mpfr-version "4.2.1">
<!ENTITY mpfr-size "1,459 KB">
<!ENTITY mpfr-version "4.2.2">
<!ENTITY mpfr-size "1,471 KB">
<!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-fin-du "43 MB">
<!ENTITY mpfr-fin-sbu "0.2 SBU">
<!ENTITY ncurses-version "6.5">
<!ENTITY ncurses-size "2,156 KB">
<!ENTITY ncurses-url "https://invisible-mirror.net/archives/ncurses/ncurses-&ncurses-version;.tar.gz">
<!ENTITY ncurses-md5 "ac2d2629296f04c8537ca706b6977687">
<!ENTITY ncurses-version "6.5-20250531">
<!ENTITY ncurses-base-version "6.5">
<!ENTITY ncurses-size "3,700 KB">
<!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-tmp-du "53 MB">
<!ENTITY ncurses-tmp-sbu "0.4 SBU">
@ -545,18 +538,26 @@
<!ENTITY ninja-fin-du "37 MB">
<!ENTITY ninja-fin-sbu "0.2 SBU">
<!ENTITY openssl-version "3.4.1">
<!ENTITY openssl-size "17,917 KB">
<!ENTITY openssl-version "3.5.0">
<!ENTITY openssl-size "51,892 KB">
<!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-fin-du "920 MB">
<!ENTITY openssl-fin-sbu "1.8 SBU">
<!ENTITY patch-version "2.7.6">
<!ENTITY patch-size "766 KB">
<!ENTITY packaging-version "25.0">
<!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-md5 "78ad9937e4caadcba1526ef1853730d5">
<!ENTITY patch-md5 "149327a021d41c8f88d034eab41c039f">
<!ENTITY patch-home "https://savannah.gnu.org/projects/patch/">
<!ENTITY patch-tmp-du "12 MB">
<!ENTITY patch-tmp-sbu "0.1 SBU">
@ -565,22 +566,22 @@
<!ENTITY perl-version-major "5">
<!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 "&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-md5 "bab3547a5cdf2302ee0396419d74a42e">
<!ENTITY perl-md5 "9ad7a269dc4053cdbeecd4fde444291b">
<!ENTITY perl-home "https://www.perl.org/">
<!ENTITY perl-tmp-du "285 MB">
<!ENTITY perl-tmp-sbu "0.6 SBU">
<!ENTITY perl-fin-du "245 MB">
<!ENTITY perl-fin-sbu "1.3 SBU">
<!ENTITY pkgconf-version "2.3.0">
<!ENTITY pkgconf-size "309 KB">
<!ENTITY pkgconf-version "2.4.3">
<!ENTITY pkgconf-size "314 KB">
<!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-fin-du "4.7 MB">
<!ENTITY pkgconf-fin-sbu "less than 0.1 SBU">
@ -604,25 +605,25 @@
<!-- If python minor version changes, updates in python and
meson pages will be needed: python3.6 and python3.6m -->
<!ENTITY python-version "3.13.2">
<!ENTITY python-version "3.13.5">
<!ENTITY python-minor "3.13">
<!ENTITY python-size "22,091 KB">
<!ENTITY python-size "22,321 KB">
<!ENTITY python-url "https://www.python.org/ftp/python/&python-version;/Python-&python-version;.tar.xz">
<!ENTITY python-md5 "4c2d9202ab4db02c9d0999b14655dfe5">
<!ENTITY python-md5 "dbaa8833aa736eddbb18a6a6ae0c10fa">
<!ENTITY python-home "https://www.python.org/">
<!ENTITY python-tmp-du "634 MB">
<!ENTITY python-tmp-sbu "0.5 SBU">
<!ENTITY python-fin-du "501 MB">
<!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-md5 "d6aede88f480a018d26b3206f21654ae">
<!ENTITY python-docs-size "10,102 KB">
<!ENTITY python-docs-md5 "8f34b29779cc1d5d1e8c0a913c307129">
<!ENTITY python-docs-size "10,130 KB">
<!ENTITY readline-version "8.2.13">
<!ENTITY readline-soversion "8.2"><!-- used for stripping -->
<!ENTITY readline-size "2,974 KB">
<!ENTITY readline-version "8.3-rc2">
<!ENTITY readline-soversion "8.3"><!-- used for stripping -->
<!ENTITY readline-size "3,338 KB">
<!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-fin-du "16 MB">
<!ENTITY readline-fin-sbu "less than 0.1 SBU">
@ -637,45 +638,45 @@
<!ENTITY sed-fin-du "30 MB">
<!ENTITY sed-fin-sbu "0.3 SBU">
<!ENTITY setuptools-version "75.8.1">
<!ENTITY setuptools-size "1,313 KB">
<!ENTITY setuptools-version "80.9.0">
<!ENTITY setuptools-size "1,290 KB">
<!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-fin-du "26 MB">
<!ENTITY setuptools-fin-sbu "less than 0.1 SBU">
<!ENTITY shadow-version "4.17.3">
<!ENTITY shadow-size "2,274 KB">
<!ENTITY shadow-version "4.17.4">
<!ENTITY shadow-size "2,273 KB">
<!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-fin-du "114 MB">
<!ENTITY shadow-fin-sbu "0.1 SBU">
<!ENTITY sysklogd-version "2.7.0">
<!ENTITY sysklogd-size "465 KB">
<!ENTITY sysklogd-version "2.7.2">
<!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-md5 "611c0fa5c138eb7a532f3c13bdf11ebc">
<!ENTITY sysklogd-md5 "af60786956a2dc84054fbf46652e515e">
<!ENTITY sysklogd-home "https://www.infodrom.org/projects/sysklogd/">
<!ENTITY sysklogd-fin-du "4.1 MB">
<!ENTITY sysklogd-fin-sbu "less than 0.1 SBU">
<!ENTITY systemd-version "257.3">
<!ENTITY systemd-version "257.6">
<!--<!ENTITY systemd-stable "6b4878d">-->
<!-- The above entity is used whenever we move to a stable backport branch.
In the event of a critical problem or kernel change that is incompatible,
we will switch to the backport branch until the next stable release. -->
<!ENTITY systemd-size "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 "&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-man-version "257.3">
<!ENTITY systemd-man-size "733 KB">
<!ENTITY systemd-man-version "257.6">
<!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-man-version;.tar.xz">
<!ENTITY systemd-man-md5 "9b77c3b066723d490cb10aed4fb05696">
<!ENTITY systemd-man-md5 "d06eb41840ab4c6138e30ba78387ef4e">
<!ENTITY systemd-fin-du "307 MB">
<!ENTITY systemd-fin-sbu "1.1 SBU">
@ -719,10 +720,10 @@
<!ENTITY texinfo-fin-du "160 MB">
<!ENTITY texinfo-fin-sbu "0.3 SBU">
<!ENTITY tzdata-version "2025a">
<!ENTITY tzdata-size "453 KB">
<!ENTITY tzdata-version "2025b">
<!ENTITY tzdata-size "454 KB">
<!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 udev-lfs-version "udev-lfs-20230818">
@ -733,21 +734,21 @@
<!ENTITY udev-fin-du "161 MB">
<!ENTITY udev-fin-sbu "0.3 SBU">
<!ENTITY util-linux-minor "2.40">
<!ENTITY util-linux-version "2.40.4"> <!-- 2.33.x -->
<!ENTITY util-linux-size "8,641 KB">
<!ENTITY util-linux-minor "2.41">
<!ENTITY util-linux-version "2.41"> <!-- 2.33.x -->
<!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-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-tmp-du "182 MB">
<!ENTITY util-linux-tmp-sbu "0.2 SBU">
<!ENTITY util-linux-fin-du "316 MB">
<!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-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">
<!-- N.B. LFS 9.0 uses
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
us v8.1.1846. -->
<!--<!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-fin-du "251 MB">
<!ENTITY vim-fin-sbu "3.4 SBU">
<!ENTITY wheel-version "0.45.1">
<!ENTITY wheel-size "106 KB">
<!ENTITY wheel-version "0.46.1">
<!ENTITY wheel-size "54 KB">
<!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-fin-du "1.6 MB">
<!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-sbu "less than 0.1 SBU">
<!ENTITY xz-version "5.6.4">
<!ENTITY xz-size "1,310 KB">
<!ENTITY xz-version "5.8.1">
<!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-md5 "4b1cf07d45ec7eb90a01dd3c00311a3e">
<!ENTITY xz-md5 "cf5e1feb023d22c6bdaa30e84ef3abe3">
<!ENTITY xz-home "https://tukaani.org/xz">
<!ENTITY xz-tmp-du "21 MB">
<!ENTITY xz-tmp-sbu "0.1 SBU">

View File

@ -3,6 +3,9 @@
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
<!ENTITY host-triplet
"<replaceable>&lt;the host triplet&gt;</replaceable>">
]>
<sect1 id="ch-tools-toolchaintechnotes" xreflabel="Toolchain Technical Notes">
@ -44,6 +47,14 @@
book for a cross-toolchain for some purpose other
than building LFS, unless you really understand what you are doing.
</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>
<para>Cross-compilation involves some concepts that deserve a section of
@ -197,14 +208,105 @@
page</ulink>.</para>
</note>
<para>In order to fake a cross-compilation in LFS, the name of the host triplet
is slightly adjusted by changing the &quot;vendor&quot; field in the
<envar>LFS_TGT</envar> variable so it says &quot;lfs&quot;. We also use the
<parameter>--with-sysroot</parameter> option when building the cross-linker and
cross-compiler, to tell them where to find the needed host files. This
ensures that none of the other programs built in <xref
linkend="chapter-temporary-tools"/> can link to libraries on the build
machine. Only two stages are mandatory, plus one more for tests.</para>
<para>
There are two key points for a cross-compilation:
</para>
<itemizedlist>
<listitem>
<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">
<tgroup cols="5">
@ -228,7 +330,7 @@
</row>
<row>
<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>
</tbody>
</tgroup>
@ -256,30 +358,11 @@
<para>The upshot of the preceding paragraph is that cc1 is unable to
build a fully functional libstdc++ with the degraded libgcc, but cc1
is the only compiler available for building the C/C++ libraries
during stage 2. There are two reasons we don't immediately use the
compiler built in stage 2, cc-lfs, to build those libraries.</para>
<itemizedlist>
<listitem>
<para>
Generally 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
during stage 2. As we've discussed, we cannot run cc-lfs on pc (the
host distro) because it may require some library, code, or data not
available on <quote>the build</quote> (the host distro).
So when we build gcc stage 2, we override the library
search path to link libstdc++ against the newly
rebuilt libgcc instead of the old, degraded build. This makes the rebuilt
libstdc++ fully functional.</para>
@ -290,12 +373,11 @@
package on a completed LFS system, the reinstalled content of the package
should be the same as the content of the same package when first installed in
&ch-final;. The temporary packages installed in &ch-tmp-cross; or
&ch-tmp-chroot; cannot satisfy this requirement, because some of them
are built without optional dependencies, and autoconf cannot
perform some feature checks in &ch-tmp-cross; because of cross-compilation,
causing the temporary packages to lack optional features,
or use suboptimal code routines. Additionally, a minor reason for
rebuilding the packages is to run the test suites.</para>
&ch-tmp-chroot; cannot satisfy this requirement, because some optional
features of them are disabled because of either the missing
dependencies or the <quote>cross-compilation mode.</quote>
Additionally, a minor reason for rebuilding the packages is to run the
test suites.</para>
</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
kernel will provide.</para>
<para>Next comes glibc. The most important
considerations for building glibc are the compiler, binary tools, and
kernel headers. The compiler and binary tools are generally not an issue
since glibc will always use those relating to the <parameter>--host</parameter>
parameter passed to its configure script; e.g., in our case, the compiler
will be <command>$LFS_TGT-gcc</command> and the <command>readelf</command>
tool will be <command>$LFS_TGT-readelf</command>. The kernel headers can
be a bit more complicated. Therefore, we take no risks and use
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>Next comes glibc. This is the first package that we cross-compile.
We use the <parameter>--host=$LFS_TGT</parameter> option to make
the build system to use those tools prefixed with
<literal>$LFS_TGT-</literal>, and the
<parameter>--build=$(../scripts/config.guess)</parameter> option to
enable <quote>the cross-compilation mode</quote> as we've discussed.
The <envar>DESTDIR</envar> variable is used to force installation into
the LFS file system.</para>
<para>As mentioned above, the standard C++ library is compiled next, followed in
<xref linkend="chapter-temporary-tools"/> by other programs that must
be cross-compiled to break circular dependencies at build time.
The install step of all those packages uses the
<envar>DESTDIR</envar> variable to force installation
in the LFS filesystem.</para>
The steps for those packages are similar to the steps for glibc.</para>
<para>At the end of <xref linkend="chapter-temporary-tools"/> the native
LFS compiler is installed. First binutils-pass2 is built,
in the same <envar>DESTDIR</envar> directory as the other programs,
then the second pass of gcc is constructed, omitting some
non-critical libraries. Due to some weird logic in gcc's
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>
non-critical libraries.</para>
<para>Upon entering the chroot environment in <xref
linkend="chapter-chroot-temporary-tools"/>,

View File

@ -1,48 +1,60 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- 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-md5 "eddd9860af589ec328541a9ec5e5928e">
<!ENTITY binutils-upstream-patch-size "18 KB">
-->
<!ENTITY bzip2-docs-patch "bzip2-&bzip2-version;-install_docs-1.patch">
<!ENTITY bzip2-docs-patch-md5 "6a5ac7e89b791aae556de0f745916f7f">
<!ENTITY bzip2-docs-patch-size "1.6 KB">
<!ENTITY coreutils-i18n-patch "coreutils-&coreutils-version;-i18n-1.patch">
<!ENTITY coreutils-i18n-patch-md5 "6aee45dd3e05b7658971c321d92f44b7">
<!ENTITY coreutils-i18n-patch-size "164 KB">
<!ENTITY coreutils-i18n-patch-md5 "33ebfad32b2dfb8417c3335c08671206">
<!ENTITY coreutils-i18n-patch-size "159 KB">
<!ENTITY expect-gcc14-patch "expect-&expect-version;-gcc14-1.patch">
<!ENTITY expect-gcc14-patch-md5 "0b8b5ac411d011263ad40b0664c669f0">
<!ENTITY expect-gcc14-patch-size "7.8 KB">
<!ENTITY coreutils-upstream-patch "coreutils-&coreutils-version;-upstream_fix-1.patch">
<!ENTITY coreutils-upstream-patch-md5 "96382a5aa85d6651a74f94ffb61785d9">
<!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-md5 "9a5997c3452909b1769918c759eff8a2">
<!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-md5 "f75cca16a38da6caa7d52151f7136895">
<!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-md5 "9ed497b6cb8adcb8dbda9dee9ebce791">
<!ENTITY readline-fixes-patch-size "13 KB">
-->
<!ENTITY sysvinit-consolidated-patch "sysvinit-&sysvinit-version;-consolidated-1.patch">
<!ENTITY sysvinit-consolidated-patch-md5 "3af8fd8e13cad481eeeaa48be4247445">
<!ENTITY sysvinit-consolidated-patch-size "2.5 KB">
<!--
<!ENTITY systemd-upstream-patch "systemd-&systemd-version;-upstream_fixes-1.patch">
<!ENTITY systemd-upstream-patch-md5 "8d9c1014445c463cf7c24c162b1e0686">

View File

@ -27,8 +27,12 @@
Prevent creation of dummy sect1 files used to emulate sub-chapters.
The original template is in {docbook-xsl}/xhtml/chunk-code.xsl
It also matches other sect* tags. The code for those tags are
unchanged. -->
<xsl:template match="sect1">
unchanged. Note that the priority attribute is not strictly
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:call-template name="chunk"/>
</xsl:variable>

View File

@ -80,6 +80,16 @@
</xsl:choose>
</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:
Self-made template that creates a fo:block wrapper with keep-together
processing instruction support around the output generated by

View File

@ -43,6 +43,16 @@
</xsl:choose>
</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:
Changed class attribute asignament to fit our look needs.
Removed unused line numbering support. -->

View File

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