author | Michael Krelin <hacker@klever.net> | 2007-07-27 15:06:55 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2007-07-27 15:06:55 (UTC) |
commit | 98c4c50ae1e5322e018885697a64248cec606652 (patch) (unidiff) | |
tree | cca93aff35ddd3cc037688faac207ac46ee38dcc /net-im/jabberd/files/jabberd-2.1.11.init | |
parent | c72e74910faa3155a8f2521945283dc92d7aff51 (diff) | |
download | misc-98c4c50ae1e5322e018885697a64248cec606652.zip misc-98c4c50ae1e5322e018885697a64248cec606652.tar.gz misc-98c4c50ae1e5322e018885697a64248cec606652.tar.bz2 |
net-im/jabberd: 2.1.11
adjusted ebuild and incorporated some changes from gentoo bug #178055
Signed-off-by: Michael Krelin <hacker@klever.net>
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.init | 75 |
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 | |||
6 | depend() { | ||
7 | need net | ||
8 | use mysql postgresql slapd | ||
9 | provide jabber-server | ||
10 | } | ||
11 | |||
12 | function 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 | |||
29 | start() { | ||
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 | |||
70 | stop() { | ||
71 | |||
72 | einfo "Stopping Jabber Server" | ||
73 | stopJabberServices | ||
74 | |||
75 | } | ||