Skip to content

Instantly share code, notes, and snippets.

@basile-henry
Created October 13, 2020 15:44
Show Gist options
  • Save basile-henry/7bb38cf12fbcb45c6aa4728052f4170d to your computer and use it in GitHub Desktop.
Save basile-henry/7bb38cf12fbcb45c6aa4728052f4170d to your computer and use it in GitHub Desktop.
~/hash-test
➜ curl -L https://github.com/dhall-lang/dhall-haskell/releases/download/1.35.0/dhall-1.35.0-x86_64-linux.tar.bz2 --output dhall-original.tar.bz2 2>/dev/null
~/hash-test took 12s706ms
➜ mkdir dhall # create a directory to unpack into
~/hash-test
➜ (cd dhall && tar xvjf ../dhall-original.tar.bz2)
./
./bin/
./bin/dhall
~/hash-test
➜ tar cvjf dhall-parent.tar.bz2 dhall # make the tarball from the parent directory
dhall/
dhall/bin/
dhall/bin/dhall
~/hash-test
➜ (cd dhall && tar cvjf ../dhall-child.tar.bz2 bin) # make the tarball from the child directory
bin/
bin/dhall
~/hash-test
➜ sha256sum dhall-*.tar.bz2
c7e8e2bb04a1c76085f75049ad063e3bb197f551be1774a8666645942df6f08a dhall-child.tar.bz2
4475592f8923be00f63149489d8dacbed70bba5ce29f61ba82be4997cda9a9d0 dhall-original.tar.bz2
ea0f41cbb88af18feadfdf672155aad93b0cc63a0b0644109fa88fe33418e1e9 dhall-parent.tar.bz2
~/hash-test
➜ nix-prefetch-url --unpack file://$PWD/dhall-original.tar.bz2
unpacking...
[2.5 MiB DL]
path is '/nix/store/dmvxp88i74p9vkimrhf04285w394j2xz-dhall-original.tar.bz2'
0aazv4aaif26hyxrnfq0pkmpvzyzx1y0vmb5nkhi8rc0zh0wmybc
~/hash-test
➜ nix-prefetch-url --unpack file://$PWD/dhall-parent.tar.bz2
unpacking...
[2.5 MiB DL]
path is '/nix/store/brgzwnvaw3xnkwy9yr8744vlpb0wp686-dhall-parent.tar.bz2'
0xy6bqasr0z3pnrav8mqc9jxjwz1xck0v6g0pgrr3rfgbi4l0hjz
~/hash-test
➜ nix-prefetch-url --unpack file://$PWD/dhall-child.tar.bz2
unpacking...
[2.5 MiB DL]
path is '/nix/store/dxi2ndm57mqlj4iy64bmqg6qas1w9yvb-dhall-child.tar.bz2'
0aazv4aaif26hyxrnfq0pkmpvzyzx1y0vmb5nkhi8rc0zh0wmybc
~/hash-test took
➜ cat test.nix
{
parent = builtins.fetchTarball {
url = "file:///home/basile/hash-test/dhall-parent.tar.bz2";
sha256 = "0000000000000000000000000000000000000000000000000000";
};
child = builtins.fetchTarball {
url = "file:///home/basile/hash-test/dhall-child.tar.bz2";
sha256 = "0000000000000000000000000000000000000000000000000000";
};
original = builtins.fetchTarball {
url = "file:///home/basile/hash-test/dhall-original.tar.bz2";
sha256 = "0000000000000000000000000000000000000000000000000000";
};
}
~/hash-test
➜ nix-instantiate --eval test.nix -A original
error: hash mismatch in file downloaded from 'file:///home/basile/hash-test/dhall-original.tar.bz2':
wanted: sha256:0000000000000000000000000000000000000000000000000000
got: sha256:0xy6bqasr0z3pnrav8mqc9jxjwz1xck0v6g0pgrr3rfgbi4l0hjz
~/hash-test
✗ nix-instantiate --eval test.nix -A parent
error: hash mismatch in file downloaded from 'file:///home/basile/hash-test/dhall-parent.tar.bz2':
wanted: sha256:0000000000000000000000000000000000000000000000000000
got: sha256:0xy6bqasr0z3pnrav8mqc9jxjwz1xck0v6g0pgrr3rfgbi4l0hjz
~/hash-test
✗ nix-instantiate --eval test.nix -A child
error: hash mismatch in file downloaded from 'file:///home/basile/hash-test/dhall-child.tar.bz2':
wanted: sha256:0000000000000000000000000000000000000000000000000000
got: sha256:0aazv4aaif26hyxrnfq0pkmpvzyzx1y0vmb5nkhi8rc0zh0wmybc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment