summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetteri Räty <betelgeuse@gentoo.org>2009-03-06 18:50:13 +0000
committerPetteri Räty <betelgeuse@gentoo.org>2009-03-06 18:50:13 +0000
commit8ba0d709e3a1b00e1e4327589e9848a02b0daa6c (patch)
treef6eb4aa469cab7995eba4fd072caee6437883317 /www-servers
parentAdd ~arm keyword and run eautoreconf (#260550). (diff)
downloadhistorical-8ba0d709e3a1b00e1e4327589e9848a02b0daa6c.tar.gz
historical-8ba0d709e3a1b00e1e4327589e9848a02b0daa6c.tar.bz2
historical-8ba0d709e3a1b00e1e4327589e9848a02b0daa6c.zip
Add patch for XSS issue in examples for security bug #261460. Use use deps in 5.5.
Package-Manager: portage-2.2_rc20/cvs/Linux 2.6.29-rc6 i686
Diffstat (limited to 'www-servers')
-rw-r--r--www-servers/tomcat/ChangeLog11
-rw-r--r--www-servers/tomcat/Manifest16
-rw-r--r--www-servers/tomcat/files/5.5/examples-cal.patch11
-rw-r--r--www-servers/tomcat/files/6/examples-cal.patch11
-rw-r--r--www-servers/tomcat/tomcat-5.5.27-r3.ebuild338
-rw-r--r--www-servers/tomcat/tomcat-6.0.18-r3.ebuild201
6 files changed, 586 insertions, 2 deletions
diff --git a/www-servers/tomcat/ChangeLog b/www-servers/tomcat/ChangeLog
index 2a33d4bf0bd2..8068c56fbd58 100644
--- a/www-servers/tomcat/ChangeLog
+++ b/www-servers/tomcat/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for www-servers/tomcat
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/ChangeLog,v 1.207 2009/01/27 19:11:18 ranger Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/ChangeLog,v 1.208 2009/03/06 18:50:13 betelgeuse Exp $
+
+*tomcat-6.0.18-r3 (06 Mar 2009)
+*tomcat-5.5.27-r3 (06 Mar 2009)
+
+ 06 Mar 2009; Petteri Räty <betelgeuse@gentoo.org>
+ +files/5.5/examples-cal.patch, +files/6/examples-cal.patch,
+ +tomcat-5.5.27-r3.ebuild, +tomcat-6.0.18-r3.ebuild:
+ Add patch for XSS issue in examples for security bug #261460. Use use deps
+ in 5.5.
27 Jan 2009; Brent Baude <ranger@gentoo.org> tomcat-6.0.18-r2.ebuild:
stable ppc64, bug 255469
diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest
index 935ede9cf913..7f8e48796ac4 100644
--- a/www-servers/tomcat/Manifest
+++ b/www-servers/tomcat/Manifest
@@ -1,18 +1,32 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
AUX 5.5/26-main_tomcat_catalina_jasper_build_xml.patch 16573 RMD160 53f1deaa88a39459a584cf14c761cb411d68f2e6 SHA1 69b3ca39f9dbabe12c56865d47866c06dcb7c2e3 SHA256 99a2c1bb164d97407525305512a85e6139531d81a47aa2c25f5c2cfe50aee1f6
AUX 5.5/5.5.27-dynamic-JSSE13Factory.patch 1853 RMD160 31d20202a3be06c156b0c13f0afb3b394b8ecf02 SHA1 d7e7640dd4f7b7b92b21ac51d1b508fe56691a81 SHA256 f7db0e692088ec25a4731a521c1da4a0075e747f68690235fde3ca93c6f2e19d
AUX 5.5/catalina.policy 10897 RMD160 d6accc56803b132d0e82e163cc583464c38248ef SHA1 585f80e24cad7e5927f8c2c6ad03f668eb904cc1 SHA256 8188db94772eb00d44b28cb9b40e9ccf30803acf576c0af1be5844ebd35d763c
+AUX 5.5/examples-cal.patch 577 RMD160 bab060b0c65b5a72ebaae6b39721c593d2847282 SHA1 0d00e4f166a7567e1c5158b5058fbd15f559410c SHA256 8dfef4e542a674fbd5daa061dc5a04e45c8ed9752e769afd92a2725264ad1bbe
AUX 5.5/jsr152_jsr154_examples_build_xml.patch 2478 RMD160 39a279b0f64bcf112fdaa26c51e3aaa2c7f7a089 SHA1 15857d3b5eaadd6c11bf271f7e7d4705aface448 SHA256 cdc63acd96a3d13d32c37fcbd975f85d38309a0df87a36bf8f49347dc34a181c
AUX 5.5/tomcat.conf.2 2927 RMD160 cc5faf4a3774e7498f2c6fe0d652f4ed2cf2a2fd SHA1 84bc4df821e08e3bab86329261f26e74de2a543e SHA256 109ad0c20f64b9ad9c60cca53a42fca7ba547ab27d8efdba1ef77732600af9dd
AUX 5.5/tomcat.init.2 3852 RMD160 de38c5ce7a0860d9e626f986d9787ef5044df6f7 SHA1 8d3ff55789278420e31a7fb3c7b9766097ce6e28 SHA256 f29db0936a677df99e81ad7e3a9a986c0f6419be25cd1ea9a4f525612d52b00c
AUX 6/build-xml.patch 2786 RMD160 7d05d8c4ddcadf882f918e54c8c51c9c54782944 SHA1 944111d0faacf74c7daabcd3aa07cd68daf4a317 SHA256 ef0d6b59aa09e44c789157200dc472331d46ca30434dfec020edeabf40ca9f30
AUX 6/catalina.policy 6956 RMD160 957ad3b5dc4aeaa5acd289cdaada0a2e48974d52 SHA1 13b65455c8f52fff9d1b09ea67e93ec7a88f1a47 SHA256 9399efda3f6cfc238fb783fb338060e67aff15d0044b31c3d0265e1f9e5769e5
+AUX 6/examples-cal.patch 565 RMD160 85294480f354eb19340bdc7357690ae55ef5a89f SHA1 e9550e02500f2d9da6f4f7b3c7ca79c1934318ea SHA256 caf76c88d3b67d29a7aadca1485accd01270d986e7bc77281a9b30f0b1582b55
AUX 6/tomcat.conf 2895 RMD160 36ece62ddff5257c04f47d75b9c77bd4dc198652 SHA1 8fef42463b7bf186e2f1d1aeb083bdb370603265 SHA256 b04b085618be755ad9e1796fcbcbb8c2e192eefda3b240f1c06b0d9cc88f2ff0
AUX 6/tomcat.init 3529 RMD160 45aabac31804faff713ca3648f4a675e5ea7ea89 SHA1 f2b499fda69d83aecda72742f88ed8bf64f5cfb3 SHA256 744daa31e36e548f76f2997c3e3430b961163bfe0d2ba2ef6d81f5c2ddb0470c
DIST apache-tomcat-5.5.27-src.tar.gz 7382057 RMD160 8114fa3be19fd28a5d2d0d7e7087f6d82e0f111f SHA1 c6217d78d2e64fa839a30372bd2724ba75030c14 SHA256 90bc8abcddda604e855c37035653b1e24b31c2f09b7a29235e92d65025f7a334
DIST apache-tomcat-6.0.18-src.tar.gz 3484249 RMD160 ef85db0d65a4f3bdd3ca821420d06535050b6a93 SHA1 9182b0d6b2d0cb2d60f04be6211f3b3516bc518e SHA256 f5ad5dd12e221d75e25234ca734fb434cf45f3fcea93623232a73dc9bfd03dc4
EBUILD tomcat-5.5.27-r1.ebuild 11239 RMD160 513f6ab8c61cf13294aab67003c7514606c102ea SHA1 94f4a35482230b0cdc4ddad08cb239346feb92f9 SHA256 224506c273eadb5c766db378a25b2cae99e025e53fa52ee8e3b1524e83083953
EBUILD tomcat-5.5.27-r2.ebuild 11243 RMD160 2112bba96146e547428441e4c7677a73294db1f2 SHA1 0de037803ba7838a58874c47e7857dae89adf214 SHA256 4c901bac9810effc349a09e2a1ddf05ed00e0516ec5e6c60485a728b739e9e1a
+EBUILD tomcat-5.5.27-r3.ebuild 11075 RMD160 fb38a45573403c31f4e21489f2a75a82ace7a3bb SHA1 75b0f658b7208ee188ca440a2ef69539e2f3bb6b SHA256 5e3ad2ae59fbf8f18da8afd8cc8134820910806e14bca1110119934e7b067369
EBUILD tomcat-6.0.18-r1.ebuild 6357 RMD160 0bd4d685c22771797d97f1441ed974803a6e9ecd SHA1 8ed98d07ccd2dae524c85bdf14c2e3d991ded7ca SHA256 9c5d97ae900375a0db0a633b106c3c724970add9ae18fee7387966037d0d081e
EBUILD tomcat-6.0.18-r2.ebuild 6358 RMD160 2204af89adc488f498d566301c276696858d1359 SHA1 221a80d50d874cf2bea11b8bcaeb75027acce338 SHA256 93bf5c1eee469e9deec6030de2bfd29cbbc0bc51af46f6ca1a2bde0e0c097f1b
-MISC ChangeLog 56110 RMD160 9d797e6b7197d15318609f16c54ec7e0a8243f3f SHA1 7ed33a272065fae365d249415af34b9975164bca SHA256 982795b5b42df23b68fa604e98711680c725b66f85fbb1d5b2a5804b2a0ef274
+EBUILD tomcat-6.0.18-r3.ebuild 6414 RMD160 95804768bedc60e335b62450ca88d6cff68fa4f9 SHA1 b7ecbdee493585b6e598cfce0f234e4a907d53f1 SHA256 97c2c05551825927bc02b91a779cc79735bd773d6839a51809c8c10861b4db88
+MISC ChangeLog 56436 RMD160 46590fbe437755ef5afe72242900a81f497f3cf4 SHA1 63b4c19748f8c963e0e25c2ec2f32fbb01c3245b SHA256 087198e292ff15c6bd81f236d679db11cbbba096580f778ac1f4164dd164955b
MISC metadata.xml 658 RMD160 db94c7bc6ba622acfe88f970aa7d2e6fa1718a2a SHA1 aa25178fefb68df9dee7d8fc0d925a2fbbb655dd SHA256 5ddc2743ca9e3ec0bef7983248a9c8eda9238425288efb3acdecc8a828714bd8
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.10 (GNU/Linux)
+
+iEYEARECAAYFAkmxcL4ACgkQcxLzpIGCsLTpIACfXbTn9AKhdHYl9XeCRT7pe/yu
+FowAn1dxC5qYO47N/eoLd2t0xHbvTwh9
+=AuQw
+-----END PGP SIGNATURE-----
diff --git a/www-servers/tomcat/files/5.5/examples-cal.patch b/www-servers/tomcat/files/5.5/examples-cal.patch
new file mode 100644
index 000000000000..2ede06dc3ff0
--- /dev/null
+++ b/www-servers/tomcat/files/5.5/examples-cal.patch
@@ -0,0 +1,11 @@
+--- servletapi/jsr152/examples/cal/cal2.jsp 2008-08-28 20:14:05.000000000 -0700
++++ servletapi/jsr152/examples/cal/cal2-new.jsp 2009-03-06 08:39:44.000000000 -0800
+@@ -35,7 +35,7 @@
+ <FORM METHOD=POST ACTION=cal1.jsp>
+ <BR>
+ <BR> <INPUT NAME="date" TYPE=HIDDEN VALUE="current">
+-<BR> <INPUT NAME="time" TYPE=HIDDEN VALUE=<%= util.HTMLFilter.filter(time) %>
++<BR> <INPUT NAME="time" TYPE=HIDDEN VALUE="<%= util.HTMLFilter.filter(time) %>">
+ <BR> <h2> Description of the event <INPUT NAME="description" TYPE=TEXT SIZE=20> </h2>
+ <BR> <INPUT TYPE=SUBMIT VALUE="submit">
+ </FORM>
diff --git a/www-servers/tomcat/files/6/examples-cal.patch b/www-servers/tomcat/files/6/examples-cal.patch
new file mode 100644
index 000000000000..b8acde4f8791
--- /dev/null
+++ b/www-servers/tomcat/files/6/examples-cal.patch
@@ -0,0 +1,11 @@
+--- webapps/examples/jsp/cal/cal2.jsp 2008-07-21 17:01:28.000000000 -0700
++++ webapps/examples/jsp/cal/cal2-new.jsp 2009-03-06 08:22:39.000000000 -0800
+@@ -35,7 +35,7 @@
+ <FORM METHOD=POST ACTION=cal1.jsp>
+ <BR>
+ <BR> <INPUT NAME="date" TYPE=HIDDEN VALUE="current">
+-<BR> <INPUT NAME="time" TYPE=HIDDEN VALUE=<%= util.HTMLFilter.filter(time) %>
++<BR> <INPUT NAME="time" TYPE=HIDDEN VALUE="<%= util.HTMLFilter.filter(time) %>">
+ <BR> <h2> Description of the event <INPUT NAME="description" TYPE=TEXT SIZE=20> </h2>
+ <BR> <INPUT TYPE=SUBMIT VALUE="submit">
+ </FORM>
diff --git a/www-servers/tomcat/tomcat-5.5.27-r3.ebuild b/www-servers/tomcat/tomcat-5.5.27-r3.ebuild
new file mode 100644
index 000000000000..82027234642b
--- /dev/null
+++ b/www-servers/tomcat/tomcat-5.5.27-r3.ebuild
@@ -0,0 +1,338 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/tomcat-5.5.27-r3.ebuild,v 1.1 2009/03/06 18:50:13 betelgeuse Exp $
+
+EAPI="2"
+JAVA_PKG_IUSE="doc source"
+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 examples test"
+
+RDEPEND="dev-java/eclipse-ecj:3.3
+ dev-java/ant-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: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}[java5?]
+ ${SERVLET_API}
+ 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.0
+ dev-java/xerces:2
+ 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"
+ # https://issues.apache.org/bugzilla/show_bug.cgi?id=45827
+ epatch "${FILESDIR}/${SLOT}/5.5.27-dynamic-JSSE13Factory.patch"
+ epatch "${FILESDIR}/${SLOT}/examples-cal.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"
+
+ einfo "Removing 1.3 factories to so we don't need com.sun.*"
+ rm -v connectors/util/java/org/apache/tomcat/util/net/jsse/*13* || die
+
+ # 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-io.jar=$(java-pkg_getjars commons-io-1)"
+ 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
+ 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
+}
diff --git a/www-servers/tomcat/tomcat-6.0.18-r3.ebuild b/www-servers/tomcat/tomcat-6.0.18-r3.ebuild
new file mode 100644
index 000000000000..ba7b5c8c67fe
--- /dev/null
+++ b/www-servers/tomcat/tomcat-6.0.18-r3.ebuild
@@ -0,0 +1,201 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/tomcat-6.0.18-r3.ebuild,v 1.1 2009/03/06 18:50:13 betelgeuse Exp $
+
+EAPI=1
+JAVA_PKG_IUSE="doc source"
+WANT_ANT_TASKS="ant-trax"
+
+inherit eutils java-pkg-2 java-ant-2
+
+DESCRIPTION="Tomcat Servlet-2.5/JSP-2.1 Container"
+
+MY_P="apache-${P}-src"
+SLOT="6"
+SRC_URI="mirror://apache/${PN}/${PN}-6/v${PV/_/-}/src/${MY_P}.tar.gz"
+HOMEPAGE="http://tomcat.apache.org/"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd"
+LICENSE="Apache-2.0"
+
+IUSE="examples test"
+
+COMMON_DEPEND="dev-java/eclipse-ecj:3.3
+ dev-java/ant-eclipse-ecj:3.3
+ >=dev-java/commons-daemon-1.0.1
+ >=dev-java/commons-dbcp-1.2.1
+ >=dev-java/commons-logging-1.1
+ >=dev-java/commons-pool-1.2
+ ~dev-java/tomcat-servlet-api-${PV}
+ examples? ( dev-java/jakarta-jstl )"
+
+RDEPEND=">=virtual/jre-1.5
+ dev-java/ant-core
+ ${COMMON_DEPEND}"
+
+DEPEND=">=virtual/jdk-1.5
+ ${COMMON_DEPEND}
+ test? ( =dev-java/junit-3.8* )"
+
+S=${WORKDIR}/${MY_P}
+
+TOMCAT_NAME="${PN}-${SLOT}"
+TOMCAT_HOME="/usr/share/${TOMCAT_NAME}"
+WEBAPPS_DIR="/var/lib/${TOMCAT_NAME}/webapps"
+
+pkg_setup() {
+ java-pkg-2_pkg_setup
+ enewgroup tomcat 265
+ enewuser tomcat 265 -1 /dev/null tomcat
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ epatch "${FILESDIR}/${SLOT}/build-xml.patch"
+ epatch "${FILESDIR}/${SLOT}/examples-cal.patch"
+
+ cd webapps/examples/WEB-INF/lib/
+ rm -v *.jar
+}
+
+src_compile(){
+ # Fix for bug # 178980
+ if use amd64 && [[ "${GENTOO_VM}" = "sun-jdk-1.5" ]] ; then
+ java-pkg_force-compiler ecj-3.3
+ fi
+
+ local antflags="build-jasper-jdt deploy -Dbase.path=${T}"
+ antflags="${antflags} -Dcompile.debug=false"
+ if ! use doc; then
+ antflags="${antflags} -Dnobuild.docs=true"
+ fi
+ antflags="${antflags} -Dant.jar=$(java-pkg_getjar ant-core ant.jar)"
+ antflags="${antflags} -Dcommons-daemon.jar=$(java-pkg_getjar commons-daemon commons-daemon.jar)"
+ 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.5 jsp-api.jar)"
+ antflags="${antflags} -Dservlet-api.jar=$(java-pkg_getjar tomcat-servlet-api-2.5 servlet-api.jar)"
+ antflags="${antflags} -Dversion=${PV} -Dversion.number=${PV}"
+ eant ${antflags}
+}
+
+src_install() {
+ cd "${S}/output/build/bin"
+ rm -f *.bat commons-daemon.jar
+ java-pkg_jar-from commons-daemon
+ chmod 755 *.sh
+
+ # register jars per bug #171496
+ cd "${S}/output/build/lib/"
+ for jar in *.jar; do
+ java-pkg_dojar ${jar}
+ done
+
+ local CATALINA_BASE=/var/lib/${TOMCAT_NAME}/
+
+ # init.d, conf.d
+ newinitd "${FILESDIR}"/${SLOT}/tomcat.init ${TOMCAT_NAME}
+ newconfd "${FILESDIR}"/${SLOT}/tomcat.conf ${TOMCAT_NAME}
+
+ # create dir structure
+ dodir /usr/share/${TOMCAT_NAME}
+
+ diropts -m750 -o tomcat -g tomcat
+ dodir /etc/${TOMCAT_NAME}
+ keepdir ${WEBAPPS_DIR}
+
+ diropts -m755 -o tomcat -g tomcat
+ dodir ${CATALINA_BASE}
+
+ diropts -m775 -o tomcat -g tomcat
+ dodir /etc/${TOMCAT_NAME}/Catalina/localhost
+ keepdir /var/log/${TOMCAT_NAME}/
+ keepdir /var/run/${TOMCAT_NAME}/
+ keepdir /var/tmp/${TOMCAT_NAME}/
+
+ cd "${S}"
+ # fix context's so webapps will be deployed
+ sed -i -e 's:Context a:Context docBase="${catalina.home}/webapps/host-manager" a:' "${S}"/webapps/host-manager/META-INF/context.xml
+ sed -i -e 's:Context a:Context docBase="${catalina.home}/webapps/manager" a:' "${S}"/webapps/manager/META-INF/context.xml
+
+ # 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.xml
+
+ # copy over the directories
+ chown -R tomcat:tomcat webapps/* conf/*
+ cp -pR conf/* "${D}"/etc/${TOMCAT_NAME} || die "failed to copy conf"
+ cp -pPR output/build/bin "${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"
+
+ cp "${T}"/tomcat6-deps/jdt/jasper-jdt.jar "${D}"/usr/share/${TOMCAT_NAME}/lib \
+ || die "failed to copy"
+
+ cd "${D}/usr/share/${TOMCAT_NAME}/lib"
+ java-pkg_jar-from tomcat-servlet-api-2.5
+
+ cd "${S}"
+
+ # 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
+
+ diropts -m755 -o tomcat -g tomcat
+ dodir ${TOMCAT_HOME}/webapps
+ cp -pr webapps/host-manager "${D}"${TOMCAT_HOME}/webapps
+ cp -pr webapps/manager "${D}"${TOMCAT_HOME}/webapps
+
+ if use doc; then
+ cp -pr output/build/webapps/docs "${D}"${CATALINA_BASE}/webapps
+ fi
+ if use examples; then
+ cd output/build/webapps/examples/WEB-INF/lib
+ java-pkg_jar-from jakarta-jstl jstl.jar
+ java-pkg_jar-from jakarta-jstl standard.jar
+ cd "${S}"
+ cp -pPr output/build/webapps/examples "${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
+
+ # link the manager's context to the right position
+ dosym ${TOMCAT_HOME}/webapps/host-manager/META-INF/context.xml /etc/${TOMCAT_NAME}/Catalina/localhost/host-manager.xml
+ dosym ${TOMCAT_HOME}/webapps/manager/META-INF/context.xml /etc/${TOMCAT_NAME}/Catalina/localhost/manager.xml
+
+ dodoc "${S}"/{RELEASE-NOTES,RUNNING.txt}
+ fperms 640 /etc/${TOMCAT_NAME}/tomcat-users.xml
+}
+
+pkg_postinst() {
+ ewarn "Changing ownership recursively on /etc/${TOMCAT_NAME}"
+ # temp fix for bug #176097
+ chown -fR tomcat:tomcat /etc/${TOMCAT_NAME}
+ ewarn "Owner ship changed to tomcat:tomcat. Temp hack/fix."
+
+ elog
+ elog " This ebuild implements a FHS compliant layout for tomcat"
+ elog " Please read http://www.gentoo.org/proj/en/java/tomcat6-guide.xml"
+ elog " for more information."
+ elog
+ ewarn "tomcat-dbcp.jar is not built at this time. Please fetch jar"
+ ewarn "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 report any bugs to http://bugs.gentoo.org/"
+ elog
+}