index : pacman | |
Archlinux32 fork of pacman | gitolite user |
summaryrefslogtreecommitdiff |
author | Andres P <aepd87@gmail.com> | 2010-06-25 18:46:37 -0430 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2010-12-12 20:24:59 -0600 |
commit | 579533d1a07808c3e0458d6042d6039e56c38de2 (patch) | |
tree | 08d39f3ca313c1ec50e308fc1100033df7ca7717 /scripts | |
parent | 330951200c8a0bb90937e0578510a41220154726 (diff) |
-rw-r--r-- | scripts/makepkg.sh.in | 13 |
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 0b2b48aa..f5402222 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -397,7 +397,7 @@ check_deps() { echo "$pmout" elif (( ret )); then error "$(gettext "'%s' returned a fatal error (%i): %s")" "$PACMAN" "$ret" "$pmout" - exit 1 + return "$ret" fi } @@ -437,14 +437,15 @@ resolve_deps() { local R_DEPS_SATISFIED=0 local R_DEPS_MISSING=1 - local deplist="$(check_deps $*)" - if [[ -z $deplist ]]; then - return $R_DEPS_SATISFIED - fi + # deplist cannot be declared like this: local deplist=$(foo) + # Otherwise, the return value will depend on the assignment. + local deplist + deplist="$(set +E; check_deps $*)" || exit 1 + [[ -z $deplist ]] && return $R_DEPS_SATISFIED if handle_deps $deplist; then # check deps again to make sure they were resolved - deplist="$(check_deps $*)" + deplist="$(set +E; check_deps $*)" || exit 1 [[ -z $deplist ]] && return $R_DEPS_SATISFIED elif (( DEP_BIN )); then error "$(gettext "Failed to install all missing dependencies.")" |