diff options
Diffstat (limited to 'gnustep-apps/sogo/files/sogod.initd')
-rw-r--r-- | gnustep-apps/sogo/files/sogod.initd | 63 |
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 ${?} } |