From: Zac Medico Date: Thu, 4 Dec 2008 19:01:37 +0000 (-0000) Subject: Bug #249805 - Add some more PreservedLibsRegistry.pruneNonExisting() calls, X-Git-Tag: v2.2_rc17~5 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=62bf382aed4302c4c98f83437b989dca21f175e9;p=portage.git Bug #249805 - Add some more PreservedLibsRegistry.pruneNonExisting() calls, to avoid a KeyError from LinkageMap.findConsumers() triggered inside display_preserved_libs(). svn path=/main/trunk/; revision=12152 --- diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 4dfe52a6d..20597c053 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -11374,6 +11374,9 @@ def display_news_notification(root_config, myopts): def display_preserved_libs(vardbapi): MAX_DISPLAY = 3 + # Ensure the registry is consistent with existing files. + vardbapi.plib_registry.pruneNonExisting() + if vardbapi.plib_registry.hasEntries(): print print colorize("WARN", "!!!") + " existing preserved libs:" diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py index 152ec1aa6..4abc1e126 100644 --- a/pym/portage/dbapi/vartree.py +++ b/pym/portage/dbapi/vartree.py @@ -2062,6 +2062,10 @@ class dblink(object): break continue self.vartree.dbapi.removeFromContents(cpv, removed) + else: + # Prune any preserved libs that may have + # been unmerged with this package. + self.vartree.dbapi.plib_registry.pruneNonExisting() finally: if builddir_lock: