First try for a new initd script
This commit is contained in:
parent
e623f0bcf7
commit
2d306ec392
|
@ -31,6 +31,6 @@ src_install() {
|
|||
fi
|
||||
dobin birdcl
|
||||
dosbin bird
|
||||
newinitd "${FILESDIR}/initd-v4-${PN}-1.3.8" bird
|
||||
newinitd "${FILESDIR}/initd-${PN}-2" bird
|
||||
dodoc doc/bird.conf.example
|
||||
}
|
||||
|
|
56
net-misc/bird/files/initd-bird-2
Executable file
56
net-misc/bird/files/initd-bird-2
Executable file
|
@ -0,0 +1,56 @@
|
|||
#!/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
|
||||
}
|
Loading…
Reference in a new issue