From: Zac Medico Date: Wed, 18 May 2011 05:27:07 +0000 (-0700) Subject: preserve-libs: check for broken linkmap more X-Git-Tag: v2.2.0_alpha34~1 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=4bc4e589bd925d0bad8c6e5b8e30e3c37a371c01;p=portage.git preserve-libs: check for broken linkmap more --- 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: