-
Notifications
You must be signed in to change notification settings - Fork 38.6k
guix: Make nsis reproducible by respecting SOURCE-DATE-EPOCH #20937
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
guix: Make nsis reproducible by respecting SOURCE-DATE-EPOCH #20937
Conversation
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, 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. |
|
Nice. Concept ACK. |
practicalswift
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Concept ACK
954341c to
ec06efc
Compare
|
Pushed 954341cefc355d68226ea5cde7c9bd8024e6740c -> ec06efc69684aa08a7f5c7be7d8a683b24ef4f8c |
When building nsis, if VERSION is not specified, it defaults to cvs_version which is non-deterministic as it includes the current date. This patches nsis to default to SOURCE_DATE_EPOCH if it exists so that nsis is reproducible. Upstream change: NSIS-Dev/nsis#13
ec06efc to
1fca981
Compare
|
Thanks for rebasing.
# guix describe
Generation 5 Jan 18 2021 00:11:42 (current)
guix 1b2c32d
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 1b2c32dc919ec331bbd3219c586f46fe66e06346
# git rev-parse HEAD
1fca9811e1331ac5dae8188f6178cc37da4929a7
# find output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
9300fae60f64636c7224376d388a5ec582c60541b844b9d62072bc91bdb731b4 output/bitcoin-1fca9811e133-win-unsigned.tar.gz
1d0d9c713f9ffa2437d5ce29d4bc61abc6866cbe17e0935b0794873e509700cf output/bitcoin-1fca9811e133-win64-debug.zip
6dddccd0af5f820ccaa57a1790c5a589ea43864d542e22bb0d770e5cd562d75d output/bitcoin-1fca9811e133-win64-setup-unsigned.exe
9b52e4fddedf229ce29930baaf6e139cf385cc4a38c0ca50122df4af020a96bd output/bitcoin-1fca9811e133-win64.zip
207f33df4ceb953da33a334604e5dec5f048ee53e69cfad8af1afd52ed0cc98f output/src/bitcoin-1fca9811e133.tar.gz |
Guix builds
|
|
Thanks fanquake! Here are my hashes, they appear to be matching! # find output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
9300fae60f64636c7224376d388a5ec582c60541b844b9d62072bc91bdb731b4 output/bitcoin-1fca9811e133-win-unsigned.tar.gz
1d0d9c713f9ffa2437d5ce29d4bc61abc6866cbe17e0935b0794873e509700cf output/bitcoin-1fca9811e133-win64-debug.zip
6dddccd0af5f820ccaa57a1790c5a589ea43864d542e22bb0d770e5cd562d75d output/bitcoin-1fca9811e133-win64-setup-unsigned.exe
9b52e4fddedf229ce29930baaf6e139cf385cc4a38c0ca50122df4af020a96bd output/bitcoin-1fca9811e133-win64.zip
207f33df4ceb953da33a334604e5dec5f048ee53e69cfad8af1afd52ed0cc98f output/src/bitcoin-1fca9811e133.tar.gzWould you care to supply your # stat /gnu/store/n4jdwhwip7wir0gzl92smvsdpwwh2bz9-nsis-x86_64-3.05
File: /gnu/store/n4jdwhwip7wir0gzl92smvsdpwwh2bz9-nsis-x86_64-3.05
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 901h/2305d Inode: 23744146 Links: 5
Access: (0555/dr-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-01-14 18:52:51.143425311 -0500
Modify: 1969-12-31 19:00:01.000000000 -0500
Change: 2021-01-14 18:52:51.136758471 -0500
Birth: 2021-01-14 18:52:37.683076782 -0500 |
# stat /gnu/store/n4jdwhwip7wir0gzl92smvsdpwwh2bz9-nsis-x86_64-3.05/
File: /gnu/store/n4jdwhwip7wir0gzl92smvsdpwwh2bz9-nsis-x86_64-3.05/
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 35h/53d Inode: 4096562 Links: 5
Access: (0555/dr-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2021-01-17 06:37:19.000000000
Modify: 1970-01-01 00:00:01.000000000
Change: 2021-01-17 06:37:19.000000000 |
|
Lovely! Looks like we fixed the reproducibility problem! This should be good to merge now |
fanquake
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ACK 1fca981
Sidenote: also a good demonstration of how Guix allows us to flexibly patch our tools!
Note to reviewers: if you want to compare hashes, please build after Jan 16th 2021 without my substitute server enabled!