From a6cf45e034dc58f7e1672a041a151fa95e3f7ec5 Mon Sep 17 00:00:00 2001 From: Petteri Räty Date: Wed, 14 Dec 2005 00:29:21 +0000 Subject: Tomcat needs a newer xml-apis.jar from xml-commons-external to work instead of the older version found in xml-commons. (Portage version: 2.0.53) --- www-servers/tomcat/ChangeLog | 9 +- www-servers/tomcat/Manifest | 16 +- www-servers/tomcat/files/digest-tomcat-5.0.28-r11 | 1 - www-servers/tomcat/files/digest-tomcat-5.0.28-r12 | 1 + www-servers/tomcat/tomcat-5.0.28-r11.ebuild | 337 ---------------------- www-servers/tomcat/tomcat-5.0.28-r12.ebuild | 337 ++++++++++++++++++++++ 6 files changed, 349 insertions(+), 352 deletions(-) delete mode 100644 www-servers/tomcat/files/digest-tomcat-5.0.28-r11 create mode 100644 www-servers/tomcat/files/digest-tomcat-5.0.28-r12 delete mode 100644 www-servers/tomcat/tomcat-5.0.28-r11.ebuild create mode 100644 www-servers/tomcat/tomcat-5.0.28-r12.ebuild (limited to 'www-servers/tomcat') diff --git a/www-servers/tomcat/ChangeLog b/www-servers/tomcat/ChangeLog index 5590d0e1832b..db61af64d313 100644 --- a/www-servers/tomcat/ChangeLog +++ b/www-servers/tomcat/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for www-servers/tomcat # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/ChangeLog,v 1.44 2005/12/06 21:43:43 betelgeuse Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/ChangeLog,v 1.45 2005/12/14 00:29:21 betelgeuse Exp $ + +*tomcat-5.0.28-r12 (14 Dec 2005) + + 14 Dec 2005; Petteri Räty + -tomcat-5.0.28-r11.ebuild, +tomcat-5.0.28-r12.ebuild: + Tomcat needs a newer xml-apis.jar from xml-commons-external to work instead + of the older version found in xml-commons. *tomcat-5.0.28-r11 (06 Dec 2005) diff --git a/www-servers/tomcat/Manifest b/www-servers/tomcat/Manifest index 8447beeac24e..437b89cf2d10 100644 --- a/www-servers/tomcat/Manifest +++ b/www-servers/tomcat/Manifest @@ -1,7 +1,4 @@ ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - -MD5 05a057faa0c915872d9abeff2a21c0fb ChangeLog 19256 +MD5 6db582d73e766e6ef2ff8854c0940137 ChangeLog 19523 MD5 cbb635ed31e3b7ddabe1db851a8b471e files/5.0.27/gentoo.diff 463 MD5 c19b85e130d0e0a565eebc406d699965 files/5.0.27/jikes.diff 510 MD5 bf74c2bd8c21359ada1793cddfa95f37 files/5.0.27/tomcat.conf 2660 @@ -20,17 +17,10 @@ MD5 286d3dcf80a376b72913412cec25e496 files/5.0.28/tomcat.env 34 MD5 c84cd76463e0c773cc3c58f9d6ea7e92 files/5.0.28/tomcat.init 766 MD5 d5a48abc8db5543a73abbbf151d0630e files/digest-tomcat-5.0.27-r6 75 MD5 af26ca4772989a2090085a6e24b71628 files/digest-tomcat-5.0.28-r10 78 -MD5 af26ca4772989a2090085a6e24b71628 files/digest-tomcat-5.0.28-r11 78 +MD5 af26ca4772989a2090085a6e24b71628 files/digest-tomcat-5.0.28-r12 78 MD5 af26ca4772989a2090085a6e24b71628 files/digest-tomcat-5.0.28-r9 78 MD5 f994107ba9a296c7de72d951eb9ddb29 metadata.xml 454 MD5 e35c5aa21003d0e3f61bfc44a59104fd tomcat-5.0.27-r6.ebuild 3886 MD5 0834be3df6afbfaf96e457c19b6a2055 tomcat-5.0.28-r10.ebuild 11061 -MD5 a6a24d616de2452c5c77f0cf199a6dbe tomcat-5.0.28-r11.ebuild 11095 +MD5 6508cce70f9c4bf2a8674ef3a2e1d67a tomcat-5.0.28-r12.ebuild 11129 MD5 a5e32b74350e806a25b4cd56a9fdd6d4 tomcat-5.0.28-r9.ebuild 10001 ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.2 (GNU/Linux) - -iD8DBQFDlgYdQiJ/wx066S4RAvxMAJ9E7k6j+d5aiawpWl+S7BGaoAxeIwCggmXR -4xk/ZEcdp3RJOsuF6HYSzHI= -=2xP+ ------END PGP SIGNATURE----- diff --git a/www-servers/tomcat/files/digest-tomcat-5.0.28-r11 b/www-servers/tomcat/files/digest-tomcat-5.0.28-r11 deleted file mode 100644 index 38ec5031aa8e..000000000000 --- a/www-servers/tomcat/files/digest-tomcat-5.0.28-r11 +++ /dev/null @@ -1 +0,0 @@ -MD5 8115f86558aef8a17543397e7f9d9469 jakarta-tomcat-5.0.28-src.tar.gz 3565766 diff --git a/www-servers/tomcat/files/digest-tomcat-5.0.28-r12 b/www-servers/tomcat/files/digest-tomcat-5.0.28-r12 new file mode 100644 index 000000000000..38ec5031aa8e --- /dev/null +++ b/www-servers/tomcat/files/digest-tomcat-5.0.28-r12 @@ -0,0 +1 @@ +MD5 8115f86558aef8a17543397e7f9d9469 jakarta-tomcat-5.0.28-src.tar.gz 3565766 diff --git a/www-servers/tomcat/tomcat-5.0.28-r11.ebuild b/www-servers/tomcat/tomcat-5.0.28-r11.ebuild deleted file mode 100644 index 98d9e845b8c8..000000000000 --- a/www-servers/tomcat/tomcat-5.0.28-r11.ebuild +++ /dev/null @@ -1,337 +0,0 @@ -# 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.0.28-r11.ebuild,v 1.1 2005/12/06 21:43:43 betelgeuse Exp $ - -inherit eutils java-pkg - -DESCRIPTION="Apache Servlet-2.4/JSP-2.0 Container" - -SLOT="${PV/.*}" -SRC_URI="mirror://apache/jakarta/tomcat-${SLOT}/v${PV}/src/jakarta-${P}-src.tar.gz" -HOMEPAGE="http://jakarta.apache.org/tomcat" -KEYWORDS="~x86 ~amd64 -ppc64 ~sparc" -LICENSE="Apache-2.0" -#only one accepted revision of struts to force upgrading because of slot changes -RDEPEND=">=virtual/jdk-1.4 - =dev-java/commons-beanutils-1.7* - >=dev-java/commons-collections-3.1 - >=dev-java/commons-daemon-1.0 - >=dev-java/commons-dbcp-1.2.1 - >=dev-java/commons-digester-1.5 - >=dev-java/commons-fileupload-1.0 - =dev-java/commons-httpclient-2* - >=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/sun-jmx - >=dev-java/log4j-1.2.8 - =dev-java/jakarta-regexp-1.3* - >=dev-java/saxpath-1.0 - ~dev-java/servletapi-2.4 - =dev-java/struts-1.1-r4 - dev-java/sun-jaf-bin - >=dev-java/xerces-2.6.2-r1 - dev-java/xml-commons - jikes? ( dev-java/jikes )" -DEPEND=">=virtual/jdk-1.4 - ${RDEPEND} - sys-apps/sed - dev-java/ant" -IUSE="doc examples jikes" - -S=${WORKDIR}/jakarta-${P}-src - -TOMCAT_HOME="/usr/share/${PN}-${SLOT}" -TOMCAT_NAME="${PN}-${SLOT}" -WEBAPPS_DIR="/var/lib/${TOMCAT_NAME}/default/webapps" - -src_unpack() { - unpack ${A} - cd ${S} - - local PATCHES=" - build.xml-01.patch - build.xml-02.patch - gentoo.diff - scripts.patch - setclasspath.patch - " - - for patch in ${PATCHES}; do - epatch "${FILESDIR}/${PV}/${patch}" - done - - use jikes && epatch ${FILESDIR}/${PV}/jikes.diff - - # avoid packed jars :-) - mkdir -p ${S}/jakarta-tomcat-5/build/common - cd ${S}/jakarta-tomcat-5/build - - mkdir ./bin && cd ./bin - java-pkg_jar-from commons-logging commons-logging-api.jar - java-pkg_jar-from sun-jmx jmxri.jar jmx.jar - java-pkg_jar-from commons-daemon - - mkdir ../common/endorsed && cd ../common/endorsed - java-pkg_jar-from xml-commons 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 - java-pkg_jar-from jakarta-regexp-1.3 -} - -src_compile(){ - local antflags="-Dbase.path=${T}" - use jikes && antflags="${antflags} -Dbuild.compiler=jikes" - - antflags="${antflags} -Dactivation.jar=$(java-config -p sun-jaf-bin)" - 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} -Dlog4j.jar=$(java-config -p log4j)" - antflags="${antflags} -Dregexp.jar=$(java-config -p jakarta-regexp-1.3)" - antflags="${antflags} -Dstruts.jar=$(java-pkg_getjar struts-1.1 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_getjars jaxen)" - antflags="${antflags} -Djmx.jar=$(java-pkg_getjar sun-jmx jmxri.jar)" - antflags="${antflags} -Djmx-tools.jar=$(java-pkg_getjar sun-jmx jmxtools.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 xml-commons xml-apis.jar)" - antflags="${antflags} -Dstruts.home=/usr/share/struts-1.1/" - - ant ${antflags} || die "compile failed" - -} -src_install() { - # new user for tomcat - enewgroup tomcat - enewuser tomcat -1 -1 /dev/null tomcat - - cd ${S}/jakarta-tomcat-5/build - - # init.d, env.d, conf.d - newinitd ${FILESDIR}/${PV}/tomcat.init ${TOMCAT_NAME} - newconfd ${FILESDIR}/${PV}/tomcat.conf-r1 ${TOMCAT_NAME} - newenvd ${FILESDIR}/${PV}/${PN}.env 21${PN} - - if use jikes; then - sed -e "\cCATALINA_OPTScaCATALINA_OPTS=\"-Dbuild.compiler.emacs=true\"" \ - -i ${D}/etc/conf.d/${TOMCAT_NAME} - fi - - # create dir structure - diropts -m755 -o tomcat -g tomcat - dodir /usr/share/${TOMCAT_NAME} - keepdir /var/log/${TOMCAT_NAME}/default - keepdir /var/tmp/${TOMCAT_NAME}/default - keepdir /var/run/${TOMCAT_NAME}/default - - local CATALINA_BASE=/var/lib/${TOMCAT_NAME}/default/ - dodir ${CATALINA_BASE} - keepdir ${CATALINA_BASE}/shared/lib - keepdir ${CATALINA_BASE}/shared/classes - - dodir /etc/${TOMCAT_NAME}/default - fperms 440 /etc/${TOMCAT_NAME}/default - - 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}/jakarta-tomcat-catalina/webapps/admin/admin.xml \ - conf/Catalina/localhost - cp ${S}/jakarta-tomcat-catalina/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.1 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 - chmod -R 750 conf/* - chown -R tomcat:tomcat webapps/* conf/* - cp -pR conf/* ${D}/etc/${TOMCAT_NAME}/default || die "failed to copy conf" - cp -R bin common server ${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}/default ${CATALINA_BASE}/conf - dosym /var/log/${TOMCAT_NAME}/default ${CATALINA_BASE}/logs - dosym /var/tmp/${TOMCAT_NAME}/default ${CATALINA_BASE}/temp - dosym /var/run/${TOMCAT_NAME}/default ${CATALINA_BASE}/work - - cp ${FILESDIR}/${PV}/log4j.properties ${D}/etc/${TOMCAT_NAME}/ - chown tomcat:tomcat ${D}/etc/${TOMCAT_NAME}/log4j.properties - - dodoc ${S}/jakarta-tomcat-5/{RELEASE-NOTES,RUNNING.txt} - fperms 640 /etc/${TOMCAT_NAME}/default/tomcat-users.xml -} - -pkg_postinst() { - #due to previous ebuild bloopers, make sure everything is correct - chown root:0 /etc/init.d/${TOMCAT_NAME} - chown root:0 /etc/conf.d/${TOMCAT_NAME} - chmod -R 750 /etc/${TOMCAT_NAME} - - einfo - einfo " NOTICE!" - einfo " FILE LOCATIONS:" - einfo " 1. Tomcat home directory: ${TOMCAT_HOME}" - einfo " Contains application data, configuration files." - einfo " 2. Runtime settings: /etc/conf.d/${TOMCAT_NAME}" - einfo " Contains CLASSPATH and JAVA_HOME settings." - einfo " 3. Configuration: /etc/${TOMCAT_NAME}/default" - einfo " 4. Logs: /var/log/${TOMCAT_NAME}/default" - einfo - einfo - einfo " STARTING AND STOPPING TOMCAT:" - einfo " /etc/init.d/${TOMCAT_NAME} start" - einfo " /etc/init.d/${TOMCAT_NAME} stop" - einfo " /etc/init.d/${TOMCAT_NAME} restart" - einfo - einfo - ewarn " If you are upgrading from older ebuild do NOT use" - ewarn " /etc/init.d/tomcat and /etc/conf.d/tomcat you probably" - ewarn " want to remove these." - einfo - ewarn " This ebuild implements a new filesystem layout for tomcat" - ewarn " please read http://gentoo-wiki.com/Tomcat_Gentoo_ebuild for" - ewarn " more information!." - einfo - einfo " NETWORK CONFIGURATION:" - einfo " By default, Tomcat runs on port 8080. You can change this" - einfo " value by editing /etc/${TOMCAT_NAME}/default/server.xml." - einfo - einfo " To test Tomcat while it's running, point your web browser to:" - einfo " http://localhost:8080/" - if ! use examples; then - ewarn - ewarn "You do not have the examples USE flag set, examples have NOT been installed." - ewarn - fi - einfo - einfo " BUGS:" - einfo " Please file any bugs at http://bugs.gentoo.org/ or else it" - einfo " may not get seen. Thank you." - einfo - - einfo "${WEBAPPS_DIR}" - einfo "is now owned by tomcat:tomcat and has 750 as permissions." - einfo "This is needed to deploy WAR files from the manager webapp." - einfo "See bug 99704. If you are upgrading tomcat you need to manually" - einfo "change the permissions." - - einfo "" - 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 -} diff --git a/www-servers/tomcat/tomcat-5.0.28-r12.ebuild b/www-servers/tomcat/tomcat-5.0.28-r12.ebuild new file mode 100644 index 000000000000..e0c782e38fe5 --- /dev/null +++ b/www-servers/tomcat/tomcat-5.0.28-r12.ebuild @@ -0,0 +1,337 @@ +# 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.0.28-r12.ebuild,v 1.1 2005/12/14 00:29:21 betelgeuse Exp $ + +inherit eutils java-pkg + +DESCRIPTION="Apache Servlet-2.4/JSP-2.0 Container" + +SLOT="${PV/.*}" +SRC_URI="mirror://apache/jakarta/tomcat-${SLOT}/v${PV}/src/jakarta-${P}-src.tar.gz" +HOMEPAGE="http://jakarta.apache.org/tomcat" +KEYWORDS="~x86 ~amd64 -ppc64" +LICENSE="Apache-2.0" +#only one accepted revision of struts to force upgrading because of slot changes +RDEPEND=">=virtual/jdk-1.4 + =dev-java/commons-beanutils-1.7* + >=dev-java/commons-collections-3.1 + >=dev-java/commons-daemon-1.0 + >=dev-java/commons-dbcp-1.2.1 + >=dev-java/commons-digester-1.5 + >=dev-java/commons-fileupload-1.0 + =dev-java/commons-httpclient-2* + >=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/sun-jmx + >=dev-java/log4j-1.2.8 + =dev-java/jakarta-regexp-1.3* + >=dev-java/saxpath-1.0 + ~dev-java/servletapi-2.4 + =dev-java/struts-1.1-r4 + dev-java/sun-jaf-bin + >=dev-java/xerces-2.6.2-r1 + =dev-java/xml-commons-external-1.3* + jikes? ( dev-java/jikes )" +DEPEND=">=virtual/jdk-1.4 + ${RDEPEND} + sys-apps/sed + dev-java/ant" +IUSE="doc examples jikes" + +S=${WORKDIR}/jakarta-${P}-src + +TOMCAT_HOME="/usr/share/${PN}-${SLOT}" +TOMCAT_NAME="${PN}-${SLOT}" +WEBAPPS_DIR="/var/lib/${TOMCAT_NAME}/default/webapps" + +src_unpack() { + unpack ${A} + cd ${S} + + local PATCHES=" + build.xml-01.patch + build.xml-02.patch + gentoo.diff + scripts.patch + setclasspath.patch + " + + for patch in ${PATCHES}; do + epatch "${FILESDIR}/${PV}/${patch}" + done + + use jikes && epatch ${FILESDIR}/${PV}/jikes.diff + + # avoid packed jars :-) + mkdir -p ${S}/jakarta-tomcat-5/build/common + cd ${S}/jakarta-tomcat-5/build + + mkdir ./bin && cd ./bin + java-pkg_jar-from commons-logging commons-logging-api.jar + java-pkg_jar-from sun-jmx jmxri.jar jmx.jar + java-pkg_jar-from commons-daemon + + mkdir ../common/endorsed && cd ../common/endorsed + java-pkg_jar-from xml-commons-external-1.3 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 + java-pkg_jar-from jakarta-regexp-1.3 +} + +src_compile(){ + local antflags="-Dbase.path=${T}" + use jikes && antflags="${antflags} -Dbuild.compiler=jikes" + + antflags="${antflags} -Dactivation.jar=$(java-config -p sun-jaf-bin)" + 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} -Dlog4j.jar=$(java-config -p log4j)" + antflags="${antflags} -Dregexp.jar=$(java-config -p jakarta-regexp-1.3)" + antflags="${antflags} -Dstruts.jar=$(java-pkg_getjar struts-1.1 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_getjars jaxen)" + antflags="${antflags} -Djmx.jar=$(java-pkg_getjar sun-jmx jmxri.jar)" + antflags="${antflags} -Djmx-tools.jar=$(java-pkg_getjar sun-jmx jmxtools.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 xml-commons-external-1.3 xml-apis.jar)" + antflags="${antflags} -Dstruts.home=/usr/share/struts-1.1/" + + ant ${antflags} || die "compile failed" + +} +src_install() { + # new user for tomcat + enewgroup tomcat + enewuser tomcat -1 -1 /dev/null tomcat + + cd ${S}/jakarta-tomcat-5/build + + # init.d, env.d, conf.d + newinitd ${FILESDIR}/${PV}/tomcat.init ${TOMCAT_NAME} + newconfd ${FILESDIR}/${PV}/tomcat.conf-r1 ${TOMCAT_NAME} + newenvd ${FILESDIR}/${PV}/${PN}.env 21${PN} + + if use jikes; then + sed -e "\cCATALINA_OPTScaCATALINA_OPTS=\"-Dbuild.compiler.emacs=true\"" \ + -i ${D}/etc/conf.d/${TOMCAT_NAME} + fi + + # create dir structure + diropts -m755 -o tomcat -g tomcat + dodir /usr/share/${TOMCAT_NAME} + keepdir /var/log/${TOMCAT_NAME}/default + keepdir /var/tmp/${TOMCAT_NAME}/default + keepdir /var/run/${TOMCAT_NAME}/default + + local CATALINA_BASE=/var/lib/${TOMCAT_NAME}/default/ + dodir ${CATALINA_BASE} + keepdir ${CATALINA_BASE}/shared/lib + keepdir ${CATALINA_BASE}/shared/classes + + dodir /etc/${TOMCAT_NAME}/default + fperms 440 /etc/${TOMCAT_NAME}/default + + 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}/jakarta-tomcat-catalina/webapps/admin/admin.xml \ + conf/Catalina/localhost + cp ${S}/jakarta-tomcat-catalina/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.1 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 + chmod -R 750 conf/* + chown -R tomcat:tomcat webapps/* conf/* + cp -pR conf/* ${D}/etc/${TOMCAT_NAME}/default || die "failed to copy conf" + cp -R bin common server ${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}/default ${CATALINA_BASE}/conf + dosym /var/log/${TOMCAT_NAME}/default ${CATALINA_BASE}/logs + dosym /var/tmp/${TOMCAT_NAME}/default ${CATALINA_BASE}/temp + dosym /var/run/${TOMCAT_NAME}/default ${CATALINA_BASE}/work + + cp ${FILESDIR}/${PV}/log4j.properties ${D}/etc/${TOMCAT_NAME}/ + chown tomcat:tomcat ${D}/etc/${TOMCAT_NAME}/log4j.properties + + dodoc ${S}/jakarta-tomcat-5/{RELEASE-NOTES,RUNNING.txt} + fperms 640 /etc/${TOMCAT_NAME}/default/tomcat-users.xml +} + +pkg_postinst() { + #due to previous ebuild bloopers, make sure everything is correct + chown root:0 /etc/init.d/${TOMCAT_NAME} + chown root:0 /etc/conf.d/${TOMCAT_NAME} + chmod -R 750 /etc/${TOMCAT_NAME} + + einfo + einfo " NOTICE!" + einfo " FILE LOCATIONS:" + einfo " 1. Tomcat home directory: ${TOMCAT_HOME}" + einfo " Contains application data, configuration files." + einfo " 2. Runtime settings: /etc/conf.d/${TOMCAT_NAME}" + einfo " Contains CLASSPATH and JAVA_HOME settings." + einfo " 3. Configuration: /etc/${TOMCAT_NAME}/default" + einfo " 4. Logs: /var/log/${TOMCAT_NAME}/default" + einfo + einfo + einfo " STARTING AND STOPPING TOMCAT:" + einfo " /etc/init.d/${TOMCAT_NAME} start" + einfo " /etc/init.d/${TOMCAT_NAME} stop" + einfo " /etc/init.d/${TOMCAT_NAME} restart" + einfo + einfo + ewarn " If you are upgrading from older ebuild do NOT use" + ewarn " /etc/init.d/tomcat and /etc/conf.d/tomcat you probably" + ewarn " want to remove these." + einfo + ewarn " This ebuild implements a new filesystem layout for tomcat" + ewarn " please read http://gentoo-wiki.com/Tomcat_Gentoo_ebuild for" + ewarn " more information!." + einfo + einfo " NETWORK CONFIGURATION:" + einfo " By default, Tomcat runs on port 8080. You can change this" + einfo " value by editing /etc/${TOMCAT_NAME}/default/server.xml." + einfo + einfo " To test Tomcat while it's running, point your web browser to:" + einfo " http://localhost:8080/" + if ! use examples; then + ewarn + ewarn "You do not have the examples USE flag set, examples have NOT been installed." + ewarn + fi + einfo + einfo " BUGS:" + einfo " Please file any bugs at http://bugs.gentoo.org/ or else it" + einfo " may not get seen. Thank you." + einfo + + einfo "${WEBAPPS_DIR}" + einfo "is now owned by tomcat:tomcat and has 750 as permissions." + einfo "This is needed to deploy WAR files from the manager webapp." + einfo "See bug 99704. If you are upgrading tomcat you need to manually" + einfo "change the permissions." + + einfo "" + 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 +} -- cgit v1.2.3-65-gdbad