#!/sbin/runscript # Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License, v2 or later # $Header: $ opts="checkconfig reload" ZNC_USER=${ZNC_USER:-"nobody"} ZNC_DAEMON=${ZNC_DAEMON:-"/usr/bin/znc"} depend() { need net oidentd } checkconfig() { if [ -z "${ZNC_DATADIR}" ]; then eerror "Please set at least one datadir for ZNC!" return 1 fi mkdir -p /var/run/znc/ if [ ! -d /var/run/znc ]; then eerror "Unable to create /var/run/znc!" return 1 fi return 0 } start() { checkconfig || return 1 ebegin "Starting ZNC" eindent for dir in "${ZNC_DATADIR}"; do if [ -d "${dir}" ]; then ebegin "${dir}" pidfile=$(mktemp --tmpdir=/var/run/znc) start-stop-daemon --start --quiet \ --chuid ${ZNC_USER} \ --exec ${ZNC_DAEMON} \ --pidfile ${pidfile} \ --make-pidfile --background \ --chdir ${dir} -- -d ${dir} -f eend $? fi done eoutdent eend $? } stop() { checkconfig || return 1 ebegin "Stopping ZNC" eindent for pidfile in /var/run/znc/* ; do if [ -r ${pidfile} ]; then pid=$(< ${pidfile}) if [ -L /proc/${pid}/cwd ]; then ebegin $(readlink /proc/${pid}/cwd) start-stop-daemon --stop --user ${ZNC_USER} \ --exec ${ZNC_DAEMON} \ --pidfile ${pidfile} eend $? fi fi done eoutdent eend $? } reload() { ebegin "Reloading ZNC" eindent for pidfile in /var/run/znc/* ; do if [ -r ${pidfile} ]; then pid=$(< ${pidfile}) if [ -L /proc/${pid}/cwd ]; then ebegin $(readlink /proc/${pid}/cwd) kill -HUP ${pid} eend $? fi fi done eoutdent eend $? }