Source: i3status
Version: 2.10-2 
Severity: wishlist
Tags: patch upstream
User: reproducible-bui...@lists.alioth.debian.org
Usertags: fileordering
X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that i3status could not be built reproducibly.
It links objects in non-deterministic order.

The attached patch fixes this by sorting the list.

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..762596a
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort objects for deterministic linking order
+
+--- a/Makefile
++++ b/Makefile
+@@ -67,7 +67,7 @@
+ # YAJL_MAJOR from that file to decide which code path should be used.
+ CFLAGS += -idirafter yajl-fallback
+ 
+-OBJS:=$(wildcard src/*.c *.c)
++OBJS:=$(sort $(wildcard src/*.c *.c))
+ OBJS:=$(OBJS:.c=.o)
+ 
+ ifeq ($(OS),OpenBSD)
diff --git a/debian/patches/series b/debian/patches/series
index 4d1e94a..4cc025f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 kfreebsd-ftbfs.patch
+reproducible-build.patch

Attachment: signature.asc
Description: PGP signature

Reply via email to