mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-18 03:46:03 +00:00
7f019c034b
and adding a pkg-deinstall and another patch. Submitted by: maintainer
136 lines
3.0 KiB
Bash
136 lines
3.0 KiB
Bash
#!/bin/sh
|
|
|
|
# Set Variables
|
|
NAME=dbXML
|
|
DBXML_HOME=%%DBXML_HOME%%
|
|
LOG=${DBXML_HOME}/logs/${NAME}ctl.log
|
|
JAR_DIR=${DBXML_HOME}/java/lib
|
|
PID_FILE=/var/run/${NAME}.pid
|
|
MYSELF=`basename $0`
|
|
USER_NAME=dbxml
|
|
|
|
# Check if we're being run as a shell script or as an rc script
|
|
if [ ${MYSELF} = "00dbxml.sh" ]; then
|
|
AS_RC_SCRIPT=yes
|
|
else
|
|
AS_RC_SCRIPT=no
|
|
fi
|
|
|
|
# Check if the JAVA_HOME directory is defined, otherwise set it to the
|
|
# fallback default
|
|
if [ "${JAVA_HOME}a" = "a" ]; then
|
|
JAVA_HOME=%%JAVA_HOME%%
|
|
export JAVA_HOME
|
|
fi
|
|
JAVA_CMD=${JAVA_HOME}/bin/java
|
|
|
|
# Make sure the dbXML directory does exist
|
|
if [ ! -d ${DBXML_HOME} ]; then
|
|
if [ "${AS_RC_SCRIPT}" = "yes" ]; then
|
|
echo ""
|
|
fi
|
|
echo "${NAME}: ERROR: Unable to find dbXML home directory at ${DBXML_HOME}."
|
|
exit 1
|
|
fi
|
|
|
|
# Make sure the Java VM can be found
|
|
if [ ! -x ${JAVA_CMD} ]; then
|
|
if [ "${AS_RC_SCRIPT}" = "yes" ]; then
|
|
echo ""
|
|
fi
|
|
echo "${NAME}: ERROR: Unable to find Java VM at ${JAVA_HOME}."
|
|
exit 2
|
|
fi
|
|
|
|
# Make sure the JAR file Directory exists
|
|
if [ ! -d ${JAR_DIR} ]; then
|
|
if [ "${AS_RC_SCRIPT}" = "yes" ]; then
|
|
echo ""
|
|
fi
|
|
echo "${NAME}: ERROR: Unable to find JAR Directory at ${JAR_DIR}."
|
|
exit 3
|
|
fi
|
|
|
|
server_shutdown() {
|
|
# Read in instances and kill processes
|
|
INSTANCES="`cat ${DBXML_HOME}/config/instances.cfg`"
|
|
for instance in $INSTANCES
|
|
do
|
|
/usr/local/bin/dbxmladmin shutdown -c /$instance 1> /dev/null 2> /dev/null
|
|
done
|
|
|
|
# Remove stale pid file
|
|
rm ${PID_FILE}
|
|
}
|
|
|
|
server_start() {
|
|
# setup dbXML Classpath
|
|
CLASSPATH=${DBXML_HOME}/classgen:${DBXML_HOME}/config:$CLASSPATH
|
|
JARS=`ls -1 ${JAR_DIR}/*.jar`
|
|
for jar in $JARS
|
|
do
|
|
CLASSPATH=$jar:$CLASSPATH ;
|
|
done
|
|
|
|
# Read in the extra VM paramters for starting the program
|
|
VMPROPS=""
|
|
if [ -f ${DBXML_HOME}/config/vm.cfg ]; then
|
|
PROPS="`cat ${DBXML_HOME}/config/vm.cfg`"
|
|
for prop in $PROPS
|
|
do
|
|
VMPROPS="$VMPROPS $prop"
|
|
done
|
|
fi
|
|
|
|
# Setup pid file
|
|
touch ${PID_FILE}
|
|
chown ${USER_NAME} ${PID_FILE}
|
|
chmod 600 ${PID_FILE}
|
|
|
|
# Start dbXML
|
|
su -fm ${USER_NAME} -c "(cd ${DBXML_HOME} && ${JAVA_CMD} -Xms16m -Xmx168m -classpath "$CLASSPATH" -Ddbxml.home="${DBXML_HOME}" org.dbxml.core.server.dbXML & echo \$! > ${PID_FILE}) > ${LOG}"
|
|
}
|
|
|
|
case "$1" in
|
|
start)
|
|
# Make sure another instance of dbXML is not running
|
|
if [ -e ${PID_FILE} ]; then
|
|
if [ "${AS_RC_SCRIPT}" = "yes" ]; then
|
|
echo ""
|
|
fi
|
|
echo "A dbxml instance is already running with PID" `cat ${PID_FILE}`
|
|
exit 0
|
|
fi
|
|
echo "starting dbXML...."
|
|
server_start;
|
|
;;
|
|
stop)
|
|
# Make sure an instance of dbXML is running
|
|
if [ ! -e ${PID_FILE} ]; then
|
|
if [ "${AS_RC_SCRIPT}" = "yes" ]; then
|
|
echo ""
|
|
fi
|
|
echo "dbXML is not currently running"
|
|
exit 0
|
|
fi
|
|
echo "stopping dbXML...."
|
|
server_shutdown;
|
|
;;
|
|
restart)
|
|
# Make sure an instance of dbXML is running
|
|
if [ ! -e ${PID_FILE} ]; then
|
|
server_start;
|
|
else
|
|
echo "restarting dbXML...."
|
|
server_shutdown;
|
|
server_start;
|
|
fi
|
|
;;
|
|
*)
|
|
echo ""
|
|
echo "Usage: ${MYSELF} { start | restart | stop}"
|
|
echo ""
|
|
exit 64
|
|
;;
|
|
esac
|