diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..5361c8f --- /dev/null +++ b/build.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + diff --git a/maven-build.properties b/maven-build.properties new file mode 100644 index 0000000..78b3322 --- /dev/null +++ b/maven-build.properties @@ -0,0 +1,22 @@ +#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 new file mode 100644 index 0000000..ec793d0 --- /dev/null +++ b/maven-build.xml @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + =================================== WARNING =================================== + JUnit is not present in your $ANT_HOME/lib directory. Tests not executed. + =============================================================================== + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sources b/sources index 5df8bdb..cfa6114 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 +c2b017434cfba3e31b88b28920695cd4 2_0_10.tar.gz diff --git a/voms-api-java-test.patch b/voms-api-java-test.patch index b32fafc..39961b2 100644 --- a/voms-api-java-test.patch +++ b/voms-api-java-test.patch @@ -1,28 +1,12 @@ -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; +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 + - 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..ac23e2e 100644 --- a/voms-api-java.spec +++ b/voms-api-java.spec @@ -1,31 +1,83 @@ +# 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: 3.3.7 -Release: 4%{?dist} +Version: 2.0.10 +%global tagver %(tr . _ <<< %{version}) +Release: 2%{?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 +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) BuildArch: noarch -ExclusiveArch: %{java_arches} noarch -%if %{?fedora}%{!?fedora:0} >= 43 -BuildRequires: maven-local-openjdk25 -%else -BuildRequires: maven-local +# There is no bouncycastle in EPEL 5 ppc and EPEL 6 ppc64 +%if %{?rhel}%{!?rhel:0} == 5 +ExcludeArch: ppc %endif -BuildRequires: mvn(eu.eu-emi.security:canl) >= 2.8.3 -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 +%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 +%else +BuildRequires: ant +BuildRequires: ant-junit +%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 +%endif +BuildRequires: log4j %description The Virtual Organization Membership Service (VOMS) is an attribute authority @@ -39,248 +91,69 @@ 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 %description javadoc Virtual Organization Membership Service (VOMS) Java API Documentation. %prep -%setup -q -a 1 -%patch -P0 -p1 +%setup -q -n %{name}-%{tagver} +%patch0 -p1 +install -m 644 %SOURCE1 . +install -m 644 %SOURCE2 . +install -m 644 %SOURCE3 . -# Remove unused dependency -%pom_remove_dep net.jcip:jcip-annotations - -# 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 +sed -e s/bcprov-ext-jdk16/bcprov-jdk16/ -i pom.xml %build -%mvn_build +%if %{maven} +mvn-rpmbuild -Dbouncycastle.version=1.46 install javadoc:aggregate +%else +export CLASSPATH=$(build-classpath bcprov log4j commons-cli commons-io commons-lang) +ant -Dbuild.sysclasspath=last package javadoc +%endif %install -%mvn_install +mkdir -p %{buildroot}%{_javadir} +install -m 644 target/%{name}-%{version}.jar \ + %{buildroot}%{_javadir}/%{name}.jar +ln -s %{name}.jar %{buildroot}%{_javadir}/vomsjapi.jar -%files -f .mfiles -%doc AUTHORS README.md -%license LICENSE +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 -%files javadoc -f .mfiles-javadoc -%license LICENSE +%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 +%doc AUTHORS LICENSE README.md + +%files javadoc +%defattr(-,root,root,-) +%doc %{_javadocdir}/%{name} %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) - -* Mon Nov 17 2014 Mattias Ellert - 3.0.4-1 -- Update to version 3.0.4 -- Drop patch voms-api-java-timezone-dep-test.patch (fixed upstream) - -* Thu Jun 26 2014 Mattias Ellert - 3.0.3-1 -- Update to version 3.0.3 - -* Sun Jun 08 2014 Fedora Release Engineering - 3.0.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Mon Mar 10 2014 Mattias Ellert - 3.0.2-2 -- Disable tests that fail outside the Central European time zone - -* 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) - -* Sun Aug 04 2013 Fedora Release Engineering - 2.0.10-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - * Tue Feb 12 2013 Mattias Ellert - 2.0.10-2 - Add BR on maven-surefire-provider-junit