xdm/xdm-tarball.patch
Stefan Dirsch 2d842f2320 First attempt
- tweak the login screen:
  * use sans serif font
  * use branding wallpaper and colors
  * do not require xli, recommend feh

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xdm?expand=0&rev=277
2024-11-25 13:02:39 +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