summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-12-12 21:50:25 +0000
committerZac Medico <zmedico@gentoo.org>2008-12-12 21:50:25 +0000
commit48c3262f08d4d31615d182201764e840f43013e8 (patch)
tree30fee5450fa86eb1cc7f2dc5500716913b4d7287
parent5d725dbb532ace3502df23102b73e55eac9cb721 (diff)
downloadportage-48c3262f08d4d31615d182201764e840f43013e8.tar.gz
portage-48c3262f08d4d31615d182201764e840f43013e8.tar.bz2
portage-48c3262f08d4d31615d182201764e840f43013e8.zip
Fix breakage in stale metadata logic inside binarytree._poplulate().
(trunk r12211) svn path=/main/branches/2.1.6/; revision=12242
-rw-r--r--pym/portage/dbapi/bintree.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/pym/portage/dbapi/bintree.py b/pym/portage/dbapi/bintree.py
index 1e9f9aeeb..04f598a13 100644
--- a/pym/portage/dbapi/bintree.py
+++ b/pym/portage/dbapi/bintree.py
@@ -598,13 +598,14 @@ class binarytree(object):
aux_cache[k] = d[k]
self.dbapi._aux_cache[mycpv] = aux_cache
+ for cpv in list(metadata):
+ if cpv not in pkg_paths:
+ del metadata[cpv]
+
# Do not bother to write the Packages index if $PKGDIR/All/ exists
# since it will provide no benefit due to the need to read CATEGORY
# from xpak.
if update_pkgindex and os.access(self.pkgdir, os.W_OK):
- stale = [cpv for cpv in metadata if cpv not in self._pkg_paths]
- for cpv in stale:
- del metadata[cpv]
del pkgindex.packages[:]
pkgindex.packages.extend(metadata.itervalues())
self._update_pkgindex_header(pkgindex.header)