diff --git a/sources b/sources index a337770..5df8bdb 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -3753669f345146bfc7060612fa4d5a3d v3.0.5.tar.gz +SHA512 (voms-api-java-3.3.7.tar.gz) = b623480b972742625e0c7cd95bfefee36a580f743240434d5591a9f35a19977a4d7d3abc90b598666e86f8e6d3a40a6c6ca66e19309a1ea8d2be979af57aaa58 +SHA512 (helper-scripts-master.tar.gz) = 8704b5bdbee360c0db70e6ece2781a385c62c802c9000754f62efbd23bd22542ace77f68b8064661201f441b40234475a005d9f67b50f0aea435636a0a851225 diff --git a/voms-api-java-bc147.patch b/voms-api-java-bc147.patch deleted file mode 100644 index 22a4e22..0000000 --- a/voms-api-java-bc147.patch +++ /dev/null @@ -1,336 +0,0 @@ -diff -ur voms-api-java-3.0.5.orig/src/main/java/org/italiangrid/voms/ac/impl/DefaultVOMSValidationStrategy.java voms-api-java-3.0.5/src/main/java/org/italiangrid/voms/ac/impl/DefaultVOMSValidationStrategy.java ---- voms-api-java-3.0.5.orig/src/main/java/org/italiangrid/voms/ac/impl/DefaultVOMSValidationStrategy.java 2014-12-09 10:55:31.000000000 +0100 -+++ voms-api-java-3.0.5/src/main/java/org/italiangrid/voms/ac/impl/DefaultVOMSValidationStrategy.java 2014-12-17 09:19:10.674934059 +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; -@@ -239,8 +239,8 @@ - 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!")); -@@ -252,8 +252,8 @@ - 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!")); -diff -ur voms-api-java-3.0.5.orig/src/main/java/org/italiangrid/voms/asn1/VOMSACGenerator.java voms-api-java-3.0.5/src/main/java/org/italiangrid/voms/asn1/VOMSACGenerator.java ---- voms-api-java-3.0.5.orig/src/main/java/org/italiangrid/voms/asn1/VOMSACGenerator.java 2014-12-09 10:55:31.000000000 +0100 -+++ voms-api-java-3.0.5/src/main/java/org/italiangrid/voms/asn1/VOMSACGenerator.java 2014-12-17 09:45:43.404176616 +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; -@@ -156,7 +157,7 @@ - return String.format("%s://%s:%d", voName, host, port); - } - -- private ASN1Encodable buildACCertsExtensionContent( -+ private ASN1Object buildACCertsExtensionContent( - EnumSet properties) { - - ASN1EncodableVector issuerCertsContainer = new ASN1EncodableVector(); -@@ -166,7 +167,7 @@ - issuerCertsContainer.add(new DERSequence()); - else - issuerCertsContainer.add(new DERSequence( -- getCertAsDEREncodable(aaCredential.getCertificate()))); -+ getCertAsASN1Encodable(aaCredential.getCertificate()))); - - return new DERSequence(issuerCertsContainer); - } -@@ -174,7 +175,7 @@ - private AuthorityKeyIdentifier buildAuthorityKeyIdentifier() { - - byte[] authKeyId = aaCredential.getCertificate().getExtensionValue( -- X509Extension.authorityKeyIdentifier.toString()); -+ Extension.authorityKeyIdentifier.toString()); - - if (authKeyId != null) { - return new AuthorityKeyIdentifier(authKeyId); -@@ -183,7 +184,7 @@ - return null; - } - -- private ASN1Encodable buildFQANsAttributeContent(List fqans, -+ private ASN1Object buildFQANsAttributeContent(List fqans, - GeneralName policyAuthorityInfo) { - - ASN1EncodableVector container = new ASN1EncodableVector(); -@@ -201,7 +202,7 @@ - return new DERSequence(container); - } - -- private ASN1Encodable buildGAExtensionContent( -+ private ASN1Object buildGAExtensionContent( - EnumSet properties, List gas, - GeneralName policyAuthorityInfo) { - -@@ -262,7 +263,7 @@ - - } - -- private ASN1Encodable buildTargetsExtensionContent( -+ private ASN1Object buildTargetsExtensionContent( - EnumSet properties, List targets) { - - ASN1EncodableVector targetSeq = new ASN1EncodableVector(); -@@ -315,6 +316,8 @@ - GeneralName policyAuthorityInfo = buildPolicyAuthorityInfo(voName, host, - port); - -+ try { -+ - builder.addAttribute(VOMS_FQANS_OID, - buildFQANsAttributeContent(fqans, policyAuthorityInfo)); - -@@ -327,7 +330,7 @@ - policyAuthorityInfo)); - - if (targets != null && !targets.isEmpty()) -- builder.addExtension(X509Extension.targetInformation, true, -+ builder.addExtension(Extension.targetInformation, true, - buildTargetsExtensionContent(generationProperties, targets)); - - if (!generationProperties -@@ -350,13 +353,17 @@ - .contains(ACGenerationProperties.INCLUDE_CRITICAL_AKID_EXTENSION)) - akidIsCritical = true; - -- builder.addExtension(X509Extension.noRevAvail, noRevAvailIsCritical, -- new DERNull()); -+ builder.addExtension(Extension.noRevAvail, noRevAvailIsCritical, -+ DERNull.INSTANCE); - - AuthorityKeyIdentifier akid = buildAuthorityKeyIdentifier(); - -- builder.addExtension(X509Extension.authorityKeyIdentifier, akidIsCritical, -- akid != null ? akid : new DERNull()); -+ builder.addExtension(Extension.authorityKeyIdentifier, akidIsCritical, -+ akid != null ? akid : DERNull.INSTANCE); -+ -+ } catch (CertIOException e) { -+ throw new VOMSError(e.getMessage(), e); -+ } - - return builder.build(getSigner(generationProperties)); - -@@ -373,19 +380,19 @@ - DERSequence acSeq = new DERSequence(vomsACs); - - CertificateExtension ext = new CertificateExtension( -- VOMS_EXTENSION_OID.getId(), acSeq.toASN1Object(), false); -+ VOMS_EXTENSION_OID.getId(), acSeq.toASN1Primitive(), false); - - 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.5.orig/src/main/java/org/italiangrid/voms/asn1/VOMSACUtils.java voms-api-java-3.0.5/src/main/java/org/italiangrid/voms/asn1/VOMSACUtils.java ---- voms-api-java-3.0.5.orig/src/main/java/org/italiangrid/voms/asn1/VOMSACUtils.java 2014-12-09 10:55:31.000000000 +0100 -+++ voms-api-java-3.0.5/src/main/java/org/italiangrid/voms/asn1/VOMSACUtils.java 2014-12-17 09:51:02.983413156 +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; -@@ -124,7 +124,7 @@ - - while (theACs.hasMoreElements()) { - -- AttributeCertificate parsedAC = new AttributeCertificate( -+ AttributeCertificate parsedAC = AttributeCertificate.getInstance( - theACs.nextElement()); - acs.add(parsedAC); - } -@@ -178,8 +178,8 @@ - - List targets = new ArrayList(); - -- X509Extension targetExtension = ac -- .getExtension(X509Extension.targetInformation); -+ Extension targetExtension = ac -+ .getExtension(Extension.targetInformation); - - if (targetExtension == null) - return targets; -@@ -193,7 +193,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(); -+ .toASN1Primitive(); - Target[] asn1Targets = new Target[targetSequence.size()]; - - int count = 0; -@@ -291,8 +291,8 @@ - Attribute[] asn1Attrs = acHolder.getAttributes(VOMS_FQANS_OID); - - for (Attribute a : asn1Attrs) { -- DERObject theVOMSDerObject = a.getAttributeValues()[0].getDERObject(); -- IetfAttrSyntax attrSyntax = new IetfAttrSyntax( -+ ASN1Primitive theVOMSDerObject = a.getAttributeValues()[0].toASN1Primitive(); -+ IetfAttrSyntax attrSyntax = IetfAttrSyntax.getInstance( - ASN1Sequence.getInstance(theVOMSDerObject)); - - String policyAuthority = policyAuthoritySanityChecks(attrSyntax); -@@ -350,7 +350,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; -@@ -416,7 +416,7 @@ - - List certs = new ArrayList(); - -- X509Extension e = ac.getExtension(VOMS_CERTS_OID); -+ Extension e = ac.getExtension(VOMS_CERTS_OID); - - if (e == null) - return null; -@@ -429,7 +429,7 @@ - certSeq = (ASN1Sequence) certSeq.getObjectAt(0); - - @SuppressWarnings("unchecked") -- Enumeration encodedCerts = certSeq.getObjects(); -+ Enumeration encodedCerts = certSeq.getObjects(); - - CertificateFactory cf = null; - -@@ -443,7 +443,7 @@ - - while (encodedCerts.hasMoreElements()) { - -- DERSequence s = encodedCerts.nextElement(); -+ DLSequence s = encodedCerts.nextElement(); - X509CertificateObject certObj = null; - byte[] certData = null; - X509Certificate theCert = null; -@@ -451,7 +451,7 @@ - try { - - certObj = new X509CertificateObject( -- X509CertificateStructure.getInstance(ASN1Sequence.getInstance(s))); -+ Certificate.getInstance(ASN1Sequence.getInstance(s))); - certData = certObj.getEncoded(); - theCert = (X509Certificate) cf - .generateCertificate(new ByteArrayInputStream(certData)); -diff -ur voms-api-java-3.0.5.orig/src/main/java/org/italiangrid/voms/asn1/VOMSConstants.java voms-api-java-3.0.5/src/main/java/org/italiangrid/voms/asn1/VOMSConstants.java ---- voms-api-java-3.0.5.orig/src/main/java/org/italiangrid/voms/asn1/VOMSConstants.java 2014-12-09 10:55:31.000000000 +0100 -+++ voms-api-java-3.0.5/src/main/java/org/italiangrid/voms/asn1/VOMSConstants.java 2014-12-17 09:19:10.761933034 +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. -@@ -56,7 +56,7 @@ - - public final Set VOMS_HANDLED_EXTENSIONS = new HashSet( - Arrays.asList(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.5.orig/src/test/java/org/italiangrid/voms/test/ac/TestNoExtensionValidation.java voms-api-java-3.0.5/src/test/java/org/italiangrid/voms/test/ac/TestNoExtensionValidation.java ---- voms-api-java-3.0.5.orig/src/test/java/org/italiangrid/voms/test/ac/TestNoExtensionValidation.java 2014-12-09 10:55:31.000000000 +0100 -+++ voms-api-java-3.0.5/src/test/java/org/italiangrid/voms/test/ac/TestNoExtensionValidation.java 2014-12-17 09:19:10.761933034 +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; -@@ -55,7 +56,8 @@ - - @Test - public void testNoExtensionValidation() throws InvalidKeyException, -- CertificateParsingException, SignatureException, NoSuchAlgorithmException { -+ CertificateParsingException, SignatureException, NoSuchAlgorithmException, -+ IOException { - - ProxyCertificateOptions options = new ProxyCertificateOptions( - cred.getCertificateChain()); diff --git a/voms-api-java-no-local.patch b/voms-api-java-no-local.patch deleted file mode 100644 index e63d618..0000000 --- a/voms-api-java-no-local.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff -ur voms-api-java-3.0.5.orig/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java voms-api-java-3.0.5/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java ---- voms-api-java-3.0.5.orig/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java 2014-12-09 10:55:31.000000000 +0100 -+++ voms-api-java-3.0.5/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java 2014-12-16 14:00:01.144948880 +0100 -@@ -351,7 +351,7 @@ - .getValidationErrors().get(0).getMessage()); - } - -- @Test -+ // @Test - public void testTargetValidationSuccess() throws Exception { - - VOMSAA aa = Utils.getVOMSAA(); -@@ -379,7 +379,7 @@ - Assert.assertTrue(r.isValid()); - } - -- @Test -+ // @Test - public void testTargetValidationFailure() throws Exception { - - VOMSAA aa = Utils.getVOMSAA(); diff --git a/voms-api-java-test.patch b/voms-api-java-test.patch new file mode 100644 index 0000000..b32fafc --- /dev/null +++ b/voms-api-java-test.patch @@ -0,0 +1,28 @@ +diff --git a/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java b/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java +index a0f7a87..4244925 100644 +--- a/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java ++++ b/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java +@@ -31,6 +31,7 @@ import org.italiangrid.voms.test.utils.Utils; + import org.italiangrid.voms.test.utils.VOMSAA; + import org.junit.Assert; + import org.junit.BeforeClass; ++import org.junit.Ignore; + import org.junit.Test; + + import eu.emi.security.authn.x509.X509CertChainValidatorExt; +@@ -316,6 +317,7 @@ public class TestACValidator implements Fixture { + } + + @Test ++ @Ignore + public void testTargetValidationSuccess() throws Exception { + + VOMSAA aa = Utils.getVOMSAA(); +@@ -342,6 +344,7 @@ public class TestACValidator implements Fixture { + } + + @Test ++ @Ignore + public void testTargetValidationFailure() throws Exception { + + VOMSAA aa = Utils.getVOMSAA(); diff --git a/voms-api-java.spec b/voms-api-java.spec index 8a89f2d..2b354af 100644 --- a/voms-api-java.spec +++ b/voms-api-java.spec @@ -1,39 +1,31 @@ Name: voms-api-java -Version: 3.0.5 -Release: 1%{?dist} +Version: 3.3.7 +Release: 4%{?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/v%{version}.tar.gz -# Patch for bouncycastle 1.47+ (Fedora 21+, EPEL 7+) -Patch0: %{name}-bc147.patch -# Disable tests using non-local network interface -Patch1: %{name}-no-local.patch +License: Apache-2.0 +URL: https://github.com/italiangrid/%{name} +Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz +# Helper scripts for generating test certificates +Source1: https://baltig.infn.it/mw-devel/helper-scripts/-/archive/master/helper-scripts-master.tar.gz +# Disable tests requiring non-local network +Patch0: %{name}-test.patch + BuildArch: noarch +ExclusiveArch: %{java_arches} noarch -BuildRequires: maven-local -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) +%if %{?fedora}%{!?fedora:0} >= 43 +BuildRequires: maven-local-openjdk25 %else -BuildRequires: mvn(org.bouncycastle:bcmail-jdk16) +BuildRequires: maven-local %endif - +BuildRequires: mvn(eu.eu-emi.security:canl) >= 2.8.3 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.hamcrest:hamcrest-library) BuildRequires: mvn(org.mockito:mockito-core) -BuildRequires: mvn(net.jcip:jcip-annotations) -%endif +BuildRequires: faketime +BuildRequires: openssl +Requires: mvn(eu.eu-emi.security:canl) >= 2.8.3 %description The Virtual Organization Membership Service (VOMS) is an attribute authority @@ -47,54 +39,220 @@ This package provides a java client API for VOMS. %package javadoc Summary: Virtual Organization Membership Service Java API Documentation -Group: Documentation %description javadoc Virtual Organization Membership Service (VOMS) Java API Documentation. %prep -%setup -q +%setup -q -a 1 +%patch -P0 -p1 -%if %{?fedora}%{!?fedora:0} >= 21 || %{?rhel}%{!?rhel:0} >= 7 -%patch0 -p1 -%pom_xpath_replace "pom:project/pom:dependencies/pom:dependency[pom:artifactId='bcmail']/pom:groupId/text()" "org.bouncycastle" -%pom_xpath_replace "pom:project/pom:dependencies/pom:dependency[pom:artifactId='bcmail']/pom:artifactId/text()" "bcpkix-jdk15on" -%else -%pom_xpath_replace "pom:project/pom:dependencies/pom:dependency[pom:artifactId='bcmail']/pom:groupId/text()" "org.bouncycastle" -%pom_xpath_replace "pom:project/pom:dependencies/pom:dependency[pom:artifactId='bcmail']/pom:artifactId/text()" "bcmail-jdk16" -%endif -%patch1 -p1 - -%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/**" -%pom_xpath_remove "pom:project/pom:build/pom:plugins/pom:plugin[pom:groupId='com.mycila.maven-license-plugin']/pom:configuration/pom:strictCheck" -%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 +# Remove unused dependency %pom_remove_dep net.jcip:jcip-annotations -%pom_remove_dep org.mockito:mockito-core + +# F33+ and EPEL8+ doesn't use the maven-javadoc-plugin to generate javadoc +# Remove maven-javadoc-plugin configuration to avoid build failure +%pom_remove_plugin org.apache.maven.plugins:maven-javadoc-plugin + +# Do not create source jars +%pom_remove_plugin org.apache.maven.plugins:maven-source-plugin + +%if %{?rhel}%{!?rhel:0} == 9 +# Modify bouncycastle dependencies for RHEL 9 +%pom_change_dep org.bouncycastle:bcprov-jdk18on org.bouncycastle:bcprov-jdk15on +%pom_change_dep org.bouncycastle:bcpkix-jdk18on org.bouncycastle:bcpkix-jdk15on %endif +# Generate test certificates +export PATH=$PWD/helper-scripts-master/x509-scripts/scripts:$PATH +pushd src/test/resources +./setup.sh +popd + %build -%if %{?fedora}%{!?fedora:0} %mvn_build -%else -# Can not run tests in EPEL due to missing test frameworks -%mvn_build -f -%endif %install -%mvn_install -J target/site/javadoc/apidocs +%mvn_install %files -f .mfiles -%dir %{_javadir}/%{name} -%doc AUTHORS LICENSE README.md +%doc AUTHORS README.md +%license LICENSE %files javadoc -f .mfiles-javadoc -%doc LICENSE +%license LICENSE %changelog +* Fri Jul 17 2026 Fedora Release Engineering - 3.3.7-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild + +* Sat Jun 13 2026 Yaakov Selkowitz - 3.3.7-3 +- Rebuilt for openssl 4.0 + +* Sat Jan 17 2026 Fedora Release Engineering - 3.3.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild + +* Sat Dec 20 2025 Mattias Ellert - 3.3.7-1 +- Update to version 3.3.7 + +* Mon Sep 08 2025 Mattias Ellert - 3.3.6-2 +- Include upstream's scripts for generating test certificates +- Enable tests again + +* Tue Aug 05 2025 Mattias Ellert - 3.3.6-1 +- Update to version 3.3.6 + +* Tue Jul 29 2025 jiri vanek - 3.3.5-4 +- Rebuilt for java-25-openjdk as preffered jdk + +* Fri Jul 25 2025 Fedora Release Engineering - 3.3.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Tue Apr 22 2025 Mattias Ellert - 3.3.5-2 +- Update URL tag + +* Thu Apr 17 2025 Mattias Ellert - 3.3.5-1 +- Update to version 3.3.5 +- Do not run tests + - some scripts needed for generating the test certificates are missing + +* Sun Jan 19 2025 Fedora Release Engineering - 3.3.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Nov 28 2024 Mattias Ellert - 3.3.3-2 +- Update bouncycastle dependencies for EPEL 10 + +* Sat Aug 03 2024 Mattias Ellert - 3.3.3-1 +- Update to version 3.3.3 + +* Sat Jul 20 2024 Fedora Release Engineering - 3.3.2-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Thu Mar 14 2024 Mattias Ellert - 3.3.2-17 +- Update bouncycastle dependencies + +* Tue Feb 27 2024 Jiri Vanek - 3.3.2-16 +- Rebuilt for java-21-openjdk as system jdk + +* Sat Jan 27 2024 Fedora Release Engineering - 3.3.2-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Dec 16 2023 Mattias Ellert - 3.3.2-14 +- Adjust to removed deprecaded API in Mockito + +* Sat Jul 22 2023 Fedora Release Engineering - 3.3.2-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 3.3.2-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Dec 13 2022 Mattias Ellert - 3.3.2-11 +- Disable tests that fail due to more expired certificates + +* Mon Oct 17 2022 Mattias Ellert - 3.3.2-10 +- Disable tests that fail due to expired certificates + +* Wed Sep 28 2022 Mattias Ellert - 3.3.2-9 +- Disable failing multi-thread test +- Disable tests using obsolete hashes (md5/sha1) + +* Sat Jul 23 2022 Fedora Release Engineering - 3.3.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Fri Jul 08 2022 Jiri Vanek - 3.3.2-7 +- Rebuilt for Drop i686 JDKs + +* Sat Feb 05 2022 Jiri Vanek - 3.3.2-6 +- Rebuilt for java-17-openjdk as system jdk + +* Sat Jan 22 2022 Fedora Release Engineering - 3.3.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jan 14 2022 Mattias Ellert - 3.3.2-4 +- Disable failing tests due to changes in bouncycastle + +* Fri Jul 23 2021 Fedora Release Engineering - 3.3.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 3.3.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Oct 13 2020 Mattias Ellert - 3.3.2-1 +- Update to version 3.3.2 - matches canl-java 2.6.x +- Drop patches voms-api-java-javadoc-source.patch and -no-local.patch + +* Wed Jul 29 2020 Fedora Release Engineering - 3.3.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 15 2020 Mattias Ellert - 3.3.0-10 +- Fedora 33 builds javadoc the same way EPEL 8 does + +* Sat Jul 11 2020 Jiri Vanek - 3.3.0-9 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Tue May 05 2020 Mattias Ellert - 3.3.0-8 +- Only remove the maven-javadoc-plugin configuration on EPEL 8 +- Add source version to javadoc configuration (backported from git) + +* Fri Jan 31 2020 Fedora Release Engineering - 3.3.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Aug 20 2019 Mattias Ellert - 3.3.0-6 +- Remove maven-javadoc-plugin configuration +- Remove unused dependency net.jcip:jcip-annotations + +* Sat Jul 27 2019 Fedora Release Engineering - 3.3.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 3.3.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Dec 07 2018 Mattias Ellert - 3.3.0-3 +- Add BuildRequires on hamcrest-library (no longer pulled in by mockito) + +* Sat Jul 14 2018 Fedora Release Engineering - 3.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Feb 08 2018 Mattias Ellert - 3.3.0-1 +- Update to version 3.3.0 - matches canl-java 2.5.x +- Drop patch voms-api-java-canl-2.5.patch + +* Fri Jan 05 2018 Mattias Ellert - 3.2.0-5 +- Adapt to canl-java 2.5 +- Use jcip-annotations for EPEL 7 build + +* Thu Jul 27 2017 Fedora Release Engineering - 3.2.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Thu Feb 16 2017 Mattias Ellert - 3.2.0-3 +- Remove maven source plugin + +* Sat Feb 11 2017 Fedora Release Engineering - 3.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sun Feb 14 2016 Mattias Ellert - 3.2.0-1 +- Update to version 3.2.0 - matches canl-java 2.2.x +- Drop patches: voms-api-java-bc147.patch, -javadoc.patch and -testfix.patch + +* Sun Feb 14 2016 Mattias Ellert - 3.1.0-1 +- Update to version 3.1.0 - matches canl-java 2.1.x +- Drop patches: voms-api-java-bc147.patch and -javadoc.patch + +* Thu Feb 11 2016 Mattias Ellert - 3.0.5-5 +- Backport fix for failing test due to new canl-java version + +* Fri Feb 05 2016 Fedora Release Engineering - 3.0.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Sat Jul 11 2015 Mattias Ellert - 3.0.5-3 +- Remove build-dependency on cobertura-maven-plugin + (cobertura was removed from Fedora due to licensing issues) +- Enable tests in EPEL 7 +- Implement new license packaging guidelines + +* Fri Jun 19 2015 Fedora Release Engineering - 3.0.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Tue Dec 16 2014 Mattias Ellert - 3.0.5-1 - Update to version 3.0.5 - Rebase patches (and fix some deprecation warnings)