Source: nexuiz-data
Version: 2.5.2-6
Severity: wishlist
Tags: patch
User: reproducible-builds@lists.alioth.debian.org
Usertags: locale
X-Debbugs-Cc: reproducible-builds@lists.alioth.debian.org

Hi!

While working on the "reproducible builds" effort [1], we have noticed
that nexuiz-data could not be built reproducibly.
During build a checksum over configuration settings is calculated and
embedded in some files. The lines are sorted before generating the
checksum, but sort behaves differently depending on the configured
locale.

The attached patch sorts with the locale set to C, so that the same
values are generated independent of the current locale.

Regards,
 Reiner

[1]: https://wiki.debian.org/ReproducibleBuilds
diff -uprN 1/debian/patches/reproducible_build.diff 2/debian/patches/reproducible_build.diff
--- 1/debian/patches/reproducible_build.diff	1970-01-01 01:00:00.000000000 +0100
+++ 2/debian/patches/reproducible_build.diff	2015-12-21 15:37:37.000000000 +0100
@@ -0,0 +1,16 @@
+--- a/data/update-cvarcount.sh
++++ b/data/update-cvarcount.sh
+@@ -2,10 +2,10 @@
+ 
+ balance_cfgs="balanceHavoc.cfg balance25.cfg balanceSamual.cfg"
+ 
+-countd=`awk '/^seta? g_/ { print $2; }' defaultNexuiz.cfg | sort -u | tr -d '\r' | md5sum | cut -c 1-32`
+-countw=`awk '/^seta? g_/ { print $2; }' balance.cfg       | sort -u | tr -d '\r' | md5sum | cut -c 1-32`
++countd=`awk '/^seta? g_/ { print $2; }' defaultNexuiz.cfg | LC_ALL=C sort -u | tr -d '\r' | md5sum | cut -c 1-32`
++countw=`awk '/^seta? g_/ { print $2; }' balance.cfg       | LC_ALL=C sort -u | tr -d '\r' | md5sum | cut -c 1-32`
+ for b in $balance_cfgs; do
+-	countb=`awk '/^seta? g_/ { print $2; }' "$b"  | sort -u | tr -d '\r' | md5sum | cut -c 1-32`
++	countb=`awk '/^seta? g_/ { print $2; }' "$b"  | LC_ALL=C sort -u | tr -d '\r' | md5sum | cut -c 1-32`
+ 	if [ "$countw" != "$countb" ]; then
+ 		echo "Mismatch between balance.cfg and $b. Aborting."
+ 		exit 1
diff -uprN 1/debian/patches/series 2/debian/patches/series
--- 1/debian/patches/series	2011-06-29 15:33:05.000000000 +0200
+++ 2/debian/patches/series	2015-12-21 15:37:03.000000000 +0100
@@ -5,3 +5,4 @@
 05_disable_development_warning.diff
 exclude_textures_from_data.pk3.diff
 windowed_by_default.diff
+reproducible_build.diff
_______________________________________________
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