Pjotr Prins <[email protected]> writes:

> On Sun, Oct 11, 2015 at 08:39:32PM +0200, Ludovic Courtès wrote:
>> > It appears to me that if the list does not change it should not be
>> > downloaded.
>> 
>> It’s not downloaded “every time.”
>> 
>> 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

Reply via email to