[arch-commits] Commit in gnome-session/trunk (2 files)
Jan Steffens
heftig at archlinux.org
Sat Apr 9 21:51:15 UTC 2016
Date: Saturday, April 9, 2016 @ 23:51:15
Author: heftig
Revision: 264455
3.20.0-2: FS#48850
Added:
gnome-session/trunk/0001-main-fix-starting-gnome-session-via-startx.patch
Modified:
gnome-session/trunk/PKGBUILD
-------------------------------------------------------+
0001-main-fix-starting-gnome-session-via-startx.patch | 66 ++++++++++++++++
PKGBUILD | 6 +
2 files changed, 71 insertions(+), 1 deletion(-)
Added: 0001-main-fix-starting-gnome-session-via-startx.patch
===================================================================
--- 0001-main-fix-starting-gnome-session-via-startx.patch (rev 0)
+++ 0001-main-fix-starting-gnome-session-via-startx.patch 2016-04-09 21:51:15 UTC (rev 264455)
@@ -0,0 +1,66 @@
+From 2d2dcf3354701aa663d08e8337c608e245a9f2c1 Mon Sep 17 00:00:00 2001
+From: Andreas Henriksson <andreas at fatal.se>
+Date: Wed, 30 Mar 2016 18:49:15 +0200
+Subject: [PATCH] main: fix starting gnome session via startx
+
+The changes related to gsm_util_setenv during 3.19.x seems to have
+broken starting a gnome desktop the old fashioned way, eg. via startx.
+
+The gnome.session required components has OnlyShowIn=GNOME; which
+disqualifies them from being started unless XDG_CURRENT_DESKTOP is also
+set to GNOME (by the gio utility function used to look up info).
+
+Currently gnome-session already carries code to catch the case of
+XDG_CURRENT_DESKTOP being unset and set it to GNOME as a fallback.
+Unfortunately the changes to gsm_util_setenv seems to have made it only
+set the values in the (dbus activated) child environment, rather than
+the current environment which g_desktop_app_info_get_show_in is looking
+at.
+
+Make the fallback code set XDG_CURRENT_DESKTOP in both current
+and child environment fixes it.
+Also move the entire hunk of code before initializing gio to
+prevent potential thread issues, now that is uses g_setenv.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=764379
+---
+ gnome-session/main.c | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+diff --git a/gnome-session/main.c b/gnome-session/main.c
+index 14b201b..9f3ca0f 100644
+--- a/gnome-session/main.c
++++ b/gnome-session/main.c
+@@ -292,6 +292,15 @@ main (int argc, char **argv)
+ gsm_util_init_error (TRUE, "%s", error->message);
+ }
+
++ /* From 3.14 GDM sets XDG_CURRENT_DESKTOP. For compatibility with
++ * older versions of GDM, other display managers, and startx,
++ * set a fallback value if we don't find it set.
++ */
++ if (g_getenv ("XDG_CURRENT_DESKTOP") == NULL) {
++ g_setenv("XDG_CURRENT_DESKTOP", "GNOME", TRUE);
++ gsm_util_setenv ("XDG_CURRENT_DESKTOP", "GNOME");
++ }
++
+ /* Make sure we initialize gio in a way that does not autostart any daemon */
+ initialize_gio ();
+
+@@ -375,13 +384,6 @@ main (int argc, char **argv)
+ exit (1);
+ }
+
+- /* From 3.14 GDM sets XDG_CURRENT_DESKTOP. For compatibility with
+- * older versions of GDM, other display managers, and startx,
+- * set a fallback value if we don't find it set.
+- */
+- if (g_getenv ("XDG_CURRENT_DESKTOP") == NULL)
+- gsm_util_setenv ("XDG_CURRENT_DESKTOP", "GNOME");
+-
+ /* Push locale variables to dbus-daemon */
+ maybe_push_env_var ("LC_TIME");
+ maybe_push_env_var ("LC_NUMERIC");
+--
+2.8.0
+
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2016-04-09 20:07:54 UTC (rev 264454)
+++ PKGBUILD 2016-04-09 21:51:15 UTC (rev 264455)
@@ -3,7 +3,7 @@
pkgname=gnome-session
pkgver=3.20.0
-pkgrel=1
+pkgrel=2
pkgdesc="The GNOME Session Handler"
arch=(i686 x86_64)
license=(GPL LGPL)
@@ -15,13 +15,17 @@
url="http://www.gnome.org"
groups=(gnome)
source=(http://download.gnome.org/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz
+ 0001-main-fix-starting-gnome-session-via-startx.patch
timeout.patch)
sha256sums=('66ff72379a2e7ee11ab7fcec37ad911d36f12471845dc7755e1ce55d29301b34'
+ '5b23b7718531d610bb94611599bd9771e1cd7ca1353dcb9868ddead76aa37c96'
'9eaf31857b41db417475c3b14adc11b10c8226ed76978cdf96dd648fa6e505fc')
prepare() {
cd $pkgname-$pkgver
+ patch -Np1 -i ../0001-main-fix-starting-gnome-session-via-startx.patch
+
# Increase timeout, for slow machines
patch -Np1 -i ../timeout.patch
}
More information about the arch-commits
mailing list