guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: updating list of substitutes


From: Ludovic Courtès
Subject: Re: updating list of substitutes
Date: Mon, 12 Oct 2015 19:03:51 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Pjotr Prins <address@hidden> skribis:

> On Mon, Oct 12, 2015 at 01:15:01AM -0400, Mark H Weaver wrote:
>> 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?
>
> Right. So, why don't we have one list for every build? That would save
> connecting to the one single server every time and be less fragile.

Again, it’s not “every time,” as we’ve seen.  :-)

I’m not sure what you have in mind with “one list for every build.”

Quoth
<http://www.gnu.org/software/guix/manual/html_node/Substitutes.html>:

  Substitutes can be anything resulting from a derivation build (see
  Derivations).

Each derivation has a number of dependencies, and for each dependency
that is not already available locally, we want to know whether
substitutes are available.  This is the list we’re talking about.  It
depends on what’s available in the local store, the state of the local
substitute cache, etc.

Having said that, I’m all for fewer network accesses.  When we have a
new front-end with more disk space, we can hopefully have it retain
build products for longer, and thus increase the TTL.

In the meantime, anyone can run ‘guix publish’ and pass the URL via
‘--substitute-urls’.

HTH!

Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]