inherit eutils S=${WORKDIR}/jakarta-${P}-src DESCRIPTION="Apache Servlet-2.4/JSP-2.0 Container" SRC_URI="http://apache.mirror.mcgill.ca/jakarta/tomcat-5/v${PV}/src/jakarta-tomcat-${PV}-src.tar.gz" HOMEPAGE="http://jakarta.apache.org/tomcat" KEYWORDS="x86 amd64" LICENSE="Apache-1.1" SLOT="0" IUSE="doc jikes" TOMCAT_HOME="/opt/jakarta/tomcat" TOMCAT_CONF="/etc/tomcat/conf" DEPEND=">=virtual/jdk-1.4 >=dev-java/ant-1.4 >=dev-java/commons-beanutils-1.6.1 >=dev-java/commons-collections-3.0 >=dev-java/commons-logging-1.0.1 >=dev-java/regexp-1.3 >=dev-java/xerces-2.6.1" RDEPEND=">=virtual/jdk-1.3" IUSE="doc" pkg_setup() { enewgroup tomcat 265 enewuser tomcat 265 /bin/bash /opt/jakarta/tomcat tomcat } src_compile() { addpredict /dev/random local antflags="build" antflags="${antflags} -Dbase.path=${WORKDIR} -Djavac.target=1.4" antflags="${antflags} -Dcommons-beanutils.jar=`java-config --classpath=commons-beanutils`" #antflags="${antflags} -Dcommons-collections.jar=`java-config --classpath=commons-collections`" antflags="${antflags} -Dcommons-el.jar=`java-config --classpath=commons-el`" #antflags="${antflags} -Dcommons-logging.jar=/usr/share/commons-logging/lib/commons-logging.jar" #antflags="${antflags} -Dcommons-modeler.jar=`java-config --classpath=commons-modeler`" antflags="${antflags} -Dlog4j.jar=`java-config --classpath=log4j`" antflags="${antflags} -Dcommons-digester.jar=`java-config --classpath=commons-digester`" antflags="${antflags} -Dcommons-fileupload.jar=`java-config --classpath=commons-fileupload`" antflags="${antflags} -Dregexp.jar=`java-config --classpath=regexp`" antflags="${antflags} -Djunit.jar=`java-config --classpath=junit`" #antflags="${antflags} -Dcommons-httpclient.jar=`java-config --classpath=commons-httpclient`" #antflags="${antflags} -Dcommons-dbcp.jar=`java-config --classpath=commons-dbcp`" #antflags="${antflags} -Dcommons-launcher.jar=`java-config --classpath=commons-launcher`" #antflags="${antflags} -Dcommons-daemon.jar=`java-config --classpath=commons-daemon`" #antflags="${antflags} -Dcommons-beanutils.jar=/usr/share/commons-logging/lib/commons-logging.jar" #antflags="${antflags} -Dcommons-modeler.jar=`java-config --classpath=commons-modeler`" #antflags="${antflags} -DxercesImpl.jar=/usr/share/xerces/lib/xercesImpl.jar" #antflags="${antflags} -DxmlParserAPIs.jar=/usr/share/xerces/lib/xmlParserAPIs.jar" #antflags="${antflags} -Dcommons-logging.jar=/usr/share/commons-logging/lib/commons-logging.jar" #antflags="${antflags} -Dcommons-pool.jar=`java-config --classpath=commons-pool`" #antflags="${antflags} -Dstruts.jar=`java-config --classpath=struts-1.1`" #antflags="${antflags} -Dcommons-dbcp.jar=`java-config --classpath=commons-dbcp`" #antflags="${antflags} -Dcommons-httpclient.jar=`java-config --classpath=commons-httpclient`" ant ${antflags} || die "compile failed" } # servlet-api-2.4 amd64, use tomcat-5.0.24 # commons-el amd64 # http://www.galatea.com/flashguides/virtual-hosting-tomcat.xml # http://www.onjava.com/pub/a/onjava/2004/04/14/clustering.html # http://www.firthsoftware.co.uk/Setup12.jsp # http://www.firthsoftware.co.uk/PAYPAL.jsp # http://cephas.net/blog/2004/01/19/ant_tomcat_manager_on_virtual_hosts.html # http://www.csse.uwa.edu.au/~ryan/tech/tomcat.html src_install() { cd ${S}/jakarta-${PN}-5/build if [ ! `use doc` ] ; then rm -rf webapps/{tomcat-docs,jsp-examples,servlets-examples} fi dodir ${TOMCAT_HOME} diropts -o tomcat -g tomcat dodir ${TOMCAT_HOME}/{work,temp} dodir ${ROOT}/etc/tomcat dodir /var/log/${PN} dodir /var/webapps dosym ${TOMCAT_CONF} ${TOMCAT_HOME}/conf dosym /var/log/${PN} ${TOMCAT_HOME}/logs dosym /var/webapps/localhost ${TOMCAT_HOME}/webapps # 1) root owned directory install.. cp -Rdp bin common server shared ${D}${TOMCAT_HOME} # 2) tomcat owned directory install.. mv -v conf ${D}/etc/tomcat mv -v webapps ${D}/var/webapps/localhost chown -R tomcat:tomcat ${D}{${TOMCAT_CONF},/var/webapps} fperms 640 /etc/tomcat/tomcat-users.xml # 3) init script install, config files .. insinto /etc/conf.d; newins ${FILESDIR}/${PV}/tomcat.conf tomcat exeinto /etc/init.d; newexe ${FILESDIR}/${PV}/tomcat.init tomcat insinto /etc/env.d; doins ${FILESDIR}/${PV}/21tomcat }