From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 02 11:10:05 2017 Received: (at 28659) by debbugs.gnu.org; 2 Oct 2017 15:10:05 +0000 Received: from localhost ([127.0.0.1]:44314 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dz2M9-0001kB-Dm for submit@debbugs.gnu.org; Mon, 02 Oct 2017 11:10:05 -0400 Received: from eggs.gnu.org ([208.118.235.92]:43477) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dz2M8-0001je-5S for 28659@debbugs.gnu.org; Mon, 02 Oct 2017 11:10:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dz2Ly-00068m-N1 for 28659@debbugs.gnu.org; Mon, 02 Oct 2017 11:09:58 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40754) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dz2Ll-0005nx-VE; Mon, 02 Oct 2017 11:09:42 -0400 Received: from [193.50.110.164] (port=46120 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dz2Ll-00026o-IA; Mon, 02 Oct 2017 11:09:41 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Jan Nieuwenhuizen Subject: Re: bug#28659: v0.13: guix pull fails; libgit2-0.26.0 and 0.25.1 content hashes fail References: <877ewf18d4.fsf@gnu.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 11 =?utf-8?Q?Vend=C3=A9miaire?= an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 02 Oct 2017 17:09:39 +0200 In-Reply-To: <877ewf18d4.fsf@gnu.org> (Jan Nieuwenhuizen's message of "Sun, 01 Oct 2017 12:16:07 +0200") Message-ID: <87o9ppoabw.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28659 Cc: 28659@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hello, Jan Nieuwenhuizen skribis: > As reported by laertus on irc[0]: guix pull on 0.13 without substitutes f= ails I just checked and we do have substitutes, but I understand it doesn=E2=80= =99t help here. > guix pull > > Starting download of /tmp/guix-file.3r6cH0 > From https://git.savannah.gnu.org/cgit/guix.git/snapshot/master.tar.g= z... > =E2=80=A6.tar.gz 5.7MiB/s 00:02 | = 13.6MiB transferred > unpacking '/gnu/store/sginfwnrcfqn1far31gmzlaffd8xlxyy-guix-latest.ta= r.gz'... > > Starting download of /gnu/store/c3npgqn9ag2ypi9bda1g779wwwlcqqrf-libg= it2-0.25.1.tar.gz > From https://github.com/libgit2/libgit2/archive/v0.25.1.tar.gz... > following redirection to `https://codeload.github.com/libgit2/libgit2= /tar.gz/v0.25.1'... > v0.25.1 6.1MiB/s 00:01 | 4.1MiB = transferred > output path `/gnu/store/c3npgqn9ag2ypi9bda1g779wwwlcqqrf-libgit2-0.25= .1.tar.gz' should have sha256 hash `1cdwcw38frc1wf28x5ppddazv9hywc718j92f3x= a3ybzzycyds3s', instead has `0ywcxw1mwd56c8qc14hbx31bf198gxck3nja3laxyglv7l= 57qp26' What=E2=80=99s sad here is that we do have the right tarball at: https://mirror.hydra.gnu.org/file/libgit2-0.25.1.tar.gz/sha256/1cdwcw38fr= c1wf28x5ppddazv9hywc718j92f3xa3ybzzycyds3s The problem is that the hash check is performed by guix-daemon itself, not by =E2=80=9Cguix perform-download=E2=80=9D. So when guix-daemon diagno= ses a hash mismatch, it=E2=80=99s too late and we cannot try again and use the content-addressed mirror. A crude but helpful fix would be to have perform-download compute the hash by itself and act accordingly. It=E2=80=99s crude because that means = that we=E2=80=99d be computing the hash twice: once in =E2=80=98guix perform-dow= nload=E2=80=99 and a second time in guix-daemon. For archives below ~20=C2=A0MiB it=E2=80=99s p= robably OK though. Thoughts? In the future, with the daemon written in Guile, it=E2=80=99s one area wher= e we could achieve better integration and coordination among the various pieces. Ludo=E2=80=99.