55 lines
1.0 KiB
Plaintext
55 lines
1.0 KiB
Plaintext
|
#!/sbin/openrc-run
|
||
|
# Copyright 1999-2016 Gentoo Foundation
|
||
|
# Distributed under the terms of the GNU General Public License v2
|
||
|
|
||
|
extra_started_commands="reload"
|
||
|
|
||
|
depend() {
|
||
|
use dns
|
||
|
need epmd net
|
||
|
provide jabber-server
|
||
|
}
|
||
|
|
||
|
start() {
|
||
|
if ejabberdctl status >/dev/null 2>&1; then
|
||
|
ewarn "ejabberd is already started (manually?)."
|
||
|
return 0
|
||
|
fi
|
||
|
ebegin "Starting ejabberd"
|
||
|
/usr/sbin/ejabberdctl ${EJABBERDCTL_OPTS} start
|
||
|
eend $?
|
||
|
}
|
||
|
|
||
|
reload() {
|
||
|
ebegin "Reloading ejabberd configuration"
|
||
|
/usr/sbin/ejabberdctl ${EJABBERDCTL_OPTS} reload_config
|
||
|
eend $?
|
||
|
}
|
||
|
|
||
|
stop() {
|
||
|
ejabberdctl status >/dev/null 2>&1
|
||
|
if test $? = 3; then
|
||
|
ewarn "ejabberd is already stopped (manually?)."
|
||
|
return 0
|
||
|
fi
|
||
|
ebegin "Stopping ejabberd"
|
||
|
if /usr/sbin/ejabberdctl stop >/dev/null 2>&1; then
|
||
|
cnt=0
|
||
|
sleep 1
|
||
|
while ejabberdctl status >/dev/null 2>&1 || test $? = 1; do
|
||
|
echo -n .
|
||
|
cnt=`expr $cnt + 1`
|
||
|
if [ $cnt -ge 60 ] ; then
|
||
|
eend 1
|
||
|
break
|
||
|
fi
|
||
|
sleep 1
|
||
|
done
|
||
|
eend 0
|
||
|
else
|
||
|
eend 1
|
||
|
einfo "Please, run '/usr/sbin/ejabberdctl stop' to see what's going on."
|
||
|
fi
|
||
|
eend 0
|
||
|
}
|