[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#49517] [PATCH] gnu: txr: Build documentation and update to 265.
From: |
Guillaume Le Vaillant |
Subject: |
[bug#49517] [PATCH] gnu: txr: Build documentation and update to 265. |
Date: |
Sun, 18 Jul 2021 10:36:36 +0000 |
Kaz Kylheku <kaz@kylheku.com> skribis:
> On 2021-07-17 15:51, Kaz Kylheku wrote:
>> On 2021-07-17 02:57, Guillaume Le Vaillant wrote:
>>> Hi,
>>> When testing the patch to build the HTML and PDF documentation,
>>> I noticed that the 'share/doc/txr-263/txr-manpage.pdf' file is not
>>> reproducible. There are some timestamps and UUIDs in it that change at
>>> each build (diffoscope output attached).
>>> Could you take a look at that and see if there's a way to make it
>>> reproducible?
>>> Thanks.
>> Hi Guillaume,
>> Thank you for your report. I don't see anything in the pdfroff
>> documentation
>> about getting rid of this. I might use a program similar to this one
>> to just overwrite the UUIDs and dates:
>
> I've noticed that there are some dates in the document which
> respond to SOURCE_DATE_EPOCH:
>
> 2 0 obj
> <</Producer(GPL Ghostscript 9.26)
> /CreationDate(D:20210717203740-07'00')
> /ModDate(D:20210717203740-07'00')
> /Creator(groff version 1.22.3)>>endobj
>
> If I build with the SOURCE_DATE_EPOCH environment variable,
> these dates from Ghostscript follow that variable.
> That's why Guillaume isn't seeing an issue in that section
> of the file.
Hi Kaz,
I tried your patch and it doesn't fix all the timestamps in the
environment used to build Guix packages:
- Timestamps have the "YYYY-MM-DDTHH:MM:SSZ" format instead of
"YYYY-MM-DDTHH:MM:SS+00:00"
- There are two "...Date(D:YYYYMMDDHHMMSSZ..." timestamps after the XML
block, although SOURCE_DATE_EPOCH is set to 1 in the environment
With the following modified 'pdf-clobber-stamps.tl' the document becomes
reproducible with Guix (but probably not in some other environments,
depending on the timezone format):
--8<---------------cut here---------------start------------->8---
(let* ((epoch (or (tointz (getenv "SOURCE_DATE_EPOCH")) 0))
(isotime (time-string-utc epoch "%FT%TZ"))
(pdf (file-get-string "txr-manpage.pdf"))
(start (search-str pdf "<?xpacket begin="))
(end (if start (search-str pdf "<?xpacket end" start)))
(xml (if end [pdf start..end]))
(orig-len (len xml)))
(unless xml
(format *stderr* "XML block not found in PDF")
(exit nil))
(upd xml
(regsub #/uuid:........-....-....-....-............/
"uuid:00000000-0000-0000-0000-000000000000")
(regsub #/Date>....-..-..T..:..:..Z/
`Date>@isotime`))
(assert (eql (len xml) orig-len))
(set [pdf start..end] xml)
(upd pdf
(regsub #/Date\(D:..............Z/
"Date(D:19700101000001Z"))
(file-put-string "txr-manpage.pdf.temp" pdf)
(rename-path "txr-manpage.pdf.temp" "txr-manpage.pdf"))
--8<---------------cut here---------------end--------------->8---
signature.asc
Description: PGP signature
- [bug#49517] [PATCH] gnu: txr: Build documentation and update to 265., Paul A. Patience, 2021/07/10
- [bug#49517] [PATCH] gnu: txr: Build documentation and update to 265., Paul A. Patience, 2021/07/11
- [bug#49517] [PATCH] gnu: txr: Build documentation and update to 265., Paul A. Patience, 2021/07/13
- [bug#49517] [PATCH] gnu: txr: Build documentation and update to 265., Guillaume Le Vaillant, 2021/07/17
- [bug#49517] [PATCH] gnu: txr: Build documentation and update to 265., Kaz Kylheku, 2021/07/18
- [bug#49517] [PATCH] gnu: txr: Build documentation and update to 265., Kaz Kylheku, 2021/07/18
- [bug#49517] [PATCH] gnu: txr: Build documentation and update to 265.,
Guillaume Le Vaillant <=
- [bug#49517] [PATCH] gnu: txr: Build documentation and update to 265., Paul A. Patience, 2021/07/18
- bug#49517: [PATCH] gnu: txr: Build documentation and update to 265., Guillaume Le Vaillant, 2021/07/20
- [bug#49517] [PATCH] gnu: txr: Build documentation and update to 265., Kaz Kylheku, 2021/07/18
- [bug#49517] [PATCH] gnu: txr: Build documentation and update to 265., Paul A. Patience, 2021/07/18
- [bug#49517] [PATCH] gnu: txr: Build documentation and update to 265., Guillaume Le Vaillant, 2021/07/19
- [bug#49517] [PATCH] gnu: txr: Build documentation and update to 265., Kaz Kylheku, 2021/07/19
- [bug#49517] [PATCH] gnu: txr: Build documentation and update to 265., Guillaume Le Vaillant, 2021/07/20
- [bug#49517] [PATCH] gnu: txr: Build documentation and update to 265., Kaz Kylheku, 2021/07/18