From ca979cbc2b435f5a68b5c3a3c0379307a494ec87 Mon Sep 17 00:00:00 2001 From: PatR Date: Thu, 31 Mar 2016 18:09:59 -0700 Subject: [PATCH] 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.... --- sys/unix/Makefile.top | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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