--- pegasus/rpm/tog-pegasus.rc_old 2006-01-30 17:16:24.000000000 +0100 +++ pegasus/rpm/tog-pegasus.rc 2007-11-08 10:50:40.000000000 +0100 @@ -1,80 +1,108 @@ -#//%2006//////////////////////////////////////////////////////////////////////// -#// -#// Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development -#// Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems. -#// Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.; -#// IBM Corp.; EMC Corporation, The Open Group. -#// Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.; -#// IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group. -#// Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.; -#// EMC Corporation; VERITAS Software Corporation; The Open Group. -#// Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.; -#// EMC Corporation; Symantec Corporation; The Open Group. -#// -#// Permission is hereby granted, free of charge, to any person obtaining a copy -#// of this software and associated documentation files (the "Software"), to -#// deal in the Software without restriction, including without limitation the -#// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -#// sell copies of the Software, and to permit persons to whom the Software is -#// furnished to do so, subject to the following conditions: -#// -#// THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN -#// ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED -#// "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT -#// LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -#// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -#// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -#// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -#// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -#// -#//============================================================================== -#! /bin/sh -#// -#//%///////////////////////////////////////////////////////////////////////////// +#!/bin/bash +# +# chkconfig: - 98 1 +# description: The Open Group Pegasus cimserver initscript +# processname: cimserver +# pidfile: /var/run/tog-pegasus/cimserver.pid +# ### BEGIN INIT INFO -# Provides: tog-pegasus +# Provides: lsb-pegasus # Required-Start: $syslog $network # Should-Start: $time # Required-Stop: $syslog # Default-Start: 3 5 # Default-Stop: 0 1 2 6 -# Description: init script for Pegasus CIM server +# Description: init script for Pegasus CIMServer ### END INIT INFO -CIMSERVER_BIN=/opt/tog-pegasus/sbin/cimserver +CIMSERVER_BIN=/usr/sbin/cimserver prog=cimserver +LOCKFILE=/var/lock/subsys/tog-pegasus +. /etc/rc.d/init.d/functions -test -x $CIMSERVER_BIN || exit 5 +[ -e /etc/sysconfig/tog-pegasus ] && . /etc/sysconfig/tog-pegasus; + +PEGASUS_SSL_CONF_FILE=${PEGASUS_SSL_CONF_FILE:=/etc/Pegasus/ssl.cnf} +PEGASUS_SSL_CERT_FILE=${PEGASUS_SSL_CERT_FILE:=/etc/Pegasus/server.pem} +PEGASUS_SSL_KEY_FILE=${PEGASUS_SSL_KEY_FILE:=/etc/Pegasus/file.pem} +PEGASUS_SSL_TRUSTSTORE=${PEGASUS_SSL_TRUSTSTORE:=/etc/Pegasus/client.pem} -. /lib/lsb/init-functions RETVAL=0 case "$1" in start) + pid=`pidofproc $CIMSERVER_BIN` + RETVAL=$? + if [ "$RETVAL" -eq 0 ]; then + echo "tog-pegasus $1: $CIMSERVER_BIN is already running"; + exit 0; + fi; + + if [ ! -e $CIMSERVER_BIN ]; then + echo "tog-pegasus $1: $CIMSERVER_BIN not found"; + failure; + exit 5; + fi; + + if [ ! -x $CIMSERVER_BIN ]; then + echo "tog-pegasus $1: $CIMSERVER_BIN not executable"; + failure; + exit 4; + fi; + + if [ ! -e ${PEGASUS_SSL_CONF_FILE} ] || [ ! -e ${PEGASUS_SSL_CERT_FILE} ] || + [ ! -e ${PEGASUS_SSL_KEY_FILE} ] || [ ! -e ${PEGASUS_SSL_TRUSTSTORE} ]; then + if [ -x /usr/share/Pegasus/scripts/genOpenPegasusSSLCerts ]; then + echo -n "tog-pegasus: Generating cimserver SSL certificates..."; + /usr/share/Pegasus/scripts/genOpenPegasusSSLCerts; + if [ $? -eq 0 ]; then + success; + else + failure; + fi; + echo; + fi; + fi; echo -n $"Starting up CIM server: " - $CIMSERVER_BIN + $CIMSERVER_BIN ${CIMSERVER_OPTIONS} RETVAL=$? - [ "$RETVAL" -eq 0 ] && log_success_msg $"$prog start" || log_failure_msg $"$prog start" - echo + if [ "$RETVAL" -eq 0 ]; then + touch $LOCKFILE; + success; + else + failure; + fi; + echo; ;; stop) echo -n $"Shutting down CIM server: " killproc cimserver RETVAL=$? - [ "$RETVAL" -eq 0 ] && log_success_msg $"$prog stop" || log_failure_msg $"$prog stop" + if [ "$RETVAL" -eq 0 ]; then + rm -f $LOCKFILE; + rm -f /var/run/tog-pegasus/*; + success; + else + failure; + fi echo ;; + status) pid=`pidofproc $CIMSERVER_BIN` RETVAL=$? if [ "$RETVAL" -eq 0 ]; then - echo "CIM server is running" + echo -n $"CIM server ($pid) is running"; + RETVAL=0 else - echo "CIM server is not running" + echo -n $"CIM server is not running"; + RETVAL=3 fi + echo ;; + condrestart) pid=`pidofproc $CIMSERVER_BIN` RETVAL=$? @@ -83,18 +111,23 @@ RETVAL=$?; fi; ;; + try-restart) - $0 stop && $0 start + $0 stop && $0 start; + RETVAL=$?; ;; + restart|force-reload) - $0 stop - $0 start + $0 stop; + $0 start; + RETVAL=$?; ;; + reload) ;; *) echo "Usage: $0 {start|stop|status|restart|reload|force-reload|try-restart}" - exit 1 + RETVAL=3 esac exit $RETVAL