commit xdm for openSUSE:Factory
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 - cxiong@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+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de