From 7f73b5b843ae2e48644307cdabac93876c1c1953 Mon Sep 17 00:00:00 2001 From: Peter Lemenkov <lemenkov@gmail.com> Date: Sun, 15 Aug 2010 15:46:10 +0400 Subject: [PATCH 1/2] Init-script enhancements Signed-off-by: Peter Lemenkov <lemenkov@gmail.com> --- packages/rpm/mldonkey.init | 71 ++++++++++++++++++++++++++++++--------- packages/rpm/mldonkey.sysconfig | 3 ++ 2 files changed, 58 insertions(+), 16 deletions(-) diff --git a/packages/rpm/mldonkey.init b/packages/rpm/mldonkey.init index 536a88a..8fa6f6f 100755 --- a/packages/rpm/mldonkey.init +++ b/packages/rpm/mldonkey.init @@ -4,7 +4,7 @@ # # Laurent Culioli <laurent@pschit.net> # -# chkconfig: 2345 90 15 +# chkconfig: - 90 15 # description: Mldonkey is client to access multiple peer-to-peer network # processname: mldonkey # config: /etc/sysconfig/mldonkey @@ -12,14 +12,23 @@ # Source function library. . /etc/init.d/functions -# Source some options +# User-defined options . /etc/sysconfig/mldonkey +[ -z $LOGFILE ] && LOGFILE="/dev/null" +[ -z $LOG_TO_SYSLOG ] && LOG_TO_SYSLOG="yes" + RETVAL=0 +prog=mldonkey + # Path to the mldonkey binarie. fullpath=/usr/bin/mlnet +lockfile=/var/lock/subsys/$prog +piddir=/var/run/$prog +pidfile=$piddir/mlnet.pid + # Source networking configuration. . /etc/sysconfig/network @@ -27,17 +36,35 @@ fullpath=/usr/bin/mlnet [ ${NETWORKING} = "no" ] && exit 0 start() { - gprintf "Starting Mldonkey (mlnet): " - cd $DIRECTORY - daemon --user mldonkey --check mldonkey $NICE "$fullpath > /dev/null 2>&1 &" - touch /var/lock/subsys/mldonkey - echo + echo -n $"Starting Mldonkey (mlnet): " + if status -p $pidfile $prog 2>&1 > /dev/null ; then + echo -n $"already started" && warning + else + cd $DIRECTORY + daemon --user mldonkey --check mldonkey $NICE "\ + $fullpath \ + -log_to_syslog $LOG_TO_SYSLOG \ + -log_file $LOGFILE \ + -pid $piddir \ + $ADDON_PARAMS > /dev/null 2>&1 & \ + " + RETVAL=$? + fi + echo + [ $RETVAL -eq 0 ] && touch $lockfile + return $RETVAL } stop() { - gprintf "Stopping Mldonkey (mlnet): " - killproc mldonkey-bin - rm -fr /var/lock/subsys/mldonkey - echo + echo -n $"Stopping Mldonkey (mlnet): " + if ! status -p $pidfile $prog 2>&1 > /dev/null ; then + echo -n $"already stopped" && warning + else + killproc -p $pidfile + RETVAL=$? + fi + echo + [ $RETVAL -eq 0 ] && rm -f $lockfile $pidfile + return $RETVAL } @@ -49,15 +76,27 @@ case "$1" in stop) stop ;; - restart|reload) + restart|force-reload) stop start ;; + reload) + echo $"reload unimplemented" + RETVAL=3 + ;; + try-restart|condrestart) + if status -p $pidfile $prog >/dev/null; then + stop + start + else + echo $"Mldonkey (mlnet) is stopped" + fi + ;; status) - status mldonkey + status -p $pidfile $prog ;; - *) - gprintf "Usage: mldonkey {start|stop|restart|reload|status}\n" - RETVAL=1 + *) + echo $"Usage: $0 {start|stop|restart|try-restart|status}" + RETVAL=2 esac exit $RETVAL diff --git a/packages/rpm/mldonkey.sysconfig b/packages/rpm/mldonkey.sysconfig index 9f3d82f..98a2b5d 100755 --- a/packages/rpm/mldonkey.sysconfig +++ b/packages/rpm/mldonkey.sysconfig @@ -1,2 +1,5 @@ NICE=+2 DIRECTORY=/var/lib/mldonkey +LOGFILE="/dev/null" +LOG_TO_SYSLOG=yes + -- 1.7.2.1