diff options
author | Sebastian Luther <SebastianLuther@gmx.de> | 2010-09-21 12:07:57 +0200 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-09-26 23:50:14 -0700 |
commit | c83e9fc6e3d45124514b53ed41d0df32dc937c4d (patch) | |
tree | 6fa1d3b1965e78b72bfb3562e4388d73cf75140f | |
parent | e177e729bad3659cb2610f511928f90868bbebc3 (diff) | |
download | portage-c83e9fc6e3d45124514b53ed41d0df32dc937c4d.tar.gz portage-c83e9fc6e3d45124514b53ed41d0df32dc937c4d.tar.bz2 portage-c83e9fc6e3d45124514b53ed41d0df32dc937c4d.zip |
reposyntax: Fix ignored slot spec if the same cpv is in several repos with different SLOT
-rw-r--r-- | pym/_emerge/depgraph.py | 3 | ||||
-rw-r--r-- | 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, |