summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathaniel Roach <nroach44@gmail.com>2016-07-03 16:18:59 +0800
committerPeter Korsgaard <peter@korsgaard.com>2016-07-03 16:04:34 +0200
commit649cf99821d4418319aaf0c897ab43cab4dc902f (patch)
tree4ba0f3239c2589713a32761abcab66aee2ccf1b0
parent930467503af7c4a72750e226e9a15a0e23e2e541 (diff)
downloadbuildroot-649cf99821d4418319aaf0c897ab43cab4dc902f.tar.gz
buildroot-649cf99821d4418319aaf0c897ab43cab4dc902f.zip
package/quagga: Add systemd.service file
Use a template service file as all of the daemons use almost identical arguments and generally appear the same to the init system. We "Wants=" zebra as that's the daemon for interfacing to the kernel, and it's not required for the other daemons to work but it's probably going to be used in nearly all setups. /usr/bin/env is needed as systemd doesn't allow the instance variable (%i) in the executable path. We don't enable these services by default as this would require creating configuration and /etc/default files. (And is easily achieved with an FS overlay) [Peter: remove killmode/killsignal/restartsec as suggested by Maxime] Signed-off-by: Nathaniel Roach <nroach44@gmail.com> Reviewed-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-rw-r--r--package/quagga/quagga.mk2
-rw-r--r--package/quagga/quagga@.service17
2 files changed, 19 insertions, 0 deletions
diff --git a/package/quagga/quagga.mk b/package/quagga/quagga.mk
index 22e90add2c..1bbc72dee7 100644
--- a/package/quagga/quagga.mk
+++ b/package/quagga/quagga.mk
@@ -75,6 +75,8 @@ endif
define QUAGGA_INSTALL_INIT_SYSTEMD
$(INSTALL) -D -m 644 package/quagga/quagga_tmpfiles.conf \
$(TARGET_DIR)/usr/lib/tmpfiles.d/quagga.conf
+ $(INSTALL) -D -m 644 package/quagga/quagga@.service \
+ $(TARGET_DIR)/usr/lib/systemd/system/quagga@.service
endef
$(eval $(autotools-package))
diff --git a/package/quagga/quagga@.service b/package/quagga/quagga@.service
new file mode 100644
index 0000000000..797af32e12
--- /dev/null
+++ b/package/quagga/quagga@.service
@@ -0,0 +1,17 @@
+[Unit]
+Description=Quagga %i routing daemon
+ConditionFileIsExecutable=/usr/sbin/%i
+Wants=quagga@zebra.service
+
+[Service]
+Type=simple
+EnvironmentFile=/etc/default/quagga-%i
+PrivateTmp=true
+# Systemd doesn't like having %i in the executable path.
+ExecStart=/usr/bin/env /usr/sbin/%i $OPTS -f /etc/quagga/%i.conf
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-failure
+
+[Install]
+WantedBy=multi-user.target
+
OpenPOWER on IntegriCloud