On 2022-12-31 16:21, Simon Josefsson via Gnulib discussion list wrote:
I wonder how timezone-safe this is -- maybe some other test will now
fail for someone in the US before it actually becomes midnight there?

Let's standardize on UTC for this sort of thing. This isn't perfect (e.g., clock skew, or leap seconds!) but it should be good enough for us. I installed the attached.
From 875461ffdf58ac04677957b4ae4160465b83b940 Mon Sep 17 00:00:00 2001
From: Paul Eggert <egg...@cs.ucla.edu>
Date: Sat, 31 Dec 2022 18:40:56 -0800
Subject: [PATCH] maint: use UTC when updating copyright date

Problem reported by Simon Joseffson in:
https://lists.gnu.org/r/bug-gnulib/2022-12/msg00125.html
* Makefile (COPYRIGHT_TZ): New macro.
(update-copyright): Use it.
---
 ChangeLog | 8 ++++++++
 Makefile  | 7 +++++++
 2 files changed, 15 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index ef7f457143..8ef7d0c26a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2022-12-31  Paul Eggert  <egg...@cs.ucla.edu>
+
+	maint: use UTC when updating copyright date
+	Problem reported by Simon Joseffson in:
+	https://lists.gnu.org/r/bug-gnulib/2022-12/msg00125.html
+	* Makefile (COPYRIGHT_TZ): New macro.
+	(update-copyright): Use it.
+
 2022-12-28  Paul Eggert  <egg...@cs.ucla.edu>
 
 	assert-h: port static_assert to strict C99
diff --git a/Makefile b/Makefile
index 656034d134..4429571218 100644
--- a/Makefile
+++ b/Makefile
@@ -159,6 +159,9 @@ MODULES.html: MODULES.html.sh
 # A perl BEGIN block to set Y to the current year number and W to Y-1.
 _year_and_prev = BEGIN{@t=localtime(time); $$y=$$t[5]+1900; $$w=$$y-1}
 
+# Which TZ setting to use when updating copyright.
+COPYRIGHT_TZ = UTC0
+
 # Run this rule once per year (usually early in January)
 # to update all FSF copyright year lists here.
 # We exclude the files listed in srclist.txt (maintained elsewhere)
@@ -170,6 +173,7 @@ _year_and_prev = BEGIN{@t=localtime(time); $$y=$$t[5]+1900; $$w=$$y-1}
 # (the current) year number in some places.
 # Also adjust version-etc.c and and gendocs.sh.
 update-copyright:
+	export TZ='$(COPYRIGHT_TZ)';					\
 	exempt=$$(mktemp);						\
 	grep -v '^#' config/srclist.txt|grep -v '^$$'			\
 	  | while read top src dst options; do				\
@@ -187,10 +191,13 @@ update-copyright:
 	  | UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79				\
 	    UPDATE_COPYRIGHT_USE_INTERVALS=1				\
 	      xargs build-aux/update-copyright
+	export TZ='$(COPYRIGHT_TZ)';					\
 	perl -pi -e '$(_year_and_prev) s/(copyright.*)\b$$w\b/$$1$$y/i'	\
 	  lib/version-etc.c doc/gnulib.texi build-aux/gendocs.sh
+	export TZ='$(COPYRIGHT_TZ)';					\
 	perl -pi -e '$(_year_and_prev) s/ $$w-$$y / $$y /g'		\
 	  doc/gendocs_template* build-aux/gendocs.sh
+	export TZ='$(COPYRIGHT_TZ)';					\
 	perl -pi -e							\
           '$(_year_and_prev) s/^(scriptversion=)$$w.*/$$1$$y-01-01.00/i' \
 	  build-aux/gendocs.sh
-- 
2.37.2

Reply via email to