makechrootpkg: with -n, check if the package failed to install
We previously whitelisted this return code because split packages can frequently conflict each other, so makepkg -i is *expected* to fail in such a case. However, there is no good reason to let this succeed if the pkgbase only builds one pkgname -- that will always be a severe issue. Add a check for how many split Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
This commit is contained in:
parent
7b0a11677a
commit
be44b9cde1
|
@ -232,8 +232,15 @@ _chrootbuild() {
|
||||||
sudo --preserve-env=SOURCE_DATE_EPOCH -iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@"
|
sudo --preserve-env=SOURCE_DATE_EPOCH -iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@"
|
||||||
ret=$?
|
ret=$?
|
||||||
case $ret in
|
case $ret in
|
||||||
0|14)
|
0)
|
||||||
return 0;;
|
return 0;;
|
||||||
|
14)
|
||||||
|
# whitelist "The package failed to install." but only if there are multiple split packages
|
||||||
|
# in which case they might be conflicting
|
||||||
|
local pkgfiles=(/pkgdest/*.pkg.tar.xz)
|
||||||
|
(( ${#pkgfiles[@]} > 1))
|
||||||
|
return $?;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
return $ret;;
|
return $ret;;
|
||||||
esac
|
esac
|
||||||
|
|
Loading…
Reference in New Issue