[Dev-luatex] Reproducible builds using luatex

luigi scarso luigi.scarso at gmail.com
Fri May 6 11:43:06 CEST 2016

On Thu, May 5, 2016 at 3:06 PM, Norbert Preining <preining at logic.at> wrote:

> On Thu, 05 May 2016, luigi scarso wrote:
> > what happen if Windows decide to reserve  SOURCE_DATE_EPOCH for their own
> > use ?
> Well, sure, but that can happen with each and everything.
> sure, and  the side effects is something that we  want to avoid.

> > Is  SOURCE_DATE_EPOCH standard ?
> Well, at least several distributions and projects are working on
> similar stuff, see
> https://reproducible-builds.org/
> and
> https://reproducible-builds.org/specs/source-date-epoch/
> Of course, windows is not one of them.
Weren't   texmf.cnf & kpathsea created also to solve  these kind of
problems ?

On the other side, if you really want a reproducible doc from source
you have to use Knuth's tex & dvi & mf & your own format and mf fonts and
the convert to pdf in a predictable way.
If you want a pdf directly  from sources, better to  provide *tex sources &
pdf and say that the *tex sources are the reference
or the pdf is the reference (which is the best solution, if the pdf is
pdf/a-2)  but not both.

If you want to reproduce pdf from the source with luatex, you must use a
very carefully crafted format
and the builders and "reproducers"  must agree at least on the same engine,
format &  fonts
as also on the meaning of  "=" for pdfs -- and then cross the fingers.
Nobody can exclude that a library (say poppler) will use a hash table for
(some of) the pdf objs of the backend,
and even if you "control" the libs of Luatex nobody can prevent to use
Luatex with a shared lib API compatible,
and even if you make a static Luatex only  nobody can prevent to use a
format that uses Lua (hash)  table for the pdf objs...
all these can lead to two pdf that are  "visually" the same but different
as binaries.
And comparing the visual appearance of two pdf is not simple, unless you
don't fix a dpi --- which means A=B at, say, 300 dpi, but perhaps A!=B at

Of course you can solve these problem if the builder freezes the set of
engine & format & fonts etc used and reproducers  use exactly the same set,
even after 20years the first official build.

This is a really interesting subject, but the time is only a component, and
  as I have said, we are discussing of it.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ntg.nl/pipermail/dev-luatex/attachments/20160506/0a1110f1/attachment.html>

More information about the dev-luatex mailing list