PKG_NAME:=parprouted
PKG_VERSION:=0.64
-PKG_RELEASE:=2
+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))
--- /dev/null
+package 'parprouted'
+
+config 'parprouted'
+ option enabled 0
+
+ # make all ARP entries to be permanent
+ option permanent 0
+
+ # list interfaces to do bridging on
+ list interfaces 'lan'
+ list interfaces 'wan'
+++ /dev/null
-OPTIONS="$lan_ifname $wifi_ifname"
START=50
-PROG="parprouted"
-COMMAND="/usr/sbin/$PROG"
-DEFAULT="/etc/default/$PROG"
+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
- service_start $COMMAND $OPTIONS
+ include /lib/network
+ scan_interfaces
+ config_load 'parprouted'
+ config_foreach start_instance 'parprouted'
}
stop() {
- service_stop $COMMAND
+ service_stop /usr/sbin/parprouted
}