summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Schwartz <eschwartz@archlinux.org>2019-09-12 16:20:19 +0200
committerLevente Polyak <anthraxx@archlinux.org>2019-09-12 21:29:42 +0200
commit6e466ca654c9d15e40ae371dbb013170fbdfdb91 (patch)
treecad73efa80c1340b854c1674470d630a2eb7e66e
parentd8d2e23247a1aab5e269ff0e388e378ec9d462eb (diff)
downloaddevtools-6e466ca654c9d15e40ae371dbb013170fbdfdb91.tar.gz
devtools-6e466ca654c9d15e40ae371dbb013170fbdfdb91.tar.xz
Revert "makechrootpkg: with -n, check if the package failed to install"
This reverts commit be44b9cde15f3228839253c0c0d7d56c124c4e26. This was a nice idea in theory, because it means that we can catch conflicting files before releasing them into the repos. In practice, there were unanticipated side effects: single-package installs which conflict against their own makedepends cannot be installed either. Examples include: - kernel modules which makedepend on their dkms equivalent - jack2, which makedepends/optdepends on portaudio, which requires jack... but jack2 is a drop-in provides/conflicts jack. We cannot reliably detect when makepkg --install will error out because of dependency conflicts vs. packages which are simply broken. So, back out this change for now. Revisit this once pacutils has a new release, because it will add the option --resolve-conflicts=all, allowing for much better scripted responses to "foo conflicts with bar, remove bar? [y/N]" than simply "--noconfirm and fail". Signed-off-by: Eli Schwartz <eschwartz@archlinux.org> Signed-off-by: Levente Polyak <anthraxx@archlinux.org>
-rw-r--r--makechrootpkg.in9
1 files changed, 1 insertions, 8 deletions
diff --git a/makechrootpkg.in b/makechrootpkg.in
index ce47b93..2407115 100644
--- a/makechrootpkg.in
+++ b/makechrootpkg.in
@@ -232,15 +232,8 @@ _chrootbuild() {
sudo --preserve-env=SOURCE_DATE_EPOCH -iu builduser bash -c 'cd /startdir; makepkg "$@"' -bash "$@"
ret=$?
case $ret in
- 0)
+ 0|14)
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;;
esac