diff --git a/1.4_desktop_spec.patch b/1.4_desktop_spec.patch new file mode 100644 index 0000000..7bac60e --- /dev/null +++ b/1.4_desktop_spec.patch @@ -0,0 +1,23 @@ +From d11a70ae7d228d16f924269a207185ab2d94cb9c Mon Sep 17 00:00:00 2001 +From: Leigh Scott +Date: Mon, 1 Mar 2021 08:59:18 +0000 +Subject: [PATCH] Accept Desktop Entry Specification v1.4 + +Fixes #138 +--- + egg/eggdesktopfile.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/egg/eggdesktopfile.c b/egg/eggdesktopfile.c +index c71cd91..d7e7b48 100644 +--- a/egg/eggdesktopfile.c ++++ b/egg/eggdesktopfile.c +@@ -181,7 +181,7 @@ egg_desktop_file_new_from_key_file (GKeyFile *key_file, + g_warning ("Invalid Version string '%s' in %s", + version, source ? source : "(unknown)"); + } +- else if (version_num > 1.0) ++ else if (version_num > 1.4) + { + g_set_error (error, EGG_DESKTOP_FILE_ERROR, + EGG_DESKTOP_FILE_ERROR_INVALID, diff --git a/cinnamon-session.spec b/cinnamon-session.spec index 44d4773..3a8a661 100644 --- a/cinnamon-session.spec +++ b/cinnamon-session.spec @@ -3,10 +3,12 @@ Summary: Cinnamon session manager Name: cinnamon-session Version: 4.8.0 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2+ and LGPLv2+ URL: https://github.com/linuxmint/%{name} Source0: %{url}/archive/%{version}/%{name}-%{version}.tar.gz +Patch0: %{url}/commit/d11a70ae7d228d16f924269a207185ab2d94cb9c.patch#/1.4_desktop_spec.patch +Patch1: %{url}/pull/141.patch#/systemd_user_env_blacklist.patch Requires: system-logos # Needed for cinnamon-settings-daemon @@ -80,6 +82,9 @@ the other core components and handles logout and saving the session. %{_datadir}/glib-2.0/schemas/org.cinnamon.SessionManager.gschema.xml %changelog +* Fri Apr 09 2021 Leigh Scott - 4.8.0-3 +- Fixes for desktop spec and systemd user env blacklist + * Tue Jan 26 2021 Fedora Release Engineering - 4.8.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/systemd_user_env_blacklist.patch b/systemd_user_env_blacklist.patch new file mode 100644 index 0000000..7e83167 --- /dev/null +++ b/systemd_user_env_blacklist.patch @@ -0,0 +1,74 @@ +From 91fb196e037f6393c6a2b0a8fde3f1eda12e75a2 Mon Sep 17 00:00:00 2001 +From: Leigh Scott +Date: Mon, 29 Mar 2021 17:20:26 +0100 +Subject: [PATCH 1/2] util: Blacklist some session-specific variables + +--- + cinnamon-session/csm-util.c | 17 ++++++++++++++++- + 1 file changed, 16 insertions(+), 1 deletion(-) + +diff --git a/cinnamon-session/csm-util.c b/cinnamon-session/csm-util.c +index 0356d5f..618f46b 100644 +--- a/cinnamon-session/csm-util.c ++++ b/cinnamon-session/csm-util.c +@@ -36,6 +36,13 @@ + + static gchar *_saved_session_dir = NULL; + ++static const char * const variable_blacklist[] = { ++ "XDG_SEAT", ++ "XDG_SESSION_ID", ++ "XDG_VTNR", ++ NULL ++}; ++ + char * + csm_util_find_desktop_file_for_app_name (const char *name, + gboolean look_in_saved_session, +@@ -577,6 +584,9 @@ csm_util_export_activation_environment (GError **error) + const char *entry_name = entry_names[i]; + const char *entry_value = g_getenv (entry_name); + ++ if (g_strv_contains (variable_blacklist, entry_name)) ++ continue; ++ + if (!g_utf8_validate (entry_name, -1, NULL)) + continue; + +@@ -643,8 +653,13 @@ csm_util_export_user_environment (GError **error) + return FALSE; + } + ++ entries = g_get_environ (); ++ ++ for (; variable_blacklist[i] != NULL; i++) ++ entries = g_environ_unsetenv (entries, variable_blacklist[i]); ++ + g_variant_builder_init (&builder, G_VARIANT_TYPE ("as")); +- for (entries = g_get_environ (); entries[i] != NULL; i++) { ++ for (i = 0; entries[i] != NULL; i++) { + const char *entry = entries[i]; + + if (!g_utf8_validate (entry, -1, NULL)) + +From c567b018b87b7885866dada76d6ffb17feeda618 Mon Sep 17 00:00:00 2001 +From: Leigh Scott +Date: Mon, 29 Mar 2021 22:37:44 +0100 +Subject: [PATCH 2/2] util: Blacklist NOTIFY_SOCKET + +--- + cinnamon-session/csm-util.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/cinnamon-session/csm-util.c b/cinnamon-session/csm-util.c +index 618f46b..90daf47 100644 +--- a/cinnamon-session/csm-util.c ++++ b/cinnamon-session/csm-util.c +@@ -37,6 +37,7 @@ + static gchar *_saved_session_dir = NULL; + + static const char * const variable_blacklist[] = { ++ "NOTIFY_SOCKET", + "XDG_SEAT", + "XDG_SESSION_ID", + "XDG_VTNR",