Source: dogecoin
Version: 1.10.0-2
Severity: wishlist
Tags: patch upstream
User: reproducible-builds@lists.alioth.debian.org
Usertags: locale
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org
Forwarded: https://github.com/dogecoin/dogecoin/pull/1351

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that dogecoin could not be built reproducibly.
It sorts files without normalizing the locale, which results in
different orders under different locales.

The attached patch fixes this by using the C locale for sorting.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff --git a/debian/patches/0003-reproducible-build.patch b/debian/patches/0003-reproducible-build.patch
new file mode 100644
index 0000000..6217e4b
--- /dev/null
+++ b/debian/patches/0003-reproducible-build.patch
@@ -0,0 +1,11 @@
+--- a/src/leveldb/build_detect_platform
++++ b/src/leveldb/build_detect_platform
+@@ -176,7 +176,7 @@
+ PRUNE_TEST="-name *test*.cc -prune"
+ PRUNE_BENCH="-name *_bench.cc -prune"
+ PRUNE_TOOL="-name leveldb_main.cc -prune"
+-PORTABLE_FILES=`find $DIRS $PRUNE_TEST -o $PRUNE_BENCH -o $PRUNE_TOOL -o -name '*.cc' -print | sort | sed "s,^$PREFIX/,," | tr "\n" " "`
++PORTABLE_FILES=`find $DIRS $PRUNE_TEST -o $PRUNE_BENCH -o $PRUNE_TOOL -o -name '*.cc' -print | LC_ALL=C sort | sed "s,^$PREFIX/,," | tr "\n" " "`
+ 
+ set +f # re-enable globbing
+ 
diff --git a/debian/patches/series b/debian/patches/series
index 8c7a8dc..10eb27e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 0001-configure.ac_use_PIC.patch
 0002-rename-libbitcoinconsensus-to-libdogecoinconsensus.patch
+0003-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