Some packages list the same atom multiple times (e.g. behind diff USE
flags).  If one of them throws an error, we end up listing it more than
once, and the output can get verbose/useless.
---
 pym/repoman/scanner.py | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/pym/repoman/scanner.py b/pym/repoman/scanner.py
index d1c10d7..94ada90 100644
--- a/pym/repoman/scanner.py
+++ b/pym/repoman/scanner.py
@@ -704,13 +704,22 @@ class Scanner(object):
 
                                                                # we have some 
unsolvable deps
                                                                # remove ! 
deps, which always show up as unsatisfiable
-                                                               atoms = [
+                                                               all_atoms = [
                                                                        
str(atom.unevaluated_atom)
                                                                        for 
atom in atoms if not atom.blocker]
 
                                                                # if we emptied 
out our list, continue:
-                                                               if not atoms:
+                                                               if not 
all_atoms:
                                                                        continue
+
+                                                               # Filter out 
duplicates.  We do this by hand (rather
+                                                               # than use a 
set) so the order is stable and better
+                                                               # matches the 
order that's in the ebuild itself.
+                                                               atoms = []
+                                                               for atom in 
all_atoms:
+                                                                       if atom 
not in atoms:
+                                                                               
atoms.append(atom)
+
                                                                if 
self.options.output_style in ['column']:
                                                                        
self.qatracker.add_error(mykey,
                                                                                
"%s: %s: %s(%s) %s"
-- 
2.6.2


Reply via email to