xdm/xdm-tarball.patch
Stefan Dirsch 2c6883d173 - Split out displaymanager-sycconfig package: The central
configuration part that is used by all display managers. This is
  needed in order to progress towards 'xdm' not acting as wrapper
  around DMs, but only be used as Dislplay Manager when XDM is
  supposed to be used, or use the real systemd services of the
  various DMs (e.g gdm.service, sddm.service).

Part of https://en.opensuse.org/openSUSE:DisplayManagerRework

GDM for example can allready fully be used without XDM (and xorg-x11-server) installed
The sysconfig split out is needed for the GDM Autoconfiguration, which does not rely
on XDM being the wrapper - but having that part common for all DMs is a good thing

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xdm?expand=0&rev=279
2024-11-27 14:40:15 +00:00

447 lines
14 KiB
Diff

diff -upr xdm.orig/etc/X11/xdm/RunChooser xdm/etc/X11/xdm/RunChooser
--- xdm.orig/etc/X11/xdm/RunChooser 2015-07-29 14:46:22.000000000 +0200
+++ xdm/etc/X11/xdm/RunChooser 2024-11-20 14:47:22.156525704 +0100
@@ -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 @@ if test -x $xmodmap -o -x $xkbcomp ; the
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 @@ if test -x $xmodmap -o -x $xkbcomp ; the
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 -upr xdm.orig/etc/X11/xdm/sys.xsession xdm/etc/X11/xdm/sys.xsession
--- xdm.orig/etc/X11/xdm/sys.xsession 2016-06-03 15:25:42.000000000 +0200
+++ xdm/etc/X11/xdm/sys.xsession 2024-11-20 14:47:22.173192466 +0100
@@ -38,10 +38,16 @@ checkproc ()
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 @@ done
#
# 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 @@ else
# 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 -upr xdm.orig/etc/X11/xdm/xdm-config xdm/etc/X11/xdm/xdm-config
--- xdm.orig/etc/X11/xdm/xdm-config 2020-08-26 15:36:22.290004407 +0200
+++ xdm/etc/X11/xdm/xdm-config 2024-11-20 14:47:22.173192466 +0100
@@ -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 @@ DisplayManager._93.authorize: true
! 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 -upr xdm.orig/etc/X11/xdm/Xreset xdm/etc/X11/xdm/Xreset
--- xdm.orig/etc/X11/xdm/Xreset 2014-12-15 19:34:46.000000000 +0100
+++ xdm/etc/X11/xdm/Xreset 2024-11-20 14:47:22.173192466 +0100
@@ -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 -upr xdm.orig/etc/X11/xdm/Xresources xdm/etc/X11/xdm/Xresources
--- xdm.orig/etc/X11/xdm/Xresources 2015-08-04 12:13:36.000000000 +0200
+++ xdm/etc/X11/xdm/Xresources 2024-11-21 09:38:25.194243785 +0100
@@ -10,37 +10,38 @@ xlogin*login.translations: #override\
#undef linux
#undef Linux
#undef LINUX
-xlogin*greeting: Welcome at CLIENTHOST
+xlogin*greeting: CLIENTHOST
xlogin*namePrompt: \040\040\040\040\040\040\040Login:
xlogin*fail: Login incorrect
-#define FAMILY Serif
+#define FAMILY Helvetica
#if (WIDTH < 800)
-xlogin*login.failFace: FAMILY-16:bold
-xlogin*login.greetFace: FAMILY-18:italic
-xlogin*login.promptFace: FAMILY-16:bold
-xlogin*login.Font: FAMILY-16
+xlogin*login.failFace: FAMILY-16:regular
+xlogin*login.greetFace: FAMILY-18:regular
+xlogin*login.promptFace: FAMILY-16:regular
+xlogin*login.Font: FAMILY-16
#else
-xlogin*login.failFace: FAMILY-18:bold
-xlogin*login.greetFace: FAMILY-24:italic
-xlogin*login.promptFace: FAMILY-18:bold
-xlogin*login.face: FAMILY-18
+login*login.failFace: FAMILY-18:regular
+xlogin*login.greetFace: FAMILY-24:bold
+xlogin*login.promptFace: FAMILY-18:regular
+xlogin*login.face: FAMILY-16
#endif
#undef FAMILY
#ifdef COLOR
-xlogin*useShape: true
-xlogin*greetColor: CadetBlue
-xlogin*failColor: red
-*Foreground: black
-*Background: #c0c0c0
-xlogin*borderWidth: 0
-xlogin*frameWidth: 5
-xlogin*innerFramesWidth: 2
-xlogin*Foreground: black
-xlogin*Background: #c0c0c0
-xlogin*shdColor: #828282
-xlogin*hiColor: #e0e0e0
+xlogin*foreground: #6C6C6C
+xlogin*background: #35968c
+xlogin.Login.foreground: #9adcd5
+xlogin.Login.greetColor: #9adcd5
+xlogin.Login.promptColor: #97CC56
+xlogin.Login.failColor: #9adcd5
+xlogin.Login.failTimeout: 2
+xlogin.Login.hiColor: #63bbb2
+xlogin.Login.shdColor: #63bbb2
+xlogin.Login.frameWidth: 2
+xlogin.Login.innerFramesWidth: 1
+xlogin.Login.sepWidth: 1
+xlogin.Login.echoPasswd: true
#else
xlogin*useShape: false
xlogin*borderWidth: 4
@@ -59,6 +60,8 @@ xlogin*hiColor: black
!#endif
!xlogin*logoPadding: 10
+XConsole*background: black
+XConsole*foreground: #9adcd5
#if (WIDTH < 320)
XConsole*geometry: 125x80-0-0
XConsole*font: 5x7
@@ -100,4 +103,4 @@ Chooser*Command.font: -*-new century sc
!
! Include system wide Xresources
!
-#include "/etc/X11/Xresources"
+#include "/usr/etc/X11/Xresources"
diff -upr xdm.orig/etc/X11/xdm/Xsession xdm/etc/X11/xdm/Xsession
--- xdm.orig/etc/X11/xdm/Xsession 2021-01-04 15:20:27.548208000 +0100
+++ xdm/etc/X11/xdm/Xsession 2024-11-20 14:47:22.173192466 +0100
@@ -34,10 +34,18 @@ fi
# 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 @@ sessions=( $XDMDIR/sys.xsession $XINITDI
#
# 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 @@ readonly argv
# 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 @@ fi
# 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 -upr xdm.orig/etc/X11/xdm/Xsetup xdm/etc/X11/xdm/Xsetup
--- xdm.orig/etc/X11/xdm/Xsetup 2020-08-26 15:35:43.014615021 +0200
+++ xdm/etc/X11/xdm/Xsetup 2024-11-21 09:38:57.287767888 +0100
@@ -9,7 +9,7 @@
#
LIBDIR=/usr/lib/X11
ETCDIR=/etc/X11
- XDMDIR=${ETCDIR}/xdm
+ BKGDIR=/usr/share/wallpapers/openSUSEdefault/contents/images
BINDIR=/usr/bin
no_exit_on_failed_exec=1
@@ -29,7 +29,7 @@ type cpp >/dev/null 2>&1 && cpp=
# Store your preferred picture in XPM format (see xv(1) or ppm(5))
# You can run gzip on the file BackGround.xpm to save disk space.
#
- background=${XDMDIR}/BackGround.xpm
+ background=${BKGDIR}/1920x1200.png
#
# Special screensaver parameters for xset, see manual page xset(1x).
@@ -68,6 +68,7 @@ hostxkbmap=${ETCDIR}/Xkbmap.${DISPLAY%:*
xrdb=${BINDIR}/xrdb
backprg=${BINDIR}/BackGround
qiv=${BINDIR}/qiv
+ feh=${BINDIR}/feh
# halporp=/usr/bin/hal-find-by-property
xvkbd=${BINDIR}/xvkbd
xvkbdargs="-compact -geometry -0-0 -xdm -always-on-top -keyfile /usr/share/X11/app-defaults/xvkbd.default"
@@ -135,6 +136,8 @@ fi
#
if test "$xdm" = "no" ; then
: # $xsetroot -solid '#738dc6'
+elif test -s ${background} -a -x $feh ; then
+ $feh --bg-scale ${background}
elif test -s ${background}.gz -a -x $xpmroot ; then
$xpmroot ${background}.gz
elif test -s ${background} -a -x $xpmroot ; then
@@ -184,7 +187,7 @@ if test "$xdm" = "yes" ; then
#endif
EOF
else
- $xrdb $cpp -override -retain ${ETCDIR}/Xresources
+ $xrdb $cpp -override -retain ${XDMDIR}/Xresources
fi
#
@@ -206,6 +209,8 @@ if test -x $xmodmap -o -x $xkbcomp ; the
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 +218,8 @@ if test -x $xmodmap -o -x $xkbcomp ; the
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
Only in xdm/etc/X11/xdm: Xsetup.orig
Only in xdm/etc/X11/xdm: Xsetup.rej
diff -upr xdm.orig/etc/X11/xdm/Xstartup xdm/etc/X11/xdm/Xstartup
--- xdm.orig/etc/X11/xdm/Xstartup 2020-08-26 15:35:26.270871116 +0200
+++ xdm/etc/X11/xdm/Xstartup 2024-11-20 14:47:22.173192466 +0100
@@ -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 -upr xdm.orig/usr/lib/X11/display-manager xdm/usr/lib/X11/display-manager
--- xdm.orig/usr/lib/X11/display-manager 2020-09-04 13:11:23.054517000 +0200
+++ xdm/usr/lib/X11/display-manager 2024-11-20 14:47:22.173192466 +0100
@@ -13,11 +13,16 @@
# /usr/lib/X11/display-manager
#
+DEFAULT_WM="default"
+
. /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
+test -f /etc/sysconfig/windowmanager && . /etc/sysconfig/windowmanager
+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 +72,14 @@ fi
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 +92,8 @@ xdm_reload_files () {
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 +135,13 @@ case "$DM" in
exit 0
;;
*)
+ test -d /etc/X11/xdm || mkdir -p /etc/X11/xdm
+ # SUSEconfig.xdm 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
+ # still often sourced by old ~/.xinitrc or ~/.xsession user files ...
+ test -d /etc/X11/xinit || mkdir -p /etc/X11/xinit
+ 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 +171,8 @@ case "$1" in
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 -upr xdm.orig/usr/lib/X11/displaymanagers/xdm xdm/usr/lib/X11/displaymanagers/xdm
--- xdm.orig/usr/lib/X11/displaymanagers/xdm 2014-03-04 13:53:31.000000000 +0100
+++ xdm/usr/lib/X11/displaymanagers/xdm 2024-11-20 14:47:22.173192466 +0100
@@ -5,8 +5,8 @@ xdm_start_proc() {
}
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