From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#21949: git-2.6.3: 108M download, but 23M installed Date: Wed, 18 Nov 2015 19:12:43 +0100 Message-ID: <87mvubnplw.fsf@gnu.org> References: <564C22B1.8060106@gmx.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46684) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zz7F7-0004s4-A3 for bug-guix@gnu.org; Wed, 18 Nov 2015 13:14:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zz7F4-0007f6-4Q for bug-guix@gnu.org; Wed, 18 Nov 2015 13:14:05 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:53936) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zz7F4-0007eu-1s for bug-guix@gnu.org; Wed, 18 Nov 2015 13:14:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Zz7F3-0007c4-MU for bug-guix@gnu.org; Wed, 18 Nov 2015 13:14:01 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <564C22B1.8060106@gmx.net> (Florian Paul Schmidt's message of "Wed, 18 Nov 2015 08:03:13 +0100") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org To: Florian Paul Schmidt Cc: 21949@debbugs.gnu.org Florian Paul Schmidt 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=E2=80=99= 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=E2=80=99.