[packages] multimedia/ushare: Add a UCI aware init script + config file

git-svn-id: svn://svn.openwrt.org/openwrt/packages@12691 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
olli 2008-09-24 20:49:08 +00:00
parent 6c3dbd49fe
commit b08bca0b1e
3 changed files with 71 additions and 0 deletions

View File

@ -68,6 +68,10 @@ define Package/ushare/install
$(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))

View File

@ -0,0 +1,9 @@
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'

View File

@ -0,0 +1,58 @@
#!/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
}