diff options
author | Timothy Sample <samplet@ngyro.com> | 2019-12-10 14:53:51 -0500 |
---|---|---|
committer | Janneke Nieuwenhuizen <janneke@gnu.org> | 2024-04-14 10:29:10 +0200 |
commit | 8fdc372841d000a5293f349e1df3d654e85012fa (patch) | |
tree | 2aa4e1050cfa5e77156e763d96ce5066002b5f05 | |
parent | b0c33b1997e4a02e048ceac445b156b3a1eed76d (diff) | |
download | guix-8fdc372841d000a5293f349e1df3d654e85012fa.tar.gz guix-8fdc372841d000a5293f349e1df3d654e85012fa.zip |
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
-rw-r--r-- | doc/local.mk | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/doc/local.mk b/doc/local.mk index 8df003b891..18bd599962 100644 --- a/doc/local.mk +++ b/doc/local.mk @@ -5,6 +5,7 @@ # Copyright © 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> # Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org> # Copyright © 2018, 2021 Julien Lepiller <julien@lepiller.eu> +# Copyright © 2019 Timothy Sample <samplet@ngyro.com> # # This file is part of GNU Guix. # @@ -247,3 +248,25 @@ $(srcdir)/%D%/guix-daemon.1: guix-daemon$(EXEEXT) 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 |