summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-12-12 01:33:26 +0000
committerZac Medico <zmedico@gentoo.org>2008-12-12 01:33:26 +0000
commitab26befd0661dfaaea123d05139edf0394bd97e6 (patch)
treeb44b2281f8d799b30a86635bbf34e65553290cbd
parentFix incorrect usage of trap (only remove on signal at a time). (diff)
downloadportage-multirepo-ab26befd0661dfaaea123d05139edf0394bd97e6.tar.gz
portage-multirepo-ab26befd0661dfaaea123d05139edf0394bd97e6.tar.bz2
portage-multirepo-ab26befd0661dfaaea123d05139edf0394bd97e6.zip
Fix breakage in stale metadata logic inside binarytree._poplulate().
svn path=/main/trunk/; revision=12211
-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 1e9f9aee..04f598a1 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)