[package] add startup script and sample uci configuration file (#5329)
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 21 Jun 2009 10:39:54 +0000 (10:39 +0000)
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 21 Jun 2009 10:39:54 +0000 (10:39 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/packages@16524 3c298f89-4303-0410-b956-a3cf2f4a3e73

net/btpd/Makefile
net/btpd/files/btpd.config [new file with mode: 0644]
net/btpd/files/btpd.init

index 177ccd9..066da3d 100644 (file)
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=btpd
 PKG_VERSION:=0.13
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=http://www.murmeldjur.se/btpd/
@@ -35,6 +35,8 @@ define Package/btpd/install
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/cli/btinfo $(1)/usr/bin 
        $(INSTALL_DIR) $(1)/etc/init.d
        $(INSTALL_BIN) ./files/btpd.init $(1)/etc/init.d/btpd
+       $(INSTALL_DIR) $(1)/etc/config
+       $(INSTALL_CONF) ./files/btpd.config $(1)/etc/config/btpd
 endef
 
 $(eval $(call BuildPackage,btpd))
diff --git a/net/btpd/files/btpd.config b/net/btpd/files/btpd.config
new file mode 100644 (file)
index 0000000..9650fc9
--- /dev/null
@@ -0,0 +1,7 @@
+config 'btpd'
+       option 'directory' '/usb/btpd'
+       option 'maxkbin' '1000'
+       option 'maxkbout' '40'
+       option 'maxpeers' '140'
+       option 'maxuploads' '50'
+       option 'port' '47194'
index f897c6c..0d12390 100644 (file)
@@ -1,16 +1,65 @@
-#!/bin/sh  /etc/rc.common
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006 OpenWrt.org
+START=99
 
-RUN_D=/var/btpd
+append_bool() {
+       local section="$1"
+       local option="$2"
+       local value="$3"
+       local _loctmp
+       config_get_bool _loctmp "$section" "$option"
+       [ "$_loctmp" -gt 0 ] && append args "$value"
+}
+
+append_parm() {
+       local section="$1"
+       local option="$2"
+       local switch="$3"
+       local _loctmp
+       config_get _loctmp "$section" "$option"
+       [ -z "$_loctmp" ] && return 0
+       append args "$switch $_loctmp"
+}
+
+directory=""
 
-start () {
-    btpd -d $RUN_D
+btpd() {
+       local cfg="$1"
+       append_bool "$cfg" emptystart "--empty-start"
+       append_parm "$cfg" port "-p"
+       append_parm "$cfg" directory "-d"
+       append_parm "$cfg" maxpeers "--max-peers"
+       append_parm "$cfg" maxuploads "--max-uploads"
+       append_parm "$cfg" maxkbin "--bw-in"
+       append_parm "$cfg" maxkbout "--bw-out"
+       config_get directory "$cfg" directory
 }
 
-stop () {
-    echo -n "stop btpd "
-    while btcli -d $RUN_D kill ; do
-        echo -n .
-        sleep 3
-    done 2>/dev/null
-    echo " done"
+start() {
+       include /lib/network
+       config_load btpd
+       args=""
+       config_foreach btpd btpd
+       /usr/bin/btpd $args
 }
+
+stop() {
+       include /lib/network
+       config_load btpd
+       args=""
+       config_foreach btpd btpd
+       
+       [ -d $direcotry ] && args="-d $directory "
+       echo -n "stop btpd "
+       
+       while btcli $args kill ; do
+               echo -n .
+               sleep 3
+       done 2>/dev/null
+       
+       killall /usr/bin/btpd > /dev/null 2>&1
+       
+       echo " done"
+       return 0
+}
+