55 lines
1.0 KiB
Plaintext
55 lines
1.0 KiB
Plaintext
#!/sbin/openrc-run
|
|
# Copyright 1999-2018 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
|
|
}
|