Skip to content

Conversation

hebasto
Copy link
Member

@hebasto hebasto commented Apr 16, 2021

Since moving to Autotools build system (35b8af9, #2943, 2013-09), tag strings created by Qt specialized compilers (uic, moc, rcc) were being removed.

A bit later (70c71c5, #4241, 2014-06) this rule was dropped for the uic, and since then all of the generated ui_*.h files contain the following string:

** Created by: Qt User Interface Compiler version 5.12.8

Such strings do not contain any timestamps, and cannot cause any non-determinism. The removing of them seems pointless.

Diffs for some files:

--- master/intro.moc
+++ pr/intro.moc
@@ -1,6 +1,7 @@
 /****************************************************************************
 ** Meta object code from reading C++ file 'intro.cpp'
 **
+** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
 **
 ** WARNING! All changes made in this file will be lost!
 *****************************************************************************/
--- master/moc_addressbookpage.cpp
+++ pr/moc_addressbookpage.cpp
@@ -1,6 +1,7 @@
 /****************************************************************************
 ** Meta object code from reading C++ file 'addressbookpage.h'
 **
+** Created by: The Qt Meta Object Compiler version 67 (Qt 5.12.8)
 **
 ** WARNING! All changes made in this file will be lost!
 *****************************************************************************/
--- master/qrc_bitcoin.cpp
+++ pr/qrc_bitcoin.cpp
@@ -1,6 +1,7 @@
 /****************************************************************************
 ** Resource object code
 **
+** Created by: The Resource Compiler for Qt version 5.12.8
 **
 ** WARNING! All changes made in this file will be lost!
 *****************************************************************************/

Strings that contain moc and rcc versions without timestamps cannot
cause any non-determinism.
@DrahtBot
Copy link
Contributor

DrahtBot commented Apr 16, 2021

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Conflicts

Reviewers, this pull request conflicts with the following ones:

If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

@hebasto hebasto changed the title build: Drop pointless sed commands build, qt: Drop pointless sed commands Apr 17, 2021
@DrahtBot
Copy link
Contributor

Gitian builds

File commit 585cbe2
(master)
commit 8ad6785
(master and this pull)
*-aarch64-linux-gnu-debug.tar.gz a3533e945b37e5cf... 19b591253c37eb92...
*-aarch64-linux-gnu.tar.gz 32699c6f9d5a0f5d... 46cdafa4113156ea...
*-arm-linux-gnueabihf-debug.tar.gz 8b9301fdccec5226... aad22b9ef3de8230...
*-arm-linux-gnueabihf.tar.gz 94df4905f324d5da... 2280fef75ede55d7...
*-osx-unsigned.dmg c0be02bcd26c82c2... 9ea9b458fd2e26d2...
*-osx64.tar.gz 31a09b2d9d3be32c... 9e99b6c487a5336b...
*-powerpc64-linux-gnu-debug.tar.gz 2579c98b4453b03b... 89879fd61208fb70...
*-powerpc64-linux-gnu.tar.gz 3949a3675ea5835d... 7754388443e21dc0...
*-powerpc64le-linux-gnu-debug.tar.gz 5492129640010a5c... 7ad4fc00ed148546...
*-powerpc64le-linux-gnu.tar.gz bca108a2eaa251bd... 13d8d07dc2e53f76...
*-riscv64-linux-gnu-debug.tar.gz b58b8f87952886bc... 2759ed00af26eb34...
*-riscv64-linux-gnu.tar.gz 88677aa7301f7ea8... 93366fb6ed1e1737...
*-win64-debug.zip d3b52a7900dfdcea... 2695487fd9a59bde...
*-win64-setup-unsigned.exe b05810f5eafa8115... 1123c937bd000eee...
*-win64.zip 6c4a3dc1f24618c3... 440915d4a46c1639...
*-x86_64-linux-gnu-debug.tar.gz d392bc8deb4634fa... 64bc6eed7644f40c...
*-x86_64-linux-gnu.tar.gz 667690edff3d02e5... a7a1fb2b8c3d59f5...
*.tar.gz 82dafd07e6fbdfeb... 877836f57c3fa60c...
bitcoin-core-linux-22-res.yml 68ef507b9cb0c6ae... 567b4a24e54b7e09...
bitcoin-core-osx-22-res.yml a053a04c8cdc5468... 4b09ab9221e25dc5...
bitcoin-core-win-22-res.yml 938ec89a5d33a644... ffb9879e7d6c6e6f...
linux-build.log 4419ca82604acfc1... f5c4a8ae6e64f1a4...
osx-build.log 1eb287b5095fc977... 0a90a7458afbc9d1...
win-build.log 3bba4a4aaf7af2c9... c5441a8680e50091...
bitcoin-core-linux-22-res.yml.diff c587e81f365ce640...
bitcoin-core-osx-22-res.yml.diff e894ab60cef92c02...
bitcoin-core-win-22-res.yml.diff eb74aead9f376068...
linux-build.log.diff 030a04b1c0b8be00...
osx-build.log.diff 7151cf0469492507...
win-build.log.diff 9338a838754b9c28...

Copy link
Member

@jarolrod jarolrod left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Concept ACK

GUIX hashes for f52fafc:

find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum

7f6acec71761e06321e4745b413faebeaa48ee070e2ab1d4297dc30c1ab8f0c8  guix-build-f52fafc9351e/output/aarch64-linux-gnu/bitcoin-f52fafc9351e-aarch64-linux-gnu-debug.tar.gz
52b0e3317700370181c3b58af0deaf26c92a7e720b13771cd28606171b5563e4  guix-build-f52fafc9351e/output/aarch64-linux-gnu/bitcoin-f52fafc9351e-aarch64-linux-gnu.tar.gz
9ea3ff1098f818dc2b6636bceaaafec27f368efbddc51afccd03aedf83fdf9ed  guix-build-f52fafc9351e/output/arm-linux-gnueabihf/bitcoin-f52fafc9351e-arm-linux-gnueabihf-debug.tar.gz
6b0d564a3874f52dbd4cbbad06c87387762d6ee53ee08b2ff545f5981f93682c  guix-build-f52fafc9351e/output/arm-linux-gnueabihf/bitcoin-f52fafc9351e-arm-linux-gnueabihf.tar.gz
599e70f84e17495c013518dba871af6c3c56768e7dd9427c8f5cf70ddb379bbf  guix-build-f52fafc9351e/output/dist-archive/bitcoin-f52fafc9351e.tar.gz
28bd8b3a5ec11f366e34a333573d13ac875aa2f69c4bfff4f28a5f2e7502d09d  guix-build-f52fafc9351e/output/powerpc64-linux-gnu/bitcoin-f52fafc9351e-powerpc64-linux-gnu-debug.tar.gz
6f386d45866a5922cb03de260ba9a83f340e2a69ed26c5a7843c3e24b2636fd6  guix-build-f52fafc9351e/output/powerpc64-linux-gnu/bitcoin-f52fafc9351e-powerpc64-linux-gnu.tar.gz
5704f15c17b123398fe116542eba1d61698aac942e1dea57fbd7c7b4377f57a0  guix-build-f52fafc9351e/output/powerpc64le-linux-gnu/bitcoin-f52fafc9351e-powerpc64le-linux-gnu-debug.tar.gz
00f7e6b6f168f4960cabf05b58921e082e8f169f914790a34ee935a572653a0c  guix-build-f52fafc9351e/output/powerpc64le-linux-gnu/bitcoin-f52fafc9351e-powerpc64le-linux-gnu.tar.gz
d0490c666d86762434b4beaa6d23c22e861148dc3d721b65b06d1d949e6a80aa  guix-build-f52fafc9351e/output/riscv64-linux-gnu/bitcoin-f52fafc9351e-riscv64-linux-gnu-debug.tar.gz
c32d565f13b6d5b309a62aabbf394b191c0ef0210a8e7ad771899ad1a912202e  guix-build-f52fafc9351e/output/riscv64-linux-gnu/bitcoin-f52fafc9351e-riscv64-linux-gnu.tar.gz
7383cfb44e0d1fed9ccadc69b86ea940943fb3c77cc1fbd842124d0b75485c1c  guix-build-f52fafc9351e/output/x86_64-apple-darwin18/bitcoin-f52fafc9351e-osx-unsigned.dmg
aec844ac917afcc1bcea0b793296493951be3bfd3c0be1097c1898657c3d0723  guix-build-f52fafc9351e/output/x86_64-apple-darwin18/bitcoin-f52fafc9351e-osx-unsigned.tar.gz
eff71d97ea3728fb0e7a32f867d0a7d697e6c9d828635e23c562b3fa2f2baae7  guix-build-f52fafc9351e/output/x86_64-apple-darwin18/bitcoin-f52fafc9351e-osx64.tar.gz
ef77b4daf0030117548bae4e605f768b57602d5f921254c006e902da9db2ee6f  guix-build-f52fafc9351e/output/x86_64-linux-gnu/bitcoin-f52fafc9351e-x86_64-linux-gnu-debug.tar.gz
1c462ce5b79fc3926715262fad270b4963267c84f94643da46817373b0af7791  guix-build-f52fafc9351e/output/x86_64-linux-gnu/bitcoin-f52fafc9351e-x86_64-linux-gnu.tar.gz
3fe5a98d2605bffb9f7691453d06c8f98141d8d8fdb0d7a82166bf01d32d3328  guix-build-f52fafc9351e/output/x86_64-w64-mingw32/bitcoin-f52fafc9351e-win-unsigned.tar.gz
e204c790965c5feaa7bbc5003a5644d03dd8c92c1c13a16cfac84c0e71960282  guix-build-f52fafc9351e/output/x86_64-w64-mingw32/bitcoin-f52fafc9351e-win64-debug.zip
5107d549210d42a792cee60ad89554a8c314807c3dddef0fcbfcc9c894174fef  guix-build-f52fafc9351e/output/x86_64-w64-mingw32/bitcoin-f52fafc9351e-win64-setup-unsigned.exe
e9804baefaa51a9579e2506c3e13cc5f180d7660361aa272658402f44cb4af23  guix-build-f52fafc9351e/output/x86_64-w64-mingw32/bitcoin-f52fafc9351e-win64.zip

@hebasto
Copy link
Member Author

hebasto commented Apr 18, 2021

Guix builds:

$ find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
7f6acec71761e06321e4745b413faebeaa48ee070e2ab1d4297dc30c1ab8f0c8  guix-build-f52fafc9351e/output/aarch64-linux-gnu/bitcoin-f52fafc9351e-aarch64-linux-gnu-debug.tar.gz
52b0e3317700370181c3b58af0deaf26c92a7e720b13771cd28606171b5563e4  guix-build-f52fafc9351e/output/aarch64-linux-gnu/bitcoin-f52fafc9351e-aarch64-linux-gnu.tar.gz
9ea3ff1098f818dc2b6636bceaaafec27f368efbddc51afccd03aedf83fdf9ed  guix-build-f52fafc9351e/output/arm-linux-gnueabihf/bitcoin-f52fafc9351e-arm-linux-gnueabihf-debug.tar.gz
6b0d564a3874f52dbd4cbbad06c87387762d6ee53ee08b2ff545f5981f93682c  guix-build-f52fafc9351e/output/arm-linux-gnueabihf/bitcoin-f52fafc9351e-arm-linux-gnueabihf.tar.gz
599e70f84e17495c013518dba871af6c3c56768e7dd9427c8f5cf70ddb379bbf  guix-build-f52fafc9351e/output/dist-archive/bitcoin-f52fafc9351e.tar.gz
28bd8b3a5ec11f366e34a333573d13ac875aa2f69c4bfff4f28a5f2e7502d09d  guix-build-f52fafc9351e/output/powerpc64-linux-gnu/bitcoin-f52fafc9351e-powerpc64-linux-gnu-debug.tar.gz
6f386d45866a5922cb03de260ba9a83f340e2a69ed26c5a7843c3e24b2636fd6  guix-build-f52fafc9351e/output/powerpc64-linux-gnu/bitcoin-f52fafc9351e-powerpc64-linux-gnu.tar.gz
5704f15c17b123398fe116542eba1d61698aac942e1dea57fbd7c7b4377f57a0  guix-build-f52fafc9351e/output/powerpc64le-linux-gnu/bitcoin-f52fafc9351e-powerpc64le-linux-gnu-debug.tar.gz
00f7e6b6f168f4960cabf05b58921e082e8f169f914790a34ee935a572653a0c  guix-build-f52fafc9351e/output/powerpc64le-linux-gnu/bitcoin-f52fafc9351e-powerpc64le-linux-gnu.tar.gz
d0490c666d86762434b4beaa6d23c22e861148dc3d721b65b06d1d949e6a80aa  guix-build-f52fafc9351e/output/riscv64-linux-gnu/bitcoin-f52fafc9351e-riscv64-linux-gnu-debug.tar.gz
c32d565f13b6d5b309a62aabbf394b191c0ef0210a8e7ad771899ad1a912202e  guix-build-f52fafc9351e/output/riscv64-linux-gnu/bitcoin-f52fafc9351e-riscv64-linux-gnu.tar.gz
7383cfb44e0d1fed9ccadc69b86ea940943fb3c77cc1fbd842124d0b75485c1c  guix-build-f52fafc9351e/output/x86_64-apple-darwin18/bitcoin-f52fafc9351e-osx-unsigned.dmg
aec844ac917afcc1bcea0b793296493951be3bfd3c0be1097c1898657c3d0723  guix-build-f52fafc9351e/output/x86_64-apple-darwin18/bitcoin-f52fafc9351e-osx-unsigned.tar.gz
eff71d97ea3728fb0e7a32f867d0a7d697e6c9d828635e23c562b3fa2f2baae7  guix-build-f52fafc9351e/output/x86_64-apple-darwin18/bitcoin-f52fafc9351e-osx64.tar.gz
ef77b4daf0030117548bae4e605f768b57602d5f921254c006e902da9db2ee6f  guix-build-f52fafc9351e/output/x86_64-linux-gnu/bitcoin-f52fafc9351e-x86_64-linux-gnu-debug.tar.gz
1c462ce5b79fc3926715262fad270b4963267c84f94643da46817373b0af7791  guix-build-f52fafc9351e/output/x86_64-linux-gnu/bitcoin-f52fafc9351e-x86_64-linux-gnu.tar.gz
3fe5a98d2605bffb9f7691453d06c8f98141d8d8fdb0d7a82166bf01d32d3328  guix-build-f52fafc9351e/output/x86_64-w64-mingw32/bitcoin-f52fafc9351e-win-unsigned.tar.gz
e204c790965c5feaa7bbc5003a5644d03dd8c92c1c13a16cfac84c0e71960282  guix-build-f52fafc9351e/output/x86_64-w64-mingw32/bitcoin-f52fafc9351e-win64-debug.zip
5107d549210d42a792cee60ad89554a8c314807c3dddef0fcbfcc9c894174fef  guix-build-f52fafc9351e/output/x86_64-w64-mingw32/bitcoin-f52fafc9351e-win64-setup-unsigned.exe
e9804baefaa51a9579e2506c3e13cc5f180d7660361aa272658402f44cb4af23  guix-build-f52fafc9351e/output/x86_64-w64-mingw32/bitcoin-f52fafc9351e-win64.zip

Gitian builds:

  • Linux
Generating report
1a374aa2c3f1517e78c59e0a2d47546f302ba7eb910a3c6fd1cbf26bbe26308d  bitcoin-f52fafc9351e-aarch64-linux-gnu-debug.tar.gz
cef1ed24e149400a610c74fd2edcf8be5cad8756892dad3f35aed3d273d28482  bitcoin-f52fafc9351e-aarch64-linux-gnu.tar.gz
6fe9df36c8e98ea4fd9bb96c3ff7b87fad0bd26ffa005e163fa3063d4b0fda8b  bitcoin-f52fafc9351e-arm-linux-gnueabihf-debug.tar.gz
89fd7b314eed32932b559f9715dd3148f1838d6e76b94a72351d026895d9e552  bitcoin-f52fafc9351e-arm-linux-gnueabihf.tar.gz
ea99703def5fe4e2dc4654a37d8c4c79ccf2e848e159d3d4e21d5675128e541e  bitcoin-f52fafc9351e-powerpc64-linux-gnu-debug.tar.gz
99e4f50bf3edb04025ad3000576219696df9e2ee9250eae776f817ed68a2341d  bitcoin-f52fafc9351e-powerpc64-linux-gnu.tar.gz
3f59dde2c57fc9fab2659ec32f9b8a649df131e5ce86aba1e2f356f11a939105  bitcoin-f52fafc9351e-powerpc64le-linux-gnu-debug.tar.gz
782534c5e929db0be2ca3acdb43837a26bfb06039c262416061ff8c03a387441  bitcoin-f52fafc9351e-powerpc64le-linux-gnu.tar.gz
8212bb2cd99684375a418380a0759746920288118ceb8b3d13f09a604a540fcf  bitcoin-f52fafc9351e-riscv64-linux-gnu-debug.tar.gz
da9bf2b8e68fc3d035521db6754e4d0188f74d70e3a09168074c3820201390ce  bitcoin-f52fafc9351e-riscv64-linux-gnu.tar.gz
a0b4c4af66eb5e621ab920161e3e4992801ea08f3d2e8f345f10f15e421ba78b  bitcoin-f52fafc9351e-x86_64-linux-gnu-debug.tar.gz
9a1628b18f70c1038dfa6f655b526c67e8aeed95c77e23ae771ff81138fc0149  bitcoin-f52fafc9351e-x86_64-linux-gnu.tar.gz
599e70f84e17495c013518dba871af6c3c56768e7dd9427c8f5cf70ddb379bbf  src/bitcoin-f52fafc9351e.tar.gz
4fec4620a1c6ce3f48924015f77e91364a778eeba3bb1fdc9cf9ad77e002233c  bitcoin-core-linux-22-res.yml
Done.
  • Windows
Generating report
ff9825954434ea5f07692df647f1c2ee408a5105b66fdc37036eac3c60bf742e  bitcoin-f52fafc9351e-win-unsigned.tar.gz
3ec74a086ad11df21cb56564220aaef6cf96938f7c258729ac3df6cf7b5d5286  bitcoin-f52fafc9351e-win64-debug.zip
f468a4c3ca7c77a5cff3f55c3a446b2412d7901c0bd6f482755b7b020cd80044  bitcoin-f52fafc9351e-win64-setup-unsigned.exe
4de89f6efcffbb14329aebb74a01a9348725548ac28ee347fcb746b1c83a66cf  bitcoin-f52fafc9351e-win64.zip
599e70f84e17495c013518dba871af6c3c56768e7dd9427c8f5cf70ddb379bbf  src/bitcoin-f52fafc9351e.tar.gz
b40d15cb56d8dd313c5a4d55665a479c3d92bc535e8c2445d3b0ce72a45e0653  bitcoin-core-win-22-res.yml
Done.
  • macOS
Generating report
00c2adf74bf1c278fa53094cacc75a83905ae8aa8f48996a6c598975daa754e5  bitcoin-f52fafc9351e-osx-unsigned.dmg
8dc2eb627b7a7e81f67ad91d70b66727a203ba17c03f2a9a8f1519364b153839  bitcoin-f52fafc9351e-osx-unsigned.tar.gz
08e2529aa5e9f12ecd38dd0a63ed8e639787863d23e442b3a00899de59ae3b56  bitcoin-f52fafc9351e-osx64.tar.gz
599e70f84e17495c013518dba871af6c3c56768e7dd9427c8f5cf70ddb379bbf  src/bitcoin-f52fafc9351e.tar.gz
f554d95ac46a8f60bb5d86d663ae2d370ed2e676d469112bdf4beb882eb729c4  bitcoin-core-osx-22-res.yml
Done.

@fanquake fanquake changed the title build, qt: Drop pointless sed commands build: Drop pointless sed commands Apr 20, 2021
@fanquake
Copy link
Member

fanquake commented May 6, 2021

Such strings do not contain any timestamps, and cannot cause any non-determinism. The removing of them seems pointless.

Just because strings don't have timestamps, doesn't mean that they can't cause non-determinism. You might want to compare the build output between machines where the versions of these tools differs slightly, i.e 5.15.1 vs 5.15.2, in which case, having the version of the tool being used emitted into the file would cause non-determinism.

That being said, given we've long since dropped the removal from the ui_*.h files, I think removing the sed commands here is probably ok.

@laanwj
Copy link
Member

laanwj commented May 10, 2021

You might want to compare the build output between machines where the versions of these tools differs slightly, i.e 5.15.1 vs 5.15.2, in which case, having the version of the tool being used emitted into the file would cause non-determinism.

Valid point but also, there are tons of other ways difference in tool versions can create non-determinism by building the output files in a slightly different way. So I don't think this is a big concern here. Usually we worry about non-determinism given everything else is the same.

ACK f52fafc

@laanwj laanwj merged commit 1591e35 into bitcoin:master May 10, 2021
@hebasto hebasto deleted the 210416-sed branch May 10, 2021 13:00
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request May 10, 2021
kwvg added a commit to kwvg/dash that referenced this pull request Feb 17, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Feb 18, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Apr 25, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Apr 25, 2022
kwvg added a commit to kwvg/dash that referenced this pull request Apr 26, 2022
gwillen pushed a commit to ElementsProject/elements that referenced this pull request Jun 1, 2022
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Aug 18, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants