[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: What’s next?
From: |
Maxim Cournoyer |
Subject: |
Re: What’s next? |
Date: |
Sat, 03 Jun 2017 14:16:28 -0700 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Hello Ludovic,
address@hidden (Ludovic Courtès) writes:
> Maxim Cournoyer <address@hidden> skribis:
>
>> Hi,
>>
>> address@hidden (Ludovic Courtès) writes:
>>
>>> Hi Brendan,
>>>
>>> Brendan Tildesley <address@hidden> skribis:
>>>
>>>> One little annoyance I have is that guix takes every opportunity to
>>>> update the list of substitutes when guix build, guix package -u, etc...
>>>> is run, and fills my terminal with output like:
>>>>
>>>> substitute: updating list of substitutes from
>>>> 'https://mirror.hydra.gnu.org'... 100.0%
>>>> substitute: updating list of substitutes from
>>>> 'https://mirror.hydra.gnu.org'... 100.0%
>>>> substitute: updating list of substitutes from
>>>> 'https://mirror.hydra.gnu.org'... 100.0%
>>>> substitute: updating list of substitutes from
>>>> 'https://mirror.hydra.gnu.org'... 100.0%
>>>> ...
>>>
>>> I agree, it’s actually a huge annoyance. It relates to grafts and how
>>> they are implemented; I took a stab at fixing this a while back but the
>>> approach turned out to be (mostly?) misguided:
>>>
>>> https://bugs.gnu.org/22990
>>>
>>> Would be worth thinking through it again!
>>
>> Maybe we could make a timer variable configurable, so that at least it
>> doesn't try to refresh this information at *every* guix command?
>
> That’s not what’s happening. When you see repeated lines that go
> directly to 100%, that’s because it’s fetching metadata for just a
> single package, and does that one by one.
>
> In other cases, it fetches as many as possible at once, and uses HTTP
> pipelining to send all these requests to hydra.gnu.org.
My observation was that for the same exact command (I just tried: "guix
environment emacs-el-mock") entered twice:
--8<---------------cut here---------------start------------->8---
$ guix environment emacs-el-mock
substitute: updating list of substitutes from 'https://bayfront.guixsd.org'...
0.0
substitute: updating list of substitutes from 'https://bayfront.guixsd.org'...
33.3
[...] # (downloads a bunch of substitute)
[env]$ exit
$ guix environment emacs-el-mock
substitute: updating list of substitutes from 'https://bayfront.guixsd.org'...
100.0%
substitute: updating list of substitutes from 'https://bayfront.guixsd.org'...
100.0%
substitute: updating list of substitutes from 'https://bayfront.guixsd.org'...
100.0%
[env]$
--8<---------------cut here---------------end--------------->8---
We can see that a connection is made to the substitute server(s) and
data is retrieved each time the command is entered. Why does it need to
refresh the list of substitutes the second time? Everything needed is
already in the store.
Maxim
- Re: What’s next?,
Maxim Cournoyer <=