Package: dh-python
Version: 1.20140511-1
Severity: wishlist
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: toolchain

Hi!

It would help the “reproducible efforts” [1] if dh-python would output
dependencies in a stable order. Right now they are likely to be
different each time a package is built.

The attached patch will make the order stable by sorting the
dependencies.

 [1]: https://wiki.debian.org/ReproducibleBuilds

-- 
Lunar                                .''`. 
lu...@debian.org                    : :Ⓐ  :  # apt-get install anarchism
                                    `. `'` 
                                      `-   
From 8c892fde3d9009072f48cd5a6a8c9a19549b6480 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Bobbio?= <lu...@debian.org>
Date: Sun, 24 Aug 2014 20:47:50 +0000
Subject: [PATCH] Ensure that Depends and the likes are written in a stable
 order

This is needed for reproducible builds.
---
 dhpython/depends.py |   12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/dhpython/depends.py b/dhpython/depends.py
index e406fb7..935ddc6 100644
--- a/dhpython/depends.py
+++ b/dhpython/depends.py
@@ -61,17 +61,17 @@ class Dependencies:
     def export_to(self, dh):
         """Fill in debhelper's substvars."""
         prefix = PKG_PREFIX_MAP.get(self.impl, 'misc')
-        for i in self.depends:
+        for i in sorted(self.depends):
             dh.addsubstvar(self.package, '{}:Depends'.format(prefix), i)
-        for i in self.recommends:
+        for i in sorted(self.recommends):
             dh.addsubstvar(self.package, '{}:Recommends'.format(prefix), i)
-        for i in self.suggests:
+        for i in sorted(self.suggests):
             dh.addsubstvar(self.package, '{}:Suggests'.format(prefix), i)
-        for i in self.enhances:
+        for i in sorted(self.enhances):
             dh.addsubstvar(self.package, '{}:Enhances'.format(prefix), i)
-        for i in self.breaks:
+        for i in sorted(self.breaks):
             dh.addsubstvar(self.package, '{}:Breaks'.format(prefix), i)
-        for i in self.rtscripts:
+        for i in sorted(self.rtscripts):
             dh.add_rtupdate(self.package, i)
 
     def __str__(self):
-- 
1.7.10.4

Attachment: signature.asc
Description: Digital signature

Reply via email to