Files
xinit/xinit-suse.patch
Stefan Dirsch 15f27176ad - Update to version 1.4.4
This release fixes regresssions introduced by the shell script modernization
  in the 1.4.3 release, primarily seen on systems without the "mcookie" helper
  program to make xauth cookies, and thus using openssl or /dev/urandom to
  make cookies instead.  Thanks to Peter Tribble of the Tribblix illumos distro
  for reporting the issue and testing the fixes.
- adjusted xinit-suse.patch, xinit-tolerant-hostname-changes.patch

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xinit?expand=0&rev=75
2025-03-09 22:51:29 +00:00

135 lines
3.7 KiB
Diff

--- xinit-1.4.4/startx.before_patch2 2025-03-09 23:08:33.597781034 +0100
+++ xinit-1.4.4/startx 2025-03-09 23:27:30.128779830 +0100
@@ -61,6 +61,93 @@
[ -f "${XINITRC}" ] && userclientrc="${XINITRC}"
sysclientrc="/usr/libexec/xinit/xinitrc"
+#
+# check for installed servers
+#
+
+INSTALLED_SERVERS=`ls -1 /usr/bin/Xorg /usr/X11R6/bin/XFree86 /usr/X11R6/bin/Xorg* 2>/dev/null`
+
+
+if [ -z "$INSTALLED_SERVERS" ]; then
+
+ echo ""
+ echo "You did not install any X-Server \(e.g. Xorg\)!"
+ echo "Please install at least one server to start X."
+ echo "I'm aborting now."
+ exit 1
+fi
+
+
+#
+# perhaps a windowmanager is specified?
+#
+#
+# find wmlist utility, else take twm as default (always there :-))
+#
+type wmlist >/dev/null 2>&1 && WMLIST="`for i in $(wmlist); do echo $i; done | sort`"
+test -z "$WMLIST" && WMLIST="twm"
+
+test "$1" = "--" || { test -n "$1" && WANTEDWM=`basename "$1"` ; }
+
+#
+# User could have set a list of window manager in WINDOWMANAGERLIST.
+# go through wms and check if user specified a reachable one.
+#
+
+for WM in $WMLIST $WINDOWMANAGERLIST
+do
+ test "$WM" = "$WANTEDWM" && {
+#
+# is it reachable via $PATH?
+#
+ type $WM >/dev/null 2>&1 || {
+
+ echo "`basename $0`: error: the requested window manager '$1' could not be found!"
+ echo "Window manager must be one of (currently installed window amangers):"
+ for i in $WMLIST; do echo $i; done
+ exit 1
+ }
+#
+# OK, we got it, this will be the override for WINDOWMANAGER
+#
+ export WINDOWMANAGER=$WM
+ shift 1
+ break
+ }
+done
+
+unset WINDOWMANAGERLIST WMLIST WANTEDWM WM
+
+#
+# check symlink
+#
+
+if [ ! -L /usr/bin/X ]; then
+
+ echo ""
+ echo "There is no link /usr/bin/X to X server (/usr/bin/Xorg)!"
+ echo "Please link the files as mentioned above or install the X-Server again."
+ echo "I'm aborting now."
+ exit 1
+fi
+
+#
+# check if the Xorg file is an executable or an accidentally copied script or similar things
+#
+
+if [ ! -x /usr/bin/X ]; then
+
+ echo ""
+ echo "The file Xorg (binary of X-Server) doesn't seem to be a binary file."
+ echo "Please check it or / and install a new X-Server-binary."
+ echo "I'm aborting now."
+ exit 1
+fi
+
+# set $DISPLAYMANAGER_XSERVER $DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN
+. /etc/sysconfig/displaymanager
+
+
userserverrc="$HOME/.xserverrc"
[ -f "${XSERVERRC}" ] && userserverrc="${XSERVERRC}"
sysserverrc="$xinitdir/xserverrc"
@@ -319,6 +406,10 @@
done
fi
+# handle TCP port 6000
+test "$DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN" != "yes" && \
+ serverargs="$serverargs -nolisten tcp"
+
case "$(uname -s)" in
CYGWIN_NT*|Darwin)
eval "$xinit" \"$client\" $clientargs -- \"$server\" $display $serverargs
@@ -329,6 +420,12 @@
esac
retval=$?
+if [ "$retval" != 0 -a ! -u "/usr/bin/Xorg" ]; then
+ echo "-------------------------------------------------------------------------------------------"
+ echo "xinit failed. /usr/bin/Xorg is not setuid, maybe that's the reason?"
+ echo "If so either use a display manager (strongly recommended) or adjust /etc/permissions.local and run \"chkstat --system --set\" afterwards"
+fi
+
if [ "$enable_xauth" = 1 ] ; then
if [ "$removelist" != "" ]; then
"$xauth" remove $removelist
--- xinit-1.4.4/xinitrc.before_patch2 2025-03-09 23:08:33.601781115 +0100
+++ xinit-1.4.4/xinitrc 2025-03-09 23:31:04.025108190 +0100
@@ -50,7 +50,10 @@
fi
"$twm" &
+if [ -x /usr/X11R6/bin/fvwm -o -x /usr/bin/fvwm]; then
+ exec fvwm
+fi
"$xclock" -geometry 50x50-1+1 &
"$xterm" -geometry 80x50+494+51 &
"$xterm" -geometry 80x20+494-0 &
-exec "$xterm" -geometry 80x66+0+0 -name login
+exec $twm