Build ID & reproducible build

Daniel Kahn Gillmor dkg at fifthhorseman.net
Sun Dec 2 11:48:47 GMT 2018


On Sun 2018-12-02 11:25:47 +0100, Domenico Andreoli wrote:

>   in working at making dwarves [0] build reproducible I stumbled upon
> the Build ID, which is just the root of tons of other diffs.
>
> diffoscope highlights:
>
> │ │ │ │  Displaying notes found in: .note.gnu.build-id
> │ │ │ │    Owner                 Data size      Description
> │ │ │ │    GNU                  0x00000014      NT_GNU_BUILD_ID (unique build ID bitstring)
> │ │ │ │ -    Build ID: 6f3f14da239d0b68ba179ee7a2f2570c4d970db0
> │ │ │ │ +    Build ID: c68caf4dba0ea46c05dddf9405bda4290c6ceaa6

The build ID is for associating debug files with their active binaries.
They are deterministically generated from the binaries themselves.

So while it may look like a "root cause", i think you've got the
causality reversed -- this is a symptom, and not a cause.  As long as
any variation exists in the binaries, the build ID will differ. Once the
binaries are concretely reproducible, the build ID will become
reproducible too.

i agree with you that this should be documented someplace.  i don't know
whether it already is written up someplace though (i haven't really
searched).

     --dkg



More information about the Reproducible-builds mailing list