From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: updating list of substitutes Date: Mon, 12 Oct 2015 19:03:51 +0200 Message-ID: <871td0auiw.fsf@gnu.org> References: <20150421064525.GA15795@thebird.nl> <87a8y1q49z.fsf@gnu.org> <20150421084028.GB16564@thebird.nl> <20150422114635.GA24566@thebird.nl> <20151011074654.GA8058@thebird.nl> <87wputz1uj.fsf@gnu.org> <20151011212714.GA9401@thebird.nl> <87d1wk8y7e.fsf@netris.org> <20151012060607.GA11012@thebird.nl> 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]:40877) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZlgVz-0006Yq-CF for guix-devel@gnu.org; Mon, 12 Oct 2015 13:04:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZlgVu-0000aU-Kz for guix-devel@gnu.org; Mon, 12 Oct 2015 13:03:59 -0400 In-Reply-To: <20151012060607.GA11012@thebird.nl> (Pjotr Prins's message of "Mon, 12 Oct 2015 08:06:07 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Pjotr Prins Cc: guix-devel@gnu.org Pjotr Prins skribis: > On Mon, Oct 12, 2015 at 01:15:01AM -0400, Mark H Weaver wrote: >> The phrase "the substitute list" suggests a single, complete list of all >> available substitutes, but there is no such list. Instead, quoting >> Ludovic above: >>=20 >> "When building a package FOO, Guix looks for substitutes for FOO >> and its prerequisites (those not already available locally.) It >> maintains in /var/guix/substitute/cache a cache of those lookups." >>=20 >> So, if you build package BAR immediately after building FOO, a different >> set of substitutes is queried, and typically that involves more lookups >> (unless FOO runtime-depends on BAR). >>=20 >> Does that make sense? > > Right. So, why don't we have one list for every build? That would save > connecting to the one single server every time and be less fragile. Again, it=E2=80=99s not =E2=80=9Cevery time,=E2=80=9D as we=E2=80=99ve seen= . :-) I=E2=80=99m not sure what you have in mind with =E2=80=9Cone list for every= build.=E2=80=9D Quoth : Substitutes can be anything resulting from a derivation build (see Derivations). Each derivation has a number of dependencies, and for each dependency that is not already available locally, we want to know whether substitutes are available. This is the list we=E2=80=99re talking about. = It depends on what=E2=80=99s available in the local store, the state of the lo= cal substitute cache, etc. Having said that, I=E2=80=99m all for fewer network accesses. When we have= a new front-end with more disk space, we can hopefully have it retain build products for longer, and thus increase the TTL. In the meantime, anyone can run =E2=80=98guix publish=E2=80=99 and pass the= URL via =E2=80=98--substitute-urls=E2=80=99. HTH! Ludo=E2=80=99.