summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-10-14 05:07:03 +0000
committerZac Medico <zmedico@gentoo.org>2009-10-14 05:07:03 +0000
commitbffaa1aee41647cc274d70c840366ac9a171db86 (patch)
treee60a90ec8767fbe0a201d19bc80055e4f08a81f4
parent85ca42405c1114111defb777cfd4f94725708b28 (diff)
downloadportage-bffaa1aee41647cc274d70c840366ac9a171db86.tar.gz
portage-bffaa1aee41647cc274d70c840366ac9a171db86.tar.bz2
portage-bffaa1aee41647cc274d70c840366ac9a171db86.zip
When --depclean pulls in the provider of a library because of installed
consumers, display the soname(s) of the consumed libraries. svn path=/main/trunk/; revision=14599
-rw-r--r--pym/_emerge/actions.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
index 9788c0857..78d477945 100644
--- a/pym/_emerge/actions.py
+++ b/pym/_emerge/actions.py
@@ -1032,13 +1032,20 @@ def calc_depclean(settings, trees, ldpath_mtimes,
msg = []
for pkg in sorted(consumer_map, key=cmp_sort_key(cmp_pkg_cpv)):
consumers = consumer_map[pkg]
+ consumer_libs = {}
+ for lib, lib_consumers in consumers.items():
+ for consumer in lib_consumers:
+ consumer_libs.setdefault(
+ consumer.mycpv, set()).add(linkmap.getSoname(lib))
unique_consumers = set(chain(*consumers.values()))
unique_consumers = sorted(consumer.mycpv \
for consumer in unique_consumers)
msg.append("")
msg.append(" %s pulled in by:" % (pkg.cpv,))
for consumer in unique_consumers:
- msg.append(" %s" % (consumer,))
+ libs = consumer_libs[consumer]
+ msg.append(" %s needs %s" % \
+ (consumer, ', '.join(sorted(libs))))
msg.append("")
writemsg_level("".join(prefix + "%s\n" % line for line in msg),
level=logging.WARNING, noiselevel=-1)