summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Berg <bberg@redhat.com>2020-12-03 13:45:36 +0100
committerBenjamin Berg <bberg@redhat.com>2020-12-03 15:34:49 +0100
commit9de6e40f12e8878f524f8d429d85724c156a0517 (patch)
tree94f9a360e08d71f327b0dad9be73624ffef998d1
parent7f99c82dcb44040a9a70bb7b1197a5ce16e365df (diff)
downloadgnome-session-9de6e40f12e8878f524f8d429d85724c156a0517.tar.gz
data: Fix indirect conflict with exit.target via app.slice
systemd v247 now puts services into app.slice by default. But app.slice will have a conflict with exit.target, which in turn means that we still get a conflict with exit.target indirectly. Fix it by adding the appropriate Slice=-.slice into gnome-session-restart-dbus.service. Also update the note in gnome-session-shutdown.service to point out the requirements. Closes: #74
-rw-r--r--data/gnome-session-restart-dbus.service.in5
-rw-r--r--data/gnome-session-shutdown.target5
2 files changed, 6 insertions, 4 deletions
diff --git a/data/gnome-session-restart-dbus.service.in b/data/gnome-session-restart-dbus.service.in
index e90f6bc8..6389c321 100644
--- a/data/gnome-session-restart-dbus.service.in
+++ b/data/gnome-session-restart-dbus.service.in
@@ -1,10 +1,11 @@
[Unit]
Description=Restart DBus after GNOME Session shutdown
-# Allow exit.target to start even if this unit is started with replace-irreversibly
-# Also put it into a slice that doesn't have such implicit dependencies
+# Allow exit.target to start even if this unit is started with replace-irreversibly.
+# For this to work, we also need to be in the root slice.
DefaultDependencies=no
[Service]
Type=notify
ExecStart=@libexecdir@/gnome-session-ctl --restart-dbus
+Slice=-.slice
diff --git a/data/gnome-session-shutdown.target b/data/gnome-session-shutdown.target
index 607dc6e7..2c3d1963 100644
--- a/data/gnome-session-shutdown.target
+++ b/data/gnome-session-shutdown.target
@@ -1,8 +1,9 @@
[Unit]
Description=Shutdown running GNOME Session
-# Allow exit.target to start even if this unit is started with replace-irreversibly
-# The same is needed for all (weak) dependencies
+# Allow exit.target to start even if this unit is started with replace-irreversibly.
+# All (weak) dependencies need to do the same. Services also need to ensure they
+# are in the root slice by setting Slice=-.slice.
DefaultDependencies=no
Conflicts=graphical-session.target graphical-session-pre.target