From 0fe318fae1551d27c0dd2c9b7caee07519f86ff8 Mon Sep 17 00:00:00 2001 From: jow Date: Sun, 5 Feb 2012 15:29:48 +0000 Subject: [PATCH] [packages_10.03.2] n2n: merge r29071, r29199 git-svn-id: svn://svn.openwrt.org/openwrt/branches/packages_10.03.2@30222 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- net/n2n/Makefile | 18 ++++++++----- net/n2n/files/n2n.init | 69 ++++++++++++++++++++++++++++++++------------------ 2 files changed, 55 insertions(+), 32 deletions(-) diff --git a/net/n2n/Makefile b/net/n2n/Makefile index 338ccb6..d65a6f7 100644 --- a/net/n2n/Makefile +++ b/net/n2n/Makefile @@ -1,9 +1,9 @@ # -## Copyright (C) 2007-2008 OpenWrt.org +# Copyright (C) 2007-2011 OpenWrt.org # -## This is free software, licensed under the GNU General Public License v2. +# This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. - +# include $(TOPDIR)/rules.mk @@ -13,7 +13,7 @@ PKG_REV:=3875 PKG_NAME:=n2n PKG_VERSION:=$(PKG_REV) -PKG_RELEASE:=1 +PKG_RELEASE:=3 PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE:=$(PKG_SOURCE_SUBDIR).tar.gz @@ -39,13 +39,17 @@ 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 $(INSTALL_BIN) ./files/n2n.init $(1)/etc/init.d/n2n endef +define Package/n2n/conffiles +/etc/config/n2n +endef + $(eval $(call BuildPackage,n2n)) diff --git a/net/n2n/files/n2n.init b/net/n2n/files/n2n.init index 4730112..791b805 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' } -- 2.11.0