Add start/stop scripts for the rc.d framework used by

pkgsrc (NetBSD and others).  Contributed by Miles Nordin.
This commit is contained in:
gdt 2004-08-27 15:57:35 +00:00
parent 5a9c53ded3
commit 69f1fc22f7
10 changed files with 287 additions and 4 deletions

View file

@ -1,15 +1,14 @@
## Process this file with automake to produce Makefile.in.
SUBDIRS = lib @ZEBRA@ @BGPD@ @RIPD@ @RIPNGD@ @OSPFD@ @OSPF6D@ \
@ISISD@ @VTYSH@ @OSPFCLIENT@ redhat doc
@ISISD@ @VTYSH@ @OSPFCLIENT@ pkgsrc redhat doc
DIST_SUBDIRS = lib zebra bgpd ripd ripngd ospfd ospf6d \
isisd vtysh ospfclient doc redhat tests
isisd vtysh ospfclient doc pkgsrc redhat tests
EXTRA_DIST = aclocal.m4 SERVICES TODO REPORTING-BUGS vtysh/Makefile.in \
vtysh/Makefile.am update-autotools \
tools/mrlg.cgi tools/rrcheck.pl tools/rrlookup.pl tools/zc.pl \
tools/zebra.el m4
ACLOCAL_AMFLAGS = -I m4

View file

