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 the build reproducible #68
Make the build reproducible #68
Conversation
Whilst working on the Reproducible Builds effort [0], we noticed that strace could not be built reproducibly. This is due to the documentation encodes a timezone-varying date in the manpages. This was originally filed in Debian as #896016 [1]. [0] https://reproducible-builds.org/ [1] https://bugs.debian.org/896016 Signed-off-by: Chris Lamb <lamby@debian.org>
Codecov Report
@@ Coverage Diff @@
## master #68 +/- ##
==========================================
- Coverage 83.66% 83.65% -0.01%
==========================================
Files 221 221
Lines 13711 13711
Branches 580 580
==========================================
- Hits 11471 11470 -1
- Misses 2107 2108 +1
Partials 133 133
Continue to review full report at Codecov.
|
|
I'm sorry but your proposed commit just breaks the script it was supposed to fix:
Contrary to the comment, it ignores SOURCE_DATE_EPOCH if the latter exists, and it makes the script issue an error and print nothing if SOURCE_DATE_EPOCH does not exist. Besides that, it was wrong to override DATE_FILE and "git log" with SOURCE_DATE_EPOCH. |
Can you elaborate why? That's somewhat the point of this environment variable. :) I can fix the technical aspects of this bug but we might as well agree first on the philosophy! |
|
Because both of them are reproducible sources of the file date and make more sense than an arbitrary SOURCE_DATE_EPOCH. I think that the only problems you actually had are lack of UTC option in |
|
SOURCE_DATE_EPOCH is not expected to override timestamps written in the source code. |
|
Ah, I see our disconnect now.. so in Debian we try and rebuild everything and — as we don't have your Updated patch attached that prefers the git tree so the release behaviour is unchanged and also doesn't break if :) |
|
Looks like you build from git snapshots (produced by Anyway, please have a look at the current master branch, I suppose it addresses the issue. |
* Makefile.am (today): Consistently print the UTC date in C locale. * configure.ac (RPM_CHANGELOGTIME, DEB_CHANGELOGTIME): Likewise. * maint/update_copyright_years.sh: Likewise. * copyright-year-gen: Likewise. When $SOURCE_DATE_EPOCH is non-empty, use it as fallback date before the current system date. References: #68
|
(Commented on that commit) |
Whilst working on the Reproducible Builds effort, we noticed that strace could not be built reproducibly. This is due to the documentation encodes a timezone-varying date in the manpages.
(This was originally filed in Debian as #896016.)