diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000..0f92cc0
--- /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..bb8217c
--- /dev/null
+++ b/maven-build.properties
@@ -0,0 +1,34 @@
+#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
new file mode 100644
index 0000000..8b2f0d2
--- /dev/null
+++ b/maven-build.xml
@@ -0,0 +1,291 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ =================================== 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 3bbcccc..7629928 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (voms-clients-java-3.3.7.tar.gz) = 7ed80d50ec844a93fa6f566523fb64dc0b37b7163501bd30029a6ed7bf1d01103fc753daf438405b645c1e8b501846297cc705893fced23e270f31f7b89e7eda
+SHA512 (voms-clients-java-3.3.2.tar.gz) = 2228e1ee45aac029eaacc8ed859d42ec6668b1d885ab1a7dd2372dfa3fc28814be0edcbea8996f46152fcfed68390dbed8f1526e3d77935de18766748711d4c2
diff --git a/voms-clients-java.spec b/voms-clients-java.spec
index 144f451..285ed83 100644
--- a/voms-clients-java.spec
+++ b/voms-clients-java.spec
@@ -1,41 +1,45 @@
Name: voms-clients-java
-Version: 3.3.7
-Release: 3%{?dist}
+Version: 3.3.2
+Release: 1%{?dist}
Summary: Virtual Organization Membership Service Java clients
-License: Apache-2.0
-URL: https://github.com/italiangrid/voms-clients
-Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz
-
+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
-ExclusiveArch: %{java_arches} noarch
+# There is no jakarta-commons-io for ppc64 in EPEL6
+ExcludeArch: ppc64
-%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
+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
Requires(post): %{_sbindir}/update-alternatives
-Requires(preun): %{_sbindir}/update-alternatives
+Requires(postun): %{_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
@@ -50,54 +54,53 @@ voms-proxy-init, voms-proxy-destroy and voms-proxy-info.
%prep
%setup -q -n voms-clients-%{version}
-
-# 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
+cp -p %{SOURCE1} .
+cp -p %{SOURCE2} .
+cp -p %{SOURCE3} .
%build
-%mvn_build -j
-
-pushd man
-for x in *.adoc ; do asciidoctor -b manpage $x ; done
-popd
+export CLASSPATH=$(build-classpath voms-api-java canl bcpkix-1.58 bcprov-1.58 commons-cli commons-io junit4)
+%ant -Dbuild.sysclasspath=last package
%install
-%mvn_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
mkdir -p %{buildroot}%{_bindir}
cat > %{buildroot}%{_bindir}/voms-proxy-init3 << EOF
#!/bin/sh
-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 "\$@"
+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 "\$@"
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 -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 "\$@"
+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 "\$@"
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 -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 "\$@"
+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 "\$@"
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
@@ -106,19 +109,16 @@ 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
-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
+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}%{_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,7 +132,8 @@ 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
-%preun
+%postun
+%update_maven_depmap
if [ $1 -eq 0 ] ; then
%{_sbindir}/update-alternatives --remove voms-proxy-init \
%{_bindir}/voms-proxy-init3
@@ -142,147 +143,67 @@ if [ $1 -eq 0 ] ; then
%{_bindir}/voms-proxy-destroy3
fi
-%files -f .mfiles
+%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}
%{_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 README.md
+%doc AUTHORS 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
+* Wed Oct 14 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
+* Tue Apr 10 2018 Mattias Ellert - 3.3.0-2
+- Add trigger scriptlet to restore removed alternatives
* 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