diff options
author | Miroslav Šulc <fordfrog@gentoo.org> | 2011-01-19 02:40:48 +0000 |
---|---|---|
committer | Miroslav Šulc <fordfrog@gentoo.org> | 2011-01-19 02:40:48 +0000 |
commit | 6623c8fedf6077d5d3f3f6521a2c36a4e8a02b28 (patch) | |
tree | bf5f7a957be091c13de7f6586d15f54b94bf3e1c /www-servers | |
parent | dev-java/maven-bin: marked 1.1 back stable (diff) | |
download | historical-6623c8fedf6077d5d3f3f6521a2c36a4e8a02b28.tar.gz historical-6623c8fedf6077d5d3f3f6521a2c36a4e8a02b28.tar.bz2 historical-6623c8fedf6077d5d3f3f6521a2c36a4e8a02b28.zip |
www-servers/tomcat: fixed bug #339603
Package-Manager: portage-2.1.9.33/cvs/Linux x86_64
Diffstat (limited to 'www-servers')
-rw-r--r-- | www-servers/tomcat/ChangeLog | 8 | ||||
-rw-r--r-- | www-servers/tomcat/Manifest | 4 | ||||
-rw-r--r-- | www-servers/tomcat/files/5.5/build-jspc-classpath.patch | 42 | ||||
-rw-r--r-- | www-servers/tomcat/tomcat-5.5.27-r5.ebuild | 311 |
4 files changed, 363 insertions, 2 deletions
diff --git a/www-servers/tomcat/ChangeLog b/www-servers/tomcat/ChangeLog index b14b176959f8..4e81daa02eff 100644 --- a/www-servers/tomcat/ChangeLog +++ b/www-servers/tomcat/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for www-servers/tomcat # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/ChangeLog,v 1.235 2011/01/18 18:02:20 fordfrog Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/ChangeLog,v 1.236 2011/01/19 02:40:47 fordfrog Exp $ + +*tomcat-5.5.27-r5 (19 Jan 2011) + + 19 Jan 2011; Miroslav Šulc <fordfrog@gentoo.org> + +files/5.5/build-jspc-classpath.patch, +tomcat-5.5.27-r5.ebuild: + Fixed bug #339603, thanks to Isaac Richter <LaughingJudge@gmail.com> *tomcat-7.0.5-r1 (18 Jan 2011) *tomcat-6.0.29-r1 (18 Jan 2011) diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest index bb1ba065b038..5ce9602f3b3c 100644 --- a/www-servers/tomcat/Manifest +++ b/www-servers/tomcat/Manifest @@ -1,5 +1,6 @@ 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/build-jspc-classpath.patch 1486 RMD160 454b41920a864e06b5b70e448fae724241eb008d SHA1 3671b1cd4d53fd248c19380c96760c051f7f7bff SHA256 865fd2a8721799b1628fe7b31f9bad00563d679236aba5656740feb310b6eb88 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 @@ -21,10 +22,11 @@ DIST apache-tomcat-6.0.28-src.tar.gz 3325872 RMD160 4a699324f332b8c32fa79615f146 DIST apache-tomcat-6.0.29-src.tar.gz 3330475 RMD160 eb789c63aaf629ec897b4280924e086c969169f6 SHA1 255e080706578be0b0f15c67989718ab94e52837 SHA256 9746483edb46b112a81b57376701c7c23c5c657675c2c7efa3187447c07b9d28 DIST apache-tomcat-7.0.5-src.tar.gz 3790790 RMD160 c09630d499c2bc3e5dfa69b8ff345f53e969a811 SHA1 e69524cca265a34c1abf7c8d53dd52622e22299d SHA256 f289474b8deb869682f5f8fad4355600caa99d779b4414917401ab9a647ee737 EBUILD tomcat-5.5.27-r4.ebuild 10058 RMD160 a235794b1e53760c35289566dcaff2446437f53d SHA1 a49fb2db00fbcab78ab8672cdb11a8b0404df671 SHA256 18b69fb66c088a621db636243823701504af0a1dcc16df378e018f1958ecfa01 +EBUILD tomcat-5.5.27-r5.ebuild 10119 RMD160 ef3c4d2d31ca81fdc357afdb11c13704ed14a5a1 SHA1 daf3d57e12f9bd8f25465e74be7f3bef945a8db2 SHA256 2dcbf313716d4e208f3c70abc759a9c43cb066705793d1ad94304363b270906f EBUILD tomcat-6.0.26-r2.ebuild 6913 RMD160 bdf0aba8f686216106286f7210823387699e1960 SHA1 75ea1850ed3d9f2ab7a2194cefa022e0652e286a SHA256 33fe5868df3c1eb86983fc9c220629947b2ec0538f7467aaafa14ed1571a14a2 EBUILD tomcat-6.0.26.ebuild 6861 RMD160 38045bfd3921e366823b00061ee327fb17d21bbf SHA1 272759bcbf4744ec404e6c941c2aeac3852c58e8 SHA256 1d8198ae22485ffb11a87690f969f272c6446c3a83b4137bc14b7f1f8a62cba2 EBUILD tomcat-6.0.28-r1.ebuild 6948 RMD160 dcc281587e6a2bd0dd81808e1fa5d1a4c5a3a7f7 SHA1 57ef17a33196a95e7581cdc6fcba3ba38679da57 SHA256 7af5502722afe40b4e54e4306598b9c86197ef0304022791ac96dbcfc3dbec9e EBUILD tomcat-6.0.29-r1.ebuild 6948 RMD160 d340dad22a80e36a03bdc0614fee97ce9e296fe2 SHA1 4885f884254f2475a6ca004e82dcfeed9462de7b SHA256 a6f9cba93f8f07fd184b62ac7aa2830b7d420050c08e13a060db54c77c730e7f EBUILD tomcat-7.0.5-r1.ebuild 7097 RMD160 9c17268799c3e6f36d30985b7f2757e51658aef2 SHA1 afcb2863df4d9b8066dd831b77b253e19f6e9a72 SHA256 0e60ee536b32d0721b6128194d24fec08bb2bcb9e58a2bd941e017b45e8712f3 -MISC ChangeLog 60790 RMD160 2c30e2786bfb3405643e8b65f7cc0af8eef79e2d SHA1 c28e1da666767c7bd84f50ad242a8404bf757697 SHA256 8856180a35c5c65f6ed8d4f055b7c5e77e6af2f9cb84f2086a8c95aebead9700 +MISC ChangeLog 61014 RMD160 2086a485d03507fece7c08538b1de3cd68fd34b3 SHA1 850473b9c056258363d3664130d3f783f9e2e3b0 SHA256 374c165997e81a8780aef946e0ad7b5eb3a7d9f1470e6c98b53ef1543a4578e3 MISC metadata.xml 658 RMD160 db94c7bc6ba622acfe88f970aa7d2e6fa1718a2a SHA1 aa25178fefb68df9dee7d8fc0d925a2fbbb655dd SHA256 5ddc2743ca9e3ec0bef7983248a9c8eda9238425288efb3acdecc8a828714bd8 diff --git a/www-servers/tomcat/files/5.5/build-jspc-classpath.patch b/www-servers/tomcat/files/5.5/build-jspc-classpath.patch new file mode 100644 index 000000000000..3c34001428fd --- /dev/null +++ b/www-servers/tomcat/files/5.5/build-jspc-classpath.patch @@ -0,0 +1,42 @@ +Index: apache-tomcat-5.5.27-src/build/build.xml +=================================================================== +--- apache-tomcat-5.5.27-src.orig/build/build.xml ++++ apache-tomcat-5.5.27-src/build/build.xml +@@ -412,18 +412,6 @@ + <touch file="${tomcat.build}/server/webapps/admin/WEB-INF/web.xml" /> + </target> + +- <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="ROOT.base" location="${tomcat.build}/webapps/ROOT" /> +- +- <mkdir dir="${ROOT.base}/WEB-INF/src" /> +- <mkdir dir="${ROOT.base}/WEB-INF/classes" /> +- + <path id="jspc.classpath"> + <pathelement location="${java.home}/../lib/tools.jar"/> + <pathelement location="${commons-logging.jar}"/> +@@ -444,6 +432,18 @@ + </fileset> + </path> + ++ <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="ROOT.base" location="${tomcat.build}/webapps/ROOT" /> ++ ++ <mkdir dir="${ROOT.base}/WEB-INF/src" /> ++ <mkdir dir="${ROOT.base}/WEB-INF/classes" /> ++ + <taskdef classname="org.apache.jasper.JspC" name="jasper2" > + <classpath refid="jspc.classpath"/> + </taskdef> diff --git a/www-servers/tomcat/tomcat-5.5.27-r5.ebuild b/www-servers/tomcat/tomcat-5.5.27-r5.ebuild new file mode 100644 index 000000000000..16be926787e6 --- /dev/null +++ b/www-servers/tomcat/tomcat-5.5.27-r5.ebuild @@ -0,0 +1,311 @@ +# Copyright 1999-2011 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-r5.ebuild,v 1.1 2011/01/19 02:40:47 fordfrog 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 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}-r1:2.4 + dev-java/ant-core + admin? ( dev-java/struts:1.2 ) + dev-java/sun-javamail + >=virtual/jre-1.5" +DEPEND=">=virtual/jdk-1.5 + ${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 +} + +java_prepare() { + 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" + epatch "${FILESDIR}/${SLOT}/build-jspc-classpath.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 + + 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" + + 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 +} |