From 78ad7cf1b9d0379f1ccc516f2555cb1476ca60bd Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 7 Jan 2015 22:19:02 +0100 Subject: [PATCH] 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. --- units/org.freedesktop.resolve1.busname | 5 +++++ units/systemd-resolved.service.in | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/units/org.freedesktop.resolve1.busname b/units/org.freedesktop.resolve1.busname index 02588fbfa..5b7a7fed3 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 013362162..e06868494 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 -- 2.30.2