summaryrefslogtreecommitdiffstats
path: root/pym/_emerge
diff options
context:
space:
mode:
authorSebastian Luther <SebastianLuther@gmx.de>2010-08-11 14:00:29 +0200
committerZac Medico <zmedico@gentoo.org>2010-08-11 11:10:28 -0700
commitaf52e04dd1709b5b4d48fdee90b2d04f67617234 (patch)
tree1f72e1aca944f52759b2ac350e1c7f053f3d2622 /pym/_emerge
parentcc03d96314dc108964c9c1b0431a0466f20ad147 (diff)
downloadportage-af52e04dd1709b5b4d48fdee90b2d04f67617234.tar.gz
portage-af52e04dd1709b5b4d48fdee90b2d04f67617234.tar.bz2
portage-af52e04dd1709b5b4d48fdee90b2d04f67617234.zip
Make sure we don't allow REQUIRED_USE in EAPIs that don't support it
Diffstat (limited to 'pym/_emerge')
-rw-r--r--pym/_emerge/Package.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py
index 992851bb1..90a5d03eb 100644
--- a/pym/_emerge/Package.py
+++ b/pym/_emerge/Package.py
@@ -8,7 +8,7 @@ import portage
from portage.cache.mappings import slot_dict_class
from portage.dep import isvalidatom, use_reduce, \
paren_enclose, _slot_re
-from portage.eapi import eapi_has_iuse_defaults
+from portage.eapi import eapi_has_iuse_defaults, eapi_has_required_use
from _emerge.Task import Task
if sys.hexversion >= 0x3000000:
@@ -52,6 +52,10 @@ class Package(Task):
not eapi_has_iuse_defaults(self.metadata["EAPI"]):
self._invalid_metadata('IUSE.invalid',
"IUSE contains defaults, but EAPI doesn't allow them")
+ if self.metadata["REQUIRED_USE"] and \
+ not eapi_has_required_use(self.metadata["EAPI"]):
+ self._invalid_metadata('REQUIRED_USE.invalid',
+ "REQUIRED_USE set, but EAPI doesn't allow it")
self.slot_atom = portage.dep.Atom("%s:%s" % (self.cp, slot))
self.category, self.pf = portage.catsplit(self.cpv)
self.cpv_split = portage.catpkgsplit(self.cpv)