[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#70169] [PATCH v2 09/12] maint: Remove %%CreationDate from generated
From: |
Janneke Nieuwenhuizen |
Subject: |
[bug#70169] [PATCH v2 09/12] maint: Remove %%CreationDate from generated EPS files |
Date: |
Mon, 08 Apr 2024 19:12:24 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Ludovic Courtès writes:
> 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.
Ah, good catch.
> Should we drop this change and add a line like this above the ‘mv’ line:
Probably I just copied the grep to remove it without much looking or
thinking :)
> @if grep -q CreationDate "$@.tmp"; then false; else true; fi
>
> to be on the safe side?
Let's do that, I'm adding it as
$(AM_V_at)! grep -q %%CreationDate "$(srcdir)/$@.tmp"
in v3.
>> .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:
>
> timer=GetMagickTime();
> (void) FormatMagickTime(timer,MaxTextExtent,date);
> (void) FormatLocaleString(buffer,MaxTextExtent,
> "%%%%CreationDate: %s\n",date);
>
> where ‘GetMagickTime’ honors ‘SOURCE_DATE_EPOCH’. Should we set
> ‘SOURCE_DATE_EPOCH’ and avoid the ‘grep’ trick?
Good catch; and it already works.
> 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.
Well, I like what we have now better; it's a bit sharper/cleaner anyway.
Thanks!
Janneke
- [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