From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#17150: Stale bootstrap/*/guile-2.0.9.tar.xz files are not detected Date: Tue, 01 Apr 2014 11:50:08 +0200 Message-ID: <87eh1hl6pb.fsf@gnu.org> References: <8761munpip.fsf@yeeloong.lan> <8761mu57ui.fsf@gnu.org> <87lhvqm179.fsf@yeeloong.lan> 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]:55464) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WUvLb-0004fl-KM for bug-guix@gnu.org; Tue, 01 Apr 2014 05:51:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WUvLS-00031F-IA for bug-guix@gnu.org; Tue, 01 Apr 2014 05:51:11 -0400 Received: from debbugs.gnu.org ([140.186.70.43]:57648) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WUvLS-00031B-EN for bug-guix@gnu.org; Tue, 01 Apr 2014 05:51:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1WUvLR-000617-W9 for bug-guix@gnu.org; Tue, 01 Apr 2014 05:51:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87lhvqm179.fsf@yeeloong.lan> (Mark H. Weaver's message of "Mon, 31 Mar 2014 18:51:22 -0400") 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: Mark H Weaver Cc: 17150@debbugs.gnu.org Mark H Weaver skribis: > ludo@gnu.org (Ludovic Court=C3=A8s) writes: > >> Mark H Weaver skribis: >> >>> I just realized that my x86_64 and Loongson 3A systems have spent an >>> enormous amount of time building the new guix master branch based on >>> outdated bootstrap/*/guile-2.0.9.tar.xz. >>> >>> The issue is that if you simply "git pull" from a build directory with >>> older versions of bootstrap/*/guile-2.0.9.tar.xz, although the various >>> places where the hashes are stored are updated, those new hashes are >>> never checked against the existing files. Therefore, you can proceed to >>> build an entire system based on an outdated bootstrap guile, and with >>> hashes that don't match what's on hydra and what other people are >>> building. >> >> Right, =E2=80=98guix pull=E2=80=99 doesn=E2=80=99t survive updates of th= e bootstrap Guile >> tarballs, because it doesn=E2=80=99t try to download it (see =E2=80=98bu= ild-guix=E2=80=99 in >> guix/build/pull.scm.) That=E2=80=99s rare in practice, but still a seri= ous >> limitation as you note. :-/ > > Hmm, yes, I suppose that "guix pull" is more relevant for typical users, > but actually that's not what I was talking about above. I was talking > about "git pull" followed by "make". Ah, sorry! Ah yes, I see what the problem is. Only build-aux/download.scm checks the hash, so indeed, if the file is stale or modified later, Guix doesn=E2=80=99t notice. Perhaps we should add a =E2=80=98check-hash=E2=80=99 rule or something in t= he makefile, that automatically triggers before installation or something? Ludo=E2=80=99.