|Anonymous | Login | Signup for a new account||2017-09-21 16:01 UTC|
|My View | View Issues | Change Log | Roadmap | Doomseeker Issue Support Ranking | Rules | My Account|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003255||Doomseeker||[All Projects] Suggestion||public||2017-09-07 21:21||2017-09-20 22:12|
|Target Version||Fixed in Version|
|Summary||0003255: Support reproducible, deterministic builds|
|Description||This is a parent report for all reports concerning reproducibility.|
|Steps To Reproduce||On the high level:|
|Build path tested so far, bug 0003256. I've not yet tested other changes in environment.|
|Build ID differs as a result of other issues.|
|I gather that to solve this it will be sufficient to put a description in COMPILE.txt explaining how to achieve deterministic build?|
To solve this, I think one should first test many (all) of the possible variations and find what changes in the build. Fix or define whatever comes up differently.
Then the build should be as close to deterministic by default, or defined how to reproduce.
|0003266 is possibly related.|
I identified some problems that prevented reproducible builds and described how to overcome them:
When followed, sha256sum for all binaries is produced the same regardless of build time, build path and locale.
Building in Docker still produces different results than building in Ubuntu 16.04, though I would assume that this is caused by different Qt version (5.2.1 vs 5.5.1).
edited on: 2017-09-20 22:12
QT_HASH_SEED may not need to be touched? The behavior of binary doesn't need to be deterministic; only the build system needs to produce bit-to-bit identical binaries, and the build environment should be recorded or pre-defined. Else I think (at least) Debian GNU/Linux already does all that deterministically, since I had no issue reproducing without touching QT_HASH_SEED.
Documenting RPATH skipping addresses 0003256 mostly, until a way is found to address 0003239.
SHA256 hashing is a good way of verifying the output matches. Of course different Qt versions will have an effect, so somewhere on the doomseeker.drdteam.org website the Qt versions (build environment) should be defined later.
|Only registered users can voice their support. Click here to register, or here to log in.|
|Supporters:||No one explicitly supports this issue yet.|
|Opponents:||No one explicitly opposes this issue yet.|
|2017-09-07 21:21||WubTheCaptain||New Issue|
|2017-09-07 21:59||WubTheCaptain||Note Added: 0018240|
|2017-09-07 22:07||AOSP||Note Added: 0018242|
|2017-09-08 01:53||Blzut3||Relationship added||parent of 0003256|
|2017-09-08 01:53||Blzut3||Note Deleted: 0018242|
|2017-09-08 02:01||WubTheCaptain||Note Added: 0018246|
|2017-09-11 16:58||Zalewa||Relationship added||child of 0003246|
|2017-09-18 07:38||Zalewa||Note Added: 0018309|
|2017-09-18 19:40||WubTheCaptain||Note Added: 0018328|
|2017-09-19 09:29||WubTheCaptain||Note Added: 0018342|
|2017-09-20 20:54||Zalewa||Note Added: 0018352|
|2017-09-20 21:57||WubTheCaptain||Note Added: 0018354|
|2017-09-20 22:02||WubTheCaptain||Note Edited: 0018354||View Revisions|
|2017-09-20 22:12||WubTheCaptain||Note Edited: 0018354||View Revisions|
Questions or other issues? Contact Us.
|Copyright © 2000 - 2017 MantisBT Team|