Date: Fri, 20 Jul 2012 07:22:38 +0000 (UTC) From: Doug Barton <dougb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r238649 - user/dougb/portmaster Message-ID: <201207200722.q6K7Mcba068500@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201207200722.q6K7Mcba068500>