summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam Thomson <wltjr@gentoo.org>2008-02-05 19:40:04 +0000
committerWilliam Thomson <wltjr@gentoo.org>2008-02-05 19:40:04 +0000
commit7983effc6e8b8bd5087dc822d17a4d20e98ef936 (patch)
tree3e49aed2a37ff9d247468e178a2887d3dfdd4caa /www-servers/tomcat
parentstable x86, bug 209001 (diff)
downloadgentoo-2-7983effc6e8b8bd5087dc822d17a4d20e98ef936.tar.gz
gentoo-2-7983effc6e8b8bd5087dc822d17a4d20e98ef936.tar.bz2
gentoo-2-7983effc6e8b8bd5087dc822d17a4d20e98ef936.zip
Bumped 5.5 to latest release
(Portage version: 2.1.4.1)
Diffstat (limited to 'www-servers/tomcat')
-rw-r--r--www-servers/tomcat/ChangeLog9
-rw-r--r--www-servers/tomcat/files/5.5/26-main_tomcat_catalina_jasper_build_xml.patch429
-rw-r--r--www-servers/tomcat/tomcat-5.5.26.ebuild333
3 files changed, 770 insertions, 1 deletions
diff --git a/www-servers/tomcat/ChangeLog b/www-servers/tomcat/ChangeLog
index 286ab59cda4c..0042ae8cc6a2 100644
--- a/www-servers/tomcat/ChangeLog
+++ b/www-servers/tomcat/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for www-servers/tomcat
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/ChangeLog,v 1.177 2008/01/21 13:28:57 caster Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/ChangeLog,v 1.178 2008/02/05 19:40:04 wltjr Exp $
+
+*tomcat-5.5.26 (05 Feb 2008)
+
+ 05 Feb 2008; William L. Thomson Jr. <wltjr@gentoo.org>
+ +files/5.5/26-main_tomcat_catalina_jasper_build_xml.patch,
+ +tomcat-5.5.26.ebuild:
+ Bumped 5.5 to latest release
21 Jan 2008; Vlastimil Babka <caster@gentoo.org> tomcat-5.5.25.ebuild,
tomcat-5.5.25-r1.ebuild:
diff --git a/www-servers/tomcat/files/5.5/26-main_tomcat_catalina_jasper_build_xml.patch b/www-servers/tomcat/files/5.5/26-main_tomcat_catalina_jasper_build_xml.patch
new file mode 100644
index 000000000000..80f211d1c45e
--- /dev/null
+++ b/www-servers/tomcat/files/5.5/26-main_tomcat_catalina_jasper_build_xml.patch
@@ -0,0 +1,429 @@
+diff -Naur apache-tomcat-5.5.26-src_orig/build/build.xml apache-tomcat-5.5.26-src/build/build.xml
+--- apache-tomcat-5.5.26-src_orig/build/build.xml 2008-02-05 12:47:08.000000000 -0500
++++ apache-tomcat-5.5.26-src/build/build.xml 2008-02-05 13:06:06.000000000 -0500
+@@ -161,6 +161,7 @@
+
+ <!-- ====================== DEPLOY: Copy Static Files =================== -->
+ <target name="deploy-static" depends="init">
++<!--
+ <copy file="${jsp-api.jar}" todir="${tomcat.build}/common/lib"/>
+ <copy file="${servlet-api.jar}" todir="${tomcat.build}/common/lib"/>
+
+@@ -179,9 +180,10 @@
+ <copy tofile="${tomcat.build}/bin/tomcat-native.tar.gz"
+ file="${tomcat-native.tar.gz}" />
+
+- <!-- <copy todir="${tomcat.build}/common/lib" file="${ant.jar}"/>
+- <copy todir="${tomcat.build}/common/lib" file="${ant-launcher.jar}"/> -->
++ <copy todir="${tomcat.build}/common/lib" file="${ant.jar}"/>
++ <copy todir="${tomcat.build}/common/lib" file="${ant-launcher.jar}"/>
+ <copy todir="${tomcat.build}/common/lib" file="${jasper-compiler-jdt.jar}"/>
++-->
+ </target>
+
+ <!-- ====================== Build all components =================== -->
+@@ -413,15 +415,14 @@
+ <target name="build-webapps-precompile"
+ depends="init" description="Precompile webapps" >
+
++ <antcall target="build-webapp-precompile-admin" />
++ <antcall target="build-webapp-precompile-examples" />
++
+ <!-- JSPC -->
+- <property name="admin.base" location="${tomcat.build}/server/webapps/admin" />
+ <property name="ROOT.base" location="${tomcat.build}/webapps/ROOT" />
+- <property name="jsp-examples.base" location="${tomcat.build}/webapps/jsp-examples" />
+
+- <mkdir dir="${admin.base}/WEB-INF/src/admin" />
+ <mkdir dir="${ROOT.base}/WEB-INF/src" />
+ <mkdir dir="${ROOT.base}/WEB-INF/classes" />
+- <mkdir dir="${jsp-examples.base}/WEB-INF/src" />
+
+ <path id="jspc.classpath">
+ <pathelement location="${java.home}/../lib/tools.jar"/>
+@@ -455,23 +456,6 @@
+ addWebXmlMappings="true"
+ outputDir="${ROOT.base}/WEB-INF/src" />
+
+- <jasper2
+- compile="false"
+- validateXml="false"
+- uriroot="${jsp-examples.base}"
+- webXmlFragment="${jsp-examples.base}/WEB-INF/generated_web.xml"
+- addWebXmlMappings="true"
+- outputDir="${jsp-examples.base}/WEB-INF/src" />
+-
+- <jasper2
+- package="admin"
+- compile="false"
+- validateXml="false"
+- uriroot="${admin.base}"
+- webXmlFragment="${admin.base}/WEB-INF/generated_web.xml"
+- addWebXmlMappings="true"
+- outputDir="${admin.base}/WEB-INF/src/admin" />
+-
+ <javac destdir="${ROOT.base}/WEB-INF/classes"
+ optimize="off"
+ debug="${compile.debug}"
+@@ -492,64 +476,92 @@
+ </classpath>
+ <include name="**" />
+ </javac>
++ </target>
++
++ <target name="build-webapp-precompile-admin" unless="admin.precompile.notrequired">
++ <property name="admin.base" location="${tomcat.build}/server/webapps/admin" />
++ <mkdir dir="${admin.base}/WEB-INF/src/admin" />
++ <taskdef classname="org.apache.jasper.JspC" name="jasper2" >
++ <classpath refid="jspc.classpath"/>
++ </taskdef>
++ <jasper2
++ package="admin"
++ compile="false"
++ validateXml="false"
++ uriroot="${admin.base}"
++ webXmlFragment="${admin.base}/WEB-INF/generated_web.xml"
++ addWebXmlMappings="true"
++ outputDir="${admin.base}/WEB-INF/src/admin" />
++ <javac destdir="${admin.base}/WEB-INF/classes"
++ optimize="off"
++ debug="${compile.debug}"
++ deprecation="${compile.deprecation}"
++ source="${compile.source}"
++ failonerror="false"
++ srcdir="${admin.base}/WEB-INF/src"
++ excludes="**/*.smap">
++ <classpath>
++ <pathelement location="${java.home}/../lib/tools.jar"/>
++ <fileset dir="${tomcat.build}/server/lib">
++ <include name="*.jar"/>
++ </fileset>
++ <fileset dir="${admin.base}/WEB-INF/lib">
++ <include name="*.jar"/>
++ </fileset>
++ <fileset dir="${tomcat.build}/common/lib">
++ <include name="*.jar"/>
++ </fileset>
++ <pathelement location="${tomcat.build}/classes"/>
++ </classpath>
++ <include name="admin/**" />
++ </javac>
++ </target>
+
++ <target name="build-webapp-precompile-examples" unless="examples.precompile.notrequired">
++ <property name="jsp-examples.base" location="${tomcat.build}/webapps/jsp-examples" />
++ <mkdir dir="${jsp-examples.base}/WEB-INF/src" />
++ <taskdef classname="org.apache.jasper.JspC" name="jasper2" >
++ <classpath refid="jspc.classpath"/>
++ </taskdef>
++ <jasper2
++ compile="false"
++ validateXml="false"
++ uriroot="${jsp-examples.base}"
++ webXmlFragment="${jsp-examples.base}/WEB-INF/generated_web.xml"
++ addWebXmlMappings="true"
++ outputDir="${jsp-examples.base}/WEB-INF/src" />
+ <mkdir dir="${jsp-examples.base}/WEB-INF/src/tags"/>
+ <copy todir="${jsp-examples.base}/WEB-INF/classes">
+ <fileset dir="${jsp-examples.base}/WEB-INF/src">
+ <include name="**/*.class" />
+ </fileset>
+ </copy>
+-
+ <javac destdir="${jsp-examples.base}/WEB-INF/classes"
+- optimize="off"
+- debug="${compile.debug}"
+- deprecation="${compile.deprecation}"
+- source="${compile.source}"
+- failonerror="false"
++ optimize="off"
++ debug="${compile.debug}"
++ deprecation="${compile.deprecation}"
++ source="${compile.source}"
++ failonerror="false"
+ srcdir="${jsp-examples.base}/WEB-INF/src"
+- excludes="**/*.smap">
+- <classpath>
+- <pathelement location="${java.home}/../lib/tools.jar"/>
+- <fileset dir="${tomcat.build}/server/lib">
+- <include name="*.jar"/>
+- </fileset>
++ excludes="**/*.smap">
++ <classpath>
++ <pathelement location="${java.home}/../lib/tools.jar"/>
++ <fileset dir="${tomcat.build}/server/lib">
++ <include name="*.jar"/>
++ </fileset>
+ <fileset dir="${jsp-examples.base}/WEB-INF/lib">
+- <include name="*.jar"/>
+- </fileset>
+- <fileset dir="${tomcat.build}/common/lib">
+- <include name="*.jar"/>
+- </fileset>
+- <pathelement location="${tomcat.build}/classes"/>
++ <include name="*.jar"/>
++ </fileset>
++ <fileset dir="${tomcat.build}/common/lib">
++ <include name="*.jar"/>
++ </fileset>
++ <pathelement location="${tomcat.build}/classes"/>
+ <pathelement location="${jsp-examples.base}/WEB-INF/classes"/>
+- </classpath>
++ </classpath>
+ <include name="**" />
+ <exclude name="tags/**" />
+- </javac>
+-
+- <javac destdir="${admin.base}/WEB-INF/classes"
+- optimize="off"
+- debug="${compile.debug}"
+- deprecation="${compile.deprecation}"
+- source="${compile.source}"
+- failonerror="false"
+- srcdir="${admin.base}/WEB-INF/src"
+- excludes="**/*.smap">
+- <classpath>
+- <pathelement location="${java.home}/../lib/tools.jar"/>
+- <fileset dir="${tomcat.build}/server/lib">
+- <include name="*.jar"/>
+- </fileset>
+- <fileset dir="${admin.base}/WEB-INF/lib">
+- <include name="*.jar"/>
+- </fileset>
+- <fileset dir="${tomcat.build}/common/lib">
+- <include name="*.jar"/>
+- </fileset>
+- <pathelement location="${tomcat.build}/classes"/>
+- </classpath>
+- <include name="admin/**" />
+- </javac>
+- </target>
++ </javac>
++ </target>
+
+ <target name="build-catalina" depends="init"
+ description="Builds catalina">
+@@ -676,7 +688,7 @@
+ <param name="sourcefile" value="${commons-collections-src.loc}"/>
+ <param name="destfile" value="${tomcat-dbcp.jar}" />
+ </antcall>
+- -->
++
+ <antcall target="downloadgz">
+ <param name="sourcefile" value="${commons-pool-src.loc}"/>
+ <param name="destfile" value="${tomcat-dbcp.jar}" />
+@@ -694,6 +706,7 @@
+ <param name="destdir" value="${base.path}"/>
+ </antcall>
+ <antcall target="build-jasper-compiler-jdt" />
++-->
+ </target>
+
+ <target name="build-tomcat-dbcp">
+@@ -773,14 +786,7 @@
+ </jar>
+ </target>
+
+- <target name="build-webapps" depends="init"
+- description="build webapps">
+-
+- <echo>========== Building: webapps </echo>
+-
+- <mkdir dir="${tomcat.build}/webapps" />
+- <mkdir dir="${tomcat.build}/server/webapps" />
+-
++ <target name="build-examples" unless="examples.build.notrequired">
+ <!-- The build files are far too difficult to hack - just build it and copy -->
+ <ant dir="${api.home}/jsr154" target="dist">
+ </ant>
+@@ -798,6 +804,17 @@
+ <exclude name="WEB-INF/tagPlugins.xml" />
+ </fileset>
+ </copy>
++ </target>
++
++ <target name="build-webapps" depends="init"
++ description="build webapps">
++
++ <echo>========== Building: webapps </echo>
++
++ <mkdir dir="${tomcat.build}/webapps" />
++ <mkdir dir="${tomcat.build}/server/webapps" />
++
++ <antcall target="build-examples" />
+
+ <ant dir="${catalina.home}/webapps/ROOT" target="build-main">
+ <property name="webapps.build" value="${tomcat.build}/webapps" />
+@@ -869,14 +886,7 @@
+ filtering="true" />
+
+ <!-- Build JARs for webapps classes -->
+- <mkdir dir="${tomcat.build}/server/webapps/admin/WEB-INF/lib" />
+- <jar jarfile="${tomcat.build}/server/webapps/admin/WEB-INF/lib/catalina-admin.jar"
+- index="true">
+- <fileset dir="${tomcat.build}/server/webapps/admin/WEB-INF/classes">
+- <include name="**/*.class" />
+- <include name="**/*.properties" />
+- </fileset>
+- </jar>
++ <antcall target="fix-admin-webapp" />
+ <mkdir dir="${tomcat.build}/server/webapps/manager/WEB-INF/lib" />
+ <jar jarfile="${tomcat.build}/server/webapps/manager/WEB-INF/lib/catalina-manager.jar"
+ index="true">
+@@ -915,9 +925,19 @@
+ todir="${tomcat.build}/conf/Catalina/localhost" />
+ <copy file="${tomcat.build}/server/webapps/host-manager/host-manager.xml"
+ todir="${tomcat.build}/conf/Catalina/localhost" />
++ </target>
++
++ <target name="fix-admin-webapp" unless="admin.build.notrequired">
++ <mkdir dir="${tomcat.build}/server/webapps/admin/WEB-INF/lib" />
++ <jar jarfile="${tomcat.build}/server/webapps/admin/WEB-INF/lib/catalina-admin.jar"
++ index="true">
++ <fileset dir="${tomcat.build}/server/webapps/admin/WEB-INF/classes">
++ <include name="**/*.class" />
++ <include name="**/*.properties" />
++ </fileset>
++ </jar>
+ <copy file="${tomcat.build}/server/webapps/admin/admin.xml"
+ todir="${tomcat.build}/conf/Catalina/localhost" />
+-
+ </target>
+
+ <!-- ====================== Embed target =================== -->
+@@ -1060,11 +1080,11 @@
+ <!-- ====================== Compat target =================== -->
+
+ <target name="compat" description="Create compatibility binaries for JREs before 1.5" >
+-
++<!--
+ <copy todir="${tomcat.compat}/common/endorsed" file="${xercesImpl.jar}"/>
+ <copy todir="${tomcat.compat}/common/endorsed" file="${xml-apis.jar}"/>
+ <copy tofile="${tomcat.compat}/bin/jmx.jar" file="${jmx.jar}"/>
+-
++-->
+ </target>
+
+ <!-- ====================== DEPLOY: Deploy Components =================== -->
+@@ -1108,11 +1128,11 @@
+ <fileset dir="${api.home}/jsr154/build/examples"/>
+ </copy>
+
+- <!-- Copy Unix JSVC from commons-daemon -->
++ <!-- Copy Unix JSVC from commons-daemon
+ <copy file="${commons-daemon.jsvc.tar.gz}"
+ tofile="${tomcat.dist}/bin/jsvc.tar.gz" />
+ <copy todir="${tomcat.build}/bin" file="${commons-daemon.jar}" />
+-
++ -->
+ <echo>Target: Webapps precompilation ...</echo>
+
+ <antcall target="build-admin"/>
+@@ -1213,11 +1233,11 @@
+ <target name="run-tester"
+ description="Catalina Tests" depends="dist-tester">
+
+- <!-- For Java 1.4 -->
++ <!-- For Java 1.4
+ <copy file="${jmx.jar}" tofile="${tomcat.build}/bin/jmx.jar" />
+ <copy todir="${tomcat.build}/common/endorsed" file="${xercesImpl.jar}"/>
+ <copy todir="${tomcat.build}/common/endorsed" file="${xml-apis.jar}"/>
+-
++ -->
+ <parallel>
+
+ <java classname="LauncherBootstrap" fork="yes">
+@@ -1898,7 +1918,7 @@
+ description="Download binary packages" >
+ <mkdir dir="${base.path}" />
+
+- <!-- Download any sub package or tools needed. -->
++ <!-- Download any sub package or tools needed.
+ <antcall target="downloadgz">
+ <param name="sourcefile" value="${commons-beanutils.loc}"/>
+ <param name="destfile" value="${commons-beanutils.jar}"/>
+@@ -1935,7 +1955,6 @@
+ </antcall>
+
+ <antcall target="downloadgz">
+- <!-- xerces2 brings 2 files, test for one of them -->
+ <param name="sourcefile" value="${xerces.loc}"/>
+ <param name="destfile" value="${xml-apis.jar}"/>
+ </antcall>
+@@ -1977,7 +1996,7 @@
+ <param name="destfile" value="${tomcat-native.tar.gz}"/>
+ <param name="destdir" value="${tomcat-native.home}"/>
+ </antcall>
+-
++ -->
+ <!-- Build the dependencies that are not yet released -->
+ <antcall target="build-depends"/>
+
+diff -Naur apache-tomcat-5.5.26-src_orig/build.xml apache-tomcat-5.5.26-src/build.xml
+--- apache-tomcat-5.5.26-src_orig/build.xml 2008-02-05 12:47:07.000000000 -0500
++++ apache-tomcat-5.5.26-src/build.xml 2008-02-05 13:06:35.000000000 -0500
+@@ -81,13 +81,10 @@
+
+ <target name="checkout"
+ description="Update or checkout required sources from SVN">
+-
++<!--
+ <echo level="info"
+ message="If the checkout fails, see http://tomcat.apache.org/svn.html and http://subversion.tigris.org/faq.html#proxy" />
+
+- <!-- Bugzilla 37977: http://issues.apache.org/bugzilla/show_bug.cgi?id=37977 -->
+- <!-- hackish: inputstring="t${line.separator}" is t+<enter> for svn -->
+- <!-- to temporarily accept the certificate of svn.apache.org. -->
+ <exec dir="${basedir}"
+ executable="svn"
+ inputstring="t${line.separator}"
+@@ -96,7 +93,7 @@
+ <arg value="${svnroot}/${current.loc}" />
+ <arg value="${basedir}" />
+ </exec>
+-
++-->
+ </target>
+
+ <!-- *************** UTILITY TARGETS *************** -->
+diff -Naur apache-tomcat-5.5.26-src_orig/container/catalina/build.xml apache-tomcat-5.5.26-src/container/catalina/build.xml
+--- apache-tomcat-5.5.26-src_orig/container/catalina/build.xml 2008-02-05 12:47:08.000000000 -0500
++++ apache-tomcat-5.5.26-src/container/catalina/build.xml 2008-02-05 13:14:29.000000000 -0500
+@@ -77,6 +77,7 @@
+ <pathelement location="${jaas.jar}"/>
+ <pathelement location="${javagroups.jar}"/>
+ <pathelement location="${jcert.jar}"/>
++ <pathelement location="${jdt.jar}"/>
+ <pathelement location="${jmx.jar}"/>
+ <pathelement location="${jmx-remote.jar}"/>
+ <pathelement location="${jndi.jar}"/>
+@@ -108,6 +109,7 @@
+ <pathelement location="${commons-modeler.jar}"/>
+ <pathelement location="${jaas.jar}"/>
+ <pathelement location="${jcert.jar}"/>
++ <pathelement location="${jdt.jar}"/>
+ <pathelement location="${jmx.jar}"/>
+ <pathelement location="${jndi.jar}"/>
+ <pathelement location="${jnet.jar}"/>
+@@ -565,9 +567,9 @@
+ file="${commons-logging-api.jar}"/>
+ <!--
+ <copy todir="${catalina.build}/common/lib" file="${servlet-api.jar}"/>
+--->
+ <copy todir="${catalina.build}/common/lib"
+ file="${tomcat-dbcp.jar}" />
++-->
+
+ <!-- Configuration Files -->
+ <copy todir="${catalina.build}/conf">
+diff -Naur apache-tomcat-5.5.26-src_orig/jasper/build.xml apache-tomcat-5.5.26-src/jasper/build.xml
+--- apache-tomcat-5.5.26-src_orig/jasper/build.xml 2008-02-05 12:47:07.000000000 -0500
++++ apache-tomcat-5.5.26-src/jasper/build.xml 2008-02-05 13:14:58.000000000 -0500
+@@ -47,6 +47,7 @@
+ <pathelement location="${jsp-api.jar}"/>
+ <pathelement location="${tools.jar}"/>
+ <pathelement location="${jasper-compiler-jdt.jar}"/>
++ <pathelement location="${jdt.jar}"/>
+ <pathelement location="${xerces.jar}"/>
+ <pathelement location="${xercesImpl.jar}"/>
+ <pathelement location="${xml-apis.jar}"/>
diff --git a/www-servers/tomcat/tomcat-5.5.26.ebuild b/www-servers/tomcat/tomcat-5.5.26.ebuild
new file mode 100644
index 000000000000..a94a7be433ec
--- /dev/null
+++ b/www-servers/tomcat/tomcat-5.5.26.ebuild
@@ -0,0 +1,333 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/tomcat-5.5.26.ebuild,v 1.1 2008/02/05 19:40:04 wltjr Exp $
+
+WANT_ANT_TASKS="ant-trax"
+
+inherit eutils java-pkg-2 java-ant-2
+
+DESCRIPTION="Tomcat Servlet-2.4/JSP-2.0 Container"
+
+MY_P="apache-${P}-src"
+SLOT="5.5"
+SRC_URI="mirror://apache/${PN}/${PN}-5/v${PV}/src/${MY_P}.tar.gz"
+HOMEPAGE="http://tomcat.apache.org/"
+KEYWORDS="~amd64 -ppc -ppc64 ~x86 ~x86-fbsd"
+LICENSE="Apache-2.0"
+
+IUSE="admin java5 doc examples source test"
+
+RDEPEND="=dev-java/eclipse-ecj-3.3*
+ =dev-java/commons-beanutils-1.7*
+ >=dev-java/commons-collections-3.1
+ >=dev-java/commons-daemon-1.0.1
+ >=dev-java/commons-dbcp-1.2.1
+ >=dev-java/commons-digester-1.7
+ >=dev-java/commons-fileupload-1.1
+ =dev-java/commons-httpclient-2.0*
+ >=dev-java/commons-io-1.1
+ >=dev-java/commons-el-1.0
+ >=dev-java/commons-launcher-0.9
+ >=dev-java/commons-logging-1.0.4
+ >=dev-java/commons-modeler-2.0
+ >=dev-java/commons-pool-1.2
+ =dev-java/junit-3*
+ >=dev-java/log4j-1.2.9
+ >=dev-java/saxpath-1.0
+ ~dev-java/tomcat-servlet-api-${PV}
+ dev-java/ant-core
+ admin? ( =dev-java/struts-1.2* )
+ dev-java/sun-javamail
+ java5? ( >=virtual/jre-1.5 )
+ !java5? (
+ =virtual/jre-1.4*
+ dev-java/sun-jaf
+ =dev-java/mx4j-core-3*
+ >=dev-java/xerces-2.7.1
+ =dev-java/xml-commons-external-1.3*
+ )"
+DEPEND="java5? ( >=virtual/jdk-1.5 )
+ !java5? ( =virtual/jdk-1.4* )
+ ${RDEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+TOMCAT_NAME="${PN}-${SLOT}"
+WEBAPPS_DIR="/var/lib/${TOMCAT_NAME}/webapps"
+
+pkg_setup() {
+ java-pkg-2_pkg_setup
+ # new user for tomcat
+ enewgroup tomcat
+ enewuser tomcat -1 -1 /dev/null tomcat
+
+ java-pkg_filter-compiler ecj-3.1 ecj-3.2
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}/${SLOT}/26-main_tomcat_catalina_jasper_build_xml.patch"
+
+ use examples && epatch "${FILESDIR}/${SLOT}/jsr152_jsr154_examples_build_xml.patch"
+
+ sed -i -e 's:${struts.lib}:/usr/share/struts-1.2:' \
+ "${S}/container/webapps/admin/build.xml"
+
+ # avoid packed jars :-)
+ mkdir -p "${S}"/build/build/common
+ cd "${S}"/build/build
+
+ mkdir ./bin && cd ./bin
+ java-pkg_jar-from commons-logging commons-logging-api.jar
+ java-pkg_jar-from commons-daemon
+ if ! use java5; then
+ java-pkg_jar-from mx4j-core-3.0 mx4j.jar jmx.jar
+ java-pkg_jar-from mx4j-core-3.0 mx4j-rjmx.jar jmx-remote.jar
+ mkdir "${S}"/build/build/common/endorsed && cd "${S}"/build/build/common/endorsed
+ java-pkg_jar-from xml-commons-external-1.3 xml-apis.jar
+ java-pkg_jar-from xerces-2 xercesImpl.jar
+ fi
+
+ mkdir "${S}"/build/build/common/lib && cd "${S}"/build/build/common/lib
+ java-pkg_jar-from ant-core
+ java-pkg_jar-from commons-collections
+ java-pkg_jar-from commons-dbcp
+ java-pkg_jar-from commons-el
+ java-pkg_jar-from commons-pool
+ java-pkg_jar-from tomcat-servlet-api-2.4
+
+ mkdir -p "${S}"/build/build/server/lib && cd "${S}"/build/build/server/lib
+ java-pkg_jar-from commons-beanutils-1.7 commons-beanutils.jar
+ java-pkg_jar-from commons-digester
+ java-pkg_jar-from commons-modeler
+
+}
+
+src_compile(){
+ local antflags="-Dbase.path=${T}"
+
+ antflags="${antflags} -Dservletapi.build.notrequired=true"
+ antflags="${antflags} -Djspapi.build.notrequired=true"
+ antflags="${antflags} -Dcommons-beanutils.jar=$(java-pkg_getjar commons-beanutils-1.7 commons-beanutils.jar)"
+ antflags="${antflags} -Dcommons-collections.jar=$(java-pkg_getjars commons-collections)"
+ antflags="${antflags} -Dcommons-daemon.jar=$(java-pkg_getjars commons-daemon)"
+ antflags="${antflags} -Dcommons-digester.jar=$(java-pkg_getjars commons-digester)"
+ antflags="${antflags} -Dcommons-dbcp.jar=$(java-pkg_getjars commons-dbcp)"
+ antflags="${antflags} -Dcommons-el.jar=$(java-pkg_getjars commons-el)"
+ antflags="${antflags} -Dcommons-fileupload.jar=$(java-pkg_getjars commons-fileupload)"
+ antflags="${antflags} -Dcommons-httpclient.jar=$(java-pkg_getjars commons-httpclient)"
+ antflags="${antflags} -Dcommons-launcher.jar=$(java-pkg_getjars commons-launcher)"
+ antflags="${antflags} -Dcommons-logging.jar=$(java-pkg_getjar commons-logging commons-logging.jar)"
+ antflags="${antflags} -Dcommons-logging-api.jar=$(java-pkg_getjar commons-logging commons-logging-api.jar)"
+ antflags="${antflags} -Dcommons-pool.jar=$(java-pkg_getjars commons-pool)"
+ antflags="${antflags} -Dcommons-modeler.jar=$(java-pkg_getjars commons-modeler)"
+ antflags="${antflags} -Djdt.jar=$(java-pkg_getjar eclipse-ecj-3.3 ecj.jar)"
+ antflags="${antflags} -Djsp-api.jar=$(java-pkg_getjar tomcat-servlet-api-2.4 jsp-api.jar)"
+ antflags="${antflags} -Djunit.jar=$(java-pkg_getjars junit)"
+ antflags="${antflags} -Dlog4j.jar=$(java-pkg_getjars log4j)"
+ antflags="${antflags} -Dmail.jar=$(java-pkg_getjar sun-javamail mail.jar)"
+ antflags="${antflags} -Dsaxpath.jar=$(java-pkg_getjar saxpath saxpath.jar)"
+ antflags="${antflags} -Dservlet-api.jar=$(java-pkg_getjar tomcat-servlet-api-2.4 servlet-api.jar)"
+ if use admin; then
+ antflags="${antflags} -Dstruts.jar=$(java-pkg_getjar struts-1.2 struts.jar)"
+ antflags="${antflags} -Dstruts.home=/usr/share/struts"
+ else
+ antflags="${antflags} -Dadmin.build.notrequired=true"
+ antflags="${antflags} -Dadmin.precompile.notrequired=true"
+ fi
+ if ! use examples; then
+ antflags="${antflags} -Dexamples.build.notrequired=true"
+ antflags="${antflags} -Dexamples.precompile.notrequired=true"
+ fi
+ antflags="${antflags} -Djasper.home=${S}/jasper"
+ if ! use java5; then
+ antflags="${antflags} -Dactivation.jar=$(java-pkg_getjars sun-jaf)"
+ antflags="${antflags} -Djmx.jar=$(java-pkg_getjar mx4j-core-3.0 mx4j.jar)"
+ antflags="${antflags} -Djmx-remote.jar=$(java-pkg_getjar mx4j-core-3.0 mx4j-rjmx.jar)"
+ antflags="${antflags} -DxercesImpl.jar=$(java-pkg_getjar xerces-2 xercesImpl.jar)"
+ antflags="${antflags} -Dxml-apis.jar=$(java-pkg_getjar xml-commons-external-1.3 xml-apis.jar)"
+ fi
+
+ eant ${antflags}
+}
+
+src_install() {
+ cd "${S}"/build/build
+
+ # init.d, conf.d
+ newinitd "${FILESDIR}"/${SLOT}/tomcat.init.2 ${TOMCAT_NAME}
+ newconfd "${FILESDIR}"/${SLOT}/tomcat.conf.2 ${TOMCAT_NAME}
+
+ # create dir structure
+ diropts -m755 -o tomcat -g tomcat
+ dodir /usr/share/${TOMCAT_NAME}
+ keepdir /var/log/${TOMCAT_NAME}/
+ keepdir /var/tmp/${TOMCAT_NAME}/
+ keepdir /var/run/${TOMCAT_NAME}/
+
+ local CATALINA_BASE=/var/lib/${TOMCAT_NAME}/
+ dodir ${CATALINA_BASE}
+ keepdir ${CATALINA_BASE}/shared/lib
+ keepdir ${CATALINA_BASE}/shared/classes
+
+ keepdir /usr/share/${TOMCAT_NAME}/common/lib
+
+ dodir /etc/${TOMCAT_NAME}
+ fperms 750 /etc/${TOMCAT_NAME}
+
+ diropts -m0755
+
+ # we don't need dos scripts
+ rm -f bin/*.bat
+
+ # copy the manager and admin context's to the right position
+ mkdir -p conf/Catalina/localhost
+ if use admin; then
+ cp "${S}"/container/webapps/admin/admin.xml \
+ conf/Catalina/localhost
+ fi
+ cp "${S}"/container/webapps/manager/manager.xml \
+ conf/Catalina/localhost
+
+ # make the jars available via java-pkg_getjar and jar-from, etc
+ base=$(pwd)
+ libdirs="common/lib server/lib"
+ for dir in ${libdirs}
+ do
+ cd ${dir}
+
+ for jar in *.jar;
+ do
+ # replace the file with a symlink
+ if [ ! -L ${jar} ]; then
+ java-pkg_dojar ${jar}
+ rm -f ${jar}
+ ln -s ${DESTTREE}/share/${TOMCAT_NAME}/lib/${jar} ${jar}
+ fi
+ done
+
+ cd ${base}
+ done
+
+ # replace a packed struts.jar
+ if use admin; then
+ cd server/webapps/admin/WEB-INF/lib
+ rm -f struts.jar
+ java-pkg_jar-from struts-1.2 struts.jar
+ cd ${base}
+ else
+ rm -fR server/webapps/admin
+ fi
+
+ cd server/webapps/manager/WEB-INF/lib
+ java-pkg_jar-from commons-fileupload
+ java-pkg_jar-from commons-io-1
+ cd ${base}
+
+ # replace the default pw with a random one, see #92281
+ local randpw=$(echo ${RANDOM}|md5sum|cut -c 1-15)
+ sed -e s:SHUTDOWN:${randpw}: -i conf/{server,server-minimal}.xml
+
+ # copy over the directories
+ chown -R tomcat:tomcat webapps/* conf/*
+ cp -pR conf/* "${D}"/etc/${TOMCAT_NAME} || die "failed to copy conf"
+ cp -HR bin common server "${D}"/usr/share/${TOMCAT_NAME} || die "failed to copy"
+
+ # replace catalina.policy with gentoo specific one bug #176701
+ cp "${FILESDIR}"/${SLOT}/catalina.policy "${D}"/etc/${TOMCAT_NAME} || die "failed to replace catalina.policy"
+
+ keepdir ${WEBAPPS_DIR}
+ set_webapps_perms "${D}"/${WEBAPPS_DIR}
+
+ # Copy over webapps, some controlled by use flags
+ cp -p ../RELEASE-NOTES webapps/ROOT/RELEASE-NOTES.txt
+ cp -pr webapps/ROOT "${D}"${CATALINA_BASE}/webapps
+ if use doc; then
+ cp -pr webapps/tomcat-docs "${D}"${CATALINA_BASE}/webapps
+ fi
+ if use examples; then
+ cp -pr webapps/{jsp-examples,servlets-examples,webdav} \
+ "${D}"${CATALINA_BASE}/webapps
+ fi
+
+ # symlink the directories to make CATALINA_BASE possible
+ dosym /etc/${TOMCAT_NAME} ${CATALINA_BASE}/conf
+ dosym /var/log/${TOMCAT_NAME} ${CATALINA_BASE}/logs
+ dosym /var/tmp/${TOMCAT_NAME} ${CATALINA_BASE}/temp
+ dosym /var/run/${TOMCAT_NAME} ${CATALINA_BASE}/work
+
+ dodoc "${S}"/build/{RELEASE-NOTES,RUNNING.txt}
+ fperms 640 /etc/${TOMCAT_NAME}/tomcat-users.xml
+}
+
+pkg_postinst() {
+ #due to previous ebuild bloopers, make sure everything is correct
+ chown root:root /etc/init.d/${TOMCAT_NAME}
+ chown root:root /etc/conf.d/${TOMCAT_NAME}
+
+ elog
+ elog " This ebuild implements a new filesystem layout for tomcat"
+ elog " please read http://www.gentoo.org/proj/en/java/tomcat-guide.xml"
+ elog " for more information!."
+ elog
+ ewarn "naming-factory-dbcp.jar is not built at this time. Please fetch"
+ ewarn "jar from upstream binary if you need it. Gentoo Bug # 144276"
+ elog
+ ewarn "The manager webapps have known exploits, please refer to"
+ ewarn "http://cve.mitre.org/cgi-bin/cvename.cgi?name=2007-2450"
+ if use examples ; then
+ elog
+ ewarn "The examples webapp has a known exploit, please refer to"
+ ewarn "http://cve.mitre.org/cgi-bin/cvename.cgi?name=2007-2449"
+ fi
+ elog
+ elog " Please file any bugs at http://bugs.gentoo.org/ or else it"
+ elog " may not get seen. Thank you."
+ elog
+}
+
+#helpers
+set_webapps_perms() {
+ chown tomcat:tomcat ${1} || die "Failed to change owner off ${1}."
+ chmod 750 ${1} || die "Failed to change permissions off ${1}."
+}
+
+pkg_config() {
+ # Better suggestions are welcome
+ local currentdir="$(getent passwd tomcat | gawk -F':' '{ print $6 }')"
+
+ elog "The default home directory for Tomcat is /dev/null."
+ elog "You need to change it if your applications needs it to"
+ elog "be an actual directory. Current home directory:"
+ elog "${currentdir}"
+ elog ""
+ elog "Do you want to change it [yes/no]?"
+
+ local answer
+ read answer
+
+ if [[ "${answer}" == "yes" ]]; then
+ elog ""
+ elog "Suggestions:"
+ elog "${WEBAPPS_DIR}"
+ elog ""
+ elog "If you want to suggest a directory, file a bug to"
+ elog "http://bugs.gentoo.org"
+ elog ""
+ elog "Enter home directory:"
+
+ local homedir
+ read homedir
+
+ elog ""
+ elog "Setting home directory to: ${homedir}"
+
+ /usr/sbin/usermod -d"${homedir}" tomcat
+
+ elog "You can run emerge --config =${PF}"
+ elog "again to change to homedir"
+ elog "at any time."
+ fi
+}