packages/ptunnel: use new service functions
authorNicolas Thill <nico@openwrt.org>
Mon, 14 Nov 2011 02:38:51 +0000 (02:38 +0000)
committerNicolas Thill <nico@openwrt.org>
Mon, 14 Nov 2011 02:38:51 +0000 (02:38 +0000)
SVN-Revision: 29098

net/ptunnel/Makefile
net/ptunnel/files/ptunnel.init

index 54b8b328a105db186fceb3df5433d0de56a8d0aa..89db421d26757304f637bf2d716fda7a7c417799 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2009 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:=ptunnel
 PKG_VERSION:=0.71
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=PingTunnel-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.cs.uit.no/~daniels/PingTunnel
@@ -52,7 +52,7 @@ endef
 
 define Package/ptunnel/install
        $(INSTALL_DIR) $(1)/usr/sbin
-       $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/ptunnel $(1)/usr/sbin/
+       $(CP) $(PKG_INSTALL_DIR)/usr/sbin/ptunnel $(1)/usr/sbin/
        $(INSTALL_DIR) $(1)/etc/init.d
        $(INSTALL_BIN) ./files/ptunnel.init $(1)/etc/init.d/ptunnel
        $(INSTALL_DIR) $(1)/etc/config
index 99252d500dc65134ba6bb61713bca820f1cf42a6..9524909b018c325b688ea485f28d0d765966c409 100644 (file)
@@ -1,40 +1,32 @@
 #!/bin/sh /etc/rc.common
-# Copyright (C) 2007-2009 OpenWrt.org
+# Copyright (C) 2007-2011 OpenWrt.org
 
 START=70
-BIN=ptunnel
-PIDCOUNT=0
 
-start() {
-       include /lib/network
-       scan_interfaces
-
-       config_load ptunnel
-       config_foreach start_ptunnel ptunnel
-       iptables -I OUTPUT 1 -p icmp -j ACCEPT 2> /dev/null
-}
-
-start_ptunnel() {
+start_instance() {
        local section="$1"
 
        config_get interface "$section" interface
        config_get ifname "$interface" ifname
 
        [ -z "$ifname" ] && {
-               echo "Error: Interface '$interface' not found" 1>&2
+               echo "${initscript}: Error: Interface '$interface' not found" 1>&2
                return 1
        }
 
-       PIDCOUNT="$(( ${PIDCOUNT} + 1))"
-       ${BIN} -c "$ifname" -daemon /var/run/ptunnel."$PIDCOUNT".pid> /dev/null
+       SERVICE_PID_FILE="/var/run/ptunnel.$ifname.pid"
+       service_start /usr/sbin/ptunnel -c "$ifname" -daemon $SERVICE_PID_FILE
 }
 
-stop() {
-       local pidfile
+start() {
+       include /lib/network
+       scan_interfaces
 
-       for pidfile in `ls /var/run/${BIN}.*.pid`
-       do
-               start-stop-daemon -K -s KILL -p "${pidfile}" -n "${BIN}" >/dev/null
-               rm -f "${pidfile}"
-       done
+       config_load 'ptunnel'
+       config_foreach start_instance 'ptunnel'
+       iptables -I OUTPUT 1 -p icmp -j ACCEPT 2> /dev/null
+}
+
+stop() {
+       service_stop /usr/sbin/ptunnel
 }