mbox series

[bug#70169,v3,00/13] Reproducible `make dist' tarball in defiance of Autotools and Gettext

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

Message

Janneke Nieuwenhuizen April 8, 2024, 6:46 p.m. UTC
V3 brings

  * Use `1' as fallback for SOURCE_DATE_EPOCH,
  * Do not remove %%CreationDate when creating EPS files.  Imagemagick's
    convert respects SOURCE_DATE_EPOCH (as long as it's not set to `0'!), and
  * Graphviz' dot does currently not insert it; add a check for that,
  * Update advice when Autotools's version is out of date to say
    ./bootstrap && ./configure ..., and
  * Use "dejavu sans" in DOT sources (already sent as v2 13/12).

I have reset wip-tarball and uploaded
<https://lilypond.org/janneke/guix/guix-1.3.0.57741-0e3053.tar.gz>.

--8<---------------cut here---------------start------------->8---
guix hash guix-1.3.0.57741-0e3053.tar.gz
1d6s9m2pcpcnq1hkxzkqklrlnqcqfib4gypylpr85nqmbn3clrq5
--8<---------------cut here---------------end--------------->8---

Note that you'll need an environment with something like:

--8<---------------cut here---------------start------------->8---
guix shell -CP -m manifest.scm fontconfig graphviz imagemagick texlive-bin
--8<---------------cut here---------------end--------------->8---

on my machine, it now also reproduces outside a container, in:

--8<---------------cut here---------------start------------->8---
guix shell -m manifest.scm fontconfig graphviz imagemagick texlive-bin
--8<---------------cut here---------------end--------------->8---

Greetings,
Janneke

Janneke Nieuwenhuizen (12):
  doc: Use "dejavu sans" instead of "Helvetica" or "sans" in dot images.
  maint: Cater for running `make dist' from a worktree.
  maint: Use reproducible timestamps and name for tarball.
  maint: Help help2man generate reproducible man-pages.
  maint: Generate AUTHORS and ChangeLog reproducibly.
  maint: Generate 'doc/version-LANG.texi' reproducibly.
  maint: Use xgettext.scm wrapper to create .PO files reproducibly.
  maint: Use reproducible Git timestamp for POT-Creation-Date.
  maint: Avoid EPS generation to fail silently, ensure reproducibility.
  maint: Avoid PNG and PDF generation to fail silently.
  maint: Reset CreationDate metadata on generated PDFs.
  maint: Ensure generated file reproducibility for dist.

Timothy Sample (1):
  maint: Generate 'doc/version.texi' reproducibly.

 Makefile.am                            | 50 +++++++++++++--
 build-aux/xgettext.scm                 | 87 +++++++++++++++++++++++++
 doc/guix.texi                          |  7 +-
 doc/images/bootstrap-graph.dot         | 52 +++++++--------
 doc/images/bootstrap-packages.dot      | 32 ++++-----
 doc/images/coreutils-bag-graph.dot     | 56 ++++++++--------
 doc/images/coreutils-graph.dot         | 18 +++---
 doc/images/gcc-core-mesboot0-graph.dot | 28 ++++----
 doc/images/service-graph.dot           | 16 ++---
 doc/images/shepherd-graph.dot          | 54 ++++++++--------
 doc/local.mk                           | 89 +++++++++++++++++++++++---
 po/doc/local.mk                        | 16 +++--
 po/guix/Makevars                       |  7 +-
 po/packages/Makevars                   | 10 ++-
 14 files changed, 372 insertions(+), 150 deletions(-)
 create mode 100755 build-aux/xgettext.scm


base-commit: 21fad13fffa3b90fdd004c6c5514ae5dfec17492