From c44191aedc9be95229881af8585189d4c719b70f Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Sun, 5 Feb 2012 15:08:04 +0000 Subject: [PATCH] [packages_10.03.2] deluge: merge r29180 SVN-Revision: 30202 --- net/deluge/Makefile | 2 +- net/deluge/files/deluge.config | 3 +- net/deluge/files/deluge.init | 102 +++++++++++++++++++++------------ 3 files changed, 67 insertions(+), 40 deletions(-) diff --git a/net/deluge/Makefile b/net/deluge/Makefile index bf3bba4877..6e658d3039 100644 --- a/net/deluge/Makefile +++ b/net/deluge/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=deluge PKG_VERSION:=1.2.0 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://download.deluge-torrent.org/source/ diff --git a/net/deluge/files/deluge.config b/net/deluge/files/deluge.config index 576379f8a6..3d4177680b 100644 --- a/net/deluge/files/deluge.config +++ b/net/deluge/files/deluge.config @@ -1,5 +1,6 @@ config global deluged - option 'user' 'deluge:deluge' + option 'user' 'deluge' + option 'group' 'deluge' option 'home' '' option 'options' '' option 'enabled' 1 diff --git a/net/deluge/files/deluge.init b/net/deluge/files/deluge.init index 234a13db68..50afc2619e 100644 --- a/net/deluge/files/deluge.init +++ b/net/deluge/files/deluge.init @@ -1,60 +1,86 @@ #!/bin/sh /etc/rc.common -# Copyright (C) 2010 OpenWrt.org +# Copyright (C) 2010-2011 OpenWrt.org # Copyright (C) 2010 Alexander Sulfrian -NAME=deluge -PIDFILE=/var/run/deluged.pid START=50 STOP=50 -load_config() -{ - config_get_bool enabled $1 enabled 0 - [ "${enabled}" -eq 0 ] && return 1 +SERVICE_DAEMONIZE=1 +SERVICE_WRITE_PID=1 +SERVICE_PID_FILE="/var/run/deluged.pid" - config_get user $1 user - if [ "${user}" == "" ]; then - echo "Please check your uci config. User for '$1' should not be empty." - return 1 - fi +error() { + echo "${initscript}:" "$@" 1>&2 +} + +section_enabled() { + config_get_bool enabled "$1" 'enabled' 0 + [ $enabled -gt 0 ] +} - username=$(echo ${user} | cut -d ':' -f 1) - group=$(echo ${user} | cut -d ':' -f 2) +start_instance() { + local s="$1" - if ! $(cut -d ':' -f 1 /etc/passwd | grep -sq "${username}"); then - echo "Please check your uci config. User for '$1' should exist." + section_enabled "$s" || return 1 + + config_get uid "$s" 'user' + [ -n "$uid" ] || { + error "user is not set" return 1 - fi + } + user_exists $uid || { + error "user '$uid' dos not exist" + return 1 + } + + config_get gid "$s" 'group' + [ -n "$gid" ] || { + error "group is not set" + return 1 + } + group_exists $gid || { + error "group '$gid' dos not exist" + return 1 + } - if [ "${group}" != "" ]; then - if ! $(cut -d ':' -f 1 /etc/passwd | grep -sq "${group}"); then - echo "Please check your uci config. Group for '$1' should exist." - return 1 - fi + config_get home "$s" 'home' + [ -n "$home" ] || { + home=$(grep "^${user}:" /etc/passwd | cut -d ':' -f 6) fi + [ -d "$home" ] || { + error "home directory '$home' for user '$uid' dos not exist" + return 1 + } + + config_get options "$s" 'options' + + HOME="$home" \ + SERVICE_UID="$uid" \ + SERVICE_GID="$gid" \ + service_start /usr/bin/python2.6 /usr/bin/deluged --do-not-daemonize $options } -start() -{ - config_load "${NAME}" - load_config deluged || return $? +stop_instance() { + local s="$1" - config_get options deluged options + section_enabled "$s" || return 1 - config_get home deluged home - if [ "${home}" == "" ]; then - home=$(grep "^${username}:" /etc/passwd | cut -d ':' -f 6) - fi + config_get uid "$s" 'user' + config_get gid "$s" 'group' - HOME="${home}" /sbin/start-stop-daemon -S -u "${username}" \ - -p "${PIDFILE}" -b -m -x "/usr/bin/python2.6" -a deluged \ - -c "${user}" -- --do-not-daemonize ${options} + SERVICE_UID="$uid" \ + SERVICE_GID="$gid" \ + service_stop /usr/bin/python2.6 } -stop() +start() { - config_load "${NAME}" - load_config deluged || return $? + config_load 'deluged' + config_foreach start_instance 'deluged' +} - /sbin/start-stop-daemon -K -u "${username}" -n deluged -p "${PIDFILE}" +stop() +{ + config_load 'deluged' + config_foreach stop_instance 'deluged' } -- 2.30.2