summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www-apps/rt/files/rt.init.d.2')
-rw-r--r--www-apps/rt/files/rt.init.d.251
1 files changed, 51 insertions, 0 deletions
diff --git a/www-apps/rt/files/rt.init.d.2 b/www-apps/rt/files/rt.init.d.2
new file mode 100644
index 000000000000..9d45e40ef04c
--- /dev/null
+++ b/www-apps/rt/files/rt.init.d.2
@@ -0,0 +1,51 @@
+#!/sbin/runscript
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ use mysql postgresql lighttpd
+}
+
+FCGI_SOCKET_PATH=${RTPATH}/var/appSocket
+PIDFILE=${RTPATH}/var/pid
+
+start() {
+ checkpath -d "${RTPATH}/var" -m 0755 -o "${RTUSER}:${RTGROUP}"
+
+ ebegin "Starting RT"
+ rm -f ${FCGI_SOCKET_PATH}
+ start-stop-daemon --start \
+ --exec ${RTPATH}/bin/mason_handler.fcgi \
+ --pidfile ${PIDFILE} --user "${RTUSER}:${RTGROUP}" \
+ --background --make-pidfile --chdir ${RTPATH} \
+ --stdout "${RTPATH}/var/service.log" \
+ --stderr "${RTPATH}/var/service.log" \
+ --env "PATH=$PATH" --env "FCGI_SOCKET_PATH=${FCGI_SOCKET_PATH}" \
+ --wait 1500
+
+ if [ "$?" != "0" ]; then
+ eerror "${SVCNAME} failed to start. Please see ${RTPATH}/var/service.log for the reason."
+ eend 1
+ return 1
+ fi
+
+ # make sure lighttpd can use the socket
+ for i in {0..10}; do
+ [ -a ${FCGI_SOCKET_PATH} ] && break
+ sleep 1
+ done
+
+ if [ -a ${FCGI_SOCKET_PATH} ]; then
+ chmod g+rwx ${FCGI_SOCKET_PATH}
+ eend 0
+ else
+ eend 1
+ fi
+}
+
+stop() {
+ ebegin "Stopping RT"
+ start-stop-daemon --stop --pidfile ${PIDFILE}
+ eend $?
+}