#!/sbin/openrc-run # Copyright 1999-2017 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 extra_commands="reload" depend() { need net use mysql postgresql slapd provide jabber-server } stopJabberServices() { eindent for pidfile in /var/run/jabber/*.pid; do if [ -f "${pidfile}" ]; then service=$(basename ${pidfile} .pid) ebegin "Stopping ${service}" start-stop-daemon \ --stop \ --pidfile ${pidfile} eend $? fi done eoutdent } start_pre() { checkpath -d -o jabber /var/run/jabber } start() { einfo "Starting Jabber Server ..." local services executable cfgfile pidfile services=$(grep -v ^# /etc/jabber/jabberd.cfg | grep '..*' | awk '{print $1 ":" $2}') eindent for service in ${services}; do cfgfile=$(echo ${service} | cut -d ':' -f 2) service=$(echo ${service} | cut -d ':' -f 1) if [ ! -f "${cfgfile}" ]; then if [ -f "/etc/jabber/${service}.xml" ]; then cfgfile="/etc/jabber/${service}.xml" else eerror "Can't find: ${cfgfile} or default /etc/jabber/${service}.xml" stopJabberServices return 1 fi fi executable="/usr/bin/$(echo ${service} | cut -d '.' -f 1)" if [ ! -f "${executable}" ]; then eerror "Can't find executable: ${executable}" stopJabberServices return 1 fi ebegin "Starting ${service} (${cfgfile})" pidfile="$(grep -v ^# ${cfgfile} | grep '' | sed 's#<.\?pidfile>##g')" start-stop-daemon \ --background \ --start \ --user jabber:jabber \ --exec ${executable} \ --pid ${pidfile} \ -- -c ${cfgfile} eend $? done eoutdent } reload() { eindent for pidfile in /var/run/jabber/*.pid; do if [ -f "${pidfile}" ]; then service=$(basename ${pidfile} .pid) ebegin "Reloading ${service}" kill -HUP $(cat ${pidfile}) eend $? fi done eoutdent } stop() { einfo "Stopping Jabber Server" stopJabberServices }