1 |
commit: 4bc4e589bd925d0bad8c6e5b8e30e3c37a371c01 |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed May 18 05:27:07 2011 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed May 18 05:27:07 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=4bc4e589 |
7 |
|
8 |
preserve-libs: check for broken linkmap more |
9 |
|
10 |
--- |
11 |
pym/portage/dbapi/vartree.py | 9 ++++++--- |
12 |
1 files changed, 6 insertions(+), 3 deletions(-) |
13 |
|
14 |
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py |
15 |
index cae8cd0..fd5c774 100644 |
16 |
--- a/pym/portage/dbapi/vartree.py |
17 |
+++ b/pym/portage/dbapi/vartree.py |
18 |
@@ -1498,9 +1498,11 @@ class dblink(object): |
19 |
def _prune_plib_registry(self, unmerge=False, |
20 |
needed=None, preserve_paths=None): |
21 |
# remove preserved libraries that don't have any consumers left |
22 |
- plib_registry = self.vartree.dbapi._plib_registry |
23 |
- if plib_registry: |
24 |
+ if not (self._linkmap_broken or |
25 |
+ self.vartree.dbapi._linkmap is None or |
26 |
+ self.vartree.dbapi._plib_registry is None): |
27 |
self.vartree.dbapi._fs_lock() |
28 |
+ plib_registry = self.vartree.dbapi._plib_registry |
29 |
plib_registry.lock() |
30 |
try: |
31 |
plib_registry.load() |
32 |
@@ -3405,7 +3407,8 @@ class dblink(object): |
33 |
|
34 |
preserve_paths = set() |
35 |
needed = None |
36 |
- if not (linkmap is None or plib_registry is None): |
37 |
+ if not (self._linkmap_broken or linkmap is None or |
38 |
+ plib_registry is None): |
39 |
self.vartree.dbapi._fs_lock() |
40 |
plib_registry.lock() |
41 |
try: |