olli b08bca0b1e [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
2008-09-24 20:49:08 +00:00

59 lines
1.4 KiB
Bash

#!/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
}