ports/databases/dbXML/files/dbxmlctl
2002-03-05 00:43:18 +00:00

180 lines
4 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
;;
esacEND-of-dbXML/files/dbxmlctl
echo x - dbXML/files/patch-ad
sed 's/^X//' >dbXML/files/patch-ad << 'END-of-dbXML/files/patch-ad'
--- bin/dbxml.orig Mon Sep 24 21:50:14 2001
+++ bin/dbxml Mon Oct 22 02:08:32 2001
@@ -1,8 +1,12 @@
#!/bin/sh
-if test -z $DBXML_HOME; then
- echo "\$DBXML_HOME Is Not Set"
+DBXML_HOME=%%PREFIX%%/share/java/dbXML
+
+if test -z $JAVA_HOME; then
+ echo "Warning: JAVA_HOME environment variable is not set."
exit
+else
+ PATH=$JAVA_HOME/bin:$PATH
fi
CMD_HOME=`dirname $0`
END-of-dbXML/files/patch-ad
echo x - dbXML/pkg-deinstall
sed 's/^X//' >dbXML/pkg-deinstall << 'END-of-dbXML/pkg-deinstall'
#!/bin/sh
# $FreeBSD: /tmp/pcvs/ports/databases/dbXML/files/Attic/dbxmlctl,v 1.1 2002-03-05 00:43:18 znerd Exp $
#
if [ "$2" != "POST-DEINSTALL" ]; then
exit 0
fi
USER=dbxml
if pw usershow "${USER}" 2>/dev/null 1>&2; then
if pw userdel ${USER}; then
echo "Delete user/group \"${USER}\"."
else
echo "Deleting user/group \"${USER}\" failed..."
exit 1
fi
fi
exit 0
END-of-dbXML/pkg-deinstall
exit