[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:
parent
6c3dbd49fe
commit
b08bca0b1e
@ -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))
|
||||
|
9
multimedia/ushare/files/ushare.config
Normal file
9
multimedia/ushare/files/ushare.config
Normal 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'
|
58
multimedia/ushare/files/ushare.init
Normal file
58
multimedia/ushare/files/ushare.init
Normal 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
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user