#
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2006-2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
PKG_NAME:=parprouted
PKG_VERSION:=0.64
-PKG_RELEASE:=1
+PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://www.hazard.maks.net/parprouted/
)
endef
-define Package/parprouted/install
+define Package/parprouted/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/parprouted $(1)/usr/sbin/
- $(INSTALL_DIR) $(1)/etc/default
- $(INSTALL_BIN) ./files/parprouted.default $(1)/etc/default/parprouted
+ $(INSTALL_DIR) $(1)/etc/config
+ $(INSTALL_BIN) ./files/parprouted.config $(1)/etc/config/parprouted
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/parprouted.init $(1)/etc/init.d/parprouted
endef
+define Package/parprouted/conffiles
+/etc/config/parprouted
+endef
+
$(eval $(call BuildPackage,parprouted))
#!/bin/sh /etc/rc.common
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2006-2011 OpenWrt.org
+
START=50
-BIN=parprouted
-DEFAULT=/etc/default/$BIN
+section_enabled() {
+ local enabled
+ config_get_bool enabled "$1" 'enabled' 0
+ [ $enabled -gt 0 ]
+}
+
+append_interface() {
+ local name="$1"
+ local interface
+ config_get interface "$name" 'ifname' "$name"
+ append args "$interface"
+}
+
+start_instance() {
+ local section="$1"
+ local permanent
+ local interfaces
+ local args=""
+
+ section_enabled "$section" || return 1
+
+ config_get_bool permanent "$section" 'permanent' 0
+ [ $permanent -eq 0 ] || append args "-p"
+
+ config_list_foreach "$section" 'interfaces' append_interface
+
+ service_start /usr/sbin/parprouted $args
+}
start() {
- [ -f $DEFAULT ] && . $DEFAULT
- $BIN $OPTIONS
+ include /lib/network
+ scan_interfaces
+ config_load 'parprouted'
+ config_foreach start_instance 'parprouted'
}
stop() {
- killall $BIN
+ service_stop /usr/sbin/parprouted
}