From owner-svn-src-user@FreeBSD.ORG Mon May 10 02:07:43 2010 Return-Path: <owner-svn-src-user@FreeBSD.ORG> 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 2A535106564A; Mon, 10 May 2010 02:07:43 +0000 (UTC) (envelope-from dougb@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [69.147.83.44]) by mx1.freebsd.org (Postfix) with ESMTP id 1B0B68FC13; Mon, 10 May 2010 02:07:43 +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 o4A27gG2012552; Mon, 10 May 2010 02:07:42 GMT (envelope-from dougb@svn.freebsd.org) Received: (from dougb@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o4A27gZM012550; Mon, 10 May 2010 02:07:42 GMT (envelope-from dougb@svn.freebsd.org) Message-Id: <201005100207.o4A27gZM012550@svn.freebsd.org> From: Doug Barton <dougb@FreeBSD.org> Date: Mon, 10 May 2010 02:07:42 +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: r207837 - 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" <svn-src-user.freebsd.org> List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>, <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe> List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user> List-Post: <mailto:svn-src-user@freebsd.org> List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help> List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>, <mailto:svn-src-user-request@freebsd.org?subject=subscribe> X-List-Received-Date: Mon, 10 May 2010 02:07:43 -0000 Author: dougb Date: Mon May 10 02:07:42 2010 New Revision: 207837 URL: http://svn.freebsd.org/changeset/base/207837 Log: Improve cross-option error checking for the --packages* options Modified: user/dougb/portmaster/portmaster Modified: user/dougb/portmaster/portmaster ============================================================================== --- user/dougb/portmaster/portmaster Mon May 10 01:23:31 2010 (r207836) +++ user/dougb/portmaster/portmaster Mon May 10 02:07:42 2010 (r207837) @@ -397,21 +397,26 @@ pm_sv () { [ -n "$PM_SU_VERB #=============== End functions we always want to have =============== packages_init () { - local e1 e2 + local e1 e2 e3 e1="The -P/--packages and -PP/--packages-only options are mutually exclusive" e2="The --packages-build option and the -P[P] options are mutually exclusive" +e3="The --packages-if-newer and -PP/--packages-only options are mutually exclusive" case "$1" in - first) [ "$PM_PACKAGES" = only ] && fail $e1 - [ -n "$PM_PACKAGES_BUILD" ] && fail $e2 ;; - only) [ "$PM_PACKAGES" = first ] && fail $e1 - [ -n "$PM_PACKAGES_BUILD" ] && fail $e2 ;; - build) case "$PM_PACKAGES" in first|only) fail $e2 ;; esac ;; - newer) [ -z "$PM_PACKAGES" -a -z "$PM_PACKAGES_BUILD" ] && { - PM_PACKAGES=newer ; export PM_PACKAGES; } ;; - local) [ -z "$PM_PACKAGES" -a -z "$PM_PACKAGES_BUILD" ] && { - PM_PACKAGES=local ; export PM_PACKAGES; } ;; + first) [ "$PM_PACKAGES" = only ] && fail $e1 + [ -n "$PM_PACKAGES_BUILD" ] && fail $e2 + [ -z "$PM_PACKAGES" ] && { + PM_PACKAGES=first ; export PM_PACKAGES; } ;; + only) [ "$PM_PACKAGES" = first ] && fail $e1 + [ "$PM_PACKAGES" = newer ] && fail $e3 + [ -n "$PM_PACKAGES_BUILD" ] && fail $e2 ;; + build) case "$PM_PACKAGES" in first|only) fail $e2 ;; esac ;; + newer) [ "$PM_PACKAGES" = only ] && fail $e3 + [ -z "$PM_PACKAGES" -a -z "$PM_PACKAGES_BUILD" ] && { + PM_PACKAGES=newer ; export PM_PACKAGES; } ;; + local) [ -z "$PM_PACKAGES" -a -z "$PM_PACKAGES_BUILD" ] && { + PM_PACKAGES=local ; export PM_PACKAGES; } ;; esac } @@ -431,8 +436,7 @@ for var in "$@" ; do case "$var" in -PP[A-Za-z0-9]*|-*[A-Za-z0-9]PP*) fail "The -PP option must stand alone" ;; - --packages) packages_init first - PM_PACKAGES=first ; export PM_PACKAGES ;; + --packages) packages_init first ;; -PP|--packages-only) packages_init only PM_PACKAGES=only ; export PM_PACKAGES ;; --packages-build) packages_init build