[deluge/f15/master] Add init script for the deluge daemon. Resolves rhbz#537387 Rewrite package descriptions to be bette

Rahul Sundaram sundaram at fedoraproject.org
Mon Mar 28 09:27:44 UTC 2011


commit 3d9e9f432eded94dfb9731e70dd98118880ca997
Author: Rahul <sundaram at fedoraproject.org>
Date:   Mon Mar 28 15:07:14 2011 +0530

    Add init script for the deluge daemon. Resolves rhbz#537387
    Rewrite package descriptions to be better

 deluge-daemon-init |   78 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 deluge.spec        |   73 +++++++++++++++++++++++++++++++++++++-----------
 2 files changed, 134 insertions(+), 17 deletions(-)
---
diff --git a/deluge-daemon-init b/deluge-daemon-init
new file mode 100644
index 0000000..1c7f3aa
--- /dev/null
+++ b/deluge-daemon-init
@@ -0,0 +1,78 @@
+#!/bin/bash
+#
+# Startup script for deluged
+#
+# chkconfig: - 86 14
+# description: deluged is the Deluge bit torrent daemon. It manages torrents
+# processname: deluged
+# pidfile: /var/run/deluged.pid
+# config: 
+
+# Source function library.
+. /etc/init.d/functions
+
+# Get network config
+. /etc/sysconfig/network
+
+[ "${NETWORKING}" = "no" ] && exit 0
+
+prog=deluged
+prog2=deluge
+lockfile=/var/lock/subsys/deluged
+lockfile2=/var/lock/subsys/deluge
+
+start() {
+  echo -n $"Starting deluged service: "
+  daemon --user deluge "$prog $OPTIONS"
+  RETVAL=$?
+  echo
+  [ $RETVAL -eq 0 ] && touch $lockfile
+
+  echo -n $"Starting deluge web ui: "
+  daemon --user deluge "$prog2 --ui web >/dev/null 2>&1 &"
+  RETVAL=$(($RETVAL|$?))
+  echo
+  [ $RETVAL -eq 0 ] && touch $lockfile2
+
+  return $RETVAL
+}
+
+stop() {
+  echo -n $"Shutting down deluged service: "
+  killproc $prog
+  RETVAL=$?
+  echo
+  [ $RETVAL -eq 0 ] && rm -f $lockfile
+
+  echo -n $"Shutting down deluge web ui: "
+  killproc $prog2
+  RETVAL2=$?
+  echo
+  [ $RETVAL2 -eq 0 ] && rm -f $lockfile2
+
+  return $(($RETVAL|$RETVAL2))
+}
+
+# See how we were called.
+case "$1" in
+  start)
+	start
+	;;
+  stop)
+	stop
+	;;
+  status)
+        status $prog
+        status $prog2
+	;;
+  restart)
+	stop
+	start
+	;;
+  reload)
+	exit 3
+	;;
+  *)
+	echo $"Usage: $prog {start|stop|status|restart|reload}"
+	exit 1
+esac
diff --git a/deluge.spec b/deluge.spec
index 44f41ed..0d79a81 100644
--- a/deluge.spec
+++ b/deluge.spec
@@ -5,29 +5,30 @@
 
 Name:           deluge
 Version:        1.3.1
-Release:        4%{?dist}
+Release:        5%{?dist}
 Summary:        A GTK+ BitTorrent client with support for DHT, UPnP, and PEX
 Group:          Applications/Internet
 License:        GPLv3 with exceptions
 URL:            http://deluge-torrent.org/           
 Source0:        http://download.deluge-torrent.org/source/%{name}-%{version}.tar.lzma
 ## The scalable icon needs to be installed to the proper place.
+Source1:        deluge-daemon-init
 Patch0:         %{name}-scalable-icon-dir.diff
 ## Add P2P to the Categories in the .desktop file (#615984).
 Patch1:         %{name}-desktop-categories-p2p.diff
 
-BuildArch:      noarch
-BuildRequires:      desktop-file-utils
-BuildRequires:      python-devel
-BuildRequires:      python-setuptools
+BuildArch:     noarch
+BuildRequires: desktop-file-utils
+BuildRequires: python-devel
+BuildRequires: python-setuptools
 
 ## add Requires to make into Meta package
-Requires:         %{name}-common = %{version}-%{release}
-Requires:         %{name}-gtk = %{version}-%{release}
-Requires:         %{name}-images = %{version}-%{release}
-Requires:         %{name}-console = %{version}-%{release}
-Requires:         %{name}-web = %{version}-%{release}
-Requires:         %{name}-daemon = %{version}-%{release}
+Requires: %{name}-common = %{version}-%{release}
+Requires: %{name}-gtk = %{version}-%{release}
+Requires: %{name}-images = %{version}-%{release}
+Requires: %{name}-console = %{version}-%{release}
+Requires: %{name}-web = %{version}-%{release}
+Requires: %{name}-daemon = %{version}-%{release}
 
 # removal of flags
 Provides:         deluge-flags = %{version}-%{release}
