diff options
-rw-r--r-- | pym/portage/dep/dep_check.py | 5 | ||||
-rw-r--r-- | pym/portage/tests/resolver/test_eapi.py | 2 |
2 files changed, 5 insertions, 2 deletions
diff --git a/pym/portage/dep/dep_check.py b/pym/portage/dep/dep_check.py index 691e1b50b..be24ad81a 100644 --- a/pym/portage/dep/dep_check.py +++ b/pym/portage/dep/dep_check.py @@ -8,7 +8,7 @@ import logging import portage from portage.dep import Atom, dep_opconvert, match_from_list, \ remove_slot, use_reduce -from portage.eapi import eapi_has_strong_blocks, eapi_has_use_deps +from portage.eapi import eapi_has_strong_blocks, eapi_has_use_deps, eapi_has_slot_deps from portage.exception import InvalidAtom, InvalidDependString, ParseError from portage.localization import _ from portage.util import writemsg, writemsg_level @@ -72,6 +72,9 @@ def _expand_new_virtuals(mysplit, edebug, mydbapi, mysettings, myroot="/", if x.use and not eapi_has_use_deps(eapi): raise ParseError( _("invalid atom: '%s'") % (x,)) + if x.slot and not eapi_has_slot_deps(eapi): + raise ParseError( + _("invalid atom: '%s'") % (x,)) if repoman: x = x._eval_qa_conditionals(use_mask, use_force) diff --git a/pym/portage/tests/resolver/test_eapi.py b/pym/portage/tests/resolver/test_eapi.py index d9f34f43e..a18b2c7c6 100644 --- a/pym/portage/tests/resolver/test_eapi.py +++ b/pym/portage/tests/resolver/test_eapi.py @@ -60,7 +60,7 @@ class EAPITestCase(TestCase): (["=dev-libs/A-1.3"], {}, None, True, ["dev-libs/A-1.3"]), #~ (["=dev-libs/A-1.4"], {}, None, True, ["dev-libs/A-1.4"]), - #~ (["=dev-libs/A-2.0"], {}, None, False, None), + (["=dev-libs/A-2.0"], {}, None, False, None), (["=dev-libs/A-2.1"], {}, None, True, ["dev-libs/B-1", "dev-libs/A-2.1"]), (["=dev-libs/A-2.2"], {}, None, True, ["dev-libs/B-1", "dev-libs/A-2.2"]), (["=dev-libs/A-2.3"], {}, None, True, ["dev-libs/B-1", "dev-libs/A-2.3"]), |