]> git.proxmox.com Git - mirror_frr.git/commitdiff
Add start/stop scripts for the rc.d framework used by
authorgdt <gdt>
Fri, 27 Aug 2004 15:57:35 +0000 (15:57 +0000)
committergdt <gdt>
Fri, 27 Aug 2004 15:57:35 +0000 (15:57 +0000)
pkgsrc (NetBSD and others).  Contributed by Miles Nordin.

Makefile.am
configure.ac
pkgsrc/Makefile.am [new file with mode: 0644]
pkgsrc/README.txt [new file with mode: 0644]
pkgsrc/bgpd.sh [new file with mode: 0644]
pkgsrc/ospf6d.sh [new file with mode: 0644]
pkgsrc/ospfd.sh [new file with mode: 0644]
pkgsrc/ripd.sh [new file with mode: 0644]
pkgsrc/ripngd.sh [new file with mode: 0644]
pkgsrc/zebra.sh [new file with mode: 0644]

index 91b2964128af191f3984ad1b3507dafaa5b62390..f141f573a64cc2b0ab180a521c649045d6363647 100644 (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
index 3c03282e8933ebfaea61f671c76a5d97e8c0f500..df819edea0b699f0d09d8bd25373189977277dd1 100755 (executable)
@@ -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 (file)
index 0000000..4db92ab
--- /dev/null
@@ -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 (file)
index 0000000..13ec449
--- /dev/null
@@ -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 (file)
index 0000000..b150e9f
--- /dev/null
@@ -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 (file)
index 0000000..b008823
--- /dev/null
@@ -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 (file)
index 0000000..c852211
--- /dev/null
@@ -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 (file)
index 0000000..6ba86c4
--- /dev/null
@@ -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 (file)
index 0000000..ff45b4e
--- /dev/null
@@ -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 (file)
index 0000000..e4750f7
--- /dev/null
@@ -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"