[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#70169] [PATCH v2 09/12] maint: Remove %%CreationDate from generated
From: |
Ludovic Courtès |
Subject: |
[bug#70169] [PATCH v2 09/12] maint: Remove %%CreationDate from generated EPS files |
Date: |
Mon, 08 Apr 2024 11:41:11 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Janneke Nieuwenhuizen <janneke@gnu.org> skribis:
> * doc/local.mk (.dot.eps, png.eps): Remove %%CreationDate. Split single shell
> command into separate recipe lines, prefixed by $(AM_V_at).
>
> Change-Id: I5a03485c19c72f0c46411815c51290e52a8e5399
> ---
> doc/local.mk | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/doc/local.mk b/doc/local.mk
> index c355bec8d7..60e36091ce 100644
> --- a/doc/local.mk
> +++ b/doc/local.mk
> @@ -152,12 +152,16 @@ DOT_OPTIONS = \
> mv "$(srcdir)/$@.tmp" "$(srcdir)/$@"
>
> .dot.eps:
> - $(AM_V_DOT)$(DOT) -Teps $(DOT_OPTIONS) < "$<" > "$(srcdir)/$@.tmp"; \
> - mv "$(srcdir)/$@.tmp" "$(srcdir)/$@"
> + $(AM_V_DOT)$(DOT) -Teps $(DOT_OPTIONS) < "$<" > "$(srcdir)/$@.tmp"
> + $(AM_V_at)grep -v ^%%CreationDate: "$(srcdir)/$@.tmp" >
> "$(srcdir)/$@.tmp2"
> + $(AM_V_at)rm -f "$(srcdir)/$@.tmp"
> + $(AM_V_at)mv "$(srcdir)/$@.tmp2" "$@"
Apparently ‘dot’ (GraphViz) does not emit a ‘CreationDate’ header.
Should we drop this change and add a line like this above the ‘mv’ line:
@if grep -q CreationDate "$@.tmp"; then false; else true; fi
to be on the safe side?
> .png.eps:
> - $(AM_V_GEN)convert "$<" "$@-tmp.eps"; \
> - mv "$@-tmp.eps" "$@"
> + $(AM_V_GEN)convert "$<" "$@-tmp.eps"
> + $(AM_V_at)grep -v ^%%CreationDate: "$@-tmp.eps" > "$@-tmp2.eps"
> + $(AM_V_at)rm -f "$@-tmp.eps"
> + $(AM_V_at)mv "$@-tmp2.eps" "$@"
Looking into the code of ImageMagick, I see:
--8<---------------cut here---------------start------------->8---
timer=GetMagickTime();
(void) FormatMagickTime(timer,MaxTextExtent,date);
(void) FormatLocaleString(buffer,MaxTextExtent,
"%%%%CreationDate: %s\n",date);
--8<---------------cut here---------------end--------------->8---
where ‘GetMagickTime’ honors ‘SOURCE_DATE_EPOCH’. Should we set
‘SOURCE_DATE_EPOCH’ and avoid the ‘grep’ trick?
OTOH, an argument to keep this patch as-is is that it’ll resist to
changes in ImageMagick/GraphViz. So maybe the comments above aren’t
that relevant.
Ludo’.
- [bug#70169] [PATCH v2 04/12] maint: Help help2man generate reproducible man-pages., (continued)
- [bug#70169] [PATCH v2 06/12] maint: Generate 'doc/version-LANG.texi' reproducibly., Janneke Nieuwenhuizen, 2024/04/06
- [bug#70169] [PATCH v2 10/12] maint: Avoid PNG and PDF generation to fail silently., Janneke Nieuwenhuizen, 2024/04/06
- [bug#70169] [PATCH v2 03/12] maint: Generate 'doc/version.texi' reproducibly., Janneke Nieuwenhuizen, 2024/04/06
- [bug#70169] [PATCH v2 08/12] maint: Use reproducible Git timestamp for POT-Creation-Date., Janneke Nieuwenhuizen, 2024/04/06
- [bug#70169] [PATCH v2 05/12] maint: Generate AUTHORS and ChangeLog reproducibly., Janneke Nieuwenhuizen, 2024/04/06
- [bug#70169] [PATCH v2 07/12] maint: Use xgettext.scm wrapper to create .PO files reproducibly., Janneke Nieuwenhuizen, 2024/04/06
- [bug#70169] [PATCH v2 09/12] maint: Remove %%CreationDate from generated EPS files, Janneke Nieuwenhuizen, 2024/04/06
- [bug#70169] [PATCH v2 11/12] maint: Reset CreationDate metadata on generated PDFs., Janneke Nieuwenhuizen, 2024/04/06
- [bug#70169] [PATCH v2 12/12] maint: Ensure generated file reproducibility for dist., Janneke Nieuwenhuizen, 2024/04/06
- [bug#70169] [PATCH v2 13/12] doc: Use "dejavu sans" instead of "Helvetica" or "sans" in dot images., Janneke Nieuwenhuizen, 2024/04/07
- [bug#70169] [PATCH v3 00/13] Reproducible `make dist' tarball in defiance of Autotools and Gettext, Janneke Nieuwenhuizen, 2024/04/08