Florian Paul Schmidt <mista.ta...@gmx.net> skribis: > I noticed this earlier and wonder if it's a bug or not: > > When downloading the git-2.6.3 substitute from hydra it is a hefty > 108M download, but installed in the store it's just 23M.
The fact that the result is small is due to hard links (under libexec/git-core), resulting from deduplication performed by the daemon: --8<---------------cut here---------------start------------->8--- $ du -msc /gnu/store/8xk88mnx31b6i9jz0n7x7zm4xrnknj3b-git-2.6.3 23 /gnu/store/8xk88mnx31b6i9jz0n7x7zm4xrnknj3b-git-2.6.3 23 totalo $ du -mscl /gnu/store/8xk88mnx31b6i9jz0n7x7zm4xrnknj3b-git-2.6.3 249 /gnu/store/8xk88mnx31b6i9jz0n7x7zm4xrnknj3b-git-2.6.3 249 totalo --8<---------------cut here---------------end--------------->8--- The problem is that the Nix archive format (Nar) is dumb and doesn’t do anything sensible with hard links. So the actual archive is indeed that big: --8<---------------cut here---------------start------------->8--- $ guix archive --export /gnu/store/8xk88mnx31b6i9jz0n7x7zm4xrnknj3b-git-2.6.3 | wc -c 259217552 --8<---------------cut here---------------end--------------->8--- Hydra compresses it with bzip2, hence the 108 MiB. Git is obviously a pathological case. However, the issue is a more global one that I think we should address using content-addressable storage: https://lists.gnu.org/archive/html/guix-devel/2015-03/msg00666.html Ludo’.