aboutsummaryrefslogtreecommitdiffstats
path: root/main/znc/znc.initd
diff options
context:
space:
mode:
authorJakub Jirutka <jakub@jirutka.cz>2017-10-13 01:27:02 +0200
committerJakub Jirutka <jakub@jirutka.cz>2017-10-13 02:14:23 +0200
commit8bc3b1bc8c80b7c1d4635dc53255610e05326147 (patch)
tree0251b83663d541e109089044dfd23f024efbee9e /main/znc/znc.initd
parent6012f31435a177749fad326a37dfbb313b85ff5a (diff)
main/znc: improve runscript
Diffstat (limited to 'main/znc/znc.initd')
-rw-r--r--main/znc/znc.initd50
1 files changed, 29 insertions, 21 deletions
diff --git a/main/znc/znc.initd b/main/znc/znc.initd
index a8a942320c4..b6c52791f68 100644
--- a/main/znc/znc.initd
+++ b/main/znc/znc.initd
@@ -1,39 +1,47 @@
#!/sbin/openrc-run
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-irc/znc/files/znc.initd,v 1.1 2012/11/21 18:11:31 wired Exp $
-extra_commands="config"
+# Upper case variables are here for backward compatibility.
+: ${command_user:=${ZNC_USER:-"znc"}}
+: ${datadir:=${ZNC_CONF:-"/var/lib/znc"}}
+
extra_started_commands="reload save"
+extra_stopped_commands="setup"
+description_reload="Reload ZNC configuration from disk"
+description_save="Save ZNC configuration to disk"
+description_setup="Interactively create a new config"
+
+command="/usr/bin/znc"
+command_args="-f -d $datadir ${command_args:-}"
+command_background="yes"
+pidfile="/run/$RC_SVCNAME.pid"
depend() {
need net
}
-start() {
- ebegin "Starting ZNC"
- start-stop-daemon --start --user ${ZNC_USER} --name znc \
- --exec /usr/bin/znc -- -d ${ZNC_CONF}
- eend $?
+start_pre() {
+ if [ ! -f "$datadir"/configs/znc.conf ]; then
+ eerror "File $datadir/configs/znc.conf does not exist!"
+ eerror "Run 'rc-service $RC_SVCNAME setup' to create ZNC configuration."
+ return 1
+ fi
}
-stop() {
- ebegin "Stopping ZNC"
- start-stop-daemon --signal SIGINT --name znc \
- --exec /usr/bin/znc -- -d ${ZNC_CONF}
+reload() {
+ ebegin "Reloading ZNC configuration from disk"
+ start-stop-daemon --signal SIGHUP --pidfile "$pidfile"
eend $?
}
-reload() {
- ebegin "Reloading ZNC Configuration File from Disk"
- start-stop-daemon --signal SIGHUP --name znc \
- --exec /usr/bin/znc -- -d ${ZNC_CONF}
+save() {
+ ebegin "Saving ZNC configuration to disk"
+ start-stop-daemon --signal SIGUSR1 --pidfile "$pidfile"
eend $?
}
-save() {
- ebegin "Saving ZNC Configuration File to Disk"
- start-stop-daemon --signal SIGUSR1 --name znc \
- --exec /usr/bin/znc -- -d ${ZNC_CONF}
+setup() {
+ ebegin "Creating a new ZNC config"
+ checkpath -d -m 750 -o "$command_user" "$datadir"
+ su "$command_user" -s /bin/sh -c "$command $command_args --makeconf"
eend $?
}