me
/
guix
Archived
1
0
Fork 0

maint: Generate 'doc/version.texi' reproducibly.

* doc/local.mk ($(srcdir)/doc/stamp-vti): New rule (overriding one provided
by Automake).

Co-authored-by: Janneke Nieuwenhuizen <janneke@gnu.org>

Change-Id: If44965e9a3ecfb45865c58ee7a558951be8d15ae
master
Timothy Sample 2019-12-10 14:53:51 -05:00 committed by Janneke Nieuwenhuizen
parent b0c33b1997
commit 8fdc372841
No known key found for this signature in database
GPG Key ID: F3C1A0D9C1D65273
1 changed files with 23 additions and 0 deletions

View File

@ -5,6 +5,7 @@
# Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> # Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org> # Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2018, 2021 Julien Lepiller <julien@lepiller.eu> # Copyright © 2018, 2021 Julien Lepiller <julien@lepiller.eu>
# Copyright © 2019 Timothy Sample <samplet@ngyro.com>
# #
# This file is part of GNU Guix. # This file is part of GNU Guix.
# #
@ -247,3 +248,25 @@ $(srcdir)/%D%/guix-daemon.1: guix-daemon$(EXEEXT)
endif endif
endif endif
# Reproducible tarball
# Generate 'version.texi' reproducibly using metadata from Git rather than
# using metadata from the filesystem. This is expected to generate warnings:
#
# Makefile:7376: warning: overriding recipe for target 'doc/stamp-vti'
# Makefile:5098: warning: ignoring old recipe for target 'doc/stamp-vti'
$(srcdir)/doc/stamp-vti: $(srcdir)/doc/guix.texi $(top_srcdir)/configure
$$(AM_V_GEN)set -e; \
export LANG=C LANGUAGE=C LC_ALL=C LC_TIME=C; \
export TZ=UTC0; \
timestamp=$$(git log --pretty=format:%ct -n1 -- $< 2>/dev/null \
|| echo $(SOURCE_DATE_EPOCH)) \
dmy=$$(date --date="@$$timestamp" "+%-d %B %Y"); \
my=$$(date --date="@$$timestamp" "+%B %Y"); \
{ echo "@set UPDATED $$dmy"; \
echo "@set UPDATED-MONTH $$my"; \
echo "@set EDITION $(VERSION)"; \
echo "@set VERSION $(VERSION)"; } > $@-t; \
mv $@-t $@; \
cp $@ $(srcdir)/doc/version.texi