summaryrefslogtreecommitdiff
path: root/net-im/jabberd/files/jabberd-2.1.11.init
Unidiff
Diffstat (limited to 'net-im/jabberd/files/jabberd-2.1.11.init') (more/less context) (ignore whitespace changes)
-rw-r--r--net-im/jabberd/files/jabberd-2.1.11.init75
1 files changed, 75 insertions, 0 deletions
diff --git a/net-im/jabberd/files/jabberd-2.1.11.init b/net-im/jabberd/files/jabberd-2.1.11.init
new file mode 100644
index 0000000..6984352
--- a/dev/null
+++ b/net-im/jabberd/files/jabberd-2.1.11.init
@@ -0,0 +1,75 @@
1#!/sbin/runscript
2# Copyright 1999-2007 Gentoo Foundation
3# Distributed under the terms of the GNU General Public License v2
4# $Header: $
5
6depend() {
7 need net
8 use mysql postgresql slapd
9 provide jabber-server
10}
11
12function stopJabberServices() {
13
14 eindent
15 for pidfile in /var/run/jabber/*.pid; do
16 if [[ -f "$pidfile" ]]; then
17 service=$(basename "$pidfile" .pid)
18 ebegin "Stopping $service"
19 start-stop-daemon \
20 --stop \
21 --pidfile "$pidfile"
22 eend $?
23 fi
24 done
25 eoutdent
26
27}
28
29start() {
30
31 einfo "Starting Jabber Server ..."
32 local services=$(grep -v '^\(#.*\)\?$' /etc/jabber/jabberd.cfg | awk '{print $1 ":" $2}')
33 eindent
34 for service in $services ; do
35
36 cfgfile=${service/*:/}
37 service=${service/:*/}
38 if [[ ! -f "$cfgfile" ]]; then
39 if [[ -f "/etc/jabber/${service}.xml" ]]; then
40 cfgfile="/etc/jabber/${service}.xml"
41 else
42 eerror "Can't find: $cfgfile or default /etc/jabber/${service}.xml"
43 stopJabberServices
44 return 1
45 fi
46 fi
47
48 executable="/usr/bin/$service"
49
50 if [[ ! -f "$executable" ]]; then
51 eerror "Can't find executable: $executable"
52 stopJabberServices
53 return 1
54 fi
55
56 ebegin "Starting $service (${cfgfile})"
57 start-stop-daemon \
58 --background \
59 --start \
60 --chuid jabber:jabber \
61 --exec "/usr/bin/$service" \
62 -- -c "$cfgfile"
63 eend $?
64
65 done
66 eoutdent
67
68}
69
70stop() {
71
72 einfo "Stopping Jabber Server"
73 stopJabberServices
74
75}