diff mbox series

[bug#61587,7/8] services: network-manager: Set service canonical-name to NetworkManager.

Message ID a9fee030e2589811707751b010367b7a4995faab.1676667941.git.mirai@makinata.eu
State New
Headers show
Series networking services refactoring | expand

Commit Message

Bruno Victal Feb. 17, 2023, 9:14 p.m. UTC
According to the semantics in [1], 'networking should be a "virtual service"
and NetworkManager its canonical-name. This does not influence
existing services and they should continue to use the 'networking symbol.

One visible change is that 'herd status' doesn't show 'networking' anymore,
instead listing 'NetworkManager' in its place but both symbols are can be used
to start and stop the same service.

Note: Though the symbol NetworkManager doesn't really conform with the overall kebab-case
used throughout Guix, this is intentional as we really want to make it clear that
that the symbol NetworkManager really refers to the software called NetworkManager,
since it's a canonical name here. (rather than risk misleading the user to interpret
the symbol network-manager as a symbol for some unspecific network management software)


[1]: https://www.gnu.org/software/shepherd/manual/html_node/Jump-Start.html

* gnu/services/networking.scm (network-manager-shepherd-service): Make 'networking a
virtual service and set 'NetworkManager as its canonical name.
---
 gnu/services/networking.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Ludovic Courtès March 3, 2023, 5:15 p.m. UTC | #1
Bruno Victal <mirai@makinata.eu> skribis:

>        (list (shepherd-service
>               (documentation "Run the NetworkManager.")
> -             (provision '(networking))
> +             (provision '(NetworkManager networking))

We could discuss this at length, but I’m in favor of either the status
quo, or:

  (provision '(networking network-manager))

WDYT?

Ludo’.
Bruno Victal March 3, 2023, 5:20 p.m. UTC | #2
On 2023-03-03 17:15, Ludovic Courtès wrote:
> Bruno Victal <mirai@makinata.eu> skribis:
> 
>>        (list (shepherd-service
>>               (documentation "Run the NetworkManager.")
>> -             (provision '(networking))
>> +             (provision '(NetworkManager networking))
> 
> We could discuss this at length, but I’m in favor of either the status
> quo, or:
> 
>   (provision '(networking network-manager))
> 
> WDYT?

The ordering matters here, putting 'networking first means that 'network-manager is the virtual service and that something like
connman can provide 'network-manager which is absurd.


Cheers,
Bruno
Ludovic Courtès March 6, 2023, 3:20 p.m. UTC | #3
Bruno Victal <mirai@makinata.eu> skribis:

> On 2023-03-03 17:15, Ludovic Courtès wrote:
>> Bruno Victal <mirai@makinata.eu> skribis:
>> 
>>>        (list (shepherd-service
>>>               (documentation "Run the NetworkManager.")
>>> -             (provision '(networking))
>>> +             (provision '(NetworkManager networking))
>> 
>> We could discuss this at length, but I’m in favor of either the status
>> quo, or:
>> 
>>   (provision '(networking network-manager))
>> 
>> WDYT?
>
> The ordering matters here, putting 'networking first means that 'network-manager is the virtual service and that something like
> connman can provide 'network-manager which is absurd.

Hmm OK, I don’t mind the ordering.

In the Shepherd there’s really the “canonical name” and “other names”;
that’s all ordering changes.

Ludo’.
diff mbox series

Patch

diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 55bc2cf362..bcde0d0db8 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -1229,7 +1229,7 @@  (define (network-manager-shepherd-service config)
           (vpn  (vpn-plugin-directory vpn-plugins)))
       (list (shepherd-service
              (documentation "Run the NetworkManager.")
-             (provision '(networking))
+             (provision '(NetworkManager networking))
              (requirement `(user-processes dbus-system loopback
                             ,@shepherd-requirement
                             ;; TODO: iwd? is deprecated and should be passed