aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-05-09 15:34:06 -0700
committerZac Medico <zmedico@gentoo.org>2011-05-09 15:34:06 -0700
commit2e530322dad9747cd85e7a1d9cf5326a99af4979 (patch)
tree9d8cf093064e831d6be76da18826b676ebfdda5a /pym/_emerge/depgraph.py
parentconfig: call _populate_treeVirtuals directly (diff)
downloadportage-2e530322dad9747cd85e7a1d9cf5326a99af4979.tar.gz
portage-2e530322dad9747cd85e7a1d9cf5326a99af4979.tar.bz2
portage-2e530322dad9747cd85e7a1d9cf5326a99af4979.zip
dep_check_composite_db: implement cp_list
This is used by dep_check since commit 6f9ee9c508c1506cdf8eb0dc46796dbe30f268db.
Diffstat (limited to 'pym/_emerge/depgraph.py')
-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 83d6e9b9a..80a7d6c65 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -6048,6 +6048,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: