--- /dev/null
+#
+# Copyright (C) 2008 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=deluge
+PKG_VERSION:=1.2.0
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_SOURCE_URL:=http://download.deluge-torrent.org/source/
+PKG_MD5SUM:=cec6b48f0abd79ea2cff3815a1124192
+
+include $(INCLUDE_DIR)/package.mk
+$(call include_mk, python-package.mk)
+
+define Package/deluge
+ SUBMENU:=BitTorrent
+ SECTION:=net
+ CATEGORY:=Network
+ TITLE:=deluge-daemon
+ URL:=http://deluge-torrent.org/
+ DEPENDS:=+python +rblibtorrent +python2-chardet +pyxdg +twisted +twisted-web +pyopenssl +distribute
+endef
+
+define Package/deluge/config
+ config DELUGE_WITH_WEBUI
+ bool "Include the web interface"
+ select PACKAGE_mako
+ default n
+
+ config DELUGE_WITH_GTKUI
+ bool "Include the GTK interface"
+ depends PACKAGE_pygame
+ depends PACKAGE_pygobject
+ depends PACKAGE_pygtk
+ depends PACKAGE_librsvg
+ default n
+endef
+
+define Package/deluge/description
+ BitTorrent client with a client/server model.
+endef
+
+define Package/deluge/conffiles
+/etc/config/deluge
+endef
+
+define Build/Prepare
+ $(call Build/Prepare/Default)
+ $(CP) -a files $(PKG_BUILD_DIR)
+ find $(PKG_BUILD_DIR)/files -name 'CVS' -o -name '.svn' -o -name '*~' | $(XARGS) rm -rf
+endef
+
+define Build/Compile
+ $(call Build/Compile/PyMod,,install --prefix=/usr --root=$(PKG_INSTALL_DIR))
+
+ $(if $(CONFIG_DELUGE_WITH_WEBUI),,$(RM) "$(PKG_INSTALL_DIR)/usr/bin/deluge-web" ; \
+ $(RM) "$(PKG_INSTALL_DIR)/usr/share/man/man1/deluge-web.1" ; \
+ $(RM) -r "$(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/deluge/ui/web")
+
+ $(if $(CONFIG_DELUGE_WITH_GTKUI),,$(RM) "$(PKG_INSTALL_DIR)/usr/bin/deluge-gtk" ; \
+ $(RM) "$(PKG_INSTALL_DIR)/usr/share/man/man1/deluge-gtk.1" ; \
+ $(RM) -r "$(PKG_INSTALL_DIR)/usr/share/applications" ; \
+ $(RM) -r "$(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/deluge/ui/gtkui")
+endef
+
+define Package/deluge/install
+ $(INSTALL_DIR) $(1)$(PYTHON_PKG_DIR) $(1)/usr/bin $(1)/etc/config $(1)/etc/init.d
+ $(CP) \
+ $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR)/* \
+ $(1)$(PYTHON_PKG_DIR)
+
+ $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin
+
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/files/deluge.init $(1)/etc/init.d/deluge
+ $(INSTALL_CONF) $(PKG_BUILD_DIR)/files/deluge.config $(1)/etc/config/deluge
+
+ $(SED) 's,#!$(STAGING_DIR)/host/bin/$(PYTHON),#!/usr/bin/$(PYTHON),' $(1)/usr/bin/*
+endef
+
+$(eval $(call BuildPackage,deluge))
--- /dev/null
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2010 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
+
+ config_get user $1 user
+ if [ "${user}" == "" ]; then
+ echo "Please check your uci config. User for '$1' should not be empty."
+ return 1
+ fi
+
+ username=$(echo ${user} | cut -d ':' -f 1)
+ group=$(echo ${user} | cut -d ':' -f 2)
+
+ if ! $(cut -d ':' -f 1 /etc/passwd | grep -sq "${username}"); then
+ echo "Please check your uci config. User for '$1' should exist."
+ return 1
+ fi
+
+ 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
+ fi
+}
+
+start()
+{
+ config_load "${NAME}"
+ load_config deluged || return $?
+
+ config_get options deluged options
+
+ config_get home deluged home
+ if [ "${home}" == "" ]; then
+ home=$(grep "^${username}:" /etc/passwd | cut -d ':' -f 6)
+ fi
+
+ 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}
+}
+
+stop()
+{
+ config_load "${NAME}"
+ load_config deluged || return $?
+
+ /sbin/start-stop-daemon -K -u "${username}" -n deluged -p "${PIDFILE}"
+}