archlinux-s390x/patches
Mathieu Benoit 4d8856b82d [FIX] stage 2: x86_64 compiler flags, and a .pc naming nothing
Two failures three packages apart, both from the same place: our pacman
package ships Arch's configuration verbatim, and Arch's is for x86_64.

  libxml2/meson.build:1:0: ERROR: Unable to detect linker for compiler
  `cc ... -march=x86-64 -mtune=generic ...`

configure_chroot fixed CARCH, CHOST, MAKEFLAGS and OPTIONS and left CFLAGS
alone. They are emptied rather than translated, because that is what stage 1
used -- the host's makepkg.conf has no CFLAGS line at all -- and 179 working
packages are the evidence. s390x tuning is a deliberate later choice.

Emptied by APPENDING, not commenting. The first attempt put a # in front of
each assignment, and CFLAGS spans several lines: commenting the first left the
continuations active and the quote unbalanced, so makepkg would not start.

Then readline. Its .pc says `Requires.private: termcap` and this repository
ships tinfo.pc; nothing provides termcap.pc. Nothing failed at build time --
a .pc is data, and pkg-config only follows Requires.private when a consumer
asks. The first consumer to ask was libxml2, in the chroot, one stage and
three packages from the cause.

--- FR ---

Deux échecs à trois paquets d'écart, de la même origine : notre paquet pacman
livre la configuration d'Arch telle quelle, et celle d'Arch vise x86_64.

  libxml2/meson.build:1:0: ERROR: Unable to detect linker for compiler
  `cc ... -march=x86-64 -mtune=generic ...`

configure_chroot corrigeait CARCH, CHOST, MAKEFLAGS et OPTIONS, et laissait
CFLAGS. Ils sont vidés plutôt que traduits, car c'est ce qu'a utilisé l'étage
1 — le makepkg.conf de l'hôte n'a aucune ligne CFLAGS — et 179 paquets
fonctionnels en sont la preuve. Le réglage pour s390x est un choix ultérieur
délibéré.

Vidés par AJOUT, non par commentaire. La première tentative mettait un # devant
chaque affectation, et CFLAGS s'étend sur plusieurs lignes : commenter la
première laissait les continuations actives et le guillemet déséquilibré, si
bien que makepkg ne démarrait plus.

Puis readline. Son .pc dit « Requires.private: termcap » alors que ce dépôt
livre tinfo.pc ; personne ne fournit termcap.pc. Rien n'échouait à la
compilation — un .pc est une donnée, et pkg-config ne suit Requires.private
que si un consommateur le demande. Le premier à demander fut libxml2, dans le
chroot, à une étape et trois paquets de la cause.

Assisted-by: Claude Opus 5
2026-08-19 20:19:37 -04:00
..
pkgbuild [FIX] stage 2: x86_64 compiler flags, and a .pc naming nothing 2026-08-19 20:19:37 -04:00
mkinitcpio-mount-run.patch full boot with systemd 2025-06-05 12:32:34 +02:00
mkinitcpio-s390x-base-hook.patch rearchitechted things 2025-06-02 19:01:23 +02:00
mkinitcpio-s390x.conf fix ci & cleanup mkintcpio patching 2025-06-01 19:22:10 +02:00