mirror of
https://git.freebsd.org/ports.git
synced 2025-05-02 11:36:40 -04:00
- Updated description to say XMPP [0] - Build in SQLite by default [0] - Use reload_config for reload command as ejabberd natively supports hot-reloading configurations [0] Pull Request: <https://github.com/freebsd/freebsd-ports/pull/170> [0] Co-authored-by: Jonathan Davies <jpds@protonmail.com>
78 lines
1.7 KiB
Bash
78 lines
1.7 KiB
Bash
#! /bin/sh
|
|
|
|
# PROVIDE: ejabberd
|
|
# REQUIRE: DAEMON
|
|
# BEFORE: LOGIN
|
|
# KEYWORD: shutdown
|
|
|
|
# Define these ejabberd_* variables in one of these files:
|
|
# /etc/rc.conf
|
|
# /etc/rc.conf.local
|
|
# /etc/rc.conf.d/ejabberd
|
|
#
|
|
# DO NOT CHANGE THESE DEFAULT VALUES HERE
|
|
#
|
|
ejabberd_enable=${ejabberd_enable-"NO"}
|
|
ejabberd_node=${ejabberd_node-"ejabberd@localhost"}
|
|
ejabberd_epmd_address=${ejabberd_epmd_address-"127.0.0.1"}
|
|
|
|
. /etc/rc.subr
|
|
|
|
name="ejabberd"
|
|
rcvar=ejabberd_enable
|
|
|
|
reload_cmd="ejabberd_reload"
|
|
restart_cmd="ejabberd_reload"
|
|
start_cmd="ejabberd_start"
|
|
status_cmd="ejabberd_status"
|
|
stop_cmd="ejabberd_stop"
|
|
|
|
extra_commands="reload status"
|
|
|
|
EJABBERDCTL=%%PREFIX%%/sbin/ejabberdctl
|
|
EJABBERDUSER=ejabberd
|
|
|
|
ejabberd_status()
|
|
{
|
|
if ejabberd_checkstatus; then
|
|
echo "$name is running."
|
|
else
|
|
echo "$name is not running."
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
ejabberd_checkstatus()
|
|
{
|
|
su $EJABBERDUSER -c "env ERL_EPMD_ADDRESS=\"${ejabberd_epmd_address}\" $EJABBERDCTL --node $ejabberd_node status > /dev/null"
|
|
}
|
|
|
|
ejabberd_start()
|
|
{
|
|
echo "Starting $name."
|
|
su $EJABBERDUSER -c "env ERL_EPMD_ADDRESS=\"${ejabberd_epmd_address}\" $EJABBERDCTL --node $ejabberd_node start"
|
|
}
|
|
|
|
ejabberd_stop()
|
|
{
|
|
echo "Stopping $name."
|
|
if su $EJABBERDUSER -c "env ERL_EPMD_ADDRESS=\"${ejabberd_epmd_address}\" $EJABBERDCTL --node $ejabberd_node stop"; then
|
|
# sleep 2
|
|
# killall -u ejabberd -kill
|
|
else
|
|
_run_rc_notrunning
|
|
fi
|
|
}
|
|
|
|
ejabberd_reload()
|
|
{
|
|
echo "Restarting $name."
|
|
if ejabberd_checkstatus; then
|
|
su $EJABBERDUSER -c "env ERL_EPMD_ADDRESS=\"${ejabberd_epmd_address}\" $EJABBERDCTL --node $ejabberd_node reload_config"
|
|
else
|
|
ejabberd_start
|
|
fi
|
|
}
|
|
|
|
load_rc_config $name
|
|
run_rc_command "$1"
|