summaryrefslogtreecommitdiff
path: root/app-admin/swatchdog/files/swatchdog-init
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /app-admin/swatchdog/files/swatchdog-init
reinit the tree, so we can have metadata
Diffstat (limited to 'app-admin/swatchdog/files/swatchdog-init')
-rw-r--r--app-admin/swatchdog/files/swatchdog-init53
1 files changed, 53 insertions, 0 deletions
diff --git a/app-admin/swatchdog/files/swatchdog-init b/app-admin/swatchdog/files/swatchdog-init
new file mode 100644
index 000000000000..d623070073f7
--- /dev/null
+++ b/app-admin/swatchdog/files/swatchdog-init
@@ -0,0 +1,53 @@
+#!/sbin/openrc-run
+# This script is based on the one created by Phil (bug #255329).
+
+depend() {
+ need logger
+}
+
+SWATCHDOG_BINARY=${SWATCHDOG_BINARY:-/usr/bin/swatchdog}
+SWATCHDOGRC=${SWATCHDOGRC:-/etc/swatchdogrc}
+SWATCHDOG_TAILFILE=${SWATCHDOG_TAILFILE:-/var/log/syslog}
+SWATCHDOG_LOGFILE=${SWATCHDOG_LOGFILE:-/var/log/swatchdog.log}
+SWATCHDOG_ERRFILE=${SWATCHDOG_ERRFILE:-/var/log/swatchdog-err.log}
+SWATCHDOG_SCRIPT=${SWATCHDOG_SCRIPT:-/run/swatchdog/swatchdog_script.pl}
+
+gen_script() {
+ local tailargs=""
+ if [ "${SWATCHDOG_TAILARGS}" ]; then
+ tailargs="--tail-args=\"${SWATCHDOG_TAILARGS}\""
+ fi
+ ebegin "Generating swatchdog script from config"
+ ${SWATCHDOG_BINARY} --dump-script="${SWATCHDOG_SCRIPT}" \
+ --use-cpan-file-tail ${tailargs} \
+ --config-file "${SWATCHDOGRC}" $1 "${SWATCHDOG_TAILFILE}"
+ eend $?
+}
+
+parse_full() {
+ gen_script --examine
+ ebegin "Parsing complete file once"
+ /usr/bin/perl ${SWATCHDOG_SCRIPT} 1>/dev/null
+ eend $?
+}
+
+start() {
+ checkpath -d -q -m 0750 -o root:root /run/swatchdog
+ if [ "${PARSE_FULL}" = "YES" ]; then
+ parse_full
+ fi
+ gen_script --tail-file
+ ebegin "Starting swatchdog"
+ start-stop-daemon --start --quiet --background \
+ --make-pidfile --pidfile /run/swatchdog/swatchdog.pid \
+ --stdout ${SWATCHDOG_LOGFILE} --stderr ${SWATCHDOG_ERRFILE} \
+ --exec /usr/bin/perl -- ${SWATCHDOG_SCRIPT}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping swatchdog"
+ start-stop-daemon --stop --exec /usr/bin/perl \
+ --pidfile /run/swatchdog/swatchdog.pid --quiet
+ eend $?
+}