summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-12-17 05:48:20 +0000
committerZac Medico <zmedico@gentoo.org>2008-12-17 05:48:20 +0000
commitb8fe6ca6954ffd2c7a85c9f3046cf176b09bc9d7 (patch)
treebc84db2e9cd3dc4a8d41c76974a4952bc4fb1b16
parent141735d67c064ec78aa77a08271191df3dc3bc7c (diff)
downloadportage-b8fe6ca6954ffd2c7a85c9f3046cf176b09bc9d7.tar.gz
portage-b8fe6ca6954ffd2c7a85c9f3046cf176b09bc9d7.tar.bz2
portage-b8fe6ca6954ffd2c7a85c9f3046cf176b09bc9d7.zip
Inside display_preserved_libs(), filter out consumers that belong to the
same package as the provider only if those consumers are also preserved. svn path=/main/trunk/; revision=12257
-rw-r--r--pym/_emerge/__init__.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py
index 07e8941a8..667d90fbc 100644
--- a/pym/_emerge/__init__.py
+++ b/pym/_emerge/__init__.py
@@ -11500,15 +11500,16 @@ def display_preserved_libs(vardbapi):
else:
search_for_owners = set()
for cpv in plibdata:
- pkg_dblink = vardbapi._dblink(cpv)
+ internal_plib_keys = set(linkmap._obj_key(f) \
+ for f in plibdata[cpv])
for f in plibdata[cpv]:
if f in consumer_map:
continue
consumers = []
for c in linkmap.findConsumers(f):
- # Filter out any consumers that belong
- # to the same package as the provider.
- if not pkg_dblink.isowner(c, pkg_dblink.myroot):
+ # Filter out any consumers that are also preserved libs
+ # belonging to the same package as the provider.
+ if linkmap._obj_key(c) not in internal_plib_keys:
consumers.append(c)
consumers.sort()
consumer_map[f] = consumers