gitian: Make windows dependencies outputs fully deterministic #3625

pull laanwj wants to merge 3 commits into bitcoin:master from laanwj:2014_02_gitian_windows_deps_fix changing 5 files +70 −31
  1. laanwj commented at 8:27 PM on February 4, 2014: member

    Sort .zip order, and other small determinism changes to make sure builds are repeatable for windows deps. These changes are just to get the intermediate outputs deterministic. There should be no resulting changes to the end product so the version numbers were not bumped.

    Boost windows:

    60dc2d3b61e9c7d5dbe2f90d5955772ad748a47918ff2d8b74e8db9b1b91c909  boost-win32-1.55.0-gitian-r6.zip
    f65fcaf346bc7b73bc8db3a8614f4f6bee2f61fcbe495e9881133a7c2612a167  boost-win64-1.55.0-gitian-r6.zip
    

    Deps windows:

    0ba0855e1084132d05fd8687c19d8430b91f6c410a9ab7938e4fea650c2b22c8  bitcoin-deps-win32-gitian-r10.zip
    5f9ffba0c13ddefc1d339f66ab973ea64623c9cc1f9078cb2b145bce86bd28e2  bitcoin-deps-win64-gitian-r10.zip
    

    Protobuf windows:

    0fd5750d740ec0086b7af65375d55904c5b7aad048271c4b6ad3569ea46fc4d7  protobuf-win32-2.5.0-gitian-r4.zip
    16d7857d06265c409f1770b4d86b8c8ebc325b3760987490039faa9284b7ae2e  protobuf-win64-2.5.0-gitian-r4.zip
    

    Qt windows:

    963e3e5e85879010a91143c90a711a5d1d5aba992e38672cdf7b54e42c56b2f1  qt-win32-5.2.0-gitian-r2.zip
    751c579830d173ef3e6f194e83d18b92ebef6df03289db13ab77a52b6bc86ef0  qt-win64-5.2.0-gitian-r2.zip
    
  2. laanwj closed this on Feb 5, 2014

  3. laanwj reopened this on Feb 5, 2014

  4. laanwj commented at 3:32 PM on February 5, 2014: member

    Output after building 0.9.0rc1 with these descriptors:

    3b522abbbb42bce84e3651507d9c5c0154b791c57feb8c43dae43a5796015cfe  32/bitcoin-0.9.0-win32-setup.exe
    798b82c18b29fb25dc77ec30121942619533c43d43cacaa857b7a336dfcf781f  32/bitcoin-cli.exe
    102c398e5064f8237d6201575b6fe654da77ecc6c569a5fb65a432a41f0884d6  32/bitcoin-qt.exe
    4c5f7737530016e971ab8e51df424c931ceebdb2d76f37df59c742d4c4f88871  32/bitcoind.exe
    ce7b33411aa748b8f785ce532e6fd5073ebf2b42d708d4f1e0f32e63738cc97f  32/test_bitcoin-qt.exe
    6cc535dd7b85db172b1de99f3d9966927d38b7cbb96e912f2dc5b13c13de859a  32/test_bitcoin.exe
    55ca710327bebd5529446c769197ce05a8ee850ea66be3a542f2e8b4a80f9701  64/bitcoin-0.9.0-win64-setup.exe
    c3bd6dffc332587e6ecb065828711a40d61de6630e5c23e2ca185858e3d6e0dc  64/bitcoin-cli.exe
    faf9006518e85e0d496d947b70c9caec272377e3117f08247aea286bc57b8f48  64/bitcoin-qt.exe
    9d985b1f14802a75be92b6b7ec4d4ed37ad980c291e3368816597b145d8cbb36  64/bitcoind.exe
    310459e5618601564e1b85951cda24369ac8d506da1870c6586dbf606831324c  64/test_bitcoin-qt.exe
    ef8c53cf2d53162406580f2052374a93a13d678c254571e19d1804f526751df6  64/test_bitcoin.exe
    848875dca917077a5419e876e0ef234cd6b375a55904d08f8706d861eaa57f6b  src/bitcoin-0.9.0.tar.gz
    
  5. laanwj commented at 10:56 AM on February 7, 2014: member

    It looks like the Qt dependency changes every day. Subsequently, the -qt.exe and test-qt.exe change as well. This reeks like some embedded date (but not time) somewhere. Either that or the ordering of QHash now changes every day :-) I'll store today's version and compare it tomorrow.

  6. Michagogo commented at 12:52 PM on February 7, 2014: contributor

    @laanwj Store and compare tomorrow? Why not just set the clock ahead by a day?

  7. laanwj commented at 1:15 PM on February 7, 2014: member

    Because I don't feel like messing up my system clock.

  8. gavinandresen commented at 1:55 AM on February 8, 2014: contributor

    Building with VirtualBox:

    Boost win matches:

    60dc2d3b61e9c7d5dbe2f90d5955772ad748a47918ff2d8b74e8db9b1b91c909  boost-win32-1.55.0-gitian-r6.zip
    f65fcaf346bc7b73bc8db3a8614f4f6bee2f61fcbe495e9881133a7c2612a167  boost-win64-1.55.0-gitian-r6.zip
    

    bitcoin-deps-win matches:

    0ba0855e1084132d05fd8687c19d8430b91f6c410a9ab7938e4fea650c2b22c8  bitcoin-deps-win32-gitian-r10.zip
    5f9ffba0c13ddefc1d339f66ab973ea64623c9cc1f9078cb2b145bce86bd28e2  bitcoin-deps-win64-gitian-r10.zip
    

    Protobuf mismatch:

    fa15886536e71b9ca0c66a2a11a93aecfbaf45d2e220794501dafdfe3be584e5  protobuf-win32-2.5.0-gitian-r4.zip
    fe1b4270217ee21eaf0eb1f1dfa8091f9ccb51522897b6eb3bf6765595ffeea4  protobuf-win64-2.5.0-gitian-r4.zip
    

    Qt mismatch:

    74c8d91f6321f50522a53bc91f147800d1d6f5b8a512bcedd6bccca1161227dd  qt-win32-5.2.0-gitian-r2.zip
    6332f270a132f85eed4d4a21783ca6cb553e1bf55dc42ea49bda2168a32896f3  qt-win64-5.2.0-gitian-r2.zip
    

    Final output; as expected, I'm guessing, qt binaries do not match:

    b817aad04d7ad218d2a86469aa091325a7eaa4f333b0f9d4e8c97487452bb785  32/bitcoin-0.9.0-win32-setup.exe
    798b82c18b29fb25dc77ec30121942619533c43d43cacaa857b7a336dfcf781f  32/bitcoin-cli.exe
    dba03b6ef63e8c4bbc8c4469189a8e43a113db7a1bf610134ed6620ae211df7a  32/bitcoin-qt.exe
    4c5f7737530016e971ab8e51df424c931ceebdb2d76f37df59c742d4c4f88871  32/bitcoind.exe
    9f8e04398fd0e4e77400ebcbce7e443527d539286ddf5e59826eb902b9f8c536  32/test_bitcoin-qt.exe
    6cc535dd7b85db172b1de99f3d9966927d38b7cbb96e912f2dc5b13c13de859a  32/test_bitcoin.exe
    ba55bce837d59b91ca506a5b55e5851f94920822253d41f9a58a3a2056bd88df  64/bitcoin-0.9.0-win64-setup.exe
    c3bd6dffc332587e6ecb065828711a40d61de6630e5c23e2ca185858e3d6e0dc  64/bitcoin-cli.exe
    f56e3ee478cb8c2d4227de7bf994b3c508c600f7018a5f3fb34436f278227248  64/bitcoin-qt.exe
    9d985b1f14802a75be92b6b7ec4d4ed37ad980c291e3368816597b145d8cbb36  64/bitcoind.exe
    ba90e91c2d0ab2b43a86ee50160877332104127c4ae468c8168d1e349740ead6  64/test_bitcoin-qt.exe
    ef8c53cf2d53162406580f2052374a93a13d678c254571e19d1804f526751df6  64/test_bitcoin.exe
    1124101cd256f7353a662cdeb1dcdc68761e3d7cf416a49530707860c539da23  src/bitcoin-0.9.0.tar.gz
    

    All of the -gitian*.zip inputs uploaded to bitcoincore.org/~gavin/

  9. laanwj commented at 8:23 AM on February 8, 2014: member

    Thanks, as I expected, some embedded date,

    002A E1D0: 71 74 5F 69 6E 73 74 64  61 74 65 3D 32 30 31 34  qt_instd ate=2014                                                                                 
    002A E1E0: 2D 30 32 2D 30 37 00 00  00 00 00 00 00 00 00 00  -02-07.. ........                                                                                 
    

    versus

    002A E1D0: 71 74 5F 69 6E 73 74 64  61 74 65 3D 32 30 31 34  qt_instd ate=2014                                                                                 
    002A E1E0: 2D 30 32 2D 30 38 00 00  00 00 00 00 00 00 00 00  -02-08.. ........  
    
  10. gitian: Make windows dependencies outputs fully deterministic
    Sort .zip order, and other determinism changes to make sure builds
    are repeatable for windows deps.
    c43d1e5549
  11. laanwj commented at 9:52 AM on February 8, 2014: member

    Ok that issue should be solved, updated the pull as well as my posts with sha256sums.

  12. gitian: Post-process .a libraries for win to be deterministic 6b55e6b97d
  13. gitian: sort generated source distribution archive for windows
    Make the bitcoin-X.X.X.tar.gz deterministic.
    4ce9106ff8
  14. laanwj referenced this in commit 3e3c25dd63 on Feb 10, 2014
  15. laanwj merged this on Feb 10, 2014
  16. laanwj closed this on Feb 10, 2014

  17. BitcoinPullTester commented at 5:31 PM on February 10, 2014: none

    Automatic sanity-testing: PASSED, see http://jenkins.bluematt.me/pull-tester/4ce9106ff8400ee9cd35c51a9859b19e6122c7b1 for binaries and test log. This test script verifies pulls every time they are updated. It, however, dies sometimes and fails to test properly. If you are waiting on a test, please check timestamps to verify that the test.log is moving at http://jenkins.bluematt.me/pull-tester/current/ Contact BlueMatt on freenode if something looks broken.

  18. laanwj deleted the branch on Apr 9, 2014
  19. DrahtBot locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-13 15:16 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me