[FIX] --nodeps once skips versions, not dependencies
Two install commands passed one --nodeps and looked like they were skipping dependencies. pacman documents the difference: -d skips dependency VERSION checks, -dd skips them entirely. So cython could not be installed -- warning: cannot resolve python-pygments, a dependency of cython :: unable to satisfy dependency python-numpy required by cython -- and the numbers matter. cython is wanted here only as a BUILD tool, for libseccomp Python binding, while its declared RUNTIME dependencies are numpy and pygments, and numpy brings BLAS and LAPACK. A single -d nearly bought a numerical stack to compile one .pyx file. The message named numpy and numpy was not the subject. The subject was a missing letter d. python-poetry-core joins the list: the fourth Python build backend needed here after flit_core, setuptools and hatchling. --- FR --- Deux commandes d installation passaient un seul --nodeps et semblaient sauter les dependances. pacman documente la difference : -d saute les controles de VERSION, -dd les saute entierement. cython ne pouvait donc pas etre installe -- warning: cannot resolve python-pygments, a dependency of cython :: unable to satisfy dependency python-numpy required by cython -- et les chiffres comptent. cython n est voulu ici que comme OUTIL de construction, pour la liaison Python de libseccomp, alors que ses dependances d EXECUTION declarees sont numpy et pygments, et numpy tire BLAS et LAPACK. Un seul -d a failli faire compiler une pile numerique pour un fichier .pyx. Le message nommait numpy, et numpy n etait pas le sujet. Le sujet etait un d manquant. python-poetry-core rejoint la liste : quatrieme moteur de construction Python necessaire ici, apres flit_core, setuptools et hatchling. Assisted-by: Claude Opus 5
This commit is contained in:
parent
0963698d4b
commit
fceb5936a5
2 changed files with 25 additions and 3 deletions
|
|
@ -221,6 +221,19 @@ EOF
|
||||||
# invocation, so resuming has to be correct rather than approximately
|
# invocation, so resuming has to be correct rather than approximately
|
||||||
# correct.
|
# correct.
|
||||||
#
|
#
|
||||||
|
# --nodeps TWICE, which is not a typo. pacman documents it: `-d` skips
|
||||||
|
# dependency VERSION checks, `-dd` skips dependency checks entirely. With
|
||||||
|
# one, cython could not be installed --
|
||||||
|
#
|
||||||
|
# warning: cannot resolve "python-pygments", a dependency of "cython"
|
||||||
|
# :: unable to satisfy dependency 'python-numpy' required by cython
|
||||||
|
#
|
||||||
|
# -- and the numbers matter: cython is wanted here only as a BUILD tool for
|
||||||
|
# libseccomp's Python binding, and its declared runtime dependencies are
|
||||||
|
# numpy and pygments. numpy brings BLAS and LAPACK. A single -d looked like
|
||||||
|
# it was skipping dependencies and was only skipping their versions, which
|
||||||
|
# nearly bought an entire numerical stack to compile one .pyx file.
|
||||||
|
#
|
||||||
# --nodeps for the same reason the per-package install uses it: a chroot
|
# --nodeps for the same reason the per-package install uses it: a chroot
|
||||||
# halfway through stage 2 is a mixed population, some packages declaring
|
# halfway through stage 2 is a mixed population, some packages declaring
|
||||||
# versioned soname dependencies and some declaring names. -U is fed the
|
# versioned soname dependencies and some declaring names. -U is fed the
|
||||||
|
|
@ -284,7 +297,7 @@ EOF
|
||||||
fi
|
fi
|
||||||
if [ "${#back[@]}" -gt 0 ]; then
|
if [ "${#back[@]}" -gt 0 ]; then
|
||||||
sudo pacman --root "$ROOT" --config "$CONF" --cachedir "$CACHE" \
|
sudo pacman --root "$ROOT" --config "$CONF" --cachedir "$CACHE" \
|
||||||
--noconfirm --nodeps -U "${back[@]}" \
|
--noconfirm --nodeps --nodeps -U "${back[@]}" \
|
||||||
> "$WORK/stage2-restore.txt" 2>&1 \
|
> "$WORK/stage2-restore.txt" 2>&1 \
|
||||||
|| { tail -20 "$WORK/stage2-restore.txt" >&2; die "restoring stage-2 output failed"; }
|
|| { tail -20 "$WORK/stage2-restore.txt" >&2; die "restoring stage-2 output failed"; }
|
||||||
printf ' %s stage-2 package(s) restored\n' "${#back[@]}"
|
printf ' %s stage-2 package(s) restored\n' "${#back[@]}"
|
||||||
|
|
@ -737,7 +750,7 @@ STAGE2_FIRST=(texinfo libxml2 binutils pkgconf wget libxslt
|
||||||
python-packaging python-pyproject-hooks python-build
|
python-packaging python-pyproject-hooks python-build
|
||||||
python-installer python-setuptools python-wheel
|
python-installer python-setuptools python-wheel
|
||||||
python-setuptools-scm python-markupsafe python-jinja
|
python-setuptools-scm python-markupsafe python-jinja
|
||||||
python-pkgconfig cython)
|
python-pkgconfig cython python-poetry-core)
|
||||||
|
|
||||||
# Packages the chroot needs that can only come from repo2.
|
# Packages the chroot needs that can only come from repo2.
|
||||||
#
|
#
|
||||||
|
|
@ -799,6 +812,7 @@ CHROOT_STAGE2_PKGS=(
|
||||||
python-installer python-setuptools python-wheel
|
python-installer python-setuptools python-wheel
|
||||||
python-setuptools-scm
|
python-setuptools-scm
|
||||||
python-markupsafe python-jinja python-pkgconfig cython
|
python-markupsafe python-jinja python-pkgconfig cython
|
||||||
|
python-poetry-core
|
||||||
)
|
)
|
||||||
|
|
||||||
# Packages whose sources must be extracted on the HOST, because the chroot
|
# Packages whose sources must be extracted on the HOST, because the chroot
|
||||||
|
|
@ -1012,7 +1026,7 @@ stage2_build() {
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
sudo pacman --root "$ROOT" --config "$CONF2" --cachedir "$CACHE" \
|
sudo pacman --root "$ROOT" --config "$CONF2" --cachedir "$CACHE" \
|
||||||
--noconfirm --nodeps -U "${keep[@]}" > "$WORK/stage2-inst-$name.txt" 2>&1 || {
|
--noconfirm --nodeps --nodeps -U "${keep[@]}" > "$WORK/stage2-inst-$name.txt" 2>&1 || {
|
||||||
tail -10 "$WORK/stage2-inst-$name.txt" >&2; return 1; }
|
tail -10 "$WORK/stage2-inst-$name.txt" >&2; return 1; }
|
||||||
printf ' installed %s package(s)\n' "${#produced[@]}"
|
printf ' installed %s package(s)\n' "${#produced[@]}"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -311,6 +311,14 @@ STAGE1_PACKAGES=(
|
||||||
# is an input to the build. First entry in this port whose absence is neither
|
# is an input to the build. First entry in this port whose absence is neither
|
||||||
# a program nor a library.
|
# a program nor a library.
|
||||||
publicsuffix-list
|
publicsuffix-list
|
||||||
|
# python-poetry-core: the fourth Python build backend this port has needed.
|
||||||
|
# python-pkgconfig stops on
|
||||||
|
#
|
||||||
|
# ERROR Backend 'poetry.core.masonry.api' is not available.
|
||||||
|
#
|
||||||
|
# flit_core, setuptools, hatchling and now poetry-core -- each package picks
|
||||||
|
# its own, and each one has to exist before that package can be built.
|
||||||
|
python-poetry-core
|
||||||
# libaio: a real closure gap. lvm2 stops on
|
# libaio: a real closure gap. lvm2 stops on
|
||||||
#
|
#
|
||||||
# device/bcache.c:30:10: fatal error: libaio.h: No such file or directory
|
# device/bcache.c:30:10: fatal error: libaio.h: No such file or directory
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue