From c83e9fc6e3d45124514b53ed41d0df32dc937c4d Mon Sep 17 00:00:00 2001 From: Sebastian Luther Date: Tue, 21 Sep 2010 12:07:57 +0200 Subject: reposyntax: Fix ignored slot spec if the same cpv is in several repos with different SLOT --- pym/_emerge/depgraph.py | 3 +++ pym/portage/tests/resolver/test_multirepo.py | 11 +++++------ 2 files changed, 8 insertions(+), 6 deletions(-) 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, -- cgit v1.2.3-1-g7c22