$(CP) $(PKG_INSTALL_DIR)/etc/ushare.conf $(1)/etc/
$(INSTALL_DIR) $(1)/usr/bin
$(CP) $(PKG_INSTALL_DIR)/usr/bin/ushare $(1)/usr/bin/
+ $(INSTALL_DIR) $(1)/etc/config
+ $(INSTALL_DATA) ./files/$(PKG_NAME).config $(1)/etc/config/$(PKG_NAME)
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/$(PKG_NAME).init $(1)/etc/init.d/$(PKG_NAME)
endef
$(eval $(call BuildPackage,ushare))
--- /dev/null
+config 'ushare'
+ option 'username' 'nobody'
+ option 'servername' 'OpenWrt'
+ option 'interface' 'br-lan'
+ option 'options' ''
+ option 'content_directories' '/tmp'
+ option 'disable_telnet' '1'
+ option 'disable_webif' '1'
+ option 'enabled' '0'
--- /dev/null
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2008 OpenWrt.org
+START=50
+
+BIN=/usr/bin/ushare
+SSD=start-stop-daemon
+
+append_bool() {
+ local section="$1"
+ local option="$2"
+ local value="$3"
+ local _val
+ config_get_bool _val "$section" "$option" '0'
+ [ "$_val" -gt 0 ] && append args "$3"
+}
+
+append_string() {
+ local section="$1"
+ local option="$2"
+ local value="$3"
+ local _val
+ config_get _val "$section" "$option"
+ [ -n "$_val" ] && append args "$3 $_val"
+}
+
+start_service() {
+ local section="$1"
+ args=""
+ config_get username "$section" "username"
+ config_get servername "$section" "servername"
+ config_get interface "$section" "interface"
+ config_get options "$section" "options"
+ config_get content_directories "$section" "content_directories"
+ append_bool "$section" "disable_webif" "-w"
+ append_bool "$section" "disable_telnet" "-t"
+ config_get_bool "enabled" "$section" "enabled" '1'
+
+ [ "$enabled" -gt 0 ] && $SSD -x $BIN -c ${username:-nobody} -S -b -p /var/run/ushare.pid -m -- -n ${servername:-OpenWrt} -i ${interface:-br-lan} -c ${content_directories:-/tmp} $args ${options} &
+}
+
+stop_service() {
+ local section="$1"
+ args=""
+ config_get username "$section" "username"
+
+ $SSD -K -x $BIN -c ${username:-nobody} -s 2 -p /var/run/ushare.pid
+}
+
+start() {
+ config_load ushare
+ config_foreach start_service ushare
+}
+
+stop() {
+ config_load ushare
+ config_foreach stop_service ushare
+}
+