@ -5,7 +5,7 @@
## Copyright (c) 1996, 97, 98, 99, 2000 Kunihiro Ishiguro <kunihiro@zebra.org>
## Portions Copyright (c) 2003 Paul Jakma <paul@dishone.st>
##
## $Id: configure.ac,v 1.60 2004/08/26 12:21:28 hasso Exp $
## $Id: configure.ac,v 1.61 2004/08/27 15:57:35 gdt Exp $
AC_PREREQ(2.53)
AC_INIT(quagga, 0.96.5, [http://bugzilla.quagga.net])
@ -1123,6 +1123,7 @@ AC_OUTPUT(Makefile lib/Makefile zebra/Makefile ripd/Makefile
ospf6d/Makefile isisd/Makefile vtysh/Makefile doc/Makefile
ospfclient/Makefile
vtysh/extract.pl
pkgsrc/Makefile
redhat/Makefile redhat/quagga.spec
lib/version.h
tests/Makefile

1
pkgsrc/Makefile.am Normal file
View file

@ -0,0 +1 @@
EXTRA_DIST = bgpd.sh ospf6d.sh ospfd.sh ripd.sh ripngd.sh zebra.sh

7
pkgsrc/README.txt Normal file
View file

@ -0,0 +1,7 @@
$Id: README.txt,v 1.1 2004/08/27 15:57:35 gdt Exp $
This directory contains files for use with the pkgsrc framework
(http://www.pkgsrc.org) used with NetBSD and other operating systems.
Eventually it will be hooked into automake such that they can be
installed in /usr/pkg/etc/rc.d (via configure option, probably).

44
pkgsrc/bgpd.sh Normal file
View file

@ -0,0 +1,44 @@
#!/bin/sh
#
# bgpd is part of the quagga routing beast
#
# PROVIDE: bgpd
# REQUIRE: zebra
##
PATH=/sbin:/bin:/usr/sbin:/usr/bin:@PREFIX@/sbin:@PREFIX@/bin
export PATH
if [ -f /etc/rc.subr ]
then
. /etc/rc.subr
fi
name="bgpd"
rcvar=$name
required_files="@PKG_SYSCONFDIR@/${name}.conf"
command="@PREFIX@/sbin/${name}"
command_args="-d"
start_precmd="zebra_precmd"
socket_dir=/var/run/zebra
pidfile="${socket_dir}/${name}.pid"
zebra_precmd()
{
rc_flags="$(
set -- $rc_flags
while [ $# -ne 0 ]; do
if [ X"$1" = X-P -o X"$1" = X-A ]; then
break
fi
shift
done
if [ $# -eq 0 ]; then
echo "-P 0"
fi
) $rc_flags"
}
load_rc_config $name
run_rc_command "$1"

44
pkgsrc/ospf6d.sh Normal file
View file

@ -0,0 +1,44 @@
#!/bin/sh
#
# ospf6d is part of the quagga routing beast
#
# PROVIDE: ospf6d
# REQUIRE: zebra
##
PATH=/sbin:/bin:/usr/sbin:/usr/bin:@PREFIX@/sbin:@PREFIX@/bin
export PATH
if [ -f /etc/rc.subr ]
then
. /etc/rc.subr
fi
name="ospf6d"
rcvar=$name
required_files="@PKG_SYSCONFDIR@/${name}.conf"
command="@PREFIX@/sbin/${name}"
command_args="-d"
start_precmd="zebra_precmd"
socket_dir=/var/run/zebra
pidfile="${socket_dir}/${name}.pid"
zebra_precmd()
{
rc_flags="$(
set -- $rc_flags
while [ $# -ne 0 ]; do
if [ X"$1" = X-P -o X"$1" = X-A ]; then
break
fi
shift
done
if [ $# -eq 0 ]; then
echo "-P 0"
fi
) $rc_flags"
}
load_rc_config $name
run_rc_command "$1"

44
pkgsrc/ospfd.sh Normal file
View file

@ -0,0 +1,44 @@
#!/bin/sh
#
# ospfd is part of the quagga routing beast
#
# PROVIDE: ospfd
# REQUIRE: zebra
##
PATH=/sbin:/bin:/usr/sbin:/usr/bin:@PREFIX@/sbin:@PREFIX@/bin
export PATH
if [ -f /etc/rc.subr ]
then
. /etc/rc.subr
fi
name="ospfd"
rcvar=$name
required_files="@PKG_SYSCONFDIR@/${name}.conf"
command="@PREFIX@/sbin/${name}"
command_args="-d"
start_precmd="zebra_precmd"
socket_dir=/var/run/zebra
pidfile="${socket_dir}/${name}.pid"
zebra_precmd()
{
rc_flags="$(
set -- $rc_flags
while [ $# -ne 0 ]; do
if [ X"$1" = X-P -o X"$1" = X-A ]; then
break
fi
shift
done
if [ $# -eq 0 ]; then
echo "-P 0"
fi
) $rc_flags"
}
load_rc_config $name
run_rc_command "$1"

44
pkgsrc/ripd.sh Normal file
View file

@ -0,0 +1,44 @@
#!/bin/sh
#
# ripd is part of the quagga routing beast
#
# PROVIDE: ripd
# REQUIRE: zebra
##
PATH=/sbin:/bin:/usr/sbin:/usr/bin:@PREFIX@/sbin:@PREFIX@/bin
export PATH
if [ -f /etc/rc.subr ]
then
. /etc/rc.subr
fi
name="ripd"
rcvar=$name
required_files="@PKG_SYSCONFDIR@/${name}.conf"
command="@PREFIX@/sbin/${name}"
command_args="-d"
start_precmd="zebra_precmd"
socket_dir=/var/run/zebra
pidfile="${socket_dir}/${name}.pid"
zebra_precmd()
{
rc_flags="$(
set -- $rc_flags
while [ $# -ne 0 ]; do
if [ X"$1" = X-P -o X"$1" = X-A ]; then
break
fi
shift
done
if [ $# -eq 0 ]; then
echo "-P 0"
fi
) $rc_flags"
}
load_rc_config $name
run_rc_command "$1"

44
pkgsrc/ripngd.sh Normal file
View file

@ -0,0 +1,44 @@
#!/bin/sh
#
# ripngd is part of the quagga routing beast
#
# PROVIDE: ripngd
# REQUIRE: zebra
##
PATH=/sbin:/bin:/usr/sbin:/usr/bin:@PREFIX@/sbin:@PREFIX@/bin
export PATH
if [ -f /etc/rc.subr ]
then
. /etc/rc.subr
fi
name="ripngd"
rcvar=$name
required_files="@PKG_SYSCONFDIR@/${name}.conf"
command="@PREFIX@/sbin/${name}"
command_args="-d"
start_precmd="zebra_precmd"
socket_dir=/var/run/zebra
pidfile="${socket_dir}/${name}.pid"
zebra_precmd()
{
rc_flags="$(
set -- $rc_flags
while [ $# -ne 0 ]; do
if [ X"$1" = X-P -o X"$1" = X-A ]; then
break
fi
shift
done
if [ $# -eq 0 ]; then
echo "-P 0"
fi
) $rc_flags"
}
load_rc_config $name
run_rc_command "$1"

55
pkgsrc/zebra.sh Normal file
View file

@ -0,0 +1,55 @@
#!/bin/sh
#
# zebra is the head of the quagga routing beast
#
# PROVIDE: zebra
# REQUIRE: NETWORKING
##
PATH=/sbin:/bin:/usr/sbin:/usr/bin:@PREFIX@/sbin:@PREFIX@/bin
export PATH
if [ -f /etc/rc.subr ]
then
. /etc/rc.subr
fi
name="zebra"
rcvar=$name
required_files="@PKG_SYSCONFDIR@/${name}.conf"
command="@PREFIX@/sbin/${name}"
command_args="-d"
start_precmd="zebra_precmd"
stop_postcmd="zebra_postcmd"
socket_dir=/var/run/zebra
pidfile="${socket_dir}/${name}.pid"
zebra_precmd()
{
mkdir -p "${socket_dir}"
chown quagga.quagga "${socket_dir}"
chmod 750 "${socket_dir}"
rc_flags="$(
set -- $rc_flags
while [ $# -ne 0 ]; do
if [ X"$1" = X-P -o X"$1" = X-A ]; then
break
fi
shift
done
if [ $# -eq 0 ]; then
echo "-P 0"
fi
) $rc_flags"
}
zebra_postcmd()
{
if [ -d "${socketdir}" ]; then
rmdir ${socketdir}
fi
}
load_rc_config $name
run_rc_command "$1"