diff options
author | Joshua Nichols <nichoj@gentoo.org> | 2006-07-03 02:13:09 +0000 |
---|---|---|
committer | Joshua Nichols <nichoj@gentoo.org> | 2006-07-03 02:13:09 +0000 |
commit | 027d98cd3f582ff847a24e7eeac265d79d3a7094 (patch) | |
tree | eb1016e119c2d22c604d1e2fd031ef186e324d17 /www-servers | |
parent | Stable on amd64. Bug #138932. (diff) | |
download | gentoo-2-027d98cd3f582ff847a24e7eeac265d79d3a7094.tar.gz gentoo-2-027d98cd3f582ff847a24e7eeac265d79d3a7094.tar.bz2 gentoo-2-027d98cd3f582ff847a24e7eeac265d79d3a7094.zip |
Version bump.
(Portage version: 2.1.1_pre1)
Diffstat (limited to 'www-servers')
-rw-r--r-- | www-servers/tomcat/ChangeLog | 9 | ||||
-rw-r--r-- | www-servers/tomcat/files/5.5.17/catalinabuild-xml.patch | 30 | ||||
-rw-r--r-- | www-servers/tomcat/files/5.5.17/jasperbuild-xml.patch | 10 | ||||
-rw-r--r-- | www-servers/tomcat/files/5.5.17/mainbuild-xml.patch | 19 | ||||
-rw-r--r-- | www-servers/tomcat/files/5.5.17/tomcat.conf | 72 | ||||
-rw-r--r-- | www-servers/tomcat/files/5.5.17/tomcat.env | 1 | ||||
-rwxr-xr-x | www-servers/tomcat/files/5.5.17/tomcat.init | 83 | ||||
-rw-r--r-- | www-servers/tomcat/files/5.5.17/tomcatbuild-xml.patch | 148 | ||||
-rw-r--r-- | www-servers/tomcat/files/digest-tomcat-5.5.17 | 3 | ||||
-rw-r--r-- | www-servers/tomcat/tomcat-5.5.17.ebuild | 284 |
10 files changed, 658 insertions, 1 deletions
diff --git a/www-servers/tomcat/ChangeLog b/www-servers/tomcat/ChangeLog index 6071ca238c44..0cd58c68480a 100644 --- a/www-servers/tomcat/ChangeLog +++ b/www-servers/tomcat/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for www-servers/tomcat # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/ChangeLog,v 1.50 2006/04/27 23:41:52 antarus Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/ChangeLog,v 1.51 2006/07/03 02:13:09 nichoj Exp $ + + 03 Jul 2006; Joshua Nichols <nichoj@gentoo.org> + +files/5.5.17/catalinabuild-xml.patch, + +files/5.5.17/jasperbuild-xml.patch, +files/5.5.17/mainbuild-xml.patch, + +files/5.5.17/tomcat.conf, +files/5.5.17/tomcat.env, + +files/5.5.17/tomcat.init, +files/5.5.17/tomcatbuild-xml.patch: + Version bump. 27 Apr 2006; Alec Warner <antarus@gentoo.org> files/digest-tomcat-5.0.27-r6, files/digest-tomcat-5.0.28-r12, Manifest: diff --git a/www-servers/tomcat/files/5.5.17/catalinabuild-xml.patch b/www-servers/tomcat/files/5.5.17/catalinabuild-xml.patch new file mode 100644 index 000000000000..da6b96901aab --- /dev/null +++ b/www-servers/tomcat/files/5.5.17/catalinabuild-xml.patch @@ -0,0 +1,30 @@ +--- apache-tomcat-5.5.15-src/container/catalina/build.xml 2006-01-03 10:15:07.000000000 -0500 ++++ container/catalina/build.xml 2006-01-28 11:57:25.000000000 -0500 +@@ -60,6 +60,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}"/> +@@ -91,6 +92,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}"/> +@@ -548,9 +550,10 @@ + <!-- + <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"> + <fileset dir="src/conf"> diff --git a/www-servers/tomcat/files/5.5.17/jasperbuild-xml.patch b/www-servers/tomcat/files/5.5.17/jasperbuild-xml.patch new file mode 100644 index 000000000000..1f0de5f8a04f --- /dev/null +++ b/www-servers/tomcat/files/5.5.17/jasperbuild-xml.patch @@ -0,0 +1,10 @@ +--- jasper/build.xml 2005-02-13 19:28:36.000000000 +0100 ++++ jasper/build.xml 2005-02-13 20:46:15.554972064 +0100 +@@ -30,6 +30,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/files/5.5.17/mainbuild-xml.patch b/www-servers/tomcat/files/5.5.17/mainbuild-xml.patch new file mode 100644 index 000000000000..7ef15860cb5c --- /dev/null +++ b/www-servers/tomcat/files/5.5.17/mainbuild-xml.patch @@ -0,0 +1,19 @@ +--- apache-tomcat-5.5.15-src/build.xml ++++ build.xml +@@ -64,13 +64,14 @@ + <target name="checkout" + description="Update or checkout required sources from SVN"> + ++ <!-- + <echo level="info" + message="If the checkout fails, - todo - " /> + + <exec dir="${basedir}" executable="svn"> + <arg line="checkout ${svnroot}/${current.loc} ${basedir}" /> + </exec> +- ++ --> + </target> + + <!-- *************** UTILITY TARGETS *************** --> + diff --git a/www-servers/tomcat/files/5.5.17/tomcat.conf b/www-servers/tomcat/files/5.5.17/tomcat.conf new file mode 100644 index 000000000000..d52a0660672f --- /dev/null +++ b/www-servers/tomcat/files/5.5.17/tomcat.conf @@ -0,0 +1,72 @@ +# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/files/5.5.17/tomcat.conf,v 1.1 2006/07/03 02:13:09 nichoj Exp $ + +# JVM Runtime +# Using the default setting, it will determine your JVM from the system-vm +# set using java-config. +# See java-config(1) manual page for assistance in determining this value. +# +# You can override this value with whatever path you wish. +# Example: JAVA_HOME=/opt/sun-jdk-1.4.2.05 + +JAVA_HOME=`java-config --jre-home` + +# (Optional) Java runtime options used when the "start", "stop", or "run" +# commands are executed. +# JAVA_OPTS="" + +# Where your web applications are located +CATALINA_HOME=/usr/share/tomcat-5.5 +CATALINA_BASE=/var/lib/tomcat-5.5 + +# Tomcat's User +CATALINA_USER=tomcat + +# Location of the Tomcat JARs and classes +CATALINA_LIBDIR=/usr/share/tomcat-5.5/server/lib + +# The CLASSPATH for Tomcat to use, plus any others you need. +CLASSPATH=${CATALINA_LIBDIR} + +# (Optional) Directory path location of temporary directory the JVM should +# use (java.io.tmpdir). Defaults to $CATALINA_BASE/temp. +CATALINA_TMPDIR="/var/tmp/tomcat-5.5" + +# TOMCAT STARTUP/SHUTDOWN +# debug Start Catalina in a debugger +# debug -security Debug Catalina with a security manager +# jpda start Start Catalina under JPDA debugger +# start Start Catalina in a separate window +# start -security Start in a separate window with security manager +# stop Stop Catalina" +# +# NOTE: -security requires JSSE (see below) +# NOTE: jpda requires JPDA (see below) +TOMCAT_START="start" +TOMCAT_STOP="stop" + +# (Optional) Java runtime options used when the "start", "stop", or "run" +# commands are executed. +# CATALINA_OPTS="" + +# Java Platform Debugger Architecture (JPDA) +# http://java.sun.com/products/jpda/ +# Included with Java SDK 1.3 and later. No need to specify location. +# +# JPDA_TRANSPORT (Optional) JPDA transport used when the "jpda start" +# command is executed. The default is "dt_socket". +# +# JPDA_ADDRESS (Optional) Java runtime options used when the "jpda start" +# command is executed. The default is 8000. +# +# JPDA_TRANSPORT="dt_socket" +# JPDA_ADDRESS="8000" + +# Java Secure Socket Extension (JSSE) +# http://java.sun.com/products/jsse/ +# Included with Java SDK 1.4 and later. +# +# JSSE_HOME (Optional) May point at your Java Secure Sockets Extension +# (JSSE) installation, whose JAR files will be added to the +# system class path used to start Tomcat. +# +# JSSE_HOME="/opt/sun-jdk-1.4.1.02/jre/lib/" diff --git a/www-servers/tomcat/files/5.5.17/tomcat.env b/www-servers/tomcat/files/5.5.17/tomcat.env new file mode 100644 index 000000000000..8afb01ff1d8e --- /dev/null +++ b/www-servers/tomcat/files/5.5.17/tomcat.env @@ -0,0 +1 @@ +CATALINA_HOME=/usr/share/tomcat-5.5 diff --git a/www-servers/tomcat/files/5.5.17/tomcat.init b/www-servers/tomcat/files/5.5.17/tomcat.init new file mode 100755 index 000000000000..e9180fa841e2 --- /dev/null +++ b/www-servers/tomcat/files/5.5.17/tomcat.init @@ -0,0 +1,83 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/files/5.5.17/tomcat.init,v 1.1 2006/07/03 02:13:09 nichoj Exp $ + +init_env_vars() { + # Set some sane defaults + 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=/etc/tomcat-5.5/logging.properties" + fi + + # Populate the classpath + CLASSPATH="${CLASSPATH}:$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:$(java-config -p commons-logging)" + + OPTS_CP="${JAVA_OPTS} ${CATALINA_OPTS} \ + -Djava.endorsed.dirs=${CATALINA_HOME}/common/endorsed \ + -classpath ${CLASSPATH}" + + CATALINA_ARGS="-Dcatalina.base=${CATALINA_BASE} \ + -Dcatalina.home=${CATALINA_HOME} \ + -Djava.io.tmpdir=${CATALINA_TMPDIR} \ + org.apache.catalina.startup.Bootstrap " +} + +start-helper() { + local executor=${1} + shift + local arguments="--start --quiet --background --chuid tomcat:tomcat \ + --make-pidfile --pidfile /var/run/tomcat.pid" + start-stop-daemon ${arguments} --exec ${executor} -- ${OPTS_CP} "$@" ${CATALINA_ARGS} ${TOMCAT_START} + return $? +} + +depend() { + use dns logger net +} + +start() { + ebegin "Starting Tomcat" + init_env_vars + # Figure out what arguments to pass start-helper based on TOMCAT_START + if [[ "${TOMCAT_START}" == "debug" ]] ; then + start-helper $JAVA_HOME/bin/jdb \ + -sourcepath ${CATALINA_HOME}/../../jakarta-tomcat-catalina/catalina/src/share + elif [[ "${TOMCAT_START}" == "debug -security" ]] ; then + start-helper $JAVA_HOME/bin/jdb \ + -sourcepath ${CATALINA_HOME}/../../jakarta-tomcat-catalina/catalina/src/share \ + -Djava.security.manager \ + -Djava.security.policy=/etc/tomcat-5.5/conf/catalina.policy + elif [[ "${TOMCAT_START}" == "jpda start" ]] ; then + start-helper $JAVA_HOME/bin/java ${JPDA_OPTS} + elif [[ "${TOMCAT_START}" == "start" ]] ; then + start-helper $JAVA_HOME/bin/java + elif [[ "${TOMCAT_START}" == "start -security" ]] ; then + start-helper $JAVA_HOME/bin/java \ + -Djava.security.manager \ + -Djava.security.policy=/etc/tomcat-5.5/catalina.policy + else + eerror "Invalid TOMCAT_START variable value, or one is not set" + eerror "Please see /etc/conf.d/tomcat-5.5 for more information" + eend 1 + fi + eend $? +} + +stop() { + ebegin "Stopping Tomcat" + init_env_vars + start-stop-daemon --stop --quiet \ + --make-pidfile --pidfile /var/run/tomcat.pid \ + --exec $JAVA_HOME/bin/java -- ${OPTS_CP} ${CATALINA_ARGS} stop + eend $? +} diff --git a/www-servers/tomcat/files/5.5.17/tomcatbuild-xml.patch b/www-servers/tomcat/files/5.5.17/tomcatbuild-xml.patch new file mode 100644 index 000000000000..73f56dad7742 --- /dev/null +++ b/www-servers/tomcat/files/5.5.17/tomcatbuild-xml.patch @@ -0,0 +1,148 @@ +--- apache-tomcat-5.5.15-src/build/build.xml 2006-01-03 10:15:03.000000000 -0500 ++++ build/build.xml 2006-01-28 13:12:39.000000000 -0500 +@@ -140,6 +140,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"/> + +@@ -158,9 +159,9 @@ + <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-launcher.jar}"/> + <copy todir="${tomcat.build}/common/lib" file="${jasper-compiler-jdt.jar}"/> ++ --> + </target> + + <!-- ====================== Build all components =================== --> +@@ -650,28 +651,8 @@ + + <!-- <antcall target="build-commons-modeler" /> --> + <!-- <antcall target="build-commons-daemon" /> --> +- +- <antcall target="downloadgz"> +- <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}" /> +- </antcall> +- <antcall target="downloadgz"> +- <param name="sourcefile" value="${commons-dbcp-src.loc}"/> +- <param name="destfile" value="${tomcat-dbcp.jar}" /> +- </antcall> +- +- <antcall target="build-tomcat-dbcp" /> +- +- <antcall target="downloadzip"> +- <param name="sourcefile" value="${jdt.loc}"/> +- <param name="destfile" value="${jdt.jar}"/> +- <param name="destdir" value="${base.path}"/> +- </antcall> +- <antcall target="build-jasper-compiler-jdt" /> ++ <!-- <antcall target="build-tomcat-dbcp" /> --> ++ <!-- <antcall target="build-jasper-compiler-jdt" /> --> + </target> + + <target name="build-tomcat-dbcp"> +@@ -824,9 +805,10 @@ + </ant> + + <!-- Precompiling and fixing webapps --> ++ <!-- + <antcall target="build-webapps-precompile" /> + <antcall target="fix-webapps" /> +- ++ --> + </target> + + <target name="fix-webapps" depends="init" > +@@ -1038,11 +1020,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 =================== --> +@@ -1089,8 +1071,9 @@ + <!-- 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"/> +@@ -1185,10 +1168,11 @@ + description="Catalina Tests" depends="dist-tester"> + + <!-- 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"> +@@ -1827,10 +1811,10 @@ + + <!-- commons-digester needs ../LICENSE --> + <!-- That is ugly XXX needs a review --> ++ <!-- + <copy file="LICENSE" tofile="../LICENSE"/> + <copy file="LICENSE" tofile="${base.path}/LICENSE"/> + +- <!-- Downdown any sub package or tools needed. --> + <antcall target="downloadgz"> + <param name="sourcefile" value="${commons-beanutils.loc}"/> + <param name="destfile" value="${commons-beanutils.jar}"/> +@@ -1872,7 +1856,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> +@@ -1893,7 +1876,6 @@ + <param name="destfile" value="${commons-launcher.jar}"/> + </antcall> + +- <!-- + <antcall target="downloadgz"> + <param name="sourcefile" value="${commons-pool.loc}"/> + <param name="destfile" value="${commons-pool.jar}"/> +@@ -1904,7 +1886,6 @@ + <param name="destfile" value="${commons-dbcp.jar}"/> + <param name="destdir" value="${base.path}"/> + </antcall> +- --> + + <antcall target="downloadgz"> + <param name="sourcefile" value="${commons-httpclient.loc}"/> +@@ -1932,7 +1913,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 --git a/www-servers/tomcat/files/digest-tomcat-5.5.17 b/www-servers/tomcat/files/digest-tomcat-5.5.17 new file mode 100644 index 000000000000..51d603367aa1 --- /dev/null +++ b/www-servers/tomcat/files/digest-tomcat-5.5.17 @@ -0,0 +1,3 @@ +MD5 afedf090888029b19a1bebc471264105 apache-tomcat-5.5.17-src.tar.gz 4282022 +RMD160 004d87bc64b32eee42f9979d2fdbb36836b69015 apache-tomcat-5.5.17-src.tar.gz 4282022 +SHA256 295c9fa64d9aa81d5c836b694804d8d57fcfdbc76b9889a044852aa73f2c3ad8 apache-tomcat-5.5.17-src.tar.gz 4282022 diff --git a/www-servers/tomcat/tomcat-5.5.17.ebuild b/www-servers/tomcat/tomcat-5.5.17.ebuild new file mode 100644 index 000000000000..3e39363ca518 --- /dev/null +++ b/www-servers/tomcat/tomcat-5.5.17.ebuild @@ -0,0 +1,284 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/tomcat-5.5.17.ebuild,v 1.1 2006/07/03 02:13:09 nichoj Exp $ + +inherit eutils java-pkg + +DESCRIPTION="Apache 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://jakarta.apache.org/tomcat" +KEYWORDS="~amd64 ~x86" +LICENSE="Apache-2.0" + +RDEPEND=">=virtual/jdk-1.4 + =dev-java/eclipse-ecj-3.1* + =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.0 + >=dev-java/commons-httpclient-2.0 + >=dev-java/commons-el-1.0 + >=dev-java/commons-launcher-0.9 + >=dev-java/commons-logging-1.0.4 + >=dev-java/commons-modeler-1.1 + >=dev-java/commons-pool-1.2 + ~dev-java/jaxen-1.0 + >=dev-java/junit-3.8.1 + =dev-java/mx4j-3* + >=dev-java/log4j-1.2.9 + >=dev-java/saxpath-1.0 + ~dev-java/servletapi-2.4 + =dev-java/struts-1.2* + =dev-java/gnu-jaf-1* + >=dev-java/xerces-2.7.1" +DEPEND=">=virtual/jdk-1.4 + ${RDEPEND} + sys-apps/sed + dev-java/ant" +IUSE="doc examples source test" + +S="${WORKDIR}/${MY_P}" + +TOMCAT_HOME="/usr/share/${PN}-${SLOT}" +TOMCAT_NAME="${PN}-${SLOT}" +WEBAPPS_DIR="/var/lib/${TOMCAT_NAME}/webapps" + +pkg_setup() { + enewgroup tomcat + enewuser tomcat -1 -1 /dev/null tomcat +} + +src_unpack() { + unpack ${A} + cd ${S} + + local PATCHES=" + mainbuild-xml.patch + tomcatbuild-xml.patch + catalinabuild-xml.patch + jasperbuild-xml.patch + " + for patch in ${PATCHES}; do + epatch "${FILESDIR}/${PV}/${patch}" + done + + # 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 mx4j-3.0 mx4j.jar jmx.jar + java-pkg_jar-from mx4j-3.0 mx4j-rjmx.jar jmx-remote.jar + java-pkg_jar-from commons-daemon + + mkdir ../common/endorsed && cd ../common/endorsed + java-pkg_jar-from xerces-2 xml-apis.jar + java-pkg_jar-from xerces-2 xercesImpl.jar + + mkdir ../lib && cd ../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 servletapi-2.4 + + mkdir -p ../../server/lib && cd ../../server/lib + java-pkg_jar-from commons-beanutils-1.7 commons-beanutils.jar + java-pkg_jar-from commons-digester + java-pkg_jar-from commons-fileupload + java-pkg_jar-from commons-modeler +} + +src_compile(){ + local antflags="-Dbase.path=${T}" + + antflags="${antflags} -Dactivation.jar=$(java-config -p gnu-jaf-1)" + antflags="${antflags} -Dcommons-collections.jar=$(java-config -p commons-collections)" + antflags="${antflags} -Dcommons-daemon.jar=$(java-config -p commons-daemon)" + antflags="${antflags} -Dcommons-digester.jar=$(java-config -p commons-digester)" + antflags="${antflags} -Dcommons-dbcp.jar=$(java-config -p commons-dbcp)" + antflags="${antflags} -Dcommons-el.jar=$(java-config -p commons-el)" + antflags="${antflags} -Dcommons-httpclient.jar=$(java-config -p commons-httpclient)" + antflags="${antflags} -Dcommons-pool.jar=$(java-config -p commons-pool)" + antflags="${antflags} -Dcommons-fileupload.jar=$(java-config -p commons-fileupload)" + antflags="${antflags} -Dcommons-launcher.jar=$(java-config -p commons-launcher)" + antflags="${antflags} -Dcommons-modeler.jar=$(java-config -p commons-modeler)" + antflags="${antflags} -Djunit.jar=$(java-config -p junit)" + antflags="${antflags} -Djdt.jar=$(java-pkg_getjar eclipse-ecj-3.1 ecj.jar)" + antflags="${antflags} -Dlog4j.jar=$(java-config -p log4j)" + antflags="${antflags} -Dstruts.jar=$(java-pkg_getjar struts-1.2 struts.jar)" + antflags="${antflags} -Dcommons-beanutils.jar=$(java-pkg_getjar commons-beanutils-1.7 commons-beanutils.jar)" + 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} -Djaxen.jar=$(java-pkg_getjar jaxen jaxen-full.jar)" + antflags="${antflags} -Djmx.jar=$(java-pkg_getjar mx4j-3.0 mx4j.jar)" + antflags="${antflags} -Djmx-remote.jar=$(java-pkg_getjar mx4j-3.0 mx4j-rjmx.jar)" + antflags="${antflags} -Dsaxpath.jar=$(java-pkg_getjar saxpath saxpath.jar)" + antflags="${antflags} -DxercesImpl.jar=$(java-pkg_getjar xerces-2 xercesImpl.jar)" + antflags="${antflags} -Dxml-apis.jar=$(java-pkg_getjar xerces-2 xml-apis.jar)" + antflags="${antflags} -Dstruts.home=/usr/share/struts" + antflags="${antflags} -Djasper.home=${S}/jasper" + + ant ${antflags} || die "compile failed" + +} +src_install() { + cd ${S}/build/build + + # init.d, env.d, conf.d + newinitd ${FILESDIR}/${PV}/tomcat.init ${TOMCAT_NAME} + newconfd ${FILESDIR}/${PV}/tomcat.conf ${TOMCAT_NAME} + newenvd ${FILESDIR}/${PV}/${PN}.env 21${PN} + + # 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 + + 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 + cp ${S}/container/webapps/admin/admin.xml \ + conf/Catalina/localhost + cp ${S}/container/webapps/manager/manager.xml \ + conf/Catalina/localhost + + # make the jars available via java-config -p 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 + cd server/webapps/admin/WEB-INF/lib + rm -f struts.jar + java-pkg_jar-from struts-1.2 struts.jar + 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 -R bin common server shared ${D}/usr/share/${TOMCAT_NAME} || die "failed to copy" + + keepdir ${WEBAPPS_DIR} + set_webapps_perms ${D}/${WEBAPPS_DIR} + + # if the useflag is set, copy over the examples + if use examples; then + cp -p ../RELEASE-NOTES webapps/ROOT/RELEASE-NOTES.txt + cp -pr webapps/{tomcat-docs,jsp-examples,servlets-examples,ROOT,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} + + einfo + ewarn " This ebuild implements a new filesystem layout for tomcat" + ewarn " please read http://www.gentoo.org/proj/en/java/tomcat-guide.xml" + ewarn " for more information!." + einfo + einfo " Please file any bugs at http://bugs.gentoo.org/ or else it" + einfo " may not get seen. Thank you." + einfo + +# This may be a comeback, so it's here for convienence +# einfo "Run emerge --config =${PF}" +# einfo "to configure Tomcat if you need to for example" +# einfo "change the home directory of the Tomcat user." +} + +# 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 }')" + + einfo "The default home directory for Tomcat is /dev/null." + einfo "You need to change it if your applications needs it to" + einfo "be an actual directory. Current home directory:" + einfo "${currentdir}" + einfo "" + einfo "Do you want to change it [yes/no]?" + + local answer + read answer + + if [[ "${answer}" == "yes" ]]; then + einfo "" + einfo "Suggestions:" + einfo "${WEBAPPS_DIR}" + einfo "" + einfo "If you want to suggest a directory, file a bug to" + einfo "http://bugs.gentoo.org" + einfo "" + einfo "Enter home directory:" + + local homedir + read homedir + + einfo "" + einfo "Setting home directory to: ${homedir}" + + /usr/sbin/usermod -d"${homedir}" tomcat + + einfo "You can run emerge --config =${PF}" + einfo "again to change to homedir" + einfo "at any time." + fi +} |