diff mbox series

[bug#70169,v3,09/13] maint: Use reproducible Git timestamp for POT-Creation-Date.

Message ID 59ce2f3e278e6629f21358bb66269d2baeeebf95.1712600307.git.janneke@gnu.org
State New
Headers show
Series Reproducible `make dist' tarball in defiance of Autotools and Gettext | expand

Commit Message

Janneke Nieuwenhuizen April 8, 2024, 6:46 p.m. UTC
* po/doc/local.mk (%D%/%.pot): Replace POT-Creation-Date using timestamp from
Git.
(%D%/guix-manual.pot): Likewise.

Change-Id: I1b7f8cc147084c1804deb7be9d36e5eeda2599cb
---
 po/doc/local.mk | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/po/doc/local.mk b/po/doc/local.mk
index dd6ba30133..77ec4721e3 100644
--- a/po/doc/local.mk
+++ b/po/doc/local.mk
@@ -1,6 +1,7 @@ 
 # GNU Guix --- Functional package management for GNU
 # Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
 # Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+# Copyright © 2024 Janneke Nieuwenhuizen <janneke@gnu.org>
 #
 # This file is part of GNU Guix.
 #
@@ -44,12 +45,19 @@  POT_OPTIONS = \
 	--msgid-bugs-address "bug-guix@gnu.org"
 
 %D%/%.pot: $(srcdir)/doc/%.texi
-	$(AM_V_PO4A)$(PO4A_UPDATEPO) -M UTF-8 -f texinfo -m "$<" \
-	   -p "$@" $(POT_OPTIONS) && \
-	touch $@
+	$(AM_V_PO4A)$(PO4A_UPDATEPO) -M UTF-8 -f texinfo -m "$<"	\
+	   -p "$@-t" $(POT_OPTIONS)
+	date="$$(git log --pretty=format:%ci -n 1 -- $< 2>/dev/null	\
+		|| echo $(SOURCE_DATE_EPOCH))"				\
+	sed -ri -e "s,^(.POT-Creation-Date: )[^\]*,\1$$date," "$@-t"
+	mv "$@-t" "$@"
 
 %D%/guix-manual.pot: %D%/guix.pot %D%/contributing.pot
-	msgcat $^ > $@
+	msgcat $^ > "$@-t"
+	date="$$(git log --pretty=format:%ci -n 1 -- $< 2>/dev/null	\
+		|| echo $(SOURCE_DATE_EPOCH))"				\
+	sed -ri "s,^(.POT-Creation-Date: )[^\]*,\1$$date," "$@-t"
+	mv "$@-t" "$@"
 
 doc-pot-update: %D%/guix-manual.pot %D%/guix-cookbook.pot
 .PHONY: doc-pot-update