Gentoo Archives: gentoo-portage-dev

From: Brian Dolbec <dolsen@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] [PATCH] repoman: filter out duplicate dependencies in error messages
Date: Tue, 05 Jan 2016 09:43:56
Message-Id: 20160105014303.6db2f3cf.dolsen@gentoo.org
In Reply to: Re: [gentoo-portage-dev] [PATCH] repoman: filter out duplicate dependencies in error messages by Brian Dolbec
1 On Mon, 4 Jan 2016 19:17:41 -0800
2 Brian Dolbec <dolsen@g.o> wrote:
3
4 > On Mon, 4 Jan 2016 16:30:30 -0500
5 > Mike Frysinger <vapier@g.o> wrote:
6 >
7 > > Some packages list the same atom multiple times (e.g. behind diff
8 > > USE flags). If one of them throws an error, we end up listing it
9 > > more than once, and the output can get verbose/useless.
10 > > ---
11 > > pym/repoman/scanner.py | 13 +++++++++++--
12 > > 1 file changed, 11 insertions(+), 2 deletions(-)
13 > >
14 > > diff --git a/pym/repoman/scanner.py b/pym/repoman/scanner.py
15 > > index d1c10d7..94ada90 100644
16 > > --- a/pym/repoman/scanner.py
17 > > +++ b/pym/repoman/scanner.py
18 > > @@ -704,13 +704,22 @@ class Scanner(object):
19 > >
20 > > #
21 > > we have some unsolvable deps # remove ! deps, which always show up
22 > > as unsatisfiable
23 > > -
24 > > atoms = [
25 > > +
26 > > all_atoms = [ str(atom.unevaluated_atom)
27 > > for
28 > > atom in atoms if not atom.blocker]
29 > > #
30 > > if we emptied out our list, continue:
31 > > - if
32 > > not atoms:
33 > > + if
34 > > not all_atoms: continue
35 > > +
36 > > + #
37 > > Filter out duplicates. We do this by hand (rather
38 > > + #
39 > > than use a set) so the order is stable and better
40 > > + #
41 > > matches the order that's in the ebuild itself.
42 > > +
43 > > atoms = []
44 > > + for
45 > > atom in all_atoms:
46 > > +
47 > > if atom not in atoms:
48 > > +
49 > > atoms.append(atom) +
50 > > if
51 > > self.options.output_style in ['column']:
52 > > self.qatracker.add_error(mykey, "%s: %s: %s(%s) %s"
53 >
54 >
55 > I immediately want to say REJECT!, REJECT!, REJECT!,...
56 >
57 > I just spent a marathon week working on stage2 of the repoman rewrite.
58 >
59
60 looks like this is now the pym/repoman/modules/scan/depend/profile.py
61 check
62
63 --
64 Brian Dolbec <dolsen>