Accepting request 382563 from home:fcrozat:branches:GNOME:Factory
- Add main-fix-starting-gnome-session-via-startx.patch: fix starting GNOME when using startx or old display managers (bgo#764379). OBS-URL: https://build.opensuse.org/request/show/382563 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-session?expand=0&rev=229
This commit is contained in:
parent
f22429e538
commit
5cdb241a73
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Mar 31 13:31:10 UTC 2016 - fcrozat@suse.com
|
||||
|
||||
- Add main-fix-starting-gnome-session-via-startx.patch: fix
|
||||
starting GNOME when using startx or old display managers
|
||||
(bgo#764379).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Mar 26 23:31:16 UTC 2016 - zaitor@opensuse.org
|
||||
|
||||
|
@ -28,6 +28,8 @@ Source1: gnome
|
||||
Source2: gnome.desktop
|
||||
# PATCH-FIX-UPSTREAM gnome-session-ice-auth-for-suid.patch hpj@novell.com -- Carries ICE auth over to other UIDs in this session using an env var.
|
||||
Patch0: gnome-session-ice-auth-for-suid.patch
|
||||
# PATCH-FIX-UPSTREAM main-fix-starting-gnome-session-via-startx.patch bgo#764379 fcrozat@suse.com -- Fix starting gnome-session with old DM or startx
|
||||
Patch1: main-fix-starting-gnome-session-via-startx.patch
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: gnome-common
|
||||
BuildRequires: hicolor-icon-theme
|
||||
@ -113,6 +115,7 @@ functional GNOME desktop.
|
||||
# Disabled, as it fails
|
||||
#translation-update-upstream
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
|
||||
%build
|
||||
NOCONFIGURE=1 gnome-autogen.sh
|
||||
|
66
main-fix-starting-gnome-session-via-startx.patch
Normal file
66
main-fix-starting-gnome-session-via-startx.patch
Normal file
@ -0,0 +1,66 @@
|
||||
From 2d2dcf3354701aa663d08e8337c608e245a9f2c1 Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Henriksson <andreas@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.6.2
|
||||
|
Loading…
Reference in New Issue
Block a user