tog-pegasus/pegasus-2.9.0-initscript.patch
2009-06-16 12:09:03 +00:00

185 lines
5.7 KiB
Diff

diff -up pegasus/rpm/tog-pegasus.rc_old pegasus/rpm/tog-pegasus.rc
--- pegasus/rpm/tog-pegasus.rc_old 2008-12-02 10:00:03.000000000 +0100
+++ pegasus/rpm/tog-pegasus.rc 2009-03-18 14:39:40.000000000 +0100
@@ -1,78 +1,108 @@
-#//%LICENSE////////////////////////////////////////////////////////////////
-#//
-#// Licensed to The Open Group (TOG) under one or more contributor license
-#// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
-#// this work for additional information regarding copyright ownership.
-#// Each contributor licenses this file to you under the OpenPegasus Open
-#// Source License; you may not use this file except in compliance with the
-#// License.
-#//
-#// 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"
- echo
+ 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"
- fi
+ echo -n $"CIM server is not running";
+ RETVAL=3
+ fi;
+ echo;
;;
+
condrestart)
pid=`pidofproc $CIMSERVER_BIN`
RETVAL=$?
@@ -81,18 +111,23 @@ case "$1" in
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