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] calc_depclean: do not abort for broken soname dependencies (bug 563844)
Date: Fri, 23 Oct 2015 06:01:12
Message-Id: 1445580029-27665-1-git-send-email-zmedico@gentoo.org
1 X-Gentoo-Bug: 563844
2 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=563844
3 ---
4 pym/_emerge/actions.py | 22 +++++++++++++++++++++-
5 1 file changed, 21 insertions(+), 1 deletion(-)
6
7 diff --git a/pym/_emerge/actions.py b/pym/_emerge/actions.py
8 index 602715b..7f1cb59 100644
9 --- a/pym/_emerge/actions.py
10 +++ b/pym/_emerge/actions.py
11 @@ -863,11 +863,31 @@ def calc_depclean(settings, trees, ldpath_mtimes,
12
13 def unresolved_deps():
14
15 + soname_deps = set()
16 unresolvable = set()
17 for dep in resolver._dynamic_config._initially_unsatisfied_deps:
18 if isinstance(dep.parent, Package) and \
19 (dep.priority > UnmergeDepPriority.SOFT):
20 - unresolvable.add((dep.atom, dep.parent.cpv))
21 + if dep.atom.soname:
22 + soname_deps.add((dep.atom, dep.parent.cpv))
23 + else:
24 + unresolvable.add((dep.atom, dep.parent.cpv))
25 +
26 + if soname_deps:
27 + # Generally, broken soname dependencies can safely be
28 + # suppressed by a REQUIRES_EXCLUDE setting in the ebuild,
29 + # so they should only trigger a warning message.
30 + prefix = warn(" * ")
31 + msg = []
32 + msg.append("Broken soname dependencies found:")
33 + msg.append("")
34 + for atom, parent in soname_deps:
35 + msg.append(" %s required by:" % (atom,))
36 + msg.append(" %s" % (parent,))
37 + msg.append("")
38 +
39 + writemsg_level("".join("%s%s\n" % (prefix, line) for line in msg),
40 + level=logging.WARNING, noiselevel=-1)
41
42 if not unresolvable:
43 return False
44 --
45 2.4.9

Replies