Until now the honest description of this port was: it worked once, on one machine. Every PKGBUILD comes from a `git clone --depth 1` of gitlab.archlinux.org, and the 63 hooks assert exact strings -- deliberately, and several have caught their own mistakes that way. But it means the port is written against a moving target: someone starting over today gets what Arch has today, not what these hooks were written against. What closes that is not the 18 GB of build output -- regenerable packages, a chroot wiped on every run, state files derived from the repository by design. It is one commit per checkout: 155 lines. build_package now pins a fresh clone to the locked commit, and says so when a package is NOT in the lock, because that is how a lock quietly stops covering what it claims to. RELAIS.md joins the repository, written without the build machine's alias, address or account -- a successor needs the shape of the access, not its coordinates. check-private.sh keeps it that way, and .env.example loses its literal account name. Three of its patterns had to go on their first runs: they flagged a systemd unit template, upstream maintainer headers, the localhost lines of a generated /etc/hosts, and its own explanatory comment. A check that fails on correct files is one somebody stops running. --- FR --- Jusqu'ici la description honnête de ce portage était : il a fonctionné une fois, sur une machine. Chaque PKGBUILD vient d'un `git clone --depth 1` de gitlab.archlinux.org, et les 63 hooks affirment des chaînes exactes — à dessein, et plusieurs y ont attrapé leurs propres erreurs. Mais le portage est donc écrit contre une cible mouvante : qui recommence aujourd'hui obtient l'Arch du jour. Ce qui comble ce trou n'est pas les 18 Go de production — paquets régénérables, chroot effacé à chaque passage, registres dérivés du dépôt par conception. C'est un commit par arbre : 155 lignes. build_package épingle un nouveau clone sur le commit verrouillé, et le DIT quand un paquet n'y figure pas, car c'est ainsi qu'un verrou cesse discrètement de couvrir ce qu'il prétend. RELAIS.md entre dans le dépôt, écrit sans l'alias, l'adresse ni le compte de la machine — un successeur a besoin de la forme de l'accès, pas de ses coordonnées. check-private.sh l'y maintient, et .env.example perd son nom de compte littéral. Trois de ses motifs ont dû partir dès les premiers passages : ils signalaient un gabarit d'unité systemd, des en-têtes de mainteneurs amont, les lignes localhost d'un /etc/hosts généré, et son propre commentaire explicatif. Un contrôle qui échoue sur des fichiers justes est un contrôle qu'on cesse de lancer. Assisted-by: Claude Opus 5
25 lines
No EOL
827 B
Text
25 lines
No EOL
827 B
Text
# z/VM Configuration for Arch Linux s390x Build
|
|
# Copy this file to .env and fill in your values
|
|
# Add the entire .env file content as ZVM_CONFIG secret in GitHub Actions
|
|
|
|
# z/VM Connection Details
|
|
ZVM_HOST=zvm.example.com
|
|
ZVM_USER=your-zvm-user
|
|
ZVM_PORT=22
|
|
|
|
# SSH Key Configuration
|
|
# The SSH private key content (multiline)
|
|
ZVM_SSH_KEY="-----BEGIN OPENSSH PRIVATE KEY-----
|
|
... (your full SSH private key content here) ...
|
|
-----END OPENSSH PRIVATE KEY-----"
|
|
|
|
# Build Configuration
|
|
# Note: the two SYSTEMD_* paths below are not read by anything in this
|
|
# repository at present. They describe directories on the z/VM guest.
|
|
BUILD_TIMEOUT_MINUTES=30
|
|
SYSTEMD_BUILD_DIR="/home/$ZVM_USER/systemd-build"
|
|
SYSTEMD_OUTPUT_DIR="/home/$ZVM_USER/systemd-minimal"
|
|
|
|
# Connection Settings
|
|
SSH_CONNECT_TIMEOUT=10
|
|
SSH_STRICT_HOST_KEY_CHECKING=no |