From c79dda63428dff6e10c1988875a5287e1a3a0ea3 Mon Sep 17 00:00:00 2001 From: Sebastian Luther Date: Wed, 11 Aug 2010 12:29:35 +0200 Subject: [PATCH] portage.dep.dep_check: Make sure we don't allow slot deps in EAPi-0 ebuilds --- pym/portage/dep/dep_check.py | 5 ++++- 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"]), -- 2.26.2