diff --git a/0001-data-Ensure-shutdown-target-does-not-keep-units-load.patch b/0001-data-Ensure-shutdown-target-does-not-keep-units-load.patch new file mode 100644 index 0000000..870978b --- /dev/null +++ b/0001-data-Ensure-shutdown-target-does-not-keep-units-load.patch @@ -0,0 +1,35 @@ +From 2913d9829bd6088e8f521fe6ffea68c59e935a3e Mon Sep 17 00:00:00 2001 +From: Benjamin Berg +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 + diff --git a/0002-data-Make-X11-services-part-of-gnome-session.patch b/0002-data-Make-X11-services-part-of-gnome-session.patch new file mode 100644 index 0000000..b9c1a0e --- /dev/null +++ b/0002-data-Make-X11-services-part-of-gnome-session.patch @@ -0,0 +1,26 @@ +From 3f4907c5c65c782e3ab03aa965d3fd558a986ef2 Mon Sep 17 00:00:00 2001 +From: Benjamin Berg +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 + diff --git a/gnome-session.spec b/gnome-session.spec index 699cf8b..130c699 100644 --- a/gnome-session.spec +++ b/gnome-session.spec @@ -9,7 +9,7 @@ Name: gnome-session Version: 3.34.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: GNOME session manager License: GPLv2+ @@ -28,6 +28,10 @@ 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) @@ -131,6 +135,11 @@ Desktop file to add GNOME on wayland to display manager session menu. %{_userunitdir}/gnome-session* %changelog +* Fri Oct 11 2019 Benjamin Berg - 3.34.1-3 +- Add patches to ensure proper unit unloading after session shutdown + https://gitlab.gnome.org/GNOME/gnome-session/merge_requests/28 +- Resolves: #1760366 + * Tue Oct 08 2019 Benjamin Berg - 3.34.1-2 - Add patch to strip blacklisted variables from autostart applications environment https://gitlab.gnome.org/GNOME/gnome-session/merge_requests/27