diff --git a/build.xml b/build.xml
deleted file mode 100644
index 0f92cc0..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 bb8217c..0000000
--- a/maven-build.properties
+++ /dev/null
@@ -1,34 +0,0 @@
-#Generated by Maven Ant Plugin - DO NOT EDIT THIS FILE!
-#Wed Oct 14 10:51:05 CEST 2020
-maven.settings.offline=true
-voms-api-java.version=3.3.2
-maven.build.finalName=voms-clients-3.3.2
-commons-cli.version=1.2
-plugin.license.version=1.9.0
-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
-plugin.compiler.version=3.1
-commons-io.version=2.0.1
-plugin.javadoc.version=2.9.1
-project.build.sourceEncoding=UTF-8
-maven.build.srcDir.0=src/main/java
-plugin.assembly.version=2.4.1
-junit.version=4.10
-project.build.directory=${maven.build.dir}
-maven.test.reports=${maven.build.dir}/test-reports
-maven.build.dir=target
-plugin.jar.version=2.5
-project.build.outputDirectory=${maven.build.outputDir}
-plugin.nexus-staging.version=1.6.3
-plugin.source.version=2.2.1
-plugin.release.version=2.2.2
-project.reporting.outputEncoding=UTF-8
-voms-clients.libs=
-maven.build.testDir.0=src/test/java
-maven.settings.interactiveMode=true
-plugin.gpg.version=1.5
-maven.repo.local=${user.home}/.m2/repository
-plugin.deploy.version=2.8.2
-maven.build.outputDir=${maven.build.dir}/classes
diff --git a/maven-build.xml b/maven-build.xml
deleted file mode 100644
index 8b2f0d2..0000000
--- a/maven-build.xml
+++ /dev/null
@@ -1,291 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- =================================== WARNING ===================================
- JUnit is not present in the test classpath or your $ANT_HOME/lib directory. Tests not executed.
- ===============================================================================
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/sources b/sources
index 7629928..3bbcccc 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (voms-clients-java-3.3.2.tar.gz) = 2228e1ee45aac029eaacc8ed859d42ec6668b1d885ab1a7dd2372dfa3fc28814be0edcbea8996f46152fcfed68390dbed8f1526e3d77935de18766748711d4c2
+SHA512 (voms-clients-java-3.3.7.tar.gz) = 7ed80d50ec844a93fa6f566523fb64dc0b37b7163501bd30029a6ed7bf1d01103fc753daf438405b645c1e8b501846297cc705893fced23e270f31f7b89e7eda
diff --git a/voms-clients-java.spec b/voms-clients-java.spec
index 285ed83..144f451 100644
--- a/voms-clients-java.spec
+++ b/voms-clients-java.spec
@@ -1,45 +1,41 @@
Name: voms-clients-java
-Version: 3.3.2
-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}/%{name}-%{version}.tar.gz
-# These are build instructions for ant generated from the maven
-# build instructions using the maven ant plugin.
-# These are used for building on EPEL 6 since there is no maven
-# available there.
-Source1: build.xml
-Source2: maven-build.xml
-Source3: maven-build.properties
-BuildArch: noarch
-# There is no jakarta-commons-io for ppc64 in EPEL6
-ExcludeArch: ppc64
+License: Apache-2.0
+URL: https://github.com/italiangrid/voms-clients
+Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
-BuildRequires: java-1.8.0-openjdk-devel
-BuildRequires: jpackage-utils
-BuildRequires: ant
-BuildRequires: ant-junit
-BuildRequires: jakarta-commons-cli
-BuildRequires: jakarta-commons-io
-BuildRequires: junit4
-BuildRequires: voms-api-java >= 3.3.2
-Requires: java >= 1:1.8
-Requires: jpackage-utils
-Requires: jakarta-commons-cli
-Requires: jakarta-commons-io
-Requires: voms-api-java >= 3.3.2
+BuildArch: noarch
+ExclusiveArch: %{java_arches} noarch
+
+%if %{?fedora}%{!?fedora:0} >= 43
+BuildRequires: maven-local-openjdk25
+%else
+BuildRequires: maven-local
+%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(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
Provides: voms-clients = %{version}-%{release}
-Provides: voms-clients3 = %{version}-%{release}
-Obsoletes: voms-clients3 < 3.1
%description
The Virtual Organization Membership Service (VOMS) is an attribute authority
@@ -54,53 +50,54 @@ voms-proxy-init, voms-proxy-destroy and voms-proxy-info.
%prep
%setup -q -n voms-clients-%{version}
-cp -p %{SOURCE1} .
-cp -p %{SOURCE2} .
-cp -p %{SOURCE3} .
+
+# 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
+
+# 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
-export CLASSPATH=$(build-classpath voms-api-java canl bcpkix-1.58 bcprov-1.58 commons-cli commons-io junit4)
-%ant -Dbuild.sysclasspath=last package
+%mvn_build -j
+
+pushd man
+for x in *.adoc ; do asciidoctor -b manpage $x ; done
+popd
%install
-mkdir -p %{buildroot}%{_javadir}
-install -m 644 target/voms-clients-%{version}.jar \
- %{buildroot}%{_javadir}/voms-clients.jar
-
-mkdir -p %{buildroot}%{_mavenpomdir}
-install -p -m 644 pom.xml %{buildroot}%{_mavenpomdir}/JPP-voms-clients.pom
-%add_to_maven_depmap org.italiangrid voms-clients %{version} JPP voms-clients
+%mvn_install
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 voms-api-java canl bcpkix-1.58 bcprov-1.58 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 voms-api-java canl bcpkix-1.58 bcprov-1.58 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 voms-api-java canl bcpkix-1.58 bcprov-1.58 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
@@ -109,16 +106,19 @@ 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
install -p -m 644 man/vomses.5 %{buildroot}%{_mandir}/man5/vomses.5
%post
-%update_maven_depmap
%{_sbindir}/update-alternatives --install %{_bindir}/voms-proxy-init \
voms-proxy-init %{_bindir}/voms-proxy-init3 90 \
--slave %{_mandir}/man1/voms-proxy-init.1.gz voms-proxy-init-man \
@@ -132,8 +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
-%update_maven_depmap
+%preun
if [ $1 -eq 0 ] ; then
%{_sbindir}/update-alternatives --remove voms-proxy-init \
%{_bindir}/voms-proxy-init3
@@ -143,67 +142,147 @@ if [ $1 -eq 0 ] ; then
%{_bindir}/voms-proxy-destroy3
fi
-%triggerpostun -- voms-clients3
-# Uninstalling the UMD voms-clients3 package will remove the alternatives
-# for voms-clients-java - put them back in this triggerpostun script
-%{_sbindir}/update-alternatives --install %{_bindir}/voms-proxy-init \
- voms-proxy-init %{_bindir}/voms-proxy-init3 90 \
- --slave %{_mandir}/man1/voms-proxy-init.1.gz voms-proxy-init-man \
- %{_mandir}/man1/voms-proxy-init3.1.gz
-%{_sbindir}/update-alternatives --install %{_bindir}/voms-proxy-info \
- voms-proxy-info %{_bindir}/voms-proxy-info3 90 \
- --slave %{_mandir}/man1/voms-proxy-info.1.gz voms-proxy-info-man \
- %{_mandir}/man1/voms-proxy-info3.1.gz
-%{_sbindir}/update-alternatives --install %{_bindir}/voms-proxy-destroy \
- voms-proxy-destroy %{_bindir}/voms-proxy-destroy3 90 \
- --slave %{_mandir}/man1/voms-proxy-destroy.1.gz voms-proxy-destroy-man \
- %{_mandir}/man1/voms-proxy-destroy3.1.gz
-
-%files
-%{_javadir}/voms-clients.jar
-%{_mavenpomdir}/JPP-voms-clients.pom
-%config(noreplace) %{_mavendepmapfragdir}/%{name}
+%files -f .mfiles
%{_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
-* Wed Oct 14 2020 Mattias Ellert - 3.3.2-1
+* 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
-* Tue Apr 10 2018 Mattias Ellert - 3.3.0-2
-- Add trigger scriptlet to restore removed alternatives
+* 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
-- Build against bouncycastle1.58
- Update to version 3.3.0
- Drop patches voms-clients-java-except.patch and -canl-2.5.patch
-* Thu Jan 11 2018 Mattias Ellert - 3.0.7-6
-- Add Provides/Obsoletes voms-clients3
-
* Fri Jan 05 2018 Mattias Ellert - 3.0.7-5
- Adapt to canl-java 2.5
-- Create EPEL 6 package using the maven ant plugin
* Tue Aug 08 2017 Mattias Ellert - 3.0.7-4
- Don't do assembly