Subject: bug#40680: closed (Re: [bug#40680] [PATCH] service: sddm: Have sddm-service-type conflict with other display managers.)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 19 Apr 2020 06:09:02 +0000

Your bug report

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

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
40680: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=40680
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#40680] [PATCH] service: sddm: Have sddm-service-type conflict with other display managers.
From: Efraim Flashner <[email-masked]>
To: Ludovic Courtès <[email-masked]>
Cc: [email-masked]
Date: Sun, 19 Apr 2020 09:07:29 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

On Sun, Apr 19, 2020 at 01:33:07AM +0200, Ludovic Courtès wrote:
> Hi,
> 
> Efraim Flashner <[email-masked]> 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   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

Subject: [PATCH] service: sddm: Have sddm-service-type conflict with other display managers.
From: Efraim Flashner <[email-masked]>
To: [email-masked]
Cc: Efraim Flashner <[email-masked]>
Date: Fri, 17 Apr 2020 17:41:15 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

* 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))
          (start #~(make-forkexec-constructor #$sddm-command))
          (stop #~(make-kill-destructor)))))
 
-- 
2.26.1