From mboxrd@z Thu Jan 1 00:00:00 1970 From: myglc2 Subject: Re: successful installation, but problems updating Date: Sat, 11 Nov 2017 22:36:26 -0500 Message-ID: <86o9o8p3r9.fsf@gmail.com> References: <20171106091656.6e775deb@graviton.instanton> <20171106111829.1e07b138@hitpoints.browniehive.net> <87fu9mptdl.fsf@gmail.com> <20171110162818.GA11031@jasmine.lan> <8760ahpv8x.fsf@gmail.com> <86bmk8rfz9.fsf@gmail.com> <20171112012904.GC13886@jasmine.lan> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:52178) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eDj4T-0006n7-75 for help-guix@gnu.org; Sat, 11 Nov 2017 22:36:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eDj4Q-0006fR-2I for help-guix@gnu.org; Sat, 11 Nov 2017 22:36:33 -0500 Received: from mail-qk0-x229.google.com ([2607:f8b0:400d:c09::229]:54180) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eDj4P-0006fG-T2 for help-guix@gnu.org; Sat, 11 Nov 2017 22:36:29 -0500 Received: by mail-qk0-x229.google.com with SMTP id j202so5310283qke.10 for ; Sat, 11 Nov 2017 19:36:29 -0800 (PST) In-Reply-To: <20171112012904.GC13886@jasmine.lan> (Leo Famulari's message of "Sat, 11 Nov 2017 20:29:04 -0500") List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Leo Famulari Cc: "help-guix@gnu.org" On 11/11/2017 at 20:29 Leo Famulari writes: > On Sat, Nov 11, 2017 at 10:29:30AM -0500, myglc2 wrote: >> On 11/10/2017 at 15:30 Chris Marusich writes: >> > Thank you for the clarification. This is what I did not understand. I >> > read the manual and got the impression that when --fallback has not been >> > given, if a given substitute cannot be found (regardless of whether or >> > not a substitute server claimed to provide one), then Guix will not >> > build it. I see now that my understanding was mistaken. >> >> I had this mistaken impression too. > > It's important to remember that Guix is a build-from-source system. The > use of pre-compiled binaries is an optimization made possible by the > functional package model. Yes, but ... the average bear using GuixSD, having internalized Guix' assurances that substitutes are reliably the same as what they could build-from-source locally, naturally assumes that substitutes will be used. Unfortunately the current "hot rolling" of updates into origin/master means that hydra has no way to get reliably "100% ahead" of users who update frequently. Further hydra does not keep a "deep set" of previous builds, so a user may well find themselves building old stuff. This treats our users to a baffling, herky-jerky experience, with local builds seeming to occur at random. With improvements to the way changes are rolled in and to hydra, et al., the "substitution fraction" that users experiences should increase, but will most likely never reach 100% and will remain variable. So a user coming from something like debian encounters a different user experience that may well be disconcerting. This makes it important to find a way of explaining substitutes, what is happening, and what to expect, so that our users will feel be confident that everything is OK. Personally I prefer herky-jerky + "total source artistic control" + reliable roll-back to speedy binary-only update + unknown provenance + no roll back. In other words, "I drank the kool aid". I also have a couple speedy servers so the GuixSD builds don't interrupt my work flow. But I feel for the noobs on IRC whose machines have been kidnapped by GuixSD for huge, unpredictable, chunks of time. >> +When substitutes are enabled (the default) and a substitute is not >> +available the build will take place locally. If a substitute is >> +available but substitution fails, e.g., the substitute server returns >> +404, 504, times out, or some other unexpected problem occurs, guix stops >> +and reports an error unless --fallback or --keep-going options are >> +specified. > > To clarify, the default status of substitutes is different for Guix > (default disabled) and GuixSD (default enabled). Oh, WOW! Does the doc say that? And, why is it different?