Source: python-hiredis
Version: 0.2.0-1
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that python-hiredis could not be built reproducibly.
During build objects are linked in non-deterministic order.

The attached patch fixes this by sorting the list of source files.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/reproducible-build.patch b/debian/patches/reproducible-build.patch
new file mode 100644
index 0000000..a5eb6f0
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort source files for deterministic linking order
+
+--- a/setup.py
++++ b/setup.py
+@@ -44,7 +44,7 @@
+   "sources": ["vendor/hiredis/%s.c" % src for src in ("read", "sds")]})
+ 
+ ext = Extension("hiredis.hiredis",
+-  sources=glob.glob("src/*.c"),
++  sources=sorted(glob.glob("src/*.c")),
+   include_dirs=["vendor"],
+   extra_link_args=["-lhiredis"])
+ 
diff --git a/debian/patches/series b/debian/patches/series
index 6b075bc..1ab1e46 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 0001-Use-system-libhiredis.patch
 fix_build_dir_in_tests.patch
+reproducible-build.patch

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Reproducible-builds mailing list
Reproducible-builds@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/reproducible-builds

Reply via email to