diff --git a/sources b/sources index 5df8bdb..e9e119c 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (voms-api-java-3.3.7.tar.gz) = b623480b972742625e0c7cd95bfefee36a580f743240434d5591a9f35a19977a4d7d3abc90b598666e86f8e6d3a40a6c6ca66e19309a1ea8d2be979af57aaa58 -SHA512 (helper-scripts-master.tar.gz) = 8704b5bdbee360c0db70e6ece2781a385c62c802c9000754f62efbd23bd22542ace77f68b8064661201f441b40234475a005d9f67b50f0aea435636a0a851225 +SHA512 (voms-api-java-3.3.2.tar.gz) = 7de09abd3e1605a7596c29bb0f16553945d6c13098c667451580ed4e22a671814db254355b56ec12696fce011854487510fb9e627e4f13474fbfedec6db1c422 diff --git a/voms-api-java-disable-some-tests.patch b/voms-api-java-disable-some-tests.patch new file mode 100644 index 0000000..5f2cc99 --- /dev/null +++ b/voms-api-java-disable-some-tests.patch @@ -0,0 +1,62 @@ +diff --git a/src/test/java/org/italiangrid/voms/test/ac/TestACGeneration.java b/src/test/java/org/italiangrid/voms/test/ac/TestACGeneration.java +index bc7557c..32ba7a5 100644 +--- a/src/test/java/org/italiangrid/voms/test/ac/TestACGeneration.java ++++ b/src/test/java/org/italiangrid/voms/test/ac/TestACGeneration.java +@@ -191,7 +191,7 @@ public class TestACGeneration { + return ga; + } + +- @Test ++ // @Test + public void testGeneratedACParsing() throws KeyStoreException, + CertificateException, FileNotFoundException, IOException, + OperatorCreationException { +@@ -230,7 +230,7 @@ public class TestACGeneration { + + } + +- @Test ++ // @Test + public void testACValidation() { + + ValidationResultChecker c = new ValidationResultChecker(true); +@@ -247,7 +247,7 @@ public class TestACGeneration { + + } + +- @Test ++ // @Test + public void testLSCValidationFailure() { + + ValidationResultChecker c = new ValidationResultChecker(false, +@@ -264,7 +264,7 @@ public class TestACGeneration { + assertEquals(validatedAttrs.size(), 0); + } + +- @Test ++ // @Test + public void testExpiredAACertValidationFailure() + throws OperatorCreationException { + +@@ -284,7 +284,7 @@ public class TestACGeneration { + assertEquals(validatedAttrs.size(), 0); + } + +- @Test ++ // @Test + public void testRevokedAACertValidationFailure() { + + ValidationResultChecker c = new ValidationResultChecker(false, +diff --git a/src/test/java/org/italiangrid/voms/test/ac/TestFakeVOMSACService.java b/src/test/java/org/italiangrid/voms/test/ac/TestFakeVOMSACService.java +index 6eca55f..49f0498 100644 +--- a/src/test/java/org/italiangrid/voms/test/ac/TestFakeVOMSACService.java ++++ b/src/test/java/org/italiangrid/voms/test/ac/TestFakeVOMSACService.java +@@ -54,7 +54,7 @@ public class TestFakeVOMSACService extends TestACSupport { + initializeCredentials(); + } + +- @Test ++ // @Test + public void testFakeAcServiceCreation() { + + ACGenerationParams params = ACGenerationParams.builder() diff --git a/voms-api-java-expired-2022-09-24.patch b/voms-api-java-expired-2022-09-24.patch new file mode 100644 index 0000000..7169433 --- /dev/null +++ b/voms-api-java-expired-2022-09-24.patch @@ -0,0 +1,48 @@ +diff --git a/src/test/java/org/italiangrid/voms/test/TestOpensslHashFunction.java b/src/test/java/org/italiangrid/voms/test/TestOpensslHashFunction.java +index 6f57833..aa800ac 100644 +--- a/src/test/java/org/italiangrid/voms/test/TestOpensslHashFunction.java ++++ b/src/test/java/org/italiangrid/voms/test/TestOpensslHashFunction.java +@@ -47,7 +47,7 @@ public class TestOpensslHashFunction { + cred = new PEMCredential(userKey, userCert, keyPassword.toCharArray()); + } + +- @Test ++ // @Test + public void testDefaultHashIsMD5() { + + CertificateValidatorBuilder builder = new CertificateValidatorBuilder(); +@@ -60,7 +60,7 @@ public class TestOpensslHashFunction { + + } + +- @Test ++ // @Test + public void testSHA1Hash() { + + CertificateValidatorBuilder builder = new CertificateValidatorBuilder(); +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 8b420a9..df91a02 100644 +--- a/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java ++++ b/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java +@@ -227,7 +227,7 @@ public class TestACValidator implements Fixture { + + } + +- @Test ++ // @Test + public void testInvalidLSCSignatureFailure() throws Exception { + + VOMSAA aa = Utils.getVOMSAA(); +diff --git a/src/test/java/org/italiangrid/voms/test/mt/TestConcurrentValidation.java b/src/test/java/org/italiangrid/voms/test/mt/TestConcurrentValidation.java +index 496455e..d9b26cc 100644 +--- a/src/test/java/org/italiangrid/voms/test/mt/TestConcurrentValidation.java ++++ b/src/test/java/org/italiangrid/voms/test/mt/TestConcurrentValidation.java +@@ -167,7 +167,7 @@ public class TestConcurrentValidation { + + } + +- @Test ++ // @Test + public void test() throws InterruptedException, BrokenBarrierException { + + long start = System.currentTimeMillis(); diff --git a/voms-api-java-expired-2022-10-08.patch b/voms-api-java-expired-2022-10-08.patch new file mode 100644 index 0000000..24839bb --- /dev/null +++ b/voms-api-java-expired-2022-10-08.patch @@ -0,0 +1,111 @@ +diff --git a/src/test/java/org/italiangrid/voms/test/ac/TestACGeneration.java b/src/test/java/org/italiangrid/voms/test/ac/TestACGeneration.java +index bc7557c..80120db 100644 +--- a/src/test/java/org/italiangrid/voms/test/ac/TestACGeneration.java ++++ b/src/test/java/org/italiangrid/voms/test/ac/TestACGeneration.java +@@ -301,7 +301,7 @@ public class TestACGeneration { + assertEquals(validatedAttrs.size(), 0); + } + +- @Test ++ // @Test + public void testSuccesfullACExtractionFromProxy() { + + ValidationResultChecker c = new ValidationResultChecker(true); +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 8b420a9..b35aa8a 100644 +--- a/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java ++++ b/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java +@@ -62,7 +62,7 @@ public class TestACValidator implements Fixture { + + } + +- @Test ++ // @Test + public void testValidityCheckSuccess() throws Exception { + + ProxyCertificate proxy = Utils.getVOMSAA().createVOMSProxy(holder, defaultVOFqans); +@@ -96,7 +96,7 @@ public class TestACValidator implements Fixture { + Assert.assertEquals(VOMSValidationErrorCode.acNotValidAtCurrentTime, m.getErrorCode()); + } + +- @Test ++ // @Test + public void testHolderCheckFailure() throws Exception { + + ProxyCertificate proxy = +@@ -172,7 +172,7 @@ public class TestACValidator implements Fixture { + + } + +- @Test ++ // @Test + public void testEmptyACCertsExtensionSuccess() throws Exception { + + VOMSAA aa = Utils.getVOMSAA(); +@@ -256,7 +256,7 @@ public class TestACValidator implements Fixture { + r.getValidationErrors().get(1).getErrorCode()); + } + +- @Test ++ // @Test + public void testUnknownCriticalExtensionFailure() throws Exception { + + VOMSAA aa = Utils.getVOMSAA(); +@@ -281,7 +281,7 @@ public class TestACValidator implements Fixture { + r.getValidationErrors().get(0).getMessage()); + } + +- @Test ++ // @Test + public void testCriticalAKIDFailure() throws Exception { + + VOMSAA aa = Utils.getVOMSAA(); +@@ -304,7 +304,7 @@ public class TestACValidator implements Fixture { + r.getValidationErrors().get(0).getMessage()); + } + +- @Test ++ // @Test + public void testCriticalNoRevAvailFailure() throws Exception { + + VOMSAA aa = Utils.getVOMSAA(); +@@ -329,7 +329,7 @@ public class TestACValidator implements Fixture { + r.getValidationErrors().get(0).getMessage()); + } + +- @Test ++ // @Test + public void testTargetValidationSuccess() throws Exception { + + VOMSAA aa = Utils.getVOMSAA(); +@@ -355,7 +355,7 @@ public class TestACValidator implements Fixture { + Assert.assertTrue(r.isValid()); + } + +- @Test ++ // @Test + public void testTargetValidationFailure() throws Exception { + + VOMSAA aa = Utils.getVOMSAA(); +@@ -375,7 +375,7 @@ public class TestACValidator implements Fixture { + + } + +- @Test ++ // @Test + public void testResolveHostnameException() throws Exception { + + VOMSAA aa = Utils.getVOMSAA(); +diff --git a/src/test/java/org/italiangrid/voms/test/req/TestRequests.java b/src/test/java/org/italiangrid/voms/test/req/TestRequests.java +index d00ad46..214bde7 100644 +--- a/src/test/java/org/italiangrid/voms/test/req/TestRequests.java ++++ b/src/test/java/org/italiangrid/voms/test/req/TestRequests.java +@@ -41,7 +41,7 @@ import eu.emi.security.authn.x509.impl.PEMCredential; + + public class TestRequests implements Fixture { + +- @Test ++ // @Test + public void testEchoRequest() throws Exception { + + VOMSACService acService = Utils.buildACService(new EchoVOMSProtocol(Utils.getAACredential())); diff --git a/voms-api-java-expired-2022-12-12.patch b/voms-api-java-expired-2022-12-12.patch new file mode 100644 index 0000000..7e13740 --- /dev/null +++ b/voms-api-java-expired-2022-12-12.patch @@ -0,0 +1,13 @@ +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 8b420a9..ef0b14a 100644 +--- a/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java ++++ b/src/test/java/org/italiangrid/voms/test/ac/TestACValidator.java +@@ -111,7 +111,7 @@ public class TestACValidator implements Fixture { + Assert.assertEquals(VOMSValidationErrorCode.acHolderDoesntMatchCertChain, m.getErrorCode()); + } + +- @Test ++ // @Test + public void testSignatureCheckFailure() throws Exception { + + ProxyCertificate proxy = Utils.getVOMSAA().createVOMSProxy(holder, defaultVOFqans); diff --git a/voms-api-java-test.patch b/voms-api-java-test.patch deleted file mode 100644 index b32fafc..0000000 --- a/voms-api-java-test.patch +++ /dev/null @@ -1,28 +0,0 @@ -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 2b354af..f2839d6 100644 --- a/voms-api-java.spec +++ b/voms-api-java.spec @@ -1,31 +1,38 @@ +%if %{?rhel}%{!?rhel:0} == 7 +%global java_arches ppc64le x86_64 +%endif + Name: voms-api-java -Version: 3.3.7 -Release: 4%{?dist} +Version: 3.3.2 +Release: 11%{?dist} Summary: Virtual Organization Membership Service Java API -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 +License: ASL 2.0 +URL: https://wiki.italiangrid.it/VOMS +Source0: https://github.com/italiangrid/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz + +# Disable failing tests +# IllegalState object explicit - implicit expected. +# https://github.com/italiangrid/voms-api-java/issues/29 +Patch0: %{name}-disable-some-tests.patch +# Disable tests that fail due to expired certificates +# https://github.com/italiangrid/voms-api-java/issues/30 +# 2022-09-24 (test0.cert.pem, wilco_cnaf_infn_it.cert.pem) +Patch1: %{name}-expired-2022-09-24.patch +# 2022-10-08 (test_host_cnaf_infn_it.cert.pem) +Patch2: %{name}-expired-2022-10-08.patch +# 2022-12-12 (test_host_2_cnaf_infn_it.cert.pem) +Patch3: %{name}-expired-2022-12-12.patch BuildArch: noarch ExclusiveArch: %{java_arches} noarch -%if %{?fedora}%{!?fedora:0} >= 43 -BuildRequires: maven-local-openjdk25 -%else BuildRequires: maven-local -%endif -BuildRequires: mvn(eu.eu-emi.security:canl) >= 2.8.3 +BuildRequires: mvn(eu.eu-emi.security:canl) >= 2.6 BuildRequires: mvn(junit:junit) BuildRequires: mvn(org.hamcrest:hamcrest-library) BuildRequires: mvn(org.mockito:mockito-core) -BuildRequires: faketime -BuildRequires: openssl -Requires: mvn(eu.eu-emi.security:canl) >= 2.8.3 +Requires: mvn(eu.eu-emi.security:canl) >= 2.6 %description The Virtual Organization Membership Service (VOMS) is an attribute authority @@ -44,30 +51,33 @@ Summary: Virtual Organization Membership Service Java API Documentation Virtual Organization Membership Service (VOMS) Java API Documentation. %prep -%setup -q -a 1 -%patch -P0 -p1 +%setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 # Remove unused dependency %pom_remove_dep net.jcip:jcip-annotations +# Use default location for javadoc output +%pom_xpath_remove "//pom:plugin[pom:artifactId='maven-javadoc-plugin']/pom:configuration/pom:outputDirectory" +%pom_xpath_remove "//pom:plugin[pom:artifactId='maven-javadoc-plugin']/pom:configuration/pom:reportOutputDirectory" + +%if %{?fedora}%{!?fedora:0} >= 33 || %{?rhel}%{!?rhel:0} >= 8 # 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 +%endif # 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 +# Cobertura no longer in Fedora due to licensing issues +%pom_remove_plugin org.codehaus.mojo:cobertura-maven-plugin -# Generate test certificates -export PATH=$PWD/helper-scripts-master/x509-scripts/scripts:$PATH -pushd src/test/resources -./setup.sh -popd +# Remove license plugin +%pom_remove_plugin com.mycila.maven-license-plugin:maven-license-plugin %build %mvn_build @@ -76,6 +86,7 @@ popd %mvn_install %files -f .mfiles +%dir %{_javadir}/%{name} %doc AUTHORS README.md %license LICENSE @@ -83,69 +94,6 @@ popd %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