diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-05-17 22:27:07 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-05-17 22:27:07 -0700 |
commit | 4bc4e589bd925d0bad8c6e5b8e30e3c37a371c01 (patch) | |
tree | ff2314de1471223d1f3e36cd2903390929ca4437 | |
parent | 5f65c2294df592a6a4e0f0fff0bedec49ed3491a (diff) | |
download | portage-4bc4e589bd925d0bad8c6e5b8e30e3c37a371c01.tar.gz portage-4bc4e589bd925d0bad8c6e5b8e30e3c37a371c01.tar.bz2 portage-4bc4e589bd925d0bad8c6e5b8e30e3c37a371c01.zip |
preserve-libs: check for broken linkmap more
-rw-r--r-- | pym/portage/dbapi/vartree.py | 9 |
1 files 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: |