Signed-off-by: Clemens Gruber <clemens.gru...@pqgruber.com>
---
 projectroot/lib/systemd/system/rrdcached.service |  5 +++++
 projectroot/lib/systemd/system/rrdcached.socket  |  8 ++++++++
 rules/rrdtool.in                                 | 12 ++++++++++++
 rules/rrdtool.make                               |  8 ++++++++
 4 files changed, 33 insertions(+)
 create mode 100644 projectroot/lib/systemd/system/rrdcached.service
 create mode 100644 projectroot/lib/systemd/system/rrdcached.socket

diff --git a/projectroot/lib/systemd/system/rrdcached.service 
b/projectroot/lib/systemd/system/rrdcached.service
new file mode 100644
index 000000000..bb30a502e
--- /dev/null
+++ b/projectroot/lib/systemd/system/rrdcached.service
@@ -0,0 +1,5 @@
+[Unit]
+Description=Data caching daemon for rrdtool
+
+[Service]
+ExecStart=/usr/bin/rrdcached -g
diff --git a/projectroot/lib/systemd/system/rrdcached.socket 
b/projectroot/lib/systemd/system/rrdcached.socket
new file mode 100644
index 000000000..d3f6b277f
--- /dev/null
+++ b/projectroot/lib/systemd/system/rrdcached.socket
@@ -0,0 +1,8 @@
+[Unit]
+Description=rrdcached socket
+
+[Socket]
+ListenStream=/tmp/rrdcached.sock
+
+[Install]
+WantedBy=sockets.target
diff --git a/rules/rrdtool.in b/rules/rrdtool.in
index fa7e1de1c..fb91a8b84 100644
--- a/rules/rrdtool.in
+++ b/rules/rrdtool.in
@@ -34,6 +34,18 @@ config RRDTOOL_RRDCACHED
          accumulates them and, if enough have been received or a defined
          time has passed, writes the updates to the RRD file.
 
+if RRDTOOL_RRDCACHED
+
+config RRDTOOL_RRDCACHED_SYSTEMD_UNIT
+       bool
+       default y
+       depends on SYSTEMD
+       prompt "install rrdcached systemd unit"
+       help
+         Install and enable a systemd socket-activated service
+
+endif
+
 config RRDTOOL_RRDCGI
        bool
        depends on RRDTOOL_RRD_GRAPH
diff --git a/rules/rrdtool.make b/rules/rrdtool.make
index 2c7453811..d43dcac61 100644
--- a/rules/rrdtool.make
+++ b/rules/rrdtool.make
@@ -82,6 +82,14 @@ $(STATEDIR)/rrdtool.targetinstall:
 
 ifdef PTXCONF_RRDTOOL_RRDCACHED
        @$(call install_copy, rrdtool, 0, 0, 0755, -, /usr/bin/rrdcached)
+ifdef PTXCONF_RRDTOOL_RRDCACHED_SYSTEMD_UNIT
+       @$(call install_alternative, rrdtool, 0, 0, 0644, \
+               /lib/systemd/system/rrdcached.service)
+       @$(call install_alternative, rrdtool, 0, 0, 0644, \
+               /lib/systemd/system/rrdcached.socket)
+       @$(call install_link, rrdtool, ../rrdcached.socket, \
+               /lib/systemd/system/sockets.target.wants/rrdcached.socket)
+endif
 endif
 ifdef PTXCONF_RRDTOOL_RRDCGI
        @$(call install_copy, rrdtool, 0, 0, 0755, -, /usr/bin/rrdcgi)
-- 
2.12.2


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to