After converting gitian descriptors to rbm in #17380 (moved), we should fix any issue that makes the build non-deterministic. This will probably involve adding libfaketime in some parts.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Child items
0
Show closed items
No child items are currently assigned. Use child items to break down this issue into smaller parts.
Linked items
0
Link issues together to show that they're related.
Learn more.
To check the status of reproducibility, I did a build using commit bfc288d54a28f00e088ba9ce08bd718156d8ff2f on two machines, and legind did one too.
The OSX bundles matched in all 3 builds. The Windows bundles didn't match because of a small diff in tor.exe (similar to the one above). The linux32 bundles matched in all 3 builds, but the linux64 ones only matched in 2 of the builds, with a diff in libxul.so. I did not yet investigate the reason for the diff in one of the linux64 builds.
I tried, but it did not fix the problem. Maybe I did not do it correctly, so I will try again to make sure.
I probably made an error when I tried to use libfaketime the previous time. After adding libfaketime (in commit 8cc61d29d348e154f43474b47a0b0746301602a9) and setting timestamp on files (commit 2a15e10d49e437dd3637136692a86a9473c78e6d) the Windows builds are now reproductible.
Okay some preliminary results with commit cd08d1ab0fb638daed52ee5e7452dd78b07591c6. I just looked at the linux* ar files and compared them with the alphas found on http://f4amtbsowhix7rrf.onion/tor-browser-builds/2017-04-10/. The omni.ja files differ it seems (and that is the only difference for the ar bundles). More exactly some of the binary JS modules differ. I attached a binary diff for FeedConverter.js.
Trac: Summary: Getting rbm-based Tor Browser builds reproductible for all platforms to Getting rbm-based Tor Browser builds reproducible for all platforms
After building on 2 machines, with the patch to disable startup cache generation (for #21960 (moved)), I get matching bundles for linux and windows.
The OSX one is not matching with one file difference: TorBrowser.app/Contents/Resources/TorBrowser/Tor/PluggableTransports/template-profile.meek-http-helper/meek-template-sha256sum.txt. I'm wondering if it could be some race condition as we are adding this file in the directory from which we compute the sha256sum.