-
Notifications
You must be signed in to change notification settings - Fork 9
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
Unprivileged podman and buildah and reproducibility? #1
Comments
Would you be able to produce a diffoscope of |
@SantiagoTorres yes, I'll paste one shortly (just learning to use But this might be related to the (missing?) backslash in
|
@SantiagoTorres just an update with the |
Yeha, I think you're right. I did a little bit of fiddling and it seems it's mostly:
The good news is that then it's really not a "repro" issue (because semantically the code is the same), but rather figuring out why this thing was added here and not before (or vice-versa)... |
hi, thanks for looking into this! This is indeed due to the missing backslash, it was probably lost when updating the hashes before the initial release. Effectively what was executed is:
The entry point of that docker image is The binaries are very similar because both systems use rustc 1.54.0 from rustup and the build was configured to be static, but rust seems to also use the system linker and binutils, which causes the binary to differ. At the moment it's still possible to reproduce the binary that I've published:
For posterity, list of Arch Linux packages used:
I'm going to fix this and publish a new release. Thanks! |
I've fixed this in the 0.1.1 release (and cherry-picked some of your commits), thanks again for reporting!
The podman/buildah approach is interesting, I've linked to the repo in the readme! Thanks! :) |
Thank you for putting together this example, it has been tremendous learning for me and I'm sure many others.
Is
cargo build
expected to happen in the container? If so, at least in my system theMakefile
needs a backslash to include the line in thedocker run
, see bureado@d1a49ffAlso I just wanted to note that in my system (with
podman
andbuildah
) I didn't need to specify auidmap
or usesudo
. In fact theuidmap
was getting me in trouble withcargo
.I hope that is good news (unprivileged and rootless by default!) but I'm also getting a different hash for
asdf
and I wonder if that's a result of those changes? I have tried reproducing with two different setups and I get the same hash in both systems, but it's different from the one inREADME.md
today, see bureado@bec0cfeAgain, thank you so much for putting this together!
PS: I also used
git-notes
to store the hashes of the binary and container images with the commit for ease of reproducing, see bureado@cad165f, here's an example of how I use it for manual reproducibility purposes.The text was updated successfully, but these errors were encountered: