It does not make too much sense to list GNAT but not GDC. They are for
same purpose (building optional languages with bootstrap from binary
requirement).
There are many packages using pkg-config (pkgconf actually) or systemd
(systemd revision only) in the configure stage but we've not documented
them yet.
- D-Bus uses pkgconf to detect systemd.
- E2fsprogs uses pkgconf to detect libblkid (in util-linux).
eudev (in sysv revision) and systemd (in systemd revision).
- IProute2 uses pkgconf to detect libcap and libelf.
- Man-DB uses pkgconf to detect libpipeline and systemd.
- Procps-ng uses pkgconf to detect ncurses and systemd (or elogind,
but it's an external dependency).
- Python uses pkgconf to detect libuuid (in util-linux from Ch 07),
zlib, bzip2, xz, and openssl (and some external dependencies).
- Systemd uses pkgconf to detect Zlib, Xz, etc.
- Util-linux uses ncurses and systemd (and some external dependencies)
Add all of them.
There are also several packages finding for pkg-config but only uses it
for external dependencies, for eg grep and vim. I've not added them here.
Without this, the package FTBFS. It wasn't detected in my manual build
because of my custom CFLAGS.
Need to investigate it later: it may be a systemd bug or GCC bug on
LoongArch.
Patching GRUB-2.06 to support LoongArch is extremely difficult because
the "bootstrap" script in grub.git performs many complicated jobs. So
just provide our own dist tarball here.
The guess is "linux-generic32", which is too conservative for 64-bit
LoongArch CPUs. We may need to revise it when we add LA32 support.
There is also "linux64-loongarch64" but it depends on Binutils LSX
support which is not submitted for review yet.
Binutils 2.38 is the first release supporting LoongArch. Maybe we
should make it 2.40 (when the stupid "stack-based relocs" are gone) but
with our cross-compile method it should not make a significant
difference.
GCC 12.1 is the first release supporting LoongArch but it suffers a
severe bug [1] and it may miscompile GCC pass 1, so require 12.2 here.
[1]:https://gcc.gnu.org/PR106096
Update the rationale for min-kernel in hostreqs. Add a note in
general.ent about the EOL of current min-kernel. Realign the
backslashes in glibc instructions.
Use "library name" (instead of "library version") for SONAME (for now).
And "conflicting locations" may not be a problem if the symbol is at two
locations but they are exactly same (or ABI compatible).
For the details see lfs-dev discussion.
The current word is still not perfect (we've not defined "the name of a
shared library" at all), so I guess we'll need to make a major revision
for the entire "upgrading issue with shared libraries" thing in the
future.