Fri, 03 Aug 2012 20:11:53 +0200
Neutralize buggy code causing OpenPKG to have 'fatal problems' in
spite of correct installation, configuration, and operation. An
administrator suffering from this failure is even unable to
uninstall the flawed software.
1 #!@l_prefix@/bin/openpkg rc
2 ##
3 ## rc.jabberd -- Run-Commands
4 ##
6 %config
7 jabberd_enable="$openpkg_rc_def"
8 jabberd_hostname=`hostname`
9 jabberd_daemons="c2s router s2s sm"
10 jabberd_cfgfile="@l_prefix@/etc/jabberd/jabberd.cfg"
11 jabberd_log_prolog="true"
12 jabberd_log_epilog="true"
13 jabberd_log_numfiles="10"
14 jabberd_log_minsize="1M"
15 jabberd_log_complevel="9"
17 %common
18 jabberd_signal () {
19 local retcode=0
20 local daemons=
21 for daemons in $jabberd_daemons; do
22 [ -f @l_prefix@/var/jabberd/pid/${daemons}.pid ] \
23 && kill -$1 `cat @l_prefix@/var/jabberd/pid/${daemons}.pid`
24 retcode=$(($retcode+$?))
25 done
26 return $retcode
27 }
29 %status -u @l_susr@ -o
30 jabberd_usable="unknown"
31 jabberd_active="no"
32 rcService jabberd enable yes && \
33 jabberd_signal 0 && jabberd_active="yes"
34 echo "jabberd_enable=\"$jabberd_enable\""
35 echo "jabberd_usable=\"$jabberd_usable\""
36 echo "jabberd_active=\"$jabberd_active\""
38 %start -u @l_susr@
39 rcService jabberd enable yes || exit 0
40 rcService jabberd active yes && exit 0
41 @l_prefix@/bin/jabberd -b -c $jabberd_cfgfile
43 %stop -u @l_susr@
44 rcService jabberd enable yes || exit 0
45 rcService jabberd active no && exit 0
46 jabberd_signal TERM
47 sleep 2
48 for daemons in $jabberd_daemons; do
49 rm -f @l_prefix@/var/jabberd/pid/${daemons}.pid
50 done
52 %restart -u @l_susr@
53 rcService jabberd enable yes || exit 0
54 rcService jabberd active no && exit 0
55 rc jabberd stop
56 sleep 2
57 rc jabberd start
59 %daily -u @l_susr@
60 rcService jabberd enable yes || exit 0
61 logfiles=
62 for daemons in $jabberd_daemons; do
63 logfiles="$logfiles @l_prefix@/var/jabberd/log/$daemons.log"
64 done
65 shtool rotate -f \
66 -n ${jabberd_log_numfiles} -s ${jabberd_log_minsize} -d \
67 -z ${jabberd_log_complevel} -m 644 -o @l_susr@ -g @l_mgrp@ \
68 -P "${jabberd_log_prolog}" \
69 -E "${jabberd_log_epilog}; rc jabberd restart" \
70 $logfiles