-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Use of __DATE__ breaks build reproducibility #817
Comments
Agree that at least at release time it have to be unique, also date does Making build process to set variable for building at current git version On Sat, Apr 16, 2016 at 9:16 AM, Jordi Mallach notifications@github.com
|
This is implemented and effective in 0.173 |
Consider the following patch:
With this I avoid using DATE which just adds the compilation date to the version string. As that probably is not meaningful at all (we probably care a lot more about the release date instead of the build date), I removed it from Debian as our compiler defaults doesn't like it.
However, I don't want to change the version string as some frontends rely on a specific string format.
I am unsure how to rework things so it uses a RELEASE_DATE macro or something, that resolves to the date of the actual MAME release, or a git snapshot in the case of a git build. In the latter case, I would add an extra string "from git " or something).
In short, using DATE means every build will not be binary exact unless you tamper with the build system clock to make it match. Being able to create exact binaries is a goal to provide extra security to detect malicious 3rd party tampering of systems. See https://reproducible-builds.org/ for way too many details.
What do you think?
The text was updated successfully, but these errors were encountered: