#!/sbin/runscript # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/net-im/jabberd/files/jabber.init.gentoo,v 1.1 2005/01/31 23:05:41 humpback Exp $ depend() { need net use mysql postgresql slapd provide jabber-server } components="router resolver sm c2s s2s" my_start() { local component="$1" ebegin "Starting ${component}" start-stop-daemon --start --chuid jabber:jabber --background \ --exec "/usr/bin/${component}" eend $? } my_stop() { local component="$1" ebegin "Stopping ${component}" pidfile="/var/jabberd/pid/${component}.pid" start-stop-daemon --stop --exec "/usr/bin/${component}" \ --pidfile "${pidfile}" eend $? } start() { einfo "Starting Jabber Server" eindent local started='' local failed='' for i in ${components}; do if ! my_start "${i}"; then failed="${failed} ${i}" else started="${i} ${started}" fi done if [[ -n ${failed} ]]; then eerror eerror "The following components failed to start:" eerror "->${failed}" eerror eerror "Trying to stop started components" for i in ${started}; do my_stop "${i}" done false fi } stop() { einfo "Stopping Jabber Server" eindent local failed="" i="" for i in $(echo ${components} | tac -s\ ); do if ! my_stop "${i}"; then failed="${failed} ${i}" fi done if [[ -n ${failed} ]]; then eerror eerror "The following components failed to stop:" eerror "->${failed}" eerror eerror "Please kill the processes manually and reset" eerror "this service to a stopped state using" eerror "-> ${0} zap" eerror false fi }