Rebuildling software years later

Ludovic Courtès ludo at gnu.org
Sun Mar 17 15:49:08 UTC 2024


Hello,

"Chris Lamb" <chris at reproducible-builds.org> skribis:

> "Reproducibility of Build Environments through Space and Time" [11] by
> Julien Malka, Stefano Zacchiroli and Théo Zimmermann (Institut
> Polytechnique de Paris, France [12]) addresses:
>
>> [The] principle of reusability […] makes it harder to reproduce
>> projects’ build environments, even though reproducibility of build
>> environments is essential for collaboration, maintenance and
>> component lifetime. In this work, we argue that functional package
>> managers provide the tooling to make build environments reproducible
>> in space and time, and we produce a preliminary evaluation to
>> justify this claim.
>
> The abstract continues with the claim that "Using historical data, we
> show that we are able to reproduce build environments of about 7
> million Nix [13] packages, and to rebuild 99.94% of the 14 thousand
> packages from a 6-year-old Nixpkgs revision. (arXiv [14], full PDF
> [15])
>
>  [11] https://arxiv.org/abs/2402.00424

Nice!  I and others in the Guix community have been looking at
rebuilding packages from source 5 years later using ‘guix time-machine’
(my understanding is that the paper above is about re-downloading
pre-built binaries, as per Section 3.2):

  https://guix.gnu.org/en/blog/2024/adventures-on-the-quest-for-long-term-reproducible-deployment/

This proves to be tricky, in particular due to “time traps”—builds or
tests that start failing after a certain date.

I know reprotest and related efforts have been looking at catching time
traps before they bite by checking the impact of time changes on build
results.  I guess we should do more of that!

Ludo’.


More information about the rb-general mailing list