Date: Mon, 10 May 2010 02:07:42 +0000 (UTC) From: Doug Barton <dougb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r207837 - user/dougb/portmaster Message-ID: <201005100207.o4A27gZM012550@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201005100207.o4A27gZM012550>