summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2012-08-26 13:37:43 +0200
committerHans de Goede <hdegoede@redhat.com>2012-08-26 13:37:43 +0200
commit9574a9102a12d27a8ef78abf6570c4e09abc7816 (patch)
tree289f37a65b631f09cb78c7d241b193f37908d184
parentbd6ecd76523b3b273c65c111a0262a94b2c4c368 (diff)
downloadvd_agent-9574a9102a12d27a8ef78abf6570c4e09abc7816.tar.gz
vd_agent-9574a9102a12d27a8ef78abf6570c4e09abc7816.tar.xz
vd_agent-9574a9102a12d27a8ef78abf6570c4e09abc7816.zip
Use hardware activation for systemd service
Make the systemd service trigger on the addition of /dev/virtio-ports/com.redhat.spice.0 Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-rw-r--r--Makefile.am6
-rw-r--r--data/70-spice-vdagentd.rules1
-rw-r--r--data/spice-vdagentd.service5
-rw-r--r--data/spice-vdagentd.target2
4 files changed, 9 insertions, 5 deletions
diff --git a/Makefile.am b/Makefile.am
index d9083f7..8ad5287 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -56,7 +56,11 @@ endif
if INIT_SCRIPT_SYSTEMD
systemdunitdir = $(SYSTEMDSYSTEMUNITDIR)
-systemdunit_DATA = $(top_srcdir)/data/spice-vdagentd.service
+systemdunit_DATA = \
+ $(top_srcdir)/data/spice-vdagentd.service \
+ $(top_srcdir)/data/spice-vdagentd.target
+udevrulesdir = /lib/udev/rules.d
+udevrules_DATA = $(top_srcdir)/data/70-spice-vdagentd.rules
endif
EXTRA_DIST = \
diff --git a/data/70-spice-vdagentd.rules b/data/70-spice-vdagentd.rules
new file mode 100644
index 0000000..a1785ba
--- /dev/null
+++ b/data/70-spice-vdagentd.rules
@@ -0,0 +1 @@
+ACTION=="add", SUBSYSTEM=="virtio-ports", ENV{DEVLINKS}=="/dev/virtio-ports/com.redhat.spice.0", ENV{SYSTEMD_WANTS}="spice-vdagentd.target"
diff --git a/data/spice-vdagentd.service b/data/spice-vdagentd.service
index d301fa0..4da7b44 100644
--- a/data/spice-vdagentd.service
+++ b/data/spice-vdagentd.service
@@ -5,9 +5,6 @@ After=dbus.target
# TODO we should use:
#Requires=spice-vdagentd.socket
-# On systems without virtio spice channel, don't start
-ConditionPathExists=/dev/virtio-ports/com.redhat.spice.0
-
[Service]
EnvironmentFile=-/etc/sysconfig/spice-vdagentd
ExecStartPre=/bin/rm -f /var/run/spice-vdagentd/spice-vdagent-sock
@@ -16,4 +13,4 @@ PIDFile=/var/run/spice-vdagentd/spice-vdagentd.pid
PrivateTmp=true
[Install]
-WantedBy=multi-user.target
+WantedBy=spice-vdagentd.target
diff --git a/data/spice-vdagentd.target b/data/spice-vdagentd.target
new file mode 100644
index 0000000..1f74931
--- /dev/null
+++ b/data/spice-vdagentd.target
@@ -0,0 +1,2 @@
+[Unit]
+Description=Agent daemon for Spice guests