Sophie

Sophie

distrib > Mandriva > 10.0-com > i586 > by-pkgid > 311e4a1d0b94bfc373ed87b7a3a14fe1 > files > 1

opengroupware-env-1.0-20040204.1mdk.src.rpm

#!/bin/sh
#
# ogo Startup script for OpenGroupware on UNIX systems.
#
# chkconfig: 345 75 25
# description: OpenGroupware is a groupware server
# processname: OpenGroupware
# pidfile: /var/run/ogo.pid

if [ -e /usr/lib/opengroupware.org/OpenGroupware.org.sh ]; then
	. /usr/lib/opengroupware.org/OpenGroupware.org.sh
else
	gprintf "OpenGroupware.org is not installed correctly.\n"
	exit 0
fi

OGO_DIR=/usr/lib/opengroupware.org
OGO_BIN=$OGO_DIR/WOApps/OpenGroupware.woa/ix86/linux-gnu/gnu-fd-nil/OpenGroupware
OGO_ARGS="-WOPort 20000 -WOHttpAllowHost 127.0.0.1 -OGoMinimumActiveSessionCount 0"
PID_FILE=/var/run/ogo.pid
LOG=/var/log/ogo.log

# Find the name of the script
prog="ogo"

. /etc/rc.d/init.d/functions

start(){
		gprintf "Starting %s: " "$prog"
		pushd $OGO_DIR > /dev/null

		# log separator
		echo "----------------------------------------------------------------------" >> $LOG

		env -i su - ogo -s /bin/bash -c "exec $OGO_BIN $OGO_ARGS" >> $LOG 2>&1 &
		echo $! > $PID_FILE
		popd > /dev/null
 		sleep 1
		pid=`pidof $OGO_BIN`
		if [ $pid ]; then
		    success "Starting %s: " "$prog"
		    touch /var/lock/subsys/ogo
		else
		    failure "Starting %s: " "$prog"
		    rm -f /var/lock/subsys/ogo
		fi
		echo
}

stop(){
                gprintf "Shutting down %s: " "$prog"
		if test -f "$PID_FILE" ; then
			PID=`cat $PID_FILE`
			if kill $PID >> $LOG 2>&1 ; then
				/bin/rm $PID_FILE
				rm -f /var/lock/subsys/ogo
				success "Shutting down %s: " "$prog"
			else
				echo ""
				gprintf "Could not kill process %s named in %s. Check tail of %s.\n" "$PID" "$PID_FILE" "$LOG"
				failure "Shutting down %s: " "$prog"
			fi
		else
		    killproc ogo
		    RETVAL=$?
		    echo
		    if [ $RETVAL -eq 0 ];then
			rm -f /var/lock/subsys/ogo
			/bin/rm $PID_FILE
		    fi

		    return $RETVAL
		fi
		echo
}

restart(){
    stop
    start
}

condrestart(){
    [ -e /var/lock/subsys/ogo ] && restart
}

install(){
    service postgresql status || service postgresql start
    su - postgres -s /bin/bash -c '
createdb ogo
createuser -A -D ogo
'
    su - ogo -s /bin/bash -c '
cd
cd Database/PostgreSQL
psql ogo ogo <<EOF
\i pg-build-schema.psql
\q
EOF
'
    if [ -f /etc/httpd/conf.d/ogo.conf.dist ]; then
	ln -s ogo.conf.dist /etc/httpd/conf.d/ogo.conf
    fi
    service httpd reload
}

deinstall(){
    service postgresql status || service postgresql start
    su - postgres -s /bin/bash -c '
dropdb ogo
dropuser ogo
'
    rm -fr /var/spool/openoffice.org/*/*
    [ -L /etc/httpd/conf.d/ogo.conf ] && rm -f /etc/httpd/conf.d/ogo.conf
}


[ -x $OGO_BIN ] || exit 0

# See how we were called.
case "$1" in
  start)
	start
	;;
  stop)
	stop
	;;
  status)
	status
	;;
  restart)
	restart
	;;
  condrestart)
	condrestart
	;;
  deinstall)
	deinstall
	;;
  install)
	deinstall
	install
	;;
  *)
	gprintf "Usage: %s {start|stop|status|restart|condrestart|install|deinstall}\n" "$0"
	exit 1
esac

exit 0