aboutsummaryrefslogtreecommitdiffstats
path: root/community/nut/upsd.initd
diff options
context:
space:
mode:
Diffstat (limited to 'community/nut/upsd.initd')
-rw-r--r--community/nut/upsd.initd41
1 files changed, 41 insertions, 0 deletions
diff --git a/community/nut/upsd.initd b/community/nut/upsd.initd
new file mode 100644
index 00000000000..e9b7a22fce7
--- /dev/null
+++ b/community/nut/upsd.initd
@@ -0,0 +1,41 @@
+#!/sbin/openrc-run
+
+name="UPS Server"
+pidfile=/run/nut/upsd.pid
+command=/usr/sbin/upsd
+required_files="/etc/nut/nut.conf /etc/nut/upsd.conf"
+extra_started_commands="reload"
+start_stop_daemon_args="--quiet"
+
+depend() {
+ use net dns
+ need udev
+}
+
+start_pre() {
+ . /etc/nut/nut.conf
+ case $MODE in
+ standalone|netserver)
+ checkpath -d --owner nut:nut --mode 750 ${pidfile%/*} || return 1
+ /usr/sbin/upsdrvctl start > /dev/null
+ ;;
+ none)
+ eerror "$name disabled, please adjust the configuration to your needs"
+ eerror "Then set MODE to a suitable value in /etc/nut/nut.conf to enable it"
+ return 1
+ ;;
+ *)
+ return 1
+ ;;
+ esac
+}
+
+stop_post() {
+ /usr/sbin/upsdrvctl stop > /dev/null
+}
+
+reload() {
+ ebegin "Reloading $name"
+ start-stop-daemon --signal HUP --pidfile $pidfile
+ eend $?
+}