Subject: bug#28749: guix build --subsitute-urls does not override guix-daemon run with --no-subsitutes

From: Ricardo Wurmus <[email-masked]>
Date: Sat, 14 Oct 2017 15:23:45 +0200

Leo Famulari <[email-masked]> writes:

> On Fri, Oct 13, 2017 at 09:59:18AM -0400, Maxim Cournoyer wrote:
>> Although, I would argue that the current behavior is
>> non-intuitive. While true that the manual skim about how one can achieve
>> this, the reference to "The Store" is not helpful; it doesn't even
>> mention the "set-build-options" procedure. Also, leaving the command
>> line to plug directly into Guix's API from Guile is inconvenient at best.
>>
>> It seems to me that the current behavior of other options that affect
>> the guix-daemon operation are that user options override the
>> corresponding guix-daemon defaults; maybe that's what lead me and others
>> to think that --substitute-urls should attempt to do what the user
>> desires?
>
> Yeah, maybe it should be changed to be consistent with the behavior of
> the other options.

I don’t know.  Substitute sources have to authorized before downloaded
substitutes are accepted by the daemon.  This authorization happens as
the root user, as it constitutes a system-wide change.

When the daemon is run by the root user to disable substitutes
system-wide, maybe we should not let users override that decision, just
like we don’t let them override from what server binaries are to be
accepted.

I’m not convinced by the reasoning above, but I’d like to offer this
thought for consideration anyway.

>> Otherwise, we could at least give advice on the output of a Guix command
>> when the user passed --substitute-urls when the guix-daemon substitutes
>> were disabled to make this clear(er).
>
> Agreed, we should at least do that.

Yes, this is a good idea.

--
Ricardo

GPG: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
https://elephly.net