From 62bf382aed4302c4c98f83437b989dca21f175e9 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 4 Dec 2008 19:01:37 +0000 Subject: 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 --- pym/_emerge/__init__.py | 3 +++ pym/portage/dbapi/vartree.py | 4 ++++ 2 files changed, 7 insertions(+) (limited to 'pym') 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: -- cgit v1.2.3-1-g7c22