#!/sbin/runscript # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ depend() { need net use mysql postgresql slapd provide jabber-server } SERVICES_CONF="/etc/jabber/jabberd.cfg" start() { if [ ! -r "${SERVICES_CONF}" ]; then eerror "You didn't configure services in ${SERVICES_CONF} file" exit 1 fi einfo "Starting Jabber Server ..." local services services=$(grep -v "^ *#" "${SERVICES_CONF}" | 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/${service} if [ ! -f "${executable}" ]; then eerror "Can't find executable: ${executable}" stopJabberServices return 1 fi ebegin "Starting ${service} (${cfgfile})" start-stop-daemon \ --background \ --start \ --chuid jabber:jabber \ --exec /usr/bin/${service} \ --pid /var/run/jabber/$(basename ${cfgfile%.xml}).pid \ -- -c ${cfgfile} eend $? done eoutdent } stop() { einfo "Stopping Jabber Server" eindent services=$(grep -v "^ *#" "${SERVICES_CONF}" | awk '{print $1}' | tac) for service in ${services}; do ebegin "Stopping ${service}" start-stop-daemon \ --stop --user jabber --name "${service}" \ --pid /var/run/jabber/"${service}".pid eend $? done eoutdent }