sogo/Scripts/sogod-wrapper

81 lines
2.1 KiB
Bash
Executable File

#!/bin/sh
# SOGo daemon wrapper
#
# Copyright (C) 2007-2009 Inverse inc.
#
# Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
# Francis Lachapelle <flachapelle@inverse.ca>
#
# This file is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This file is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; see the file COPYING. If not, write to
# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
# Uncomment the following line for Oracle RAC. This is where
# should be located the tnsnames.ora.
#export TNS_ADMIN=/home/sogo
if [ -z "$1" ]
then
PIDFILE=/var/run/sogo/sogod.pid
else
PIDFILE=/var/run/sogo/sogod.$1
fi
if [ -f /etc/GNUstep/GNUstep.conf ]; then
. /etc/GNUstep/GNUstep.conf
else
echo "Can't find GNUstep.conf"
exit 1
fi
if [ -x $HOME/$GNUSTEP_USER_DIR_ADMIN_TOOLS/sogod ]; then
sogod="$HOME/$GNUSTEP_USER_DIR_ADMIN_TOOLS/sogod"
elif [ -x $GNUSTEP_LOCAL_ADMIN_TOOLS/sogod ]; then
sogod="$GNUSTEP_LOCAL_ADMIN_TOOLS/sogod"
elif [ -x $GNUSTEP_SYSTEM_ADMIN_TOOLS/sogod ]; then
sogod="$GNUSTEP_SYSTEM_ADMIN_TOOLS/sogod"
else
echo "Can't find sogod"
exit 1
fi
if [ -f $GNUSTEP_MAKEFILES/GNUstep.sh ]; then
. $GNUSTEP_MAKEFILES/GNUstep.sh
else
echo "Can't find GNUstep.sh"
exit 1
fi
woport=`defaults read sogod WOPort`
if [ "$?" == "0" ]
then
startport=`echo $woport | awk '{print $3}' | sed -e 's/\(.*:\)//'`
else
startport=20000
fi
if [ -z "$1" ]
then
port=$startport
else
let "port=$startport + $1 - 1"
fi
listen=`echo $woport | awk '{ print $3 }' | sed -e 's/\([0-9]\+\)$/'$port'/g'`
# echo "SOGOD: $sogod -WOPort $listen" 2>&1
exec $sogod -WOPort $listen >> /var/log/sogo/sogod-$port.log 2>&1 &
echo $! > $PIDFILE