summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-05-17 22:27:07 -0700
committerZac Medico <zmedico@gentoo.org>2011-05-25 20:22:39 -0700
commitb9f024495f2d15590a9e268f5ec5cdcd89d256ec (patch)
treeb04b4b82274a902a8478299b4e14b769efa90ff3
parent70d7c4449cc39f522987a6134440432ba95ab8bf (diff)
downloadportage-b9f024495f2d15590a9e268f5ec5cdcd89d256ec.tar.gz
portage-b9f024495f2d15590a9e268f5ec5cdcd89d256ec.tar.bz2
portage-b9f024495f2d15590a9e268f5ec5cdcd89d256ec.zip
preserve-libs: check for broken linkmap more
-rw-r--r--pym/portage/dbapi/vartree.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
index 6ac161182..31e1fa6cc 100644
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@ -1474,8 +1474,10 @@ 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):
+ plib_registry = self.vartree.dbapi._plib_registry
plib_registry.lock()
try:
plib_registry.load()
@@ -3351,7 +3353,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):
plib_registry.lock()
try:
plib_registry.load()