summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlad Wenter <alad@archlinux.org>2019-01-20 23:14:14 +0100
committerAllan McRae <allan@archlinux.org>2019-10-07 09:09:23 +0200
commit7e79cf73fac6fdd7d6cbfb35fe240b137e81c028 (patch)
tree05b995b9100c67eb5bd4a44fa4c1a7e6ccbc4b1f
parent095d6332bea6cd44e012927043a89210b1a3f9b3 (diff)
downloadpacman-7e79cf73fac6fdd7d6cbfb35fe240b137e81c028.tar.gz
pacman-7e79cf73fac6fdd7d6cbfb35fe240b137e81c028.tar.xz
makepkg: propagate E_REMOVE_BUILD_DEPS
remove_deps is called once, at the end of clean_up() before makepkg exit. If remove_deps returns >0 (e.g. when pressing "n" in the resulting prompt), the error is caught by the ERR signal handler. This in turns sends SIGUSR1 to the process group, with resulting exit code 138. In case remove_deps fails, this patch exits makepkg with E_REMOVE_DEPS if there was no previous error (that is, EXIT_CODE equals E_OK). Otherwise, makepkg exits with EXIT_CODE. Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r--scripts/makepkg.sh.in6
1 files changed, 5 insertions, 1 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 756109cc..dae025c9 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -173,7 +173,11 @@ clean_up() {
fi
fi
- remove_deps
+ if ! remove_deps && (( EXIT_CODE == E_OK )); then
+ exit $E_REMOVE_DEPS_FAILED
+ else
+ exit $EXIT_CODE
+ fi
}
enter_fakeroot() {