summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-im/ejabberd/files/ejabberd-22.05.initd')
-rw-r--r--net-im/ejabberd/files/ejabberd-22.05.initd54
1 files changed, 54 insertions, 0 deletions
diff --git a/net-im/ejabberd/files/ejabberd-22.05.initd b/net-im/ejabberd/files/ejabberd-22.05.initd
new file mode 100644
index 000000000000..57f9cd5aa335
--- /dev/null
+++ b/net-im/ejabberd/files/ejabberd-22.05.initd
@@ -0,0 +1,54 @@
+#!/sbin/openrc-run
+# Copyright 1999-2022 Gentoo Authors
+# 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 .
+ 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
+}