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

Allow builds to be reproducible by default #3

Closed
wants to merge 2 commits into from

Conversation

bmwiedemann
Copy link

This is a follow-up to PR #2 :

Allow builds to be reproducible by default
without specifying project-specific configure flags
to give distribution packagers an easier time.

If you do not set SOURCE_DATE_EPOCH, it will still include the build date as before.

Note, that this change is split into 2 commits.

This PR was done while working on reproducible builds for openSUSE.

without specifying project-specific configure flags
to give packagers an easier time

This PR was done while working on reproducible builds for openSUSE.
@hb9xar
Copy link
Owner

hb9xar commented Feb 18, 2022

I quickly checked the specification at https://reproducible-builds.org/specs/source-date-epoch/
To my understanding, if SOURCE_DATE_EPOCH is passed, the build process must use this value for build timestamps, so using "unknown" would not really comply.
If SOURCE_DATE_EPOCH is set, the build process should:

  • not use BUILDSTR (resp. set it to "none")
  • use the supplied timestamp to create a BUILDDATE (in UTC timezone)

@bmwiedemann
Copy link
Author

It is OK to keep things simple and just use it as a flag here. The important thing is that it is possible to get identical binaries twice.

@hb9xar
Copy link
Owner

hb9xar commented Feb 18, 2022

Implemented with 4750bea
BUILDDATE taken from env var SOURCE_DATE_EPOCH if present.

@bmwiedemann
Copy link
Author

Looks good now

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants