Subject: Re: bug#43079: guix ignores available substitutes

From: Ludovic Courtès <[email-masked]>
Date: Mon, 31 Aug 2020 22:54:40 +0200

Hi Jonathan,

Jonathan Brielmaier <[email-masked]> skribis:

> On 28.08.20 16:23, Ludovic Courtès wrote:
>> I’m not sure what conclusions you’re drawing here?  :-)
>
> That my laptop doesn't really get substitutes...
>
>> As you found, each entry in /var/guix/substitute/cache has a TTL,
>> including for negative lookups.  This is why one can observe different
>> behaviors on different machines: one machine can think the substitute is
>> unavailable (cached negative entry not yet expired), while the other got
>> a positive lookup soon after the substitute had been “baked” on the
>> server.
>>
>> TTLs vary.  For successful lookups, this is usually a long TTL (see
>> ‘guix publish --ttl’).  For negative lookups, there are two cases: a
>> 1h-or-so TTL for “absolute no”, and a 5mn TTL for
>> “substitute-being-baked no”.
>
> So my question is how I can influence/change that behaviour for my
> client? Because the current situation on my laptop is awful. And if it
> doesn't get better I will move away that system from Guix System...

I understand and sympathize with your frustration.  The issue is that
the build farm has been lagging behind: some substitutes tend to not be
available quickly enough, and in some cases it’s particularly annoying
(icecat, libreoffice, you name it.)

Before running ‘guix upgrade’, you can try:

  guix weather $(guix package -I | cut -f1)

That’ll show you whether now is a good time to upgrade, or whether you
should wait a little longer to do that.

As you know, there’s work to improve the situation on the build farm
(and perhaps with the tools themselves), but until that happens, this is
what I’d recommend.

HTH!

Ludo’.