|
|
|
#!/sbin/openrc-run
|
|
|
|
# Copyright 1999-2014 Gentoo Foundation
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
# $Id$
|
|
|
|
|
|
|
|
IF=${SVCNAME##*.}
|
|
|
|
|
|
|
|
if [ -n "${IF}" -a "${SVCNAME}" != "darkstat" ] ; then
|
|
|
|
PIDFILE=/run/darkstat.${IF}.pid
|
|
|
|
else
|
|
|
|
PIDFILE=/run/darkstat.pid
|
|
|
|
fi
|
|
|
|
|
|
|
|
depend() {
|
|
|
|
need net
|
|
|
|
}
|
|
|
|
|
|
|
|
chkconfig() {
|
|
|
|
if [ -n "${IF}" -a "${SVCNAME}" != "darkstat" ] ; then
|
|
|
|
if [ ! -f "/etc/conf.d/darkstat.${IF}" ] ; then
|
|
|
|
einfo "It's possible to have distinct config in /etc/conf.d/darkstat.${IF}."
|
|
|
|
fi
|
|
|
|
INTERFACE=${IF}
|
|
|
|
else
|
|
|
|
if [ ! -f "/etc/conf.d/darkstat" ] ; then
|
|
|
|
ewarn "/etc/conf.d/darkstat does not exist. Falling on defaults."
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -z "${INTERFACE}" ]; then
|
|
|
|
ewarn "No interface specified. Trying to use eth0."
|
|
|
|
INTERFACE="eth0"
|
|
|
|
fi
|
|
|
|
|
|
|
|
DARK_OPTS="-i ${INTERFACE}"
|
|
|
|
[ -n "${PORT}" ] && DARK_OPTS="${DARK_OPTS} -p ${PORT}"
|
|
|
|
[ -n "${ADDRESS}" ] && DARK_OPTS="${DARK_OPTS} -b ${ADDRESS}"
|
|
|
|
[ -n "${DAYLOGFILE}" ] && DARK_OPTS="${DARK_OPTS} --daylog ${DAYLOGFILE}"
|
|
|
|
|
|
|
|
return 0
|
|
|
|
}
|
|
|
|
|
|
|
|
start() {
|
|
|
|
chkconfig || return 1
|
|
|
|
|
|
|
|
# If ${PIDFILE} exist darkstat fails to start
|
|
|
|
[ -f ${PIDFILE} ] && rm ${PIDFILE}
|
|
|
|
ebegin "Starting darkstat on ${INTERFACE}"
|
|
|
|
/sbin/start-stop-daemon --start --exec /usr/sbin/darkstat -- \
|
|
|
|
--chroot "${CHROOT:-__CHROOT__}" --pidfile ${PIDFILE} \
|
|
|
|
${DARKSTAT_OPTS} ${DARK_OPTS} -f "${FILTER}"
|
|
|
|
eend $?
|
|
|
|
}
|
|
|
|
|
|
|
|
stop() {
|
|
|
|
ebegin "Stopping darkstat on ${INTERFACE}"
|
|
|
|
/sbin/start-stop-daemon --stop --pidfile ${PIDFILE}
|
|
|
|
eend $?
|
|
|
|
}
|