#!/sbin/openrc-run # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 extra_started_commands="reload" pidfile="/var/run/${RC_SVCNAME}.pid" CONF_FILE="/etc/${RC_SVCNAME}.conf" SOCK="/var/run/${RC_SVCNAME}.ctl" command="/usr/sbin/${RC_SVCNAME}" command_args="-c ${CONF_FILE} -s ${SOCK} -P ${pidfile}" depend() { need net use logger } checkconfig() { if [ ! -f "CONF_FILE" ]; then eerror "Please create ${CONF_FILE}" return 1 fi return 0 } check_run() { STATE=$(birdc -s /var/run/bird.ctl 'configure check' | \ grep 'Configuration OK') if [ -n "${STATE}" ]; then return 0 else eerror "$(birdc -s /var/run/bird.ctl 'configure check' | \ sed '1d;2d')" return 1 fi } reload() { check_run || return 1 ebegin "Reloading BIRD" start-stop-daemon --signal HUP --exec ${command} eend $? } stop_pre() { if [ "${RC_CMD}" = "restart" ] ; then check_run || return 1 fi } stop() { ebegin "Stopping BIRD" start-stop-daemon --stop --exec ${command} --retry 15 }