Hello community,

here is the log from the commit of package xdm for openSUSE:Factory checked in 
at 2014-03-15 17:35:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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  2014-03-11 09:23:57.000000000 
+0100
+++ /work/SRC/openSUSE:Factory/.xdm.new/xdm.changes     2014-03-15 
17:35:57.000000000 +0100
@@ -1,0 +2,10 @@
+Wed Mar  5 08:40:58 UTC 2014 - cxi...@suse.com
+
+- Add support for in-line environment variable settings
+
+  Handling case like:
+  Exec=env GNOME_SHELL_SESSION_MODE=classic gnome --session gnome-classic
+  
+  For now, this is only needed to fix session management issue as in 
bnc#863709.
+
+-------------------------------------------------------------------
@@ -4 +14 @@
-- fix two array iteration bug
+- fix two array iteration bug in etc/X11/xdm/Xsession (xdm.tar.bz2)
@@ -6,2 +16,2 @@
-  1. "${#argv[@]}" is just the size of the array instead of all the elements, 
i.e.
-  "${argv[@]}", no sharp "#" sign.
+  1. "${#argv[@]}" is just the size of the array instead of all the elements, 
+     i.e. "${argv[@]}", no sharp "#" sign.
@@ -9,2 +19,2 @@
-  2. index of array starting from 0, so "argc" should be increased at the end 
of
-  iteration loop.
+  2. index of array starting from 0, so "argc" should be increased at the end 
+     of iteration loop. (bnc#866874)

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

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    2014-03-05 09:34:38.000000000 +0100
+++ new/etc/X11/xdm/Xsession    2014-03-10 09:17:14.000000000 +0100
@@ -186,19 +186,30 @@
 #
 forced=no
 if test ${#argv[@]} -gt 0 ; then
-    case "${argv[0]}" in
-    failsafe)  exec $failsafe   ;;
-    default)   ;;
-    custom)    ;;
-    *)         forced=yes
-               WINDOWMANAGER=${argv[0]} ;;
-    esac
     typeset -i argc=0
     for l in ${argv[@]} ; do
        case "$l" in
-       [a-z][a-z]_[A-Z][A-Z]*)
-           GDM_LANG=$l
-           break
+            # extra environment variables settings
+            "env")
+                extra_env_settings="yes"
+                unset argv[$argc]
+                ;;
+            *=*)
+                if test $extra_env_settings = "yes"; then
+                    eval "export $l" || :
+                    unset argv[$argc]
+                fi
+                ;;
+           [a-z][a-z]_[A-Z][A-Z]*)
+               GDM_LANG=$l
+               break
+                ;;
+            *)
+                # stop extracting env info after the first one that's not an 
ENV
+                # setting. This is needed to prevent messing command line
+                # arguments with the form: "XXX=XX"
+                extra_env_settings="no"
+                ;;
        esac
 
         # argv is an array with index starting from 0
@@ -206,6 +217,19 @@
     done
     unset argv[$argc]
     unset l
+
+    # get Window Manager only after the previous argument processing.
+    #
+    # reset the parameter array for convenience
+    argv=("${argv[@]}")
+    case "${argv[0]}" in
+        failsafe)      exec $failsafe   ;;
+        default)       ;;
+        custom)        ;;
+        *)             forced=yes
+           WINDOWMANAGER=${argv[0]} ;;
+    esac
+
 fi
 readonly argv
 

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

Reply via email to