www-apps/tt-rss/files/ttrssd.initd-r1
changeset 75 70eb8924b719
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/www-apps/tt-rss/files/ttrssd.initd-r1	Wed Apr 03 11:26:19 2013 +0200
@@ -0,0 +1,73 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-apps/tt-rss/files/ttrssd.initd-r1,v 1.1 2013/03/24 10:22:25 scarabeus Exp $
+
+depend() {
+	need logger net
+	after postgres mysql
+}
+
+LOGFILE=${LOGFILE:-"/var/log/ttrssd.log"}
+TTRSSD_USER=${TTRSSD_USER:-"ttrssd"}
+TTRSSD_GROUP=${TTRSSD_GROUP:-"ttrssd"}
+INSTANCE_FOLDERS="cache cache/htmlpurifier cache/magpie cache/simplepie cache/images cache/export lock feed-icons"
+
+checkconfig() {
+	local instance dir
+
+	# check instances
+	if [ -z "${INSTANCE_DIRS}" ]; then
+		eerror "There is no defined instance directory in /etc/conf.d/ttrssd"
+		return 1
+	fi
+
+	# verify log file accessibility
+	if [ ! -e "${LOGFILE}" ]; then
+		touch "${LOGFILE}" || return 1
+	fi
+	chown "${TTRSSD_USER}":"${TTRSSD_GROUP}" "${LOGFILE}" || return 1
+
+	# check instances for errors
+	for instance in ${INSTANCE_DIRS}; do
+		if [ ! -f "${instance}/update_daemon2.php" ]; then
+			eerror "\"${instance}\" does not contain update_daemon2.php script."
+			eerror "Please check your installation or the INSTANCE_DIRS variable."
+			return 1
+		fi
+		
+		# FIXME: This should be done by webapp-config during install
+		for dir in ${INSTANCE_FOLDERS}; do
+			if [ -d "${instance}/${dir}" ]; then
+				chgrp -R "${TTRSSD_GROUP}" "${instance}/${dir}" || return 1
+				chmod -R g+w "${instance}/${dir}" || return 1
+			fi
+		done
+	done
+}
+
+start () {
+	local instance
+
+	checkconfig || return 1
+
+	for instance in ${INSTANCE_DIRS}; do
+		ebegin "Starting TT-RSS update daemon in \"${instance}\""
+		start-stop-daemon --start --user "${TTRSSD_USER}":"${TTRSSD_GROUP}" --background \
+			--stdout "${LOGFILE}" --stderr "${LOGFILE}" \
+			--exec /usr/bin/php -- -f "${instance}/update_daemon2.php"
+		eend $?
+	done
+}
+
+stop() {
+	local instance
+
+	for instance in ${INSTANCE_DIRS}; do
+		ebegin "Stopping TT-RSS update daemon in \"${instance}\""
+		start-stop-daemon --stop \
+			--exec /usr/bin/php -- -f "${instance}/update_daemon2.php"
+		eend $?
+		rm -f ${instance}/lock/*.lock
+	done
+}