Skip to content

Comments

Attempt at reproducible builds#6394

Closed
michaelsproul wants to merge 9 commits intosigp:unstablefrom
michaelsproul:make-reproducible
Closed

Attempt at reproducible builds#6394
michaelsproul wants to merge 9 commits intosigp:unstablefrom
michaelsproul:make-reproducible

Conversation

@michaelsproul
Copy link
Member

@michaelsproul michaelsproul commented Sep 13, 2024

Issue Addressed

Closes:

Proposed Changes

  • Add make reproducible. This is tested and working on Linux x86_64 and macOS aarch64.
  • Update the cross builds to build in a reproducible way by default.
  • Add the compiler version to lighthouse --version.

The key insight is setting SOURCE_DATE_EPOCH so OpenSSL doesn't include the build time in the binary. Thanks @jmcph4 for helping work this out.

Limitations

There is no reproducibility between builds outside cross and builds within cross. The binary diff is large and I haven't worked out what it could be (yet). It might be due to different libc versions.

@michaelsproul michaelsproul added the work-in-progress PR is a work-in-progress label Sep 13, 2024
@michaelsproul michaelsproul changed the base branch from stable to unstable September 13, 2024 03:30
@michaelsproul michaelsproul added the v6.0.0 New major release for hierarchical state diffs label Sep 23, 2024
@michaelsproul
Copy link
Member Author

Dropping this from v6.0.0. No bandwidth to work on it at the moment.

@michaelsproul michaelsproul removed the v6.0.0 New major release for hierarchical state diffs label Oct 31, 2024
@michaelsproul
Copy link
Member Author

Closing in favour of a more comprehensive PR from Flashbots:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

work-in-progress PR is a work-in-progress

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant