From 52ebf7d3f10305299258d8dc7d1eb303a56db899 Mon Sep 17 00:00:00 2001
From: Erick Hitter <git-contrib@ethitter.com>
Date: Tue, 27 Jun 2017 20:48:52 -0700
Subject: [PATCH] Switch to pure systemd

---
 README.md       |  7 +++--
 init.sh         | 81 -------------------------------------------------
 service.sh      | 18 +++++++++++
 systemd.service |  8 +++++
 4 files changed, 30 insertions(+), 84 deletions(-)
 delete mode 100755 init.sh
 create mode 100755 service.sh
 create mode 100644 systemd.service

diff --git a/README.md b/README.md
index b3f2628..786f6cc 100644
--- a/README.md
+++ b/README.md
@@ -9,8 +9,9 @@ Pipe logs to Mattermost or Slack webhooks
 
 # Installation
 1. `git clone https://git.ethitter.com/debian/eth-log-alerting.git /usr/local/eth-log-alerting`
-2. `cp /usr/local/eth-log-alerting/init.sh /etc/init.d/eth_log_alerting`
+2. `cp /usr/local/eth-log-alerting/systemd.service /etc/systemd/system/eth_log_alerting.service`
 3. `cp /usr/local/eth-log-alerting/defaults /etc/default/eth_log_alerting`
 4. Edit `/etc/default/eth_log_alerting`
-5. `sudo update-rc.d eth_log_alerting defaults`
-6. `/etc/init.d/eth_log_alerting start`
+5. `systemctl daemon-reload`
+6. `systemctl enable eth_log_alerting.service`
+6. `systemctl start eth_log_alerting.service`
diff --git a/init.sh b/init.sh
deleted file mode 100755
index 9f860ef..0000000
--- a/init.sh
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/bin/sh
-
-### BEGIN INIT INFO
-# Provides:          eth_log_alerting
-# Required-Start:    $network
-# Required-Stop:     $network
-# Default-Start:     2 3 4 5
-# Default-Stop:      0 1 6
-# Short-Description: Log entry alerting
-### END INIT INFO
-
-set -e
-
-. /lib/lsb/init-functions
-
-DAEMON="/usr/local/eth-log-alerting/pipe.sh"
-NAME="eth_log_alerting"
-DESC="log alerting"
-DAEMON_OPTIONS=
-PID="/run/$NAME.pid"
-
-# Check if DAEMON binary exist
-[ -f $DAEMON ] || exit 0
-
-[ -f "/etc/default/$NAME" ] && . /etc/default/$NAME
-
-daemon_not_configured () {
-  if [ "$1" != "stop" ]
-  then
-    log_daemon_msg "Configuration required! Update /etc/default/$NAME"
-    exit 0
-  fi
-}
-
-config_checks () {
-  # Check that log is configured
-  if [ -z "$DAEMON_OPTIONS" ]
-  then
-    daemon_not_configured "$1"
-  fi
-}
-
-case "$1" in
-  start)
-    log_daemon_msg "Starting $DESC" "$NAME"
-    config_checks "$1"
-    if start-stop-daemon --start --quiet --oknodo --pidfile $PID --exec $DAEMON -- $DAEMON_OPTIONS 1>/dev/null
-    then
-      log_end_msg 0
-    else
-      log_end_msg 1
-    fi
-    ;;
-  stop)
-    log_daemon_msg "Stopping $DESC" "$NAME"
-    if start-stop-daemon --retry TERM/5/KILL/5 --oknodo --stop --quiet --pidfile $PID 1>/dev/null
-    then
-      log_end_msg 0
-    else
-      log_end_msg 1
-    fi
-    ;;
-  restart)
-    log_daemon_msg "Restarting $DESC" "$NAME"
-    start-stop-daemon --retry TERM/5/KILL/5 --oknodo --stop --quiet --pidfile $PID 1>/dev/null
-    if start-stop-daemon --start --quiet --oknodo --pidfile $PID --exec $DAEMON -- $DAEMON_OPTIONS 1>/dev/null
-    then
-      log_end_msg 0
-    else
-      log_end_msg 1
-    fi
-    ;;
-  status)
-    status_of_proc -p $PID $DAEMON $NAME
-    ;;
-  *)
-    log_action_msg "Usage: /etc/init.d/$NAME {start|stop|restart|status}"
-    ;;
-esac
-
-exit 0
diff --git a/service.sh b/service.sh
new file mode 100755
index 0000000..1f1414d
--- /dev/null
+++ b/service.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+DAEMON="/usr/local/eth-log-alerting/pipe.sh"
+NAME="eth_log_alerting"
+
+# Check if DAEMON binary exist
+[ -f $DAEMON ] || exit 0
+
+# Check if config exists
+if [ -f "/etc/default/$NAME" ]
+then
+  . /etc/default/$NAME
+else
+  exit 0
+fi
+
+# On with it!
+$DAEMON $DAEMON_OPTIONS
diff --git a/systemd.service b/systemd.service
new file mode 100644
index 0000000..f9a0354
--- /dev/null
+++ b/systemd.service
@@ -0,0 +1,8 @@
+[Unit]
+After=network.target
+
+[Service]
+ExecStart=/usr/local/eth-log-alerting/service.sh
+
+[Install]
+WantedBy=default.target
\ No newline at end of file
-- 
GitLab