JSVC_OPTS="-classpath ${CLASSPATH} \
-home ${JAVA_HOME} \
- -pidfile /var/run/tomcat.pid \
- -outfile /var/log/tomcat/catalina.out \
- -errfile /var/log/tomcat/catalina.err"
+ -pidfile /var/run/tomcat.pid"
if is_yes "${SECURITY_MANAGER}"; then
CATALINA_OPTS="$CATALINA_OPTS \
-Dcatalina.home=${CATALINA_HOME} \
-Djava.io.tmpdir=${CATALINA_TMPDIR} \
-Djava.library.path=/usr/lib64:/usr/lib \
+ -Djava.util.logging.config.file="${CATALINA_BASE}/conf/logging.properties" \
+ -Djava.util.logging.manager="org.apache.juli.ClassLoaderLogManager" \
$CATALINA_OPTS \
- org.apache.catalina.startup.Bootstrap
+ org.apache.catalina.startup.Bootstrap >> /var/log/tomcat/catalina.out 2>&1
[ $? -ne 0 ] && RETVAL=1
if [ $RETVAL -eq 0 ]; then
ok
--- /dev/null
+--- commons-logging-1.1.1-src/build.xml~ 2010-06-09 20:47:36.000000000 +0200
++++ commons-logging-1.1.1-src/build.xml 2010-06-09 20:48:11.000000000 +0200
+@@ -94,7 +94,7 @@
+ <property name="component.title" value="Logging Wrapper Library"/>
+
+ <!-- The current version number of this component -->
+- <property name="component.version" value="1.1.1-SNAPSHOT"/>
++ <property name="component.version" value="1.1.1"/>
+
+ <!-- The base directory for compilation targets -->
+ <property name="build.home" value="${basedir}/target"/>
+--- commons-logging-1.1.1-src/build.xml~ 2007-11-22 00:27:52.000000000 +0100
++++ commons-logging-1.1.1-src/build.xml 2010-06-09 20:27:15.000000000 +0200
+@@ -146,7 +146,8 @@
+ <pathelement location="${build.home}/classes"/>
+ <pathelement location="${junit.jar}"/>
+ <pathelement location="${logkit.jar}"/>
+- <pathelement location="${avalon-framework.jar}"/>
++ <pathelement location="${avalon-framework-impl.jar}"/>
++ <pathelement location="${avalon-framework-api.jar}"/>
+ <pathelement location="${servletapi.jar}"/>
+ </path>
+
+@@ -167,7 +168,8 @@
+ <pathelement location="${build.home}/tests"/>
+ <pathelement location="${junit.jar}"/>
+ <pathelement location="${logkit.jar}"/>
+- <pathelement location="${avalon-framework.jar}"/>
++ <pathelement location="${avalon-framework-impl.jar}"/>
++ <pathelement location="${avalon-framework-api.jar}"/>
+ <pathelement location="${conf.home}"/>
+ <pathelement location="${servletapi.jar}"/>
+ </path>
+@@ -246,7 +248,7 @@
+ <!-- Note: log4j13 support is not available in the 1.1 release. -->
+ <!--Log4j13: ${log4j13.jar}-->
+ LogKit: ${logkit.jar}
+- Avalon-Framework: ${avalon-framework.jar}
++ Avalon-Framework: ${avalon-framework-impl.jar} + ${avalon-framework-api.jar}
+ </echo>
+
+ <mkdir dir="${build.home}"/>
following URIEncoding attribute to the connector definition in
$TOMCAT_HOME/conf/server.xml.
---- apache-tomcat-6.0.28-src/conf/server.xml~ 2010-06-29 17:33:40.000000000 +0300
-+++ apache-tomcat-6.0.28-src/conf/server.xml 2010-07-20 09:12:35.045149469 +0300
-@@ -68,12 +68,14 @@
+--- a/conf/server.xml.orig 2010-06-13 16:55:18.000000000 +0200
++++ b/conf/server.xml 2010-07-20 13:51:33.000000000 +0200
+@@ -66,12 +66,14 @@
-->
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
-->
<!-- Define a SSL HTTP/1.1 Connector on port 8443
-@@ -82,12 +84,12 @@
+@@ -80,12 +82,12 @@
described in the APR documentation -->
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
+
+package org.apache.catalina.startup;
+
-+import java.util.Hashtable;
+import java.util.Enumeration;
++import java.util.Hashtable;
+
+import javax.naming.Context;
+import javax.naming.NamingEnumeration;
+ /**
+ * The set of home directories for all defined users, keyed by username.
+ */
-+ private Hashtable homes = new Hashtable();
++ private Hashtable<String,String> homes = new Hashtable<String,String>();
+
+ /**
+ * The UserConfig listener with which we are associated.
+ * @param user User for which a home directory should be retrieved
+ */
+ public String getHome(String user) {
-+ return ((String) homes.get(user));
++ return homes.get(user);
+ }
+
+
+ /**
+ * Return an enumeration of the usernames defined on this server.
+ */
-+ public Enumeration getUsers() {
++ public Enumeration<String> getUsers() {
+ return (homes.keys());
+ }
+
+ }
+ } while ((cookie != null) && (cookie.length != 0));
+ } catch (Exception e) {
-+ // e.printStackTrace();
++ e.printStackTrace();
+ }
+ }
+}
# $Id$
# -----------------------------------------------------------------------------
-# ----- Vesion Control Flags -----
-version.major=6
-version.minor=0
-version.build=0
-version.patch=0
-version=6.0-snapshot
-
# ----- Default Base Path for Dependent Packages -----
-rpm.javadir=/usr/share/java
-rpm.libdir=/usr/lib
+# Please note this path must be absolute, not relative,
+# as it is referenced with different working directory
+# contexts by the various build scripts.
+base.path=/usr/share/java
-compile.source=1.5
-compile.target=1.5
+compile.source=1.6
+compile.target=1.6
compile.debug=true
+# ----- Webservices - JAX RPC -----
+jaxrpc-lib.version=1.1-rc4
+jaxrpc-lib.jar=${base.path}/geronimo-spec-jaxrpc.jar
+
+# ----- Webservices - WSDL4J -----
+wsdl4j-lib.jar=${base.path}/wsdl4j.jar
-ant.jar=${rpm.javadir}/ant.jar
-jdt.jar=${rpm.javadir}/org.eclipse.jdt.core.jar
-jasper-jdt.jar=${rpm.javadir}/org.eclipse.jdt.core.jar
+# ----- Eclipse JDT, version 3.2 or later -----
+jdt.jar=${base.path}/org.eclipse.jdt.core.jar
-tomcat-dbcp.jar=${rpm.javadir}/commons-dbcp-tomcat5.jar
-commons-pool.home=${rpm.javadir}/commons-pool-1.4-src
-commons-pool-src.loc=${base-commons.loc}/pool/source/commons-pool-1.4-src.tar.gz
-commons-logging.jar=${rpm.javadir}/commons-logging.jar
-commons-collections.jar=${rpm.javadir}/commons-collections.jar
-commons-daemon.jar=${rpm.javadir}/commons-daemon.jar
+# ----- Commons Daemon, version 1.0-Alpha or later -----
+commons-daemon.jar=${base.path}/commons-daemon.jar
-# XXX Are these jars really needed?
-# jaxrpc-src.loc=${rpm.javadir}/geronimo-spec-jaxrpc.jar
-# wsdl4j-src.loc=${rpm.javadir}/wsdl4j-1.6.1.jar
+# ----- JUnit Unit Test Suite, version 3.7 or later -----
+junit.jar=${base.path}/junit.jar
-# commons-daemon.jsvc.tar.gz=${commons-daemon.lib}/bin/jsvc.tar.gz
+# What about following?
+# # ----- JSON Libraries (for bayeux module) -----
+# json-lib.jar=${base.path}/json.jar
+#
+# # ----- Dojo Toolkit (for bayeux module) -----
+# dojo-js.home=${base.path}/dojo-release-1.1.1
+# dojo-js.loc=http://download.dojotoolkit.org/release-1.1.1/dojo-release-1.1.1.tar.gz
+# dojo-js.jar=${dojo-js.home}/dojo/dojo.js
---- build.xml~ 2010-06-29 16:33:40.000000000 +0200
-+++ build.xml 2010-07-09 18:26:01.000000000 +0200
-@@ -471,13 +471,6 @@
+--- apache-tomcat-7.0.8-src/build.xml.orig 2011-02-04 13:52:30.000000000 +0100
++++ apache-tomcat-7.0.8-src/build.xml 2011-02-05 13:57:36.775158905 +0100
+@@ -421,51 +421,7 @@
+
+ </target>
- <target name="deploy" depends="build-only,build-docs,warn.dbcp">
+- <target name="validate" depends="download-validate" if="${execute.validate}">
+- <!-- Required so we can cache checkstyle results -->
+- <mkdir dir="${tomcat.output}/res/checkstyle"/>
+-
+- <taskdef resource="checkstyletask.properties"
+- classpath="${checkstyle.jar}" />
+- <checkstyle config="res/checkstyle/checkstyle.xml">
+- <fileset dir="." >
+- <patternset refid="text.files" />
+- <include name="**/*.bat"/>
+- <include name="**/*.sh"/>
+- <exclude name="bin/setenv.*"/>
+- <exclude name=".*/**"/>
+- <exclude name="output/**"/>
+- <exclude name="modules/**"/>
+- <exclude name="**/*.mdl"/>
+- <exclude name="**/*_2.xml"/>
+- <exclude name="res/checkstyle/header-al2.txt"/>
+- <!-- Exclude auto-generated files -->
+- <exclude name="java/org/apache/el/parser/ELParser*.java" />
+- <exclude name="java/org/apache/el/parser/JJTELParserState.java" />
+- <exclude name="java/org/apache/el/parser/Node.java" />
+- <exclude name="java/org/apache/el/parser/ParseException.java" />
+- <exclude name="java/org/apache/el/parser/SimpleCharStream.java" />
+- <exclude name="java/org/apache/el/parser/Token*.java" />
+- <!-- Exclude these else Gump runs validate on them -->
+- <exclude name="**/org/apache/tomcat/dbcp/**"/>
+- <exclude name="**/tomcat-deps/**"/>
+- </fileset>
+- </checkstyle>
+- <!-- javax package checks -->
+- <checkstyle config="res/checkstyle/javax-checkstyle.xml">
+- <fileset dir="java/javax" >
+- <include name="**/*.java"/>
+- </fileset>
+- </checkstyle>
+- <!-- org package checks -->
+- <checkstyle config="res/checkstyle/org-checkstyle.xml">
+- <fileset dir="java/org" >
+- <include name="**/*.java"/>
+- </fileset>
+- </checkstyle>
+- </target>
+-
+- <target name="compile" depends="build-prepare,download-compile,validate">
++ <target name="compile" depends="build-prepare">
+
+ <!-- Compile internal server components -->
+ <javac srcdir="java" destdir="${tomcat.classes}"
+@@ -744,13 +703,6 @@
+ <target name="deploy" depends="package,build-docs"
+ description="Default. Builds a working Tomcat instance">
- <copy tofile="${tomcat.build}/bin/tomcat-native.tar.gz"
- file="${tomcat-native.tar.gz}" />
<!-- Copy scripts -->
<copy todir="${tomcat.build}/bin">
<fileset dir="bin">
+@@ -1006,7 +958,7 @@
+
+ </target>
+
+- <target name="test-compile" depends="compile,download-test-compile" >
++ <target name="test-compile" depends="compile" >
+ <mkdir dir="${test.classes}"/>
+ <!-- Compile -->
+ <javac srcdir="test" destdir="${test.classes}"
+@@ -1103,52 +1055,10 @@
+ <mkdir dir="${tomcat.extras}/webservices"/>
+ </target>
+
+- <target name="extras-commons-logging-prepare"
+- depends="extras-prepare"
+- description="Prepare to build web services extras package">
+-
+- <antcall target="downloadfile-2">
+- <param name="sourcefile.1" value="${commons-logging-src.loc.1}"/>
+- <param name="sourcefile.2" value="${commons-logging-src.loc.2}"/>
+- <param name="destfile" value="${commons-logging-src.tar.gz}"/>
+- <param name="destdir" value="${commons-logging.home}"/>
+- </antcall>
+-
+- <antcall target="downloadfile">
+- <param name="sourcefile" value="${avalon-framework.loc}"/>
+- <param name="destfile" value="${avalon-framework.jar}"/>
+- <param name="destdir" value="${avalon-framework.home}"/>
+- </antcall>
+-
+- <antcall target="downloadfile">
+- <param name="sourcefile" value="${log4j.loc}"/>
+- <param name="destfile" value="${log4j.jar}"/>
+- <param name="destdir" value="${log4j.home}"/>
+- </antcall>
+-
+- <antcall target="downloadfile">
+- <param name="sourcefile" value="${logkit.loc}"/>
+- <param name="destfile" value="${logkit.jar}"/>
+- <param name="destdir" value="${logkit.home}"/>
+- </antcall>
+-
+- <antcall target="downloadfile">
+- <param name="sourcefile" value="${servletapi.loc}"/>
+- <param name="destfile" value="${servletapi.jar}"/>
+- <param name="destdir" value="${servletapi.home}"/>
+- </antcall>
+-
+- </target>
+-
+ <target name="extras-commons-logging"
+- depends="extras-commons-logging-prepare,compile,build-manifests"
++ depends="extras-prepare,compile,build-manifests"
+ description="Build JULI for log4j extras package">
+
+- <gunzip src="${commons-logging-src.tar.gz}"
+- dest="${tomcat.extras}/logging/commons-logging-src.tar"/>
+- <untar src="${tomcat.extras}/logging/commons-logging-src.tar"
+- dest="${tomcat.extras}/logging/"/>
+-
+ <replace dir="${tomcat.extras}/logging/commons-logging-${commons-logging.version}-src/src/java/org/apache/commons"
+ encoding="ISO-8859-1">
+ <replacefilter token="org.apache.commons"
+@@ -1170,7 +1080,8 @@
+ file="${tomcat.extras}/logging/commons-logging-${commons-logging.version}-src/build.xml" />
+
+ <copy todir="${tomcat.extras}/logging/commons-logging-${commons-logging.version}-src">
+- <fileset file="${avalon-framework.jar}" />
++ <fileset file="${avalon-framework-api.jar}" />
++ <fileset file="${avalon-framework-impl.jar}" />
+ <fileset file="${log4j.jar}" />
+ <fileset file="${logkit.jar}" />
+ <fileset file="${servletapi.jar}" />
+@@ -1250,18 +1161,6 @@
+ depends="extras-prepare"
+ description="Prepare to build web services extras package">
+
+- <antcall target="downloadfile">
+- <param name="sourcefile" value="${jaxrpc-lib.loc}"/>
+- <param name="destfile" value="${jaxrpc-lib.jar}"/>
+- <param name="destdir" value="${jaxrpc-lib.home}"/>
+- </antcall>
+-
+- <antcall target="downloadfile">
+- <param name="sourcefile" value="${wsdl4j-lib.loc}"/>
+- <param name="destfile" value="${wsdl4j-lib.jar}"/>
+- <param name="destdir" value="${wsdl4j-lib.home}"/>
+- </antcall>
+-
+ <copy file="${jaxrpc-lib.jar}"
+ tofile="${tomcat.extras}/webservices/jaxrpc.jar" />
+ <copy file="${wsdl4j-lib.jar}"
+@@ -1368,7 +1267,7 @@
+
+ </target>
+
+- <target name="dist-prepare" depends="download-dist">
++ <target name="dist-prepare">
+ <mkdir dir="${tomcat.dist}"/>
+ <mkdir dir="${tomcat.dist}/bin"/>
+ <mkdir dir="${tomcat.dist}/conf"/>
+@@ -2092,301 +1991,7 @@
+ description="Delete the default output folders">
+ <delete dir="${tomcat.output}" />
+ </target>
+-
+
+- <!-- ================ Download and dependency building =================== -->
+-
+- <target name="download-validate"
+- description="Download components necessary to validate source"
+- if="${execute.validate}">
+-
+- <antcall target="downloadzip">
+- <param name="sourcefile" value="${checkstyle.loc}"/>
+- <param name="destfile" value="${checkstyle.jar}"/>
+- <param name="destdir" value="${base.path}"/>
+- </antcall>
+-
+- </target>
+-
+- <target name="download-compile"
+- description="Download (and build) components necessary to compile" >
+-
+- <antcall target="downloadfile-2">
+- <param name="sourcefile.1" value="${tomcat-native.loc.1}"/>
+- <param name="sourcefile.2" value="${tomcat-native.loc.2}"/>
+- <param name="destfile" value="${tomcat-native.tar.gz}"/>
+- <param name="destdir" value="${tomcat-native.home}"/>
+- </antcall>
+-
+- <!-- Download Commons Daemon -->
+- <antcall target="downloadgz-2">
+- <param name="sourcefile.1" value="${commons-daemon.bin.loc.1}"/>
+- <param name="sourcefile.2" value="${commons-daemon.bin.loc.2}"/>
+- <param name="destfile" value="${commons-daemon.jar}"/>
+- </antcall>
+-
+- <antcall target="downloadfile-2">
+- <param name="sourcefile.1" value="${commons-daemon.native.src.loc.1}"/>
+- <param name="sourcefile.2" value="${commons-daemon.native.src.loc.2}"/>
+- <param name="destfile" value="${commons-daemon.native.src.tgz}"/>
+- <param name="destdir" value="${commons-daemon.home}"/>
+- </antcall>
+-
+- <!-- Download src and build Tomcat DBCP bundle -->
+- <antcall target="downloadgz-2">
+- <param name="sourcefile.1" value="${commons-pool-src.loc.1}"/>
+- <param name="sourcefile.2" value="${commons-pool-src.loc.2}"/>
+- <param name="destfile" value="${commons-pool.home}/build.xml" />
+- </antcall>
+- <antcall target="downloadgz-2">
+- <param name="sourcefile.1" value="${commons-dbcp-src.loc.1}"/>
+- <param name="sourcefile.2" value="${commons-dbcp-src.loc.2}"/>
+- <param name="destfile" value="${commons-dbcp.home}/build.xml" />
+- </antcall>
+- <mkdir dir="${tomcat-dbcp.home}"/>
+- <condition property="no.build.dbcp">
+- <and>
+- <available file="${tomcat-dbcp.jar}"/>
+- <available file="${tomcat-dbcp-src.jar}"/>
+- </and>
+- </condition>
+- <antcall target="build-tomcat-dbcp" />
+-
+- <!-- Download JDT (Eclipse compiler) -->
+- <antcall target="downloadfile-2">
+- <param name="sourcefile.1" value="${jdt.loc.1}"/>
+- <param name="sourcefile.2" value="${jdt.loc.2}"/>
+- <param name="destfile" value="${jdt.jar}"/>
+- <param name="destdir" value="${jdt.home}"/>
+- </antcall>
+- </target>
+-
+- <target name="download-test-compile"
+- description="Download additional components for the tests" >
+-
+- <antcall target="downloadzip">
+- <param name="sourcefile" value="${junit.loc}"/>
+- <param name="destfile" value="${junit.jar}"/>
+- <param name="destdir" value="${base.path}"/>
+- </antcall>
+-
+- </target>
+-
+- <target name="download-dist"
+- description="Download additional components for a distribution" >
+-
+- <antcall target="downloadfile-2">
+- <param name="sourcefile.1" value="${tomcat-native.dll.1}/win32/tcnative-1.dll"/>
+- <param name="sourcefile.2" value="${tomcat-native.dll.2}/win32/tcnative-1.dll"/>
+- <param name="destfile" value="${tomcat-native.dll.win32}"/>
+- <param name="destdir" value="${tomcat-native.home}"/>
+- </antcall>
+-
+- <antcall target="downloadfile-2">
+- <param name="sourcefile.1" value="${tomcat-native.dll.1}/win64/x64/tcnative-1.dll"/>
+- <param name="sourcefile.2" value="${tomcat-native.dll.2}/win64/x64/tcnative-1.dll"/>
+- <param name="destfile" value="${tomcat-native.dll.x64}"/>
+- <param name="destdir" value="${tomcat-native.home}"/>
+- </antcall>
+-
+- <antcall target="downloadfile-2">
+- <param name="sourcefile.1" value="${tomcat-native.dll.1}/win64/ia64/tcnative-1.dll"/>
+- <param name="sourcefile.2" value="${tomcat-native.dll.2}/win64/ia64/tcnative-1.dll"/>
+- <param name="destfile" value="${tomcat-native.dll.i64}"/>
+- <param name="destdir" value="${tomcat-native.home}"/>
+- </antcall>
+-
+- <antcall target="downloadzip-2">
+- <param name="sourcefile.1" value="${commons-daemon.native.win.loc.1}"/>
+- <param name="sourcefile.2" value="${commons-daemon.native.win.loc.2}"/>
+- <param name="destfile" value="${commons-daemon.native.win.mgr.exe}"/>
+- <param name="destdir" value="${commons-daemon.native.win.home}"/>
+- </antcall>
+-
+- <antcall target="downloadzip">
+- <param name="sourcefile" value="${nsis.loc}"/>
+- <param name="destfile" value="${nsis.exe}"/>
+- <param name="destdir" value="${nsis.home}/.."/>
+- </antcall>
+-
+- </target>
+-
+-
+- <!-- =============== Targets for dependencies that need to =============== -->
+- <!-- ================ be built rather than used directly ================ -->
+-
+- <target name="build-tomcat-dbcp" depends="build-manifests" unless="no.build.dbcp">
+- <copy todir="${tomcat-dbcp.home}">
+- <fileset dir="${commons-pool.home}">
+- <include name="**/*.java" />
+- <exclude name="**/test/**" />
+- </fileset>
+- <fileset dir="${commons-dbcp.home}">
+- <include name="**/*.java" />
+- <exclude name="**/test/**" />
+- <exclude name="**/managed/**" />
+- </fileset>
+- </copy>
+- <replace dir="${tomcat-dbcp.home}/src/java/org/apache/commons"
+- encoding="ISO-8859-1">
+- <replacefilter token="org.apache.commons"
+- value="org.apache.tomcat.dbcp" />
+- </replace>
+- <replace dir="${tomcat-dbcp.home}/src/java/org/apache/commons/pool/impl"
+- encoding="ISO-8859-1">
+- <replacefilter token="enum"
+- value="enumeration" />
+- </replace>
+-
+- <mkdir dir="${tomcat-dbcp.home}/src/java/org/apache/tomcat/dbcp" />
+- <move todir="${tomcat-dbcp.home}/src/java/org/apache/tomcat/dbcp">
+- <fileset dir="${tomcat-dbcp.home}/src/java/org/apache/commons" />
+- </move>
+- <mkdir dir="${tomcat-dbcp.home}/classes"/>
+- <javac destdir="${tomcat-dbcp.home}/classes"
+- optimize="off"
+- debug="${compile.debug}"
+- deprecation="${compile.deprecation}"
+- source="${compile.source}"
+- target="${compile.target}"
+- sourcepath="${tomcat-dbcp.home}/src/java"
+- srcdir="${tomcat-dbcp.home}/src/java"
+- encoding="ISO-8859-1"
+- includeantruntime="false">
+- <include name="**" />
+- </javac>
+- <jarIt jarfile="${tomcat-dbcp.jar}"
+- filesDir="${tomcat-dbcp.home}/classes"
+- filesId="files.tomcat-dbcp" />
+- <jarIt jarfile="${tomcat-dbcp-src.jar}"
+- filesDir="${tomcat-dbcp.home}/src/java"
+- filesId="files.tomcat-dbcp" />
+- </target>
+-
+- <!-- =============== Utility Targets to support downloads ================ -->
+-
+- <target name="proxyflags">
+- <!-- check proxy parameters. -->
+- <condition property="useproxy">
+- <equals arg1="${proxy.use}" arg2="on" />
+- </condition>
+- </target>
+-
+- <target name="setproxy" depends="proxyflags" if="useproxy">
+- <taskdef name="setproxy"
+- classname="org.apache.tools.ant.taskdefs.optional.net.SetProxy" />
+- <setproxy proxyhost="${proxy.host}" proxyport="${proxy.port}"
+- proxyuser="${proxy.user}" proxypassword="${proxy.password}" />
+- <echo message="Using ${proxy.host}:${proxy.port} to download ${sourcefile}"/>
+- </target>
+-
+- <target name="testexist">
+- <echo message="Testing for ${destfile}"/>
+- <available file="${destfile}" property="exist"/>
+- </target>
+-
+- <target name="downloadgz" unless="exist" depends="setproxy,testexist">
+- <!-- Download and extract the package -->
+- <get src="${sourcefile}" dest="${base.path}/file.tar.gz" />
+- <gunzip src="${base.path}/file.tar.gz" dest="${base.path}/file.tar"/>
+- <untar src="${base.path}/file.tar" dest="${base.path}"/>
+- <delete file="${base.path}/file.tar"/>
+- <delete file="${base.path}/file.tar.gz"/>
+- </target>
+-
+- <target name="downloadgz-2" unless="exist" depends="setproxy,testexist">
+- <!-- Download and extract the package from the two alternative locations -->
+- <delete file="${base.path}/file.tar" quiet="true" />
+- <delete file="${base.path}/file.tar.gz" quiet="true" />
+- <antcall target="trydownload">
+- <param name="sourcefile" value="${sourcefile.1}" />
+- <param name="destfile" value="${base.path}/file.tar.gz" />
+- </antcall>
+- <antcall target="trydownload">
+- <param name="sourcefile" value="${sourcefile.2}" />
+- <param name="destfile" value="${base.path}/file.tar.gz" />
+- </antcall>
+- <gunzip src="${base.path}/file.tar.gz" dest="${base.path}/file.tar"/>
+- <untar src="${base.path}/file.tar" dest="${base.path}"/>
+- <delete file="${base.path}/file.tar"/>
+- <delete file="${base.path}/file.tar.gz"/>
+- </target>
+-
+- <target name="downloadzip" unless="exist" depends="setproxy,testexist">
+- <!-- Download and extract the package -->
+- <get src="${sourcefile}" dest="${base.path}/file.zip" />
+- <mkdir dir="${destdir}" />
+- <unzip src="${base.path}/file.zip" dest="${destdir}"/>
+- <delete file="${base.path}/file.zip"/>
+- </target>
+-
+- <target name="downloadzip-2" unless="exist" depends="testexist">
+- <!-- Download and extract the package from the two alternative locations -->
+- <delete file="${base.path}/file.zip" quiet="true" />
+- <antcall target="trydownload">
+- <param name="sourcefile" value="${sourcefile.1}" />
+- <param name="destfile" value="${base.path}/file.zip" />
+- </antcall>
+- <antcall target="trydownload">
+- <param name="sourcefile" value="${sourcefile.2}" />
+- <param name="destfile" value="${base.path}/file.zip" />
+- </antcall>
+- <mkdir dir="${destdir}" />
+- <unzip src="${base.path}/file.zip" dest="${destdir}"/>
+- <delete file="${base.path}/file.zip"/>
+- </target>
+-
+- <target name="downloadfile" unless="exist" depends="setproxy,testexist">
+- <!-- Download extract the file -->
+- <mkdir dir="${destdir}" />
+- <get src="${sourcefile}" dest="${destfile}" />
+- </target>
+-
+- <target name="downloadfile-2" unless="exist" depends="testexist">
+- <!-- Download the file from the two alternative locations -->
+- <mkdir dir="${destdir}" />
+-
+- <antcall target="trydownload">
+- <param name="sourcefile" value="${sourcefile.1}" />
+- </antcall>
+-
+- <antcall target="trydownload">
+- <param name="sourcefile" value="${sourcefile.2}" />
+- </antcall>
+-
+- <available file="${destfile}" property="exist"/>
+- <fail unless="exist" message="Failed to download [${destfile}]. All download sources are unavailable." />
+- </target>
+-
+- <target name="trydownload.check" depends="setproxy">
+- <condition property="trydownload.run">
+- <and>
+- <not>
+- <available file="${destfile}" />
+- </not>
+- <http url="${sourcefile}" />
+- </and>
+- </condition>
+- </target>
+-
+- <target name="trydownload" if="trydownload.run" depends="trydownload.check">
+- <!-- Downloads a file if not yet downloaded and the source URL is available -->
+- <get src="${sourcefile}" dest="${destfile}" />
+- </target>
+-
+- <!-- ============================ IDE Support ============================ -->
+-
+- <target name="ide-eclipse" depends="deploy, extras-webservices-prepare"
+- description="Prepares the source tree to be built in Eclipse">
+-
+- <!-- Copy the sample project files into the root directory -->
+- <copy file="${tomcat.home}/res/ide-support/eclipse/eclipse.project" tofile="${tomcat.home}/.project"/>
+- <copy file="${tomcat.home}/res/ide-support/eclipse/eclipse.classpath" tofile="${tomcat.home}/.classpath"/>
+-
+- <echo>Eclipse project files created.
+-Read the Building page on the Apache Tomcat documentation site for details on how to configure your Eclipse workplace.</echo>
+- </target>
+-
+ <!-- ======================= Macros, Taskdefs etc ======================== -->
+
+ <macrodef name="jarIt" description="utility macro for standard JAR packaging">
--- apache-tomcat-6.0.29-src/conf/server.xml~ 2010-11-17 17:41:58.451654998 +0100
+++ apache-tomcat-6.0.29-src/conf/server.xml 2010-11-21 15:05:44.259477500 +0100
-@@ -142,6 +142,45 @@
+@@ -142,6 +142,46 @@
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
-->
+ -->
+ <!--
+ Use LDAP search to identify valid users
++ You may need to add ldap server's CA cert to global java keystore
+ -->
+ <!--
+ <Listener className="org.apache.catalina.startup.UserConfig"
# Conditional build:
%bcond_without javadoc # skip building javadocs
-%bcond_without webservices # skip building webservices
-%define jspapiver 2.1
-%define servletapiver 2.5
+%define jspapiver 2.2
+%define servletapiver 3.0
+
+# Java Commons Logging version. Must be >= 1.1.
+%define jclver 1.1.1
%include /usr/lib/rpm/macros.java
Summary: Web server and Servlet/JSP Engine, RI for Servlet %{servletapiver}/JSP %{jspapiver} API
Summary(pl.UTF-8): Serwer www i silnik Servlet/JSP będący wzorcową implementacją API Servlet %{servletapiver}/JSP %{jspapiver}
Name: tomcat
-Version: 6.0.32
+Version: 7.0.11
Release: 1
License: Apache v2.0
Group: Networking/Daemons/Java
-Source0: http://www.apache.org/dist/tomcat/tomcat-6/v%{version}/src/apache-%{name}-%{version}-src.tar.gz
-# Source0-md5: 19a1eaa9c9938b520d3c360d8cf4af22
+Source0: http://www.apache.org/dist/tomcat/tomcat-7/v%{version}/src/apache-%{name}-%{version}-src.tar.gz
+# Source0-md5: b23694415d55a8b289f701b239d22f1d
Source1: apache-%{name}.init
Source2: apache-%{name}.sysconfig
Source3: %{name}-build.properties
Source12: %{name}-context-manager.xml
Source13: %{name}-context-host-manager.xml
Source14: %{name}-context-examples.xml
+Source100: http://www.apache.org/dist/commons/logging/source/commons-logging-%{jclver}-src.tar.gz
+# Source100-md5: e5cfa8cca13152d7545fde6b1783c60a
Patch0: %{name}-build.xml.patch
-Patch1: %{name}-extras.xml.patch
-Patch2: server.xml-URIEncoding-utf8.patch
-Patch3: %{name}-LDAPUserDatabase.patch
-Patch4: %{name}-catalina.policy-javadir.patch
-Patch5: %{name}-userdir.patch
+Patch1: server.xml-URIEncoding-utf8.patch
+Patch2: %{name}-LDAPUserDatabase.patch
+Patch3: %{name}-catalina.policy-javadir.patch
+Patch4: %{name}-userdir.patch
+Patch100: jcl-build.xml.patch
URL: http://tomcat.apache.org/
BuildRequires: ant >= 1.5.3
BuildRequires: ant-trax
+BuildRequires: eclipse-jdt >= 3.2
+BuildRequires: java(JSR109)
+BuildRequires: java-avalon-logkit
BuildRequires: java-commons-daemon >= 1.0
BuildRequires: java-commons-dbcp-tomcat5 >= 0:1.1
BuildRequires: java-commons-pool-tomcat5
-BuildRequires: java-eclipse-jdt >= 3.2
-%if %{with webservices}
-BuildRequires: java(JSR109)
BuildRequires: java-geronimo-spec-jaxrpc
-%endif
BuildRequires: java-jdbc-mysql
+BuildRequires: java-junit
+BuildRequires: java-log4j
BuildRequires: java-mail
BuildRequires: jdk
BuildRequires: jpackage-utils
BuildRequires: rpm-javaprov
-BuildRequires: rpmbuild(macros) >= 1.300
+BuildRequires: rpmbuild(macros) >= 1.553
+BuildRequires: sed >= 4.0
Requires(post,preun): /sbin/chkconfig
Requires(postun): /usr/sbin/groupdel
Requires(postun): /usr/sbin/userdel
Tomcat is developed in an open and participatory environment and
released under the Apache Software License. Tomcat is intended to be a
collaboration of the best-of-breed developers from around the world.
-We invite you to participate in this open development project.
%description -l pl.UTF-8
Tomcat to kontener serwletowy używany przez oficjalną implementację
%package webservices
Summary: Web Services support (JSR 109)
+Summary(pl.UTF-8): Wsparcie dla Web Services (JSR 109)
Group: Libraries/Java
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: java(JSR109)
Factories for JSR 109 which may be used to resolve web services
references.
+%description webservices -l pl.UTF-8
+Wsparcie dla JSR 109 (Web Services).
+
+%package jmx
+Summary: JMX remote interface for Tomcat
+Summary(pl.UTF-8): Zdalny interfejs JMX dla Tomcata
+Group: Libraries/Java
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description jmx
+JMX remote interface for Tomcat.
+
+%description jmx -l pl.UTF-8
+Zdalny interfejs JMX dla Tomcata.
+
%package -n java-tomcat-catalina
-Summary: Tomcat's servlet container
+Summary: Tomcat's servlet engine
+Summary(pl.UTF-8): Silnik servletów dla Tomcata.
Group: Libraries/Java
Requires: jpackage-utils
Catalina is Tomcat's servlet container. Catalina implements Sun
Microsystems' specifications for servlet and JavaServer Pages (JSP).
+%description -n java-tomcat-catalina -l pl.UTF-8
+Bibliotek Javy zawierające silnik servletów i JSP tomcata.
+
%package -n java-tomcat-coyote
Summary: Tomcat HTTP connector
+Summary(pl.UTF-8): Interfejs HTTP dla Tomcata
Group: Libraries/Java
Requires: jpackage-utils
forwards the request to the Tomcat Engine to process the request and
send back a response to the requesting client.
+%description -n java-tomcat-coyote -l pl.UTF-8
+Biblioteki Javy zawierające serwer HTTP 1.1 dla Tomcata.
+
%package -n java-tomcat-jasper
Summary: JSP compiler
Summary(pl.UTF-8): Kompilator JSP
Provides: java(servlet) = %{servletapiver}
Obsoletes: jakarta-servletapi5
Obsoletes: java-servletapi5
+Obsoletes: jakarta-servletapi5
%description -n java-servletapi
Implementation classes of the Java Servlet and JSP APIs (packages
javax.servlet.http, javax.servlet.jsp i java.servlet.jsp.tagext).
%prep
-%setup -q -n apache-%{name}-%{version}-src
-%patch0 -p0
-%patch1 -p0
+%setup -q -a100 -n apache-%{name}-%{version}-src
+%patch0 -p1
+%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
+
+# Prepare java-commmons-logging sources
+mkdir -p output/extras/logging
+mv commons-logging-%{jclver}-src output/extras/logging
+cd output/extras/logging/commons-logging-%{jclver}-src
+%undos build.xml
+%patch100 -p1
+cd -
# we don't need those scripts
rm bin/*.bat
rm bin/{startup,shutdown}.sh
cp -a %{SOURCE3} build.properties
+cat >>build.properties <<EOF
+
+log4j.jar=%(find-jar log4j)
+log4j12.jar=%(find-jar log4j)
+junit.jar=%(find-jar junit)
+logkit.jar=%(find-jar avalon-logkit)
+avalon-framework-impl.jar=%(find-jar avalon-framework-impl.jar)
+avalon-framework-api.jar=%(find-jar avalon-framework-api.jar)
+servletapi.jar=$(pwd)/output/build/lib/servlet-api.jar
+EOF
%build
-TOPDIR=$(pwd)
+export LC_ALL=en_US
+# Base package
%ant \
-Drpm.javadir=%{_javadir} \
-Drpm.libdir=%{_libdir}
-%if %{with javadoc}
-%ant -f dist.xml dist-javadoc
-%endif
-
-%if %{with webservices}
+# Extras
mkdir -p output/extras/webservices
ln -sf %{_javadir}/geronimo-spec-jaxrpc.jar output/extras/webservices/jaxrpc.jar
ln -sf %{_javadir}/jsr109.jar output/extras/webservices/wsdl4j.jar
-%ant -f extras.xml webservices
+%ant -Dcommons-logging-version=%{jclver} extras
+
+# Javadoc
+%if %{with javadoc}
+%ant javadoc
%endif
%install
mv $TOMCATDIR/lib/jasper*.jar $RPM_BUILD_ROOT%{_javadir}
mv $TOMCATDIR/lib/jsp-api.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api-%{jspapiver}.jar
mv $TOMCATDIR/lib/servlet-api.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api-%{servletapiver}.jar
-mv $TOMCATDIR/lib/catalina.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-catalina.jar
-mv $TOMCATDIR/lib/tomcat-coyote.jar $RPM_BUILD_ROOT%{_javadir}/tomcat6-coyote.jar
+mv $TOMCATDIR/lib/catalina.jar $RPM_BUILD_ROOT%{_javadir}/tomcat-catalina.jar
+mv $TOMCATDIR/lib/tomcat-coyote.jar $RPM_BUILD_ROOT%{_javadir}/tomcat-coyote.jar
+mv $TOMCATDIR/lib/tomcat-util.jar $RPM_BUILD_ROOT%{_javadir}/tomcat-util.jar
+mv $TOMCATDIR/lib/tomcat-api.jar $RPM_BUILD_ROOT%{_javadir}/tomcat-api.jar
ln -s jsp-api-%{jspapiver}.jar $RPM_BUILD_ROOT%{_javadir}/jsp-api.jar
ln -s servlet-api-%{servletapiver}.jar $RPM_BUILD_ROOT%{_javadir}/servlet-api.jar
ln -sf %{_javadir}/jsp-api-%{jspapiver}.jar $TOMCATDIR/lib/jsp-api.jar
ln -sf %{_javadir}/servlet-api-%{servletapiver}.jar $TOMCATDIR/lib/servlet-api.jar
-ln -sf %{_javadir}/tomcat6-catalina.jar $TOMCATDIR/lib/catalina.jar
-ln -sf %{_javadir}/tomcat6-coyote.jar $TOMCATDIR/lib/tomcat-coyote.jar
+ln -sf %{_javadir}/tomcat-catalina.jar $TOMCATDIR/lib/catalina.jar
+ln -sf %{_javadir}/tomcat-util.jar $TOMCATDIR/lib/util.jar
+ln -sf %{_javadir}/tomcat-api.jar $TOMCATDIR/lib/api.jar
+
+ln -sf %{_javadir}/tomcat-coyote.jar $TOMCATDIR/lib/tomcat-coyote.jar
-%if %{with webservices}
-install ../extras/catalina-ws.jar $TOMCATDIR/lib/catalina-ws.jar
+cp -a ../extras/catalina-ws.jar $TOMCATDIR/lib/catalina-ws.jar
+cp -a ../extras/catalina-jmx-remote.jar $TOMCATDIR/lib/catalina-jmx-remote.jar
+cp -a ../extras/tomcat-juli-adapters.jar $RPM_BUILD_ROOT%{_javadir}/tomcat-juli-adapters.jar
+cp -a ../extras/tomcat-juli.jar $RPM_BUILD_ROOT%{_javadir}/tomcat-juli.jar
+ln -sf %{_javadir}/tomcat-juli-adapters.jar $TOMCATDIR/lib/juli-adapters.jar
+ln -sf %{_javadir}/tomcat-juli.jar $TOMCATDIR/lib/juli.jar
ln -s %{_javadir}/geronimo-spec-jaxrpc.jar $TOMCATDIR/lib/jaxrpc.jar
ln -s %{_javadir}/jsr109.jar $TOMCATDIR/lib/jsr109.jar
-%endif
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc KEYS RELEASE-NOTES RELEASE-PLAN-6.0.txt RUNNING.txt
+%doc KEYS RELEASE-NOTES TOMCAT-7-RELEASE-PLAN.txt
%attr(754,root,root) /etc/rc.d/init.d/tomcat
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
%{_sysconfdir}/tomcat
%{_tomcatdir}/bin/*.jar
%dir %{_tomcatdir}/lib
%{_tomcatdir}/lib/annotations-api.jar
+%{_tomcatdir}/lib/api.jar
%{_tomcatdir}/lib/catalina-ant.jar
%{_tomcatdir}/lib/catalina-ha.jar
%{_tomcatdir}/lib/catalina.jar
%{_tomcatdir}/lib/jasper-el.jar
%{_tomcatdir}/lib/jasper.jar
%{_tomcatdir}/lib/jsp-api.jar
+%{_tomcatdir}/lib/juli-adapters.jar
+%{_tomcatdir}/lib/juli.jar
%{_tomcatdir}/lib/mail.jar
%{_tomcatdir}/lib/mysql-connector-java.jar
%{_tomcatdir}/lib/org.eclipse.jdt.core.jar
%{_tomcatdir}/lib/tomcat-i18n-es.jar
%{_tomcatdir}/lib/tomcat-i18n-fr.jar
%{_tomcatdir}/lib/tomcat-i18n-ja.jar
+%{_tomcatdir}/lib/util.jar
%dir %{_tomcatdir}/webapps
%files webapp-docs
%defattr(644,root,root,755)
-%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/docs.xml
+%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/docs.xml
%{_tomcatdir}/webapps/docs
%files webapp-manager
%defattr(644,root,root,755)
-%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
+%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
%{_tomcatdir}/webapps/manager
%files webapp-host-manager
%defattr(644,root,root,755)
-%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
+%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
%{_tomcatdir}/webapps/host-manager
%files webapp-examples
%defattr(644,root,root,755)
-%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/examples.xml
+%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/examples.xml
%{_tomcatdir}/webapps/examples
-%if %{with webservices}
%files webservices
%defattr(644,root,root,755)
%{_tomcatdir}/lib/catalina-ws.jar
%{_tomcatdir}/lib/jsr109.jar
%{_tomcatdir}/lib/jaxrpc.jar
-%endif
+
+%files jmx
+%defattr(644,root,root,755)
+%{_tomcatdir}/lib/catalina-jmx-remote.jar
%files -n java-tomcat-jasper
%defattr(644,root,root,755)
%files -n java-tomcat-catalina
%defattr(644,root,root,755)
-%{_javadir}/tomcat6-catalina.jar
+%{_javadir}/tomcat-api.jar
+%{_javadir}/tomcat-catalina.jar
+%{_javadir}/tomcat-juli-adapters.jar
+%{_javadir}/tomcat-juli.jar
+%{_javadir}/tomcat-util.jar
%files -n java-tomcat-coyote
%defattr(644,root,root,755)
-%{_javadir}/tomcat6-coyote.jar
+%{_javadir}/tomcat-coyote.jar
%files -n java-servletapi
%defattr(644,root,root,755)