[FIX] gcc: remove the explicit jit install; libpam for shadow and util-linux
Disabling libgccjit took four separate cuts, and this is the fourth. Removing the second configure pass, the pkgname entry and the _pick lines still left package_gcc() calling make -C gcc DESTDIR="$pkgdir" jit.install-common jit.install-info which fails on a library that was never built: install: cannot install libgccjit.so.0.0.1 The lesson repeats: in an Arch PKGBUILD a component is referenced in several independent places -- the pkgname array, a build block, _pick lines in package(), and explicit make targets. Removing it means finding all four, and grepping for the component name after each cut is the only way to know. shadow and util-linux both stop on a missing libpam. Same family as every host makedepend before them: invisible until a build names it, because --nodeps forbids pacman from checking. --- FR --- Desactiver libgccjit aura demande quatre coupes distinctes, et voici la quatrieme. Retirer la seconde passe de configuration, l entree de pkgname et les lignes _pick laissait encore package_gcc() appeler make -C gcc DESTDIR="$pkgdir" jit.install-common jit.install-info qui echoue sur une bibliotheque jamais batie : install: cannot install libgccjit.so.0.0.1 La lecon se repete : dans un PKGBUILD d Arch, un composant est reference en plusieurs endroits independants -- le tableau pkgname, un bloc de compilation, des lignes _pick dans package(), et des cibles make explicites. Le retirer suppose de trouver les quatre, et chercher son nom apres chaque coupe est le seul moyen de le savoir. shadow et util-linux s arretent tous deux sur un libpam absent. Meme famille que tous les makedepends d hote precedents : invisibles jusqu a ce qu une compilation les nomme, puisque --nodeps interdit a pacman de verifier. Assisted-by: Claude Opus 5
This commit is contained in:
parent
d72673a3db
commit
fd18e61dd9
1 changed files with 7 additions and 0 deletions
|
|
@ -153,6 +153,13 @@ s = "\n".join(l for l in s.split("\n")
|
|||
and "mkdir -p \"$srcdir\"/libgccjit-build" not in l)
|
||||
io.open("PKGBUILD", "w", encoding="utf-8").write(s)
|
||||
PY
|
||||
# package_gcc() also installs the jit artefacts explicitly:
|
||||
# make -C gcc DESTDIR="$pkgdir" jit.install-common jit.install-info
|
||||
# Removing the build block and the pkgname entry was not enough --
|
||||
# this line runs in the MAIN package function and fails on a library
|
||||
# that was never built:
|
||||
# install: cannot install libgccjit.so.0.0.1
|
||||
sed -i '/jit\.install-common/d' PKGBUILD
|
||||
if grep -q 'libgccjit-build' PKGBUILD; then
|
||||
echo "gcc: libgccjit build block remains" >&2; exit 1
|
||||
fi
|
||||
|
|
|
|||
Loading…
Reference in a new issue