Changeset 30279


Ignore:
Timestamp:
2012-02-05T17:34:23+01:00 (6 years ago)
Author:
jow
Message:

[packages_10.03.2] vrrpd: merge r29214

Location:
branches/packages_10.03.2/net/vrrpd
Files:
1 deleted
2 edited
1 copied

Legend:

Unmodified
Added
Removed
  • branches/packages_10.03.2/net/vrrpd/Makefile

    r26072 r30279  
    11# 
    2 # Copyright (C) 2006 OpenWrt.org 
     2# Copyright (C) 2006-2011 OpenWrt.org 
    33# 
    44# This is free software, licensed under the GNU General Public License v2. 
     
    1010PKG_NAME:=vrrpd 
    1111PKG_VERSION:=1.0 
    12 PKG_RELEASE:=1 
     12PKG_RELEASE:=2 
    1313 
    1414PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz 
     
    3434endef 
    3535 
    36 define Package/vrrpd/conffiles 
    37 /etc/default/vrrpd 
    38 endef 
    39  
    40 define Build/Compile     
     36define Build/Compile 
    4137        $(call Build/Compile/Default, \ 
    4238                DBG_OPT="" \ 
     
    4642endef 
    4743 
    48 define Package/vrrpd/install     
     44define Package/vrrpd/install 
    4945        $(INSTALL_DIR) $(1)/usr/sbin 
    5046        $(INSTALL_BIN) $(PKG_BUILD_DIR)/vrrpd $(1)/usr/sbin/ 
    51         $(INSTALL_DIR) $(1)/etc/default 
    52         $(INSTALL_DATA) ./files/vrrpd.default $(1)/etc/default/vrrpd 
     47        $(INSTALL_DIR) $(1)/etc/config 
     48        $(INSTALL_DATA) ./files/vrrpd.config $(1)/etc/config/vrrpd 
    5349        $(INSTALL_DIR) $(1)/etc/init.d 
    5450        $(INSTALL_BIN) ./files/vrrpd.init $(1)/etc/init.d/vrrpd 
    5551endef 
    5652 
     53define Package/vrrpd/conffiles 
     54/etc/config/vrrpd 
     55endef 
     56 
    5757$(eval $(call BuildPackage,vrrpd)) 
  • branches/packages_10.03.2/net/vrrpd/files/vrrpd.init

    r7164 r30279  
    11#!/bin/sh /etc/rc.common 
    2 # Copyright (C) 2006 OpenWrt.org 
     2# Copyright (C) 2006-2011 OpenWrt.org 
     3 
    34START=50 
    45 
    5 BIN=vrrpd 
    6 DEFAULT=/etc/default/$BIN 
    7 RUN_D=/var/run 
    8 PID_F=$RUN_D/$BIN_${IF}_${ID}.pid 
     6append_list_item() { 
     7        local val="$1" 
     8        local var="$2" 
     9        append "$var" "$val" 
     10} 
     11 
     12append_bool() { 
     13        local var="$1" 
     14        local section="$2" 
     15        local option="$3" 
     16        local value="$4" 
     17        local _val 
     18        config_get_bool _val "$section" "$option" 0 
     19        [ $_val -gt 0 ] && append "$var" "$value" 
     20} 
     21 
     22append_string() { 
     23        local var="$1" 
     24        local section="$2" 
     25        local option="$3" 
     26        local val="$4" 
     27        local _val 
     28        config_get _val "$section" "$option" 
     29        [ -n "$_val" ] && append "$var" "$val $_val" 
     30} 
     31 
     32config_get_ifname() { 
     33        local var="$1" 
     34        local section="$2" 
     35        local option="$3" 
     36        local val="$4" 
     37        local _val 
     38        config_get _val "$section" "$option" "$val" 
     39        config_get "$var" "$_val" 'ifname' "$_val" 
     40} 
     41 
     42section_enabled() { 
     43        local enabled 
     44        config_get_bool enabled "$1" 'enabled' 0 
     45        [ $enabled -gt 0 ] 
     46} 
     47 
     48start_instance() { 
     49        local section="$1" 
     50        local id 
     51        local if 
     52        local args 
     53 
     54        section_enabled "$section" || return 1 
     55 
     56        config_get id "$section" 'virtual_id' '1' 
     57        config_get_ifname if "$section" 'interface' 'lan' 
     58 
     59        args="-v $id -i $if" 
     60        append_string args "$section" 'delay' '-d' 
     61        append_string args "$section" 'priority' '-p' 
     62        append_bool args "$section" 'no_virtual_mac' '-n' 
     63        config_list_foreach "$section" 'virtual_ip' append_list_item args 
     64 
     65        SERVICE_PID_FILE="/var/run/vrrpd_${if}_${id}.pid" 
     66        service_start /usr/sbin/vrrpd $args 
     67} 
     68 
     69stop_instance() { 
     70        local section="$1" 
     71        local id 
     72        local if 
     73 
     74        section_enabled "$section" || return 1 
     75 
     76        config_get id "$section" 'virtual_id' '1' 
     77        config_get_ifname if "$section" 'interface' 'lan' 
     78 
     79        SERVICE_PID_FILE="/var/run/vrrpd_${if}_${id}.pid" 
     80        service_stop /usr/sbin/vrrpd 
     81} 
    982 
    1083start() { 
    11         [ -f $DEFAULT ] && . $DEFAULT 
    12         $BIN $OPTIONS 
     84        include /lib/network 
     85        scan_interfaces 
     86        config_load 'vrrpd' 
     87        config_foreach start_instance 'vrrpd' 
    1388} 
    1489 
    1590stop() { 
    16         [ -f $PID_F ] && kill $(cat $PID_F) >/dev/null 2>&1 
     91        include /lib/network 
     92        scan_interfaces 
     93        config_load 'vrrpd' 
     94        config_foreach stop_instance 'vrrpd' 
    1795} 
    18  
Note: See TracChangeset for help on using the changeset viewer.