commit: 44971d397c63e16b134d9b93b06ce3b8db768aca
Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 29 05:18:30 2015 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Wed Jul 29 18:43:21 2015 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=44971d39
slot_conflict_handler: suggest --verbose-conflicts (bug 556172)
A suggestion to use --verbose-conflicts is now shown when relevant:
!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:
dev-libs/icu:0
(dev-libs/icu-54.1-r1:0/54a::gentoo, ebuild scheduled for merge) pulled in by
<dev-libs/icu-55.1 (Argument)
(dev-libs/icu-55.1:0/55::gentoo, installed) pulled in by
dev-libs/icu:0/55 required by
(app-office/libreoffice-bin-4.4.3.2:0/0::gentoo, installed)
^^^^^
>=dev-libs/icu-51.2-r1:0/55=[abi_x86_32(-),abi_x86_64(-)] required by
(dev-libs/libxml2-2.9.2-r1:2/2::gentoo, installed)
^^^^^^
(and 19 more with the same problems)
NOTE: Use the '--verbose-conflicts' option to display parents omitted above
X-Gentoo-Bug: 556172
X-Gentoo-Bug-url: https://bugs.gentoo.org/show_bug.cgi?id=556172
Acked-by: Alexander Berntsen <bernalex <AT> gentoo.org>
pym/_emerge/resolver/slot_collision.py | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/pym/_emerge/resolver/slot_collision.py
b/pym/_emerge/resolver/slot_collision.py
index 5473d72..cfb5885 100644
--- a/pym/_emerge/resolver/slot_collision.py
+++ b/pym/_emerge/resolver/slot_collision.py
@@ -242,6 +242,7 @@ class slot_conflict_handler(object):
"""
_pkg_use_enabled = self.depgraph._pkg_use_enabled
verboseconflicts = "--verbose-conflicts" in self.myopts
+ any_omitted_parents = False
msg = self.conflict_msg
indent = " "
msg.append("\n!!! Multiple package instances within a single "
+ \
@@ -596,6 +597,7 @@ class slot_conflict_handler(object):
omitted_parents =
num_all_specific_atoms - len(selected_for_display)
if omitted_parents:
+ any_omitted_parents = True
msg.append(2*indent)
if len(selected_for_display) >
1:
msg.append("(and %d
more with the same problems)\n" % omitted_parents)
@@ -604,7 +606,14 @@ class slot_conflict_handler(object):
else:
msg.append(" (no parents)\n")
msg.append("\n")
- msg.append("\n")
+
+ if any_omitted_parents:
+ msg.append(colorize("INFORM",
+ "NOTE: Use the '--verbose-conflicts'"
+ " option to display parents omitted above"))
+ msg.append("\n\n")
+ else:
+ msg.append("\n")
def get_explanation(self):
msg = ""