archlinux-s390x/scripts
Mathieu Benoit 7ec3d14851 [FIX] test-chroot: an audit that classifies, and one that was wrong
The soname check reported seventeen missing libraries. Four were false: it
built its "shipped" set from DT_SONAME alone, and tcl's libtcl9.0.so records
no SONAME at all. The file sits in usr/lib and ld.so resolves it by name, so
the check was calling a correct package broken -- which would have sent the
next reader hunting for a packaging bug that does not exist. Shipped filenames
and symlinks now count as supplied.

The remaining twelve needed separating, because an unclassified list is only
alarming. A missing soname whose library exists at a DIFFERENT version is
stage 1 working as designed: it linked the host, and stage 2 dissolves it. A
missing soname with no provider at any version is a closure gap. Nine and
three.

The three are each understood: pylibmount's cp313 extension (inert, no python
is shipped), makedb's libselinux (deliberate), and libtcl8.6 against our tcl
9.0 -- which is the honest cost of a decision made an hour before on closure
size without looking at ABI.

TODO.md records all twelve, with the note that stage 2 must install using the
host's pacman, because pacman inside the stage-1 rootfs cannot start.

--- FR ---

La vérification de sonames annonçait dix-sept bibliothèques manquantes. Quatre
étaient fausses : elle construisait son ensemble « livré » à partir du seul
DT_SONAME, et le libtcl9.0.so de tcl n'enregistre aucun SONAME. Le fichier est
dans usr/lib et ld.so le résout par son nom : la vérification déclarait donc
défectueux un paquet correct — de quoi envoyer le lecteur suivant chasser un
défaut d'empaquetage inexistant. Les noms de fichiers et les liens livrés
comptent désormais comme fournis.

Les douze restants demandaient d'être séparés, une liste non classée n'étant
qu'alarmante. Un soname manquant dont la bibliothèque existe à une AUTRE
version, c'est l'étage 1 fonctionnant comme prévu : il a lié l'hôte, et
l'étage 2 le dissout. Un soname sans aucun fournisseur est un trou de
fermeture. Neuf et trois.

Les trois sont compris : l'extension cp313 de pylibmount (inerte, aucun python
livré), le libselinux de makedb (délibéré), et libtcl8.6 contre notre tcl 9.0
— coût honnête d'une décision prise une heure plus tôt sur la taille de la
fermeture, sans regarder l'ABI.

TODO.md consigne les douze, avec la note que l'étage 2 devra installer avec le
pacman de l'hôte, celui du rootfs d'étage 1 ne pouvant pas démarrer.

Assisted-by: Claude Opus 5
2026-08-19 06:40:50 -04:00
..
devtools [FIX] libdir: the Debian host hid the libraries from Arch 2026-08-17 01:33:41 -04:00
bootstrap-pacman.sh [ADD] closure rounds two and three, and the CA bundle 2026-08-19 06:24:11 -04:00
build-arch-kernel.sh making the house a home 2026-01-27 23:26:31 +01:00
build-busybox-zvm.sh making the house a home 2026-01-27 23:26:31 +01:00
build-container.sh making the house a home 2026-01-27 23:26:31 +01:00
build-initramfs-final.sh making the house a home 2026-01-27 23:26:31 +01:00
build-stage1.sh [FIX] lvm2: only device-mapper, and the closure closes 2026-08-19 06:40:50 -04:00
build-systemd-zvm.sh making the house a home 2026-01-27 23:26:31 +01:00
common.sh cleaned up scripts to be more DRY 2025-06-05 20:48:16 +02:00
create-rootfs.sh making the house a home 2026-01-27 23:26:31 +01:00
deploy-and-build-systemd-zvm.sh cleaned up scripts to be more DRY 2025-06-05 20:48:16 +02:00
prepare-boot.sh making the house a home 2026-01-27 23:26:31 +01:00
test-chroot.sh [FIX] test-chroot: an audit that classifies, and one that was wrong 2026-08-19 06:40:50 -04:00
test-qemu.sh cleaned up scripts to be more DRY 2025-06-05 20:48:16 +02:00
zvm-utils.sh cleaned up scripts to be more DRY 2025-06-05 20:48:16 +02:00