archlinux-s390x/patches/pkgbuild
Mathieu Benoit 04a55bc74c [FIX] sqlite: tcl 9 keeps its library inside the binary
The hook's guard reported "no tcl dir under usr/lib". What sqlite had created
instead was a directory literally named `zipfs:`

  <pkgdir>/sqlite/zipfs:/lib/tcl/tcl_library/

The generated Makefile explains itself:

  # TCLLIBDIR = where to install the tcl plugin. If this is empty, it
  TCLLIBDIR = //zipfs:/lib/tcl/tcl_library/sqlite3.53.4

sqlite asks tcl where its library lives and installs the plugin beside it. In tcl
8.6 that was a real directory. tcl 9 ships its library INSIDE the executable, in
a zipfs mount, so the answer is a path only tcl can open -- and sqlite used it as
a filesystem path, creating a directory whose name contains a colon.

This is the deferred "libtcl8.6 versus our tcl 9.0" item in its final form: not a
version number to update but a change in what tcl considers a path. TCLLIBDIR now
points at a real directory, versioned from tclsh.

--- FR ---

Le garde du hook signalait « no tcl dir under usr/lib ». Ce que sqlite avait créé
était un répertoire littéralement nommé `zipfs:`

  <pkgdir>/sqlite/zipfs:/lib/tcl/tcl_library/

Le Makefile généré s'explique lui-même :

  # TCLLIBDIR = where to install the tcl plugin. If this is empty, it
  TCLLIBDIR = //zipfs:/lib/tcl/tcl_library/sqlite3.53.4

sqlite demande à tcl où vit sa bibliothèque et installe le greffon à côté. En tcl
8.6 c'était un vrai répertoire. tcl 9 livre sa bibliothèque DANS l'exécutable, en
montage zipfs : la réponse est un chemin que seul tcl sait ouvrir, et sqlite l'a
traité comme un chemin de fichiers, créant un répertoire dont le nom contient
deux points.

C'est l'élément différé « libtcl8.6 contre notre tcl 9.0 » dans sa forme finale :
non pas un numéro de version à mettre à jour, mais un changement de ce que tcl
appelle un chemin. TCLLIBDIR vise désormais un vrai répertoire, sa version lue
depuis tclsh.

Assisted-by: Claude Opus 5
2026-08-23 21:19:23 -04:00
..
audit.sh [FIX] four hooks the closure's second round needed 2026-08-19 06:24:11 -04:00
autoconf-archive.sh [FIX] our flit_core is too new, and savannah would not serve a patch 2026-08-23 19:27:14 -04:00
binutils.sh [FIX] binutils: gold's s390 support needs a target binutils is deleting 2026-08-23 19:48:19 -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] the chroot could not resolve a name, and wget could not fix itself 2026-08-21 16:29:10 -04:00
cmake.sh [FIX] cmake: no Sphinx manual 2026-08-23 20:02:59 -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] libaio, and two packages that installed man pages nobody wrote 2026-08-22 22:00:00 -04:00
filesystem.sh [FIX] filesystem: give s390x the lib64 compatibility symlinks 2026-08-21 00:54:14 -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] binutils' extra targets were x86_64's, and gcc only wanted man pages 2026-08-22 21:52:39 -04:00
gettext.sh [FIX] the build host answered questions the target should 2026-08-19 05:28:32 -04:00
git.sh [FIX] stage 2 could not clone, its pacman had no user, and it installed conflicts 2026-08-23 18:38:46 -04:00
glibc.sh [ADD] devtools stand-ins, and lib32 removal for glibc and gcc 2026-08-15 21:15:01 -04:00
gnupg.sh [ADD] gnupg without its diagrams, and jinja2 for systemd 2026-08-23 17:25:27 -04:00
gnutls.sh [FIX] declared, never linked: guile, libisl.so, leancrypto 2026-08-19 05:28:32 -04:00
gpgme.sh [FIX] systemd without AppArmor, gpgme without its test harness, groff without a logo 2026-08-22 22:02:56 -04:00
grep.sh [FIX] grep: the m4 check lives in bootstrap.conf, not bootstrap 2026-08-17 00:00:48 -04:00
groff.sh [FIX] groff: the figure and the document that includes it 2026-08-23 21:03:23 -04:00
jsoncpp.sh [ADD] nlohmann-json, and three more packages without their docs 2026-08-22 02:32:55 -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
lib-python-bootstrap.sh [ADD] Python packaging, through Arch's own bootstrap path 2026-08-21 16:37:55 -04:00
libarchive.sh [FIX] a hook's scope belongs to its sections, not to its filename 2026-08-23 17:23:30 -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
libevent.sh [FIX] the second half of two of my own hooks 2026-08-23 19:09:10 -04:00
libgcrypt.sh [FIX] a hook's scope belongs to its sections, not to its filename 2026-08-23 17:23:30 -04:00
libpsl.sh [FIX] sqlite, libpsl and util-linux 2026-08-22 07:33:10 -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
libuv.sh [ADD] nlohmann-json, and three more packages without their docs 2026-08-22 02:32:55 -04:00
libxcrypt.sh [FIX] libxcrypt: a compiler newer than the release expects 2026-08-22 00:08:00 -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] a hook's scope belongs to its sections, not to its filename 2026-08-23 17:23:30 -04:00
openssl.sh [FIX] openssl: s390x is big-endian, drop the little-endian EC path 2026-08-16 22:53:33 -04:00
p11-kit.sh [FIX] stage 2 could not clone, its pacman had no user, and it installed conflicts 2026-08-23 18:38:46 -04:00
pacman.sh [FIX] systemd without BPF, pacman without asciidoc 2026-08-21 21:25:20 -04:00
pam.sh [FIX] the second half of two of my own hooks 2026-08-23 19:09:10 -04:00
pinentry.sh [FIX] the build host answered questions the target should 2026-08-19 05:28:32 -04:00
python-build.sh [ADD] Python packaging, through Arch's own bootstrap path 2026-08-21 16:37:55 -04:00
python-installer.sh [ADD] Python packaging, through Arch's own bootstrap path 2026-08-21 16:37:55 -04:00
python-jinja.sh [FIX] our flit_core is too new, and savannah would not serve a patch 2026-08-23 19:27:14 -04:00
python-packaging.sh [FIX] three packages shipped 180 unreachable module paths 2026-08-21 16:49:37 -04:00
python-pyproject-hooks.sh [ADD] Python packaging, through Arch's own bootstrap path 2026-08-21 16:37:55 -04:00
python-setuptools.sh [ADD] Python packaging, through Arch's own bootstrap path 2026-08-21 16:37:55 -04:00
python-wheel.sh [ADD] Python packaging, through Arch's own bootstrap path 2026-08-21 16:37:55 -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
shadow.sh [FIX] libaio, and two packages that installed man pages nobody wrote 2026-08-22 22:00:00 -04:00
sqlite.sh [FIX] sqlite: tcl 9 keeps its library inside the binary 2026-08-23 21:19:23 -04:00
systemd.sh [FIX] systemd without AppArmor, gpgme without its test harness, groff without a logo 2026-08-22 22:02:56 -04:00
tar.sh [FIX] selinux: the chroot named a host artefact, not a dependency 2026-08-17 01:33:41 -04:00
util-linux.sh [FIX] sqlite, libpsl and util-linux 2026-08-22 07:33:10 -04:00
xz.sh [FIX] xz has two doc toolchains, and libpsl needs data not a tool 2026-08-23 20:19:45 -04:00
zstd.sh [FIX] libdir: the Debian host hid the libraries from Arch 2026-08-17 01:33:41 -04:00