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

make-archive: Build reproducible tarball #527

Merged
merged 1 commit into from
Nov 14, 2022

Conversation

julian-klode
Copy link
Collaborator

Remove timestamps, user names, etc. from the tarball so that it can be built reproducibly by multiple people, on different machines.

The outer bzip2 layer might still be different, no reproducible bzip2 known.

This sets the time to 0, it would also be possible to set it to the git tag time.

@steve-mcintyre
Copy link
Collaborator

LGTM, but as you suggest let's take the mtime from tag time

@julian-klode
Copy link
Collaborator Author

Updated. So right now the tar logic above actually extracts the right timestamps based on the git tags, by extracting the git-archive archives, so shim and gnu-efi have different timestamps - which is nice to have, but not doable by setting the time on the command-line, so this uses the shim tag timestamp - if it exists, for everything.

@steve-mcintyre
Copy link
Collaborator

looks better, cool!

Remove timestamps, user names, etc. from the tarball so that
it can be built reproducibly by multiple people, on different
machines.

The outer bzip2 layer might still be different, no reproducible
bzip2 known.

Signed-off-by: Julian Andres Klode <julian.klode@canonical.com>
@frozencemetery
Copy link
Member

Hmm, I thought bzip2 was reproducible, but your commit suggests otherwise - am I misremembering?

@julian-klode
Copy link
Collaborator Author

Just expressing concerns about reproducibility across different, future versions. Which can always happen

Currently the one version seems reproducible.

@vathpela vathpela merged commit 5169769 into rhboot:main Nov 14, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants