lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Using 'libfaketime' for reproducible builds


From: Jonas Hahnfeld
Subject: Re: Using 'libfaketime' for reproducible builds
Date: Mon, 28 Dec 2020 11:16:31 +0100
User-agent: Evolution 3.38.2

Am Montag, dem 28.12.2020 um 10:52 +0100 schrieb Han-Wen Nienhuys:
> On Mon, Dec 28, 2020 at 10:26 AM Jonas Hahnfeld <hahnjo@hahnjo.de>
> wrote:
> 
> > This probably leaves the UUIDs (is that the issue you mention
> > above?) which can be overridden using -sDocumentUUID and -
> > sInstanceUUID. Setting a constant time using libfaketime will
> > result in the same UUID for all generated PDFs, so it can't get
> > worse; but I think it would be desirable to do better than that and
> > compute a "unique" ID based on the input file, maybe as simple as
> > the hash of the file path. It must be considered that different
> > values will prevent reuse of the GS API instance, but I'd argue
> > that a constant value should be fine in this case.
> 
> the man for DocumentUUID says
> Note that Ghostscript has no assess to the host node ID due to a
> minimization of platform dependent modules. Therefore it uses an MD5
> hash of the document contents for generating UUIDs.
> I wonder if we'd get reproducible documents if we provide only
> InstanceUUID

I had a glance at the code and both pdf_make_document_uuid and
pdf_make_instance_uuid appear to call pdf_uuid_time which eventually
uses the timestamp supplied by gettimeofday. We should double check
once we generate reproducible PS code and set the other meta data.
If we need to overwrite it, it appears this can be done per device, so
no problem for reusing the same GS API instance.

Jonas

Attachment: signature.asc
Description: This is a digitally signed message part


reply via email to

[Prev in Thread] Current Thread [Next in Thread]