Author: jfclere Date: Sat Apr 27 09:49:25 2013 New Revision: 1476543 URL: http://svn.apache.org/r1476543 Log: Add (back) bin/daemon.sh
Added: tomcat/tc6.0.x/trunk/bin/daemon.sh Modified: tomcat/tc6.0.x/trunk/STATUS.txt tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml tomcat/tc6.0.x/trunk/webapps/docs/setup.xml Modified: tomcat/tc6.0.x/trunk/STATUS.txt URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=1476543&r1=1476542&r2=1476543&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/STATUS.txt (original) +++ tomcat/tc6.0.x/trunk/STATUS.txt Sat Apr 27 09:49:25 2013 @@ -89,16 +89,6 @@ PATCHES PROPOSED TO BACKPORT: +1: kkolinko, rjung -1: -* Add sample Apache Commons Daemon JSVC wrapper script bin/daemon.sh that - can be used with /etc/init.d. - This file is needed, as it has been removed from Commons Daemon and thus - a reference to it in docs/setup.html became incorrect. - This copy of daemon.sh differs from Tomcat trunk one in initialization of - CLASSPATH setting, because tomcat-juli.jar has to be handled differently. - http://people.apache.org/~kkolinko/patches/2013-03-26_tc6_daemonsh.patch - +1: kkolinko, jfclere, rjung - -1: - * Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54615 Update to Eclipse JDT Compiler 4.2.2 http://people.apache.org/~kkolinko/patches/2013-03-26_tc6_eclipse422.patch Added: tomcat/tc6.0.x/trunk/bin/daemon.sh URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/bin/daemon.sh?rev=1476543&view=auto ============================================================================== --- tomcat/tc6.0.x/trunk/bin/daemon.sh (added) +++ tomcat/tc6.0.x/trunk/bin/daemon.sh Sat Apr 27 09:49:25 2013 @@ -0,0 +1,239 @@ +#!/bin/sh + +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ----------------------------------------------------------------------------- +# Commons Daemon wrapper script. +# +# $Id: daemon.sh 1202058 2011-11-15 06:37:12Z mturk $ +# ----------------------------------------------------------------------------- +# +# resolve links - $0 may be a softlink +ARG0="$0" +while [ -h "$ARG0" ]; do + ls=`ls -ld "$ARG0"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + ARG0="$link" + else + ARG0="`dirname $ARG0`/$link" + fi +done +DIRNAME="`dirname $ARG0`" +PROGRAM="`basename $ARG0`" +while [ ".$1" != . ] +do + case "$1" in + --java-home ) + JAVA_HOME="$2" + shift; shift; + continue + ;; + --catalina-home ) + CATALINA_HOME="$2" + shift; shift; + continue + ;; + --catalina-base ) + CATALINA_BASE="$2" + shift; shift; + continue + ;; + --catalina-pid ) + CATALINA_PID="$2" + shift; shift; + continue + ;; + --tomcat-user ) + TOMCAT_USER="$2" + shift; shift; + continue + ;; + * ) + break + ;; + esac +done +# OS specific support (must be 'true' or 'false'). +cygwin=false; +darwin=false; +case "`uname`" in + CYGWIN*) + cygwin=true + ;; + Darwin*) + darwin=true + ;; +esac + +# Use the maximum available, or set MAX_FD != -1 to use that +test ".$MAX_FD" = . && MAX_FD="maximum" +# Setup parameters for running the jsvc +# +test ".$TOMCAT_USER" = . && TOMCAT_USER=tomcat +# Set JAVA_HOME to working JDK or JRE +# JAVA_HOME=/opt/jdk-1.6.0.22 +# If not set we'll try to guess the JAVA_HOME +# from java binary if on the PATH +# +if [ -z "$JAVA_HOME" ]; then + JAVA_BIN="`which java 2>/dev/null || type java 2>&1`" + test -x "$JAVA_BIN" && JAVA_HOME="`dirname $JAVA_BIN`" + test ".$JAVA_HOME" != . && JAVA_HOME=`cd "$JAVA_HOME/.." >/dev/null; pwd` +else + JAVA_BIN="$JAVA_HOME/bin/java" +fi + +# Only set CATALINA_HOME if not already set +test ".$CATALINA_HOME" = . && CATALINA_HOME=`cd "$DIRNAME/.." >/dev/null; pwd` +test ".$CATALINA_BASE" = . && CATALINA_BASE="$CATALINA_HOME" +test ".$CATALINA_MAIN" = . && CATALINA_MAIN=org.apache.catalina.startup.Bootstrap +test ".$JSVC" = . && JSVC="$CATALINA_BASE/bin/jsvc" + +# Ensure that any user defined CLASSPATH variables are not used on startup, +# but allow them to be specified in setenv.sh, in rare case when it is needed. +CLASSPATH= +JAVA_OPTS= +if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then + . "$CATALINA_BASE/bin/setenv.sh" +elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then + . "$CATALINA_HOME/bin/setenv.sh" +fi + +# Add on extra jar files to CLASSPATH +# tomcat-juli.jar can be over-ridden per instance +test ".$CLASSPATH" != . && CLASSPATH="${CLASSPATH}:" +if [ "$CATALINA_BASE" != "$CATALINA_HOME" ] && [ -r "$CATALINA_BASE/bin/tomcat-juli.jar" ] ; then + CLASSPATH="$CLASSPATH$CATALINA_BASE/bin/tomcat-juli.jar:$CATALINA_HOME/bin/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar" +else + CLASSPATH="$CLASSPATH$CATALINA_HOME/bin/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar" +fi + +test ".$CATALINA_OUT" = . && CATALINA_OUT="$CATALINA_BASE/logs/catalina-daemon.out" +test ".$CATALINA_TMP" = . && CATALINA_TMP="$CATALINA_BASE/temp" + +# Set juli LogManager config file if it is present and an override has not been issued +if [ -z "$LOGGING_CONFIG" ]; then + if [ -r "$CATALINA_BASE/conf/logging.properties" ]; then + LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_BASE/conf/logging.properties" + else + # Bugzilla 45585 + LOGGING_CONFIG="-Dnop" + fi +fi + +test ".$LOGGING_MANAGER" = . && LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" +JAVA_OPTS="$JAVA_OPTS $LOGGING_MANAGER" + +# Set -pidfile +test ".$CATALINA_PID" = . && CATALINA_PID="$CATALINA_BASE/logs/catalina-daemon.pid" + +# Increase the maximum file descriptors if we can +if [ "$cygwin" = "false" ]; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ "$?" -eq 0 ]; then + # Darwin does not allow RLIMIT_INFINITY on file soft limit + if [ "$darwin" = "true" -a "$MAX_FD_LIMIT" = "unlimited" ]; then + MAX_FD_LIMIT=`/usr/sbin/sysctl -n kern.maxfilesperproc` + fi + test ".$MAX_FD" = ".maximum" && MAX_FD="$MAX_FD_LIMIT" + ulimit -n $MAX_FD + if [ "$?" -ne 0 ]; then + echo "$PROGRAM: Could not set maximum file descriptor limit: $MAX_FD" + fi + else + echo "$PROGRAM: Could not query system maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# ----- Execute The Requested Command ----------------------------------------- +case "$1" in + run ) + shift + "$JSVC" $* \ + $JSVC_OPTS \ + -java-home "$JAVA_HOME" \ + -pidfile "$CATALINA_PID" \ + -wait 10 \ + -nodetach \ + -outfile "&1" \ + -errfile "&2" \ + -classpath "$CLASSPATH" \ + "$LOGGING_CONFIG" $JAVA_OPTS $CATALINA_OPTS \ + -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \ + -Dcatalina.base="$CATALINA_BASE" \ + -Dcatalina.home="$CATALINA_HOME" \ + -Djava.io.tmpdir="$CATALINA_TMP" \ + $CATALINA_MAIN + exit $? + ;; + start ) + "$JSVC" $JSVC_OPTS \ + -java-home "$JAVA_HOME" \ + -user $TOMCAT_USER \ + -pidfile "$CATALINA_PID" \ + -wait 10 \ + -outfile "$CATALINA_OUT" \ + -errfile "&1" \ + -classpath "$CLASSPATH" \ + "$LOGGING_CONFIG" $JAVA_OPTS $CATALINA_OPTS \ + -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \ + -Dcatalina.base="$CATALINA_BASE" \ + -Dcatalina.home="$CATALINA_HOME" \ + -Djava.io.tmpdir="$CATALINA_TMP" \ + $CATALINA_MAIN + exit $? + ;; + stop ) + "$JSVC" $JSVC_OPTS \ + -stop \ + -pidfile "$CATALINA_PID" \ + -classpath "$CLASSPATH" \ + -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \ + -Dcatalina.base="$CATALINA_BASE" \ + -Dcatalina.home="$CATALINA_HOME" \ + -Djava.io.tmpdir="$CATALINA_TMP" \ + $CATALINA_MAIN + exit $? + ;; + version ) + "$JSVC" \ + -java-home "$JAVA_HOME" \ + -pidfile "$CATALINA_PID" \ + -classpath "$CLASSPATH" \ + -errfile "&2" \ + -version \ + -check \ + $CATALINA_MAIN + if [ "$?" = 0 ]; then + "$JAVA_BIN" \ + -classpath "$CATALINA_HOME/lib/catalina.jar" \ + org.apache.catalina.util.ServerInfo + fi + exit $? + ;; + * ) + echo "Unknown command: \`$1'" + echo "Usage: $PROGRAM ( commands ... )" + echo "commands:" + echo " run Start Tomcat without detaching from console" + echo " start Start Tomcat" + echo " stop Stop Tomcat" + echo " version What version of commons daemon and Tomcat" + echo " are you running?" + exit 1 + ;; +esac Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=1476543&r1=1476542&r2=1476543&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Sat Apr 27 09:49:25 2013 @@ -133,6 +133,10 @@ <subsection name="Other"> <changelog> <update> + Add sample Apache Commons Daemon JSVC wrapper script bin/daemon.sh that + can be used with /etc/init.d. (kkolinko) + </update> + <update> In the build configuration: introduce property "tomcat.output" that is used to specify location of the build output directory. This simplifies configuration if someone wants to move the <code>output</code> directory Modified: tomcat/tc6.0.x/trunk/webapps/docs/setup.xml URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/setup.xml?rev=1476543&r1=1476542&r2=1476543&view=diff ============================================================================== --- tomcat/tc6.0.x/trunk/webapps/docs/setup.xml (original) +++ tomcat/tc6.0.x/trunk/webapps/docs/setup.xml Sat Apr 27 09:49:25 2013 @@ -140,11 +140,9 @@ information. In particular, the <code>-debug</code> option is useful to debug issues running jsvc.</p> - <p>The file <code> - $CATALINA_HOME/bin/commons-daemon-1.0.x-native-src/unix/native/Tomcat5.sh - </code> can be used as a template for starting Tomcat automatically at - boot time from <code>/etc/init.d</code>. The file is currently setup for - running Tomcat 5.5.x, so it will be necessary to edit it a little.</p> + <p>The file <code>$CATALINA_HOME/bin/daemon.sh</code> can be used as a + template for starting Tomcat automatically at boot time from + <code>/etc/init.d</code> with jsvc.</p> <p>Note that the Commons-Daemon JAR file must be on your runtime classpath to run Tomcat in this manner. The Commons-Daemon JAR file is in the --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org