From 07a9effdd06345d09f09cdc92e23c937d8fa94b5 Mon Sep 17 00:00:00 2001 From: Allan McRae Date: Wed, 23 Jun 2010 13:16:36 +1000 Subject: 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 --- scripts/makepkg.sh.in | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'scripts/makepkg.sh.in') 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 -- cgit v1.2.3-70-g09d2