Gentoo Archives: gentoo-portage-dev

From: Mike Frysinger <vapier@g.o>
To: gentoo-portage-dev@l.g.o
Subject: [gentoo-portage-dev] [PATCH] repoman: filter out duplicate dependencies in error messages
Date: Mon, 04 Jan 2016 21:30:38
Message-Id: 1451943030-20380-1-git-send-email-vapier@gentoo.org
1 Some packages list the same atom multiple times (e.g. behind diff USE
2 flags). If one of them throws an error, we end up listing it more than
3 once, and the output can get verbose/useless.
4 ---
5 pym/repoman/scanner.py | 13 +++++++++++--
6 1 file changed, 11 insertions(+), 2 deletions(-)
7
8 diff --git a/pym/repoman/scanner.py b/pym/repoman/scanner.py
9 index d1c10d7..94ada90 100644
10 --- a/pym/repoman/scanner.py
11 +++ b/pym/repoman/scanner.py
12 @@ -704,13 +704,22 @@ class Scanner(object):
13
14 # we have some unsolvable deps
15 # remove ! deps, which always show up as unsatisfiable
16 - atoms = [
17 + all_atoms = [
18 str(atom.unevaluated_atom)
19 for atom in atoms if not atom.blocker]
20
21 # if we emptied out our list, continue:
22 - if not atoms:
23 + if not all_atoms:
24 continue
25 +
26 + # Filter out duplicates. We do this by hand (rather
27 + # than use a set) so the order is stable and better
28 + # matches the order that's in the ebuild itself.
29 + atoms = []
30 + for atom in all_atoms:
31 + if atom not in atoms:
32 + atoms.append(atom)
33 +
34 if self.options.output_style in ['column']:
35 self.qatracker.add_error(mykey,
36 "%s: %s: %s(%s) %s"
37 --
38 2.6.2

Replies