@@ -41,7 +42,6 @@ environments such as GNOME and XFCE. It supports features such as DHT
 (Universal Plug-n-Play) that allow one to more easily share BitTorrent data
 even from behind a router with virtually zero configuration of port-forwarding.
 
-## Summaries etc. to be changed as per maintainer requirements
 %package common
 Summary:    Files common to Deluge sub packages
 Group:      Applications/Internet
@@ -54,7 +54,7 @@ Requires:   pyxdg
 Requires:   rb_libtorrent-python
 Requires:   python-twisted-web
 %description common
-These are common files needed by the Deluge sub packages
+Common files needed by the Deluge bittorrent client sub packages
 
 %package gtk
 Summary:    The gtk UI to Deluge
@@ -69,14 +69,14 @@ Requires:   hicolor-icon-theme
 Requires:   notify-python
 Requires:   pygtk2-libglade
 %description gtk
-Files for the Deluge Gtk GUI
+Deluge bittorent client GTK graphical user interface
 
 %package images
 Summary:    Image files for deluge
 Group:      Applications/Internet
 License:    GPLv3 with exceptions
 %description images
-These are data files used by the Gtk and Web UIs
+Data files used by the GTK and web user interface for Deluge bittorent client
 
 %package console
 Summary:    CLI to Deluge
@@ -85,7 +85,7 @@ License:    GPLv3 with exceptions
 Requires:   %{name}-common = %{version}-%{release}
 Requires:   %{name}-daemon = %{version}-%{release}
 %description console
-Files for the Deluge CLI
+Deluge bittorent client command line interface
 
 %package web
 Summary:    Web interface to Deluge
@@ -96,13 +96,19 @@ Requires:   %{name}-common = %{version}-%{release}
 Requires:   %{name}-images = %{version}-%{release}
 Requires:   %{name}-daemon = %{version}-%{release}
 %description web
-Files for the Deluge Web interface
+Deluge bittorent client web interface
 
 %package daemon
 Summary:    The Deluge daemon
 Group:      Applications/Internet
 License:    GPLv3 with exceptions
 Requires:   %{name}-common = %{version}-%{release}
+Requires(pre): shadow-utils
+Requires(post): chkconfig
+Requires(preun): chkconfig
+Requires(preun): initscripts
+Requires(postun): initscripts
+
 %description daemon
 Files for the Deluge daemon
 
@@ -117,6 +123,11 @@ CFLAGS="%{optflags}" %{__python} setup.py build
 
 
 %install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p %{buildroot}%{_initddir}
+install -m755 %{SOURCE1} %{buildroot}%{_initddir}/%{name}-daemon
+mkdir -p %{buildroot}/var/lib/%{name}
+
 %{__python} setup.py install -O1 --skip-build --root %{buildroot} 
 
 desktop-file-install --vendor fedora            \
@@ -212,14 +223,38 @@ done
 %files daemon
 %defattr(-,root,root,-)
 %{_bindir}/%{name}d
+%{_initddir}/%{name}-daemon
+%attr(-,%{name}, %{name})/var/lib/%{name}/
 %{_mandir}/man?/%{name}d*
 
+%pre daemon
+getent group %{name} >/dev/null || groupadd -r %{name}
+getent passwd %{name} >/dev/null || \
+useradd -r -g %{name} -d /var/lib/%{name} -s /sbin/nologin \
+        -c "deluge daemon account" %{name}
+exit 0
+
+
+%post daemon
+/sbin/chkconfig --add %{name}-daemon
+
 %post gtk
 update-desktop-database &> /dev/null || :
 
 %post images
 touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
 
+%preun daemon
+if [ $1 = 0 ] ; then
+    /sbin/service %{name}-daemon stop >/dev/null 2>&1
+    /sbin/chkconfig --del %{name}-daemon
+fi
+
+%postun daemon
+if [ "$1" -ge "1" ] ; then
+    /sbin/service %{name}-daemon condrestart >/dev/null 2>&1 || :
+fi
+
 %postun gtk
 update-desktop-database &> /dev/null || :
 
@@ -233,6 +268,10 @@ fi
 gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 
 %changelog
+* Mon Mar 28 2011 Rahul Sundaram <sundaram at fedoraproject.org> - 1.3.1-5
+- Add init script for the deluge daemon. Resolves rhbz#537387
+- Rewrite package descriptions to be better
+
 * Fri Feb 11 2011 Rahul Sundaram <sundaram at fedoraproject.org> - 1.3.1-4
 - Build split up packages
 


More information about the scm-commits mailing list