[PATCH] Make output of mdate-sh deterministic

Reiner Herrmann <[email protected]>
Newsgroups gmane.linux.debian.alioth.reproducible-builds,gmane.comp.sysutils.automake.patches
Message-ID <[email protected]>
mdate-sh pretty-prints the modification time of a file.
But it's output can vary depending on the timezone of
the caller. Someone in timezone GMT-12 will get a different
result (day) than someone in timezone GMT+12.

As this output is also used to create/update stamp files,
which influence the further build process, the build result
can vary.
To enable reproducible builds and to have a more deterministic
build behavior, this change fixes the timezone to UTC.

Signed-off-by: Reiner Herrmann <[email protected]>
---
 lib/mdate-sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/mdate-sh b/lib/mdate-sh
index b793600..3e7d6ae 100755
--- a/lib/mdate-sh
+++ b/lib/mdate-sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Get modification time of a file or directory and pretty-print it.
 
-scriptversion=2010-08-21.06; # UTC
+scriptversion=2015-04-09.19; # UTC
 
 # Copyright (C) 1995-2015 Free Software Foundation, Inc.
 # written by Ulrich Drepper <drepper-uOfJb789lUI8qNwGfFDJ/[email protected]>, June 1995
@@ -74,6 +74,10 @@ export LC_ALL
 LC_TIME=C
 export LC_TIME
 
+# Use UTC to get reproducible result
+TZ=UTC
+export TZ
+
 # GNU ls changes its time format in response to the TIME_STYLE
 # variable.  Since we cannot assume 'unset' works, revert this
 # variable to its documented default.
-- 
2.1.4
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.