Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Mar 2010 03:06:09 +0000 (UTC)
From:      Doug Barton <dougb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   svn commit: r205818 - user/dougb/portmaster
Message-ID:  <201003290306.o2T369am026726@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dougb
Date: Mon Mar 29 03:06:08 2010
New Revision: 205818
URL: http://svn.freebsd.org/changeset/base/205818

Log:
  Allow -r to actually accept glob patterns, as advertised in the docs

Modified:
  user/dougb/portmaster/portmaster

Modified: user/dougb/portmaster/portmaster
==============================================================================
--- user/dougb/portmaster/portmaster	Mon Mar 29 01:24:20 2010	(r205817)
+++ user/dougb/portmaster/portmaster	Mon Mar 29 03:06:08 2010	(r205818)
@@ -1030,7 +1030,21 @@ while getopts 'BCDFGHKLPRabde:fghilm:nop
 	n)	NO_ACTION=nopt; ARGS="-n $ARGS" ;;
 	o)	REPLACE_ORIGIN=oopt ;;
 	p)	portdir="${OPTARG#$pd/}" ; portdir=${portdir%/} ;;
-	r)	UPDATE_REQ_BYS=ropt ; portdir=`origin_from_pdb $OPTARG` ;;
+	r)	UPDATE_REQ_BYS=ropt
+		if [ -d "$pdb/$OPTARG" ]; then
+			glob_dirs=$OPTARG
+		else
+			port=`globstrip $OPTARG`
+			glob_dirs=`find $pdb -maxdepth 1 -type d -name ${port}\*`
+			case "$glob_dirs" in
+			*\*|'') fail "$pdb/$port does not exist" ;;
+			# Match a newline in multiple responses from find
+			*'
+'*)				fail 'The argument to -r must match only one port' ;;
+			esac
+			unset port
+		fi
+		portdir=`origin_from_pdb ${glob_dirs##*/}` ; unset glob_dirs ;;
 	s)	CLEAN_STALE=sopt ;;
 	t)	RECURSE_THOROUGH=topt; ARGS="-t $ARGS" ;;
 	u)	echo "===>>> The -u option has been deprecated" ; echo '' ;;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003290306.o2T369am026726>