From: Zac Medico Date: Fri, 12 Dec 2008 01:33:26 +0000 (-0000) Subject: Fix breakage in stale metadata logic inside binarytree._poplulate(). X-Git-Tag: v2.2_rc18~14 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=ab26befd0661dfaaea123d05139edf0394bd97e6;p=portage.git Fix breakage in stale metadata logic inside binarytree._poplulate(). svn path=/main/trunk/; revision=12211 --- 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)