[jglobus/el5] Adapt to EPEL

Mattias Ellert ellert at fedoraproject.org
Sat Oct 13 23:18:28 UTC 2012


commit fc83bb01b9a390d6b2cb077c20768648c81f4ec0
Author: Mattias Ellert <mattias.ellert at fysast.uu.se>
Date:   Sun Oct 14 01:17:10 2012 +0200

    Adapt to EPEL

 jglobus-tomcat5.patch |   64 +++++++++++++++++++
 jglobus-tomcat7.patch |   81 -----------------------
 jglobus.spec          |  168 +++++++++++++++++++++++--------------------------
 sources               |    1 +
 4 files changed, 143 insertions(+), 171 deletions(-)
---
diff --git a/jglobus-tomcat5.patch b/jglobus-tomcat5.patch
new file mode 100644
index 0000000..35f0ec0
--- /dev/null
+++ b/jglobus-tomcat5.patch
@@ -0,0 +1,64 @@
+diff -ur jglobus-2.0.4.orig/ssl-proxies-tomcat/src/main/java/org/globus/gsi/tomcat/GlobusSSLSocketFactory.java jglobus-2.0.4/ssl-proxies-tomcat/src/main/java/org/globus/gsi/tomcat/GlobusSSLSocketFactory.java
+--- jglobus-2.0.4.orig/ssl-proxies-tomcat/src/main/java/org/globus/gsi/tomcat/GlobusSSLSocketFactory.java	2011-07-29 04:41:20.000000000 +0200
++++ jglobus-2.0.4/ssl-proxies-tomcat/src/main/java/org/globus/gsi/tomcat/GlobusSSLSocketFactory.java	2012-09-30 06:47:06.452646206 +0200
+@@ -15,7 +15,7 @@
+ 
+ package org.globus.gsi.tomcat;
+ 
+-import org.apache.tomcat.util.net.jsse.JSSESocketFactory;
++import org.apache.tomcat.util.net.jsse.JSSE14SocketFactory;
+ import org.globus.gsi.X509ProxyCertPathParameters;
+ import org.globus.gsi.jsse.GlobusSSLHelper;
+ import org.globus.gsi.provider.GlobusProvider;
+@@ -39,50 +39,13 @@
+  * @version 1.0
+  * @since 1.0
+  */
+-public class GlobusSSLSocketFactory extends JSSESocketFactory {
++public class GlobusSSLSocketFactory extends JSSE14SocketFactory {
+ 
+     static {
+         Security.addProvider(new GlobusProvider());
+     }
+     
+     
+-
+-    /**
+-     * Create a Globus trust manager which supports proxy certificates.  This requires that the CRL store, and
+-     * signing policy store be configured.
+-     *
+-     * @param keystoreType     The type of keystore to create.
+-     * @param keystoreProvider The keystore provider to use.
+-     * @param algorithm        The keystore algorithm.
+-     * @return A set of configured TrustManagers.
+-     * @throws Exception If we cannot create the trust managers.
+-     */
+-    @Override
+-    protected TrustManager[] getTrustManagers(String keystoreType, String keystoreProvider, String algorithm)
+-            throws Exception {
+-        KeyStore trustStore = getTrustStore(keystoreType, keystoreProvider);
+-        CertStore crlStore = null;
+-        Object crlLocation = attributes.get("crlLocation");
+-        if (crlLocation != null) {
+-            crlStore = GlobusSSLHelper.findCRLStore((String) attributes.get("crlLocation"));
+-        }
+-        Object signingPolicyLocation = attributes.get("signingPolicyLocation");
+-        ResourceSigningPolicyStore policyStore = null;
+-        if (signingPolicyLocation != null) {
+-            policyStore = new ResourceSigningPolicyStore(
+-                    new ResourceSigningPolicyStoreParameters(attributes.get("signingPolicyLocation").toString()));
+-        }
+-        Object rejectLimitedProxyEntry = attributes.get("rejectLimitedProxy");
+-
+-        boolean rejectLimitedProxy = rejectLimitedProxyEntry != null &&
+-                Boolean.parseBoolean(attributes.get("rejectLimitedProxy").toString());
+-        X509ProxyCertPathParameters parameters = new X509ProxyCertPathParameters(trustStore, crlStore, policyStore,
+-                rejectLimitedProxy);
+-        TrustManager trustManager = new PKITrustManager(new X509ProxyCertPathValidator(), parameters);
+-        return new TrustManager[]{trustManager};
+-    }
+-
+-	
+ 	@Override
+ 	protected Object clone() throws CloneNotSupportedException {
+ 		// TODO Auto-generated method stub
diff --git a/jglobus.spec b/jglobus.spec
index 088add7..d1daacc 100644
--- a/jglobus.spec
+++ b/jglobus.spec
@@ -1,3 +1,16 @@
+# This is a dedicated spec file for building jglobus for EPEL 5 and 6
+# Instead of using maven - which is not available on RHEL/EPEL - ant
+# is used for building. The ant build files were created using the
+# maven ant plugin
+
+%if "%{rhel}" == "5"
+%global tomcat tomcat5
+%global tomcatlib tomcat5-server-lib
+%else
+%global tomcat tomcat6
+%global tomcatlib tomcat6-lib
+%endif
+
 Name:		jglobus
 Version:	2.0.4
 Release:	9.20121013git597e3ac%{?dist}
@@ -6,6 +19,7 @@ Summary:	Globus Java client libraries
 #		Everything is Apache 2.0 except for one file that is MIT:
 #		ssl-proxies/src/main/java/org/globus/tools/GridCertRequest.java
 License:	ASL 2.0 and MIT
+Group:		Development/Libraries
 URL:		http://www.globus.org/toolkit/%{name}/
 #		Source generated from a git checkout:
 #		git clone http://github.com/%{name}/JGlobus
@@ -15,50 +29,42 @@ URL:		http://www.globus.org/toolkit/%{name}/
 #		    --worktree-attributes \
 #		    597e3ac | gzip > ../%{name}-%{version}-git597e3ac.tar.gz
 Source0:	%{name}-%{version}-git597e3ac.tar.gz
-#		Adapting to tomcat 7
-Patch0:		%{name}-tomcat7.patch
+#		Build with ant on old distributions
+Source1:	%{name}-ant-%{version}.tar.gz
+#		Adapting to tomcat 5
+Patch0:		%{name}-tomcat5.patch
 
 BuildArch:	noarch
+#		There is no bouncycastle for ppc in EPEL5 abd ppc64 in EPEL6
+ExcludeArch:	ppc ppc64
+BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:	jpackage-utils
 BuildRequires:	java-devel
-BuildRequires:	maven
-BuildRequires:	maven-compiler-plugin
-BuildRequires:	maven-install-plugin
-BuildRequires:	maven-jar-plugin
-BuildRequires:	maven-javadoc-plugin
-BuildRequires:	maven-release-plugin
-BuildRequires:	maven-resources-plugin
-
-BuildRequires:	apache-commons-codec
-BuildRequires:	apache-commons-io
-BuildRequires:	apache-commons-lang
-BuildRequires:	apache-commons-logging
+BuildRequires:	ant
+
+BuildRequires:	jakarta-commons-codec
+BuildRequires:	jakarta-commons-io
+BuildRequires:	jakarta-commons-lang
+BuildRequires:	jakarta-commons-logging
 BuildRequires:	bouncycastle
 BuildRequires:	log4j
-BuildRequires:	tomcat-lib >= 7.0.28
+BuildRequires:	%{tomcatlib}
 
 %description
 %{name} is a collection of Java client libraries for Globus Toolkit security,
 GRAM and GridFTP.
 
-%package parent
-Summary:	Globus Java - parent pom file
-License:	ASL 2.0
-Requires:	jpackage-utils
-
-%description parent
-Globus Java libraries parent maven pom file
-
 %package ssl-proxies
 Summary:	Globus Java - SSL and proxy certificate support
 License:	ASL 2.0 and MIT
+Group:		Development/Libraries
 Requires:	jpackage-utils
 Requires:	java
-Requires:	apache-commons-codec
-Requires:	apache-commons-io
-Requires:	apache-commons-lang
-Requires:	apache-commons-logging
+Requires:	jakarta-commons-codec
+Requires:	jakarta-commons-io
+Requires:	jakarta-commons-lang
+Requires:	jakarta-commons-logging
 Requires:	bouncycastle
 Requires:	log4j
 
@@ -68,11 +74,12 @@ Globus Java library with SSL and proxy certificate support
 %package jsse
 Summary:	Globus Java - SSL support
 License:	ASL 2.0
+Group:		Development/Libraries
 Requires:	jpackage-utils
 Requires:	java
 Requires:	%{name}-ssl-proxies = %{version}-%{release}
-Requires:	apache-commons-codec
-Requires:	apache-commons-logging
+Requires:	jakarta-commons-codec
+Requires:	jakarta-commons-logging
 Requires:	log4j
 
 %description jsse
@@ -81,14 +88,15 @@ Globus Java library with SSL support
 %package gss
 Summary:	Globus Java - GSS-API implementation for SSL with proxies
 License:	ASL 2.0
+Group:		Development/Libraries
 Requires:	jpackage-utils
 Requires:	java
 Requires:	%{name}-ssl-proxies = %{version}-%{release}
 Requires:	%{name}-jsse = %{version}-%{release}
-Requires:	apache-commons-codec
-Requires:	apache-commons-io
-Requires:	apache-commons-lang
-Requires:	apache-commons-logging
+Requires:	jakarta-commons-codec
+Requires:	jakarta-commons-io
+Requires:	jakarta-commons-lang
+Requires:	jakarta-commons-logging
 Requires:	bouncycastle
 Requires:	log4j
 
@@ -98,12 +106,13 @@ Globus Java GSS-API implementation for SSL with proxies
 %package gram
 Summary:	Globus Java - Grid Resource Allocation and Management (GRAM)
 License:	ASL 2.0
+Group:		Development/Libraries
 Requires:	jpackage-utils
 Requires:	java
 Requires:	%{name}-ssl-proxies = %{version}-%{release}
 Requires:	%{name}-jsse = %{version}-%{release}
 Requires:	%{name}-gss = %{version}-%{release}
-Requires:	apache-commons-logging
+Requires:	jakarta-commons-logging
 Requires:	bouncycastle
 
 %description gram
@@ -112,12 +121,13 @@ Globus Java library with GRAM support
 %package gridftp
 Summary:	Globus Java - GridFTP
 License:	ASL 2.0
+Group:		Development/Libraries
 Requires:	jpackage-utils
 Requires:	java
 Requires:	%{name}-ssl-proxies = %{version}-%{release}
 Requires:	%{name}-jsse = %{version}-%{release}
 Requires:	%{name}-gss = %{version}-%{release}
-Requires:	apache-commons-logging
+Requires:	jakarta-commons-logging
 Requires:	bouncycastle
 
 %description gridftp
@@ -126,12 +136,13 @@ Globus Java library with GridFTP support
 %package ssl-proxies-tomcat
 Summary:	Globus Java - SSL and proxy certificate support for Tomcat
 License:	ASL 2.0
+Group:		Development/Libraries
 Requires:	jpackage-utils
 Requires:	java
 Requires:	%{name}-ssl-proxies = %{version}-%{release}
 Requires:	%{name}-jsse = %{version}-%{release}
 Requires:	bouncycastle
-Requires:	tomcat-lib >= 7
+Requires:	%{tomcatlib}
 
 %description ssl-proxies-tomcat
 Globus Java library with SSL and proxy certificate support for Tomcat
@@ -139,6 +150,7 @@ Globus Java library with SSL and proxy certificate support for Tomcat
 %package io
 Summary:	Globus Java - IO
 License:	ASL 2.0
+Group:		Development/Libraries
 Requires:	jpackage-utils
 Requires:	java
 Requires:	%{name}-ssl-proxies = %{version}-%{release}
@@ -146,10 +158,10 @@ Requires:	%{name}-jsse = %{version}-%{release}
 Requires:	%{name}-gss = %{version}-%{release}
 Requires:	%{name}-gram = %{version}-%{release}
 Requires:	%{name}-gridftp = %{version}-%{release}
-Requires:	apache-commons-codec
-Requires:	apache-commons-io
-Requires:	apache-commons-lang
-Requires:	apache-commons-logging
+Requires:	jakarta-commons-codec
+Requires:	jakarta-commons-io
+Requires:	jakarta-commons-lang
+Requires:	jakarta-commons-logging
 Requires:	bouncycastle
 Requires:	log4j
 
@@ -159,21 +171,25 @@ Globus Java library with IO utilities
 %package javadoc
 Summary:	Javadocs for %{name}
 License:	ASL 2.0 and MIT
+Group:		Documentation
 Requires:	jpackage-utils
 
 %description javadoc
 This package contains the API documentation for %{name}.
 
 %prep
-%setup -q -n %{name}-%{version}-git597e3ac
+%setup -q -a 1 -n %{name}-%{version}-git597e3ac
+%if "%{rhel}" == "5"
 %patch0 -p1
+%endif
 
 %build
 # Many tests requires network connections and a valid proxy certificate
-mvn-rpmbuild -Dproject.build.sourceEncoding=UTF-8 \
-	     -Dmaven.test.skip=true install javadoc:aggregate
+export CLASSPATH=$(build-classpath bcprov log4j commons-codec commons-io commons-lang commons-logging %{tomcat}/catalina %{tomcat}/tomcat-coyote %{tomcat}/tomcat-util):ssl-proxies/target/ssl-proxies-2.0-SNAPSHOT.jar:jsse/target/jsse-2.0-SNAPSHOT.jar:gss/target/gss-2.0-SNAPSHOT.jar:gram/target/gram-2.0-SNAPSHOT.jar:gridftp/target/gridftp-2.0-SNAPSHOT.jar
+ant -Dmaven.test.skip=true package javadoc
 
 %install
+rm -rf %{buildroot}
 mkdir -p %{buildroot}%{_javadir}/%{name}
 install -p -m 644 ssl-proxies/target/ssl-proxies-*.jar \
     %{buildroot}%{_javadir}/%{name}/ssl-proxies.jar
@@ -190,77 +206,49 @@ install -p -m 644 ssl-proxies-tomcat/target/ssl-proxies-tomcat-*.jar \
 install -p -m 644 io/target/io-*.jar \
     %{buildroot}%{_javadir}/%{name}/io.jar    
 
-mkdir -p %{buildroot}%{_javadocdir}
-cp -pr target/site/apidocs %{buildroot}%{_javadocdir}/%{name}
-
-mkdir -p %{buildroot}%{_mavenpomdir}
-install -p -m 644 pom.xml \
-    %{buildroot}%{_mavenpomdir}/JPP.%{name}-parent.pom
-install -p -m 644 ssl-proxies/pom.xml \
-    %{buildroot}%{_mavenpomdir}/JPP.%{name}-ssl-proxies.pom
-install -p -m 644 jsse/pom.xml \
-    %{buildroot}%{_mavenpomdir}/JPP.%{name}-jsse.pom
-install -p -m 644 gss/pom.xml \
-    %{buildroot}%{_mavenpomdir}/JPP.%{name}-gss.pom
-install -p -m 644 gram/pom.xml \
-    %{buildroot}%{_mavenpomdir}/JPP.%{name}-gram.pom
-install -p -m 644 gridftp/pom.xml \
-    %{buildroot}%{_mavenpomdir}/JPP.%{name}-gridftp.pom
-install -p -m 644 ssl-proxies-tomcat/pom.xml \
-    %{buildroot}%{_mavenpomdir}/JPP.%{name}-ssl-proxies-tomcat.pom
-install -p -m 644 io/pom.xml \
-    %{buildroot}%{_mavenpomdir}/JPP.%{name}-io.pom
-
-%add_maven_depmap -f parent JPP.%{name}-parent.pom
-%add_maven_depmap -f ssl-proxies JPP.%{name}-ssl-proxies.pom %{name}/ssl-proxies.jar
-%add_maven_depmap -f jsse JPP.%{name}-jsse.pom %{name}/jsse.jar
-%add_maven_depmap -f gss JPP.%{name}-gss.pom %{name}/gss.jar
-%add_maven_depmap -f gram JPP.%{name}-gram.pom %{name}/gram.jar
-%add_maven_depmap -f gridftp JPP.%{name}-gridftp.pom %{name}/gridftp.jar
-%add_maven_depmap -f ssl-proxies-tomcat JPP.%{name}-ssl-proxies-tomcat.pom %{name}/ssl-proxies-tomcat.jar
-%add_maven_depmap -f io JPP.%{name}-io.pom %{name}/io.jar
-
-%files parent
-%{_mavenpomdir}/JPP.%{name}-parent.pom
-%{_mavendepmapfragdir}/%{name}-parent
+mkdir -p %{buildroot}%{_javadocdir}/%{name}
+cp -pr ssl-proxies/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/ssl-proxies
+cp -pr jsse/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/jsse
+cp -pr gss/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/gss
+cp -pr gram/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/gram
+cp -pr gridftp/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/gridftp
+cp -pr ssl-proxies-tomcat/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/ssl-proxies-tomcat
+cp -pr io/target/site/apidocs %{buildroot}%{_javadocdir}/%{name}/io
+
+%clean
+rm -rf %{buildroot}
 
 %files ssl-proxies
+%defattr(-,root,root,-)
 %dir %{_javadir}/%{name}
 %{_javadir}/%{name}/ssl-proxies.jar
-%{_mavenpomdir}/JPP.%{name}-ssl-proxies.pom
-%{_mavendepmapfragdir}/%{name}-ssl-proxies
 
 %files jsse
+%defattr(-,root,root,-)
 %{_javadir}/%{name}/jsse.jar
-%{_mavenpomdir}/JPP.%{name}-jsse.pom
-%{_mavendepmapfragdir}/%{name}-jsse
 
 %files gss
+%defattr(-,root,root,-)
 %{_javadir}/%{name}/gss.jar
-%{_mavenpomdir}/JPP.%{name}-gss.pom
-%{_mavendepmapfragdir}/%{name}-gss
 
 %files gram
+%defattr(-,root,root,-)
 %{_javadir}/%{name}/gram.jar
-%{_mavenpomdir}/JPP.%{name}-gram.pom
-%{_mavendepmapfragdir}/%{name}-gram
 
 %files gridftp
+%defattr(-,root,root,-)
 %{_javadir}/%{name}/gridftp.jar
-%{_mavenpomdir}/JPP.%{name}-gridftp.pom
-%{_mavendepmapfragdir}/%{name}-gridftp
 
 %files ssl-proxies-tomcat
+%defattr(-,root,root,-)
 %{_javadir}/%{name}/ssl-proxies-tomcat.jar
-%{_mavenpomdir}/JPP.%{name}-ssl-proxies-tomcat.pom
-%{_mavendepmapfragdir}/%{name}-ssl-proxies-tomcat
 
 %files io
+%defattr(-,root,root,-)
 %{_javadir}/%{name}/io.jar
-%{_mavenpomdir}/JPP.%{name}-io.pom
-%{_mavendepmapfragdir}/%{name}-io
 
 %files javadoc
+%defattr(-,root,root,-)
 %doc %{_javadocdir}/%{name}
 
 %changelog
diff --git a/sources b/sources
index 54b0a82..1e9ad2d 100644
--- a/sources
+++ b/sources
@@ -1 +1,2 @@
 605742bfb5c592b1424e482a5c53ff4d  jglobus-2.0.4-git597e3ac.tar.gz
+1347c43b9fd3dc2022b698fbf35edb42  jglobus-ant-2.0.4.tar.gz


More information about the scm-commits mailing list