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
Reproducible build #2
Comments
Reproducible build is now available for
|
A recent test on commit bdb3761 indicates that the builds are still unreproducible, even on the same machine. I used the following sequence of commands:
If the builds were reproducible, the last command should have empty output. To diagnose this issue, I decompiled both programs with
buildid is stored in a Go package or binary, and it's supposed to "accurately record a content hash of the file". Therefore, I believe the difference in buildid sections is caused by the difference in strategy sections. Strategy ELF objects, as produced by clang-8, are the same. Therefore, |
go-bindata by default inserts metadata of binary assets, which includes file modification time. Setting -nometadata turns off the metadata, and makes NDN-DPDK builds reproducible. refs usnistgov#2
Fixed in a0172a0. It turns out that Due to recent changes in build procedure, |
We should make the build process reproducible.
The first problem I've noticed is that
app/version/make-version.sh
embeds a timestamp in the generatedversion.go
. We should get rid of the timestamp. There may be other sources of non-reproducibility in the build system.The text was updated successfully, but these errors were encountered: