From: Zac Medico Date: Fri, 12 Dec 2008 21:50:25 +0000 (-0000) Subject: Fix breakage in stale metadata logic inside binarytree._poplulate(). X-Git-Tag: v2.1.6.1~5 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=48c3262f08d4d31615d182201764e840f43013e8;p=portage.git Fix breakage in stale metadata logic inside binarytree._poplulate(). (trunk r12211) svn path=/main/branches/2.1.6/; revision=12242 --- 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)