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 60ca32b..7629928 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-2f490ab2686722659049cf18a89b7355 v3.0.7.tar.gz
+SHA512 (voms-clients-java-3.3.2.tar.gz) = 2228e1ee45aac029eaacc8ed859d42ec6668b1d885ab1a7dd2372dfa3fc28814be0edcbea8996f46152fcfed68390dbed8f1526e3d77935de18766748711d4c2
diff --git a/voms-clients-java-canl-2.5.patch b/voms-clients-java-canl-2.5.patch
deleted file mode 100644
index 0a9b788..0000000
--- a/voms-clients-java-canl-2.5.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-diff -ur voms-clients-3.0.7.orig/src/main/java/org/italiangrid/voms/clients/impl/DefaultVOMSProxyInitBehaviour.java voms-clients-3.0.7/src/main/java/org/italiangrid/voms/clients/impl/DefaultVOMSProxyInitBehaviour.java
---- voms-clients-3.0.7.orig/src/main/java/org/italiangrid/voms/clients/impl/DefaultVOMSProxyInitBehaviour.java 2016-09-09 12:06:42.000000000 +0200
-+++ voms-clients-3.0.7/src/main/java/org/italiangrid/voms/clients/impl/DefaultVOMSProxyInitBehaviour.java 2018-01-05 16:06:00.586887063 +0100
-@@ -31,7 +31,7 @@
- import java.util.concurrent.TimeUnit;
-
- import org.bouncycastle.asn1.x509.AttributeCertificate;
--import org.bouncycastle.openssl.PasswordFinder;
-+import eu.emi.security.authn.x509.helpers.PasswordSupplier;
- import org.italiangrid.voms.VOMSError;
- import org.italiangrid.voms.VOMSValidators;
- import org.italiangrid.voms.ac.VOMSACValidator;
-@@ -590,7 +590,7 @@
-
- private X509Credential lookupCredential(ProxyInitParams params) {
-
-- PasswordFinder pf = null;
-+ PasswordSupplier pf = null;
-
- if (params.isReadPasswordFromStdin())
- pf = PasswordFinders.getNoPromptInputStreamPasswordFinder(System.in,
-diff -ur voms-clients-3.0.7.orig/src/main/java/org/italiangrid/voms/clients/impl/LoadProxyCredential.java voms-clients-3.0.7/src/main/java/org/italiangrid/voms/clients/impl/LoadProxyCredential.java
---- voms-clients-3.0.7.orig/src/main/java/org/italiangrid/voms/clients/impl/LoadProxyCredential.java 2016-09-09 12:06:42.000000000 +0200
-+++ voms-clients-3.0.7/src/main/java/org/italiangrid/voms/clients/impl/LoadProxyCredential.java 2018-01-05 16:06:00.587887052 +0100
-@@ -15,7 +15,7 @@
- */
- package org.italiangrid.voms.clients.impl;
-
--import org.bouncycastle.openssl.PasswordFinder;
-+import eu.emi.security.authn.x509.helpers.PasswordSupplier;
- import org.italiangrid.voms.clients.util.VOMSProxyPathBuilder;
- import org.italiangrid.voms.credential.LoadCredentialsEventListener;
- import org.italiangrid.voms.credential.impl.AbstractLoadCredentialsStrategy;
-@@ -39,7 +39,7 @@
- }
-
- @Override
-- public X509Credential loadCredentials(PasswordFinder passwordFinder) {
-+ public X509Credential loadCredentials(PasswordSupplier passwordFinder) {
-
- if (proxyFile == null) {
- String envProxyPath = System.getenv(X509_USER_PROXY);
-diff -ur voms-clients-3.0.7.orig/src/main/java/org/italiangrid/voms/clients/impl/LoadUserCredential.java voms-clients-3.0.7/src/main/java/org/italiangrid/voms/clients/impl/LoadUserCredential.java
---- voms-clients-3.0.7.orig/src/main/java/org/italiangrid/voms/clients/impl/LoadUserCredential.java 2016-09-09 12:06:42.000000000 +0200
-+++ voms-clients-3.0.7/src/main/java/org/italiangrid/voms/clients/impl/LoadUserCredential.java 2018-01-05 16:06:00.587887052 +0100
-@@ -15,7 +15,7 @@
- */
- package org.italiangrid.voms.clients.impl;
-
--import org.bouncycastle.openssl.PasswordFinder;
-+import eu.emi.security.authn.x509.helpers.PasswordSupplier;
- import org.italiangrid.voms.credential.LoadCredentialsEventListener;
- import org.italiangrid.voms.credential.impl.AbstractLoadCredentialsStrategy;
-
-@@ -44,7 +44,7 @@
- }
-
- @Override
-- public X509Credential loadCredentials(PasswordFinder passwordFinder) {
-+ public X509Credential loadCredentials(PasswordSupplier passwordFinder) {
-
- if (pkcs12File != null)
- return loadPKCS12Credential(pkcs12File, passwordFinder);
-diff -ur voms-clients-3.0.7.orig/src/main/java/org/italiangrid/voms/clients/util/ConsolePasswordFinder.java voms-clients-3.0.7/src/main/java/org/italiangrid/voms/clients/util/ConsolePasswordFinder.java
---- voms-clients-3.0.7.orig/src/main/java/org/italiangrid/voms/clients/util/ConsolePasswordFinder.java 2016-09-09 12:06:42.000000000 +0200
-+++ voms-clients-3.0.7/src/main/java/org/italiangrid/voms/clients/util/ConsolePasswordFinder.java 2018-01-05 16:06:00.583887096 +0100
-@@ -17,7 +17,7 @@
-
- import java.io.Console;
-
--import org.bouncycastle.openssl.PasswordFinder;
-+import eu.emi.security.authn.x509.helpers.PasswordSupplier;
- import org.italiangrid.voms.VOMSError;
-
- /**
-@@ -25,7 +25,7 @@
- * @author andreaceccanti
- *
- */
--public class ConsolePasswordFinder implements PasswordFinder {
-+public class ConsolePasswordFinder implements PasswordSupplier {
-
- private String promptMessage;
-
-diff -ur voms-clients-3.0.7.orig/src/main/java/org/italiangrid/voms/clients/util/InputStreamPasswordFinder.java voms-clients-3.0.7/src/main/java/org/italiangrid/voms/clients/util/InputStreamPasswordFinder.java
---- voms-clients-3.0.7.orig/src/main/java/org/italiangrid/voms/clients/util/InputStreamPasswordFinder.java 2016-09-09 12:06:42.000000000 +0200
-+++ voms-clients-3.0.7/src/main/java/org/italiangrid/voms/clients/util/InputStreamPasswordFinder.java 2018-01-05 16:06:00.584887085 +0100
-@@ -22,10 +22,10 @@
- import java.io.OutputStream;
- import java.io.PrintStream;
-
--import org.bouncycastle.openssl.PasswordFinder;
-+import eu.emi.security.authn.x509.helpers.PasswordSupplier;
- import org.italiangrid.voms.VOMSError;
-
--public class InputStreamPasswordFinder implements PasswordFinder {
-+public class InputStreamPasswordFinder implements PasswordSupplier {
-
- InputStream is;
- PrintStream os;
-diff -ur voms-clients-3.0.7.orig/src/main/java/org/italiangrid/voms/clients/util/PasswordFinders.java voms-clients-3.0.7/src/main/java/org/italiangrid/voms/clients/util/PasswordFinders.java
---- voms-clients-3.0.7.orig/src/main/java/org/italiangrid/voms/clients/util/PasswordFinders.java 2016-09-09 12:06:42.000000000 +0200
-+++ voms-clients-3.0.7/src/main/java/org/italiangrid/voms/clients/util/PasswordFinders.java 2018-01-05 16:06:00.584887085 +0100
-@@ -18,13 +18,13 @@
- import java.io.InputStream;
- import java.io.OutputStream;
-
--import org.bouncycastle.openssl.PasswordFinder;
-+import eu.emi.security.authn.x509.helpers.PasswordSupplier;
-
- public class PasswordFinders {
-
- public static final String PROMPT_MESSAGE = "Enter GRID pass phrase for this identity:";
-
-- public static PasswordFinder getDefault() {
-+ public static PasswordSupplier getDefault() {
-
- if (System.console() != null)
- return new ConsolePasswordFinder(PROMPT_MESSAGE);
-@@ -32,18 +32,18 @@
- return new InputStreamPasswordFinder(PROMPT_MESSAGE, System.in, System.out);
- }
-
-- public static PasswordFinder getConsolePasswordFinder() {
-+ public static PasswordSupplier getConsolePasswordFinder() {
-
- return new ConsolePasswordFinder(PROMPT_MESSAGE);
- }
-
-- public static PasswordFinder getInputStreamPasswordFinder(InputStream is,
-+ public static PasswordSupplier getInputStreamPasswordFinder(InputStream is,
- OutputStream os) {
-
- return new InputStreamPasswordFinder(PROMPT_MESSAGE, is, os);
- }
-
-- public static PasswordFinder getNoPromptInputStreamPasswordFinder(
-+ public static PasswordSupplier getNoPromptInputStreamPasswordFinder(
- InputStream is, OutputStream os) {
-
- return new InputStreamPasswordFinder(null, is, os);
diff --git a/voms-clients-java-except.patch b/voms-clients-java-except.patch
deleted file mode 100644
index 3de0d93..0000000
--- a/voms-clients-java-except.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -ur voms-clients-3.0.7.orig/src/main/java/org/italiangrid/voms/clients/impl/DefaultVOMSProxyInitBehaviour.java voms-clients-3.0.7/src/main/java/org/italiangrid/voms/clients/impl/DefaultVOMSProxyInitBehaviour.java
---- voms-clients-3.0.7.orig/src/main/java/org/italiangrid/voms/clients/impl/DefaultVOMSProxyInitBehaviour.java 2016-09-09 12:06:42.000000000 +0200
-+++ voms-clients-3.0.7/src/main/java/org/italiangrid/voms/clients/impl/DefaultVOMSProxyInitBehaviour.java 2018-01-05 16:34:10.919346599 +0100
-@@ -457,12 +457,12 @@
- if (params.isLimited())
- limitProxy(proxyOptions);
-
-- if (acs != null && !acs.isEmpty())
-- proxyOptions.setAttributeCertificates(
-- acs.toArray(new AttributeCertificate[acs.size()]));
--
- try {
-
-+ if (acs != null && !acs.isEmpty())
-+ proxyOptions.setAttributeCertificates(
-+ acs.toArray(new AttributeCertificate[acs.size()]));
-+
- ProxyCertificate proxy = ProxyGenerator.generate(proxyOptions,
- credential.getKey());
-
diff --git a/voms-clients-java.spec b/voms-clients-java.spec
index 67f5435..285ed83 100644
--- a/voms-clients-java.spec
+++ b/voms-clients-java.spec
@@ -1,23 +1,35 @@
Name: voms-clients-java
-Version: 3.0.7
-Release: 5%{?dist}
+Version: 3.3.2
+Release: 1%{?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 (backport from upstream)
-Patch0: %{name}-except.patch
-# Adapt to canl-java 2.5
-Patch1: %{name}-canl-2.5.patch
+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
-BuildRequires: maven-local
-BuildRequires: mvn(commons-cli:commons-cli)
-BuildRequires: mvn(commons-io:commons-io)
-BuildRequires: mvn(org.italiangrid:voms-api-java)
-BuildRequires: voms-api-java >= 3.2.0-5
-Requires: voms-api-java >= 3.2.0-5
+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(postun): %{_sbindir}/update-alternatives
@@ -26,6 +38,8 @@ Requires(postun): %{_sbindir}/update-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
@@ -40,44 +54,43 @@ voms-proxy-init, voms-proxy-destroy and voms-proxy-info.
%prep
%setup -q -n voms-clients-%{version}
-%patch0 -p1
-%patch1 -p1
-
-# 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
-
-# Remove license plugin
-%pom_remove_plugin com.mycila.maven-license-plugin:maven-license-plugin
+cp -p %{SOURCE1} .
+cp -p %{SOURCE2} .
+cp -p %{SOURCE3} .
%build
-%mvn_build -j
+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 -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 "\$@"
+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 -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 "\$@"
+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 -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 "\$@"
+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
@@ -105,6 +118,7 @@ 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 \
@@ -119,6 +133,7 @@ install -p -m 644 man/vomses.5 %{buildroot}%{_mandir}/man5/vomses.5
%{_mandir}/man1/voms-proxy-destroy3.1.gz
%postun
+%update_maven_depmap
if [ $1 -eq 0 ] ; then
%{_sbindir}/update-alternatives --remove voms-proxy-init \
%{_bindir}/voms-proxy-init3
@@ -128,8 +143,26 @@ if [ $1 -eq 0 ] ; then
%{_bindir}/voms-proxy-destroy3
fi
-%files -f .mfiles
-%dir %{_javadir}/%{name}
+%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
@@ -148,8 +181,29 @@ fi
%license LICENSE
%changelog
+* 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 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
+
+* 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