[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