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.1.9.49~17 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=d5ac30306268beb5b30bb971a61a3cb7159fadca;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 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: