Stefan Dirsch
336a5f813d
* /usr/lib/X11/display-manager: fixes sddm, which didn't use xdm_reload_files in xdm_start_proc() of /usr/lib/X11/displaymanagers/sddm (boo#1173049) OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xdm?expand=0&rev=220
350 lines
11 KiB
Diff
350 lines
11 KiB
Diff
diff -u -r ../old/etc/X11/xdm/RunChooser ./etc/X11/xdm/RunChooser
|
|
--- ../old/etc/X11/xdm/RunChooser 2015-07-29 14:46:22.000000000 +0200
|
|
+++ ./etc/X11/xdm/RunChooser 2020-09-10 04:31:19.817621000 +0200
|
|
@@ -9,7 +9,7 @@
|
|
#
|
|
LIBDIR=/usr/lib/X11
|
|
ETCDIR=/etc/X11
|
|
- XDMDIR=${ETCDIR}/xdm
|
|
+ XDMDIR=/usr/${ETCDIR}/xdm
|
|
BINDIR=/usr/bin
|
|
|
|
no_exit_on_failed_exec=1
|
|
@@ -107,6 +107,8 @@
|
|
cat $sysxkbmap | $xkbcomp - $DISPLAY
|
|
elif test -r $sysmodmap ; then
|
|
$xmodmap $sysmodmap
|
|
+ elif test -r /usr/etc/X11/Xmodmap; then
|
|
+ $xmodmap /usr/etc/X11/Xmodmap
|
|
fi
|
|
else
|
|
# TCP/IP connection (remote or local)
|
|
@@ -114,6 +116,8 @@
|
|
cat $defxkbmap | $xkbcomp - $DISPLAY
|
|
elif test -r $defmodmap ; then
|
|
$xmodmap $defmodmap
|
|
+ elif test -r /usr/etc/X11/Xmodmap.remote; then
|
|
+ $xmodmap /usr/etc/X11/Xmodmap.remote
|
|
fi
|
|
if test -s $hostxkbmap -a -x $xkbcomp ; then
|
|
cat $hostxkbmap | $xkbcomp - $DISPLAY
|
|
diff -u -r ../old/etc/X11/xdm/Xreset ./etc/X11/xdm/Xreset
|
|
--- ../old/etc/X11/xdm/Xreset 2014-12-15 19:34:46.000000000 +0100
|
|
+++ ./etc/X11/xdm/Xreset 2020-09-10 04:31:19.957604000 +0200
|
|
@@ -10,7 +10,7 @@
|
|
#
|
|
LIBDIR=/usr/lib/X11
|
|
ETCDIR=/etc/X11
|
|
- XDMDIR=${ETCDIR}/xdm
|
|
+ XDMDIR=/usr/${ETCDIR}/xdm
|
|
BINDIR=/usr/bin
|
|
xmessage=${BINDIR}/xmessage
|
|
xconsole=${BINDIR}/xconsole
|
|
diff -u -r ../old/etc/X11/xdm/Xresources ./etc/X11/xdm/Xresources
|
|
--- ../old/etc/X11/xdm/Xresources 2015-08-04 12:13:36.000000000 +0200
|
|
+++ ./etc/X11/xdm/Xresources 2020-09-10 04:31:19.961602000 +0200
|
|
@@ -100,4 +100,4 @@
|
|
!
|
|
! Include system wide Xresources
|
|
!
|
|
-#include "/etc/X11/Xresources"
|
|
+#include "/usr/etc/X11/Xresources"
|
|
diff -u -r ../old/etc/X11/xdm/Xsession ./etc/X11/xdm/Xsession
|
|
--- ../old/etc/X11/xdm/Xsession 2017-07-25 11:58:00.067080000 +0200
|
|
+++ ./etc/X11/xdm/Xsession 2020-09-10 04:31:19.964605000 +0200
|
|
@@ -34,10 +34,18 @@
|
|
# Some system defaults
|
|
#
|
|
XETCDIR=/etc/X11
|
|
- XDMDIR=$XETCDIR/xdm
|
|
- XINITDIR=$XETCDIR/xinit
|
|
+ XDMDIR=/usr/$XETCDIR/xdm
|
|
: ${TMPDIR=/tmp}
|
|
|
|
+# xinitrc moved to %{_libexecdir}/xinit in xinit package
|
|
+if [ -r /usr/libexec/xinit/xinitrc ]; then
|
|
+ XINITDIR=/usr/libexec/xinit
|
|
+elif [ -r /usr/lib/xinit/xinitrc ]; then
|
|
+ XINITDIR=/usr/lib/xinit
|
|
+else
|
|
+ XINITDIR=$XETCDIR/xinit
|
|
+fi
|
|
+
|
|
export OPENWINHOME TMPDIR
|
|
test -n "$XAUTHORITY" || unset XAUTHORITY
|
|
|
|
@@ -187,7 +195,11 @@
|
|
#
|
|
# By default we set system defaults for the language
|
|
#
|
|
-. /etc/profile.d/lang.sh
|
|
+if [ -r /etc/profile.d/lang.sh ]; then
|
|
+ . /etc/profile.d/lang.sh
|
|
+elif [ -r /usr/etc/profile.d/lang.sh ]; then
|
|
+ . /usr/etc/profile.d/lang.sh
|
|
+fi
|
|
|
|
#
|
|
# Handle arguments given by xdm/kdm/gdm.
|
|
@@ -261,7 +273,11 @@
|
|
# No window manager? Get system default
|
|
#
|
|
if test -z "$WINDOWMANAGER" ; then
|
|
- . /etc/profile.d/profile.sh
|
|
+ if [ -r /etc/profile.d/profile.sh ]; then
|
|
+ . /etc/profile.d/profile.sh
|
|
+ elif [ -r /usr/etc/profile.d/profile.sh ]; then
|
|
+ . /usr/etc/profile.d/profile.sh
|
|
+ fi
|
|
fi
|
|
|
|
#
|
|
@@ -291,7 +307,12 @@
|
|
# Source common code shared between the
|
|
# X session and X init scripts
|
|
#
|
|
-. /etc/X11/xinit/xinitrc.common
|
|
+
|
|
+if [ -r /etc/X11/xinit/xinitrc.common ]; then
|
|
+ . /etc/X11/xinit/xinitrc.common
|
|
+elif [ -r /usr/etc/X11/xinit/xinitrc.common ]; then
|
|
+ . /usr/etc/X11/xinit/xinitrc.common
|
|
+fi
|
|
|
|
# Restore arguments but skip window manager
|
|
set -- "${argv[@]}"
|
|
diff -u -r ../old/etc/X11/xdm/Xsetup ./etc/X11/xdm/Xsetup
|
|
--- ../old/etc/X11/xdm/Xsetup 2020-08-26 15:35:43.014615021 +0200
|
|
+++ ./etc/X11/xdm/Xsetup 2020-09-10 04:31:19.968602000 +0200
|
|
@@ -9,7 +9,7 @@
|
|
#
|
|
LIBDIR=/usr/lib/X11
|
|
ETCDIR=/etc/X11
|
|
- XDMDIR=${ETCDIR}/xdm
|
|
+ XDMDIR=/usr/${ETCDIR}/xdm
|
|
BINDIR=/usr/bin
|
|
|
|
no_exit_on_failed_exec=1
|
|
@@ -184,7 +184,7 @@
|
|
#endif
|
|
EOF
|
|
else
|
|
- $xrdb $cpp -override -retain ${ETCDIR}/Xresources
|
|
+ $xrdb $cpp -override -retain ${XDMDIR}/Xresources
|
|
fi
|
|
|
|
#
|
|
@@ -206,6 +206,8 @@
|
|
cat $sysxkbmap | $xkbcomp - $DISPLAY
|
|
elif test -r $sysmodmap ; then
|
|
$xmodmap $sysmodmap
|
|
+ elif test -r /usr/etc/X11/Xmodmap ; then
|
|
+ $xmodmap /usr/etc/X11/Xmodmap
|
|
fi
|
|
else
|
|
# TCP/IP connection (remote or local)
|
|
@@ -213,6 +215,8 @@
|
|
cat $defxkbmap | $xkbcomp - $DISPLAY
|
|
elif test -r $defmodmap ; then
|
|
$xmodmap $defmodmap
|
|
+ elif test -r /usr/etc/X11/Xmodmap.remote ; then
|
|
+ $xmodmap /usr/etc/X11/Xmodmap.remote
|
|
fi
|
|
if test -s $hostxkbmap -a -x $xkbcomp ; then
|
|
cat $hostxkbmap | $xkbcomp - $DISPLAY
|
|
diff -u -r ../old/etc/X11/xdm/Xstartup ./etc/X11/xdm/Xstartup
|
|
--- ../old/etc/X11/xdm/Xstartup 2020-08-26 15:35:26.270871116 +0200
|
|
+++ ./etc/X11/xdm/Xstartup 2020-09-10 04:31:19.971608000 +0200
|
|
@@ -10,7 +10,7 @@
|
|
#
|
|
LIBDIR=/usr/lib/X11
|
|
ETCDIR=/etc/X11
|
|
- XDMDIR=${ETCDIR}/xdm
|
|
+ XDMDIR=/usr/${ETCDIR}/xdm
|
|
BINDIR=/usr/bin
|
|
xmessage=${BINDIR}/xmessage
|
|
NOLOGIN=/etc/nologin
|
|
diff -u -r ../old/etc/X11/xdm/sys.xsession ./etc/X11/xdm/sys.xsession
|
|
--- ../old/etc/X11/xdm/sys.xsession 2016-06-03 15:25:42.000000000 +0200
|
|
+++ ./etc/X11/xdm/sys.xsession 2020-09-10 04:31:19.975602000 +0200
|
|
@@ -38,10 +38,16 @@
|
|
argv=("$@")
|
|
set --
|
|
|
|
-for script in /etc/X11/xdm/scripts/*
|
|
+for script in /usr/etc/X11/xdm/scripts/* \
|
|
+ /etc/X11/xdm/scripts/*
|
|
do
|
|
test -e $script || continue
|
|
test -d $script && continue
|
|
+ # higher priority for /etc/X11/xdm/scripts ...
|
|
+ if echo $script | grep -q ^/usr; then
|
|
+ sname=$(basename $script)
|
|
+ test -e /etc/X11/xdm/scripts/$sname && continue
|
|
+ fi
|
|
case "${script##*/}" in
|
|
.*) continue ;;
|
|
*.rpm*) continue ;;
|
|
@@ -63,7 +69,16 @@
|
|
#
|
|
# Use system default xinitrc if the users does not have one.
|
|
#
|
|
-XINITRCFILE=/etc/X11/xinit/xinitrc
|
|
+
|
|
+# xinitrc moved to %{_libexecdir}/xinit in xinit package
|
|
+if [ -r /usr/libexec/xinit/xinitrc ]; then
|
|
+ XINITRCFILE=/usr/libexec/xinit/xinitrc
|
|
+elif [ -r /usr/lib/xinit/xinitrc ]; then
|
|
+ XINITRCFILE=/usr/lib/xinit/xinitrc
|
|
+else
|
|
+ XINITRCFILE=/etc/X11/xinit/xinitrc
|
|
+fi
|
|
+
|
|
test -r "$HOME/.xinitrc" && XINITRCFILE="$HOME/.xinitrc"
|
|
|
|
if test -f "$XINITRCFILE" ; then
|
|
@@ -77,7 +92,11 @@
|
|
# Source common code shared between the
|
|
# X session and X init scripts
|
|
#
|
|
- . /etc/X11/xinit/xinitrc.common
|
|
+ if [ -r /etc/X11/xinit/xinitrc.common ]; then
|
|
+ . /etc/X11/xinit/xinitrc.common
|
|
+ elif [ -r /usr/etc/X11/xinit/xinitrc.common ]; then
|
|
+ . /usr/etc/X11/xinit/xinitrc.common
|
|
+ fi
|
|
unset STARTUP WINDOW_MANAGER
|
|
|
|
set -- ${1+"$@"} $WINDOWMANAGER
|
|
diff -u -r ../old/etc/X11/xdm/xdm-config ./etc/X11/xdm/xdm-config
|
|
--- ../old/etc/X11/xdm/xdm-config 2020-08-26 15:36:22.290004407 +0200
|
|
+++ ./etc/X11/xdm/xdm-config 2020-09-10 04:31:19.978602000 +0200
|
|
@@ -4,10 +4,10 @@
|
|
DisplayManager.errorLogFile: /var/log/xdm.errors
|
|
DisplayManager.pidFile: /run/xdm.pid
|
|
DisplayManager.authDir: /var/lib/xdm
|
|
-DisplayManager.keyFile: /etc/X11/xdm/xdm-keys
|
|
+DisplayManager.keyFile: /usr/etc/X11/xdm/xdm-keys
|
|
DisplayManager.servers: /etc/X11/xdm/Xservers
|
|
-DisplayManager.accessFile: /etc/X11/xdm/Xaccess
|
|
-DisplayManager.willing: su nobody -c /etc/X11/xdm/Xwilling
|
|
+DisplayManager.accessFile: /usr/etc/X11/xdm/Xaccess
|
|
+DisplayManager.willing: su nobody -c /usr/etc/X11/xdm/Xwilling
|
|
!
|
|
! ATTENTION: `authName' should be in general MIT-MAGIC-COOKIE-1
|
|
! For XDM-AUTHENTICATION-1 which is default for xterminals see
|
|
@@ -27,16 +27,16 @@
|
|
! The scripts handling the setup, the startup, the session its self,
|
|
! and the reset of an X session.
|
|
!
|
|
-DisplayManager.*.setup: /etc/X11/xdm/Xsetup
|
|
-DisplayManager.*.chooser: /etc/X11/xdm/RunChooser
|
|
-DisplayManager.*.startup: /etc/X11/xdm/Xstartup
|
|
-DisplayManager.*.session: /etc/X11/xdm/Xsession
|
|
-DisplayManager.*.reset: /etc/X11/xdm/Xreset
|
|
+DisplayManager.*.setup: /usr/etc/X11/xdm/Xsetup
|
|
+DisplayManager.*.chooser: /usr/etc/X11/xdm/RunChooser
|
|
+DisplayManager.*.startup: /usr/etc/X11/xdm/Xstartup
|
|
+DisplayManager.*.session: /usr/etc/X11/xdm/Xsession
|
|
+DisplayManager.*.reset: /usr/etc/X11/xdm/Xreset
|
|
!
|
|
DisplayManager._0.terminateServer: true
|
|
DisplayManager._93.terminateServer: true
|
|
!
|
|
-DisplayManager*resources: /etc/X11/xdm/Xresources
|
|
+DisplayManager*resources: /usr/etc/X11/xdm/Xresources
|
|
DisplayManager.*.terminateServer: false
|
|
!
|
|
! SECURITY: do not listen for XDMCP or Chooser requests
|
|
diff -u -r ../old/usr/lib/X11/display-manager ./usr/lib/X11/display-manager
|
|
--- ../old/usr/lib/X11/display-manager 2020-09-04 13:11:23.054517000 +0200
|
|
+++ ./usr/lib/X11/display-manager 2020-09-10 04:40:30.456843000 +0200
|
|
@@ -16,8 +16,11 @@
|
|
. /etc/sysconfig/displaymanager
|
|
. /etc/sysconfig/language
|
|
. /etc/sysconfig/windowmanager
|
|
-test -e /etc/SuSEconfig/profile && . /etc/SuSEconfig/profile
|
|
-test -r /etc/profile.d/desktop-data.sh && . /etc/profile.d/desktop-data.sh
|
|
+if [ -r /etc/profile.d/desktop-data.sh ]; then
|
|
+ . /etc/profile.d/desktop-data.sh
|
|
+elif [ -r /usr/etc/profile.d/desktop-data.sh ]; then
|
|
+ . /usr/etc/profile.d/desktop-data.sh
|
|
+fi
|
|
|
|
locale_vars=" \
|
|
LANG \
|
|
@@ -67,14 +70,14 @@
|
|
unset DEFAULT_WM
|
|
export WINDOWMANAGER
|
|
|
|
-DMDIR=/etc/X11/xdm
|
|
+DMDIR=/usr/etc/X11/xdm
|
|
RELOADSIGNAL="-HUP"
|
|
|
|
PIDFILELNK="/run/displaymanager.pid"
|
|
|
|
|
|
xdm_reload_files () {
|
|
- if [ -x /etc/X11/xdm/SuSEconfig.xdm ]; then
|
|
+ if [ -x $DMIR/SuSEconfig.xdm ]; then
|
|
# Do no try to start Xserver on platforms which may ship without
|
|
# graphics card (bsc#1039497)
|
|
if [ "$(arch)" == "aarch64" -o "$(arch)" == "ppc64le" ]; then
|
|
@@ -87,8 +90,8 @@
|
|
fi
|
|
fi
|
|
MD5DIR="/var/adm/SuSEconfig/md5" \
|
|
- /etc/X11/xdm/SuSEconfig.xdm | \
|
|
- sed 's+\(.*\)+/etc/init.d/xdm: \1+g' | \
|
|
+ $DMDIR/SuSEconfig.xdm | \
|
|
+ sed 's+\(.*\)+/usr/lib/X11/display-manager: \1+g' | \
|
|
/bin/logger
|
|
return 0
|
|
fi
|
|
@@ -130,6 +133,20 @@
|
|
exit 0
|
|
;;
|
|
*)
|
|
+ test -d /etc/X11/xdm || mkdir -p /etc/X11/xdm
|
|
+ # SUSEconfig edits these files appropriate to /etc/sysconfig/displaymanager
|
|
+ test -r /etc/X11/xdm/xdm-config || cp $DMDIR/xdm-config /etc/X11/xdm/xdm-config
|
|
+ test -r /etc/X11/xdm/Xservers || cp $DMDIR/Xservers /etc/X11/xdm/Xservers
|
|
+ # needed by sddm
|
|
+ test -r /etc/X11/xdm/Xsession || ln -snf $DMDIR/Xsession /etc/X11/xdm/Xsession
|
|
+ test -r /etc/X11/xdm/Xsetup || ln -snf $DMDIR/Xsetup /etc/X11/xdm/Xsetup
|
|
+ # needed by lightdm
|
|
+ test -r /etc/X11/xdm/Xstartup || ln -snf $DMDIR/Xstartup /etc/X11/xdm/Xstartup
|
|
+ test -r /etc/X11/xdm/Xreset || ln -snf $DMDIR/Xreset /etc/X11/xdm/Xreset
|
|
+ # possibly needed by who knows ...
|
|
+ test -r /etc/X11/xdm/Keyboard.map || ln -snf $DMDIR/Keyboard.map /etc/X11/xdm/Keyboard.map
|
|
+ # still often sourced by old ~/.xinitrc or ~/.xsession user files ...
|
|
+ test -r /etc/X11/xinit/xinitrc.common || ln -snf /usr/etc/X11/xinit/xinitrc.common /etc/X11/xinit/xinitrc.common
|
|
for i in /usr/lib/X11/displaymanagers/*
|
|
do
|
|
tmp=${i%.fallback}
|
|
@@ -159,8 +176,8 @@
|
|
start)
|
|
|
|
# use system keyboard as global X keyboard configuration
|
|
- if [ -x /etc/X11/xdm/keytable ]; then
|
|
- /etc/X11/xdm/keytable
|
|
+ if [ -x $DMDIR/keytable ]; then
|
|
+ $DMDIR/keytable
|
|
fi
|
|
|
|
[ -n "$STARTPROC" ] && $STARTPROC
|
|
diff -u -r ../old/usr/lib/X11/displaymanagers/xdm ./usr/lib/X11/displaymanagers/xdm
|
|
--- ../old/usr/lib/X11/displaymanagers/xdm 2014-03-04 13:53:31.000000000 +0100
|
|
+++ ./usr/lib/X11/displaymanagers/xdm 2020-09-10 04:31:20.007599000 +0200
|
|
@@ -5,8 +5,8 @@
|
|
}
|
|
|
|
xdm_probe_proc() {
|
|
- if test $XDMDIR/xdm-config -nt $PIDFILE -o \
|
|
- $XDMDIR/Xservers -nt $PIDFILE
|
|
+ if test /etc/X11/xdm/xdm-config -nt $PIDFILE -o \
|
|
+ /etc/X11/xdm/Xservers -nt $PIDFILE
|
|
then
|
|
echo reload
|
|
fi
|