Hello community,

here is the log from the commit of package xdm for openSUSE:Factory checked in 
at 2013-05-27 10:11:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xdm (Old)
 and      /work/SRC/openSUSE:Factory/.xdm.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "xdm"

Changes:
--------
--- /work/SRC/openSUSE:Factory/xdm/xdm.changes  2013-04-14 16:12:33.000000000 
+0200
+++ /work/SRC/openSUSE:Factory/.xdm.new/xdm.changes     2013-05-27 
10:11:10.000000000 +0200
@@ -1,0 +2,11 @@
+Fri May 24 12:59:46 UTC 2013 - wer...@suse.de
+
+- Some shells do not know about HOSTNAME variable and print error
+  messages therefore export this variable 
+- Make check for dbus smart, that is check if threre is already
+  an active session and use this if possible
+- Be aware that one user may use several X sessions in parallel
+  on the same system as well as on several systems with HOME on
+  an NFS based share. That is do not override ~/.xsession-errors
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xdm.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/etc/X11/xdm/Xsession new/etc/X11/xdm/Xsession
--- old/etc/X11/xdm/Xsession    2012-12-07 13:46:59.000000000 +0100
+++ new/etc/X11/xdm/Xsession    2013-05-24 14:53:01.000000000 +0200
@@ -99,6 +99,9 @@
 
     test -f "$1" -a ! -x "$1" && set -- /bin/bash "$@"
 
+    : ${HOSTNAME:=$(hostname -f)}
+    export HOSTNAME
+
     case "${cmd}" in
     csh|tcsh)
        exec -l -a ${cmd} ${shell}         -c 'exec $argv:q'  "${@}"    ;;
@@ -114,9 +117,8 @@
 #
 # Redirect errors to the standard user log files.
 #
-for errfile in "$HOME/.xsession-errors" \
-               "$TMPDIR/xses-$USER"     \
-               "/tmp/xses-$USER"
+for errfile in "${HOME}/.xsession-errors" \
+               "${TMPDIR:-/tmp}/xerr-${USER}-${DISPLAY}"
 do
     # GDM seems to handle this its self
     test -z "$GDMSESSION" || break
@@ -126,8 +128,8 @@
 
     # Avoid bad symbolic links
     # mv(1) uses rename(2) on the *same* file system
-    case "$errfile" in
-       /tmp/*|$TMPDIR/*)
+    case "${errfile##*/}" in
+       xerr-*)
            if rm -f -- "$errfile" ; then
                tmpfile="$(mktemp -q "$errfile.XXXXXXXX")" || break
                mv -fT "$tmpfile" "$errfile" || break
@@ -136,12 +138,17 @@
            fi
            ;;
        *)
-           if test -e "$errfile" ; then
-               exec > "$errfile" 2>&1
-               break
+           # Should we catch also e.g. vboxsf?
+           if test $(stat -fc '%T' "${errfile%/.*}" 2>/dev/null) = nfs
+           then
+               errfile="${errfile}-${HOSTNAME:-$(hostname -f)}:${DISPLAY#*:}"
+           else
+               errfile="${errfile}-${DISPLAY}"
+           fi
+           if test ! -e "$errfile" ; then
+               tmpfile="$(mktemp -q "$errfile.XXXXXXXX")" || break
+               mv -fT "$tmpfile" "$errfile" || break
            fi
-           tmpfile="$(mktemp -q "$errfile.XXXXXXXX")" || break
-           mv -fT "$tmpfile" "$errfile" || break
            exec > "$errfile" 2>&1
            break
            ;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/etc/X11/xdm/sys.xsession new/etc/X11/xdm/sys.xsession
--- old/etc/X11/xdm/sys.xsession        2013-04-11 11:47:20.000000000 +0200
+++ new/etc/X11/xdm/sys.xsession        2013-05-24 13:13:00.000000000 +0200
@@ -139,12 +139,55 @@
 #
 # Check if a dbus is required for e.g. plain xdm sessions
 #
-if test -z "$DBUS_SESSION_BUS_ADDRESS" && dbuslaunch=$(type -p dbus-launch) ; 
then
-    set -- $dbuslaunch --sh-syntax --exit-with-session ${1+"$@"}
+if dbusdaemon=$(type -p dbus-daemon) && dbuslaunch=$(type -p dbus-launch) ; 
then
+    if test -s /var/lib/dbus/machine-id ; then
+       read -t1 mid < /var/lib/dbus/machine-id
+    elif test -s /etc/machine-id ; then
+       read -t1 mid < /etc/machine-id
+    else
+       mid=
+    fi
+    if test -n "$DBUS_SESSION_BUS_ADDRESS" ; then
+       # Determine dbus identifier
+       for guid in ${DBUS_SESSION_BUS_ADDRESS//,/ } ; do
+           case "$guid" in
+           guid=*) break
+           esac
+       done
+       # Check if dbus-daemon is active
+       dpid=
+       for suid in "${HOME}/.dbus/session-bus/"${mid}* ; do
+           test -e "$suid" || break
+           grep -q $guid "$suid" || continue
+           dpid=$(grep -E '^DBUS_SESSION_BUS_PID=[[:digit:]]+' "$suid")
+           test /proc/${dpid#*=}/exe -ef $dbusdaemon && continue
+           unset DBUS_SESSION_BUS_ADDRESS
+           break
+       done
+       test -n "$dpid" || unset DBUS_SESSION_BUS_ADDRESS
+    fi
+    # Find a valid dbus-daemon if active
+    if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
+       for suid in "${HOME}/.dbus/session-bus/"${mid}* ; do
+           test -e "$suid" || break
+           dpid=$(grep -E '^DBUS_SESSION_BUS_PID=[[:digit:]]+' "$suid")
+           test /proc/${dpid#*=}/exe -ef $dbusdaemon || continue
+           dadd=$(grep -E '^DBUS_SESSION_BUS_ADDRESS=' "$suid")
+           DBUS_SESSION_BUS_ADDRESS=${dadd#*=}
+           export DBUS_SESSION_BUS_ADDRESS
+       done
+    fi
+    unset mid guid suid dadd
+    # No dbus-daemon then launch a new session
+    if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
+       set -- $dbuslaunch --sh-syntax --close-stderr --exit-with-session 
${1+"$@"}
+    fi
+    unset dbuslaunch dbusdaemon
 fi
 
 #
 # Check if ConsoleKit is required for e.g. plain xdm sessions
+# (outdated due systemd login manager)
 #
 if test -z "$XDG_SESSION_COOKIE" && cklaunch=$(type -p ck-launch-session) ; 
then
     set -- $cklaunch ${1+"$@"}

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to