diff --git a/xdm-consolekit.diff b/xdm-consolekit.diff deleted file mode 100644 index db8226c..0000000 --- a/xdm-consolekit.diff +++ /dev/null @@ -1,241 +0,0 @@ ---- - dm.h | 3 + - resource.c | 13 +++++++ - session.c | 100 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - xdm.man.cpp | 6 +++ - configure.ac | 14 ++++++++ - 5 files changed, 135 insertions(+), 1 deletion(-) - -Index: xdm-1.1.10/session.c -=================================================================== ---- xdm-1.1.10.orig/session.c -+++ xdm-1.1.10/xdm/session.c -@@ -67,6 +67,11 @@ extern int key_setnet(struct key_netstar - # endif - #endif /* USE_PAM */ - -+#ifdef USE_CONSOLEKIT -+#include -+#include -+#endif -+ - #ifdef __SCO__ - # include - #endif -@@ -514,6 +519,97 @@ UnsecureDisplay (struct display *d, Disp - } - } - -+#ifdef USE_CONSOLEKIT -+ -+static CkConnector *connector; -+ -+static int openCKSession(struct verify_info *verify, struct display *d) -+{ -+ int ret; -+ DBusError error; -+ char *remote_host_name = ""; -+ dbus_bool_t is_local; -+ char *display_name = ""; -+ char *display_device = ""; -+ char devtmp[16]; -+ -+ if (!use_consolekit) -+ return 1; -+ -+ is_local = d->displayType.location == Local; -+ if (d->peerlen > 0 && d->peer) -+ remote_host_name = d->peer; -+ if (d->name) -+ display_name = d->name; -+ /* how can we get the corresponding tty at best...? */ -+ if (d->windowPath) { -+ display_device = strchr(d->windowPath, ':'); -+ if (display_device && display_device[1]) -+ display_device++; -+ else -+ display_device = d->windowPath; -+ snprintf(devtmp, sizeof(devtmp), "/dev/tty%s", display_device); -+ display_device = devtmp; -+ } -+ -+ connector = ck_connector_new(); -+ if (!connector) { -+ LogOutOfMem("ck_connector"); -+ return 0; -+ } -+ -+ dbus_error_init(&error); -+ ret = ck_connector_open_session_with_parameters( -+ connector, &error, -+ "unix-user", &verify->uid, -+ "x11-display", &display_name, -+ "x11-display-device", &display_device, -+ "remote-host-name", &remote_host_name, -+ "is-local", &is_local, -+ NULL); -+ if (!ret) { -+ if (dbus_error_is_set(&error)) { -+ LogError("Dbus error: %s\n", error.message); -+ dbus_error_free(&error); -+ } else { -+ LogError("ConsoleKit error\n"); -+ } -+ LogError("console-kit-daemon not running?\n"); -+ ck_connector_unref(connector); -+ connector = NULL; -+ return 0; -+ } -+ -+ verify->userEnviron = setEnv(verify->userEnviron, -+ "XDG_SESSION_COOKIE", ck_connector_get_cookie(connector)); -+ return 1; -+} -+ -+static void closeCKSession(void) -+{ -+ DBusError error; -+ -+ if (!connector) -+ return; -+ -+ dbus_error_init(&error); -+ if (!ck_connector_close_session(connector, &error)) { -+ if (dbus_error_is_set(&error)) { -+ LogError("Dbus error: %s\n", error.message); -+ dbus_error_free(&error); -+ } else { -+ LogError("ConsoleKit close error\n"); -+ } -+ LogError("console-kit-daemon not running?\n"); -+ } -+ ck_connector_unref(connector); -+ connector = NULL; -+} -+#else -+#define openCKSession(v,d) 1 -+#define closeCKSession() -+#endif -+ - void - SessionExit (struct display *d, int status, int removeAuth) - { -@@ -528,6 +624,8 @@ SessionExit (struct display *d, int stat - } - #endif - -+ closeCKSession(); -+ - /* make sure the server gets reset after the session is over */ - if (d->serverPid >= 2 && d->resetSignal) - kill (d->serverPid, d->resetSignal); -@@ -610,6 +708,10 @@ StartClient ( - #ifdef USE_PAM - if (pamh) pam_open_session(pamh, 0); - #endif -+ -+ if (!openCKSession(verify, d)) -+ return 0; -+ - switch (pid = fork ()) { - case 0: - CleanUpChild (); -Index: xdm-1.1.10/dm.h -=================================================================== ---- xdm-1.1.10.orig/dm.h -+++ xdm-1.1.10/include/dm.h -@@ -323,6 +323,9 @@ extern char *randomFile; - extern char *prngdSocket; - extern int prngdPort; - # endif -+#ifdef USE_CONSOLEKIT -+extern int use_consolekit; -+#endif - - extern char *greeterLib; - extern char *willing; -Index: xdm-1.1.10/resource.c -=================================================================== ---- xdm-1.1.10.orig/resource.c -+++ xdm-1.1.10/xdm/resource.c -@@ -65,6 +65,9 @@ char *randomDevice; - char *prngdSocket; - int prngdPort; - #endif -+#ifdef USE_CONSOLEKIT -+int use_consolekit; -+#endif - - char *greeterLib; - char *willing; -@@ -196,6 +199,10 @@ struct dmResources { - "false"} , - { "willing", "Willing", DM_STRING, &willing, - ""} , -+#ifdef USE_CONSOLEKIT -+{ "consoleKit", "ConsoleKit", DM_BOOL, (char **) &use_consolekit, -+ "true"} , -+#endif - }; - - #define NUM_DM_RESOURCES (sizeof DmResources / sizeof DmResources[0]) -@@ -378,7 +385,11 @@ XrmOptionDescRec optionTable [] = { - {"-debug", "*debugLevel", XrmoptionSepArg, (caddr_t) NULL }, - {"-xrm", NULL, XrmoptionResArg, (caddr_t) NULL }, - {"-daemon", ".daemonMode", XrmoptionNoArg, "true" }, --{"-nodaemon", ".daemonMode", XrmoptionNoArg, "false" } -+{"-nodaemon", ".daemonMode", XrmoptionNoArg, "false" }, -+#ifdef USE_CONSOLEKIT -+{"-consolekit", ".consoleKit", XrmoptionNoArg, "true" }, -+{"-noconsolekit", ".consoleKit", XrmoptionNoArg, "false" } -+#endif - }; - - static int originalArgc; -Index: xdm-1.1.10/xdm.man.cpp -=================================================================== ---- xdm-1.1.10.orig/xdm.man.cpp -+++ xdm-1.1.10/man/xdm.man -@@ -48,6 +48,8 @@ xdm \- X Display Manager with support fo - ] [ - .B \-session - .I session_program -+] [ -+.B \-noconsolekit - ] - .SH DESCRIPTION - .I Xdm -@@ -215,6 +217,10 @@ indicates the program to run as the sess - .IP "\fB\-xrm\fP \fIresource_specification\fP" - Allows an arbitrary resource to be specified, as in most - X Toolkit applications. -+.IP "\fB\-noconsolekit\fP" -+Specifies ``false'' as the value for the \fBDisplayManager.consoleKit\fP -+resource. -+This suppresses the session management using ConsoleKit. - .SH RESOURCES - At many stages the actions of - .I xdm ---- xdm-1.1.11/configure.ac.orig 2014-07-18 16:22:30.057882318 +0200 -+++ xdm-1.1.11/configure.ac 2014-07-18 16:26:55.415254913 +0200 -@@ -391,6 +391,20 @@ - XDMGREET_CFLAGS="$XDMGREET_CFLAGS $XDM_TOOLKIT_CFLAGS $DMCP_CFLAGS $XLIB_CFLAGS $GREETER_CFLAGS $AUTH_CFLAGS" - XDMGREET_LIBS="$XDMGREET_LIBS $XDM_TOOLKIT_LIBS $DMCP_LIBS $GREETER_LIBS" - -+# ConsoleKit support -+AC_ARG_WITH(consolekit, AC_HELP_STRING([--with-consolekit], [Use ConsoleKit]), -+ [USE_CONSOLEKIT=$withval], [USE_CONSOLEKIT=yes]) -+if test x"$USE_CONSOLEKIT" != xno; then -+ PKG_CHECK_MODULES(CK_CONNECTOR, ck-connector, -+ [USE_CONSOLEKIT=yes], [USE_CONSOLEKIT=no]) -+ if test x"$USE_CONSOLEKIT" = xyes; then -+ AC_DEFINE([USE_CONSOLEKIT], 1, [Define to 1 to use ConsoleKit]) -+ XDM_CFLAGS="$XDM_CFLAGS $CK_CONNECTOR_CFLAGS" -+ XDM_LIBS="$XDM_LIBS $CK_CONNECTOR_LIBS" -+ fi -+fi -+dnl AM_CONDITIONAL(USE_CONSOLEKIT, test$USE_CONSOLEKIT = xyes) -+ - # - # XDM - # diff --git a/xdm-fallbacks.tar.bz2 b/xdm-fallbacks.tar.bz2 deleted file mode 100644 index 331593e..0000000 --- a/xdm-fallbacks.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:29ee58cb0c7923f7390e6e77e8fafab1e5e0c77ce7013680617a74403dbe66e4 -size 1050 diff --git a/xdm-tarball.patch b/xdm-tarball.patch new file mode 100644 index 0000000..c887ec7 --- /dev/null +++ b/xdm-tarball.patch @@ -0,0 +1,341 @@ +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,12 @@ + 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 -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 diff --git a/xdm-with-update-alternative.patch b/xdm-with-update-alternative.patch deleted file mode 100644 index aff5389..0000000 --- a/xdm-with-update-alternative.patch +++ /dev/null @@ -1,57 +0,0 @@ ---- - 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=/run/$i.pid; -- $name $DM && break; -+ type -t $name &> /dev/null || continue -+ PIDFILE=/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 - # diff --git a/xdm.changes b/xdm.changes index facc457..ba811f7 100644 --- a/xdm.changes +++ b/xdm.changes @@ -1,3 +1,118 @@ +------------------------------------------------------------------- +Mon Oct 5 14:57:23 UTC 2020 - Stefan Dirsch + +- removed /etc/X11/xdm/Keyboard.map since it meanwhile has been + replaced by /usr/share/systemd/kbd-model-map (used by YaST) + +------------------------------------------------------------------- +Sun Oct 4 09:40:50 UTC 2020 - Fabian Vogt + +- Don't create the compat symlinks in /etc on the fly, track them + properly as %config + +------------------------------------------------------------------- +Sat Oct 3 16:52:18 UTC 2020 - Stefan Dirsch + +- /etc/X11/xdm/scripts/11-ssh-agent + * ssh-askpass now moved to /usr/libexec/ssh (boo#1175991) + +------------------------------------------------------------------- +Tue Sep 29 09:57:42 UTC 2020 - Stefan Dirsch + +- moved xdm/xdm-np PAM files to /usr/etc/pam.d, since lightdm has + been adjusted meanwhile + +------------------------------------------------------------------- +Tue Sep 15 10:16:41 UTC 2020 - Dominique Leuenberger + +- Switch to /usr/bin/pidof dependency, provided by procps-ng. + +------------------------------------------------------------------- +Thu Sep 10 02:42:45 UTC 2020 - Stefan Dirsch + +- fixes in xdm-tarball.patch + * /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) + +------------------------------------------------------------------- +Wed Sep 9 15:50:51 UTC 2020 - Stefan Dirsch + +- fixes in xdm-tarball.patch + * symlink also $XDMDIR/xinitrc.common in /etc/X11/xinit; it + is still often sourced in old ~/.xinitrc user files ... + +------------------------------------------------------------------- +Wed Sep 9 13:53:33 UTC 2020 - Stefan Dirsch + +- fixes in xdm-tarball.patch + * fixed include path for generic Xresources in xdm's Xresources file + * fixed $XDMDIR in Xsession, so sys.xsession can be found + * sys.xsession: fixed syntax error in code, which reads + additional xdm scripts + * display-manager: also symlink Xstartup and Xreset in + /etc/X11/xdm (needed by lighdm) +- specfile: + * for now use again /etc/pam.d for xdm/xdm-np PAM files instead + of /usr/etc/pam.d (using the latter resulted in + "authentificataion failure" with lightdm) + +------------------------------------------------------------------- +Tue Sep 8 22:02:59 UTC 2020 - Stefan Dirsch + +- reenabled move to /usr/etc/X11/xdm; updated xdm-tarball.patch + (includes changes from xinit-UsrEtcMove.patch) [boo#1176212] + +------------------------------------------------------------------- +Tue Sep 8 15:00:50 UTC 2020 - Stefan Dirsch + +- xinit-UsrEtcMove.patch + * changes needed with xinitrc moving to %{_libexecdir}/xinit and + xinitrc.common moving to /usr/etc/X11/xinit/ + +------------------------------------------------------------------- +Tue Sep 8 09:29:10 UTC 2020 - Stefan Dirsch + +- reverted move to /usr/etc/X11/xdm for now due to boo#1176212 + +------------------------------------------------------------------- +Sat Sep 5 03:41:38 UTC 2020 - Stefan Dirsch + +- updated xdm-tarball.patch + * adjusted for changes in xmodmap and xinit (boo#1173049) + +------------------------------------------------------------------- +Fri Sep 4 22:33:30 UTC 2020 - Stefan Dirsch + +- xdm-tarball.patch + * /usr/etc changes still needed for xdm.tar.bz2; will need + more changes once xmodmap and xinit files are also moved to + /usr/etc (boo#1173049) + +------------------------------------------------------------------- +Fri Sep 4 20:20:05 UTC 2020 - Stefan Dirsch + +- move /etc/X11/xdm --> /usr/etc/X11/xdm and + /etc/pam.d -> /usr/etc/pam.d; still TODO: adjust scripts in + xdm.tar.bz2 (boo#1173049) + +------------------------------------------------------------------- +Fri Sep 4 11:17:34 UTC 2020 - Stefan Dirsch + +- more cleanup + * no longer support sle12; adjusted xdm.tar.bz2 and + applied xdm-with-update-alternative.patch to this tarball + +------------------------------------------------------------------- +Fri Sep 4 10:29:39 UTC 2020 - Stefan Dirsch + +- cleanup + * get rid of xdm-fallbacks.tar.bz2, which wasn't used any longer + since SUSE 12.1 + * no longer support systmed based OSes like SUSE < 12.1 and sle11; + removed therefore also xdm-consolekit.diff + * no longer support sle11 + ------------------------------------------------------------------- Fri Aug 28 10:22:12 UTC 2020 - Dominique Leuenberger diff --git a/xdm.spec b/xdm.spec index d33e38f..fb31083 100644 --- a/xdm.spec +++ b/xdm.spec @@ -16,25 +16,16 @@ # +%if 0%{?suse_version} >= 1550 +%define UsrEtcMove 1 +%endif + #Compat macro for new _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} %define _fillupdir /var/adm/fillup-templates %endif %define _dminitdir /usr/lib/X11/displaymanagers -%if 0%{?suse_version} > 1230 -%define with_systemd 1 -%else -%define with_systemd 0 -%endif -%if 0%{?suse_version} < 01210 -%define dm_fallbacks 1 -%else -%define dm_fallbacks 0 -%endif -%if !%with_systemd -%define _unitdir %{_prefix}/lib/systemd/system -%endif Name: xdm Version: 1.1.12 Release: 0 @@ -45,14 +36,13 @@ URL: http://xorg.freedesktop.org/ Source0: http://xorg.freedesktop.org/releases/individual/app/%{name}-%{version}.tar.bz2 Source1: xdm.tar.bz2 Source2: HOWTO.xdm -Source3: xdm-fallbacks.tar.bz2 Source4: display-manager.service Source5: xsession.desktop Patch1: xdm-tolerant-hostname-changes.diff -# PATCH-FEATURE-OPENSUSE xdm-with-update-alternative.patch dimstar@opensuse.org -- Choice of default DM by means of u-a -Patch2: xdm-with-update-alternative.patch -# needed for patch0, patch2, patch3, patch4 +Patch2: xdm-tarball.patch Patch3: n_Allow-the-greeter-to-set-the-input-fields-bg-color.patch +Patch4: xinit-UsrEtcMove.patch +BuildRequires: firewall-macros BuildRequires: libtool BuildRequires: pam-devel BuildRequires: pkgconfig @@ -68,17 +58,9 @@ BuildRequires: pkgconfig(xorg-macros) >= 1.4 BuildRequires: pkgconfig(xpm) BuildRequires: pkgconfig(xt) BuildRequires: pkgconfig(xtrans) -%if 0%{?suse_version} > 1320 -BuildRequires: firewall-macros -%endif -Requires: /sbin/pidof -Requires: /sbin/startproc -%if 0%{?with_systemd} Requires: %fillup_prereq -%endif -%if 0%{?suse_version} < 1315 -Requires: insserv-compat -%endif +Requires: %{_bindir}/pidof +Requires: /sbin/startproc Requires: logrotate Requires: sessreg Requires: xconsole @@ -91,25 +73,9 @@ Requires: xsetroot Recommends: dbus-1-x11 # This was part of the xorg-x11 package up to version 7.6 Conflicts: xorg-x11 <= 7.6 -%if !%with_systemd -Patch0: xdm-consolekit.diff -%endif -%if 0%{?suse_version} >= 01140 && 0%{?suse_version} < 1320 -# Needed to create the man page symlink to init.d -BuildRequires: aaa_base-extras -%endif -%if !%with_systemd -BuildRequires: ConsoleKit-devel -Requires: ConsoleKit -%else BuildRequires: systemd-rpm-macros %{?systemd_requires} -%endif -%if 0%{?suse_version} > 1320 Requires: xterm-bin -%else -Requires: xterm -%endif %description Xdm manages a collection of X displays, which may be on the local host @@ -129,14 +95,9 @@ the system wide DM default set in %{_sysconfdir}/sysconfig/displaymanager. %prep %setup -q cp %{SOURCE2} . -%if !%with_systemd -%patch0 -p1 -%endif pushd xdm %patch1 -p1 popd -# Special note: patch 2 is applied in install section; tagging it here for the source validator only -#patch2 -p1 # reverse apply (boo#1130321) %patch3 -p1 -R @@ -159,19 +120,21 @@ rm %{buildroot}%{_sysconfdir}/X11/xdm/{GiveConsole,TakeConsole,Xsetup_0} pushd %{buildroot} # SuSE default XDM configuration tar xf %{SOURCE1} -%if 0%{?suse_version} > 1320 -rm etc/sysconfig/SuSEfirewall2.d/services/xdmcp -rmdir etc/sysconfig/SuSEfirewall2.d/services -rmdir etc/sysconfig/SuSEfirewall2.d -rmdir etc/sysconfig +%if 0%{?UsrEtcMove} +patch -p0 < %{PATCH2} +mkdir -p usr/etc/X11/xdm +mv etc/X11/xdm/* usr/etc/X11/xdm +# Install compatibility symlinks. Remove once DMs adjusted +for i in Xsession Xsetup Xstartup Xreset; do + ln -s /usr/etc/X11/xdm/$i etc/X11/xdm/$i +done +# Edited by SUSEConfig.xdm, package a copy +for i in xdm-config Xservers; do + cp usr/etc/X11/xdm/$i etc/X11/xdm/$i +done +mv etc/pam.d usr/etc/ %else -rm usr/lib/firewalld/services/x11.xml -rmdir usr/lib/firewalld/services -rmdir usr/lib/firewalld -%endif -%if 0%{?suse_version} >= 1330 -patch -p1 < %{PATCH2} -rm -f usr/lib/X11/display-manager.orig +patch -p0 < %{PATCH4} %endif %if "%{_fillupdir}" != "/var/adm/fillup-templates" mkdir -p %{buildroot}$(dirname %{_fillupdir}) @@ -179,9 +142,6 @@ rm -f usr/lib/X11/display-manager.orig %{buildroot}$(dirname %{_fillupdir}) %endif -%if %dm_fallbacks -tar xf %{SOURCE3} -%endif %ifarch s390 s390x sed -i -e "s+DISPLAYMANAGER_REMOTE_ACCESS=.*+DISPLAYMANAGER_REMOTE_ACCESS=\"yes\"+g" \ -e "s+DISPLAYMANAGER_STARTS_XSERVER=.*+DISPLAYMANAGER_STARTS_XSERVER=\"no\"+g" \ @@ -190,7 +150,11 @@ sed -i -e "s+DISPLAYMANAGER_REMOTE_ACCESS=.*+DISPLAYMANAGER_REMOTE_ACCESS=\"yes\ popd # Correct location (FHS-2.1) +%if 0%{?UsrEtcMove} +ln -s %{_localstatedir}/lib/xdm/authdir %{buildroot}%{_distconfdir}/X11/xdm/authdir +%else ln -s %{_localstatedir}/lib/xdm/authdir %{buildroot}%{_sysconfdir}/X11/xdm/authdir +%endif # bnc#223734 rm %{buildroot}%{_libdir}/X11/xdm/libXdmGreet.la # for FHS compliance (bnc#21857) @@ -198,12 +162,6 @@ mv %{buildroot}%{_libdir}/X11/xdm/chooser %{buildroot}%{_bindir} # fdo#35868 (closed INVALID, but because of above fix, we want it) ln -s xdm.8%{?ext_man} %{buildroot}%{_mandir}/man8/chooser.8%{?ext_man} install -D %{SOURCE5} -m 0644 %{buildroot}%{_datadir}/xsessions/xsession.desktop -%if 0%{?suse_version} < 1315 -# missing manual page -mkdir -p %{buildroot}%{_mandir}/man8 -ln -s ../man7/init.d.7%{?ext_man} %{buildroot}%{_mandir}/man8/rcxdm.8%{?ext_man} -ln -sf %{_sysconfdir}/init.d/xdm %{buildroot}%{_sbindir}/rcxdm -%else rm -f %{buildroot}%{_sbindir}/rcxdm install -D %{SOURCE4} -m 0444 %{buildroot}%{_unitdir}/display-manager.service ln -sf service %{buildroot}%{_sbindir}/rcdisplay-manager @@ -212,58 +170,37 @@ cat > %{buildroot}%{_sbindir}/rcxdm <<-'EOF' exec -a rcdisplay-manager %{_sbindir}/rcdisplay-manager ${1+"$@"} EOF chmod 0755 %{buildroot}%{_sbindir}/rcxdm -%endif -%if 0%{?suse_version} >= 1330 # prepare for defaul-dm to be chosen by means of update-alternatives mkdir -p %{buildroot}%{_sysconfdir}/alternatives touch %{buildroot}%{_sysconfdir}/alternatives/default-displaymanager ln -s %{_sysconfdir}/alternatives/default-displaymanager %{buildroot}/usr/lib/X11/displaymanagers/default-displaymanager # Inject a dummy 'console' selection - which used to be choice in /etc/sysconfig/displaymanager touch %{buildroot}/usr/lib/X11/displaymanagers/console -%endif %post -%if 0%{?suse_version} < 1315 -%{fillup_and_insserv -Y xdm} -%else %service_add_post display-manager.service %{fillup_only -n displaymanager} -%endif -%if 0%{?suse_version} >= 1330 %{_sbindir}/update-alternatives --install /usr/lib/X11/displaymanagers/default-displaymanager \ default-displaymanager /usr/lib/X11/displaymanagers/console 5 %{_sbindir}/update-alternatives --install /usr/lib/X11/displaymanagers/default-displaymanager \ default-displaymanager /usr/lib/X11/displaymanagers/xdm 10 # get rid of DISPLAYMANAGER in /etc/sysconfig/displaymanager (boo#1125040) sed -i 's/DISPLAYMANAGER=.*//g' /etc/sysconfig/displaymanager -%endif -%if 0%{?suse_version} > 1320 %firewalld_reload -%endif %pre -%if !0%{?suse_version} < 1315 - %service_add_pre display-manager.service -%endif +%service_add_pre display-manager.service %postun -%if 0%{?suse_version} < 1315 -%{insserv_cleanup} -%else # Do not restart DM on update (bnc#886641) %service_del_postun -n display-manager.service -%endif -%if 0%{?suse_version} >= 1330 [ -f /usr/lib/X11/displaymanagers/console ] || %{_sbindir}/update-alternatives \ --remove default-displaymanager /usr/lib/X11/displaymanagers/console [ -f /usr/lib/X11/displaymanagers/xdm ] || %{_sbindir}/update-alternatives \ --remove default-displaymanager /usr/lib/X11/displaymanagers/xdm -%endif %preun -%if !0%{?suse_version} < 1315 - %service_del_preun display-manager.service -%endif +%service_del_preun display-manager.service %files %defattr(-,root,root) @@ -271,39 +208,32 @@ sed -i 's/DISPLAYMANAGER=.*//g' /etc/sysconfig/displaymanager %doc HOWTO.xdm %dir %{_dminitdir} %{_dminitdir}/xdm -%if 0%{?suse_version} >= 1330 %{_dminitdir}/console /usr/lib/X11/displaymanagers/default-displaymanager %ghost %{_sysconfdir}/alternatives/default-displaymanager -%endif -%if %dm_fallbacks -%{_dminitdir}/entrance.fallback -%{_dminitdir}/gdm.fallback -%{_dminitdir}/kdm.fallback -%{_dminitdir}/lxdm.fallback -%{_dminitdir}/slim.fallback -%{_dminitdir}/wdm.fallback +%if 0%{?UsrEtcMove} +%dir %{_distconfdir}/X11 +%{_distconfdir}/X11/xdm/ %endif %config %{_sysconfdir}/X11/xdm/ +%if 0%{?UsrEtcMove} +%dir %{_distconfdir}/X11/xdm/scripts +%else %dir %{_sysconfdir}/X11/xdm/scripts -%if 0%{?suse_version} > 1320 +%endif %dir /usr/lib/firewalld %dir /usr/lib/firewalld/services /usr/lib/firewalld/services/x11.xml -%else -%config(noreplace) %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/xdmcp -%endif -%if 0%{?suse_version} < 1315 -%{_sysconfdir}/init.d/xdm -%exclude /usr/lib/X11/display-manager -%else -%exclude %{_sysconfdir}/init.d/xdm %{_unitdir}/display-manager.service /usr/lib/X11/display-manager -%endif %config %{_sysconfdir}/logrotate.d/xdm +%if 0%{?UsrEtcMove} +%{_distconfdir}/pam.d/xdm +%{_distconfdir}/pam.d/xdm-np +%else %config(noreplace) %{_sysconfdir}/pam.d/xdm %config(noreplace) %{_sysconfdir}/pam.d/xdm-np +%endif %dir %{_localstatedir}/lib/xdm/ %{_fillupdir}/sysconfig.displaymanager %{_localstatedir}/lib/xdm/authdir/ @@ -311,17 +241,12 @@ sed -i 's/DISPLAYMANAGER=.*//g' /etc/sysconfig/displaymanager %{_bindir}/chooser %{_bindir}/xdm %{_sbindir}/rcxdm -%if 0%{?suse_version} >= 1315 %{_sbindir}/rcdisplay-manager -%endif %{_libdir}/X11/xdm/ %dir %{_datadir}/X11/app-defaults %{_datadir}/X11/app-defaults/Chooser %{_mandir}/man8/chooser.8%{?ext_man} %{_mandir}/man8/xdm.8%{?ext_man} -%if 0%{?suse_version} < 1315 -%{_mandir}/man8/rcxdm.8%{?ext_man} -%endif %ifnarch %ix86 %dir %{_libdir}/X11 %endif diff --git a/xdm.tar.bz2 b/xdm.tar.bz2 index eb34c1d..4f26bcc 100644 --- a/xdm.tar.bz2 +++ b/xdm.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3490e1140041d9bf6a9bfafc3f6e4ce0faf8ad04dbd53726ee0335f758882681 -size 23798 +oid sha256:41f36ca335c3a19f7d416af8b11963cdb8deed6d8f35f611aa9ac1eca4198254 +size 21063 diff --git a/xinit-UsrEtcMove.patch b/xinit-UsrEtcMove.patch new file mode 100644 index 0000000..21a4e19 --- /dev/null +++ b/xinit-UsrEtcMove.patch @@ -0,0 +1,70 @@ +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-08 16:49:26.220507000 +0200 +@@ -35,9 +35,17 @@ + # + XETCDIR=/etc/X11 + XDMDIR=$XETCDIR/xdm +- XINITDIR=$XETCDIR/xinit + : ${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 + +@@ -291,7 +299,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/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-08 16:54:30.682569000 +0200 +@@ -63,7 +63,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 +86,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