[Piuparts-commits] [piuparts] 05/17: p-r: generate unique dependency lists

Holger Levsen holger at alioth.debian.org
Wed Nov 6 09:45:52 UTC 2013


This is an automated email from the git hooks/post-receive script.

holger pushed a commit to branch develop
in repository piuparts.

commit b3525c77fb2c02e4baea69b3f321e7e06cea27c4
Author: Andreas Beckmann <anbe at debian.org>
Date:   Tue Nov 5 19:18:12 2013 +0100

    p-r: generate unique dependency lists
    
    since versioning is ignored, don't report a dependency
      foo (>= 1), foo (<< 2~)
    as
      foo, foo
    
    Signed-off-by: Andreas Beckmann <anbe at debian.org>
---
 debian/changelog   |    1 +
 piuparts-report.py |   14 +++++++++++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index 48ebd34..2b14734 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,6 +9,7 @@ piuparts (0.56) UNRELEASED; urgency=low
       (Closes: #711157)
   * piuparts-report.py:
     - Report URLs of all Packages files used for a section.
+    - Avoid reporting duplicate dependencies after stripping versioning.
 
  -- Andreas Beckmann <anbe at debian.org>  Tue, 22 Oct 2013 22:16:21 +0200
 
diff --git a/piuparts-report.py b/piuparts-report.py
index 991b5a8..16f86f9 100644
--- a/piuparts-report.py
+++ b/piuparts-report.py
@@ -623,6 +623,18 @@ def get_email_address(maintainer):
     return email
 
 
+# return order preserving list of the first occurrence of an element
+def unique(stuff):
+    # can't use set() because 'stuff' is a list of lists and list() is not hashable
+    vlist = []
+    previtem = stuff
+    for item in stuff:
+        if item != previtem:
+            vlist.append(item)
+            previtem = item
+    return vlist
+
+
 class Section:
 
     def __init__(self, section, master_directory, doc_root, packagedb_cache={}):
@@ -1292,7 +1304,7 @@ class Section:
                     vlist += " (%d, %d)" % (self._binary_db.rrdep_count(package), \
                                             self._binary_db.block_count(package))
                 vlist += " (%s)" % html_protect(package["Maintainer"])
-                all_deps = package.all_dependencies()
+                all_deps = unique(package.all_dependencies())
                 if all_deps:
                     vlist += "\n<ul>\n"
                     for alternatives in all_deps:

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/piuparts/piuparts.git



More information about the Piuparts-commits mailing list