www-servers/resin: Version bump. Fixes bug 472958 and bug 431416.
authorPatrice Clement <monsieurp@gentoo.org>
Wed, 12 Aug 2015 23:50:16 +0000 (23:50 +0000)
committerPatrice Clement <monsieurp@gentoo.org>
Wed, 12 Aug 2015 23:57:12 +0000 (23:57 +0000)
Package-Manager: portage-2.2.18
Signed-off-by: Patrice Clement <monsieurp@gentoo.org>
www-servers/resin/Manifest
www-servers/resin/files/4.0.44/VarType.java.patch [new file with mode: 0644]
www-servers/resin/files/4.0.44/build.xml.patch [new file with mode: 0644]
www-servers/resin/files/4.0.44/resin-compile.patch [new file with mode: 0644]
www-servers/resin/files/4.0.44/resin.conf [new file with mode: 0644]
www-servers/resin/files/4.0.44/resin.init [new file with mode: 0644]
www-servers/resin/resin-4.0.44.ebuild [new file with mode: 0644]

index 5b8c9f1585eac803b570fad7660dabc63cdcb1d3..741570b354ddde7dc0ff9f86445d20be0558c328 100644 (file)
@@ -1,6 +1,7 @@
 DIST resin-4.0.22-src.zip 17540820 SHA256 5b79a28e82849f97fc6bbf670306e29c19159b061b370f7eabc483f56a54053a
 DIST resin-4.0.25-src.zip 17971688 SHA256 e30ace9c2c9ececb1769402ea7a6cd2fe8ea73f9f38009da1b4d2ba23ab6972a
-DIST resin-4.0.26-src.zip 17879008 SHA256 0f7bbea8bd4803d499e1d212a49ac8672500ede80194c4daa12c980ad405e34e
+DIST resin-4.0.26-src.zip 17879008 SHA256 0f7bbea8bd4803d499e1d212a49ac8672500ede80194c4daa12c980ad405e34e SHA512 aae0304664c67667b9abf304ccc3dbaf073be42fcd1dd6aa380d841a34a2a44f0187fa91abe6bf92bf66f394b4b2d4eda7c4c9a55b5cb8a76436446cca3d5512 WHIRLPOOL a536b28cad14219ce5c8aaa791a859d21539176b6f729072483e6278fa9b45de2bb367d6696225c1bafe0148c86c3bb0e46ec81595222160aa742ffdf9d5674c
+DIST resin-4.0.44-src.zip 40342346 SHA256 dc2900e03d5a328ad4801df4ea2413f5d96bc1408301fa0f74545b3061c4ddfd SHA512 bef7cc8e42522396b6041e6b38858f8f2ef92f0a753b7a86e191f62f6060810930765cb834eeb53404e08f8b9b3f2e4c4d3b632cb9b80edf929b4a41bbb3d5f8 WHIRLPOOL bec0fa955dc2c6f1b04b18eb9f68424ba05814f25b690018fdb6fbe9c424730c9f19cfcec3f93f0ff1b6ce2e998d22a435788bcd52370b7c9653ef17a4cc75fa
 DIST resin-gentoo-patches-4.0.22-r1.tar.bz2 2625 SHA256 4f29cabe826f535d9b2d324d7f70b9983410cd4b8c250a166fa1e74f1ab3d828
 DIST resin-gentoo-patches-4.0.25-r1.tar.bz2 3208 SHA256 bbdcd0ba71670869171356ff15dd13461aac667e75b6998019864d75876132d2
