archlinux-s390x/patches/pkgbuild
Mathieu Benoit f380f3fd66 [FIX] one stray .a file broke every pkg-config lookup
libxslt reported

  configure: error: Package requirements (python-3.14) were not met:
  Package 'python-3.14' not found

with python 3.14.7 installed and /usr/lib/pkgconfig/python-3.14.pc present. The
chain, none of whose links resembles the others:

  binutils installs libiberty.a into /usr/lib64, because s390x's default
  MULTILIB_OSDIRNAME is lib64, creating that path as a REAL directory. meson
  chooses its default libdir by inspecting the system, and 64-bit plus a real
  /usr/lib64 means lib64 -- a symlink does not count, which is why Arch never
  sees this and arch-meson passes no --libdir at all. pkgconf is a meson
  package, so it installed there and COMPILED IN /usr/lib64/pkgconfig as its
  search path. Every .pc in the distribution is in /usr/lib/pkgconfig.

Fixed at all three levels: binutils pinned to --libdir=/usr/lib, the chroot's
arch-meson wrapper pins --libdir lib as a backstop, and the ARTEFACT check --
which said "no Debian multiarch libdir anywhere", truthfully and uselessly --
now also counts paths under usr/lib64.

--- FR ---

libxslt annonçait

  configure: error: Package requirements (python-3.14) were not met:
  Package 'python-3.14' not found

avec python 3.14.7 installé et /usr/lib/pkgconfig/python-3.14.pc bien présent.
La chaîne, dont aucun maillon ne ressemble aux autres :

  binutils dépose libiberty.a dans /usr/lib64, le MULTILIB_OSDIRNAME par défaut
  de s390x, et crée donc ce chemin comme VRAI répertoire. meson choisit son
  libdir par défaut en inspectant le système : 64 bits plus un vrai /usr/lib64
  donne lib64 — un lien ne compte pas, d'où le fait qu'Arch ne voit jamais cela
  et qu'arch-meson ne passe aucun --libdir. pkgconf étant un paquet meson, il
  s'y est installé et a COMPILÉ /usr/lib64/pkgconfig comme chemin de recherche.
  Or tous les .pc de la distribution sont dans /usr/lib/pkgconfig.

Corrigé aux trois niveaux : binutils épinglé à --libdir=/usr/lib, l'enveloppe
arch-meson du chroot épingle --libdir lib en filet, et le test ARTEFACT — qui
répondait « aucun libdir multiarch Debian », véridiquement et inutilement —
compte désormais aussi les chemins sous usr/lib64.

Assisted-by: Claude Opus 5
2026-08-21 00:47:09 -04:00
..
audit.sh [FIX] four hooks the closure's second round needed 2026-08-19 06:24:11 -04:00
binutils.sh [FIX] one stray .a file broke every pkg-config lookup 2026-08-21 00:47:09 -04:00
brotli.sh [REM] sub-packages: four that cost more closure than they carry 2026-08-19 05:28:32 -04:00
ca-certificates.sh [FIX] s390x: say which machine this port targets 2026-08-21 00:23:26 -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
cryptsetup.sh [FIX] s390x: say which machine this port targets 2026-08-21 00:23:26 -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
fakeroot.sh [FIX] s390x: say which machine this port targets 2026-08-21 00:23:26 -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] s390x: say which machine this port targets 2026-08-21 00:23:26 -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
rsync.sh [FIX] stage 2: the build tools the host was providing silently 2026-08-20 01:34:41 -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