From owner-svn-src-user@FreeBSD.ORG Mon Mar 29 03:06:09 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8C5021065676; Mon, 29 Mar 2010 03:06:09 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 796688FC1B; Mon, 29 Mar 2010 03:06:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2T369hM026727; Mon, 29 Mar 2010 03:06:09 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2T369am026726; Mon, 29 Mar 2010 03:06:09 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201003290306.o2T369am026726@svn.freebsd.org> From: Doug Barton Date: Mon, 29 Mar 2010 03:06:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r205818 - user/dougb/portmaster X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Mar 2010 03:06:09 -0000 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 '' ;;