File xdm-with-update-alternative.patch of Package xdm.30084

---
 etc/X11/xdm/Xservers                              |    3 ++-
 usr/lib/X11/display-manager                       |    7 +++++--
 var/adm/fillup-templates/sysconfig.displaymanager |    8 --------
 3 files changed, 7 insertions(+), 11 deletions(-)

--- xdm.old/etc/X11/xdm/Xservers	2018-04-05 14:48:56.669172739 +0200
+++ xdm.new/etc/X11/xdm/Xservers	2018-04-05 14:45:33.129981406 +0200
@@ -13,6 +13,7 @@
 # use such a line to enable the console login option in the kdm menu
 #:0 local@tty1 /usr/bin/X vt7
 # "reserve" means that the X server gets only started on request (only kdm)
+# -keeptty implies that controlling tty is not detached (breaks startx!)
 
-:0 local /usr/bin/X -nolisten tcp -br vt7
+:0 local /usr/bin/X -nolisten tcp -br vt7 -keeptty
 
--- xdm.old/usr/lib/X11/display-manager
+++ xdm.new/usr/lib/X11/display-manager	2018-04-05 12:44:11.247521173 +0000
@@ -121,6 +121,8 @@ plymouth_quit()
 
 #set -x
 
+# DISPLAYMANAGER used to be set in /etc/sysconfig/displaymanager, but the default is now set by update-alternatives
+DISPLAYMANAGER=$(realpath --relative-base=/usr/lib/X11/displaymanagers /usr/lib/X11/displaymanagers/default-displaymanager)
 DM=${DISPLAYMANAGER##*/}
 
 case "$DM" in
@@ -138,8 +140,9 @@ case "$DM" in
 	for i in $DISPLAY_MANAGERS
 	do
 	    name="${i}_vars"
-	    PIDFILE=/var/run/$i.pid;
-	    $name $DM && break;
+	    type -t $name &> /dev/null || continue
+	    PIDFILE=/var/run/$i.pid
+	    $name $DM && break
 	done
 	if [ -z "$DISPLAYMANAGER" -o ! -x "$DISPLAYMANAGER" ]
 	then
--- xdm.old/var/adm/fillup-templates/sysconfig.displaymanager
+++ xdm.new/var/adm/fillup-templates/sysconfig.displaymanager	2017-10-12 14:35:23.775259305 +0000
@@ -1,14 +1,6 @@
 ## Path:	Desktop/Display manager
 ## Description:	settings to generate a proper displaymanager config
 
-## Type:	string(kdm,xdm,gdm,wdm,entrance,console,lightdm,sddm)
-## Default:	""
-#
-# Here you can set the default Display manager (kdm/xdm/gdm/wdm/entrance/console).
-# all changes in this file require a restart of the displaymanager
-#
-DISPLAYMANAGER=""
-
 ## Type:	yesno
 ## Default:	no
 #
openSUSE Build Service is sponsored by