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