| #!/sbin/runscript |
| # 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 $? |
| } |