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