Browse Source

Add start/stop scripts for the rc.d framework used by
pkgsrc (NetBSD and others). Contributed by Miles Nordin.

gdt 15 years ago
parent
commit
69f1fc22f7
10 changed files with 287 additions and 4 deletions
  1. 2 3
      Makefile.am
  2. 2 1
      configure.ac
  3. 1 0
      pkgsrc/Makefile.am
  4. 7 0
      pkgsrc/README.txt
  5. 44 0
      pkgsrc/bgpd.sh
  6. 44 0
      pkgsrc/ospf6d.sh
  7. 44 0
      pkgsrc/ospfd.sh
  8. 44 0
      pkgsrc/ripd.sh
  9. 44 0
      pkgsrc/ripngd.sh
  10. 55 0
      pkgsrc/zebra.sh

+ 2 - 3
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

+ 2 - 1
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

+ 1 - 0
pkgsrc/Makefile.am

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

+ 7 - 0
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).
+

+ 44 - 0
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"

+ 44 - 0
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"

+ 44 - 0
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"

+ 44 - 0
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"

+ 44 - 0
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"

+ 55 - 0
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"