Updated 5.5.20 and 6.0.7 init scripts
authorWilliam Thomson <wltjr@gentoo.org>
Wed, 10 Jan 2007 19:44:57 +0000 (19:44 +0000)
committerWilliam Thomson <wltjr@gentoo.org>
Wed, 10 Jan 2007 19:44:57 +0000 (19:44 +0000)
Package-Manager: portage-2.1.2_rc4-r6

www-servers/tomcat/ChangeLog
www-servers/tomcat/files/5.5.20/tomcat.init
www-servers/tomcat/files/6/tomcat.init
www-servers/tomcat/files/digest-tomcat-5.5.20-r7 [new file with mode: 0644]
www-servers/tomcat/files/digest-tomcat-6.0.7_beta-r1 [new file with mode: 0644]
www-servers/tomcat/tomcat-5.5.20-r6.ebuild
www-servers/tomcat/tomcat-5.5.20-r7.ebuild [new file with mode: 0644]
www-servers/tomcat/tomcat-6.0.7_beta-r1.ebuild [new file with mode: 0644]

index 8815ae7159f15c865d915a7b286e904cbbb2c90f..5b07178d2cf3654e3e820bc428ea4109ef5c59eb 100644 (file)
@@ -1,6 +1,15 @@
 # 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.102 2007/01/10 16:57:24 wltjr Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/ChangeLog,v 1.103 2007/01/10 19:44:57 wltjr Exp $
+
+*tomcat-6.0.7_beta-r1 (10 Jan 2007)
+*tomcat-5.5.20-r7 (10 Jan 2007)
+
+  10 Jan 2007; William L. Thomson Jr. <wltjr@gentoo.org>
+  files/5.5.20/tomcat.init, files/6/tomcat.init, -tomcat-5.5.20-r5.ebuild,
+  tomcat-5.5.20-r6.ebuild, +tomcat-5.5.20-r7.ebuild,
+  -tomcat-6.0.7_beta.ebuild, +tomcat-6.0.7_beta-r1.ebuild:
+  Updated 5.5.20 and 6.0.7 init scripts
 
 *tomcat-6.0.7_beta (10 Jan 2007)
 
