summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-05-09 15:34:06 -0700
committerZac Medico <zmedico@gentoo.org>2011-05-11 22:10:05 -0700
commitd5ac30306268beb5b30bb971a61a3cb7159fadca (patch)
tree354389d0ceeefcc68c6561f2298db1250d76450b
parente81ab80f73d71b6687428ed07cac01a42c484b29 (diff)
downloadportage-d5ac30306268beb5b30bb971a61a3cb7159fadca.tar.gz
portage-d5ac30306268beb5b30bb971a61a3cb7159fadca.tar.bz2
portage-d5ac30306268beb5b30bb971a61a3cb7159fadca.zip
dep_check_composite_db: implement cp_list
This is used by dep_check since commit 6f9ee9c508c1506cdf8eb0dc46796dbe30f268db.
-rw-r--r--pym/_emerge/depgraph.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 0c36e3a31..acf941e5b 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -5672,6 +5672,23 @@ class _dep_check_composite_db(dbapi):
self._match_cache.clear()
self._cpv_pkg_map.clear()
+ def cp_list(self, cp):
+ """
+ Emulate cp_list just so it can be used to check for existence
+ of new-style virtuals.
+ """
+ if isinstance(cp, Atom):
+ atom = cp
+ else:
+ atom = Atom(cp)
+ ret = []
+ for pkg in self._depgraph._iter_match_pkgs_any(
+ self._depgraph._frozen_config.roots[self._root], atom):
+ if pkg.cp == cp:
+ ret.append(pkg.cpv)
+
+ return ret
+
def match(self, atom):
ret = self._match_cache.get(atom)
if ret is not None: