From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: Re: updating list of substitutes Date: Mon, 12 Oct 2015 01:15:01 -0400 Message-ID: <87d1wk8y7e.fsf@netris.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> 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]:45803) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZlVSV-0005HX-Pu for guix-devel@gnu.org; Mon, 12 Oct 2015 01:15:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZlVSS-0001CT-Cv for guix-devel@gnu.org; Mon, 12 Oct 2015 01:15:39 -0400 In-Reply-To: <20151011212714.GA9401@thebird.nl> (Pjotr Prins's message of "Sun, 11 Oct 2015 23:27:14 +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 writes: > On Sun, Oct 11, 2015 at 08:39:32PM +0200, Ludovic Court=C3=A8s wrote: >> > It appears to me that if the list does not change it should not be >> > downloaded. >>=20 >> It=E2=80=99s not downloaded =E2=80=9Cevery time.=E2=80=9D >>=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. > >> Positive caches (for substitutes that are available) expire after 36h; >> negative caches (substitutes that are missing) expire after 3h. > > The weird thing is that most times I install a new package it does a > lookup. Only rarely it does not. According to the TTL it should then > check every 3hrs at most? Somehow I don't understand why we need to > download the substitute list every time I install a new package. The phrase "the substitute list" suggests a single, complete list of all available substitutes, but there is no such list. Instead, quoting Ludovic above: "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." 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). Does that make sense? Regards, Mark