summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-01-07 22:19:02 +0100
committerLennart Poettering <lennart@poettering.net>2015-01-07 23:44:08 +0100
commit78ad7cf1b9d0379f1ccc516f2555cb1476ca60bd (patch)
tree2891bc32368ee453dc22c1f0625e325a1f464f10
parent8545f7ceaa57734236e54614897d40b673a16795 (diff)
units: make resolved pull in its own .busname unit, but only on kdbus systems
The daemon requires the busname unit to operate, since it contains the policy that allows it to acquire its service name.
-rw-r--r--units/org.freedesktop.resolve1.busname5
-rw-r--r--units/systemd-resolved.service.in5
2 files changed, 10 insertions, 0 deletions
diff --git a/units/org.freedesktop.resolve1.busname b/units/org.freedesktop.resolve1.busname
index 02588fbfab..5b7a7fed3f 100644
--- a/units/org.freedesktop.resolve1.busname
+++ b/units/org.freedesktop.resolve1.busname
@@ -10,6 +10,11 @@ Description=Network Name Resolution Service Bus Name
Documentation=man:systemd-resolved.service(8)
Documentation=http://www.freedesktop.org/wiki/Software/systemd/resolved
+# This is pulled in by systemd-resolved.service, since it cannot run
+# without its policy set. However, let's conditionalize this unit on
+# non-kdbus system.
+ConditionPathExists=/sys/fs/kdbus/0-system/
+
[BusName]
Service=systemd-resolved.service
AllowWorld=talk
diff --git a/units/systemd-resolved.service.in b/units/systemd-resolved.service.in
index 0133621622..e06868494b 100644
--- a/units/systemd-resolved.service.in
+++ b/units/systemd-resolved.service.in
@@ -10,6 +10,11 @@ Description=Network Name Resolution
Documentation=man:systemd-resolved.service(8)
After=systemd-networkd.service network.service
+# On kdbus systems we pull in the busname explicitly, because it
+# carries policy that allows the daemon to acquire its name.
+Wants=org.freedesktop.resolve1.busname
+After=org.freedesktop.resolve1.busname
+
[Service]
Type=notify
Restart=always