Source: libsemanage
Version: 2.5-1
Severity: wishlist
Tags: patch
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 libsemanage could not be built reproducibly.
The list of source files is unsorted, which causes a non-deterministic
linking 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..dc623e5
--- /dev/null
+++ b/debian/patches/reproducible-build.patch
@@ -0,0 +1,14 @@
+Author: Reiner Herrmann <rei...@reiner-h.de>
+Description: Sort source files to get deterministic linking order
+
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -51,7 +51,7 @@
+ LIBSO=$(TARGET).$(LIBVERSION)
+ 
+ GENERATED=$(SWIGCOUT) $(SWIGRUBYCOUT) semanageswig_python_exception.i
+-SRCS= $(filter-out $(GENERATED),$(wildcard *.c))
++SRCS= $(filter-out $(GENERATED),$(sort $(wildcard *.c)))
+ 
+ OBJS= $(patsubst %.c,%.o,$(SRCS)) conf-scan.o conf-parse.o
+ LOBJS= $(patsubst %.c,%.lo,$(SRCS)) conf-scan.lo conf-parse.lo
diff --git a/debian/patches/series b/debian/patches/series
index 7ec7424..160aae3 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,4 @@ tests-makefile
 disable-expand-check.patch
 libexec-path.patch
 semigrate-store.patch
+reproducible-build.patch

Attachment: signature.asc
Description: Digital 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