summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/Package.py
diff options
context:
space:
mode:
authorSebastian Luther <SebastianLuther@gmx.de>2010-08-11 12:50:13 +0200
committerZac Medico <zmedico@gentoo.org>2010-08-11 03:54:04 -0700
commit220d52b671255239b7159ebc9321c3e64dce97a8 (patch)
treefaed8e5879ea59b33f26871b9b97a5f37bdd6f0b /pym/_emerge/Package.py
parentc79dda63428dff6e10c1988875a5287e1a3a0ea3 (diff)
downloadportage-220d52b671255239b7159ebc9321c3e64dce97a8.tar.gz
portage-220d52b671255239b7159ebc9321c3e64dce97a8.tar.bz2
portage-220d52b671255239b7159ebc9321c3e64dce97a8.zip
Make sure we don't allow IUSE defaults in EAPIs that don't allow them
Diffstat (limited to 'pym/_emerge/Package.py')
-rw-r--r--pym/_emerge/Package.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py
index 58c453ff9..992851bb1 100644
--- a/pym/_emerge/Package.py
+++ b/pym/_emerge/Package.py
@@ -8,6 +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 _emerge.Task import Task
if sys.hexversion >= 0x3000000:
@@ -47,6 +48,10 @@ class Package(Task):
# Avoid an InvalidAtom exception when creating slot_atom.
# This package instance will be masked due to empty SLOT.
slot = '0'
+ if (self.iuse.enabled or self.iuse.enabled) and \
+ not eapi_has_iuse_defaults(self.metadata["EAPI"]):
+ self._invalid_metadata('IUSE.invalid',
+ "IUSE contains defaults, but EAPI doesn't allow them")
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)