summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenedikt Boehm <hollow@gentoo.org>2008-02-27 09:53:04 +0000
committerBenedikt Boehm <hollow@gentoo.org>2008-02-27 09:53:04 +0000
commit62e118369dd714047023bc470d56e4329471456a (patch)
tree15bee5d22922c98733df291b574b780307db46b8 /eclass/confutils.eclass
parentstable x86, bug 208509 (diff)
downloadgentoo-2-62e118369dd714047023bc470d56e4329471456a.tar.gz
gentoo-2-62e118369dd714047023bc470d56e4329471456a.tar.bz2
gentoo-2-62e118369dd714047023bc470d56e4329471456a.zip
add confutils_require_one
Diffstat (limited to 'eclass/confutils.eclass')
-rw-r--r--eclass/confutils.eclass35
1 files changed, 34 insertions, 1 deletions
diff --git a/eclass/confutils.eclass b/eclass/confutils.eclass
index 1e6c56baae24..38f104272a6d 100644
--- a/eclass/confutils.eclass
+++ b/eclass/confutils.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/confutils.eclass,v 1.21 2008/02/20 13:07:50 hollow Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/confutils.eclass,v 1.22 2008/02/27 09:53:04 hollow Exp $
# @ECLASS: confutils.eclass
# @MAINTAINER:
@@ -38,6 +38,39 @@ confutils_init() {
fi
}
+# @FUNCTION: confutils_require_one
+# @USAGE: <flag> [more flags ...]
+# @DESCRIPTION:
+# Use this function to ensure exactly one of the specified USE flags have been
+# enabled
+confutils_require_one() {
+ local required_flags="$@"
+ local success=0
+
+ for flag in ${required_flags}; do
+ use ${flag} && ((success++))
+ done
+
+ [[ ${success} -eq 1 ]] && return
+
+ echo
+ eerror "You *must* enable *exactly* one of the following USE flags:"
+ eerror " ${required_flags}"
+ eerror
+ eerror "You can do this by enabling *one* of these flag in /etc/portage/package.use:"
+
+ set -- ${required_flags}
+ eerror " =${CATEGORY}/${PN}-${PVR} ${1}"
+ shift
+
+ for flag in $@; do
+ eerror " OR =${CATEGORY}/${PN}-${PVR} ${flag}"
+ done
+
+ echo
+ die "Missing or conflicting USE flags"
+}
+
# @FUNCTION: confutils_require_any
# @USAGE: <flag> [more flags ...]
# @DESCRIPTION: