summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/_emerge/depgraph.py3
-rw-r--r--pym/portage/tests/resolver/test_multirepo.py11
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,