From: Jo-Philipp Wich Date: Sun, 5 Feb 2012 15:53:36 +0000 (+0000) Subject: [packages_10.03.2] parprouted: merge r28915, r29213 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=commitdiff_plain;hb=f04c28ae5322904ba8043621a82dfbeb140136cb [packages_10.03.2] parprouted: merge r28915, r29213 SVN-Revision: 30237 --- diff --git a/net/parprouted/Makefile b/net/parprouted/Makefile index 4b00c79664..db53747651 100644 --- a/net/parprouted/Makefile +++ b/net/parprouted/Makefile @@ -1,5 +1,5 @@ # -# 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. @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk 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/ @@ -43,13 +43,17 @@ define Build/Compile ) 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)) diff --git a/net/parprouted/files/parprouted.config b/net/parprouted/files/parprouted.config new file mode 100755 index 0000000000..cf726ce6fa --- /dev/null +++ b/net/parprouted/files/parprouted.config @@ -0,0 +1,11 @@ +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' diff --git a/net/parprouted/files/parprouted.default b/net/parprouted/files/parprouted.default deleted file mode 100755 index 7128a56a74..0000000000 --- a/net/parprouted/files/parprouted.default +++ /dev/null @@ -1 +0,0 @@ -OPTIONS="$lan_ifname $wifi_ifname" diff --git a/net/parprouted/files/parprouted.init b/net/parprouted/files/parprouted.init index fe794405e4..137983c3c2 100644 --- a/net/parprouted/files/parprouted.init +++ b/net/parprouted/files/parprouted.init @@ -1,15 +1,44 @@ #!/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 }