diff options
author | he <he> | 2014-10-28 13:26:37 +0000 |
---|---|---|
committer | he <he> | 2014-10-28 13:26:37 +0000 |
commit | 6da8027ae148e6c527bf8f0726ddd73b84d29202 (patch) | |
tree | d1093054470a74ec7995d0b08772a10345d45b4c /security | |
parent | 90ce16534f8d353d560a8c5cd1be71b77618dfed (diff) | |
download | pkgsrc-6da8027ae148e6c527bf8f0726ddd73b84d29202.tar.gz |
Add an rc.d script for NetBSD.
Diffstat (limited to 'security')
-rw-r--r-- | security/opendnssec/Makefile | 6 | ||||
-rwxr-xr-x | security/opendnssec/files/opendnssec.sh | 135 |
2 files changed, 139 insertions, 2 deletions
diff --git a/security/opendnssec/Makefile b/security/opendnssec/Makefile index e4b324f1e0b..834a1c3ac74 100644 --- a/security/opendnssec/Makefile +++ b/security/opendnssec/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.45 2014/10/07 16:47:35 adam Exp $ +# $NetBSD: Makefile,v 1.46 2014/10/28 13:26:37 he Exp $ # DISTNAME= opendnssec-1.4.6 -PKGREVISION= 1 +PKGREVISION= 2 CATEGORIES= security net MASTER_SITES= http://www.opendnssec.org/files/source/ @@ -75,6 +75,8 @@ OWN_DIRS+= ${VARBASE}/opendnssec/signconf OWN_DIRS+= ${VARBASE}/opendnssec/signed OWN_DIRS+= ${VARBASE}/opendnssec/unsigned +RCD_SCRIPTS= opendnssec + .include "options.mk" pre-install: diff --git a/security/opendnssec/files/opendnssec.sh b/security/opendnssec/files/opendnssec.sh new file mode 100755 index 00000000000..369aab00b07 --- /dev/null +++ b/security/opendnssec/files/opendnssec.sh @@ -0,0 +1,135 @@ +#!/bin/sh +# +# $NetBSD: opendnssec.sh,v 1.1 2014/10/28 13:26:37 he Exp $ +# + +# PROVIDE: opendnssec +# REQUIRE: NETWORKING mountcritremote syslogd +# BEFORE: DAEMON + +$_rc_subr_loaded . /etc/rc.subr + +name="opendnssec" +rcvar=$name + +start_cmd=ods_start +stop_cmd=ods_stop +restart_cmd=ods_restart +status_cmd=ods_status +poll_cmd=ods_poll + +enforcer_pidfile=/var/run/opendnssec/enforcerd.pid +signerd_pidfile=/var/run/opendnssec/signerd.pid + +enforcer=/usr/pkg/sbin/ods-enforcerd +signer=/usr/pkg/sbin/ods-signerd + +ods_control=/usr/pkg/sbin/ods-control + +# Gain PID related commands +pidfile=$enforcer_pidfile +procname=$enforcer + +ods_start () { + + rv=0 + if [ -f $enforcer_pidfile ]; then + ep=$(check_pidfile $enforcer_pidfile $enforcer) + + if [ "$ep" != "" ]; then + echo 1>&2 "$enforcer already running (pid=$ep)" + rv=$(($rv + 1)) + fi + fi + + if [ -f $signerd_pidfile ]; then + sp=$(check_pidfile $signerd_pidfile $signer) + if [ "$sp" != "" ]; then + echo 1>&2 "$signer already running (pid=$sp)" + rv=$(($rv + 1)) + fi + fi + if [ $rv != 0 ]; then + exit $rv + fi + + $ods_control start +} + +ods_stop () { + + rv=0 + pids="" + if [ -f $enforcer_pidfile ]; then + ep=$(check_pidfile $enforcer_pidfile $enforcer) + if [ "$ep" != "" ]; then + pids="$pids $ep" + else + echo 1>&2 \ + "$enforcer not running (check $enforcer_pidfile)" + rv=$(($rv + 1)) + fi + else + echo 1>&2 "$enforcer not running (no $enforcer_pidfile file)" + rv=$(($rv + 1)) + fi + if [ -f $signerd_pidfile ]; then + sp=$(check_pidfile $signerd_pidfile $signer) + if [ "$sp" != "" ]; then + pids="$pids $sp" + else + echo 1>&2 "$signer not running (check $signerd_pidfile)" + rv=$(($rv + 1)) + fi + else + echo 1>&2 "$signer not running (no $signerd_pidfile file)" + rv=$(($rv + 1)) + fi + if [ $rv != 0 ]; then + exit $rv + fi + + $ods_control stop + + wait_for_pids $pids +} + +ods_restart () { + + ods_stop + ods_start +} + +ods_status () { + + ep=$(check_pidfile $enforcer_pidfile $enforcer) + sp=$(check_pidfile $signerd_pidfile $signer) + + rv=0 + if [ "$ep" != "" ]; then + echo "$enforcer running as PID $ep" + else + echo "$enforcer not running" + rv=$(($rv + 1)) + fi + if [ "$sp" != "" ]; then + echo "$signer running as PID $sp" + else + echo "$signer not running" + rv=$(($rv + 1)) + fi + return $rv +} + +ods_poll () { + + ep=$(check_pidfile $enforcer_pidfile $enforcer) + sp=$(check_pidfile $signerd_pidfile $signer) + + if [ "$ep" != "" -o "$sp" != "" ]; then + wait_for_pids $ep $sp + fi +} + +load_rc_config $name +run_rc_command "$1" |