index 4818d8e019786ac0007e635f458b3bed7fd5b23a..ccc86228b1f25d949c9c5379469fed1d4582881d 100755 (executable)
@@ -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.1 2006/09/28 16:36:00 wltjr Exp $
+# $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 $
 
 init_env_vars() {
        # Set some sane defaults
@@ -33,6 +33,8 @@ init_env_vars() {
                                   -Dcatalina.home=${CATALINA_HOME} \
                                   -Djava.io.tmpdir=${CATALINA_TMPDIR} \
                                   org.apache.catalina.startup.Bootstrap "
+
+       STD_OUT=" >> ${CATALINA_BASE}/logs/catalina.out 2>&1 &"
 }
 
 start-helper() {
@@ -54,20 +56,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
+                       -sourcepath ${CATALINA_HOME}/../../jakarta-tomcat-catalina/catalina/src/share \
+                       ${STD_OUT}
        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
+                       -Djava.security.policy=${CATALINA_BASE}/conf/catalina.policy \
+                       ${STD_OUT}
        elif [[ "${TOMCAT_START}" == "jpda start" ]] ; then
-               start-helper ${JAVA_HOME}/bin/java ${JPDA_OPTS}
+               start-helper ${JAVA_HOME}/bin/java ${JPDA_OPTS} ${STD_OUT}
        elif [[ "${TOMCAT_START}" == "start" ]] ; then
-               start-helper ${JAVA_HOME}/bin/java
+               start-helper ${JAVA_HOME}/bin/java ${STD_OUT}
        elif [[ "${TOMCAT_START}" == "start -security" ]] ; then
                start-helper ${JAVA_HOME}/bin/java \
                        -Djava.security.manager \
-                       -Djava.security.policy=${CATALINA_BASE}/conf/catalina.policy
+                       -Djava.security.policy=${CATALINA_BASE}/conf/catalina.policy \
+                       ${STD_OUT}
        else
                eerror "Invalid TOMCAT_START variable value, or one is not set"
                eerror "Please see /etc/conf.d/tomcat-5.5 for more information"
@@ -81,6 +86,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
+                       --exec ${JAVA_HOME}/bin/java -- ${OPTS_CP} ${CATALINA_ARGS} stop ${STD_OUT}
        eend $?
 }
index 02b559431bd6fa8fd84aaa8390d236df7918b846..5d08a9e23ce3f763767b43ad5d6a014ac3707af4 100755 (executable)
@@ -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.1 2006/12/08 07:00:55 wltjr Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/files/6/tomcat.init,v 1.2 2007/01/10 19:44:57 wltjr Exp $
 
 init_env_vars() {
        # Set some sane defaults
@@ -31,6 +31,8 @@ init_env_vars() {
                                   -Dcatalina.home=${CATALINA_HOME} \
                                   -Djava.io.tmpdir=${CATALINA_TMPDIR} \
                                   org.apache.catalina.startup.Bootstrap "
+
+       STD_OUT=" >> ${CATALINA_BASE}/logs/catalina.out 2>&1 &"
 }
 
 start-helper() {
@@ -52,20 +54,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
+                       -sourcepath ${CATALINA_HOME}/../../jakarta-tomcat-catalina/catalina/src/share \
+                       ${STD_OUT}
        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
+                       -Djava.security.policy=${CATALINA_BASE}/conf/catalina.policy \
+                       ${STD_OUT}
        elif [[ "${TOMCAT_START}" == "jpda start" ]] ; then
-               start-helper ${JAVA_HOME}/bin/java ${JPDA_OPTS}
+               start-helper ${JAVA_HOME}/bin/java ${JPDA_OPTS} ${STD_OUT}
        elif [[ "${TOMCAT_START}" == "start" ]] ; then
-               start-helper ${JAVA_HOME}/bin/java
+               start-helper ${JAVA_HOME}/bin/java ${STD_OUT}
        elif [[ "${TOMCAT_START}" == "start -security" ]] ; then
                start-helper ${JAVA_HOME}/bin/java \
                        -Djava.security.manager \
-                       -Djava.security.policy=${CATALINA_BASE}/conf/catalina.policy
+                       -Djava.security.policy=${CATALINA_BASE}/conf/catalina.policy \
+                       ${STD_OUT}
        else
                eerror "Invalid TOMCAT_START variable value, or one is not set"
                eerror "Please see /etc/conf.d/tomcat-5.5 for more information"
@@ -79,6 +84,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
+                       --exec ${JAVA_HOME}/bin/java -- ${OPTS_CP} ${CATALINA_ARGS} stop ${STD_OUT}
        eend $?
 }
diff --git a/www-servers/tomcat/files/digest-tomcat-5.5.20-r7 b/www-servers/tomcat/files/digest-tomcat-5.5.20-r7
new file mode 100644 (file)
index 0000000..25cb711
--- /dev/null
@@ -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-r1 b/www-servers/tomcat/files/digest-tomcat-6.0.7_beta-r1
new file mode 100644 (file)
index 0000000..1309a09
--- /dev/null
@@ -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
index 3f152361a5521676db7baa3102f7e88bed78410b..cdc53be209a3d79d808663f774f85e6923fcaf67 100644 (file)
@@ -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-r6.ebuild,v 1.2 2007/01/09 16:49:14 wltjr Exp $
+# $Header: /var/cvsroot/gentoo-x86/www-servers/tomcat/tomcat-5.5.20-r6.ebuild,v 1.3 2007/01/10 19:44:57 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-r7.ebuild b/www-servers/tomcat/tomcat-5.5.20-r7.ebuild
new file mode 100644 (file)
index 0000000..781e419
--- /dev/null
@@ -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-r7.ebuild,v 1.1 2007/01/10 19:44:57 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-r1.ebuild b/www-servers/tomcat/tomcat-6.0.7_beta-r1.ebuild
new file mode 100644 (file)
index 0000000..800e8de
--- /dev/null
@@ -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-r1.ebuild,v 1.1 2007/01/10 19:44:57 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
+}