archlinux-s390x/patches/pkgbuild
Mathieu Benoit f6199bdb16 [FIX] stage 2: produce its first package
Stage 2 could build and could not deliver. Four obstacles, all in the tail of
package(), after a compile that had already succeeded.

Our meson ships arch-meson and it passes --auto-features enabled, so each of
the nine documentation tools this chroot lacks was a hard error, not a skipped
feature. A wrapper appends --auto-features auto; meson honours the last one.
Building those tools was the alternative and it is not close -- doxygen alone
wants clang, fmt, spdlog, llvm-libs.

Then bsdtar would not start: stage-1 libxml2 asks for the host's
libicuuc.so.76, our icu ships 78, and bsdtar is what writes the package. The
package that would fix it was the one being built. libarchive only links
libxml2 for xar, which nothing here reads, so stage 1 drops it.

Verified: libxml2 rebuilt against libicuuc.so.78, provides libxml2.so=16-64,
zero multiarch paths.

--- FR ---

L'étage 2 savait bâtir et ne savait pas livrer. Quatre obstacles, tous dans la
queue de package(), après une compilation déjà réussie.

Notre meson livre arch-meson, qui passe --auto-features enabled : chacun des
neuf outils de documentation absents de ce chroot devenait une erreur franche
au lieu d'une option écartée. Une enveloppe ajoute --auto-features auto, meson
retenant la dernière occurrence. Bâtir ces outils était l'autre voie et l'écart
est net -- doxygen seul réclame clang, fmt, spdlog, llvm-libs.

Puis bsdtar ne démarrait plus : le libxml2 de l'étage 1 réclame le
libicuuc.so.76 de l'hôte, notre icu livre le 78, et bsdtar est ce qui écrit le
paquet. Le paquet qui corrigeait cela était celui qu'on bâtissait. libarchive
ne lie libxml2 que pour xar, que rien ici ne lit : l'étage 1 l'abandonne.

Vérifié : libxml2 rebâti sur libicuuc.so.78, fournit libxml2.so=16-64, aucun
chemin multiarch.

Assisted-by: Claude Opus 5
2026-08-20 01:12:14 -04:00
..
audit.sh [FIX] four hooks the closure's second round needed 2026-08-19 06:24:11 -04:00
binutils.sh [ADD] port patches: gcc front ends, binutils gold, libtool multilib 2026-08-15 21:01:18 -04:00
brotli.sh [REM] sub-packages: four that cost more closure than they carry 2026-08-19 05:28:32 -04:00
cmake.sh [FIX] stage 2: x86_64 compiler flags, and a .pc naming nothing 2026-08-19 20:19:37 -04:00
coreutils.sh [FIX] selinux: the chroot named a host artefact, not a dependency 2026-08-17 01:33:41 -04:00
curl.sh [ADD] TODO.md: track every divergence from upstream Arch 2026-08-16 05:47:47 -04:00
dbus.sh [FIX] the build host answered questions the target should 2026-08-19 05:28:32 -04:00
e2fsprogs.sh [FIX] four hooks the closure's second round needed 2026-08-19 06:24:11 -04:00
expat.sh [FIX] host defaults: apt was deciding what got built 2026-08-17 02:37:46 -04:00
findutils.sh [FIX] selinux: the chroot named a host artefact, not a dependency 2026-08-17 01:33:41 -04:00
gcc.sh [FIX] gcc: two defects only a chroot could find 2026-08-19 08:30:49 -04:00
gettext.sh [FIX] the build host answered questions the target should 2026-08-19 05:28:32 -04:00
git.sh [ADD] stage 2: the rebuild loop, and git to feed it 2026-08-19 08:56:41 -04:00
glibc.sh [ADD] devtools stand-ins, and lib32 removal for glibc and gcc 2026-08-15 21:15:01 -04:00
gnutls.sh [FIX] declared, never linked: guile, libisl.so, leancrypto 2026-08-19 05:28:32 -04:00
grep.sh [FIX] grep: the m4 check lives in bootstrap.conf, not bootstrap 2026-08-17 00:00:48 -04:00
kbd.sh [ADD] test-chroot: read the binaries, not the declarations 2026-08-19 06:24:11 -04:00
krb5.sh [FIX] the build host answered questions the target should 2026-08-19 05:28:32 -04:00
libarchive.sh [FIX] stage 2: produce its first package 2026-08-20 01:12:14 -04:00
libassuan.sh [FIX] canonical CHOST, and a reachable libassuan source 2026-08-16 00:45:50 -04:00
libcap-ng.sh [FIX] four hooks the closure's second round needed 2026-08-19 06:24:11 -04:00
libgcrypt.sh [ADD] libgcrypt: stage 1 consumes its own libgpg-error 2026-08-19 05:28:32 -04:00
libsasl.sh [FIX] four hooks the closure's second round needed 2026-08-19 06:24:11 -04:00
libseccomp.sh [REM] sub-packages: four that cost more closure than they carry 2026-08-19 05:28:32 -04:00
libtool.sh [ADD] port patches: gcc front ends, binutils gold, libtool multilib 2026-08-15 21:01:18 -04:00
libxml2.sh [FIX] stage 2: produce its first package 2026-08-20 01:12:14 -04:00
lvm2.sh [FIX] lvm2: only device-mapper, and the closure closes 2026-08-19 06:40:50 -04:00
lz4.sh [FIX] libdir: the Debian host hid the libraries from Arch 2026-08-17 01:33:41 -04:00
make.sh [FIX] declared, never linked: guile, libisl.so, leancrypto 2026-08-19 05:28:32 -04:00
meson.sh [FIX] python packages: /usr/local, once, for all of them 2026-08-19 20:19:37 -04:00
openssl.sh [FIX] openssl: s390x is big-endian, drop the little-endian EC path 2026-08-16 22:53:33 -04:00
pacman.sh [FIX] libdir: the Debian host hid the libraries from Arch 2026-08-17 01:33:41 -04:00
pam.sh [ADD] host deps: the tools six packages needed and nobody declared 2026-08-17 01:33:41 -04:00
pinentry.sh [FIX] the build host answered questions the target should 2026-08-19 05:28:32 -04:00
python.sh [ADD] the build systems stage 2 rebuilds with 2026-08-19 19:53:46 -04:00
readline.sh [FIX] stage 2: x86_64 compiler flags, and a .pc naming nothing 2026-08-19 20:19:37 -04:00
sed.sh [FIX] selinux: the chroot named a host artefact, not a dependency 2026-08-17 01:33:41 -04:00
sqlite.sh [FIX] the build host answered questions the target should 2026-08-19 05:28:32 -04:00
systemd.sh [REM] sub-packages: four that cost more closure than they carry 2026-08-19 05:28:32 -04:00
tar.sh [FIX] selinux: the chroot named a host artefact, not a dependency 2026-08-17 01:33:41 -04:00
zstd.sh [FIX] libdir: the Debian host hid the libraries from Arch 2026-08-17 01:33:41 -04:00