diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-05-09 15:34:06 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-05-09 15:34:06 -0700 |
commit | 2e530322dad9747cd85e7a1d9cf5326a99af4979 (patch) | |
tree | 9d8cf093064e831d6be76da18826b676ebfdda5a | |
parent | 192730dc67e0181033c5743ffee77291b04a7a28 (diff) | |
download | portage-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.
-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 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: |