diff options
author | Jakub Jirutka <jakub@jirutka.cz> | 2017-10-13 01:27:02 +0200 |
---|---|---|
committer | Jakub Jirutka <jakub@jirutka.cz> | 2017-10-13 02:14:23 +0200 |
commit | 8bc3b1bc8c80b7c1d4635dc53255610e05326147 (patch) | |
tree | 0251b83663d541e109089044dfd23f024efbee9e /main/znc/znc.initd | |
parent | 6012f31435a177749fad326a37dfbb313b85ff5a (diff) |
main/znc: improve runscript
Diffstat (limited to 'main/znc/znc.initd')
-rw-r--r-- | main/znc/znc.initd | 50 |
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 $? } |