From 7b61185625c6407d8ed00180e1e1982eb367f626 Mon Sep 17 00:00:00 2001 From: Mike Gabriel Date: Tue, 13 Jan 2015 10:04:01 +0100 Subject: [PATCH] debian/patches: Add 0001_msmgnome-Allow-users-to-disable-one-or-both-compatib.patch. Allow users to disable gnome-compat options (i.e. interaction with gnome-keyring and/or gnome-smproxy). (Closes: #775189). --- ...sers-to-disable-one-or-both-compatib.patch | 97 +++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 98 insertions(+) create mode 100644 debian/patches/0001_msmgnome-Allow-users-to-disable-one-or-both-compatib.patch diff --git a/debian/patches/0001_msmgnome-Allow-users-to-disable-one-or-both-compatib.patch b/debian/patches/0001_msmgnome-Allow-users-to-disable-one-or-both-compatib.patch new file mode 100644 index 0000000..6f40849 --- /dev/null +++ b/debian/patches/0001_msmgnome-Allow-users-to-disable-one-or-both-compatib.patch @@ -0,0 +1,97 @@ +From 38334a705a479b60c54f2481a14751bd41deeffb Mon Sep 17 00:00:00 2001 +From: infirit +Date: Mon, 12 Jan 2015 20:38:42 +0100 +Subject: [PATCH 1/1] msmgnome: Allow users to disable one or both + compatibility options + +--- + data/org.mate.session.gschema.xml.in.in | 5 ++++ + mate-session/msm-gnome.c | 41 +++++++++++++++++++++++++++++---- + 2 files changed, 41 insertions(+), 5 deletions(-) + +diff --git a/data/org.mate.session.gschema.xml.in.in b/data/org.mate.session.gschema.xml.in.in +index 2415c67..14e8da4 100644 +--- a/data/org.mate.session.gschema.xml.in.in ++++ b/data/org.mate.session.gschema.xml.in.in +@@ -30,6 +30,11 @@ + <_summary>Required session components + <_description>List of components that are required as part of the session. (Each element names a key under "/org/mate/desktop/session/required_components"). The Startup Applications preferences tool will not normally allow users to remove a required component from the session, and the session manager will automatically add the required components back to the session at login time if they do get removed. + ++ ++ [ 'keyring', 'smproxy' ] ++ <_summary>Control gnome compatibility componnent startup ++ <_description>Control which compatibility components to start. ++ + + + +diff --git a/mate-session/msm-gnome.c b/mate-session/msm-gnome.c +index 661d9e3..72f5493 100644 +--- a/mate-session/msm-gnome.c ++++ b/mate-session/msm-gnome.c +@@ -37,9 +37,13 @@ + + #include + #include ++#include + + #include "msm-gnome.h" + ++#define GSM_SCHEMA "org.mate.session" ++#define GSM_GNOME_COMPAT_STARTUP_KEY "gnome-compat-startup" ++ + #define GNOME_KEYRING_DAEMON "gnome-keyring-daemon" + + +@@ -231,16 +235,43 @@ msm_compat_gnome_smproxy_shutdown (void) + void + msm_gnome_start (void) + { ++ GSettings* settings; ++ gchar **array; ++ GList *startup = NULL; ++ gint i; ++ + if (gnome_compat_started == TRUE) + return; + +- g_debug ("MsmGnome: starting"); +- +- msm_compat_gnome_smproxy_startup (); ++ settings = g_settings_new (GSM_SCHEMA); ++ array = g_settings_get_strv (settings, GSM_GNOME_COMPAT_STARTUP_KEY); ++ if (array) { ++ for (i = 0; array[i]; i++) { ++ startup = g_list_append (startup, g_strdup (array[i])); ++ } ++ } ++ g_strfreev (array); ++ g_object_unref (settings); ++ ++ if (startup != NULL) { ++ if (g_list_find_custom (startup, "smproxy", (GCompareFunc) strcmp) != NULL) { ++ g_debug ("MsmGnome: starting smproxy"); ++ msm_compat_gnome_smproxy_startup (); ++ gnome_compat_started = TRUE; ++ } else if (g_list_find_custom (startup, "keyring", (GCompareFunc) strcmp) != NULL) { ++ g_debug ("MsmGnome: starting keyring"); ++ gnome_keyring_daemon_startup (); ++ gnome_compat_started = TRUE; ++ } else { ++ g_debug ("MsmGnome: unknown component, ignoring"); ++ } + +- gnome_keyring_daemon_startup (); ++ g_list_foreach (startup, (GFunc) g_free, NULL); ++ g_list_free (startup); + +- gnome_compat_started = TRUE; ++ } else { ++ g_debug ("MsmGnome: No components found to start"); ++ } + } + + +-- +2.2.1 + diff --git a/debian/patches/series b/debian/patches/series index 8c13cce..d3536da 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ +0001_msmgnome-Allow-users-to-disable-one-or-both-compatib.patch 1001_hypen-used-as-minus-sign-man-page-fix.patch