From: nico Date: Sun, 13 Nov 2011 22:16:11 +0000 (+0000) Subject: packages/n2n: use new service functions X-Git-Url: http://207.154.207.93/?a=commitdiff_plain;h=ab643c10bd2e29448b1f1511d48da67b93f3b5af;p=packages.git packages/n2n: use new service functions git-svn-id: svn://svn.openwrt.org/openwrt/packages@29071 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- diff --git a/net/n2n/Makefile b/net/n2n/Makefile index 338ccb62c..da7375f25 100644 --- a/net/n2n/Makefile +++ b/net/n2n/Makefile @@ -1,5 +1,5 @@ # -## Copyright (C) 2007-2008 OpenWrt.org +## Copyright (C) 2007-2011 OpenWrt.org # ## This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. @@ -13,7 +13,7 @@ PKG_REV:=3875 PKG_NAME:=n2n PKG_VERSION:=$(PKG_REV) -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz @@ -39,9 +39,9 @@ define Build/Compile endef define Package/n2n/install - $(INSTALL_DIR) $(1)/sbin - $(INSTALL_BIN) $(PKG_BUILD_DIR)/edge $(1)/sbin/ - $(INSTALL_BIN) $(PKG_BUILD_DIR)/supernode $(1)/sbin/ + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/edge $(1)/usr/sbin/ + $(INSTALL_BIN) $(PKG_BUILD_DIR)/supernode $(1)/usr/sbin/ $(INSTALL_DIR) $(1)/etc/config $(INSTALL_DATA) ./files/n2n.config $(1)/etc/config/n2n $(INSTALL_DIR) $(1)/etc/init.d diff --git a/net/n2n/files/n2n.init b/net/n2n/files/n2n.init index 4730112d4..791b80543 100644 --- a/net/n2n/files/n2n.init +++ b/net/n2n/files/n2n.init @@ -1,37 +1,56 @@ #!/bin/sh /etc/rc.common -# Copyright (C) 2008 OpenWrt.org +# Copyright (C) 2008-2011 OpenWrt.org + START=90 -config_cb() { - local cfg="$CONFIG_SECTION" - config_get configname "$cfg" TYPE - - case "$configname" in - edge) - config_get ipaddr "$cfg" ipaddr - config_get supernode "$cfg" supernode - config_get port "$cfg" port - config_get community "$cfg" community - config_get key "$cfg" key - config_get_bool route "$cfg" route 0 - [ "$route" = "1" ] && args='-r' - if [ "$ipaddr" != "" ]; then - edge -f $args -a $ipaddr -c $community -k $key -l ${supernode}:${port} - fi +start_instance() { + local cfg="$1" + + config_get type "$cfg" TYPE + + case "$type" in + edge) + config_get ipaddr "$cfg" 'ipaddr' + [ -n "$ipaddr" ] || return 1 + config_get supernode "$cfg" 'supernode' + config_get port "$cfg" 'port' + config_get community "$cfg" 'community' + config_get key "$cfg" 'key' + config_get_bool route "$cfg" 'route' '0' + [ "$route" = "1" ] && args='-r' + service_start /usr/sbin/edge -f $args -a $ipaddr -c $community -k $key -l ${supernode}:${port} ;; - supernode) - config_get port "$cfg" port - if [ "$port" != "" ]; then - supernode -l $port & - fi + supernode) + config_get port "$cfg" port + [ -n "$port" ] || return 1 + service_start /usr/sbin/supernode -l $port + ;; + esac +} + +stop_instance() { + local cfg="$1" + + config_get type "$cfg" TYPE + + case "$type" in + edge) + service_stop /usr/sbin/edge + ;; + supernode) + service_stop /usr/sbin/supernode ;; esac } start() { - config_load n2n + config_load 'n2n' + config_foreach start_instance 'edge' + config_foreach start_instance 'superndoe' } + stop() { - killall edge - killall supernode + config_load 'n2n' + config_foreach stop_instance 'edge' + config_foreach stop_instance 'supernode' }