diff --git a/build.xml b/build.xml deleted file mode 100644 index 5361c8f..0000000 --- a/build.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/maven-build.properties b/maven-build.properties deleted file mode 100644 index 78b3322..0000000 --- a/maven-build.properties +++ /dev/null @@ -1,22 +0,0 @@ -#Generated by Maven Ant Plugin - DO NOT EDIT THIS FILE! -#Mon Feb 11 23:31:38 CET 2013 -bouncycastle.version=1.46 -maven.settings.offline=true -maven.build.finalName=voms-api-java-2.0.10 -maven.build.resourceDir.0=src/main/resources -maven.build.testOutputDir=${maven.build.dir}/test-classes -maven.build.testResourceDir.0=src/test/resources -maven.reporting.outputDirectory=${maven.build.dir}/site -project.build.sourceEncoding=UTF-8 -maven.build.srcDir.0=src/main/java -project.build.directory=${maven.build.dir} -maven.test.reports=${maven.build.dir}/test-reports -maven.build.dir=target -project.build.outputDirectory=${maven.build.outputDir} -assembly.javadoc.dir=/usr/share/javadoc/voms-api-java -assembly.doc.dir=/usr/share/doc/voms-api-java-2.0.10 -project.reporting.outputEncoding=UTF-8 -maven.build.testDir.0=src/test/java -maven.settings.interactiveMode=true -assembly.java.dir=/usr/share/java -maven.build.outputDir=${maven.build.dir}/classes diff --git a/maven-build.xml b/maven-build.xml deleted file mode 100644 index 65d2fd9..0000000 --- a/maven-build.xml +++ /dev/null @@ -1,285 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - =================================== WARNING =================================== - JUnit is not present in your $ANT_HOME/lib directory. Tests not executed. - =============================================================================== - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/sources b/sources index cfa6114..1b36def 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -c2b017434cfba3e31b88b28920695cd4 2_0_10.tar.gz +0d9479338b699ee3779ac811bd30e20f 3_0_2.tar.gz diff --git a/voms-api-java-bc147.patch b/voms-api-java-bc147.patch new file mode 100644 index 0000000..242c207 --- /dev/null +++ b/voms-api-java-bc147.patch @@ -0,0 +1,337 @@ +diff -ur voms-api-java-3_0_2.orig/pom.xml voms-api-java-3_0_2/pom.xml +--- voms-api-java-3_0_2.orig/pom.xml 2013-10-17 16:29:07.000000000 +0200 ++++ voms-api-java-3_0_2/pom.xml 2014-03-08 09:57:54.689276148 +0100 +@@ -37,7 +37,7 @@ + /usr/share/javadoc/${project.name} + 4.10 + 1.3.0 +- 1.46 ++ 1.47 + 1.9.0 + 2.2.2 + 2.5.2 +@@ -189,7 +189,7 @@ + + + org.bouncycastle +- bcmail-jdk16 ++ bcpkix-jdk15on + ${bcVersion} + + +diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/ac/impl/DefaultVOMSValidationStrategy.java voms-api-java-3_0_2/src/main/java/org/italiangrid/voms/ac/impl/DefaultVOMSValidationStrategy.java +--- voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/ac/impl/DefaultVOMSValidationStrategy.java 2013-10-17 16:29:07.000000000 +0200 ++++ voms-api-java-3_0_2/src/main/java/org/italiangrid/voms/ac/impl/DefaultVOMSValidationStrategy.java 2014-03-08 09:57:16.678003546 +0100 +@@ -39,7 +39,7 @@ + import javax.security.auth.x500.X500Principal; + + import org.bouncycastle.asn1.ASN1ObjectIdentifier; +-import org.bouncycastle.asn1.x509.X509Extension; ++import org.bouncycastle.asn1.x509.Extension; + import org.bouncycastle.cert.X509CertificateHolder; + import org.bouncycastle.cert.jcajce.JcaX509CertificateHolder; + import org.bouncycastle.operator.ContentVerifierProvider; +@@ -215,7 +215,7 @@ + + private boolean checkNoRevAvailExtension(VOMSAttribute attributes, List validationErrors){ + +- X509Extension noRevAvail = attributes.getVOMSAC().getExtension(X509Extension.noRevAvail); ++ Extension noRevAvail = attributes.getVOMSAC().getExtension(Extension.noRevAvail); + if (noRevAvail != null && noRevAvail.isCritical()){ + validationErrors.add(newErrorMessage(other, "NoRevAvail AC extension cannot be critical!")); + return false; +@@ -225,7 +225,7 @@ + + private boolean checkAuthorityKeyIdentifierExtension(VOMSAttribute attributes, List validationErrors){ + +- X509Extension authKeyId = attributes.getVOMSAC().getExtension(X509Extension.authorityKeyIdentifier); ++ Extension authKeyId = attributes.getVOMSAC().getExtension(Extension.authorityKeyIdentifier); + if (authKeyId != null && authKeyId.isCritical()){ + validationErrors.add(newErrorMessage(other, "AuthorityKeyIdentifier AC extension cannot be critical!")); + return false; +diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSACGenerator.java voms-api-java-3_0_2/src/main/java/org/italiangrid/voms/asn1/VOMSACGenerator.java +--- voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSACGenerator.java 2013-10-17 16:29:07.000000000 +0200 ++++ voms-api-java-3_0_2/src/main/java/org/italiangrid/voms/asn1/VOMSACGenerator.java 2014-03-08 09:57:16.678003546 +0100 +@@ -30,20 +30,21 @@ + import org.bouncycastle.asn1.ASN1Encodable; + import org.bouncycastle.asn1.ASN1EncodableVector; + import org.bouncycastle.asn1.ASN1InputStream; ++import org.bouncycastle.asn1.ASN1Object; + import org.bouncycastle.asn1.ASN1ObjectIdentifier; +-import org.bouncycastle.asn1.DEREncodable; ++import org.bouncycastle.asn1.ASN1Primitive; + import org.bouncycastle.asn1.DERNull; +-import org.bouncycastle.asn1.DERObject; + import org.bouncycastle.asn1.DEROctetString; + import org.bouncycastle.asn1.DERSequence; + import org.bouncycastle.asn1.DERTaggedObject; + import org.bouncycastle.asn1.x509.AlgorithmIdentifier; + import org.bouncycastle.asn1.x509.AuthorityKeyIdentifier; ++import org.bouncycastle.asn1.x509.Extension; + import org.bouncycastle.asn1.x509.GeneralName; + import org.bouncycastle.asn1.x509.GeneralNames; +-import org.bouncycastle.asn1.x509.X509Extension; + import org.bouncycastle.cert.AttributeCertificateHolder; + import org.bouncycastle.cert.AttributeCertificateIssuer; ++import org.bouncycastle.cert.CertIOException; + import org.bouncycastle.cert.X509AttributeCertificateHolder; + import org.bouncycastle.cert.X509v2AttributeCertificateBuilder; + import org.bouncycastle.cert.jcajce.JcaX509CertificateHolder; +@@ -160,7 +161,7 @@ + return String.format("%s://%s:%d", voName, host, port); + } + +- private ASN1Encodable buildACCertsExtensionContent( ++ private ASN1Object buildACCertsExtensionContent( + EnumSet properties) { + + ASN1EncodableVector issuerCertsContainer = new ASN1EncodableVector(); +@@ -169,7 +170,7 @@ + issuerCertsContainer.add(new DERSequence()); + else + issuerCertsContainer.add(new DERSequence( +- getCertAsDEREncodable(aaCredential.getCertificate()))); ++ getCertAsASN1Encodable(aaCredential.getCertificate()))); + + return new DERSequence(issuerCertsContainer); + } +@@ -177,7 +178,7 @@ + private AuthorityKeyIdentifier buildAuthorityKeyIdentifier() { + + byte[] authKeyId = aaCredential.getCertificate().getExtensionValue( +- X509Extension.authorityKeyIdentifier.toString()); ++ Extension.authorityKeyIdentifier.toString()); + + if (authKeyId != null) { + return new AuthorityKeyIdentifier(authKeyId); +@@ -186,7 +187,7 @@ + return null; + } + +- private ASN1Encodable buildFQANsAttributeContent(List fqans, ++ private ASN1Object buildFQANsAttributeContent(List fqans, + GeneralName policyAuthorityInfo) { + + ASN1EncodableVector container = new ASN1EncodableVector(); +@@ -204,7 +205,7 @@ + return new DERSequence(container); + } + +- private ASN1Encodable buildGAExtensionContent( ++ private ASN1Object buildGAExtensionContent( + EnumSet properties, List gas, + GeneralName policyAuthorityInfo) { + +@@ -265,7 +266,7 @@ + + } + +- private ASN1Encodable buildTargetsExtensionContent( ++ private ASN1Object buildTargetsExtensionContent( + EnumSet properties, List targets) { + + ASN1EncodableVector targetSeq = new ASN1EncodableVector(); +@@ -329,6 +330,8 @@ + GeneralName policyAuthorityInfo = buildPolicyAuthorityInfo(voName, host, + port); + ++ try { ++ + builder.addAttribute(VOMS_FQANS_OID, + buildFQANsAttributeContent(fqans, policyAuthorityInfo)); + +@@ -341,7 +344,7 @@ + policyAuthorityInfo)); + + if (targets != null && !targets.isEmpty()) +- builder.addExtension(X509Extension.targetInformation, true, ++ builder.addExtension(Extension.targetInformation, true, + buildTargetsExtensionContent(generationProperties, targets)); + + if (!generationProperties +@@ -365,16 +368,20 @@ + .contains(ACGenerationProperties.INCLUDE_CRITICAL_AKID_EXTENSION)) + akidIsCritical = true; + +- builder.addExtension(X509Extension.noRevAvail, ++ builder.addExtension(Extension.noRevAvail, + noRevAvailIsCritical, + new DERNull()); + + AuthorityKeyIdentifier akid = buildAuthorityKeyIdentifier(); + +- builder.addExtension(X509Extension.authorityKeyIdentifier, ++ builder.addExtension(Extension.authorityKeyIdentifier, + akidIsCritical, + akid != null ? akid : new DERNull()); + ++ } catch (CertIOException e) { ++ throw new VOMSError(e.getMessage(), e); ++ } ++ + return builder.build(getSigner(generationProperties)); + + } +@@ -395,14 +402,14 @@ + return ext; + } + +- private DEREncodable getCertAsDEREncodable(X509Certificate cert) { ++ private ASN1Encodable getCertAsASN1Encodable(X509Certificate cert) { + + try { + byte[] certBytes = cert.getEncoded(); + + ByteArrayInputStream bais = new ByteArrayInputStream(certBytes); + ASN1InputStream is = new ASN1InputStream(bais); +- DERObject derCert = is.readObject(); ++ ASN1Primitive derCert = is.readObject(); + is.close(); + return derCert; + +diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSACUtils.java voms-api-java-3_0_2/src/main/java/org/italiangrid/voms/asn1/VOMSACUtils.java +--- voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSACUtils.java 2013-10-17 16:29:07.000000000 +0200 ++++ voms-api-java-3_0_2/src/main/java/org/italiangrid/voms/asn1/VOMSACUtils.java 2014-03-08 11:07:33.203630648 +0100 +@@ -31,21 +31,21 @@ + + import org.bouncycastle.asn1.ASN1InputStream; + import org.bouncycastle.asn1.ASN1OctetString; ++import org.bouncycastle.asn1.ASN1Primitive; + import org.bouncycastle.asn1.ASN1Sequence; + import org.bouncycastle.asn1.ASN1TaggedObject; + import org.bouncycastle.asn1.DERIA5String; +-import org.bouncycastle.asn1.DERObject; + import org.bouncycastle.asn1.DEROctetString; +-import org.bouncycastle.asn1.DERSequence; ++import org.bouncycastle.asn1.DLSequence; + import org.bouncycastle.asn1.x509.Attribute; + import org.bouncycastle.asn1.x509.AttributeCertificate; ++import org.bouncycastle.asn1.x509.Certificate; ++import org.bouncycastle.asn1.x509.Extension; + import org.bouncycastle.asn1.x509.GeneralName; + import org.bouncycastle.asn1.x509.IetfAttrSyntax; + import org.bouncycastle.asn1.x509.Target; + import org.bouncycastle.asn1.x509.TargetInformation; + import org.bouncycastle.asn1.x509.Targets; +-import org.bouncycastle.asn1.x509.X509CertificateStructure; +-import org.bouncycastle.asn1.x509.X509Extension; + import org.bouncycastle.cert.X509AttributeCertificateHolder; + import org.bouncycastle.jce.provider.BouncyCastleProvider; + import org.bouncycastle.jce.provider.X509CertificateObject; +@@ -159,7 +159,7 @@ + private static List deserializeACTargets(X509AttributeCertificateHolder ac){ + List targets = new ArrayList(); + +- X509Extension targetExtension = ac.getExtension(X509Extension.targetInformation); ++ Extension targetExtension = ac.getExtension(Extension.targetInformation); + + if (targetExtension == null) + return targets; +@@ -171,7 +171,7 @@ + + // The deserialization has to be done by hand since it seems VOMS + // does not correctly encode the ACTargets extension... +- ASN1Sequence targetSequence = (ASN1Sequence) asn1TargetContainer.getDERObject(); ++ ASN1Sequence targetSequence = (ASN1Sequence) asn1TargetContainer.toASN1Primitive(); + Target[] asn1Targets = new Target[targetSequence.size()]; + + int count = 0; +@@ -256,8 +256,8 @@ + Attribute[] asn1Attrs = acHolder.getAttributes(VOMS_FQANS_OID); + + for (Attribute a: asn1Attrs){ +- DERObject theVOMSDerObject = a.getAttributeValues()[0].getDERObject(); +- IetfAttrSyntax attrSyntax = new IetfAttrSyntax(ASN1Sequence.getInstance(theVOMSDerObject)); ++ ASN1Primitive theVOMSDerObject = a.getAttributeValues()[0].toASN1Primitive(); ++ IetfAttrSyntax attrSyntax = IetfAttrSyntax.getInstance(ASN1Sequence.getInstance(theVOMSDerObject)); + + + String policyAuthority = policyAuthoritySanityChecks(attrSyntax); +@@ -306,7 +306,7 @@ + + List gas = new ArrayList(); + +- X509Extension gasExtension = ac.getExtension(VOMS_GENERIC_ATTRS_OID); ++ Extension gasExtension = ac.getExtension(VOMS_GENERIC_ATTRS_OID); + + if (gasExtension == null) + return gas; +@@ -364,7 +364,7 @@ + private static X509Certificate[] deserializeACCerts(X509AttributeCertificateHolder ac){ + List certs = new ArrayList(); + +- X509Extension e = ac.getExtension(VOMS_CERTS_OID); ++ Extension e = ac.getExtension(VOMS_CERTS_OID); + + if (e == null) + return null; +@@ -377,7 +377,7 @@ + certSeq = (ASN1Sequence)certSeq.getObjectAt(0); + + @SuppressWarnings("unchecked") +- Enumeration encodedCerts = certSeq.getObjects(); ++ Enumeration encodedCerts = certSeq.getObjects(); + + CertificateFactory cf = null; + +@@ -389,14 +389,14 @@ + + while (encodedCerts.hasMoreElements()){ + +- DERSequence s = encodedCerts.nextElement(); ++ DLSequence s = encodedCerts.nextElement(); + X509CertificateObject certObj = null; + byte[] certData = null; + X509Certificate theCert = null; + + try { + +- certObj = new X509CertificateObject(X509CertificateStructure.getInstance(ASN1Sequence.getInstance(s))); ++ certObj = new X509CertificateObject(Certificate.getInstance(ASN1Sequence.getInstance(s))); + certData = certObj.getEncoded(); + theCert = (X509Certificate)cf.generateCertificate(new ByteArrayInputStream(certData)); + +diff -ur voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSConstants.java voms-api-java-3_0_2/src/main/java/org/italiangrid/voms/asn1/VOMSConstants.java +--- voms-api-java-3_0_2.orig/src/main/java/org/italiangrid/voms/asn1/VOMSConstants.java 2013-10-17 16:29:07.000000000 +0200 ++++ voms-api-java-3_0_2/src/main/java/org/italiangrid/voms/asn1/VOMSConstants.java 2014-03-08 09:57:16.678003546 +0100 +@@ -20,7 +20,7 @@ + import java.util.Set; + + import org.bouncycastle.asn1.ASN1ObjectIdentifier; +-import org.bouncycastle.asn1.x509.X509Extension; ++import org.bouncycastle.asn1.x509.Extension; + + /** + * A set of useful constants for ASN.1 parsing of VOMS attributes. +@@ -54,8 +54,8 @@ + VOMS_FQANS_OID, + VOMS_CERTS_OID, + VOMS_GENERIC_ATTRS_OID, +- X509Extension.targetInformation, +- X509Extension.noRevAvail, +- X509Extension.authorityKeyIdentifier)); ++ Extension.targetInformation, ++ Extension.noRevAvail, ++ Extension.authorityKeyIdentifier)); + + } +diff -ur voms-api-java-3_0_2.orig/src/test/java/org/italiangrid/voms/test/ac/TestNoExtensionValidation.java voms-api-java-3_0_2/src/test/java/org/italiangrid/voms/test/ac/TestNoExtensionValidation.java +--- voms-api-java-3_0_2.orig/src/test/java/org/italiangrid/voms/test/ac/TestNoExtensionValidation.java 2013-10-17 16:29:07.000000000 +0200 ++++ voms-api-java-3_0_2/src/test/java/org/italiangrid/voms/test/ac/TestNoExtensionValidation.java 2014-03-08 09:57:16.679003553 +0100 +@@ -15,6 +15,7 @@ + */ + package org.italiangrid.voms.test.ac; + ++import java.io.IOException; + import java.security.InvalidKeyException; + import java.security.NoSuchAlgorithmException; + import java.security.SignatureException; +@@ -52,7 +53,7 @@ + } + + @Test +- public void testNoExtensionValidation() throws InvalidKeyException, CertificateParsingException, SignatureException, NoSuchAlgorithmException { ++ public void testNoExtensionValidation() throws InvalidKeyException, CertificateParsingException, SignatureException, NoSuchAlgorithmException, IOException { + ProxyCertificateOptions options = new ProxyCertificateOptions(cred.getCertificateChain()); + options.setType(ProxyType.LEGACY); + diff --git a/voms-api-java-test.patch b/voms-api-java-test.patch deleted file mode 100644 index b1d942d..0000000 --- a/voms-api-java-test.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur voms-api-java-2_0_10.orig/pom.xml voms-api-java-2_0_10/pom.xml ---- voms-api-java-2_0_10.orig/pom.xml 2013-01-11 16:15:57.000000000 +0100 -+++ voms-api-java-2_0_10/pom.xml 2013-02-11 23:26:58.928257785 +0100 -@@ -17,7 +17,7 @@ - /usr/share/doc/${project.name}-${project.version} - /usr/share/javadoc/${project.name} - 1.45 -- **/LoadTest.java -+ **/LoadTest.java,**/TestCerts.java,**/TestCRL.java - - - diff --git a/voms-api-java.spec b/voms-api-java.spec index 2e6b906..dff1f44 100644 --- a/voms-api-java.spec +++ b/voms-api-java.spec @@ -1,83 +1,37 @@ -# Use maven if it is available - otherwise fall back to ant -%if %{?fedora}%{!?fedora:0} >= 15 || %{?rhel}%{!?rhel:0} >= 7 -%global maven 1 -%else -%global maven 0 -%endif - Name: voms-api-java -Version: 2.0.10 +Version: 3.0.2 %global tagver %(tr . _ <<< %{version}) -Release: 4%{?dist} +Release: 1%{?dist} Summary: Virtual Organization Membership Service Java API Group: Development/Libraries License: ASL 2.0 URL: https://wiki.italiangrid.it/VOMS Source0: https://github.com/italiangrid/%{name}/archive/%{tagver}.tar.gz -# These are build instructions for ant generated from the maven -# build instrutions using the maven ant plugin. -# These are used for building on EPEL since there is no maven -# available there. -Source1: build.xml -Source2: maven-build.xml -Source3: maven-build.properties -Patch0: %{name}-test.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Patch0: %{name}-bc147.patch BuildArch: noarch -# There is no bouncycastle in EPEL 5 ppc and EPEL 6 ppc64 -%if %{?rhel}%{!?rhel:0} == 5 -ExcludeArch: ppc -%endif -%if %{?rhel}%{!?rhel:0} == 6 -ExcludeArch: ppc64 -%endif - -Requires: java -Requires: jpackage-utils -Requires: bouncycastle >= 1.39 -%if %{?fedora}%{!?fedora:0} >= 15 || %{?rhel}%{!?rhel:0} >= 7 -Requires: apache-commons-cli -Requires: apache-commons-lang -%else -Requires: jakarta-commons-cli -Requires: jakarta-commons-lang -%endif -Requires: log4j - -Provides: vomsjapi = %{version}-%{release} -Obsoletes: vomsjapi < 2.0.7 - -BuildRequires: java-devel >= 1:1.6.0 -BuildRequires: jpackage-utils - -%if %maven BuildRequires: maven-local -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: maven-surefire-plugin -BuildRequires: maven-surefire-provider-junit +BuildRequires: mvn(org.apache.maven.plugins:maven-assembly-plugin) +BuildRequires: mvn(org.apache.maven.plugins:maven-compiler-plugin) +BuildRequires: mvn(org.apache.maven.plugins:maven-javadoc-plugin) +BuildRequires: mvn(org.apache.maven.plugins:maven-release-plugin) + +BuildRequires: mvn(eu.eu-emi.security:canl) +%if %{?fedora}%{!?fedora:0} >= 21 || %{?rhel}%{!?rhel:0} >= 7 +BuildRequires: mvn(org.bouncycastle:bcpkix-jdk15on) %else -BuildRequires: ant -BuildRequires: ant-junit +BuildRequires: mvn(org.bouncycastle:bcmail-jdk16) %endif -BuildRequires: bouncycastle >= 1.39 -%if %{?fedora}%{!?fedora:0} >= 15 || %{?rhel}%{!?rhel:0} >= 7 -BuildRequires: apache-commons-cli -BuildRequires: apache-commons-io -BuildRequires: apache-commons-lang -%else -BuildRequires: jakarta-commons-cli -BuildRequires: jakarta-commons-io -BuildRequires: jakarta-commons-lang +BuildRequires: mvn(junit:junit) +%if %{?fedora}%{!?fedora:0} +# Missing stuff in EPEL (mostly test frameworks) +BuildRequires: mvn(com.mycila.maven-license-plugin:maven-license-plugin) +BuildRequires: mvn(org.codehaus.mojo:cobertura-maven-plugin) +BuildRequires: mvn(org.mockito:mockito-core) +BuildRequires: mvn(net.jcip:jcip-annotations) %endif -BuildRequires: log4j %description The Virtual Organization Membership Service (VOMS) is an attribute authority @@ -92,8 +46,6 @@ This package provides a java client API for VOMS. %package javadoc Summary: Virtual Organization Membership Service Java API Documentation Group: Documentation -Requires: jpackage-utils -Requires: %{name} = %{version}-%{release} Provides: vomsjapi-javadoc = %{version}-%{release} Obsoletes: vomsjapi-javadoc < 2.0.7 @@ -102,58 +54,45 @@ Virtual Organization Membership Service (VOMS) Java API Documentation. %prep %setup -q -n %{name}-%{tagver} -%patch0 -p1 -install -m 644 %SOURCE1 . -install -m 644 %SOURCE2 . -install -m 644 %SOURCE3 . -sed -e s/bcprov-ext-jdk16/bcprov-jdk16/ -i pom.xml +%if %{?fedora}%{!?fedora:0} >= 21 || %{?rhel}%{!?rhel:0} >= 7 +%patch0 -p1 +%endif + +%if %{?fedora}%{!?fedora:0} +%pom_xpath_inject "pom:project/pom:build/pom:plugins/pom:plugin[pom:groupId='com.mycila.maven-license-plugin']/pom:configuration/pom:excludes" ".xmvn/**" +%else +# Missing stuff in EPEL (mostly test frameworks) +%pom_remove_plugin com.mycila.maven-license-plugin:maven-license-plugin +%pom_remove_plugin org.codehaus.mojo:cobertura-maven-plugin +%pom_remove_dep net.jcip:jcip-annotations +%pom_remove_dep org.mockito:mockito-core +%endif %build -%if %{maven} -mvn-rpmbuild -Dbouncycastle.version=1.46 install javadoc:aggregate +%if %{?fedora}%{!?fedora:0} +%mvn_build %else -export CLASSPATH=$(build-classpath bcprov log4j commons-cli commons-io commons-lang) -ant -Dbuild.sysclasspath=last package javadoc +# Can not run tests in EPEL due to missing test frameworks +%mvn_build -f %endif %install -mkdir -p %{buildroot}%{_javadir} -install -m 644 target/%{name}-%{version}.jar \ - %{buildroot}%{_javadir}/%{name}.jar -ln -s %{name}.jar %{buildroot}%{_javadir}/vomsjapi.jar +%mvn_install -J target/site/javadoc/apidocs -mkdir -p %{buildroot}%{_javadocdir}/%{name} -%if %{maven} -cp -pr target/site/javadoc/apidocs %{buildroot}%{_javadocdir}/%{name} -%else -cp -pr target/site/apidocs %{buildroot}%{_javadocdir}/%{name} -%endif - -%if %{maven} -mkdir -p %{buildroot}%{_mavenpomdir} -install -m 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-%{name}.pom -%add_maven_depmap JPP-%{name}.pom %{name}.jar -a org.glite:vomsjapi -%endif - -%clean -rm -rf %{buildroot} - -%files -%defattr(-,root,root,-) -%{_javadir}/%{name}.jar -%{_javadir}/vomsjapi.jar -%if %{maven} -%{_mavenpomdir}/JPP-%{name}.pom -%{_mavendepmapfragdir}/%{name} -%endif +%files -f .mfiles +%dir %{_javadir}/%{name} %doc AUTHORS LICENSE README.md -%files javadoc -%defattr(-,root,root,-) -%doc %{_javadocdir}/%{name} +%files javadoc -f .mfiles-javadoc +%doc LICENSE %changelog +* Sun Mar 09 2014 Mattias Ellert - 3.0.2-1 +- Update to version 3 +- Apply patch for bouncycastle 1.47+ on Fedora 21+ and EPEL 7+ +- Convert to using xmvn + * Mon Oct 14 2013 Mattias Ellert - 2.0.10-4 - Disable CRL tests (the CRL in the sources has expired)