[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