From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- net-im/jabberd2/files/jabberd2-2.5.0.init | 90 +++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 net-im/jabberd2/files/jabberd2-2.5.0.init (limited to 'net-im/jabberd2/files/jabberd2-2.5.0.init') diff --git a/net-im/jabberd2/files/jabberd2-2.5.0.init b/net-im/jabberd2/files/jabberd2-2.5.0.init new file mode 100644 index 000000000000..a5579f7b6c0c --- /dev/null +++ b/net-im/jabberd2/files/jabberd2-2.5.0.init @@ -0,0 +1,90 @@ +#!/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 +} -- cgit v1.2.3