Introducing: Semantically reproducible builds
Bernhard M. Wiedemann
bernhardout at lsmod.de
Sun May 28 06:02:18 UTC 2023
I agree, that it is good to give it a name (I have called it
semi-reproducible before), but we should be clear on communicating the
disadvantages.
In openSUSE we have been working towards repeatable semantically
reproducible builds for over a decade [1] using our open-build-service
and a tool called build-compare to filter out "insignificant" diffs.
However, while working with the tool, I already found three (3) bugs in
build-compare that made it report packages with significant differences
as 'identical'.
And if you don't rely on such tools, you need expensive manual reviews
every time that cannot be automated and might also miss issues.
I have manually reviewed hundreds of package diffs in the past and it
took many hours, so I'm not eager to repeat that.
Another disadvantage of such binaries is that you don't have a single
correct SHAsum that can be signed, communicated and compared easily.
You always need the full binary to compare to your rebuild.
The cleaner way is to use strip-nondeterminism to remove all these
insignificant bits during build and make the resulting bit-reproducible
output the official binary.
Ciao
Bernhard M.
[1]
https://github.com/openSUSE/build-compare/commit/5cba04fb8def5d88423737a1a1957730e2217357
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 236 bytes
Desc: OpenPGP digital signature
URL: <http://lists.reproducible-builds.org/pipermail/rb-general/attachments/20230528/844ff9d8/attachment.sig>
More information about the rb-general
mailing list