[pacman-dev] [PATCH 1/2] makepkg: move pacman calls to a function

Cedric Staniewski cedric at gmx.ca
Wed Nov 18 17:29:07 EST 2009


Signed-off-by: Cedric Staniewski <cedric at gmx.ca>
---
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



More information about the pacman-dev mailing list