summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'www-apps/tt-rss/files/ttrssd.initd-r2')
-rw-r--r--www-apps/tt-rss/files/ttrssd.initd-r283
1 files changed, 83 insertions, 0 deletions
diff --git a/www-apps/tt-rss/files/ttrssd.initd-r2 b/www-apps/tt-rss/files/ttrssd.initd-r2
new file mode 100644
index 000000000000..3ebadb45b4c8
--- /dev/null
+++ b/www-apps/tt-rss/files/ttrssd.initd-r2
@@ -0,0 +1,83 @@
+#!/sbin/runscript
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+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 lock feed-icons"
+BASE_PID="/run/ttrssd"
+
+checkconfig() {
+ local instance instancepidname 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
+
+ mkdir -p "${BASE_PID}"
+
+ # check instances for errors
+ for instance in ${INSTANCE_DIRS}; do
+ instancepidname=$(echo "${instance}.pid" | sed -e 's|/||' -e 's|/|--|g')
+
+ 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
+
+ # NOTE: This can't be done by webapp-config if we want runtime configurable TTRSSD_GROUP
+ for dir in ${INSTANCE_FOLDERS}; do
+ if [ -d "${instance}/${dir}" ]; then
+ chown -R ":${TTRSSD_GROUP}" "${instance}/${dir}" || return 1
+ chmod -R g+w "${instance}/${dir}" || return 1
+ fi
+ done
+ done
+}
+
+start () {
+ local instance instancepidname
+
+ checkconfig || return 1
+
+ for instance in ${INSTANCE_DIRS}; do
+ instancepidname=$(echo "${instance}.pid" | sed -e 's|/||' -e 's|/|--|g')
+ mypid="${BASE_PID}/${instancepidname}"
+ ebegin "Starting TT-RSS update daemon in \"${instance}\""
+ start-stop-daemon --start --user "${TTRSSD_USER}":"${TTRSSD_GROUP}" --background \
+ --stdout "${LOGFILE}" --stderr "${LOGFILE}" \
+ --make-pidfile --pidfile "${mypid}" \
+ --exec /usr/bin/php -- -f "${instance}/update_daemon2.php"
+ eend $?
+ done
+}
+
+stop() {
+ local instance instancepidname
+
+ for instance in ${INSTANCE_DIRS}; do
+ instancepidname=$(echo "${instance}.pid" | sed -e 's|/||' -e 's|/|--|g')
+ mypid="${BASE_PID}/${instancepidname}"
+ ebegin "Stopping TT-RSS update daemon in \"${instance}\""
+ start-stop-daemon --stop \
+ --pidfile "${mypid}" \
+ --exec /usr/bin/php -- -f "${instance}/update_daemon2.php"
+ eend $?
+ rm -f ${instance}/lock/*.lock
+ done
+}