diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-05-02 22:33:31 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-05-02 22:33:31 +0000 |
commit | ec716e2f9170a09e48a987113283c32851bf62ee (patch) | |
tree | d28049b1d84332e2bf46557b7cfc3592a8c42a6d | |
parent | 1077544a3a8c7f2165086bb93ba3360f2ea33996 (diff) | |
download | portage-ec716e2f9170a09e48a987113283c32851bf62ee.tar.gz portage-ec716e2f9170a09e48a987113283c32851bf62ee.tar.bz2 portage-ec716e2f9170a09e48a987113283c32851bf62ee.zip |
Add a PackageVirtualDbapi.__iter__() method and use it to iterate over
all installed packages in depgraph.validate_blockers(). (trunk r10112)
svn path=/main/branches/2.1.2/; revision=10113
-rwxr-xr-x | bin/emerge | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/bin/emerge b/bin/emerge index eb829e4fb..07984f6c5 100755 --- a/bin/emerge +++ b/bin/emerge @@ -1657,6 +1657,9 @@ class PackageVirtualDbapi(portage.dbapi): obj._cpv_map = self._cpv_map.copy() return obj + def __iter__(self): + return self._cpv_map.itervalues() + def __contains__(self, item): existing = self._cpv_map.get(item.cpv) if existing is not None and \ @@ -3265,14 +3268,12 @@ class depgraph(object): portdb = self.trees[myroot]["porttree"].dbapi pkgsettings = self.pkgsettings[myroot] final_db = self.mydbapi[myroot] - cpv_all_installed = self.trees[myroot]["vartree"].dbapi.cpv_all() blocker_cache = BlockerCache(myroot, vardb) stale_cache = set(blocker_cache) - for cpv in cpv_all_installed: + for pkg in vardb: + cpv = pkg.cpv stale_cache.discard(cpv) blocker_atoms = None - pkg = self._pkg_cache[ - ("installed", myroot, cpv, "nomerge")] blockers = None if self.digraph.contains(pkg): try: |