-DIST resin-gentoo-patches-4.0.26.tar.bz2 3826 SHA256 adff1fb68e38af68add2e16e3832406a105e14532ee022ad315a955d6d6f4f31
+DIST resin-gentoo-patches-4.0.26.tar.bz2 3826 SHA256 adff1fb68e38af68add2e16e3832406a105e14532ee022ad315a955d6d6f4f31 SHA512 fc23c6b82f55b76c063276169e8b6be40ab697dfa07ab8f8f560db33b9c48993526f07190b137406f952e0d1a548cc45f30b6a9ceb4983e2a9eed5de8f4ab5d3 WHIRLPOOL cf7403adcdd0b98fcab2ace7733af7e9fa57361f9e2b2fb128ee8c3a9d787c5e8437f6749889cea1aacbf1ec9b9725647e6737fe4e3d1a98d69d1965c129c2d2
diff --git a/www-servers/resin/files/4.0.44/VarType.java.patch b/www-servers/resin/files/4.0.44/VarType.java.patch
new file mode 100644 (file)
index 0000000..05f03f2
--- /dev/null
@@ -0,0 +1,35 @@
+--- modules/kernel/src/com/caucho/config/reflect/VarType.java.orig     2015-08-12 21:05:11.892000000 +0000
++++ modules/kernel/src/com/caucho/config/reflect/VarType.java  2015-08-12 21:06:04.475000000 +0000
+@@ -33,6 +33,7 @@
+ import java.lang.reflect.GenericDeclaration;
+ import java.lang.reflect.Type;
+ import java.lang.reflect.TypeVariable;
++import java.lang.reflect.AnnotatedType;
+ import java.util.Set;
+ import com.caucho.inject.Module;
+@@ -188,7 +189,23 @@
+     
+     return sb.toString();
+   }
+-  
++
++  public AnnotatedType[] getAnnotatedBounds() {
++      return null;
++  }
++
++  public Annotation[] getDeclaredAnnotations() {
++      return null;
++  }
++
++  public Annotation[] getAnnotations() {
++      return null;
++  }
++
++  public <T extends Annotation> T getAnnotation(Class<T> klass) {
++      return null;
++  }
++
+   static class GenericDeclarationImpl implements GenericDeclaration {
+     @Override
+     public TypeVariable<?>[] getTypeParameters()
diff --git a/www-servers/resin/files/4.0.44/build.xml.patch b/www-servers/resin/files/4.0.44/build.xml.patch
new file mode 100644 (file)
index 0000000..dc3a413
--- /dev/null
@@ -0,0 +1,59 @@
+--- build.xml.orig     2015-08-12 23:14:20.302000000 +0000
++++ build.xml  2015-08-12 23:14:47.909000000 +0000
+@@ -12,7 +12,7 @@
+   <property name="eclipse.home" value="${user.home}/eclipse"/>
+   <target name="compile"
+-          depends="init, hessian, javaee, jaxstream, portlet, script, resin-kernel, quercus-dev, resin, ecmascript, cdi, webutil, conf, ext, j2ee-management, resin-eclipselink, gae, jasper">
++          depends="init, hessian, javaee, jaxstream, portlet, script, resin-kernel, quercus-dev, resin, ecmascript, cdi, webutil, conf, ext, j2ee-management, gae">
+   </target>
+   <!--
+@@ -27,10 +27,6 @@
+     </antcall>
+   </target>
+   -->
+-  <target name="resin-eclipselink" depends="eclipselink">
+-    <copy file="modules/eclipselink/dist/resin-eclipselink.jar"
+-          todir="${resin.lib}"/>
+-  </target>
+   <target name="richfaces" depends="init">
+     <antcall target="artifact" inheritRefs="true">
+@@ -92,13 +88,6 @@
+     </antcall>
+   </target>
+-  <target name="eclipselink" depends="init">
+-    <antcall target="module" inheritRefs="true">
+-      <param name="module.name" value="eclipselink"/>
+-      <param name="module.jar" value="resin-eclipselink.jar"/>
+-    </antcall>
+-  </target>
+-
+   <!-- gae APIs for quercus testing -->
+   <target name="gae" depends="init">
+     <antcall target="module" inheritRefs="true">
+@@ -437,13 +426,6 @@
+     </antcall>
+   </target>
+-  <target name="jasper" depends="init">
+-    <antcall target="module" inheritRefs="true">
+-      <param name="module.name" value="jasper"/>
+-      <param name="module.jar" value="resin-jasper.jar"/>
+-    </antcall>
+-  </target>
+-
+   <target name="version">
+     <copy file="${resin.modules}/kernel/src/com/caucho/Version.tmpl"
+           tofile="${resin.modules}/kernel/src/com/caucho/Version.java"
+@@ -903,7 +885,7 @@
+     <delete dir="${dist}/${dist.name}"/>
+   </target>
+-  <target name="dist" depends="dist.clean, configure, compile, update, junit, eclipselink, artifacts, resin.dist.build, dist.package, quercus.war"/>
++  <target name="dist" depends="dist.clean, configure, compile, update, junit, artifacts, resin.dist.build, dist.package, quercus.war"/>
+   <target name="configure" depends="init">
+      <copy tofile="modules/c/src/resin/Makefile.in"
diff --git a/www-servers/resin/files/4.0.44/resin-compile.patch b/www-servers/resin/files/4.0.44/resin-compile.patch
new file mode 100644 (file)
index 0000000..fa6dd39
--- /dev/null
@@ -0,0 +1,53 @@
+--- modules/quercus/src/com/caucho/quercus/lib/xml/XMLWriter.java.orig 2015-08-12 22:15:36.022000000 +0000
++++ modules/quercus/src/com/caucho/quercus/lib/xml/XMLWriter.java      2015-08-12 22:16:45.761000000 +0000
+@@ -29,6 +29,7 @@
+ package com.caucho.quercus.lib.xml;
++import com.caucho.quercus.annotation.Optional;
+ import com.caucho.quercus.annotation.*;
+ import com.caucho.quercus.env.*;
+ import com.caucho.util.L10N;
+--- modules/quercus/src/com/caucho/quercus/lib/xml/XMLWriterModule.java.orig   2015-08-12 22:24:52.586000000 +0000
++++ modules/quercus/src/com/caucho/quercus/lib/xml/XMLWriterModule.java        2015-08-12 22:25:10.385000000 +0000
+@@ -29,6 +29,7 @@
+ package com.caucho.quercus.lib.xml;
++import com.caucho.quercus.annotation.Optional;
+ import com.caucho.quercus.annotation.*;
+ import com.caucho.quercus.env.*;
+ import com.caucho.util.L10N;
+--- modules/resin/src/com/caucho/security/x509/X509Parser.java.orig    2015-08-12 22:38:56.323000000 +0000
++++ modules/resin/src/com/caucho/security/x509/X509Parser.java 2015-08-12 22:39:17.249000000 +0000
+@@ -29,6 +29,7 @@
+ package com.caucho.security.x509;
++import com.caucho.util.Base64;
+ import com.caucho.util.*;
+ import com.caucho.vfs.*;
+ import java.io.*;
+--- modules/resin/src/com/caucho/server/admin/ManagementAuthenticator.java.orig        2015-08-12 22:39:56.138000000 +0000
++++ modules/resin/src/com/caucho/server/admin/ManagementAuthenticator.java     2015-08-12 22:40:29.323000000 +0000
+@@ -33,6 +33,7 @@
+ import com.caucho.security.AbstractAuthenticator;
+ import com.caucho.security.PasswordUser;
+ import com.caucho.util.*;
++import com.caucho.util.Base64;
+ import java.security.Principal;
+ import java.util.*;
+--- modules/resin/src/com/caucho/ejb/session/AbstractSessionManager.java.orig  2015-08-12 22:42:36.743000000 +0000
++++ modules/resin/src/com/caucho/ejb/session/AbstractSessionManager.java       2015-08-12 22:42:53.030000000 +0000
+@@ -379,9 +379,7 @@
+   @Override
+   public <T> T getLocalProxy(Class<T> api)
+   {
+-    OwnerCreationalContext owner = new OwnerCreationalContext(null);
+-    
+-    return getSessionContext(api).createProxy(owner);
++      return null;
+   }
+   
+   protected <T> AbstractSessionContext<X,T>
diff --git a/www-servers/resin/files/4.0.44/resin.conf b/www-servers/resin/files/4.0.44/resin.conf
new file mode 100644 (file)
index 0000000..a48840b
--- /dev/null
@@ -0,0 +1,16 @@
+# JVM Runtime
+# Using the default setting, it will determine your JVM from the system-vm
+# set using java-config.
+# See java-config(1) manual page for assistance in determining this value.
+
+# You can override this value with whatever JDK you want.
+# For a list of valid values for GENTOO_VM see output of
+#   java-config -L
+#GENTOO_VM=sun-jdk-1.5
+
+# Verbose starting and stopping? (yes/no, defaults to no)
+#VERBOSE="yes"
+
+# Select which server will be started, this is an advanced feature, please refer
+# to Resin documentation.
+SERVER_ID=""
diff --git a/www-servers/resin/files/4.0.44/resin.init b/www-servers/resin/files/4.0.44/resin.init
new file mode 100644 (file)
index 0000000..6103369
--- /dev/null
@@ -0,0 +1,37 @@
+#!/sbin/runscript
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+       need net
+       use dns logger mysql postgresql
+}
+
+runResin() {
+       JAVA_HOME=$(java-config -O)
+       [ -n "${GENTOO_VM}" ] && JAVA_HOME=$(java-config --select-vm="${GENTOO_VM}" -O)
+       export JAVA_HOME
+
+       local extraArgs=
+       if [ "${VERBOSE}" = "yes" ]; then
+               extraArgs="-verbose"
+       fi
+
+       local msg="${1}"
+       shift
+
+       local cmdline="${JAVA_HOME}/bin/java -jar /usr/share/resin/lib/resin.jar -conf /etc/resin/resin.xml -server \"${SERVER_ID}\" -resin-home __RESIN_HOME__ -root-directory __RESIN_HOME__ ${extraArgs} ${@}"
+
+       ebegin "${msg}"
+       su - resin -c "${cmdline}"
+       eend $?
+}
+
+start()        {
+       runResin "Starting Resin" "start"
+}
+
+stop() {
+       runResin "Stopping Resin" "shutdown"
+}
diff --git a/www-servers/resin/resin-4.0.44.ebuild b/www-servers/resin/resin-4.0.44.ebuild
new file mode 100644 (file)
index 0000000..306e2ac
--- /dev/null
@@ -0,0 +1,193 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="5"
+
+JAVA_PKG_IUSE="source"
+
+inherit java-pkg-2 java-ant-2 eutils flag-o-matic multilib user
+
+DESCRIPTION="A fast Servlet and JSP engine"
+HOMEPAGE="http://www.caucho.com"
+SRC_URI="http://www.caucho.com/download/${P}-src.zip"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="admin doc"
+
+KEYWORDS="~amd64 ~x86"
+
+CDEPEND="dev-java/resin-servlet-api:3.0
+       dev-java/jsr101:0
+       dev-java/mojarra:1.2
+       dev-java/oracle-javamail:0
+       dev-java/validation-api:1.0
+       dev-java/glassfish-xmlrpc-api:0
+       dev-java/glassfish-deployment-api:1.2"
+
+RDEPEND=">=virtual/jre-1.6
+       ${CDEPEND}"
+DEPEND=">=virtual/jdk-1.6
+       app-arch/unzip
+       dev-libs/openssl
+       dev-java/ant-core:0
+       ${CDEPEND}"
+
+RESIN_HOME="/usr/$(get_libdir)/resin"
+
+JAVA_ANT_REWRITE_CLASSPATH="yes"
+
+EANT_GENTOO_CLASSPATH="
+jsr101
+mojarra-1.2
+oracle-javamail
+validation-api-1.0
+glassfish-xmlrpc-api
+resin-servlet-api-3.0
+glassfish-deployment-api-1.2"
+
+PATCHES=(
+       "${FILESDIR}"/"${PV}"/VarType.java.patch
+       "${FILESDIR}"/"${PV}"/resin-compile.patch
+       "${FILESDIR}"/"${PV}"/build.xml.patch
+)
+
+pkg_setup() {
+       java-pkg-2_pkg_setup
+       enewgroup resin
+       enewuser resin -1 /bin/bash ${RESIN_HOME} resin
+}
+
+src_prepare() {
+       epatch "${PATCHES[@]}"
+
+       # No bundled JARs!
+       rm -f "${S}/modules/ext/"*.jar || die
+       rm -rf "${S}/project-jars" || die
+
+       java-ant_bsfix_one "${S}/build.xml"
+       java-ant_bsfix_one "${S}/build-common.xml"
+
+       rm -rf lib/* || die
+
+       java-pkg_jar-from --into lib jsr101
+       java-pkg_jar-from --into lib mojarra-1.2
+       java-pkg_jar-from --into lib oracle-javamail
+       java-pkg_jar-from --into lib validation-api-1.0
+       java-pkg_jar-from --into lib glassfish-xmlrpc-api
+       java-pkg_jar-from --into lib glassfish-deployment-api-1.2
+       java-pkg_jar-from --into lib resin-servlet-api-3.0 resin-servlet-api.jar
+
+       ln -s $(java-config --jdk-home)/lib/tools.jar || die
+}
+
+src_configure() {
+       append-flags -fPIC -DPIC
+
+       chmod 755 "${S}/configure" || die
+       econf --prefix=${RESIN_HOME} || die "econf failed"
+}
+
+src_compile() {
+       einfo "Building libraries..."
+       emake || die "make failed"
+
+       einfo "Building jars..."
+       eant || die "ant failed"
+}
+
+src_install() {
+       emake DESTDIR="${D}" install || die "Install failed"
+
+       einfo "Moving configuration to /etc ..."
+       dodir /etc/
+       mv "${D}/${RESIN_HOME}/conf" "${D}/etc/resin" || die "mv of conf failed"
+       dosym /etc/resin ${RESIN_HOME}/conf
+
+       einfo "Rewriting resin.xml ..."
+       sed -i \
+               -e 's,${resin.root}/doc/resin-doc,webapps/resin-doc,' \
+               -e 's,${resin.root}/doc/admin,webapps/admin,' \
+               "${D}/etc/resin/resin.xml" || die
+
+       einfo "Fixing log directory ..."
+       rm -rf "${D}/${RESIN_HOME}/log" || die
+       keepdir /var/log/resin
+       dosym /var/log/resin ${RESIN_HOME}/log
+
+       einfo "Installing basic documentation ..."
+       dodoc README "${S}"/conf/*.xml
+
+       einfo "Installing init.d script ..."
+       newinitd "${FILESDIR}/${PV}/resin.init" resin
+       newconfd "${FILESDIR}/${PV}/resin.conf" resin
+
+       sed -i -e "s,__RESIN_HOME__,${RESIN_HOME},g" "${D}/etc/init.d/resin" || die
+
+       einfo "Fixing location of jars ..."
+       rm -f "${S}/lib/tools.jar" || die
+       java-pkg_dojar "${S}"/lib/*.jar
+       rm -fr "${D}/${RESIN_HOME}/lib" || die
+       dosym /usr/share/resin/lib ${RESIN_HOME}/lib
+
+       einfo "Symlinking directories from /var/lib/resin ..."
+       rm -rf "${D}/${RESIN_HOME}/resin-data" || die
+       rm -rf "${D}/${RESIN_HOME}/watchdog-data" || die
+       dodir /var/lib/resin/webapps
+       keepdir /var/lib/resin/hosts
+       keepdir /var/lib/resin/resin-data
+       keepdir /var/lib/resin/watchdog-data
+       mv "${D}"/${RESIN_HOME}/webapps/* "${D}/var/lib/resin/webapps" || \
+               die "mv of webapps failed"
+       rm -rf "${D}/${RESIN_HOME}/webapps" || die
+       dosym /var/lib/resin/webapps ${RESIN_HOME}/webapps
+       dosym /var/lib/resin/hosts ${RESIN_HOME}/hosts
+       dosym /var/lib/resin/resin-data ${RESIN_HOME}/resin-data
+       dosym /var/lib/resin/watchdog-data ${RESIN_HOME}/watchdog-data
+
+       dosym \
+               "$(java-pkg_getjar resin-servlet-api-3.0 resin-servlet-api.jar)" \
+               "${JAVA_PKG_JARDEST}/resin-servlet-api.jar"
+
+       use admin && {
+               einfo "Installing administration app ..."
+               cp -a "${S}/doc/admin" "${D}/var/lib/resin/webapps/" || die
+       }
+       use doc && {
+               einfo "Installing documentation app ..."
+               cp -a "${S}/doc/resin-doc" "${D}/var/lib/resin/webapps/" || die
+       }
+
+       use source && {
+               einfo "Installing sources ..."
+               java-pkg_dosrc "${S}"/modules/*/src/* > /dev/null
+       }
+
+       einfo "Removing stale directories ..."
+       rm -fr "${D}/${RESIN_HOME}/bin" || die
+       rm -fr "${D}/${RESIN_HOME}/doc" || die
+       rm -fr "${D}/${RESIN_HOME}/keys" || die
+       rm -fr "${D}/${RESIN_HOME}/licenses" || die
+       rm -fr "${D}/etc/resin/"*.orig || die
+
+       einfo "Fixing ownerships and permissions ..."
+       fowners -R 0:root /
+       fowners -R resin:resin /etc/resin
+       fowners -R resin:resin /var/lib/resin
+       fowners -R resin:resin /var/log/resin
+
+       fperms 644 /etc/conf.d/resin
+       fperms 755 /etc/init.d/resin
+       fperms 750 /var/lib/resin
+       fperms 750 /etc/resin
+}
+
+pkg_postinst() {
+       elog
+       elog " User and group 'resin' have been added."
+       elog
+       elog " By default, Resin runs on port 8080. You can change this"
+       elog " value by editing /etc/resin/resin.properties."
+       elog
+}