diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-05-09 15:34:06 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-05-11 22:10:05 -0700 |
commit | d5ac30306268beb5b30bb971a61a3cb7159fadca (patch) | |
tree | 354389d0ceeefcc68c6561f2298db1250d76450b | |
parent | e81ab80f73d71b6687428ed07cac01a42c484b29 (diff) | |
download | portage-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.py | 17 |
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: |