diff options
author | gdt <gdt> | 2004-08-27 17:57:35 +0200 |
---|---|---|
committer | gdt <gdt> | 2004-08-27 17:57:35 +0200 |
commit | 69f1fc22f70b4baed62582cbaaefaf374665791c (patch) | |
tree | 27c18783fb335758e2008533ec8980316ef57862 | |
parent | Brown paperbag, please. Don't segfault if VTYSH_PAGER isn't defined. (diff) | |
download | frr-69f1fc22f70b4baed62582cbaaefaf374665791c.tar.xz frr-69f1fc22f70b4baed62582cbaaefaf374665791c.zip |
Add start/stop scripts for the rc.d framework used by
pkgsrc (NetBSD and others). Contributed by Miles Nordin.
-rw-r--r-- | Makefile.am | 5 | ||||
-rwxr-xr-x | configure.ac | 3 | ||||
-rw-r--r-- | pkgsrc/Makefile.am | 1 | ||||
-rw-r--r-- | pkgsrc/README.txt | 7 | ||||
-rw-r--r-- | pkgsrc/bgpd.sh | 44 | ||||
-rw-r--r-- | pkgsrc/ospf6d.sh | 44 | ||||
-rw-r--r-- | pkgsrc/ospfd.sh | 44 | ||||
-rw-r--r-- | pkgsrc/ripd.sh | 44 | ||||
-rw-r--r-- | pkgsrc/ripngd.sh | 44 | ||||
-rw-r--r-- | pkgsrc/zebra.sh | 55 |
10 files changed, 287 insertions, 4 deletions
diff --git a/Makefile.am b/Makefile.am index 91b296412..f141f573a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -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 diff --git a/configure.ac b/configure.ac index 3c03282e8..df819edea 100755 --- a/configure.ac +++ b/configure.ac @@ -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 diff --git a/pkgsrc/Makefile.am b/pkgsrc/Makefile.am new file mode 100644 index 000000000..4db92ab41 --- /dev/null +++ b/pkgsrc/Makefile.am @@ -0,0 +1 @@ +EXTRA_DIST = bgpd.sh ospf6d.sh ospfd.sh ripd.sh ripngd.sh zebra.sh diff --git a/pkgsrc/README.txt b/pkgsrc/README.txt new file mode 100644 index 000000000..13ec449a1 --- /dev/null +++ b/pkgsrc/README.txt @@ -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). + diff --git a/pkgsrc/bgpd.sh b/pkgsrc/bgpd.sh new file mode 100644 index 000000000..b150e9f0c --- /dev/null +++ b/pkgsrc/bgpd.sh @@ -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" diff --git a/pkgsrc/ospf6d.sh b/pkgsrc/ospf6d.sh new file mode 100644 index 000000000..b00882331 --- /dev/null +++ b/pkgsrc/ospf6d.sh @@ -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" diff --git a/pkgsrc/ospfd.sh b/pkgsrc/ospfd.sh new file mode 100644 index 000000000..c8522119e --- /dev/null +++ b/pkgsrc/ospfd.sh @@ -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" diff --git a/pkgsrc/ripd.sh b/pkgsrc/ripd.sh new file mode 100644 index 000000000..6ba86c4b6 --- /dev/null +++ b/pkgsrc/ripd.sh @@ -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" diff --git a/pkgsrc/ripngd.sh b/pkgsrc/ripngd.sh new file mode 100644 index 000000000..ff45b4ed5 --- /dev/null +++ b/pkgsrc/ripngd.sh @@ -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" diff --git a/pkgsrc/zebra.sh b/pkgsrc/zebra.sh new file mode 100644 index 000000000..e4750f742 --- /dev/null +++ b/pkgsrc/zebra.sh @@ -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" |