From: Nicolas Thill Date: Wed, 16 Nov 2011 09:44:14 +0000 (+0000) Subject: packages/ushare: use new service functions, change 'enable' option to 'enabled' like... X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=commitdiff_plain;hb=c6243c99f8440ed59366c1a74c006a036dd6a3de packages/ushare: use new service functions, change 'enable' option to 'enabled' like most other services are using, change 'username' option to 'user' SVN-Revision: 29174 --- diff --git a/multimedia/ushare/Makefile b/multimedia/ushare/Makefile index 471f5cf5f1..a85f648369 100644 --- a/multimedia/ushare/Makefile +++ b/multimedia/ushare/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ushare PKG_VERSION:=1.1a -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=http://ushare.geexbox.org/releases/ diff --git a/multimedia/ushare/files/ushare.config b/multimedia/ushare/files/ushare.config index b220eb2da5..d7d0dce186 100644 --- a/multimedia/ushare/files/ushare.config +++ b/multimedia/ushare/files/ushare.config @@ -1,9 +1,9 @@ config 'ushare' - option 'username' 'nobody' + option 'enabled' '0' + option 'user' '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' diff --git a/multimedia/ushare/files/ushare.init b/multimedia/ushare/files/ushare.init index 457f582db6..db661d1982 100644 --- a/multimedia/ushare/files/ushare.init +++ b/multimedia/ushare/files/ushare.init @@ -2,8 +2,8 @@ # Copyright (C) 2008 OpenWrt.org START=50 -BIN=/usr/bin/ushare -SSD=start-stop-daemon +SERVICE_DAEMONIZE=1 +SERVICE_WRITE_PID=1 append_bool() { local section="$1" @@ -23,36 +23,46 @@ append_string() { [ -n "$_val" ] && append args "$3 $_val" } -start_service() { +section_enabled() { + config_get_bool enabled "$1" 'enabled' 0 + [ $enabled -gt 0 ] +} + +start_instance() { local section="$1" + + section_enabled "$section" || return 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} & + config_get uid "$section" 'user' + 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' + + SERVICE_UID="$uid" \ + service_start /usr/bin/ushare -n "${servername:-OpenWrt}" -i "${interface:-br-lan}" -c "${content_directories:-/tmp}" $args ${options} } -stop_service() { +stop_instance() { local section="$1" - args="" - config_get username "$section" "username" - $SSD -K -x $BIN -c ${username:-nobody} -s 2 -p /var/run/ushare.pid + section_enabled "$section" || return 1 + + config_get uid "$section" "user" + + SERVICE_UID="$uid" \ + service_stop /usr/bin/ushare } start() { - config_load ushare - config_foreach start_service ushare + config_load 'ushare' + config_foreach start_instance 'ushare' } stop() { - config_load ushare - config_foreach stop_service ushare + config_load 'ushare' + config_foreach stop_instance 'ushare' } -