Signed-off-by: Cedric Staniewski <cedric@gmx.ca> --- I'm not sure about that part pmout=$(run_pacman -T "$@") for two reasons. First, we have to work around sudo in run_pacman, and second, most of the pacman wrappers does not support -T or do not return the same codes as pacman does. For this second reason, the following patch would be (currently) useless for the majority of pacman wrapper users. 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 fbcdc70..cfc5736 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -328,10 +328,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() { [ $# -gt 0 ] || return - pmout=$(pacman $PACMAN_OPTS -T "$@") + local ret=0 + pmout=$(run_pacman -T "$@") ret=$? if [ $ret -eq 127 ]; then #unresolved deps echo "$pmout" @@ -356,15 +367,8 @@ handle_deps() { if [ "$DEP_BIN" -eq 1 ]; then # install missing deps from binary packages (using pacman -S) msg "$(gettext "Installing missing dependencies...")" - local ret=0 - - if [ "$ASROOT" -eq 0 ]; then - sudo pacman $PACMAN_OPTS -S --asdeps $deplist || ret=$? - else - pacman $PACMAN_OPTS -S --asdeps $deplist || ret=$? - fi - if [ $ret -ne 0 ]; then + if ! run_pacman -S --asdeps $deplist; then error "$(gettext "Pacman failed to install missing dependencies.")" exit 1 # TODO: error code fi @@ -422,15 +426,9 @@ remove_deps() { done msg "Removing installed dependencies..." - local ret=0 - if [ "$ASROOT" -eq 0 ]; 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 -ne 0 ]; then + if ! run_pacman -Rns $deplist; then warning "$(gettext "Failed to remove installed dependencies.")" return 0 fi @@ -1113,14 +1111,7 @@ install_package() { fi done - local ret=0 - if [ "$ASROOT" -eq 0 ]; then - sudo pacman $PACMAN_OPTS -U ${pkglist} || ret=$? - else - pacman $PACMAN_OPTS -U ${pkglist} || ret=$? - fi - - if [ $ret -ne 0 ]; then + if ! run_pacman -U $pkglist; then warning "$(gettext "Failed to install built package(s).")" return 0 fi -- 1.6.5.2