all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Janneke Nieuwenhuizen <janneke@gnu.org>
To: 70169@debbugs.gnu.org
Cc: Timothy Sample <samplet@ngyro.com>
Subject: [bug#70169] [PATCH v3 04/13] maint: Generate 'doc/version.texi' reproducibly.
Date: Mon,  8 Apr 2024 18:46:47 +0000	[thread overview]
Message-ID: <598ea1a4860dd21a0b6a5bfad1d80cc9f6591a92.1712600307.git.janneke@gnu.org> (raw)
In-Reply-To: <cover.1712600307.git.janneke@gnu.org>

From: Timothy Sample <samplet@ngyro.com>

* 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
---
 doc/local.mk | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/doc/local.mk b/doc/local.mk
index 8df003b891..5f014b9c3d 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,22 @@ $(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.
+$(srcdir)/doc/stamp-vti: $(srcdir)/doc/guix.texi $(top_srcdir)/configure
+	$(AM_V_GEN)set -e						\
+	export LC_ALL=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
-- 
2.41.0





  parent reply	other threads:[~2024-04-08 18:48 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-03 19:08 [bug#70169] [PATCH 0/7] Reproducible `make dist' tarball in defiance of Autotools and Gettext Janneke Nieuwenhuizen
2024-04-03 19:11 ` [bug#70169] [PATCH 1/7] maint: Cater for running `make dist' from a worktree Janneke Nieuwenhuizen
2024-04-03 19:11 ` [bug#70169] [PATCH 2/7] maint: Use reproducible timestamps and name for tarball Janneke Nieuwenhuizen
2024-04-03 20:45   ` Ludovic Courtès
2024-04-03 20:49     ` Janneke Nieuwenhuizen
2024-04-03 19:11 ` [bug#70169] [PATCH 3/7] maint: Generate 'doc/version.texi' reproducibly Janneke Nieuwenhuizen
2024-04-03 19:11 ` [bug#70169] [PATCH 4/7] maint: Help help2man generate reproducible man-pages Janneke Nieuwenhuizen
2024-04-03 19:11 ` [bug#70169] [PATCH 5/7] maint: Generate 'doc/version-LANG.texi' reproducibly Janneke Nieuwenhuizen
2024-04-03 20:25   ` Ludovic Courtès
2024-04-03 20:33     ` Janneke Nieuwenhuizen
2024-04-08  9:26       ` Ludovic Courtès
2024-04-03 20:39   ` Ludovic Courtès
2024-04-03 20:43     ` Janneke Nieuwenhuizen
2024-04-03 19:11 ` [bug#70169] [PATCH 6/7] maint: Use reproducible Git timestamp for POT-Creation-Date Janneke Nieuwenhuizen
2024-04-03 20:26   ` Ludovic Courtès
2024-04-03 20:36     ` Janneke Nieuwenhuizen
2024-04-04  5:12     ` Janneke Nieuwenhuizen
2024-04-03 19:11 ` [bug#70169] [PATCH 7/7] maint: Ensure generated file reproducibility for dist Janneke Nieuwenhuizen
2024-04-03 20:57 ` [bug#70169] [PATCH 0/7] Reproducible `make dist' tarball in defiance of Autotools and Gettext Ludovic Courtès
2024-04-03 21:04   ` Janneke Nieuwenhuizen
2024-04-03 21:28     ` Ludovic Courtès
2024-04-06 21:16       ` Janneke Nieuwenhuizen
2024-04-06 21:17 ` [bug#70169] [PATCH v2 00/12] " Janneke Nieuwenhuizen
2024-04-06 21:17   ` [bug#70169] [PATCH v2 01/12] maint: Cater for running `make dist' from a worktree Janneke Nieuwenhuizen
2024-04-06 21:17   ` [bug#70169] [PATCH v2 02/12] maint: Use reproducible timestamps and name for tarball Janneke Nieuwenhuizen
2024-04-06 21:17   ` [bug#70169] [PATCH v2 03/12] maint: Generate 'doc/version.texi' reproducibly Janneke Nieuwenhuizen
2024-04-06 21:17   ` [bug#70169] [PATCH v2 04/12] maint: Help help2man generate reproducible man-pages Janneke Nieuwenhuizen
2024-04-07 13:54     ` pelzflorian (Florian Pelz)
2024-04-07 14:06       ` Janneke Nieuwenhuizen
2024-04-07 15:20         ` pelzflorian (Florian Pelz)
2024-04-08  9:23       ` Ludovic Courtès
2024-04-08  9:40         ` Janneke Nieuwenhuizen
2024-04-06 21:17   ` [bug#70169] [PATCH v2 05/12] maint: Generate AUTHORS and ChangeLog reproducibly Janneke Nieuwenhuizen
2024-04-06 21:17   ` [bug#70169] [PATCH v2 06/12] maint: Generate 'doc/version-LANG.texi' reproducibly Janneke Nieuwenhuizen
2024-04-06 21:17   ` [bug#70169] [PATCH v2 07/12] maint: Use xgettext.scm wrapper to create .PO files reproducibly Janneke Nieuwenhuizen
2024-04-06 21:18   ` [bug#70169] [PATCH v2 08/12] maint: Use reproducible Git timestamp for POT-Creation-Date Janneke Nieuwenhuizen
2024-04-06 21:18   ` [bug#70169] [PATCH v2 09/12] maint: Remove %%CreationDate from generated EPS files Janneke Nieuwenhuizen
2024-04-08  9:41     ` Ludovic Courtès
2024-04-08 17:12       ` Janneke Nieuwenhuizen
2024-04-06 21:18   ` [bug#70169] [PATCH v2 10/12] maint: Avoid PNG and PDF generation to fail silently Janneke Nieuwenhuizen
2024-04-06 21:18   ` [bug#70169] [PATCH v2 11/12] maint: Reset CreationDate metadata on generated PDFs Janneke Nieuwenhuizen
2024-04-07 17:16     ` pelzflorian (Florian Pelz)
2024-04-07 17:38       ` Janneke Nieuwenhuizen
2024-04-07 18:09         ` Janneke Nieuwenhuizen
2024-04-06 21:18   ` [bug#70169] [PATCH v2 12/12] maint: Ensure generated file reproducibility for dist Janneke Nieuwenhuizen
2024-04-07  8:57   ` [bug#70169] [PATCH v2 13/12] doc: Use "dejavu sans" instead of "Helvetica" or "sans" in dot images Janneke Nieuwenhuizen
2024-04-08 12:15     ` Ludovic Courtès
2024-04-08 17:26       ` Janneke Nieuwenhuizen
2024-04-08 18:46 ` [bug#70169] [PATCH v3 00/13] Reproducible `make dist' tarball in defiance of Autotools and Gettext Janneke Nieuwenhuizen
2024-04-08 18:46   ` [bug#70169] [PATCH v3 01/13] doc: Use "dejavu sans" instead of "Helvetica" or "sans" in dot images Janneke Nieuwenhuizen
2024-04-08 18:46   ` [bug#70169] [PATCH v3 02/13] maint: Cater for running `make dist' from a worktree Janneke Nieuwenhuizen
2024-04-08 18:46   ` [bug#70169] [PATCH v3 03/13] maint: Use reproducible timestamps and name for tarball Janneke Nieuwenhuizen
2024-04-08 18:46   ` Janneke Nieuwenhuizen [this message]
2024-04-08 18:46   ` [bug#70169] [PATCH v3 05/13] maint: Help help2man generate reproducible man-pages Janneke Nieuwenhuizen
2024-04-08 18:46   ` [bug#70169] [PATCH v3 06/13] maint: Generate AUTHORS and ChangeLog reproducibly Janneke Nieuwenhuizen
2024-04-08 18:46   ` [bug#70169] [PATCH v3 07/13] maint: Generate 'doc/version-LANG.texi' reproducibly Janneke Nieuwenhuizen
2024-04-08 18:46   ` [bug#70169] [PATCH v3 08/13] maint: Use xgettext.scm wrapper to create .PO files reproducibly Janneke Nieuwenhuizen
2024-04-08 18:46   ` [bug#70169] [PATCH v3 09/13] maint: Use reproducible Git timestamp for POT-Creation-Date Janneke Nieuwenhuizen
2024-04-08 18:46   ` [bug#70169] [PATCH v3 10/13] maint: Avoid EPS generation to fail silently, ensure reproducibility Janneke Nieuwenhuizen
2024-04-08 18:46   ` [bug#70169] [PATCH v3 11/13] maint: Avoid PNG and PDF generation to fail silently Janneke Nieuwenhuizen
2024-04-08 18:46   ` [bug#70169] [PATCH v3 12/13] maint: Reset CreationDate metadata on generated PDFs Janneke Nieuwenhuizen
2024-04-08 18:46   ` [bug#70169] [PATCH v3 13/13] maint: Ensure generated file reproducibility for dist Janneke Nieuwenhuizen
2024-04-10 16:35     ` pelzflorian (Florian Pelz)
2024-04-10 17:25       ` Janneke Nieuwenhuizen
2024-04-11 11:32         ` pelzflorian (Florian Pelz)
2024-04-14  9:24           ` bug#70169: " Janneke Nieuwenhuizen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=598ea1a4860dd21a0b6a5bfad1d80cc9f6591a92.1712600307.git.janneke@gnu.org \
    --to=janneke@gnu.org \
    --cc=70169@debbugs.gnu.org \
    --cc=samplet@ngyro.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.