Skip to content

Merge upstream - #6

Open
MymeType wants to merge 119 commits into
MymeType:trunkfrom
lfs-book:trunk
Open

Merge upstream#6
MymeType wants to merge 119 commits into
MymeType:trunkfrom
lfs-book:trunk

Conversation

@MymeType

@MymeType MymeType commented May 2, 2026

Copy link
Copy Markdown
Owner

No description provided.

bdubbs and others added 30 commits April 14, 2026 14:01
Update to meson-1.11.0.
Move intltool and XML-Parser to BLFS.
Update to vim-9.1.0340 (Security Update).
Update to util-linux-2.42 (Security Update).
Update to sqlite-3.53.0.
Update to Python3-3.14.4 (Security Update).
Update to openssl-3.6.2 (Security Update).
Update to linux-6.19.12.
Update to libcap-2.78 (Security Update).
Update to iana-etc-20260409.
So that jhalfs is able to replace it with something
The bug only affects BIOS.  So if the user has not built grub for BIOS,
(s)he won't use BIOS and the sed is not needed; if the user has built
grub for BIOS, the sed should have been already executed when (s)he was
building grub for BIOS.

So in either case, we don't need to repeat the sed in the EFI sections.
Defining UGA as "UGA Draw Protocol" seems an infinite recursion.
…stem

Technically the swap partition does not contain a file system, thus
"formatting" seems puzzling.  And the next section is using a better
terminology "initialized" (copied from the man page of mkswap).
There's only one section (BIOS) before 64-bit UEFI.
Update to wheel-0.47.0 (Python module).
Update to tzdata2026b.
Update to sed-4.10.
Update to packaging-26.2 (Python module).
Update to mpc-1.4.1.
Update to meson-1.11.1.
Update to vim-9.2.0421 (Security Update).
Update to man-pages-6.18.
Update to iproute2-7.0.0.
Update to inetutils-2.8.
Update to expat-2.8.0 (Security Update).
Update to elfutils-0.195 (libelf).
Update to coreutils-9.11.
Update to iana-etc-20260424.
- Use "firmware setup" instead of "BIOS": in the context of the grub
  page "BIOS" almost always means "MBR boot," but here it means the
  firmware setup interface.
- We may manipulate any EFI variable (unless the firmware makes it read
  only) by directly writing the efivarfs, but GRUB needs efibootmgr.
- We don't necessarily install LFS into the same disk where ESP exists.
"UEFI bootloaders" normally stands for things like GRUB or systemd-boot,
instead of firmware.  And it seems we are using "standard" location
instead of "hardcoded" location elsewhere.
Fix the explanation for CSM (here M stands for Module, not Mode).

Keep the terminology "BIOS" soly for "booting via MBR" and use
"firmware" instead for other purposes.
Make the commands more concise, and remove the explicit GCC version
number to make people easier trying a new GCC version.
The kernel itself already guarantees the order of [eou]hci_hcd since
Linux 3.13 (12 years ago!).

Link: https://git.kernel.org/torvalds/c/05c92da0c52494ca
Twice in the past span of a year, Arch Linux has updates to new versions
of software rather quickly that causes LFS to be impossible without
modifications. The first instance was updating to GCC-15.1, of which
that disaster may be repeated with GCC-16.1. The second, most recent,
instance is that they updated to Linux-7. This changed behavior of
rseq, tables, and the ABI feature from 32 to 33, which messes with
Glibc, meaning users will need to use a host that has Linux <= 6.19.x
for now.

This distructive nature needs to be explained to the users to help to
prevent them from using broken hosts.

So many issues have popped up over on Discord and Reddit, and as an
aside and personal vent, I've been getting pretty tired of it each time
Arch pulls off something like this when it clearly isn't time yet.

The Gentoo GUI LiveCD (and Gentoo itself in general) is a good example
of how to treat the software set, and too not update too early.
xry111 and others added 30 commits July 24, 2026 17:56
Technically a binary built with the cross tools for $LFS_TGT should
always be inspected with such a cross tools as well.
Update to shadow-4.20.0.
Update to vim-9.2.0858 (Security Update).
Update to systemd-261.2.
Update to sqlite-3.53.4.
Update to pkgconf-3.0.4.
Update to perl-5.44.0.
Update to linux-7.1.5.
Update to libtool-2.6.2.
Update to iana-etc-20260723.
Update to glibc-2.44 (Security Update).
Update to binutils-2.47.
They are not useful now as we no longer use gfxterm.
In gcc-pass2 the C++ std module fails to build, similar to the issue
we've fixed for gcc-pass1 at commit 2be87ce.  Here it's even more
complicated than gcc-pass1: the problem is the libstdc++ fenv.h
has #include_next <fenv.h> and expects the directive to find glibc
fenv.h, but with CXX_FOR_TARGET=$LFS_TGT-g++ (the default) the compiler
finds it's own (installed at ch.05 libstdc++) fenv.h, then
this #include_next directive finds fenv.h in the gcc-pass2 build, and
because of the _GLIBCXX_FENV_H include guard gcc-pass2 fenv.h won't pull
the glibc header anymore.  Then the build will report errors like
"cannot find fenv_t" etc.

To resolve the issue, pass CXX_FOR_TARGET="$LFS_TGT-gcc -nostdinc++"
like what the top-level build system does for a native build.
The 3.0.x release no longer requires the non-LFS packages to run the
test.
Helps to prevent the lib64 puzzle that happened several times.  Also
simplifies the sanity check output in glibc.
Workaround a testsuite bug (introduced by the changes for 2.44 to
improve the parallism of the test suite, but even -j1 cannot evade the
bug...) causing the test suite to bail out early.

I didn't see the issue in a LFS build but I saw it testing glibc on a
complete system, and IIUC it may occur building LFS too if the luck is
bad.
Update to flit_core-4.0.2 (Python module).
Update to gcc-16.2.0.
Update to linux-7.1.7.
Update to packaging-26.3 (Python module).
Update to pkgconf-3.0.5.
Update to Python-3.14.7 (Security Update).
As reported in #5983 and also confirmed by upstream wiki page.
The kill and uptime programs are already disabled by default since 9.11
release, having this switch causes configure to warn about its
redundancy.

This switch is already removed from ch08 earlier.
The stylesheet for dump-commands.xsl unconditionally insert a
new line after each <userinput>...</userinput> block. This
may not be intended if a <userinput> block contains an inner
<userinput> block. The fix is:
to apply-templates in <userinput> templates with a "mode="
attribute so that a template without mode cannot be used.
Then add the mode= attribute to any template that must be
processed inside a <userinput> block (currently only <replaceable>
ones). The inner <userinput> is then processed by the default
template (write text), and not the one in the stylesheet.
Update to expat-2.8.3 (Security Update).
Update to iana-etc-20260805.
Update to libffi-3.8.0.
Update to linux-7.1.8.
Update to meson-1.12.0.
Update to procps-ng-4.0.7.
Update to setuptools-84.0.0 (Python module).
Update to shadow-4.20.2.
Update to vim-9.2.0954.
Update to wheel-0.48.0 (Python module).
The alternate way to unset TIOCSTI is to
set /proc/sys/dev/tty/legacy_tiocsti to 0
from the command line.
kernel-config.py panics if TTY is not set to '*' since unsetting
LEGACY_TIOCSTI requires TTY to be set to Y. The XML already shows this,
but the TOML was incorrect. A line containing TTY may have been deleted
after the XML was generated. This fixes that.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants