What should be in a build info file?

50-minute session on day 3

Absolutely necessary “human intent”

Center of the poster

Going ahead, left half of the poster, from center to Too Specific-side

Too Specific “happenstance”

Poster 2

Purposes of build info

  1. document what pkg builder did
  2. reproduce build environment
  3. input to system to find minimum set req. for reproducibility
  4. fore debugging non-reproducibility
  5. forensics

Misc.

The Debian .buildinfo specification includes things across the spectrum. Build path and build architecture, for example, should not affect the outcome but is included.

Hashes of the source (and build options) of dependencies are seen as more desirable than hashes of the binaries of dependencies, although Debian will probably continue to use hashes of binaries.

It may be useful to put the fields that are required into the source package. E.g. “nethack requires build-path to be reproducible”

Purposes of buildinfo:

Must buildinfo be signed? Most people seem to think that we should recommend signing but not make it essential.

Output will also be an optional thing in the results specification. Debian currently supply output hashes of packages. This can’t be directly compared with another distribution’s output, but the hashes can be used to find a specific package binary which can then be extracted and the contents compared.