[pacman-dev] [PATCH] makepkg: do not ignore errors from pacman
Andres P
aepd87 at gmail.com
Sat Jun 19 22:13:18 EDT 2010
* check_deps is being run in a subshell, so exit 1 has no meaning.
* Its return value was also being ignored by the enclosing funcion.
* Local assignments *always* take precedence over subshell's $?
Fixes FS#19840
Although this really ignored *all* errors from pacman except 127, not just
illegal directives in pacman.conf.
Signed-off-by: Andres P <aepd87 at gmail.com>
---
Let's not go crazy with them subshells.
$ fn() { foo=$(false); echo $?; local bar=$(false); echo $?; }
$ fn
1
0
scripts/makepkg.sh.in | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index b0215c8..41e6978 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -434,14 +434,15 @@ resolve_deps() {
local R_DEPS_SATISFIED=0
local R_DEPS_MISSING=1
- local deplist="$(check_deps $*)"
+ local deplist
+ deplist="$(check_deps $*)" || return
if [[ -z $deplist ]]; then
return $R_DEPS_SATISFIED
fi
if handle_deps $deplist; then
# check deps again to make sure they were resolved
- deplist="$(check_deps $*)"
+ deplist="$(check_deps $*)" || return
[[ -z $deplist ]] && return $R_DEPS_SATISFIED
elif (( DEP_BIN )); then
error "$(gettext "Failed to install all missing dependencies.")"
--
1.7.1
More information about the pacman-dev
mailing list