Source: boswars
Version: 1.8.1+dfsg-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 boswars could not be built reproducibly.
It searches for source files without sorting them, which causes a
non-deterministic linking order.

The attached patch fixes this.

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..d37b107
--- /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/SConstruct
++++ b/SConstruct
+@@ -68,7 +68,7 @@
+   sources = []
+   sourceDirs = Split(sourceDirs)
+   for d in sourceDirs:
+-    sources.append(glob.glob(engineSourceDir + '/' + d + '/*.cpp'))
++    sources.append(sorted(glob.glob(engineSourceDir + '/' + d + '/*.cpp')))
+   sources = Flatten(sources)
+   targetsources = []
+   for s in sources:
diff --git a/debian/patches/series b/debian/patches/series
index 09f23d4..b6c5eeb 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
 buildsys_flags_fix.patch
+reproducible-build.patch
_______________________________________________
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