diff options
author | Eli Schwartz <eschwartz@archlinux.org> | 2019-09-12 10:20:19 -0400 |
---|---|---|
committer | Levente Polyak <anthraxx@archlinux.org> | 2019-09-12 21:29:42 +0200 |
commit | 6e466ca654c9d15e40ae371dbb013170fbdfdb91 (patch) | |
tree | cad73efa80c1340b854c1674470d630a2eb7e66e | |
parent | d8d2e23247a1aab5e269ff0e388e378ec9d462eb (diff) | |
download | devtools32-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.in | 9 |
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 |