From: Zac Medico Date: Mon, 9 May 2011 22:34:06 +0000 (-0700) Subject: dep_check_composite_db: implement cp_list X-Git-Tag: v2.2.0_alpha33~19 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=2e530322dad9747cd85e7a1d9cf5326a99af4979;p=portage.git dep_check_composite_db: implement cp_list This is used by dep_check since commit 6f9ee9c508c1506cdf8eb0dc46796dbe30f268db. --- 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: