From 649cf99821d4418319aaf0c897ab43cab4dc902f Mon Sep 17 00:00:00 2001 From: Nathaniel Roach Date: Sun, 3 Jul 2016 16:18:59 +0800 Subject: [PATCH] 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 Reviewed-by: Maxime Hadjinlian Signed-off-by: Peter Korsgaard --- package/quagga/quagga.mk | 2 ++ package/quagga/quagga@.service | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 package/quagga/quagga@.service 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 + -- 2.30.2