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
NAR hash mismatch on zip file flake inputs only in Nix 2.21.0 #10649
Labels
Comments
edolstra
added a commit
to edolstra/nix
that referenced
this issue
May 9, 2024
In streaming mode, libarchive doesn't handle symlinks in zip files correctly. So write the entire file to disk so libarchive can access it in random-access mode. Fixes NixOS#10649. This was broken in cabee98.
This is fixed in #10675. Note: you may need to |
This issue has been mentioned on NixOS Discourse. There might be relevant details there: https://discourse.nixos.org/t/2024-05-15-nix-team-meeting-minutes-146/45491/1 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
There seems to have been a change in how Zip files are hashed in flakes between 2.20.6 and 2.21.0.
error: NAR hash mismatch in input 'https://storage.googleapis.com/chromium-browser-snapshots/Mac_Arm/1204193/chrome-mac.zip?narHash=sha256-UjmOD5zMSZyZbb05bq1zJTGF1tAuF7oYcyzo4tVu7GQ%3D', expected 'sha256-UjmOD5zMSZyZbb05bq1zJTGF1tAuF7oYcyzo4tVu7GQ=' but got 'sha256-jsM51UJ8/2kfo4FnUjfxAFcWdVRw9BN3NcAu3zprUEY='
Steps To Reproduce
Save these files in working directory
flake.nix
flake.lock
The command
docker run -it -v $PWD:/app nixos/nix:2.21.0 bash -c "cd /app && nix build --extra-experimental-features 'flakes nix-command'"
throws the errorYet
docker run -it -v $PWD:/app nixos/nix:2.20.6 bash -c "cd /app && nix build --extra-experimental-features 'flakes nix-command'"
works perfectly.Expected behavior
The hash in the lock file should be accepted by all versions of Nix, or at least be forwards compatible.
nix-env --version
outputAdditional context
Workaround: use the URL scheme
file+https://
which causes Nix to not unpack the zip, then handle the unzip manually insidemkDerivation
Priorities
Add 👍 to issues you find important.
The text was updated successfully, but these errors were encountered: