SHA256
1
0
forked from pool/xdm

16 Commits

Author SHA256 Message Date
301a68af6a Accepting request 1282897 from X11:XOrg
- no longer require xinit so it can be dropped from SLE16

OBS-URL: https://build.opensuse.org/request/show/1282897
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xdm?expand=0&rev=113
2025-06-06 20:40:15 +00:00
6079a5ace3 - no longer require xinit so it can be dropped from SLE16
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xdm?expand=0&rev=291
2025-06-04 19:14:49 +00:00
8ef065302d Accepting request 1265129 from X11:XOrg
OBS-URL: https://build.opensuse.org/request/show/1265129
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xdm?expand=0&rev=112
2025-03-31 09:38:01 +00:00
9e36b01d0a - Order systemd-presets-common-SUSE before xdm
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xdm?expand=0&rev=289
2025-03-28 09:43:18 +00:00
b899a2bf1f - Move display-manager.service to display-manager-legacy.service
to prepare for systemd control of display manager choice
  (needs systemd-presets-common-SUSE update)
- Create xdm.service to allow XDM to be used in systemd only mode

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xdm?expand=0&rev=288
2025-03-26 21:42:36 +00:00
48a1869b31 Accepting request 1251490 from X11:XOrg
- Update to release 1.1.17
  Support for using getaddrinfo(), inet_ntop(), and struct sockaddr_storage
  was originally added to support IPv6, and only used if IPv6 support was
  enabled. Two decades later, these interfaces are ubiquitous and OS'es have
  starting marking the old interfaces as deprecated, so this release changes
  to use the modern interface whenever we can now.  (Note that code included
  from xtrans will only use these interfaces when IPv6 is disabled if building
  against xtrans 1.6.0 or later.)

