Update to 3.34.2

This commit is contained in:
Kalev Lember 2019-11-28 15:25:27 +01:00
parent 1098d5766a
commit 25b3628c16
6 changed files with 7 additions and 140 deletions

1
.gitignore vendored
View File

@ -107,3 +107,4 @@ gnome-session-2.31.6.tar.bz2
/gnome-session-3.33.92.tar.xz
/gnome-session-3.34.0.tar.xz
/gnome-session-3.34.1.tar.xz
/gnome-session-3.34.2.tar.xz

View File

@ -1,70 +0,0 @@
From 60e619b8a2cacc7b844fe6f0e206c895de68f890 Mon Sep 17 00:00:00 2001
From: Benjamin Berg <bberg@redhat.com>
Date: Mon, 7 Oct 2019 22:47:24 +0200
Subject: [PATCH] autostart-app: Strip blacklisted variables from autostart
environment
So far the blacklisted variables were not actively striped from the
environment of XDG autostart applications. Update the code to explicitly
unset the variables, preventing e.g. NOTIFY_SOCKET to be leaked to
children.
Fixes: #36
---
gnome-session/gsm-autostart-app.c | 5 +++++
gnome-session/gsm-util.c | 6 ++++++
gnome-session/gsm-util.h | 1 +
3 files changed, 12 insertions(+)
diff --git a/gnome-session/gsm-autostart-app.c b/gnome-session/gsm-autostart-app.c
index 01ba5f9a..6fd5915a 100644
--- a/gnome-session/gsm-autostart-app.c
+++ b/gnome-session/gsm-autostart-app.c
@@ -997,6 +997,7 @@ autostart_app_start_spawn (GsmAutostartApp *app,
gboolean success;
GError *local_error;
const char *startup_id;
+ const char * const *variable_blacklist;
const char * const *child_environment;
int i;
GAppLaunchContext *ctx;
@@ -1013,6 +1014,10 @@ autostart_app_start_spawn (GsmAutostartApp *app,
local_error = NULL;
ctx = g_app_launch_context_new ();
+ variable_blacklist = gsm_util_get_variable_blacklist ();
+ for (i = 0; variable_blacklist[i] != NULL; i++)
+ g_app_launch_context_unsetenv (ctx, variable_blacklist[i]);
+
child_environment = gsm_util_listenv ();
for (i = 0; child_environment[i] != NULL; i++) {
char **environment_tuple;
diff --git a/gnome-session/gsm-util.c b/gnome-session/gsm-util.c
index ada12253..02bc4a57 100644
--- a/gnome-session/gsm-util.c
+++ b/gnome-session/gsm-util.c
@@ -808,3 +808,9 @@ gsm_util_listenv (void)
return (const char * const *) child_environment;
}
+
+const char * const *
+gsm_util_get_variable_blacklist (void)
+{
+ return variable_blacklist;
+}
diff --git a/gnome-session/gsm-util.h b/gnome-session/gsm-util.h
index 8bca5f4d..bd7b6986 100644
--- a/gnome-session/gsm-util.h
+++ b/gnome-session/gsm-util.h
@@ -50,6 +50,7 @@ char * gsm_util_generate_startup_id (void);
void gsm_util_setenv (const char *variable,
const char *value);
const char * const * gsm_util_listenv (void);
+const char * const * gsm_util_get_variable_blacklist(void);
gboolean gsm_util_export_activation_environment (GError **error);
#ifdef HAVE_SYSTEMD
--
2.23.0

View File

@ -1,35 +0,0 @@
From 2913d9829bd6088e8f521fe6ffea68c59e935a3e Mon Sep 17 00:00:00 2001
From: Benjamin Berg <bberg@redhat.com>
Date: Wed, 9 Oct 2019 22:38:38 +0200
Subject: [PATCH 1/2] data: Ensure shutdown target does not keep units loaded
The shutdown target has explicit conflicts on some user units, this
means that as long as it is active, it will keep those units loaded.
We could probably reverse the conflicts to prevent this from happening.
But, it makes sense to set StopWhenUnneeded=true anyway and doing so
also means that the corresponding units can be unloaded after logout.
---
data/gnome-session-shutdown.target | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/data/gnome-session-shutdown.target b/data/gnome-session-shutdown.target
index 84afb001..607dc6e7 100644
--- a/data/gnome-session-shutdown.target
+++ b/data/gnome-session-shutdown.target
@@ -16,7 +16,11 @@ After=gnome-session.target gnome-session-manager.target
Conflicts=gnome-session-pre.target gnome-session-initialized.target gnome-session-failed.target
After=gnome-session-pre.target gnome-session-initialized.target gnome-session-failed.target
-# Could we set StopWhenUnneeded=true or would that prevent the service to start?
+# We need to make sure this unit is stopped; primarily so that the tree of
+# units that we created is completely cleaned.
+# Note that this can also be improved by reversing the conflicts above and
+# not listing them in the shutdown unit.
+StopWhenUnneeded=true
# We trigger a restart of DBus after reaching the shutdown target this
# is a workaround so that DBus services that do not connect to the
--
2.23.0

View File

@ -1,26 +0,0 @@
From 3f4907c5c65c782e3ab03aa965d3fd558a986ef2 Mon Sep 17 00:00:00 2001
From: Benjamin Berg <bberg@redhat.com>
Date: Wed, 9 Oct 2019 22:41:27 +0200
Subject: [PATCH 2/2] data: Make X11 services part of gnome-session
The X11 services need to be stopped together with the session. Add
corresponding Requisite/PartOf/Before entries.
---
data/gnome-session-x11-services.target | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/data/gnome-session-x11-services.target b/data/gnome-session-x11-services.target
index e9dea9b5..d8d2883d 100644
--- a/data/gnome-session-x11-services.target
+++ b/data/gnome-session-x11-services.target
@@ -1,3 +1,7 @@
[Unit]
Description=GNOME session X11 services
DefaultDependencies=no
+
+Requisite=gnome-session.target
+PartOf=gnome-session.target
+Before=gnome-session.target
--
2.23.0

View File

@ -8,8 +8,8 @@
%endif
Name: gnome-session
Version: 3.34.1
Release: 3%{?dist}
Version: 3.34.2
Release: 1%{?dist}
Summary: GNOME session manager
License: GPLv2+
@ -26,12 +26,6 @@ Patch4: 0001-check-accelerated-gles-Use-eglGetPlatformDisplay-EXT.patch
Patch5: 0001-Add-support-for-new-ConfirmedRebootToBootOptions-sig.patch
Patch6: 0002-Fedora-Set-grub-boot-flags-on-shutdown-reboot.patch
Patch10: 0001-autostart-app-Strip-blacklisted-variables-from-autos.patch
# https://gitlab.gnome.org/GNOME/gnome-session/merge_requests/28
Patch20: 0001-data-Ensure-shutdown-target-does-not-keep-units-load.patch
Patch21: 0002-data-Make-X11-services-part-of-gnome-session.patch
BuildRequires: meson
BuildRequires: gcc
BuildRequires: pkgconfig(egl)
@ -135,6 +129,9 @@ Desktop file to add GNOME on wayland to display manager session menu.
%{_userunitdir}/gnome-session*
%changelog
* Thu Nov 28 2019 Kalev Lember <klember@redhat.com> - 3.34.2-1
- Update to 3.34.2
* Fri Oct 11 2019 Benjamin Berg <bberg@redhat.com> - 3.34.1-3
- Add patches to ensure proper unit unloading after session shutdown
https://gitlab.gnome.org/GNOME/gnome-session/merge_requests/28

View File

@ -1 +1 @@
SHA512 (gnome-session-3.34.1.tar.xz) = a8c0c2e7613639dd48416d4bb560aa4b5ed664268cee6b6c372d5d196e49350c13f1361e02bba57711992860189637ce542351bee01000a44a82f66dd4f79f7f
SHA512 (gnome-session-3.34.2.tar.xz) = 23388420ee117596b73ac057d2376857db726fb727fdeff4e4f420e7742622e81baef439adb04d8659a6979e5b7043c72ea334c1179974950476489a8c397182