From owner-svn-src-user@FreeBSD.ORG Fri Jul 20 07:22:38 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7F21C1065673; Fri, 20 Jul 2012 07:22:38 +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 6BA328FC1D; Fri, 20 Jul 2012 07:22:38 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q6K7Mcf6068502; Fri, 20 Jul 2012 07:22:38 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q6K7Mcba068500; Fri, 20 Jul 2012 07:22:38 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201207200722.q6K7Mcba068500@svn.freebsd.org> From: Doug Barton Date: Fri, 20 Jul 2012 07:22:38 +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: r238649 - 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: Fri, 20 Jul 2012 07:22:38 -0000 Author: dougb Date: Fri Jul 20 07:22:37 2012 New Revision: 238649 URL: http://svn.freebsd.org/changeset/base/238649 Log: Use a more robust method of determining portdir from $PWD. This also works for bare 'portmaster' with no arguments now, if you're in a port directory. Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Fri Jul 20 07:17:24 2012 (r238648) +++ user/dougb/portmaster/portmaster Fri Jul 20 07:22:37 2012 (r238649) @@ -3118,12 +3118,18 @@ if [ -z "$REPLACE_ORIGIN" ]; then [ -n "$portdir" ] && { argv=$portdir ; unset portdir; } argv=${argv:-$1} ; argv=${argv%/} ; argv=`globstrip $argv` case "$argv" in - '') echo '' ; no_valid_port ;; $pd/*) portdir=${argv#$pd/} ;; $pdb/*) upg_port=${argv#$pdb/} ;; /*) echo '' ; no_valid_port ;; */*) portdir=$argv ;; - \.) portdir=${PWD##*/ports/} ;; # Not always $pd, could be symlink + \.|'') portdir="$PWD" + while : ; do + case "$portdir" in + */*/*) portdir="${portdir#*/}" ;; + */*) break ;; + *) echo '' ; no_valid_port ;; + esac + done ;; *) [ -d "$pdb/$argv" ] && upg_port=$argv ;; esac