OBS-URL: https://build.opensuse.org/request/show/1251490
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xdm?expand=0&rev=111
2025-03-10 16:57:45 +00:00
0924a2bdb2 - Update to release 1.1.17
Support for using getaddrinfo(), inet_ntop(), and struct sockaddr_storage
  was originally added to support IPv6, and only used if IPv6 support was
  enabled. Two decades later, these interfaces are ubiquitous and OS'es have
  starting marking the old interfaces as deprecated, so this release changes
  to use the modern interface whenever we can now.  (Note that code included
  from xtrans will only use these interfaces when IPv6 is disabled if building
  against xtrans 1.6.0 or later.)

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xdm?expand=0&rev=286
2025-03-09 04:09:19 +00:00
10af3a4bc9 Accepting request 1250253 from X11:XOrg
OBS-URL: https://build.opensuse.org/request/show/1250253
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xdm?expand=0&rev=110
2025-03-06 13:48:10 +00:00
03ca3007a9 - Make build recipe compatible with POSIX sh.
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xdm?expand=0&rev=284
2025-03-04 20:00:23 +00:00
cf6ec564d4 Accepting request 1248765 from X11:XOrg
- display-manager: Do not abort when there is no /usr/bin/X found.
  Rely on the DM to know how to handle it. E.g gdm could be
  spawning a wayland-only session. (boo#1237777)

OBS-URL: https://build.opensuse.org/request/show/1248765
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xdm?expand=0&rev=109
2025-02-27 13:50:23 +00:00
1040687fa2 added bugnumber to changelog
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xdm?expand=0&rev=282
2025-02-26 16:31:06 +00:00
1c15f444c2 - display-manager: Do not abort when there is no /usr/bin/X found.
Rely on the DM to know how to handle it. E.g gdm could be
  spawning a wayland-only session.

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xdm?expand=0&rev=281
2025-02-26 16:29:39 +00:00
212f189125 Accepting request 1226920 from X11:XOrg
OBS-URL: https://build.opensuse.org/request/show/1226920
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xdm?expand=0&rev=108
2024-11-27 21:10:45 +00:00
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
b121da1ff7 Accepting request 1226270 from X11:XOrg
OBS-URL: https://build.opensuse.org/request/show/1226270
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xdm?expand=0&rev=107
2024-11-26 19:54:45 +00:00
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
8 changed files with 394 additions and 196 deletions

View File

@@ -14,5 +14,4 @@ ExecReload=/usr/lib/X11/display-manager reload
KillMode=process
[Install]
WantedBy=graphical.target
Alias=xdm.service
Alias=display-manager.service

BIN
xdm-1.1.16.tar.xz (Stored with Git LFS)

Binary file not shown.

BIN
xdm-1.1.17.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -1,6 +1,6 @@
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 2024-08-09 11:27:04.390249591 +0200
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
@@ -10,7 +10,7 @@ diff -u -r ../old/etc/X11/xdm/RunChooser ./etc/X11/xdm/RunChooser
BINDIR=/usr/bin
no_exit_on_failed_exec=1
@@ -107,6 +107,8 @@
@@ -107,6 +107,8 @@ if test -x $xmodmap -o -x $xkbcomp ; the
cat $sysxkbmap | $xkbcomp - $DISPLAY
elif test -r $sysmodmap ; then
$xmodmap $sysmodmap
@@ -19,7 +19,7 @@ diff -u -r ../old/etc/X11/xdm/RunChooser ./etc/X11/xdm/RunChooser
fi
else
# TCP/IP connection (remote or local)
@@ -114,6 +116,8 @@
@@ -114,6 +116,8 @@ if test -x $xmodmap -o -x $xkbcomp ; the
cat $defxkbmap | $xkbcomp - $DISPLAY
elif test -r $defmodmap ; then
$xmodmap $defmodmap
@@ -28,146 +28,10 @@ diff -u -r ../old/etc/X11/xdm/RunChooser ./etc/X11/xdm/RunChooser
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 2024-08-09 11:27:04.390249591 +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 2024-08-09 11:27:04.390249591 +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 2021-01-04 15:20:27.548208000 +0100
+++ ./etc/X11/xdm/Xsession 2024-08-09 11:27:04.390249591 +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 2024-08-09 11:27:04.390249591 +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 2024-08-09 11:27:04.390249591 +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 2024-08-09 11:27:04.390249591 +0200
@@ -38,10 +38,16 @@
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 --
@@ -185,7 +49,7 @@ diff -u -r ../old/etc/X11/xdm/sys.xsession ./etc/X11/xdm/sys.xsession
case "${script##*/}" in
.*) continue ;;
*.rpm*) continue ;;
@@ -63,7 +69,16 @@
@@ -63,7 +69,16 @@ done
#
# Use system default xinitrc if the users does not have one.
#
@@ -203,7 +67,7 @@ diff -u -r ../old/etc/X11/xdm/sys.xsession ./etc/X11/xdm/sys.xsession
test -r "$HOME/.xinitrc" && XINITRCFILE="$HOME/.xinitrc"
if test -f "$XINITRCFILE" ; then
@@ -77,7 +92,11 @@
@@ -77,7 +92,11 @@ else
# Source common code shared between the
# X session and X init scripts
#
@@ -216,9 +80,9 @@ diff -u -r ../old/etc/X11/xdm/sys.xsession ./etc/X11/xdm/sys.xsession
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 2024-08-09 11:27:04.390249591 +0200
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
@@ -233,7 +97,7 @@ diff -u -r ../old/etc/X11/xdm/xdm-config ./etc/X11/xdm/xdm-config
!
! ATTENTION: `authName' should be in general MIT-MAGIC-COOKIE-1
! For XDM-AUTHENTICATION-1 which is default for xterminals see
@@ -27,16 +27,16 @@
@@ -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.
!
@@ -256,9 +120,243 @@ diff -u -r ../old/etc/X11/xdm/xdm-config ./etc/X11/xdm/xdm-config
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 2024-08-09 11:36:39.578216426 +0200
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
#
@@ -279,7 +377,7 @@ diff -u -r ../old/usr/lib/X11/display-manager ./usr/lib/X11/display-manager
locale_vars=" \
LANG \
@@ -67,14 +72,14 @@
@@ -67,14 +72,14 @@ fi
unset DEFAULT_WM
export WINDOWMANAGER
@@ -296,7 +394,7 @@ diff -u -r ../old/usr/lib/X11/display-manager ./usr/lib/X11/display-manager
# 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 @@
@@ -87,8 +92,8 @@ xdm_reload_files () {
fi
fi
MD5DIR="/var/adm/SuSEconfig/md5" \
@@ -307,7 +405,7 @@ diff -u -r ../old/usr/lib/X11/display-manager ./usr/lib/X11/display-manager
/bin/logger
return 0
fi
@@ -130,6 +135,13 @@
@@ -130,6 +135,13 @@ case "$DM" in
exit 0
;;
*)
@@ -321,7 +419,7 @@ diff -u -r ../old/usr/lib/X11/display-manager ./usr/lib/X11/display-manager
for i in /usr/lib/X11/displaymanagers/*
do
tmp=${i%.fallback}
@@ -159,8 +171,8 @@
@@ -159,8 +171,8 @@ case "$1" in
start)
# use system keyboard as global X keyboard configuration
@@ -332,10 +430,10 @@ diff -u -r ../old/usr/lib/X11/display-manager ./usr/lib/X11/display-manager
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 2024-08-09 11:27:04.390249591 +0200
@@ -5,8 +5,8 @@
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() {

View File

@@ -1,3 +1,59 @@
-------------------------------------------------------------------
Wed Jun 4 19:13:52 UTC 2025 - Stefan Dirsch <sndirsch@suse.com>
- no longer require xinit so it can be dropped from SLE16
-------------------------------------------------------------------
Tue Mar 25 10:15:20 UTC 2025 - Callum Farmer <gmbr3@opensuse.org>
- Move display-manager.service to display-manager-legacy.service
to prepare for systemd control of display manager choice
(needs systemd-presets-common-SUSE update)
- Create xdm.service to allow XDM to be used in systemd only mode
- Order systemd-presets-common-SUSE before xdm
-------------------------------------------------------------------
Sun Mar 9 04:05:25 UTC 2025 - Stefan Dirsch <sndirsch@suse.com>
- Update to release 1.1.17
Support for using getaddrinfo(), inet_ntop(), and struct sockaddr_storage
was originally added to support IPv6, and only used if IPv6 support was
enabled. Two decades later, these interfaces are ubiquitous and OS'es have
starting marking the old interfaces as deprecated, so this release changes
to use the modern interface whenever we can now. (Note that code included
from xtrans will only use these interfaces when IPv6 is disabled if building
against xtrans 1.6.0 or later.)
-------------------------------------------------------------------
Sat Mar 1 17:38:27 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Make build recipe compatible with POSIX sh.
-------------------------------------------------------------------
Wed Feb 26 13:14:17 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
- display-manager: Do not abort when there is no /usr/bin/X found.
Rely on the DM to know how to handle it. E.g gdm could be
spawning a wayland-only session. (boo#1237777)
-------------------------------------------------------------------
Wed Nov 27 13:07:24 UTC 2024 - Dominique Leuenberger <dimstar@opensuse.org>
- 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).
-------------------------------------------------------------------
Wed Nov 20 13:11:22 UTC 2024 - pgajdos@suse.com
- tweak the login screen:
* use sans serif font
* use branding wallpaper and colors
* do not require xli, recommend feh
-------------------------------------------------------------------
Fri Aug 9 09:40:13 UTC 2024 - Thorsten Kukuk <kukuk@suse.com>

14
xdm.service Normal file
View File

@@ -0,0 +1,14 @@
[Unit]
Description=X Display Manager
Documentation=man:xdm(8)
Conflicts=getty@tty7.service plymouth-quit.service
After=ypbind.service gpm.service winbind.service acpid.service
Wants=systemd-user-sessions.service systemd-logind.service
After=systemd-user-sessions.service systemd-logind.service
OnFailure=plymouth-quit.service
[Service]
ExecStart=/usr/bin/xdm -nodaemon
[Install]
Alias=display-manager.service

View File

@@ -1,7 +1,7 @@
#
# spec file for package xdm
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -25,7 +25,7 @@
%define _fillupdir %{_localstatedir}/adm/fillup-templates
%endif
Name: xdm
Version: 1.1.16
Version: 1.1.17
Release: 0
Summary: X Display Manager
License: MIT
@@ -34,8 +34,10 @@ URL: https://xorg.freedesktop.org/
Source0: http://xorg.freedesktop.org/releases/individual/app/%{name}-%{version}.tar.xz
Source1: xdm.tar.bz2
Source2: HOWTO.xdm
Source4: display-manager.service
Source4: display-manager-legacy.service
Source5: xsession.desktop
# Upstream version doesn't handle display-manager.service
Source6: xdm.service
Patch1: xdm-tolerant-hostname-changes.diff
Patch2: xdm-tarball.patch
Patch3: n_Allow-the-greeter-to-set-the-input-fields-bg-color.patch
@@ -57,14 +59,13 @@ BuildRequires: pkgconfig(xorg-macros) >= 1.4
BuildRequires: pkgconfig(xpm)
BuildRequires: pkgconfig(xt)
BuildRequires: pkgconfig(xtrans)
Requires: %fillup_prereq
Requires: /sbin/startproc
Requires: cpp
Requires: logrotate
Requires: sessreg
Requires: xconsole
Requires: xinit
Requires: xli
Recommends: feh
Recommends: xinit
Requires: xmessage
Requires: xrdb
Requires: xset
@@ -80,6 +81,10 @@ Requires: %{_bindir}/pidof
%else
Requires: /sbin/pidof
%endif
Requires: displaymanager-sysconfig
Requires(post): displaymanager-sysconfig
# Ensure display-manager.service symlink is created in %post
Requires(pre): systemd-presets-common-SUSE
%description
Xdm manages a collection of X displays, which may be on the local host
@@ -96,12 +101,23 @@ This package contains the System desktop file which will cause
the execution of a user provided $HOME/.xsession script or pick
the system wide DM default set in %{_sysconfdir}/sysconfig/displaymanager.
%package -n displaymanager-sysconfig
Summary: Central configuration for Display Managers
Requires: %fillup_prereq
%description -n displaymanager-sysconfig
openSUSE tries to concentrate common configuration of multiple display managers
in a central place (/etc/sysconfig/displaymanager). The most relevant setting to
configure there is AUTOLOGIN.
This package is required by the various display managers that integrate into the config hooks.
%prep
%setup -q
cp %{SOURCE2} .
pushd xdm
cd xdm
%patch -P 1 -p1
popd
cd -
# reverse apply (boo#1130321)
%patch -P 3 -p1 -R
@@ -113,19 +129,22 @@ autoreconf -fi
--with-pam \
--with-xdmconfigdir=%{_sysconfdir}/X11/xdm \
--with-xdmscriptdir=%{_sysconfdir}/X11/xdm \
--with-systemdsystemunitdir=no
--with-piddir=%{_rundir} \
--with-systemdsystemunitdir=no
%make_build
%install
%make_install
# Not used anymore by SuSE
rm %{buildroot}%{_sysconfdir}/X11/xdm/{GiveConsole,TakeConsole,Xsetup_0}
cd "%{buildroot}/%{_sysconfdir}/X11/xdm/"
rm -fv GiveConsole TakeConsole Xsetup_0
cd -
pushd %{buildroot}
cd %{buildroot}
# SuSE default XDM configuration
tar xf %{SOURCE1}
tar -xf %{SOURCE1}
%if 0%{?UsrEtcMove}
patch -p0 < %{PATCH2}
patch -p1 < %{PATCH2}
mkdir -p usr%{_sysconfdir}/X11/xdm
mv etc/X11/xdm/* usr%{_sysconfdir}/X11/xdm
# Edited by SUSEConfig.xdm, package a copy
@@ -133,13 +152,13 @@ for i in xdm-config Xservers; do
cp usr%{_sysconfdir}/X11/xdm/$i etc/X11/xdm/$i
done
mkdir -p ./%{_pam_vendordir}
rm etc/pam.d/{xdm,xdm-np}.sle15
rm etc/pam.d/xdm.sle15 etc/pam.d/xdm-np.sle15
mv etc/pam.d/* ./%{_pam_vendordir}/
%else
patch -p0 < %{PATCH4}
rm etc/pam.d/{xdm,xdm-np}
mv etc/pam.d/{xdm.sle15,xdm}
mv etc/pam.d/{xdm-np.sle15,xdm-np}
rm etc/pam.d/xdm etc/pam.d/xdm-np
mv etc/pam.d/xdm.sle15 etc/pam.d/xdm
mv etc/pam.d/xdm-np.sle15 etc/pam.d/xdm-np
%endif
%if "%{_fillupdir}" != "%{_localstatedir}/adm/fillup-templates"
mkdir -p %{buildroot}$(dirname %{_fillupdir})
@@ -152,7 +171,7 @@ sed -i -e "s+DISPLAYMANAGER_REMOTE_ACCESS=.*+DISPLAYMANAGER_REMOTE_ACCESS=\"yes\
-e "s+DISPLAYMANAGER_STARTS_XSERVER=.*+DISPLAYMANAGER_STARTS_XSERVER=\"no\"+g" \
%{buildroot}%{_fillupdir}/sysconfig.displaymanager
%endif
popd
cd -
# Correct location (FHS-2.1)
%if 0%{?UsrEtcMove}
@@ -168,7 +187,7 @@ mv %{buildroot}%{_libdir}/X11/xdm/chooser %{buildroot}%{_bindir}
ln -s xdm.8%{?ext_man} %{buildroot}%{_mandir}/man8/chooser.8%{?ext_man}
install -D %{SOURCE5} -m 0644 %{buildroot}%{_datadir}/xsessions/xsession.desktop
rm -f %{buildroot}%{_sbindir}/rcxdm
install -D %{SOURCE4} -m 0444 %{buildroot}%{_unitdir}/display-manager.service
install -D %{SOURCE4} -m 0444 %{buildroot}%{_unitdir}/display-manager-legacy.service
ln -sf service %{buildroot}%{_sbindir}/rcdisplay-manager
cat > %{buildroot}%{_sbindir}/rcxdm <<-'EOF'
#!/bin/bash
@@ -187,6 +206,8 @@ mkdir -p %{buildroot}%{_distconfdir}/logrotate.d
mv %{buildroot}%{_sysconfdir}/logrotate.d/xdm %{buildroot}%{_distconfdir}/logrotate.d/xdm
%endif
install -Dm0644 %{SOURCE6} %{buildroot}%{_unitdir}/xdm.service
%post
# enable Xorg on s390x with virtio (Redhat PCI ID 1af4:1050) on installation (but not upgrade)
if [ $1 -eq 1 ] ; then
@@ -198,8 +219,8 @@ if [ $1 -eq 1 ] ; then
fi
fi
fi
%service_add_post display-manager.service
%{fillup_only -n displaymanager}
%service_add_post display-manager-legacy.service
%service_add_post xdm.service
%{_sbindir}/update-alternatives --install %{_prefix}/lib/X11/displaymanagers/default-displaymanager \
default-displaymanager %{_prefix}/lib/X11/displaymanagers/console 5
%{_sbindir}/update-alternatives --install %{_prefix}/lib/X11/displaymanagers/default-displaymanager \
@@ -209,14 +230,17 @@ sed -i 's/DISPLAYMANAGER=.*//g' %{_sysconfdir}/sysconfig/displaymanager
%firewalld_reload
%pre
%service_add_pre display-manager.service
%service_add_pre display-manager-legacy.service
%service_add_pre xdm.service
%postun
# Do not restart DM on update (bnc#886641)
%if 0%{?suse_version} >= 1550
%service_del_postun_without_restart display-manager.service
%service_del_postun_without_restart display-manager-legacy.service
%service_del_postun_without_restart xdm.service
%else
%service_del_postun -n display-manager.service
%service_del_postun -n display-manager-legacy.service
%service_del_postun -n xdm.service
%endif
[ -f %{_prefix}/lib/X11/displaymanagers/console ] || %{_sbindir}/update-alternatives \
--remove default-displaymanager %{_prefix}/lib/X11/displaymanagers/console
@@ -224,7 +248,11 @@ sed -i 's/DISPLAYMANAGER=.*//g' %{_sysconfdir}/sysconfig/displaymanager
--remove default-displaymanager %{_prefix}/lib/X11/displaymanagers/xdm
%preun
%service_del_preun display-manager.service
%service_del_preun display-manager-legacy.service
%service_del_preun xdm.service
%post -n displaymanager-sysconfig
%{fillup_only -n displaymanager}
%files
%license COPYING
@@ -248,7 +276,8 @@ sed -i 's/DISPLAYMANAGER=.*//g' %{_sysconfdir}/sysconfig/displaymanager
%dir %{_prefix}/lib/firewalld
%dir %{_prefix}/lib/firewalld/services
%{_prefix}/lib/firewalld/services/x11.xml
%{_unitdir}/display-manager.service
%{_unitdir}/display-manager-legacy.service
%{_unitdir}/xdm.service
%{_prefix}/lib/X11/display-manager
%if 0%{?UsrEtcMove}
%{_distconfdir}/logrotate.d/xdm
@@ -263,7 +292,6 @@ sed -i 's/DISPLAYMANAGER=.*//g' %{_sysconfdir}/sysconfig/displaymanager
%config(noreplace) %{_sysconfdir}/pam.d/xdm-np
%endif
%dir %{_localstatedir}/lib/xdm/
%{_fillupdir}/sysconfig.displaymanager
%{_localstatedir}/lib/xdm/authdir/
%ghost %{_localstatedir}/log/xdm.errors
%{_bindir}/chooser
@@ -282,4 +310,7 @@ sed -i 's/DISPLAYMANAGER=.*//g' %{_sysconfdir}/sysconfig/displaymanager
%files xsession
%{_datadir}/xsessions/xsession.desktop
%files -n displaymanager-sysconfig
%{_fillupdir}/sysconfig.displaymanager
%changelog

BIN
xdm.tar.bz2 (Stored with Git LFS)

Binary file not shown.