gdt | 69f1fc2 | 2004-08-27 15:57:35 +0000 | [diff] [blame] | 1 | #!/bin/sh |
| 2 | # |
| 3 | # zebra is the head of the quagga routing beast |
| 4 | # |
| 5 | # PROVIDE: zebra |
| 6 | # REQUIRE: NETWORKING |
| 7 | ## |
| 8 | |
gdt | cbd0408 | 2004-08-31 18:16:36 +0000 | [diff] [blame] | 9 | PATH=/sbin:/bin:/usr/sbin:/usr/bin:@prefix@/sbin:@prefix@/bin |
gdt | 69f1fc2 | 2004-08-27 15:57:35 +0000 | [diff] [blame] | 10 | export PATH |
| 11 | |
| 12 | if [ -f /etc/rc.subr ] |
| 13 | then |
| 14 | . /etc/rc.subr |
| 15 | fi |
| 16 | |
| 17 | name="zebra" |
| 18 | rcvar=$name |
gdt | cbd0408 | 2004-08-31 18:16:36 +0000 | [diff] [blame] | 19 | required_files="@sysconfdir@/${name}.conf" |
| 20 | command="@prefix@/sbin/${name}" |
gdt | 69f1fc2 | 2004-08-27 15:57:35 +0000 | [diff] [blame] | 21 | command_args="-d" |
| 22 | |
| 23 | start_precmd="zebra_precmd" |
| 24 | stop_postcmd="zebra_postcmd" |
gdt | cbd0408 | 2004-08-31 18:16:36 +0000 | [diff] [blame] | 25 | socket_dir=@localstatedir@ |
gdt | 69f1fc2 | 2004-08-27 15:57:35 +0000 | [diff] [blame] | 26 | pidfile="${socket_dir}/${name}.pid" |
| 27 | |
| 28 | zebra_precmd() |
| 29 | { |
| 30 | mkdir -p "${socket_dir}" |
| 31 | chown quagga.quagga "${socket_dir}" |
| 32 | chmod 750 "${socket_dir}" |
| 33 | rc_flags="$( |
| 34 | set -- $rc_flags |
| 35 | while [ $# -ne 0 ]; do |
| 36 | if [ X"$1" = X-P -o X"$1" = X-A ]; then |
| 37 | break |
| 38 | fi |
| 39 | shift |
| 40 | done |
| 41 | if [ $# -eq 0 ]; then |
| 42 | echo "-P 0" |
| 43 | fi |
| 44 | ) $rc_flags" |
| 45 | } |
| 46 | |
| 47 | zebra_postcmd() |
| 48 | { |
| 49 | if [ -d "${socketdir}" ]; then |
| 50 | rmdir ${socketdir} |
| 51 | fi |
| 52 | } |
| 53 | |
| 54 | load_rc_config $name |
| 55 | run_rc_command "$1" |