Signed-off-by: Cedric Staniewski <[email protected]>
---
same as [1], just rebased on master

[1] http://mailman.archlinux.org/pipermail/pacman-dev/2009-November/010046.html

 scripts/makepkg.sh.in |   39 +++++++++++++++------------------------
 1 files changed, 15 insertions(+), 24 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 3d776f0..3b7966e 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -331,10 +331,21 @@ download_file() {
        fi
 }
 
+run_pacman() {
+       local ret=0
+       if (( ! ASROOT )) && [[ $1 != "-T" ]]; then
+               sudo pacman $PACMAN_OPTS "$@" || ret=$?
+       else
+               pacman $PACMAN_OPTS "$@" || ret=$?
+       fi
+       return $ret
+}
+
 check_deps() {
        (( $# > 0 )) || return
 
-       pmout=$(pacman $PACMAN_OPTS -T "$@")
+       local ret=0
+       pmout=$(run_pacman -T "$@")
        ret=$?
        if (( ret == 127 )); then #unresolved deps
                echo "$pmout"
@@ -359,15 +370,8 @@ handle_deps() {
        if (( DEP_BIN )); then
                # install missing deps from binary packages (using pacman -S)
                msg "$(gettext "Installing missing dependencies...")"
-               local ret=0
-
-               if (( ! ASROOT )); then
-                       sudo pacman $PACMAN_OPTS -S --asdeps $deplist || ret=$?
-               else
-                       pacman $PACMAN_OPTS -S --asdeps $deplist || ret=$?
-               fi
 
-               if (( ret )); then
+               if ! run_pacman -S --asdeps $deplist; then
                        error "$(gettext "Pacman failed to install missing 
dependencies.")"
                        exit 1 # TODO: error code
                fi
@@ -425,15 +429,9 @@ remove_deps() {
        done
 
        msg "Removing installed dependencies..."
-       local ret=0
-       if (( ! ASROOT )); then
-               sudo pacman $PACMAN_OPTS -Rns $deplist || ret=$?
-       else
-               pacman $PACMAN_OPTS -Rns $deplist || ret=$?
-       fi
 
        # Fixes FS#10039 - exit cleanly as package has built successfully
-       if (( ret )); then
+       if ! run_pacman -Rns $deplist; then
                warning "$(gettext "Failed to remove installed dependencies.")"
                return 0
        fi
@@ -1116,14 +1114,7 @@ install_package() {
                fi
        done
 
-       local ret=0
-       if (( ! ASROOT )); then
-               sudo pacman $PACMAN_OPTS -U ${pkglist} || ret=$?
-       else
-               pacman $PACMAN_OPTS -U ${pkglist} || ret=$?
-       fi
-
-       if (( ret )); then
+       if ! run_pacman -U $pkglist; then
                warning "$(gettext "Failed to install built package(s).")"
                return 0
        fi
-- 
1.6.5.3


Reply via email to