diff options
Diffstat (limited to 'examples/mtr/ejabberd')
-rw-r--r-- | examples/mtr/ejabberd | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/examples/mtr/ejabberd b/examples/mtr/ejabberd new file mode 100644 index 000000000..2e95ae699 --- /dev/null +++ b/examples/mtr/ejabberd @@ -0,0 +1,73 @@ +#!/bin/sh +# +# PROVIDE: ejabberd +# REQUIRE: DAEMON +# KEYWORD: shutdown +# + +HOME=/usr/pkg/jabber D=/usr/pkg/jabber/ejabberd export HOME + +name="ejabberd" +rcvar=$name + +if [ -r /etc/rc.conf ] +then + . /etc/rc.conf +else + eval ${rcvar}=YES +fi + +# $flags from environment overrides ${rcvar}_flags +if [ -n "${flags}" ] +then + eval ${rcvar}_flags="${flags}" +fi + +checkyesno() +{ + eval _value=\$${1} + case $_value in + [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1) return 0 ;; + [Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0) return 1 ;; + *) + echo "\$${1} is not set properly." + return 1 + ;; + esac +} + +cmd=${1:-start} +case ${cmd} in +force*) + cmd=${cmd#force} + eval ${rcvar}=YES + ;; +esac + +if checkyesno ${rcvar} +then +else + exit 0 +fi + +case ${cmd} in +start) + if [ -x $D/src ]; then + echo "Starting ${name}." + cd $D/src + su jabber -c "/usr/pkg/bin/erl -sname ejabberd -s ejabberd -heart -detached &" \ + 1>/dev/null 2>&1 + fi + ;; +stop) + echo "rpc:call('ejabberd@`hostname -s`', init, stop, [])." | \ + su jabber -c "erl -sname ejabberdstop" + ;; +restart) + echo "rpc:call('ejabberd@`hostname -s`', init, restart, [])." | \ + su jabber -c "erl -sname ejabberdrestart" + ;; +*) + echo "Usage: $0 {start|stop|restart}" + exit 1 +esac |