libreccm-legacy/ccm-core/bin/ccm

81 lines
2.6 KiB
Bash

#!/bin/bash
# This script is a wrapper for calling the CCM commandline utilites
# used for maintence of a CCM installation.
# Variables for directories.
# The path are relative to the bin directory of the CCM installation. This
# means that this script has to be executed from the bin directory. If you
# want to use this script from another directory, or include it into your
# PATH, you have to adjust the paths.
CCM_LIB_DIR="../lib"
CCM_HOME_DIR="../.."
# We need CATALINA_HOME environment variable to access Tomcat's lib dir.
if [[ -z "$CATALINA_HOME" ]] ; then
echo CATALINE_HOME not set. Guessing ...
if [ -f /etc/tomcat6/tomcat6.conf ]
then
. /etc/tomcat6/tomcat6.conf
echo
echo Using CATALINA_HOME = $CATALINA_HOME
echo If this doesn\'t work use
echo export CATALINA_HOME=/path/to/tomcat/installation
echo to point us to the correct location.
else
echo
echo ===================================================
echo Environment variable CATALINA_HOME not set. We need
echo to know the location of Tomcat\'s lib directory.
echo So use
echo export CATALINA_HOME=/path/to/tomcat/installation
echo to point us to the correct location and run ccm
echo again.
echo ===================================================
echo
exit 1
fi
fi
CATALINA_LIB_DIR="${CATALINA_HOME}/lib"
# Script logic starts here
echo "checking if all paths are correct..."
files=$(ls ${CCM_LIB_DIR}/ccm-core*.jar 2> /dev/null | wc -l)
if [ "$files" == "0" ]
then
echo "Error: CCM_LIB_DIR is invalid \(no ccm-core*.jar file\(s\) in CCM_LIB_DIR\)."
exit 1
fi
if [ ! -d ${CCM_HOME_DIR}/WEB-INF ]
then
echo "Error: CCM_HOME_DIR path is invalid \(no WEB-INF directory in CCM_HOME_DIR\)."
exit 1
fi
if [ ! -f ${CATALINA_LIB_DIR}/catalina.jar ]
then
echo "Error: CATALINA_LIB_DIR is invalid \(no catalina.jar in CATALINA_LIB_DIR\)."
exit 1
fi
#Convert to absolute path:
CCM_HOME_DIR=`cd ${CCM_HOME_DIR}; pwd`
echo "Starting CCM-Tool..."
if [ "$1" = "prepare" ] ; then
echo
echo =====================================
echo $1:
echo - Initializes ccm after installation.
echo - Execute only ONCE!
echo =====================================
echo
param="load --interactive --packagekeys-file bundle/cfg/package-key.list --parameter-file bundle/cfg/integration.properties"
java -cp ${CCM_LIB_DIR}/"*":${CATALINA_LIB_DIR}/"*" -Dccm.home=${CCM_HOME_DIR} "com.arsdigita.packaging.MasterTool" $param
else
java -cp ${CCM_LIB_DIR}/"*":${CATALINA_LIB_DIR}/"*" -Dccm.home=${CCM_HOME_DIR} "com.arsdigita.packaging.MasterTool" "$@"
fi