From 1e6cc216a6c31f0e32e0e12146afbb577e17bfef Mon Sep 17 00:00:00 2001 From: Sebastian Luther Date: Tue, 21 Sep 2010 12:42:16 +0200 Subject: [PATCH] Fix breakage with old style virtuals from the last commit --- pym/_emerge/depgraph.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py index 7b9a8fb6c..0a2421648 100644 --- a/pym/_emerge/depgraph.py +++ b/pym/_emerge/depgraph.py @@ -2478,16 +2478,16 @@ class depgraph(object): except portage.exception.PackageNotFound: pass else: - if pkg.cp != atom.cp: - # A cpv can be returned from dbapi.match() as an - # old-style virtual match even in cases when the - # package does not actually PROVIDE the virtual. - # Filter out any such false matches here. - 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. + # A cpv can be returned from dbapi.match() as an + # old-style virtual match even in cases when the + # package does not actually PROVIDE the virtual. + # Filter out any such false matches here. + + # Make sure that cpv from the current repo satisfies the atom. + # This might not be the case if there are several repos with + # the same cpv, but different metadata keys, like SLOT. + if not InternalPackageSet(initial_atoms=(atom,) + ).findAtomForPackage(pkg, modified_use=self._pkg_use_enabled(pkg)): continue yield pkg -- 2.26.2