-
-
Notifications
You must be signed in to change notification settings - Fork 18.1k
Description
Building this package twice does not produce the bit-by-bit identical result each time, making it harder to detect CI breaches. You can read more about this at https://reproducible-builds.org/ .
Fixing bit-by-bit reproducibility also has additional advantages, such as avoiding hard-to-reproduce bugs, making content-addressed storage more effective and reducing rebuilds in such systems.
Steps To Reproduce
nix-build '<nixpkgs>' -A pkgsStatic.buildPackages.gccCrossStageStatic.cc --check --keep-failed
You can use diffoscope to analyze the differences in the output of the two builds.
To view the build log of the build that produced the artifact in the binary cache:
nix-store --read-log $(nix-instantiate '<nixpkgs>' -A pkgsStatic.buildPackages.gccCrossStageStatic.cc)
Additional context
An example of a diff can be found at https://reproducible.nixos.org/nixos-iso-minimal-r13y/diff/a7ca61e3544ed4d048e59882fae1eb24dbc04f0f5e7b832202581193b2eeca67-ee6aa0602d40df3930bb7192c44be53c703d9b49512904e39ee93b7b09333eb7.html (in /nix/store/4rll8l0q3ycfpykwn1wqk93x1jqayqkl-x86_64-unknown-linux-musl-stage-static-gcc-12.2.0.drv which was built from da45bf6)
Metadata
Metadata
Assignees
Labels
Projects
Status