[pacman-dev] [PATCH] Fix command line argument parsing in makepkg

Sebastian Nowicki sebnow at gmail.com
Mon May 19 11:54:53 EDT 2008


On some systems, namely Mac OSX, command line parsing simply does not
work. It appears $@ gets altered at some stage. This patch uses $ARGLIST
instead, which contains the actual command line arguments

Signed-off-by: Sebastian Nowicki <sebnow at gmail.com>
---
 scripts/makepkg.sh.in |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index cc44c68..f56bcda 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1143,8 +1143,8 @@ fi
 eval set -- "$OPT_TEMP"
 unset OPT_SHORT OPT_LONG OPT_TEMP
 
-while true; do
-	case "$1" in
+for arg in ${ARGLIST[@]}; do
+	case "$arg" in
 		# Pacman Options
 		--noconfirm)      PACMAN_OPTS="$PACMAN_OPTS --noconfirm" ;;
 		--noprogressbar)  PACMAN_OPTS="$PACMAN_OPTS --noprogressbar" ;;
@@ -1180,10 +1180,9 @@ while true; do
 		-h|--help)        usage; exit 0 ;; # E_OK
 		-V|--version)     version; exit 0 ;; # E_OK
 
-		--)               OPT_IND=0; shift; break;;
+		--)               OPT_IND=0; continue; break;;
 		*)                usage; exit 1 ;; # E_INVALID_OPTION
 	esac
-	shift
 done
 
 if [ "$HOLDVER" = "1" -a "$FORCE_VER" != "" ]; then
-- 
1.5.4.5





More information about the pacman-dev mailing list