[pacman-dev] [PATCH 2/8] makepkg: adopt parseopts for option parsing

Dave Reisner dreisner at archlinux.org
Thu Apr 12 10:54:32 EDT 2012


Signed-off-by: Dave Reisner <dreisner at archlinux.org>
---
 doc/makepkg.8.txt     |    3 ++-
 scripts/Makefile.am   |    2 +-
 scripts/makepkg.sh.in |   10 +++++-----
 3 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/doc/makepkg.8.txt b/doc/makepkg.8.txt
index df41e18..f80d7f2 100644
--- a/doc/makepkg.8.txt
+++ b/doc/makepkg.8.txt
@@ -153,7 +153,8 @@ Options
 	the GPL when distributing binary packages.
 
 *\--pkg <list>*::
-	Only build listed packages from a split package.
+	Only build listed packages from a split package. Multiple packages should
+	be comma separated in the list.
 
 *\--check*::
 	Run the check() function in the PKGBUILD, overriding the setting in
diff --git a/scripts/Makefile.am b/scripts/Makefile.am
index 7662fba..0df90e1 100644
--- a/scripts/Makefile.am
+++ b/scripts/Makefile.am
@@ -68,7 +68,7 @@ $(OURSCRIPTS): Makefile
 
 makepkg: \
 	$(srcdir)/makepkg.sh.in \
-	$(srcdir)/library/parse_options.sh
+	$(srcdir)/library/parseopts.sh
 
 pacman-db-upgrade: \
 	$(srcdir)/pacman-db-upgrade.sh.in \
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 46191ee..4e3b0e3 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -1885,7 +1885,7 @@ canonicalize_path() {
 	fi
 }
 
-m4_include(library/parse_options.sh)
+m4_include(library/parseopts.sh)
 
 usage() {
 	printf "makepkg (pacman) %s\n" "$myver"
@@ -1962,11 +1962,11 @@ OPT_LONG+=",version,config:"
 
 # Pacman Options
 OPT_LONG+=",noconfirm,noprogressbar"
-if ! OPT_TEMP="$(parse_options $OPT_SHORT $OPT_LONG "$@")"; then
+if ! parseopts "$OPT_SHORT" "$OPT_LONG" "$@"; then
 	echo; usage; exit 1 # E_INVALID_OPTION;
 fi
-eval set -- "$OPT_TEMP"
-unset OPT_SHORT OPT_LONG OPT_TEMP
+set -- "${OPTRET[@]}"
+unset OPT_SHORT OPT_LONG OPTRET
 
 while true; do
 	case "$1" in
@@ -1997,7 +1997,7 @@ while true; do
 		--nosign)         SIGNPKG='n' ;;
 		-o|--nobuild)     NOBUILD=1 ;;
 		-p)               shift; BUILDFILE=$1 ;;
-		--pkg)            shift; PKGLIST=($1) ;;
+		--pkg)            shift; IFS=, read -ra PKGLIST <<<"$1" ;;
 		-r|--rmdeps)      RMDEPS=1 ;;
 		-R|--repackage)   REPKG=1 ;;
 		--skipchecksums)  SKIPCHECKSUMS=1 ;;
-- 
1.7.10



More information about the pacman-dev mailing list