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