From 4bc4e589bd925d0bad8c6e5b8e30e3c37a371c01 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Tue, 17 May 2011 22:27:07 -0700 Subject: preserve-libs: check for broken linkmap more --- pym/portage/dbapi/vartree.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py index cae8cd0ed..fd5c774a3 100644 --- a/pym/portage/dbapi/vartree.py +++ b/pym/portage/dbapi/vartree.py @@ -1498,9 +1498,11 @@ class dblink(object): def _prune_plib_registry(self, unmerge=False, needed=None, preserve_paths=None): # remove preserved libraries that don't have any consumers left - plib_registry = self.vartree.dbapi._plib_registry - if plib_registry: + if not (self._linkmap_broken or + self.vartree.dbapi._linkmap is None or + self.vartree.dbapi._plib_registry is None): self.vartree.dbapi._fs_lock() + plib_registry = self.vartree.dbapi._plib_registry plib_registry.lock() try: plib_registry.load() @@ -3405,7 +3407,8 @@ class dblink(object): preserve_paths = set() needed = None - if not (linkmap is None or plib_registry is None): + if not (self._linkmap_broken or linkmap is None or + plib_registry is None): self.vartree.dbapi._fs_lock() plib_registry.lock() try: -- cgit v1.2.3-1-g7c22