From: Sebastian Luther Date: Tue, 21 Sep 2010 10:07:57 +0000 (+0200) Subject: reposyntax: Fix ignored slot spec if the same cpv is in several repos with different... X-Git-Tag: v2.2_rc90~117 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=c83e9fc6e3d45124514b53ed41d0df32dc937c4d;p=portage.git reposyntax: Fix ignored slot spec if the same cpv is in several repos with different SLOT --- diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 5c01712d5..7b9a8fb6c 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -2486,6 +2486,9 @@ class depgraph(object): if not InternalPackageSet(initial_atoms=(atom,) ).findAtomForPackage(pkg, modified_use=self._pkg_use_enabled(pkg)): continue + if not portage.match_from_list(atom, [pkg]): + #There is a matching cpv in the repo, but it violates parts of the atom. + continue yield pkg def _select_pkg_highest_available(self, root, atom, onlydeps=False): diff --git a/pym/portage/tests/resolver/test_multirepo.py b/pym/portage/tests/resolver/test_multirepo.py index c3a45e904..dfa9b0c19 100644 --- a/pym/portage/tests/resolver/test_multirepo.py +++ b/pym/portage/tests/resolver/test_multirepo.py @@ -93,12 +93,11 @@ class MultirepoTestCase(TestCase): success = True, check_repo_names = True, mergelist = ["dev-libs/E-1::repo2"]), - #FAIL - #~ ResolverPlaygroundTestCase( - #~ ["dev-libs/E:1"], - #~ success = True, - #~ check_repo_names = True, - #~ mergelist = ["dev-libs/E-1::repo2"]), + ResolverPlaygroundTestCase( + ["dev-libs/E:1"], + success = True, + check_repo_names = True, + mergelist = ["dev-libs/E-1::repo2"]), ResolverPlaygroundTestCase( ["dev-libs/F:1"], success = True,