]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
mdate-sh: Ensure reproducible time output
authorReiner Herrmann <reiner@reiner-h.de>
Fri, 15 Sep 2017 09:43:53 +0000 (11:43 +0200)
committerMathieu Lirzin <mthl@gnu.org>
Fri, 15 Sep 2017 10:00:33 +0000 (12:00 +0200)
This change fixes automake bug#20314.

'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.

* lib/mdate-sh: Set 'TZ' to UTC which ensures reproducible output.
* NEWS: Announce bug fix.

Copyright-paperwork-exempt: yes

NEWS
lib/mdate-sh

diff --git a/NEWS b/NEWS
index e50a9556114e36542f138c21b00b33d98b3e4c98..c7a83a20c01b76b74262dae351c2c59fcc5e1a70 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -118,6 +118,9 @@ New in ?.?.?:
     build, the build sub-directory defined by AC_CONFIG_LIBOBJ_DIR is now
     properly created.  (automake bug#27781)
 
+  - The time printed by 'mdate-sh' is now using the UTC time zone to support
+    the reproducible build effort.  (automake bug#20314)
+
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 New in 1.15.1:
index f80075c049bdac959b335470b32546c0153d8ea6..b6a116f9275228d3e349b416568463d6c484f9a1 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Get modification time of a file or directory and pretty-print it.
 
-scriptversion=2016-01-11.22; # UTC
+scriptversion=2017-09-15.09; # UTC
 
 # Copyright (C) 1995-2017 Free Software Foundation, Inc.
 # written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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.