* 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 external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.