From: PatR Date: Fri, 1 Apr 2016 01:09:59 +0000 (-0700) Subject: REPRODUCIBLE_BUILD, part 2 X-Git-Tag: NetHack-3.6.1_RC01~849 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ca979cbc2b435f5a68b5c3a3c0379307a494ec87;p=nethack REPRODUCIBLE_BUILD, part 2 Other half of the Debian reproducible-builds patch. For Unix Makefile.top, explicitly set locale to generic 'C' when running 'dlb' during install, so that wildcard expansion will yield a predictable ordering regardless of collation order specified by the local enviroenment. Otherwise contents of the 'nhdat' container might be different--when viewed as a single data file itself--during subsequent rebuild even when no changes to source or data have been made and each module inside remains the same. This assumes that locale doesn't matter during generation of any of the data files (whether destined for dlb or not). I don't think the utility programs attempt any sorting on the fly or other locale-dependent output but wouldn't swear to that.... --- diff --git a/sys/unix/Makefile.top b/sys/unix/Makefile.top index 1f66325ab..88907a786 100644 --- a/sys/unix/Makefile.top +++ b/sys/unix/Makefile.top @@ -186,7 +186,7 @@ check-dlb: options dlb: ( cd util ; $(MAKE) dlb ) - ( cd dat ; ../util/dlb cf nhdat $(DATDLB) ) + ( cd dat ; LC_ALL=C ; ../util/dlb cf nhdat $(DATDLB) ) # recover can be used when INSURANCE is defined in include/config.h # and the checkpoint option is true