summaryrefslogtreecommitdiff
path: root/net-im/ejabberd/files/ejabberd.initd
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /net-im/ejabberd/files/ejabberd.initd
reinit the tree, so we can have metadata
Diffstat (limited to 'net-im/ejabberd/files/ejabberd.initd')
-rw-r--r--net-im/ejabberd/files/ejabberd.initd54
1 files changed, 54 insertions, 0 deletions
diff --git a/net-im/ejabberd/files/ejabberd.initd b/net-im/ejabberd/files/ejabberd.initd
new file mode 100644
index 000000000000..94ac2ae8e465
--- /dev/null
+++ b/net-im/ejabberd/files/ejabberd.initd
@@ -0,0 +1,54 @@
+#!/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
+}