summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'gnustep-apps/sogo/files/sogod.initd')
-rw-r--r--gnustep-apps/sogo/files/sogod.initd63
1 files changed, 11 insertions, 52 deletions
diff --git a/gnustep-apps/sogo/files/sogod.initd b/gnustep-apps/sogo/files/sogod.initd
index c370ba4..2575d92 100644
--- a/gnustep-apps/sogo/files/sogod.initd
+++ b/gnustep-apps/sogo/files/sogod.initd
@@ -1,74 +1,33 @@
#!/sbin/runscript
-# Copyright 1999-2010 Gentoo Foundation
+# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
-sogod_bin=""
-sogod_port=""
+SOGOD_PID=/run/sogo/sogod.pid
depend() {
need net
- after pg_autovacuum postgresql mysql
+ after postgresql mysql
after slapd
after mta
after memcached
}
-checkconfig() {
- if [ -f "/etc/GNUstep/GNUstep.conf" ]; then
- source /etc/GNUstep/GNUstep.conf
- else
- eerror "Can't find /etc/GNUstep/GNUstep.conf"
- return 1
- fi
- if [ -x "${HOME}/${GNUSTEP_USER_DIR_ADMIN_TOOLS}/sogod" ]; then
- sogod_bin="${HOME}/${GNUSTEP_USER_DIR_ADMIN_TOOLS}/sogod"
- elif [ -x "${GNUSTEP_LOCAL_ADMIN_TOOLS}/sogod" ]; then
- sogod_bin="${GNUSTEP_LOCAL_ADMIN_TOOLS}/sogod"
- elif [ -x "${GNUSTEP_SYSTEM_ADMIN_TOOLS}/sogod" ]; then
- sogod_bin="${GNUSTEP_SYSTEM_ADMIN_TOOLS}/sogod"
- elif [ -x "${GNUSTEP_NETWORK_ADMIN_TOOLS}/sogod" ]; then
- sogod_bin="${GNUSTEP_SYSTEM_ADMIN_TOOLS}/sogod"
- else
- eerror "Can't find sogod"
- return 1
- fi
- if [ -f "${GNUSTEP_MAKEFILES}/GNUstep.sh" ]; then
- source "${GNUSTEP_MAKEFILES}/GNUstep.sh"
- else
- eerror "Can't find ${GNUSTEP_MAKEFILES}/GNUstep.sh"
- return 1
- fi
- sogod_port="$(defaults -u sogo read sogod WOPort 2>/dev/null)"
- if [ "${?}" -eq 0 ]; then
- sogod_port="${sogod_port##* }"
- if [ "$((${sogod_port}+1-1))" != "${sogod_port}" ]; then
- sogod_port="20000"
- fi
- else
- sogod_port="20000"
- fi
- touch /var/log/sogod.log
- chown sogo /var/log/sogod.log
-}
-
start() {
- checkconfig || return 1
+ checkpath -q -d -m 0755 -o sogo:sogo $(dirname "${SOGOD_PID}")
ebegin "Starting SOGo service"
- start-stop-daemon \
- --start \
- --exec ${sogod_bin} \
- --chuid sogo \
- --make-pidfile \
- --background \
- --pidfile /var/run/sogod.pid \
- -- -WOPort ${sogod_port}
+ start-stop-daemon --start --quiet \
+ --user sogo --exec /usr/sbin/sogod \
+ -- -WOWorkersCount ${SOGOD_WORKERS} \
+ -WOLogFile /var/log/sogo/sogod.log \
+ -WOPidFile "${SOGOD_PID}" \
+ "${SOGOD_OPTS}"
eend ${?}
}
stop() {
ebegin "Stopping SOGo service"
start-stop-daemon --stop \
- --pidfile /var/run/sogod.pid
+ --pidfile "${SOGOD_PID}"
eend ${?}
}