Every package in the list has been rebuilt inside the chroot by the compiler,
linker and libc it produced. The verification, run against repo2 rather than
asserted:
RESOLVE resolver satisfied (101 packages), --nodeps OFF
ARTEFACT no multiarch, no lib64, no dist-packages, no usr/local
SONAME every requested soname has a provider in the repository
RUN 102 packages installed; bash 5.3.15, uname s390x, glibc 2.44,
ls, tar, find, sed and pacman all execute
SONAME is the one that matters most. Stage 1 shipped nine sonames at the host's
version and three with no provider at all, and the whole premise of a second
stage was that rebuilding inside the result dissolves them. It did: zero of
either.
python was the last holdout and the most instructive: POSIX_SEMAPHORES_NOT_ENABLED
is now 0. It had been 1 for days because `mount --bind /dev` does not carry
submounts, so the chroot saw an empty 0755 /dev/shm, CPython's configure got
EACCES from sem_open, and _multiprocessing was compiled without SemLock -- a
package that installed cleanly, imported cleanly, and was wrong.
--- FR ---
Chaque paquet de la liste a été rebâti dans le chroot par le compilateur, le lieur
et la libc qu'il a produits. La vérification, passée sur repo2 plutôt
qu'affirmée :
RESOLVE résolveur satisfait (101 paquets), --nodeps éteint
ARTEFACT ni multiarch, ni lib64, ni dist-packages, ni usr/local
SONAME chaque soname demandé a un fournisseur dans le dépôt
RUN 102 paquets installés ; bash 5.3.15, uname s390x, glibc 2.44,
ls, tar, find, sed et pacman s'exécutent tous
SONAME est le contrôle qui compte. L'étage 1 livrait neuf sonames à la version de
l'hôte et trois sans aucun fournisseur, et toute la raison d'être d'un second
étage était que rebâtir dans le résultat les dissout. C'est fait : zéro des deux.
python fut le dernier et le plus instructif : POSIX_SEMAPHORES_NOT_ENABLED vaut
désormais 0. Il valait 1 depuis des jours parce que `mount --bind /dev` ne porte
pas les sous-montages : le chroot voyait un /dev/shm vide en 0755, le configure de
CPython recevait EACCES de sem_open, et _multiprocessing était compilé sans
SemLock — un paquet qui s'installait proprement, s'importait proprement, et était
faux.
Assisted-by: Claude Opus 5