Commits (4)
......@@ -4,6 +4,7 @@
- buy-in
- plans
- test-bench
- publications
- title: Achieve deterministic builds
docs:
- source-date-epoch
......
---
title: Academic publications
layout: docs
permalink: /docs/publications/
---
* *in-toto: Providing farm-to-table guarantees for bits and bytes* (2019) — Santiago Torres-Arias, New York University; Hammad Afzali, New Jersey Institute of Technology; Trishank Karthik Kuppusamy, Datadog; Reza Curtmola, New Jersey Institute of Technology; Justin Cappos, New York University. ([PDF](https://www.usenix.org/system/files/sec19-torres-arias.pdf))
* *Reproducible and User-Controlled Software Environments in HPC with Guix* (2015) — Ludovic Courtès, Ricardo Wurmus [[...](https://hal.inria.fr/hal-01161771/en)]
* *Functional Package Management with Guix* (2013) — Ludovic Courtès. [[...](https://hal.inria.fr/hal-00824004/en])]
---
title: Test bench
layout: docs
permalink: /docs/test-bench/
---
It is important to detect reproducibility problems in the build system
before the users do, to avoid any false alarms.
The method is usually as follows:
1. Build a first time.
2. Save the result.
3. Perform as many changes to the environment as possible.
4. Build a second time.
5. Compare the results.
[diffoscope](https://diffoscope.org/) is a tool that has been initially
designed to help understand issues when comparing build results.
Here is a list of interesting variations that have been identified so
far:
* date and time,
* build path,
* hostname,
* domain name,
* filesystem,
* environment variables,
* timezone,
* language,
* locale,
* user name,
* user id,
* group name,
* group id,
* kernel version,
* umask,
* CPU type,
* number of CPU cores.
[disorderfs](https://packages.debian.org/sid/disorderfs) can help in
testing variations due to filesystems in a deterministic manner.
The list of [variations tested for
Debian](https://tests.reproducible-builds.org/debian/index_variations.html) is
available as an actual example.
{% comment %}
XXX: We should probably mention reproducible.debian.net, add contact info and mention ProfitBricks.
{% endcomment %}
......@@ -54,6 +54,9 @@ layout: default
<li>
<a href="/specs/source-date-epoch/"><tt>SOURCE_DATE_EPOCH</tt></a>
</li>
<li>
<a href="/specs/build-path-prefix-map/"><tt>BUILD_PATH_PREFIX_MAP</tt> (WIP)</a>
</li>
</ul>
</div>
</div>