diff --git a/sources b/sources
index 60ca32b..3bbcccc 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-2f490ab2686722659049cf18a89b7355 v3.0.7.tar.gz
+SHA512 (voms-clients-java-3.3.7.tar.gz) = 7ed80d50ec844a93fa6f566523fb64dc0b37b7163501bd30029a6ed7bf1d01103fc753daf438405b645c1e8b501846297cc705893fced23e270f31f7b89e7eda
diff --git a/voms-clients-java-except.patch b/voms-clients-java-except.patch
deleted file mode 100644
index 3fe2048..0000000
--- a/voms-clients-java-except.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -ur voms-clients-3.0.6.orig/src/main/java/org/italiangrid/voms/clients/impl/DefaultVOMSProxyInitBehaviour.java voms-clients-3.0.6/src/main/java/org/italiangrid/voms/clients/impl/DefaultVOMSProxyInitBehaviour.java
---- voms-clients-3.0.6.orig/src/main/java/org/italiangrid/voms/clients/impl/DefaultVOMSProxyInitBehaviour.java 2015-01-09 14:10:14.000000000 +0100
-+++ voms-clients-3.0.6/src/main/java/org/italiangrid/voms/clients/impl/DefaultVOMSProxyInitBehaviour.java 2015-03-18 10:07:21.739741876 +0100
-@@ -445,8 +445,12 @@
- limitProxy(proxyOptions);
-
- if (acs != null && !acs.isEmpty())
-- proxyOptions.setAttributeCertificates(
-- acs.toArray(new AttributeCertificate[acs.size()]));
-+ try {
-+ proxyOptions.setAttributeCertificates(
-+ acs.toArray(new AttributeCertificate[acs.size()]));
-+ } catch (IOException e) {
-+ throw new VOMSError(e.getMessage(),e);
-+ }
-
- try {
-
diff --git a/voms-clients-java.spec b/voms-clients-java.spec
index a5776bf..144f451 100644
--- a/voms-clients-java.spec
+++ b/voms-clients-java.spec
@@ -1,26 +1,36 @@
Name: voms-clients-java
-Version: 3.0.7
-Release: 1%{?dist}
+Version: 3.3.7
+Release: 3%{?dist}
Summary: Virtual Organization Membership Service Java clients
-License: ASL 2.0
-URL: https://wiki.italiangrid.it/VOMS
-Source0: https://github.com/italiangrid/voms-clients/archive/v%{version}.tar.gz
-# Uncaught exception with canl-java version 2 or later
-Patch0: %{name}-except.patch
-BuildArch: noarch
+License: Apache-2.0
+URL: https://github.com/italiangrid/voms-clients
+Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
+BuildArch: noarch
+ExclusiveArch: %{java_arches} noarch
+
+%if %{?fedora}%{!?fedora:0} >= 43
+BuildRequires: maven-local-openjdk25
+%else
BuildRequires: maven-local
-%if %{?fedora}%{!?fedora:0}
-# Missing in EPEL
-BuildRequires: mvn(com.mycila.maven-license-plugin:maven-license-plugin)
%endif
+BuildRequires: mvn(org.italiangrid:voms-api-java) >= 3.3.7
BuildRequires: mvn(commons-cli:commons-cli)
BuildRequires: mvn(commons-io:commons-io)
-BuildRequires: mvn(org.italiangrid:voms-api-java)
+BuildRequires: mvn(junit:junit)
+BuildRequires: asciidoctor
+Requires: mvn(org.italiangrid:voms-api-java) >= 3.3.7
+%if %{?rhel}%{!?rhel:0} == 9
+Requires: (java-headless or java-1.8.0-headless or java-11-headless or java-17-headless or java-21-headless or java-25-headless)
+%else
+Requires: (java-headless or java-21-headless or java-25-headless)
+%endif
+Suggests: java-headless
+Requires: javapackages-tools
Requires(post): %{_sbindir}/update-alternatives
-Requires(postun): %{_sbindir}/update-alternatives
+Requires(preun): %{_sbindir}/update-alternatives
# Older versions of voms-clients did not have alternatives
Conflicts: voms-clients < 2.0.12
@@ -40,24 +50,28 @@ voms-proxy-init, voms-proxy-destroy and voms-proxy-info.
%prep
%setup -q -n voms-clients-%{version}
-%patch0 -p1
-%mvn_package org.italiangrid:voms-clients:tar.gz:* __noinstall
+# Remove maven-javadoc-plugin configuration
+# We are not building the javadoc for this package
+%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 %{?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 in EPEL
-%pom_remove_plugin com.mycila.maven-license-plugin:maven-license-plugin
-%endif
+# Don't do assembly
+%pom_remove_plugin :maven-assembly-plugin
+
+# The asciidoctor plugin is not available in Fedora
+# Run asciidoctor explicitly in the build section instead
+%pom_remove_plugin org.asciidoctor:asciidoctor-maven-plugin
%build
%mvn_build -j
+pushd man
+for x in *.adoc ; do asciidoctor -b manpage $x ; done
+popd
+
%install
%mvn_install
@@ -65,32 +79,25 @@ mkdir -p %{buildroot}%{_bindir}
cat > %{buildroot}%{_bindir}/voms-proxy-init3 << EOF
#!/bin/sh
-VOMS_CLIENTS_JAVA_OPTIONS=\${VOMS_CLIENTS_JAVA_OPTIONS:-"-XX:+UseSerialGC -Xmx16m"}
-java \$VOMS_CLIENTS_JAVA_OPTIONS -cp \$(build-classpath voms-clients-java voms-api-java canl-java bcpkix bcprov commons-cli commons-io) org.italiangrid.voms.clients.VomsProxyInit "\$@"
+VOMS_CLIENTS_JAVA_OPTIONS=\${VOMS_CLIENTS_JAVA_OPTIONS:-"-XX:+UseSerialGC -Xmx32m"}
+java \$VOMS_CLIENTS_JAVA_OPTIONS -cp \$(build-classpath voms-clients-java voms-api-java canl-java bcpkix bcutil bcprov commons-cli commons-io) org.italiangrid.voms.clients.VomsProxyInit "\$@"
EOF
chmod 755 %{buildroot}%{_bindir}/voms-proxy-init3
cat > %{buildroot}%{_bindir}/voms-proxy-info3 << EOF
#!/bin/sh
-VOMS_CLIENTS_JAVA_OPTIONS=\${VOMS_CLIENTS_JAVA_OPTIONS:-"-XX:+UseSerialGC -Xmx16m"}
-java \$VOMS_CLIENTS_JAVA_OPTIONS -cp \$(build-classpath voms-clients-java voms-api-java canl-java bcpkix bcprov commons-cli commons-io) org.italiangrid.voms.clients.VomsProxyInfo "\$@"
+VOMS_CLIENTS_JAVA_OPTIONS=\${VOMS_CLIENTS_JAVA_OPTIONS:-"-XX:+UseSerialGC -Xmx32m"}
+java \$VOMS_CLIENTS_JAVA_OPTIONS -cp \$(build-classpath voms-clients-java voms-api-java canl-java bcpkix bcutil bcprov commons-cli commons-io) org.italiangrid.voms.clients.VomsProxyInfo "\$@"
EOF
chmod 755 %{buildroot}%{_bindir}/voms-proxy-info3
cat > %{buildroot}%{_bindir}/voms-proxy-destroy3 << EOF
#!/bin/sh
-VOMS_CLIENTS_JAVA_OPTIONS=\${VOMS_CLIENTS_JAVA_OPTIONS:-"-XX:+UseSerialGC -Xmx16m"}
-java \$VOMS_CLIENTS_JAVA_OPTIONS -cp \$(build-classpath voms-clients-java voms-api-java canl-java bcpkix bcprov commons-cli commons-io) org.italiangrid.voms.clients.VomsProxyDestroy "\$@"
+VOMS_CLIENTS_JAVA_OPTIONS=\${VOMS_CLIENTS_JAVA_OPTIONS:-"-XX:+UseSerialGC -Xmx32m"}
+java \$VOMS_CLIENTS_JAVA_OPTIONS -cp \$(build-classpath voms-clients-java voms-api-java canl-java bcpkix bcutil bcprov commons-cli commons-io) org.italiangrid.voms.clients.VomsProxyDestroy "\$@"
EOF
chmod 755 %{buildroot}%{_bindir}/voms-proxy-destroy3
-touch %{buildroot}%{_bindir}/voms-proxy-init
-chmod 755 %{buildroot}%{_bindir}/voms-proxy-init
-touch %{buildroot}%{_bindir}/voms-proxy-info
-chmod 755 %{buildroot}%{_bindir}/voms-proxy-info
-touch %{buildroot}%{_bindir}/voms-proxy-destroy
-chmod 755 %{buildroot}%{_bindir}/voms-proxy-destroy
-
mkdir -p %{buildroot}%{_mandir}/man1
install -p -m 644 man/voms-proxy-init.1 \
%{buildroot}%{_mandir}/man1/voms-proxy-init3.1
@@ -99,9 +106,13 @@ install -p -m 644 man/voms-proxy-info.1 \
install -p -m 644 man/voms-proxy-destroy.1 \
%{buildroot}%{_mandir}/man1/voms-proxy-destroy3.1
-touch %{buildroot}%{_mandir}/man1/voms-proxy-init.1
-touch %{buildroot}%{_mandir}/man1/voms-proxy-info.1
-touch %{buildroot}%{_mandir}/man1/voms-proxy-destroy.1
+mkdir -p %{buildroot}%{_sysconfdir}/alternatives
+for b in voms-proxy-init voms-proxy-info voms-proxy-destroy; do
+ ln -s %{_bindir}/${b}3 %{buildroot}%{_sysconfdir}/alternatives/${b}
+ ln -s %{_sysconfdir}/alternatives/${b} %{buildroot}%{_bindir}/${b}
+ ln -s %{_mandir}/man1/${b}3.1.gz %{buildroot}%{_sysconfdir}/alternatives/${b}.1.gz
+ ln -s %{_sysconfdir}/alternatives/${b}.1.gz %{buildroot}%{_mandir}/man1/${b}.1.gz
+done
mkdir -p %{buildroot}%{_mandir}/man5
install -p -m 644 man/vomsdir.5 %{buildroot}%{_mandir}/man5/vomsdir.5
@@ -121,7 +132,7 @@ install -p -m 644 man/vomses.5 %{buildroot}%{_mandir}/man5/vomses.5
--slave %{_mandir}/man1/voms-proxy-destroy.1.gz voms-proxy-destroy-man \
%{_mandir}/man1/voms-proxy-destroy3.1.gz
-%postun
+%preun
if [ $1 -eq 0 ] ; then
%{_sbindir}/update-alternatives --remove voms-proxy-init \
%{_bindir}/voms-proxy-init3
@@ -132,28 +143,156 @@ if [ $1 -eq 0 ] ; then
fi
%files -f .mfiles
-%dir %{_javadir}/%{name}
-%if %{?fedora}%{!?fedora:0} >= 21 || %{?rhel}%{!?rhel:0} >= 8
-%dir %{_mavenpomdir}/%{name}
-%endif
%{_bindir}/voms-proxy-destroy3
%{_bindir}/voms-proxy-info3
%{_bindir}/voms-proxy-init3
%ghost %{_bindir}/voms-proxy-destroy
%ghost %{_bindir}/voms-proxy-info
%ghost %{_bindir}/voms-proxy-init
+%ghost %{_sysconfdir}/alternatives/voms-proxy-destroy
+%ghost %{_sysconfdir}/alternatives/voms-proxy-info
+%ghost %{_sysconfdir}/alternatives/voms-proxy-init
%{_mandir}/man1/voms-proxy-destroy3.1*
%{_mandir}/man1/voms-proxy-info3.1*
%{_mandir}/man1/voms-proxy-init3.1*
%ghost %{_mandir}/man1/voms-proxy-destroy.1*
%ghost %{_mandir}/man1/voms-proxy-info.1*
%ghost %{_mandir}/man1/voms-proxy-init.1*
+%ghost %{_sysconfdir}/alternatives/voms-proxy-destroy.1*
+%ghost %{_sysconfdir}/alternatives/voms-proxy-info.1*
+%ghost %{_sysconfdir}/alternatives/voms-proxy-init.1*
%{_mandir}/man5/vomsdir.5*
%{_mandir}/man5/vomses.5*
-%doc AUTHORS README.md
+%doc README.md
%license LICENSE
%changelog
+* Fri Jul 17 2026 Fedora Release Engineering - 3.3.7-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
+
+* 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
+- Increase default max heap memory (following upstream)
+
+* Wed Aug 06 2025 Mattias Ellert - 3.3.6-1
+- Update to version 3.3.6
+
+* Mon Jul 28 2025 jiri vanek - 3.3.5-5
+- Rebuilt for java-25-openjdk as preffered jdk
+
+* Fri Jul 25 2025 Fedora Release Engineering - 3.3.5-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
+
+* Tue Jul 08 2025 Mattias Ellert - 3.3.5-3
+- Allow alternative java versions in EPEL 9
+
+* Tue Apr 22 2025 Mattias Ellert - 3.3.5-2
+- Update URL tag
+
+* Sat Apr 19 2025 Mattias Ellert - 3.3.5-1
+- Update to version 3.3.5
+
+* Sun Jan 19 2025 Fedora Release Engineering - 3.3.3-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
+
+* 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-16
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
+
+* Fri May 24 2024 Mattias Ellert - 3.3.2-15
+- Update License tags (SPDX)
+- Add additional ghost files to package (rpmlint)
+
+* Thu May 23 2024 Marian Koncek - 3.3.2-14
+- Add Requires on java-headless
+
+* Tue Feb 27 2024 Jiri Vanek - 3.3.2-13
+- Rebuilt for java-21-openjdk as system jdk
+
+* Sat Jan 27 2024 Fedora Release Engineering - 3.3.2-12
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
+
+* Sat Jul 22 2023 Fedora Release Engineering - 3.3.2-11
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
+
+* Sat Jan 21 2023 Fedora Release Engineering - 3.3.2-10
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Sat Jul 23 2022 Fedora Release Engineering - 3.3.2-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Fri Jul 08 2022 Jiri Vanek - 3.3.2-8
+- Rebuilt for Drop i686 JDKs
+
+* Sat Feb 05 2022 Jiri Vanek - 3.3.2-7
+- Rebuilt for java-17-openjdk as system jdk
+
+* Sat Jan 22 2022 Fedora Release Engineering - 3.3.2-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Fri Jan 14 2022 Mattias Ellert - 3.3.2-5
+- Add bcutil to classpath
+
+* Fri Jul 23 2021 Fedora Release Engineering - 3.3.2-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Mon May 17 2021 Mattias Ellert - 3.3.2-3
+- Add missing build requires mvn(junit:junit)
+
+* 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
+- Drop patches voms-clients-java-use-a-more-sensible-timeout.patch and
+ voms-clients-java-change-default-proxy-cert-key-length-to-2048-bits.patch
+
+* Wed Jul 29 2020 Fedora Release Engineering - 3.3.0-9
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
+
+* Sat Jul 11 2020 Jiri Vanek - 3.3.0-8
+- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
+
+* 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
+
+* 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
+
+* Wed Oct 31 2018 Mattias Ellert - 3.3.0-3
+- Change default proxy cert key length to 2048 bits
+- Use a more sensible timeout
+
+* 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
+- Drop patches voms-clients-java-except.patch and -canl-2.5.patch
+
+* Fri Jan 05 2018 Mattias Ellert - 3.0.7-5
+- Adapt to canl-java 2.5
+
+* Tue Aug 08 2017 Mattias Ellert - 3.0.7-4
+- Don't do assembly
+
+* Thu Jul 27 2017 Fedora Release Engineering - 3.0.7-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Sat Feb 11 2017 Fedora Release Engineering - 3.0.7-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
* Sat Sep 10 2016 Mattias Ellert - 3.0.7-1
- Update to version 3.0.7
- Drop patch voms-clients-java-javadoc.patch