lilypond-devel
[Top][All Lists]
Advanced

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

Using 'libfaketime' for reproducible builds


From: Werner LEMBERG
Subject: Using 'libfaketime' for reproducible builds
Date: Sun, 27 Dec 2020 18:02:55 +0100 (CET)

Before investing more time into it I wonder whether the use of
'libfaketime' would be a valid solution for creating reproducible
builds.  According to 'pkgs.org' it is available for most GNU/Linux
distributions; it is also part of both MacPorts and Homebrew.

  https://github.com/wolfcw/libfaketime

The idea is to do the following:

  export LD_PRELOAD=/usr/local/lib/libfaketime.so.1
  export FAKETIME="2020-12-24 00:00:00"

  make all
  make doc

This freezes the current time at a given value.  On my GNU/Linux
machine, this works out of the box: Together with MR !563, all PDFs
are indentical for different builds, except for `/ID` values found in
some (but not all) PDF files.  Ghostscript apparently inserts random
values, which are not based on MD5 sums or the like.  Documentation
files like 'notation.pdf', however, are completely identical.

On the other hand, there is still some randomness in the lilypond
build infrastructure (especially with the XML test suite and
`essay.pdf`) that I have to investigate further.


    Werner



reply via email to

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