[PATCH] service: sddm: Have sddm-service-type conflict with other display managers.

DoneSubmitted by Efraim Flashner.
Details
2 participants
  • Efraim Flashner
  • Ludovic Courtès
Owner
unassigned
Severity
normal
E
E
Efraim Flashner wrote on 17 Apr 2020 16:41
(address . guix-patches@gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
20200417144115.2475-1-efraim@flashner.co.il
* gnu/services/sddm.scm (sddm-shepherd-service)[shepherd-service]:
Conflict with 'xorg-server.
---

I was looking over the services list with raingloom on IRC and I noticed
that GDM and Slim both provision xorg-server, while SDDM provisions
display-manager. To ensure that they conflict with each other we can
either:

A: Have SDDM conflict with 'xorg-server

B: Have SDDM also provision 'xorg-server

I'm currently using SDDM (in Wayland mode) to launch an X session of
Enlightenment, so I think it's safe enough to say that SDDM can
provision 'xorg-server.

---

gnu/services/sddm.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (14 lines)
diff --git a/gnu/services/sddm.scm b/gnu/services/sddm.scm
index 1921afce95..aa08859513 100644
--- a/gnu/services/sddm.scm
+++ b/gnu/services/sddm.scm
@@ -171,6 +171,7 @@ Relogin="              (if (sddm-configuration-relogin? config)
          (documentation "SDDM display manager.")
          (requirement '(user-processes))
          (provision '(display-manager))
+         (conflicts-with '(xorg-server))
          (start #~(make-forkexec-constructor #$sddm-command))
          (stop #~(make-kill-destructor)))))
 
-- 
2.26.1
L
L
Ludovic Courtès wrote on 17 Apr 2020 23:00
(name . Efraim Flashner)(address . efraim@flashner.co.il)(address . 40680@debbugs.gnu.org)
87r1wlaku6.fsf@gnu.org
Hi Efraim,

Efraim Flashner <efraim@flashner.co.il> skribis:

Toggle quote (32 lines)
> * gnu/services/sddm.scm (sddm-shepherd-service)[shepherd-service]:
> Conflict with 'xorg-server.
> ---
>
> I was looking over the services list with raingloom on IRC and I noticed
> that GDM and Slim both provision xorg-server, while SDDM provisions
> display-manager. To ensure that they conflict with each other we can
> either:
>
> A: Have SDDM conflict with 'xorg-server
>
> B: Have SDDM also provision 'xorg-server
>
> I'm currently using SDDM (in Wayland mode) to launch an X session of
> Enlightenment, so I think it's safe enough to say that SDDM can
> provision 'xorg-server.
>
> ---
>
> gnu/services/sddm.scm | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/gnu/services/sddm.scm b/gnu/services/sddm.scm
> index 1921afce95..aa08859513 100644
> --- a/gnu/services/sddm.scm
> +++ b/gnu/services/sddm.scm
> @@ -171,6 +171,7 @@ Relogin=" (if (sddm-configuration-relogin? config)
> (documentation "SDDM display manager.")
> (requirement '(user-processes))
> (provision '(display-manager))
> + (conflicts-with '(xorg-server))

‘conflicts-with’ doesn’t exist, right? :-)

But yes, I think (provision '(xorg-server display-manager)) would be
fine.

Or we can even drop ‘display-manager’ since it’s not used anywhere else.

Thanks,
Ludo’.
E
E
Efraim Flashner wrote on 18 Apr 2020 20:01
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 40680@debbugs.gnu.org)
20200418180121.GA4725@E5400
On Fri, Apr 17, 2020 at 11:00:49PM +0200, Ludovic Courtès wrote:
Toggle quote (39 lines)
> Hi Efraim,
>
> Efraim Flashner <efraim@flashner.co.il> skribis:
>
> > * gnu/services/sddm.scm (sddm-shepherd-service)[shepherd-service]:
> > Conflict with 'xorg-server.
> > ---
> >
> > I was looking over the services list with raingloom on IRC and I noticed
> > that GDM and Slim both provision xorg-server, while SDDM provisions
> > display-manager. To ensure that they conflict with each other we can
> > either:
> >
> > A: Have SDDM conflict with 'xorg-server
> >
> > B: Have SDDM also provision 'xorg-server
> >
> > I'm currently using SDDM (in Wayland mode) to launch an X session of
> > Enlightenment, so I think it's safe enough to say that SDDM can
> > provision 'xorg-server.
> >
> > ---
> >
> > gnu/services/sddm.scm | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/gnu/services/sddm.scm b/gnu/services/sddm.scm
> > index 1921afce95..aa08859513 100644
> > --- a/gnu/services/sddm.scm
> > +++ b/gnu/services/sddm.scm
> > @@ -171,6 +171,7 @@ Relogin=" (if (sddm-configuration-relogin? config)
> > (documentation "SDDM display manager.")
> > (requirement '(user-processes))
> > (provision '(display-manager))
> > + (conflicts-with '(xorg-server))
>
> ‘conflicts-with’ doesn’t exist, right? :-)
>

I haven't tried it out for Guix services, but it exists for shepherd
services, according to the manual¹

Toggle quote (5 lines)
> But yes, I think (provision '(xorg-server display-manager)) would be
> fine.
>
> Or we can even drop ‘display-manager’ since it’s not used anywhere else.

Normally I'd be skeptical about dropping it since people might expect it
if they're using sddm, but it'd probably be fine.



--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl6bQHEACgkQQarn3Mo9
g1HWJA/+OO2FO1VUOW9iMPLE5QKlNvLH8+vI4jiO84ykAbf84syra1Vc50spT0Lp
RQW7wYcQ3JtbPDrY/Ua2sKBuuc5ltr6w7+mK5CYksRAHi0PnhrFotM8gPXAiYEGR
HN5B1GsHw33Chy34Yg1E/aB3x1KdxnE4f/rlcxdHdF8xSFMwmedA5cjSLCkMUrUx
Ei1E7R5j71wqLno2xH7x9VzO3J+sKbFrIyCBPpE1Hk7r2xx+juc04tlCIBEFb/5a
rN41ZYW4TaJ0tN5T6C/w81kQFR0F7+OodQPhCcP6BVIFSJMk6mzVLv0dLLnbWtHk
37B5cuWqeDRhDs1KBQ2zfQJPBAIpMBJ3aijTsSEbu5B3FUfRQ5Id/1au0zZeCebk
ZUFkqDVTAUOVcZRhp+GTajsITCsl14YOLgJmYIvtLvIYhrDKIWIGHqvzOh4NQpI6
1uDaOwm/kwoEE+EMc9oMUJNowQ0jMVGDaPB/xuxditMjoMFNITV3e+gWMQYmM8g6
WVbQ9gzCzqTQbL03vN6QZ663dz6N0s+wrHEQgFvWyDL4mxpWK98CfTBoULFaywd3
ajS/2ZFAFuheLA2mX1lhqfnbzaZF4UKVNzSMcfc8lwtKq43R5mCWShJ70qe8zo1V
/Ry26yPqQ4xxTmIcyvLCjHwmR/qbVPmcSgI+zGz/uMt4i6ZBUa8=
=QFOo
-----END PGP SIGNATURE-----


L
L
Ludovic Courtès wrote on 19 Apr 2020 01:33
(name . Efraim Flashner)(address . efraim@flashner.co.il)(address . 40680@debbugs.gnu.org)
87h7xg4bf0.fsf@gnu.org
Hi,

Efraim Flashner <efraim@flashner.co.il> skribis:

Toggle quote (2 lines)
> On Fri, Apr 17, 2020 at 11:00:49PM +0200, Ludovic Courtès wrote:

[...]

Toggle quote (14 lines)
>> > --- a/gnu/services/sddm.scm
>> > +++ b/gnu/services/sddm.scm
>> > @@ -171,6 +171,7 @@ Relogin=" (if (sddm-configuration-relogin? config)
>> > (documentation "SDDM display manager.")
>> > (requirement '(user-processes))
>> > (provision '(display-manager))
>> > + (conflicts-with '(xorg-server))
>>
>> ‘conflicts-with’ doesn’t exist, right? :-)
>>
>
> I haven't tried it out for Guix services, but it exists for shepherd
> services, according to the manual¹

Right, it’s not available in Guix <shepherd-service>.

However, simplify adding ‘xorg-server’ to ‘provision’ should have the
desired effect: ‘guix system’ errors out if more than one service
provides the same symbol.

Toggle quote (8 lines)
>> But yes, I think (provision '(xorg-server display-manager)) would be
>> fine.
>>
>> Or we can even drop ‘display-manager’ since it’s not used anywhere else.
>
> Normally I'd be skeptical about dropping it since people might expect it
> if they're using sddm, but it'd probably be fine.

Yeah, maybe it’s safer to keep it.

Thanks,
Ludo’.
E
E
Efraim Flashner wrote on 19 Apr 2020 08:07
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 40680-done@debbugs.gnu.org)
20200419060729.GB939@E5400
On Sun, Apr 19, 2020 at 01:33:07AM +0200, Ludovic Courtès wrote:
Toggle quote (41 lines)
> Hi,
>
> Efraim Flashner <efraim@flashner.co.il> skribis:
>
> > On Fri, Apr 17, 2020 at 11:00:49PM +0200, Ludovic Courtès wrote:
>
> [...]
>
> >> > --- a/gnu/services/sddm.scm
> >> > +++ b/gnu/services/sddm.scm
> >> > @@ -171,6 +171,7 @@ Relogin=" (if (sddm-configuration-relogin? config)
> >> > (documentation "SDDM display manager.")
> >> > (requirement '(user-processes))
> >> > (provision '(display-manager))
> >> > + (conflicts-with '(xorg-server))
> >>
> >> ‘conflicts-with’ doesn’t exist, right? :-)
> >>
> >
> > I haven't tried it out for Guix services, but it exists for shepherd
> > services, according to the manual¹
>
> Right, it’s not available in Guix <shepherd-service>.
>
> However, simplify adding ‘xorg-server’ to ‘provision’ should have the
> desired effect: ‘guix system’ errors out if more than one service
> provides the same symbol.
>
> >> But yes, I think (provision '(xorg-server display-manager)) would be
> >> fine.
> >>
> >> Or we can even drop ‘display-manager’ since it’s not used anywhere else.
> >
> > Normally I'd be skeptical about dropping it since people might expect it
> > if they're using sddm, but it'd probably be fine.
>
> Yeah, maybe it’s safer to keep it.
>
> Thanks,
> Ludo’.

Sounds good. I put xorg-server first so it more closely matches with the
other ones.

--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl6b6qEACgkQQarn3Mo9
g1GH+RAAp9daygR/aBBMgbE+z/aAFdEp2DAeyP8cwjghNUphjp5KJLuefEuVRt5t
MIaL8tV6BT/2jpXQOg/quXflNQIn1xEuGre9gIq7neAotHMS+187XANRpZgAeoYZ
T51KZ3t6Ro8LVYsnafkrw1uh28m2Jp6W1cKReCMcEzVuxO+KqF/3XSm6DsB3XOSQ
rV51JDru2wQEBhicXTW/F0ufaTop4vqlbDYKZ7smU6Jqbs0LKtVqSXIQlZANJOPf
AYyUFcOtqBANzJiYvjibqqzO3mlbKAmYeyLkPwu1FoCSINL35Z2T219OXNNrgqXN
w/odwy3g7Ex7Y6zODtZn9mzj1Lh97ZaLe6sAdKRJoBn8Y9g6yJ8FBb6Vi9nd7ekm
C1kGevmG535yqT3e+mXiO/RQCOmLNQ/7yDYXtBv84idoBA1L8veZ2hxGPwwKitBq
MpPEcHlOJoq5bNwga/cLLN86Y7E/eaNnoCY3trMK1j1p2ClJMw0H6q+9zoxQAy9z
XfijTujJWrE2Wpu0N2aDHnnNUGx7pxuO6aMTWrPMcQ5vg9neHz0WJvYAXrdVzcsg
QrL+fHIr848B6uEkFFlONTO/c8O5tHuQh4uew8VKGnMBM17qg6Jdd886So+dNLcM
Tt7u54LvGblSZHQqBS8e1m14uh0uCW9cQH6WFuUxEbVaTwjG0NQ=
=Pyvn
-----END PGP SIGNATURE-----


Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 40680@debbugs.gnu.org