diff options
author | 2011-02-14 23:09:40 +0000 | |
---|---|---|
committer | 2011-02-14 23:09:40 +0000 | |
commit | e82ad2afef56ed6fbcc4e5bf3e4d482b95ae5639 (patch) | |
tree | 83db007c6b3bb053fca91eb36e13942f6c103b9d /www-servers/tomcat/files | |
parent | ppc stable wrt #344827, #354237 (diff) | |
download | gentoo-2-e82ad2afef56ed6fbcc4e5bf3e4d482b95ae5639.tar.gz gentoo-2-e82ad2afef56ed6fbcc4e5bf3e4d482b95ae5639.tar.bz2 gentoo-2-e82ad2afef56ed6fbcc4e5bf3e4d482b95ae5639.zip |
www-servers/tomcat: fixed bug #326979
(Portage version: 2.1.9.39/cvs/Linux x86_64)
Diffstat (limited to 'www-servers/tomcat/files')
-rw-r--r-- | www-servers/tomcat/files/6/tomcat.init.3 | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/www-servers/tomcat/files/6/tomcat.init.3 b/www-servers/tomcat/files/6/tomcat.init.3 new file mode 100644 index 000000000000..9cde76382c7c --- /dev/null +++ b/www-servers/tomcat/files/6/tomcat.init.3 @@ -0,0 +1,124 @@ +#!/sbin/runscript +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/files/6/tomcat.init.3,v 1.1 2011/02/14 23:09:40 fordfrog Exp $ + +opts="${opts} forcestop" + +init_env_vars() { + # Populate JAVA_HOME + JAVA_HOME=`java-config --jre-home` + + # Set some sane defaults + if [ -z "${CATALINA_TMPDIR}" ] ; then + CATALINA_TMPDIR="${CATALINA_BASE}"/temp + fi + JPDA_TRANSPORT=${JPDA_TRANSPORT:="dt_socket"} + JPDA_ADDRESS=${JPDA_ADDRESS:="8000"} + JPDA_OPTS=${JPDA_OPTS="-Xdebug -Xrunjdwp:transport=${JPDA_TRANSPORT},address=${JPDA_ADDRESS},server=y,suspend=n"} + + # Activate Logging + if [ -r "${CATALINA_HOME}"/bin/tomcat-juli.jar ]; then + JAVA_OPTS="${JAVA_OPTS} -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager \ + -Djava.util.logging.config.file=${CATALINA_BASE}/conf/logging.properties" + fi + + # Populate the classpath + unset CLASSPATH + CLASSPATH="${CATALINA_HOME}/lib:${JAVA_HOME}/lib/tools.jar" + if [ -n "${JSSE_HOME}" ]; then + CLASSPATH="${CLASSPATH}:${JSSE_HOME}/lib/jcert.jar:${JSSE_HOME}/lib/jnet.jar:${JSSE_HOME}/lib/jsse.jar" + fi + CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/bootstrap.jar:${CATALINA_HOME}/bin/tomcat-juli.jar" + + OPTS_CP="${JAVA_OPTS} ${CATALINA_OPTS} -classpath ${CLASSPATH}" + + CATALINA_ARGS="-Dcatalina.base=${CATALINA_BASE} \ + -Dcatalina.home=${CATALINA_HOME} \ + -Djava.io.tmpdir=${CATALINA_TMPDIR} \ + org.apache.catalina.startup.Bootstrap " + + if [ ! -f "${CATALINA_BASE}logs/catalina.out" ]; then + touch "${CATALINA_BASE}logs/catalina.out" + chown "${CATALINA_USER}:${CATALINA_GROUP}" "${CATALINA_BASE}logs/catalina.out" + fi +} + +ssd() { + local exec=${1} + shift + local args="--start --quiet --background \ + --chdir "${CATALINA_TMPDIR}" \ + --chuid ${CATALINA_USER}:${CATALINA_GROUP} \ + --make-pidfile --pidfile /var/run/tomcat-6.pid" + + # bug #243348 + if [ -e /etc/init.d/sysfs ] ; then + args="${args} \ + --stdout ${CATALINA_BASE}/logs/catalina.out \ + --stderr ${CATALINA_BASE}/logs/catalina.out" + start-stop-daemon ${args} --exec ${exec} -- ${OPTS_CP} "$@" ${CATALINA_ARGS} ${TOMCAT_START} + else + start-stop-daemon ${args} --name ${exec} --startas /bin/bash -- -c \ + "exec ${exec} ${OPTS_CP} $@ ${CATALINA_ARGS} ${TOMCAT_START} >> \ + \"$CATALINA_BASE/logs/catalina.out\" 2>&1" + fi + return $? +} + +depend() { + use dns logger net +} + +start() { + ebegin "Starting Tomcat" + init_env_vars + + if [ ! -e "${CATALINA_TMPDIR}" ]; then + eerror "CATALINA_TMPDIR does not exist. Unable to start tomcat." + eerror "Please see /etc/conf.d/tomcat-6 for more information." + eend 1 + fi + + # Figure out what args to pass start_helper based on TOMCAT_START + if [ "${TOMCAT_START}" = "debug" ] ; then + ssd ${JAVA_HOME}/bin/jdb \ + -sourcepath ${CATALINA_HOME}/../../jakarta-tomcat-catalina/catalina/src/share + elif [ "${TOMCAT_START}" = "-security debug" ] ; then + ssd ${JAVA_HOME}/bin/jdb \ + -sourcepath ${CATALINA_HOME}/../../jakarta-tomcat-catalina/catalina/src/share \ + -Djava.security.manager \ + -Djava.security.policy=${CATALINA_BASE}/conf/catalina.policy + elif [ "${TOMCAT_START}" = "jpda start" ] ; then + ssd ${JAVA_HOME}/bin/java ${JPDA_OPTS} + elif [ "${TOMCAT_START}" = "start" ] ; then + ssd ${JAVA_HOME}/bin/java + elif [ "${TOMCAT_START}" = "-security start" ] ; then + ssd ${JAVA_HOME}/bin/java \ + -Djava.security.manager \ + -Djava.security.policy=${CATALINA_BASE}/conf/catalina.policy + else + eerror "Invalid TOMCAT_START variable value, or one is not set" + eerror "Please see /etc/conf.d/tomcat-6 for more information" + eend 1 + fi + eend $? +} + +stop() { + ebegin "Stopping Tomcat" + init_env_vars + start-stop-daemon --stop --quiet --retry=60 \ + --pidfile /var/run/tomcat-6.pid \ + --exec ${JAVA_HOME}/bin/java -- ${OPTS_CP} ${CATALINA_args} stop ${STD_OUT} + eend $? +} +forcestop() { + ebegin "Forcing Tomcat to Stop" + start-stop-daemon --stop --quiet --retry=60 \ + --pidfile /var/run/tomcat-6.pid --signal=9 + if service_started "${SVCNAME}"; then + mark_service_stopped "${SVCNAME}" + fi + eend $? +} |