Skip to content
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

[RFE] Reproducible builds #25

Closed
pothos opened this issue Sep 16, 2023 · 1 comment · Fixed by #27
Closed

[RFE] Reproducible builds #25

pothos opened this issue Sep 16, 2023 · 1 comment · Fixed by #27
Labels
kind/feature A feature request.

Comments

@pothos
Copy link
Member

pothos commented Sep 16, 2023

Current situation

The binaries consumed from upstream should have the same checksums already but the resulting squashfs does not.

Impact

Local rebuilds and new releases of the same version create new files with different checksums, which is bad for reproducibility and deduplication.

Ideal future situation

For mksquashfs use -reproducible -all-time 0 -root-time 0 -mkfs-time 0 -noappend or something similar with another a fixed time.

@pothos pothos added the kind/feature A feature request. label Sep 16, 2023
@pothos pothos moved this from 📝 Needs Triage to 🪵Backlog in Flatcar tactical, release planning, and roadmap Sep 16, 2023
pothos added a commit that referenced this issue Sep 18, 2023
The binaries consumed from upstream should have the same checksums
already but the resulting squashfs does not because it contains the
time stamps of the build.
Define the SOURCE_DATE_EPOCH variable which is enough to make mksquashfs
reproducible. The user can pass an own value if there is a fixed
reference time. For semantics, see
https://reproducible-builds.org/docs/source-date-epoch/

Fixes #25
@pothos
Copy link
Member Author

pothos commented Sep 18, 2023

Turns out https://reproducible-builds.org/docs/source-date-epoch/ is enough, done in #27

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature A feature request.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant