diff options
author | Allan McRae <allan@archlinux.org> | 2010-06-23 13:16:36 +1000 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2010-06-23 13:32:21 +1000 |
commit | 07a9effdd06345d09f09cdc92e23c937d8fa94b5 (patch) | |
tree | ace80ca576e2390dfbe5562491f144b86f10bc05 | |
parent | 708f186f98a0c2094225aa94ac8a139ac3a9163e (diff) | |
download | pacman-07a9effdd06345d09f09cdc92e23c937d8fa94b5.tar.xz |
makepkg: prevent error trap activation in bash-3.2
Running "pacman -T foo" is expected to return a non-zero value when
"foo" is not installed. This sets of the error trap in bash-3.2 but
not bash 4.x. Work around this by disabling the error trap around
this pacman call as we are manually checking the return value anyway.
Signed-off-by: Allan McRae <allan@archlinux.org>
-rw-r--r-- | scripts/makepkg.sh.in | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 4f9f89b1..2699f637 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -382,11 +382,15 @@ run_pacman() { } check_deps() { - (( $# > 0 )) || return + (( $# > 0 )) || return 0 + # Disable error trap in pacman subshell call as this breaks bash-3.2 compatibility + # Also, a non-zero return value is not unexpected and we are manually dealing them + set +E local ret=0 - pmout=$(run_pacman -T "$@") - ret=$? + pmout=$(run_pacman -T "$@") || ret=$? + set -E + if (( ret == 127 )); then #unresolved deps echo "$pmout" elif (( ret )); then |