unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#20217: Allow users to use the daemon's default settings
@ 2015-03-28 14:36 Ludovic Courtès
  2015-10-28 14:36 ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2015-03-28 14:36 UTC (permalink / raw)
  To: 20217

[-- Attachment #1: Type: text/plain, Size: 62 bytes --]

The message below from guix-devel says it all.

Ludo’.


[-- Attachment #2: Type: message/rfc822, Size: 6164 bytes --]

From: ludo@gnu.org (Ludovic Courtès)
To: Mark H Weaver <mhw@netris.org>
Cc: guix-devel@gnu.org
Subject: Using the daemon’s default settings
Date: Mon, 23 Mar 2015 22:11:17 +0100
Message-ID: <87pp7zv2q2.fsf_-_@gnu.org>

Mark H Weaver <mhw@netris.org> skribis:

> Ludovic Courtès <ludo@gnu.org> writes:
>
>> commit 4d58122071bbd7bb56c9658a9bbe7621bf3e423d
>> Author: Ludovic Courtès <ludo@gnu.org>
>> Date:   Sun Mar 22 23:43:25 2015 +0100
>>
>>     store: Default to a non-empty list of substituters.
>>     
>>     Fixes <http://bugs.gnu.org/20163>.
>>     Reported by Mark H Weaver <mhw@netris.org>.
>>     
>>     * guix/store.scm (%default-substitute-urls): New variable.
>>       (set-build-options): Change default value of #:substitute-urls to
>>       %DEFAULT-SUBSTITUTE-URLS.

[...]

> Does this mean that even if I've configured my daemon to use a different
> set of substitute-urls, when I run 'guix' as root those settings will be
> overridden?

Yes.

> That seems suboptimal.

Right.

> We have a similar problem with the values of --cores and --max-jobs
> passed to guix-daemon being ignored because they are always overridden
> by our client.

Indeed.

> How can we fix these so that the daemon's settings are used unless the
> user specifically asks to override them in the client?

If you look at nix-daemon.cc:543, there’s currently no way for a client
to say “default value.”  The only way for a client to get the daemon’s
default values is to not call the ‘set-build-options’ RPC at all; it’s
all or nothing.

I think the way forward would be to add a new RPC, say
‘set-build-options2’, that would take a list of key/value pairs, where
keys are option names.  Options not mentioned in a ‘set-build-options2’
call would keep their default value.

How does that sound?

Thanks,
Ludo’.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#20217: Allow users to use the daemon's default settings
  2015-03-28 14:36 bug#20217: Allow users to use the daemon's default settings Ludovic Courtès
@ 2015-10-28 14:36 ` Ludovic Courtès
  2017-01-15 14:57   ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2015-10-28 14:36 UTC (permalink / raw)
  To: 20217

ludo@gnu.org (Ludovic Courtès) skribis:

> Mark H Weaver <mhw@netris.org> skribis:
>
>> Ludovic Courtès <ludo@gnu.org> writes:
>>
>>> commit 4d58122071bbd7bb56c9658a9bbe7621bf3e423d
>>> Author: Ludovic Courtès <ludo@gnu.org>
>>> Date:   Sun Mar 22 23:43:25 2015 +0100
>>>
>>>     store: Default to a non-empty list of substituters.
>>>     
>>>     Fixes <http://bugs.gnu.org/20163>.
>>>     Reported by Mark H Weaver <mhw@netris.org>.
>>>     
>>>     * guix/store.scm (%default-substitute-urls): New variable.
>>>       (set-build-options): Change default value of #:substitute-urls to
>>>       %DEFAULT-SUBSTITUTE-URLS.
>
> [...]
>
>> Does this mean that even if I've configured my daemon to use a different
>> set of substitute-urls, when I run 'guix' as root those settings will be
>> overridden?
>
> Yes.

This particular issue of substitute URLs is fixed in fb4bf72.

The more general problem remains though: for all the other options, like
max-build-jobs, timeout, etc., the client settings take precedence over
the daemon settings because the ‘set-build-options’ RPC doesn’t provide
a way to say “use default value.”

The fix for that will be either: (1) a ‘set-build-options2’ RPC that has
a way to leave some settings unchanged, or (2) a ‘get-build-options’ RPC.

Option (1) is simpler and more efficient, but option (2) could be
interesting.

Ludo’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#20217: Allow users to use the daemon's default settings
  2015-10-28 14:36 ` Ludovic Courtès
@ 2017-01-15 14:57   ` Ludovic Courtès
  0 siblings, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2017-01-15 14:57 UTC (permalink / raw)
  To: 20217-done

ludo@gnu.org (Ludovic Courtès) skribis:

> ludo@gnu.org (Ludovic Courtès) skribis:
>
>> Mark H Weaver <mhw@netris.org> skribis:
>>
>>> Ludovic Courtès <ludo@gnu.org> writes:
>>>
>>>> commit 4d58122071bbd7bb56c9658a9bbe7621bf3e423d
>>>> Author: Ludovic Courtès <ludo@gnu.org>
>>>> Date:   Sun Mar 22 23:43:25 2015 +0100
>>>>
>>>>     store: Default to a non-empty list of substituters.
>>>>     
>>>>     Fixes <http://bugs.gnu.org/20163>.
>>>>     Reported by Mark H Weaver <mhw@netris.org>.
>>>>     
>>>>     * guix/store.scm (%default-substitute-urls): New variable.
>>>>       (set-build-options): Change default value of #:substitute-urls to
>>>>       %DEFAULT-SUBSTITUTE-URLS.
>>
>> [...]
>>
>>> Does this mean that even if I've configured my daemon to use a different
>>> set of substitute-urls, when I run 'guix' as root those settings will be
>>> overridden?
>>
>> Yes.
>
> This particular issue of substitute URLs is fixed in fb4bf72.
>
> The more general problem remains though: for all the other options, like
> max-build-jobs, timeout, etc., the client settings take precedence over
> the daemon settings because the ‘set-build-options’ RPC doesn’t provide
> a way to say “use default value.”

Fixed in commit deac976d3d26c7b85b9c90efb424b0aa94f1027c (at last!) by
moving max-build-jobs, build-cores, and max-silent-time to the optional
key/value option list at the end of ‘set-build-options’.

Ludo’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-01-15 14:58 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-28 14:36 bug#20217: Allow users to use the daemon's default settings Ludovic Courtès
2015-10-28 14:36 ` Ludovic Courtès
2017-01-15 14:57   ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).