From e934de2f4224e587e35512eaed5c2a720b0bda64 Mon Sep 17 00:00:00 2001 From: William Thomson Date: Wed, 10 Jan 2007 21:06:33 +0000 Subject: [PATCH] Updated 5.5.20 and 6.0.7 init scripts, again :( previous version was borked. Trying to capture std out, which seems to be going no where atm. Package-Manager: portage-2.1.2_rc4-r6 --- www-servers/tomcat/ChangeLog | 12 +- www-servers/tomcat/files/5.5.20/tomcat.init | 26 +- www-servers/tomcat/files/6/tomcat.init | 26 +- .../tomcat/files/digest-tomcat-5.5.20-r8 | 3 + .../tomcat/files/digest-tomcat-6.0.7_beta-r2 | 3 + www-servers/tomcat/tomcat-5.5.20-r7.ebuild | 25 +- www-servers/tomcat/tomcat-5.5.20-r8.ebuild | 332 ++++++++++++++++++ .../tomcat/tomcat-6.0.7_beta-r2.ebuild | 156 ++++++++ 8 files changed, 548 insertions(+), 35 deletions(-) create mode 100644 www-servers/tomcat/files/digest-tomcat-5.5.20-r8 create mode 100644 www-servers/tomcat/files/digest-tomcat-6.0.7_beta-r2 create mode 100644 www-servers/tomcat/tomcat-5.5.20-r8.ebuild create mode 100644 www-servers/tomcat/tomcat-6.0.7_beta-r2.ebuild diff --git a/www-servers/tomcat/ChangeLog b/www-servers/tomcat/ChangeLog index 5b07178d2cf3..496f8a06d382 100644 --- a/www-servers/tomcat/ChangeLog +++ b/www-servers/tomcat/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for www-servers/tomcat # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/ChangeLog,v 1.103 2007/01/10 19:44:57 wltjr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/ChangeLog,v 1.104 2007/01/10 21:06:33 wltjr Exp $ + +*tomcat-6.0.7_beta-r2 (10 Jan 2007) +*tomcat-5.5.20-r8 (10 Jan 2007) + + 10 Jan 2007; William L. Thomson Jr. + files/5.5.20/tomcat.init, files/6/tomcat.init, -tomcat-5.5.20-r6.ebuild, + tomcat-5.5.20-r7.ebuild, +tomcat-5.5.20-r8.ebuild, + -tomcat-6.0.7_beta-r1.ebuild, +tomcat-6.0.7_beta-r2.ebuild: + Updated 5.5.20 and 6.0.7 init scripts, again :( previous version was borked. + Trying to capture std out, which seems to be going no where atm. *tomcat-6.0.7_beta-r1 (10 Jan 2007) *tomcat-5.5.20-r7 (10 Jan 2007) diff --git a/www-servers/tomcat/files/5.5.20/tomcat.init b/www-servers/tomcat/files/5.5.20/tomcat.init index ccc86228b1f2..3b083cd2d844 100755 --- a/www-servers/tomcat/files/5.5.20/tomcat.init +++ b/www-servers/tomcat/files/5.5.20/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/5.5.20/tomcat.init,v 1.2 2007/01/10 19:44:57 wltjr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/files/5.5.20/tomcat.init,v 1.3 2007/01/10 21:06:33 wltjr Exp $ init_env_vars() { # Set some sane defaults @@ -34,7 +34,12 @@ init_env_vars() { -Djava.io.tmpdir=${CATALINA_TMPDIR} \ org.apache.catalina.startup.Bootstrap " - STD_OUT=" >> ${CATALINA_BASE}/logs/catalina.out 2>&1 &" + if [ ! -f "${CATALINA_BASE}logs/catalina.out" ]; then + touch "${CATALINA_BASE}logs/catalina.out" + chown tomcat:tomcat "${CATALINA_BASE}logs/catalina.out" + fi + + STD_OUT=" 2<&1 >> ${CATALINA_BASE}logs/catalina.out" } start-helper() { @@ -42,7 +47,7 @@ start-helper() { shift local arguments="--start --quiet --background --chuid ${CATALINA_USER}:${CATALINA_GROUP} \ --make-pidfile --pidfile /var/run/tomcat.pid" - start-stop-daemon ${arguments} --exec ${executor} -- ${OPTS_CP} "$@" ${CATALINA_ARGS} ${TOMCAT_START} + start-stop-daemon ${arguments} --exec ${executor} -- ${OPTS_CP} "$@" ${CATALINA_ARGS} ${STD_OUT} ${TOMCAT_START} return $? } @@ -56,23 +61,20 @@ start() { # Figure out what arguments to pass start-helper based on TOMCAT_START if [[ "${TOMCAT_START}" == "debug" ]] ; then start-helper ${JAVA_HOME}/bin/jdb \ - -sourcepath ${CATALINA_HOME}/../../jakarta-tomcat-catalina/catalina/src/share \ - ${STD_OUT} + -sourcepath ${CATALINA_HOME}/../../jakarta-tomcat-catalina/catalina/src/share elif [[ "${TOMCAT_START}" == "debug -security" ]] ; then start-helper ${JAVA_HOME}/bin/jdb \ -sourcepath ${CATALINA_HOME}/../../jakarta-tomcat-catalina/catalina/src/share \ -Djava.security.manager \ - -Djava.security.policy=${CATALINA_BASE}/conf/catalina.policy \ - ${STD_OUT} + -Djava.security.policy=${CATALINA_BASE}/conf/catalina.policy elif [[ "${TOMCAT_START}" == "jpda start" ]] ; then - start-helper ${JAVA_HOME}/bin/java ${JPDA_OPTS} ${STD_OUT} + start-helper ${JAVA_HOME}/bin/java ${JPDA_OPTS} elif [[ "${TOMCAT_START}" == "start" ]] ; then - start-helper ${JAVA_HOME}/bin/java ${STD_OUT} + start-helper ${JAVA_HOME}/bin/java elif [[ "${TOMCAT_START}" == "start -security" ]] ; then start-helper ${JAVA_HOME}/bin/java \ -Djava.security.manager \ - -Djava.security.policy=${CATALINA_BASE}/conf/catalina.policy \ - ${STD_OUT} + -Djava.security.policy=${CATALINA_BASE}/conf/catalina.policy else eerror "Invalid TOMCAT_START variable value, or one is not set" eerror "Please see /etc/conf.d/tomcat-5.5 for more information" @@ -86,6 +88,6 @@ stop() { init_env_vars start-stop-daemon --stop --quiet \ --make-pidfile --pidfile /var/run/tomcat.pid \ - --exec ${JAVA_HOME}/bin/java -- ${OPTS_CP} ${CATALINA_ARGS} stop ${STD_OUT} + --exec ${JAVA_HOME}/bin/java -- ${OPTS_CP} ${CATALINA_ARGS} ${STD_OUT} stop eend $? } diff --git a/www-servers/tomcat/files/6/tomcat.init b/www-servers/tomcat/files/6/tomcat.init index 5d08a9e23ce3..6b32e6b32e31 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.2 2007/01/10 19:44:57 wltjr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/files/6/tomcat.init,v 1.3 2007/01/10 21:06:33 wltjr Exp $ init_env_vars() { # Set some sane defaults @@ -32,7 +32,12 @@ init_env_vars() { -Djava.io.tmpdir=${CATALINA_TMPDIR} \ org.apache.catalina.startup.Bootstrap " - STD_OUT=" >> ${CATALINA_BASE}/logs/catalina.out 2>&1 &" + if [ ! -f "${CATALINA_BASE}logs/catalina.out" ]; then + touch "${CATALINA_BASE}logs/catalina.out" + chown tomcat:tomcat "${CATALINA_BASE}logs/catalina.out" + fi + + STD_OUT=" 2<&1 >> ${CATALINA_BASE}logs/catalina.out" } start-helper() { @@ -40,7 +45,7 @@ start-helper() { shift local arguments="--start --quiet --background --chuid ${CATALINA_USER}:${CATALINA_GROUP} \ --make-pidfile --pidfile /var/run/tomcat.pid" - start-stop-daemon ${arguments} --exec ${executor} -- ${OPTS_CP} "$@" ${CATALINA_ARGS} ${TOMCAT_START} + start-stop-daemon ${arguments} --exec ${executor} -- ${OPTS_CP} "$@" ${CATALINA_ARGS} ${STD_OUT} ${TOMCAT_START} return $? } @@ -54,26 +59,23 @@ start() { # Figure out what arguments to pass start-helper based on TOMCAT_START if [[ "${TOMCAT_START}" == "debug" ]] ; then start-helper ${JAVA_HOME}/bin/jdb \ - -sourcepath ${CATALINA_HOME}/../../jakarta-tomcat-catalina/catalina/src/share \ - ${STD_OUT} + -sourcepath ${CATALINA_HOME}/../../jakarta-tomcat-catalina/catalina/src/share elif [[ "${TOMCAT_START}" == "debug -security" ]] ; then start-helper ${JAVA_HOME}/bin/jdb \ -sourcepath ${CATALINA_HOME}/../../jakarta-tomcat-catalina/catalina/src/share \ -Djava.security.manager \ - -Djava.security.policy=${CATALINA_BASE}/conf/catalina.policy \ - ${STD_OUT} + -Djava.security.policy=${CATALINA_BASE}/conf/catalina.policy elif [[ "${TOMCAT_START}" == "jpda start" ]] ; then - start-helper ${JAVA_HOME}/bin/java ${JPDA_OPTS} ${STD_OUT} + start-helper ${JAVA_HOME}/bin/java ${JPDA_OPTS} elif [[ "${TOMCAT_START}" == "start" ]] ; then - start-helper ${JAVA_HOME}/bin/java ${STD_OUT} + start-helper ${JAVA_HOME}/bin/java elif [[ "${TOMCAT_START}" == "start -security" ]] ; then start-helper ${JAVA_HOME}/bin/java \ -Djava.security.manager \ - -Djava.security.policy=${CATALINA_BASE}/conf/catalina.policy \ - ${STD_OUT} + -Djava.security.policy=${CATALINA_BASE}/conf/catalina.policy else eerror "Invalid TOMCAT_START variable value, or one is not set" - eerror "Please see /etc/conf.d/tomcat-5.5 for more information" + eerror "Please see /etc/conf.d/tomcat-6 for more information" eend 1 fi eend $? diff --git a/www-servers/tomcat/files/digest-tomcat-5.5.20-r8 b/www-servers/tomcat/files/digest-tomcat-5.5.20-r8 new file mode 100644 index 000000000000..25cb711a112c --- /dev/null +++ b/www-servers/tomcat/files/digest-tomcat-5.5.20-r8 @@ -0,0 +1,3 @@ +MD5 5775bae8fac16a0e3a2c913c4768bb37 apache-tomcat-5.5.20-src.tar.gz 4796377 +RMD160 587590d2e272d1ede73501b62933f544cd969822 apache-tomcat-5.5.20-src.tar.gz 4796377 +SHA256 19f24717fb3e2db902c33e21650dfa88bbf98428c15b1ed68ecaf7a9150e4a77 apache-tomcat-5.5.20-src.tar.gz 4796377 diff --git a/www-servers/tomcat/files/digest-tomcat-6.0.7_beta-r2 b/www-servers/tomcat/files/digest-tomcat-6.0.7_beta-r2 new file mode 100644 index 000000000000..1309a094c51c --- /dev/null +++ b/www-servers/tomcat/files/digest-tomcat-6.0.7_beta-r2 @@ -0,0 +1,3 @@ +MD5 e4043356aeb6fd631df17adb1fbdb76d apache-tomcat-6.0.7-src.tar.gz 3210405 +RMD160 830485c5e25926da950e6b2148aa8baae263b351 apache-tomcat-6.0.7-src.tar.gz 3210405 +SHA256 a76be3230db0a3363835916f14afcccce6f18509577c2999f5491c0fb861e4f3 apache-tomcat-6.0.7-src.tar.gz 3210405 diff --git a/www-servers/tomcat/tomcat-5.5.20-r7.ebuild b/www-servers/tomcat/tomcat-5.5.20-r7.ebuild index 781e419e2e3d..ed251b315946 100644 --- a/www-servers/tomcat/tomcat-5.5.20-r7.ebuild +++ b/www-servers/tomcat/tomcat-5.5.20-r7.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/tomcat-5.5.20-r7.ebuild,v 1.1 2007/01/10 19:44:57 wltjr Exp $ +# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/tomcat-5.5.20-r7.ebuild,v 1.2 2007/01/10 21:06:33 wltjr Exp $ inherit eutils java-pkg-2 java-ant-2 @@ -10,7 +10,7 @@ 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" +KEYWORDS="amd64 x86 -ppc -ppc64" LICENSE="Apache-2.0" IUSE="admin java5 doc examples source test" @@ -32,23 +32,28 @@ RDEPEND="=dev-java/eclipse-ecj-3.1* ~dev-java/servletapi-2.4 admin? ( =dev-java/struts-1.2* ) dev-java/sun-javamail - java5? ( || ( >=virtual/jre-1.5 =virtual/jre-1.6 ) ) + java5? ( >=virtual/jre-1.5 ) !java5? ( =virtual/jre-1.4* =dev-java/commons-httpclient-2.0* dev-java/sun-jaf >=dev-java/junit-3.8.1 - =dev-java/mx4j-core-3* + =dev-java/mx4j-3* >=dev-java/saxpath-1.0 >=dev-java/xerces-2.7.1 =dev-java/xml-commons-external-1.3* )" -DEPEND="java5? ( || ( >=virtual/jdk-1.5 >=virtual/jdk-1.6 ) ) +DEPEND="java5? ( >=virtual/jdk-1.5 ) !java5? ( =virtual/jdk-1.4* ) ${RDEPEND} - >=dev-java/java-config-2.0.31 dev-java/ant" +if ! use java5; then + JAVA_PKG_NV_DEPEND="=virtual/jdk-1.4*" +else + JAVA_PKG_NV_DEPEND="=virtual/jdk-1.5" +fi + S=${WORKDIR}/${MY_P} TOMCAT_NAME="${PN}-${SLOT}" @@ -93,8 +98,8 @@ src_unpack() { 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 + java-pkg_jar-from mx4j-3.0 mx4j.jar jmx.jar + java-pkg_jar-from mx4j-3.0 mx4j-rjmx.jar jmx-remote.jar fi if ! use java5; then @@ -151,8 +156,8 @@ src_compile(){ if ! use java5; then antflags="${antflags} -Dcommons-httpclient.jar=$(java-config -p commons-httpclient)" antflags="${antflags} -Dactivation.jar=$(java-config -p 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} -Djmx.jar=$(java-pkg_getjar mx4j-3.0 mx4j.jar)" + antflags="${antflags} -Djmx-remote.jar=$(java-pkg_getjar mx4j-3.0 mx4j-rjmx.jar)" antflags="${antflags} -Dsaxpath.jar=$(java-pkg_getjar saxpath saxpath.jar)" antflags="${antflags} -DxercesImpl.jar=$(java-pkg_getjar xerces-2 xercesImpl.jar)" antflags="${antflags} -Dxml-apis.jar=$(java-pkg_getjar xml-commons-external-1.3 xml-apis.jar)" diff --git a/www-servers/tomcat/tomcat-5.5.20-r8.ebuild b/www-servers/tomcat/tomcat-5.5.20-r8.ebuild new file mode 100644 index 000000000000..003cfd5585b3 --- /dev/null +++ b/www-servers/tomcat/tomcat-5.5.20-r8.ebuild @@ -0,0 +1,332 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/tomcat-5.5.20-r8.ebuild,v 1.1 2007/01/10 21:06:33 wltjr Exp $ + +inherit eutils java-pkg-2 java-ant-2 + +DESCRIPTION="Apache Servlet-2.4/JSP-2.0 Container" + +MY_P="apache-${P}-src" +SLOT="5.5" +SRC_URI="mirror://apache/${PN}/${PN}-5/v${PV}/src/${MY_P}.tar.gz" +HOMEPAGE="http://tomcat.apache.org/" +KEYWORDS="~amd64 -ppc -ppc64 ~x86 ~x86-fbsd" +LICENSE="Apache-2.0" + +IUSE="admin java5 doc examples source test" + +RDEPEND="=dev-java/eclipse-ecj-3.1* + =dev-java/commons-beanutils-1.7* + >=dev-java/commons-collections-3.1 + >=dev-java/commons-daemon-1.0.1 + >=dev-java/commons-dbcp-1.2.1 + >=dev-java/commons-digester-1.7 + >=dev-java/commons-fileupload-1.1 + >=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-1.1 + >=dev-java/commons-pool-1.2 + >=dev-java/log4j-1.2.9 + ~dev-java/servletapi-2.4 + admin? ( =dev-java/struts-1.2* ) + dev-java/sun-javamail + java5? ( || ( >=virtual/jre-1.5 =virtual/jre-1.6 ) ) + !java5? ( + =virtual/jre-1.4* + =dev-java/commons-httpclient-2.0* + dev-java/sun-jaf + >=dev-java/junit-3.8.1 + =dev-java/mx4j-core-3* + >=dev-java/saxpath-1.0 + >=dev-java/xerces-2.7.1 + =dev-java/xml-commons-external-1.3* + )" +DEPEND="java5? ( || ( >=virtual/jdk-1.5 >=virtual/jdk-1.6 ) ) + !java5? ( =virtual/jdk-1.4* ) + ${RDEPEND} + >=dev-java/java-config-2.0.31 + dev-java/ant" + +S=${WORKDIR}/${MY_P} + +TOMCAT_NAME="${PN}-${SLOT}" +WEBAPPS_DIR="/var/lib/${TOMCAT_NAME}/webapps" + +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; then + JAVA_PKG_WANT_SOURCE="1.5" + JAVA_PKG_WANT_TARGET="1.5" + fi +} + +src_unpack() { + unpack ${A} + cd ${S} + + local PATCHES=" + mainbuild-xml.patch + tomcatbuild-xml.patch + catalinabuild-xml.patch + jasperbuild-xml.patch + " + for patch in ${PATCHES}; do + epatch "${FILESDIR}/${PV}/${patch}" + done + if ! use examples; then + epatch "${FILESDIR}/${PV}/jsr152build-xml-examples.patch" + epatch "${FILESDIR}/${PV}/jsr154build-xml-examples.patch" + fi + + # 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 + fi + + if ! use java5; then + 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 servletapi-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} -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-pool.jar=$(java-config -p commons-pool)" + antflags="${antflags} -Dcommons-fileupload.jar=$(java-config -p commons-fileupload)" + antflags="${antflags} -Dcommons-launcher.jar=$(java-config -p commons-launcher)" + antflags="${antflags} -Dcommons-modeler.jar=$(java-config -p commons-modeler)" + antflags="${antflags} -Djunit.jar=$(java-config -p junit)" + antflags="${antflags} -Djdt.jar=$(java-pkg_getjar eclipse-ecj-3.1 ecj.jar)" + antflags="${antflags} -Dlog4j.jar=$(java-config -p log4j)" + antflags="${antflags} -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} -Dmail.jar=$(java-pkg_getjar sun-javamail mail.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.precompile.notrequired=true" + fi + antflags="${antflags} -Djasper.home=${S}/jasper" + if ! use java5; then + antflags="${antflags} -Dcommons-httpclient.jar=$(java-config -p commons-httpclient)" + antflags="${antflags} -Dactivation.jar=$(java-config -p 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} -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)" + fi + + eant ${antflags} + +} + +src_install() { + cd ${S}/build/build + + # init.d, conf.d + newinitd ${FILESDIR}/${PV}/tomcat.init ${TOMCAT_NAME} + newconfd ${FILESDIR}/${PV}/tomcat.conf ${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-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 + 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" + + 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} + + ewarn + ewarn " This ebuild implements a new filesystem layout for tomcat" + ewarn " please read http://www.gentoo.org/proj/en/java/tomcat-guide.xml" + ewarn " for more information!." + elog + elog " Please file any bugs at http://bugs.gentoo.org/ or else it" + elog " may not get seen. Thank you." + elog + +# elog "Run emerge --config =${PF}" +# elog "to configure Tomcat if you need to for example" +# elog "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 }')" + + 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.7_beta-r2.ebuild b/www-servers/tomcat/tomcat-6.0.7_beta-r2.ebuild new file mode 100644 index 000000000000..3825ca5dd9c1 --- /dev/null +++ b/www-servers/tomcat/tomcat-6.0.7_beta-r2.ebuild @@ -0,0 +1,156 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/tomcat-6.0.7_beta-r2.ebuild,v 1.1 2007/01/10 21:06:33 wltjr Exp $ + +inherit eutils java-pkg-2 java-ant-2 + +DESCRIPTION="Apache Servlet-2.5/JSP-2.1 Container" + +MY_P="apache-${P/_beta/}-src" +SLOT="6" +SRC_URI="mirror://apache/${PN}/${PN}-6/v${PV/_/-}/src/${MY_P}.tar.gz" +HOMEPAGE="http://tomcat.apache.org/" +KEYWORDS="~amd64 ~x86 ~x86-fbsd" +LICENSE="Apache-2.0" + +IUSE="doc examples jni source test" + +RDEPEND="|| ( >=virtual/jre-1.5 >=virtual/jre-1.6 ) + =dev-java/eclipse-ecj-3.2* + >=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 + jni? ( dev-java/tomcat-native )" + +DEPEND="|| ( >=virtual/jdk-1.5 >=virtual/jdk-1.6 ) + ${RDEPEND} + test? ( + dev-java/junit + dev-java/ant + ) + !test? ( dev-java/ant-core )" + +S=${WORKDIR}/${MY_P} +NS=${WORKDIR}/tomcat-native-${TC_NV}-src + +TOMCAT_NAME="${PN}-${SLOT}" +TOMCAT_HOME="/usr/share/${TOMCAT_NAME}" +WEBAPPS_DIR="/var/lib/${TOMCAT_NAME}/webapps" + +pkg_setup() { + enewgroup tomcat 265 + enewuser tomcat 265 -1 /dev/null tomcat + + JAVA_PKG_WANT_SOURCE="1.5" + JAVA_PKG_WANT_TARGET="1.5" +} + +src_unpack() { + unpack ${A} + cd ${S} + + epatch "${FILESDIR}/${SLOT}/build-xml.patch" + + cd ${S}/bin + java-pkg_jar-from commons-daemon +} + +src_compile(){ + # Prevent out of memory/heap space errors + java-pkg_force-compiler ecj-3.2 + + local antflags="build-jasper-jdt build-only -Dbase.path=${T}" + 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.2 ecj.jar)" + eant ${antflags} +} + +src_install() { + 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 + diropts -m755 -o tomcat -g tomcat + dodir /etc/${TOMCAT_NAME} + fperms 750 /etc/${TOMCAT_NAME} + dodir /usr/share/${TOMCAT_NAME} + keepdir /var/log/${TOMCAT_NAME}/ + keepdir /var/tmp/${TOMCAT_NAME}/ + keepdir /var/run/${TOMCAT_NAME}/ + dodir ${CATALINA_BASE} + diropts -m0755 + + cd ${S} + # we don't need dos scripts + rm -f bin/*.bat + chmod 755 bin/*.sh + + # fix context's since upstream is slackin + sed -i -e 's:}/server/:}/:' ${S}/webapps/host-manager/host-manager.xml + sed -i -e 's:}/server/:}/:' ${S}/webapps/manager/manager.xml + + # copy the manager's context to the right position + mkdir -p conf/Catalina/localhost + cp ${S}/webapps/host-manager/host-manager.xml conf/Catalina/localhost + cp ${S}/webapps/manager/manager.xml conf/Catalina/localhost + + # 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 -R bin output/build/bin output/build/lib ${D}/usr/share/${TOMCAT_NAME} \ + || die "failed to copy" + + cp ${T}/tomcat6-deps/jdt/jasper-jdt.jar ${D}/usr/share/${TOMCAT_NAME}/lib \ + || die "failed to copy" + + keepdir ${WEBAPPS_DIR} + chown tomcat:tomcat ${D}/${WEBAPPS_DIR} || die "Failed to change owner off ${1}." + chmod 750 ${D}/${WEBAPPS_DIR} || die "Failed to change permissions off ${1}." + + 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 + + mkdir ${D}${TOMCAT_HOME}/webapps + chown tomcat:tomcat ${D}${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 webapps/docs ${D}${CATALINA_BASE}/webapps + fi + if use examples; then + cp -pr 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 + + dodoc ${S}/{RELEASE-NOTES,RUNNING.txt} + fperms 640 /etc/${TOMCAT_NAME}/tomcat-users.xml +} + +pkg_postinst() { + elog + elog " This ebuild implements a FHS compliant layout for tomcat" + elog " Please read http://www.gentoo.org/proj/en/java/tomcat-guide.xml" + elog " for more information." + elog + elog " Please report any bugs to http://bugs.gentoo.org/" + elog +} -- 2.26.2