diff options
author | Sebastian Luther <SebastianLuther@gmx.de> | 2010-09-21 12:42:16 +0200 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-09-26 23:50:14 -0700 |
commit | 1e6cc216a6c31f0e32e0e12146afbb577e17bfef (patch) | |
tree | 8055f812aede1575ed49c01472b3116d8d11e897 | |
parent | c83e9fc6e3d45124514b53ed41d0df32dc937c4d (diff) | |
download | portage-1e6cc216a6c31f0e32e0e12146afbb577e17bfef.tar.gz portage-1e6cc216a6c31f0e32e0e12146afbb577e17bfef.tar.bz2 portage-1e6cc216a6c31f0e32e0e12146afbb577e17bfef.zip |
Fix breakage with old style virtuals from the last commit
-rw-r--r-- | pym/_emerge/depgraph.py | 20 |
1 files 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 |