diff options
author | Alistair Bush <ali_bush@gentoo.org> | 2008-12-19 20:48:47 +0000 |
---|---|---|
committer | Alistair Bush <ali_bush@gentoo.org> | 2008-12-19 20:48:47 +0000 |
commit | 073cd0dd68b94d901a70d10043129ad666138b8c (patch) | |
tree | e66f041dc1ecf955e6e35de79c29471a79da220d /www-servers/tomcat | |
parent | Fix bug 250420 thanks to Joel <joel_123@hotmail.com> (diff) | |
download | historical-073cd0dd68b94d901a70d10043129ad666138b8c.tar.gz historical-073cd0dd68b94d901a70d10043129ad666138b8c.tar.bz2 historical-073cd0dd68b94d901a70d10043129ad666138b8c.zip |
Bump to fix #246362.
Package-Manager: portage-2.1.6.1/cvs/Linux 2.6.27-gentoo-r4 x86_64
Diffstat (limited to 'www-servers/tomcat')
-rw-r--r-- | www-servers/tomcat/ChangeLog | 10 | ||||
-rw-r--r-- | www-servers/tomcat/Manifest | 22 | ||||
-rw-r--r-- | www-servers/tomcat/files/5.5/tomcat.conf.2 | 4 | ||||
-rwxr-xr-x | www-servers/tomcat/files/5.5/tomcat.init.2 | 9 | ||||
-rw-r--r-- | www-servers/tomcat/files/6/tomcat.conf | 4 | ||||
-rwxr-xr-x | www-servers/tomcat/files/6/tomcat.init | 9 | ||||
-rw-r--r-- | www-servers/tomcat/tomcat-5.5.27-r2.ebuild | 343 | ||||
-rw-r--r-- | www-servers/tomcat/tomcat-6.0.18-r2.ebuild | 200 |
8 files changed, 581 insertions, 20 deletions
diff --git a/www-servers/tomcat/ChangeLog b/www-servers/tomcat/ChangeLog index 8483caea6356..bfe31fd61eb9 100644 --- a/www-servers/tomcat/ChangeLog +++ b/www-servers/tomcat/ChangeLog @@ -1,6 +1,14 @@ # 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.202 2008/12/10 19:29:54 betelgeuse Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/ChangeLog,v 1.203 2008/12/19 20:48:47 ali_bush Exp $ + +*tomcat-6.0.18-r2 (19 Dec 2008) +*tomcat-5.5.27-r2 (19 Dec 2008) + + 19 Dec 2008; Alistair Bush <ali_bush@gentoo.org> files/5.5/tomcat.conf.2, + files/6/tomcat.conf, files/5.5/tomcat.init.2, files/6/tomcat.init, + +tomcat-5.5.27-r2.ebuild, +tomcat-6.0.18-r2.ebuild: + Bump tomcat. Update init script to test for temp dir to fix #246362. 10 Dec 2008; Petteri Räty <betelgeuse@gentoo.org> metadata.xml: Add weisso as proxy maintainer. diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest index 960c55eeace8..55865f6729d2 100644 --- a/www-servers/tomcat/Manifest +++ b/www-servers/tomcat/Manifest @@ -1,32 +1,24 @@ ------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/jsr152_jsr154_examples_build_xml.patch 2478 RMD160 39a279b0f64bcf112fdaa26c51e3aaa2c7f7a089 SHA1 15857d3b5eaadd6c11bf271f7e7d4705aface448 SHA256 cdc63acd96a3d13d32c37fcbd975f85d38309a0df87a36bf8f49347dc34a181c -AUX 5.5/tomcat.conf.2 2775 RMD160 9ab105f0e57276c105fb406d5632cc2a47401c26 SHA1 cb00a622c7858a81838292200d36d7901ee9cb2e SHA256 7539da9262abd8f8b04e9589e8a733a64670f641035a1ca8a40a236e486038f2 -AUX 5.5/tomcat.init.2 3679 RMD160 48068f010cb0f0fd4bf54384485faa8791b0d00d SHA1 a37bd7ba46d4fd25ee719b1e0d6042778be5f999 SHA256 e0f64f1e1b104c9cd9807308809e6e09a99b2fff235e4c1c7923fa64d9326e80 +AUX 5.5/tomcat.conf.2 2927 RMD160 cc5faf4a3774e7498f2c6fe0d652f4ed2cf2a2fd SHA1 84bc4df821e08e3bab86329261f26e74de2a543e SHA256 109ad0c20f64b9ad9c60cca53a42fca7ba547ab27d8efdba1ef77732600af9dd +AUX 5.5/tomcat.init.2 3869 RMD160 d441b26e689b68615b778fd026c4c610f6623bd6 SHA1 bb26a199d27b7c0bb7c0c6980c8d56894225ab8c SHA256 b7d291179d201066106579db8bd31f5ca38943608b4d507e9e0edf840416788c 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/tomcat.conf 2756 RMD160 4679e6b1e15c3ef70b832f57f1e7f85b21d60b38 SHA1 a48eaaffb5537cf8a2756cc3d23a8306e3fa7291 SHA256 159edf302064703b7636f381d2a0e2f8a4d533bdad4f438795d1b98728785a82 -AUX 6/tomcat.init 3355 RMD160 169a9af752e814f7cafbfa849fb1dbc433bbbbf3 SHA1 96a474418bfe6844468ac43fd7b4ecc53e7ce942 SHA256 d53e31a221a3e78f6cc8686d7e123da10216a46851e64a2f5819f1f8147b86b8 +AUX 6/tomcat.conf 2895 RMD160 36ece62ddff5257c04f47d75b9c77bd4dc198652 SHA1 8fef42463b7bf186e2f1d1aeb083bdb370603265 SHA256 b04b085618be755ad9e1796fcbcbb8c2e192eefda3b240f1c06b0d9cc88f2ff0 +AUX 6/tomcat.init 3545 RMD160 2db4101f2afdfafe20d27c3e0189836eb5c7eee1 SHA1 02698719e43c246c2fc4dc0d44a312a07fc86fe0 SHA256 7e56f061fd6ec33d7cff99d7313d53e3229b6a10291238df01db1763963d77cd DIST apache-tomcat-5.5.26-src.tar.gz 5062991 RMD160 c82e7640b36c27cfc6ea51f01dc3ff492441a930 SHA1 1eb1c479023d3a7e459ce03860d9d984b673ab27 SHA256 ddc677d7391c438e6102d0b3e9653eaca661344ef74b0260c1f488340d660395 DIST apache-tomcat-5.5.27-src.tar.gz 7382057 RMD160 8114fa3be19fd28a5d2d0d7e7087f6d82e0f111f SHA1 c6217d78d2e64fa839a30372bd2724ba75030c14 SHA256 90bc8abcddda604e855c37035653b1e24b31c2f09b7a29235e92d65025f7a334 DIST apache-tomcat-6.0.16-src.tar.gz 3527896 RMD160 8e6c0900889439f4cb89db35afb0c27e77103c00 SHA1 74127ba3da450a97869f2a2a2f0e134d23474018 SHA256 9e0a776f9d9c5fe935a39b066f74c07e7d26b4f30b66b22622a20dec235b0a7f DIST apache-tomcat-6.0.18-src.tar.gz 3484249 RMD160 ef85db0d65a4f3bdd3ca821420d06535050b6a93 SHA1 9182b0d6b2d0cb2d60f04be6211f3b3516bc518e SHA256 f5ad5dd12e221d75e25234ca734fb434cf45f3fcea93623232a73dc9bfd03dc4 EBUILD tomcat-5.5.26.ebuild 10956 RMD160 def823fb1872b6a29fce27f2fbb3d821e02f0047 SHA1 c55fc5fe2815405cce9df2700e0194f2e5b23610 SHA256 fe7e7e9dc8bad29644611cc532ff6d6709056b5953929d8bf91e6ec3093ba4b7 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.ebuild 10823 RMD160 3c8839d68755592ed1423813e9536b241cbb5752 SHA1 49bbda26a57877cd09a32895ce7021e8812a63a5 SHA256 471ba2ce604e29e6f6aedd32a5d9e10c779ba2bd5834dcf812cdca2ad5ea5f94 EBUILD tomcat-6.0.16.ebuild 6290 RMD160 8ddb427fbd5f776da58a1efbeafab9861f8ddcba SHA1 eedebefa220053bb55a5e500aba1f25129ae231d SHA256 6ea2a0011e98dd70235e7431b55a620e81b513fad110b10eda5b6c406bf634ef EBUILD tomcat-6.0.18-r1.ebuild 6357 RMD160 0bd4d685c22771797d97f1441ed974803a6e9ecd SHA1 8ed98d07ccd2dae524c85bdf14c2e3d991ded7ca SHA256 9c5d97ae900375a0db0a633b106c3c724970add9ae18fee7387966037d0d081e +EBUILD tomcat-6.0.18-r2.ebuild 6363 RMD160 f99e45b73cfb49ac77bd0826f4b47e3377893940 SHA1 0951272b8f5b56b9bdbdac4fb04b54fc49c05cfd SHA256 f7ee8b7b87542c51b7df149e9ecabb6a549cec3b0151a9ad4dc2d4c4bbbf6336 EBUILD tomcat-6.0.18.ebuild 6292 RMD160 06ef935b55eb04a604b909dab996d2227ab03c7a SHA1 7519b3837e81c1c4a0ddeccceaa10ea73785d457 SHA256 47ba94b7be1df148216f6b0f7dd740a5d9b3bdc2dd2fd7fb2d21c0e703551e9d -MISC ChangeLog 55148 RMD160 47adbcc000f4cc3dc73ff474d13dff1b3b16cb04 SHA1 7456b2639aeb12ae1b15d25d018a07463763b9e8 SHA256 3c94a0d79b8bcc8725d078bfb3897aacc8430268bed2d0ce991e4cdecc8e9296 +MISC ChangeLog 55482 RMD160 1a34558e461d26eb1b2e78235066a5581dfa5732 SHA1 3fd082acfd75f1a1f6ea06ac5e9d3871577849ed SHA256 5f42b76a47cfc6a2435404ae6f2042be2d6a5ab23de09ec4a37db77d41ff22fc MISC metadata.xml 658 RMD160 db94c7bc6ba622acfe88f970aa7d2e6fa1718a2a SHA1 aa25178fefb68df9dee7d8fc0d925a2fbbb655dd SHA256 5ddc2743ca9e3ec0bef7983248a9c8eda9238425288efb3acdecc8a828714bd8 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.9 (GNU/Linux) - -iEYEARECAAYFAklAGLoACgkQcxLzpIGCsLR+dgCggUg6gZGYdUgpUJx5Os2aOW7N -fiMAoINvWB8AACDSYtW4zLzAmftJ7xyK -=Jup+ ------END PGP SIGNATURE----- diff --git a/www-servers/tomcat/files/5.5/tomcat.conf.2 b/www-servers/tomcat/files/5.5/tomcat.conf.2 index ea32decf3cc2..88e00c7d613b 100644 --- a/www-servers/tomcat/files/5.5/tomcat.conf.2 +++ b/www-servers/tomcat/files/5.5/tomcat.conf.2 @@ -1,4 +1,4 @@ -# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/files/5.5/tomcat.conf.2,v 1.3 2007/05/31 23:01:57 wltjr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/files/5.5/tomcat.conf.2,v 1.4 2008/12/19 20:48:47 ali_bush Exp $ # JVM Runtime # Using the default setting, it will determine your JVM from the system-vm @@ -34,6 +34,8 @@ CLASSPATH=${CATALINA_LIBDIR} # (Optional) Directory path location of temporary directory the JVM should # use (java.io.tmpdir). Defaults to $CATALINA_BASE/temp. +# Note: This directory must exist and be read/writable by tomcat. +# See #246362 as an example where /var/tmp was deleted on shutdown. CATALINA_TMPDIR="/var/tmp/tomcat-5.5/" # TOMCAT STARTUP/SHUTDOWN diff --git a/www-servers/tomcat/files/5.5/tomcat.init.2 b/www-servers/tomcat/files/5.5/tomcat.init.2 index 43cf79b0d665..6211c9baa85d 100755 --- a/www-servers/tomcat/files/5.5/tomcat.init.2 +++ b/www-servers/tomcat/files/5.5/tomcat.init.2 @@ -1,7 +1,7 @@ #!/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/tomcat.init.2,v 1.6 2007/05/20 23:24:56 wltjr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/files/5.5/tomcat.init.2,v 1.7 2008/12/19 20:48:47 ali_bush Exp $ init_env_vars() { if [ "$(gjl -p tomcat-5.5 --get-vm)" ] ; then @@ -69,6 +69,13 @@ depend() { start() { ebegin "Starting Tomcat" init_env_vars + + if [ ! -e "${CATALINA_TMPDIR}" ]; then + eerror "CATALINA_TMPDIR does not exist. Unable to start tomcat." + eerror "Please see /etc/conf.d/tomcat-6 for more information." + eend 1 + fi + # Figure out what arguments to pass start_helper based on TOMCAT_START if [ "${TOMCAT_START}" = "debug" ] ; then start_helper ${JAVA_HOME}/bin/jdb \ diff --git a/www-servers/tomcat/files/6/tomcat.conf b/www-servers/tomcat/files/6/tomcat.conf index 0e270c6345d7..5fc22e3a921e 100644 --- a/www-servers/tomcat/files/6/tomcat.conf +++ b/www-servers/tomcat/files/6/tomcat.conf @@ -1,4 +1,4 @@ -# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/files/6/tomcat.conf,v 1.4 2007/05/31 23:01:57 wltjr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/files/6/tomcat.conf,v 1.5 2008/12/19 20:48:47 ali_bush Exp $ # JVM Runtime # Using the default setting, it will determine your JVM from the system-vm @@ -34,6 +34,8 @@ CLASSPATH=${CATALINA_LIBDIR} # (Optional) Directory path location of temporary directory the JVM should # use (java.io.tmpdir). Defaults to $CATALINA_BASE/temp. +# Note: This directory must exist and be read/writable by tomcat. +# See #246362 as an example where /var/tmp was deleted on shutdown. CATALINA_TMPDIR="/var/tmp/tomcat-6/" # TOMCAT STARTUP/SHUTDOWN diff --git a/www-servers/tomcat/files/6/tomcat.init b/www-servers/tomcat/files/6/tomcat.init index 24fbea7901c5..34178058e203 100755 --- a/www-servers/tomcat/files/6/tomcat.init +++ b/www-servers/tomcat/files/6/tomcat.init @@ -1,7 +1,7 @@ #!/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/6/tomcat.init,v 1.8 2007/05/17 21:15:05 wltjr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/files/6/tomcat.init,v 1.9 2008/12/19 20:48:47 ali_bush Exp $ init_env_vars() { # Populate JAVA_HOME @@ -60,6 +60,13 @@ depend() { start() { ebegin "Starting Tomcat" init_env_vars + + if [ ! -e "${CATALINA_TMPDIR}" ]; then + eerror "CATALINA_TMPDIR does not exist. Unable to start tomcat." + eerror "Please see /etc/conf.d/tomcat-6 for more information." + eend 1 + fi + # Figure out what arguments to pass start_helper based on TOMCAT_START if [ "${TOMCAT_START}" = "debug" ] ; then start_helper ${JAVA_HOME}/bin/jdb \ diff --git a/www-servers/tomcat/tomcat-5.5.27-r2.ebuild b/www-servers/tomcat/tomcat-5.5.27-r2.ebuild new file mode 100644 index 000000000000..6c8f1230d0ff --- /dev/null +++ b/www-servers/tomcat/tomcat-5.5.27-r2.ebuild @@ -0,0 +1,343 @@ +# 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.27-r2.ebuild,v 1.1 2008/12/19 20:48:47 ali_bush 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.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" + +SERVLET_API="~dev-java/tomcat-servlet-api-${PV}" +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 + ${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 + if use !java5 && built_with_use ${SERVLET_API} java5; + then + eerror "With USE=\"-java5\" ${SERVLET_API} must also" + eerror "be built without java5 support" + die "Rebuild ${SERVLET_API} without java5 support" + fi +} + +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" + + 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-r2.ebuild b/www-servers/tomcat/tomcat-6.0.18-r2.ebuild new file mode 100644 index 000000000000..f56cd99b9633 --- /dev/null +++ b/www-servers/tomcat/tomcat-6.0.18-r2.ebuild @@ -0,0 +1,200 @@ +# 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-6.0.18-r2.ebuild,v 1.1 2008/12/19 20:48:47 ali_bush 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" + + 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 +} |