FreeBSD Port: quagga-0.99.9_7

Sergey Matveychuk sem at FreeBSD.org
Sat Jul 5 23:23:46 UTC 2008


Daniel Dvořák wrote:
> It is new style.
> 
> SYSTEM3:
> system3# pkg_info | grep "quagga"
> quagga-0.99.10_2    Free RIPv1, RIPv2, OSPFv2, BGP4, IS-IS route software
> system3# /etc2/rc.d/quagga status
> Sleeping 10 seconds to obtain dynamic routing information...
> system3#
> 
> It is new broken style. :D

Try the patch please. I'll commit it if it's OK.

-- 
Dixi.
Sem.
-------------- next part --------------
Index: files/quagga.sh.in
===================================================================
RCS file: /home/pcvs/ports/net/quagga/files/quagga.sh.in,v
retrieving revision 1.12
diff -u -r1.12 quagga.sh.in
--- files/quagga.sh.in	28 Jun 2008 03:23:36 -0000	1.12
+++ files/quagga.sh.in	1 Jul 2008 17:24:05 -0000
@@ -37,6 +37,25 @@
   rm -f $pidfile
 }
 
+do_cmd()
+{
+	for daemon in ${quagga_daemons}; do
+	    command=%%PREFIX%%/sbin/${daemon}
+	    required_files=%%SYSCONF_DIR%%/${daemon}.conf
+	    pidfile=%%LOCALSTATE_DIR%%/${daemon}.pid
+	    if [ ${quagga_cmd} = "start" -a ! -f ${required_files} ]; then
+			continue
+	    fi
+	    if [ ${quagga_cmd} = "stop" -a -z $(check_process ${command}) ]; then
+			continue
+	    fi
+	    eval flags=\$\{${daemon}_flags:-\"${quagga_flags}\"\}
+	    name=${daemon}
+	    run_rc_command "$1"
+	    _rc_restart_done=false
+	done
+}
+
 # set defaults
 
 load_rc_config $name
@@ -63,28 +82,19 @@
 	if [ ! -z ${quagga_extralibs_path} ]; then
 	    /sbin/ldconfig -m ${quagga_extralibs_path}
 	fi
+	do_cmd "start"
 	;;
-    stop|restart)
+    stop)
 	quagga_daemons=$(reverse_list ${quagga_daemons})
+	do_cmd "stop"
 	;;
+    restart)
+	quagga_daemons=$(reverse_list ${quagga_daemons})
+    	do_cmd "stop"
+	quagga_daemons=$(reverse_list ${quagga_daemons})
+	do_cmd "start"
 esac
 
-for daemon in ${quagga_daemons}; do
-    command=%%PREFIX%%/sbin/${daemon}
-    required_files=%%SYSCONF_DIR%%/${daemon}.conf
-    pidfile=%%LOCALSTATE_DIR%%/${daemon}.pid
-    if [ ${quagga_cmd} = "start" -a ! -f ${required_files} ]; then
-		continue
-    fi
-    if [ ${quagga_cmd} = "stop" -a -z $(check_process ${command}) ]; then
-		continue
-    fi
-    eval flags=\$\{${daemon}_flags:-\"${quagga_flags}\"\}
-    name="${daemon}"
-    run_rc_command "$1"
-    _rc_restart_done=false
-done
-
 if [ "${quagga_delay}" != "0" ]; then
     echo "Sleeping ${quagga_delay} seconds to obtain dynamic routing information..."
     sleep ${quagga_delay}


More information about the freebsd-ports mailing list