Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o
Cc: Zac Medico <zmedico@g.o>
Subject: [gentoo-portage-dev] [PATCH] slot_conflict_handler: suggest --verbose-conflicts (bug 556172)
Date: Wed, 29 Jul 2015 05:21:43
Message-Id: 1438147257-21249-1-git-send-email-zmedico@gentoo.org
1 A suggestion to use --verbose-conflicts is now shown when relevant:
2
3 !!! Multiple package instances within a single package slot have been pulled
4 !!! into the dependency graph, resulting in a slot conflict:
5
6 dev-libs/icu:0
7
8 (dev-libs/icu-54.1-r1:0/54a::gentoo, ebuild scheduled for merge) pulled in by
9 <dev-libs/icu-55.1 (Argument)
10
11 (dev-libs/icu-55.1:0/55::gentoo, installed) pulled in by
12 dev-libs/icu:0/55 required by (app-office/libreoffice-bin-4.4.3.2:0/0::gentoo, installed)
13 ^^^^^
14 >=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)
15 ^^^^^^
16 (and 19 more with the same problems)
17
18 NOTE: Use the '--verbose-conflicts' option to display parents omitted above
19
20 X-Gentoo-Bug: 556172
21 X-Gentoo-Bug-url: https://bugs.gentoo.org/show_bug.cgi?id=556172
22 ---
23 pym/_emerge/resolver/slot_collision.py | 11 ++++++++++-
24 1 file changed, 10 insertions(+), 1 deletion(-)
25
26 diff --git a/pym/_emerge/resolver/slot_collision.py b/pym/_emerge/resolver/slot_collision.py
27 index 5473d72..cfb5885 100644
28 --- a/pym/_emerge/resolver/slot_collision.py
29 +++ b/pym/_emerge/resolver/slot_collision.py
30 @@ -242,6 +242,7 @@ class slot_conflict_handler(object):
31 """
32 _pkg_use_enabled = self.depgraph._pkg_use_enabled
33 verboseconflicts = "--verbose-conflicts" in self.myopts
34 + any_omitted_parents = False
35 msg = self.conflict_msg
36 indent = " "
37 msg.append("\n!!! Multiple package instances within a single " + \
38 @@ -596,6 +597,7 @@ class slot_conflict_handler(object):
39
40 omitted_parents = num_all_specific_atoms - len(selected_for_display)
41 if omitted_parents:
42 + any_omitted_parents = True
43 msg.append(2*indent)
44 if len(selected_for_display) > 1:
45 msg.append("(and %d more with the same problems)\n" % omitted_parents)
46 @@ -604,7 +606,14 @@ class slot_conflict_handler(object):
47 else:
48 msg.append(" (no parents)\n")
49 msg.append("\n")
50 - msg.append("\n")
51 +
52 + if any_omitted_parents:
53 + msg.append(colorize("INFORM",
54 + "NOTE: Use the '--verbose-conflicts'"
55 + " option to display parents omitted above"))
56 + msg.append("\n\n")
57 + else:
58 + msg.append("\n")
59
60 def get_explanation(self):
61 msg = ""
62 --
63 2.3.6

Replies