svn commit: r207837 - user/dougb/portmaster
Doug Barton
dougb at FreeBSD.org
Mon May 10 02:07:43 UTC 2010
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
More information about the svn-src-user
mailing list