Compare commits

...

No commits in common. "c8-stream-201902" and "c8-stream-201801" have entirely different histories.

5 changed files with 158 additions and 41 deletions

View File

@ -1 +1 @@
c48b7254fced9f5c6d544b60efa2be47eae869bb SOURCES/apache-ivy-2.5.0-rc1-src.tar.gz
1efa73e73b5fc14ef003ff2fcb182f039db33ce2 SOURCES/apache-ivy-2.4.0-src.tar.gz

2
.gitignore vendored
View File

@ -1 +1 @@
SOURCES/apache-ivy-2.5.0-rc1-src.tar.gz
SOURCES/apache-ivy-2.4.0-src.tar.gz

View File

@ -1,11 +1,11 @@
--- src/java/org/apache/ivy/ant/IvyAntSettings.java~ 2014-05-23 19:56:50.000000000 +0200
+++ src/java/org/apache/ivy/ant/IvyAntSettings.java 2015-04-01 12:37:37.537520590 +0200
@@ -345,7 +345,7 @@
@@ -346,7 +346,7 @@
File[] settingsLocations = new File[] {
new File(getProject().getBaseDir(), settingsFileName),
new File(getProject().getBaseDir(), "ivyconf.xml"), new File(settingsFileName),
- new File("ivyconf.xml")};
+ new File("ivyconf.xml"), new File("/etc/ivy/ivysettings.xml")};
for (File settingsFile : settingsLocations) {
task.log("searching settings file: trying " + settingsFile, Project.MSG_VERBOSE);
if (settingsFile.exists()) {
for (int i = 0; i < settingsLocations.length; i++) {
file = settingsLocations[i];
task.log("searching settings file: trying " + file, Project.MSG_VERBOSE);

View File

@ -0,0 +1,93 @@
diff --git a/ivy.xml b/ivy.xml
index d448897..7d8896a 100644
--- a/ivy.xml
+++ b/ivy.xml
@@ -50,8 +50,8 @@
<dependency org="com.jcraft" name="jsch.agentproxy" rev="0.0.6" conf="default,sftp->default"/>
<dependency org="com.jcraft" name="jsch.agentproxy.connector-factory" rev="0.0.6" conf="default,sftp->default"/>
<dependency org="com.jcraft" name="jsch.agentproxy.jsch" rev="0.0.6" conf="default,sftp->default"/>
- <dependency org="org.bouncycastle" name="bcpg-jdk14" rev="1.45" conf="default"/>
- <dependency org="org.bouncycastle" name="bcprov-jdk14" rev="1.45" conf="default"/>
+ <dependency org="org.bouncycastle" name="bcpg-jdk15on" rev="1.52" conf="default"/>
+ <dependency org="org.bouncycastle" name="bcprov-jdk15on" rev="1.52" conf="default"/>
<!-- Test dependencies -->
<dependency org="junit" name="junit" rev="3.8.2" conf="test->default"/>
diff --git a/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java b/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java
index af7beae..bec8ae4 100644
--- a/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java
+++ b/src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java
@@ -23,16 +23,18 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
-import java.security.NoSuchAlgorithmException;
-import java.security.NoSuchProviderException;
import java.security.Security;
-import java.security.SignatureException;
import java.util.Iterator;
import org.apache.ivy.plugins.signer.SignatureGenerator;
import org.bouncycastle.bcpg.ArmoredOutputStream;
import org.bouncycastle.bcpg.BCPGOutputStream;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
+import org.bouncycastle.openpgp.operator.PBESecretKeyDecryptor;
+import org.bouncycastle.openpgp.operator.bc.BcKeyFingerprintCalculator;
+import org.bouncycastle.openpgp.operator.bc.BcPBESecretKeyDecryptorBuilder;
+import org.bouncycastle.openpgp.operator.bc.BcPGPContentSignerBuilder;
+import org.bouncycastle.openpgp.operator.bc.BcPGPDigestCalculatorProvider;
import org.bouncycastle.openpgp.PGPException;
import org.bouncycastle.openpgp.PGPPrivateKey;
import org.bouncycastle.openpgp.PGPSecretKey;
@@ -101,11 +103,13 @@ public class OpenPGPSignatureGenerator implements SignatureGenerator {
pgpSec = readSecretKey(keyIn);
}
- PGPPrivateKey pgpPrivKey = pgpSec.extractPrivateKey(password.toCharArray(),
- BouncyCastleProvider.PROVIDER_NAME);
- PGPSignatureGenerator sGen = new PGPSignatureGenerator(pgpSec.getPublicKey()
- .getAlgorithm(), PGPUtil.SHA1, BouncyCastleProvider.PROVIDER_NAME);
- sGen.initSign(PGPSignature.BINARY_DOCUMENT, pgpPrivKey);
+ PBESecretKeyDecryptor decryptor = new BcPBESecretKeyDecryptorBuilder(
+ new BcPGPDigestCalculatorProvider()).build(password.toCharArray());
+ PGPPrivateKey pgpPrivKey = pgpSec.extractPrivateKey(decryptor);
+ PGPSignatureGenerator sGen = new PGPSignatureGenerator(
+ new BcPGPContentSignerBuilder(pgpSec.getPublicKey()
+ .getAlgorithm(), PGPUtil.SHA1));
+ sGen.init(PGPSignature.BINARY_DOCUMENT, pgpPrivKey);
in = new FileInputStream(src);
out = new BCPGOutputStream(new ArmoredOutputStream(new FileOutputStream(dest)));
@@ -116,22 +120,10 @@ public class OpenPGPSignatureGenerator implements SignatureGenerator {
}
sGen.generate().encode(out);
- } catch (SignatureException e) {
- IOException ioexc = new IOException();
- ioexc.initCause(e);
- throw ioexc;
} catch (PGPException e) {
IOException ioexc = new IOException();
ioexc.initCause(e);
throw ioexc;
- } catch (NoSuchAlgorithmException e) {
- IOException ioexc = new IOException();
- ioexc.initCause(e);
- throw ioexc;
- } catch (NoSuchProviderException e) {
- IOException ioexc = new IOException();
- ioexc.initCause(e);
- throw ioexc;
} finally {
if (out != null) {
try {
@@ -156,7 +148,8 @@ public class OpenPGPSignatureGenerator implements SignatureGenerator {
private PGPSecretKey readSecretKey(InputStream in) throws IOException, PGPException {
in = PGPUtil.getDecoderStream(in);
- PGPSecretKeyRingCollection pgpSec = new PGPSecretKeyRingCollection(in);
+ PGPSecretKeyRingCollection pgpSec = new PGPSecretKeyRingCollection(in,
+ new BcKeyFingerprintCalculator());
PGPSecretKey key = null;
for (Iterator it = pgpSec.getKeyRings(); key == null && it.hasNext();) {

View File

@ -1,26 +1,49 @@
%global upstream_version %(echo %{version} | tr '~' '-')
%bcond_without ssh
%bcond_without vfs
%bcond_without bouncycastle
Name: apache-ivy
Version: 2.5.0~rc1
Release: 2%{?dist}
Version: 2.4.0
Release: 14%{?dist}
Summary: Java-based dependency manager
# One .js in asciidoc directory is MIT but we do not include it
License: ASL 2.0
URL: http://ant.apache.org/ivy
Source0: http://www.apache.org/dist/ant/ivy/%{upstream_version}/%{name}-%{upstream_version}-src.tar.gz
Source0: http://www.apache.org/dist/ant/ivy/%{version}/%{name}-%{version}-src.tar.gz
BuildArch: noarch
# Non-upstreamable. Add /etc/ivy/ivysettings.xml at the end list of
# settings files Ivy tries to load. This file will be used only as
# last resort, when no other setting files exist.
Patch0: %{name}-global-settings.patch
# sent upstream: IVY-1521
Patch1: port-to-bc-1.52.patch
Provides: ivy = %{version}-%{release}
BuildRequires: ivy-local >= 4
BuildRequires: ant
BuildRequires: mvn(org.apache.httpcomponents:httpclient)
BuildRequires: mvn(oro:oro)
BuildRequires: ant-contrib
BuildRequires: ant-testutil
%if %{with vfs}
BuildRequires: apache-commons-vfs
%endif
BuildRequires: apache-commons-lang
%if %{with bouncycastle}
BuildRequires: bouncycastle
BuildRequires: bouncycastle-pg
%endif
BuildRequires: jakarta-commons-httpclient
BuildRequires: jsch
BuildRequires: jakarta-oro
BuildRequires: apache-commons-parent
BuildRequires: sonatype-oss-parent
BuildRequires: apache-parent
BuildRequires: ivy-local >= 4
%if %{with ssh}
BuildRequires: jsch-agent-proxy-connector-factory
BuildRequires: jsch-agent-proxy-core
BuildRequires: jsch-agent-proxy-jsch
%endif
%description
Apache Ivy is a tool for managing (recording, tracking, resolving and
@ -37,45 +60,54 @@ Summary: API Documentation for ivy
JavaDoc documentation for %{name}
%prep
%setup -q -n %{name}-%{upstream_version}
%setup -q
%patch0
find -name '*.jar' -delete
%patch1 -p1
# Don't hardcode sysconfdir path
sed -i 's:/etc/ivy/:%{_sysconfdir}/ivy/:' src/java/org/apache/ivy/ant/IvyAntSettings.java
%if %{without ssh}
%pom_remove_dep :jsch
%pom_remove_dep :jsch.agentproxy
%pom_remove_dep :jsch.agentproxy.connector-factory
%pom_remove_dep :jsch.agentproxy.jsch
rm -r src/java/org/apache/ivy/plugins/repository/{ssh,sftp}
rm src/java/org/apache/ivy/plugins/resolver/*{Ssh,SFTP}*.java
%endif
%if %{without bouncycastle}
%pom_remove_dep org.bouncycastle
rm src/java/org/apache/ivy/plugins/signer/bouncycastle/OpenPGPSignatureGenerator.java
# Remove test dependencies
%pom_remove_dep :junit
%pom_remove_dep :hamcrest-core
%pom_remove_dep :hamcrest-library
%pom_remove_dep :ant-testutil
%pom_remove_dep :ant-launcher
%pom_remove_dep :ant-junit
%pom_remove_dep :ant-junit4
%pom_remove_dep :ant-contrib
%pom_remove_dep :xmlunit
%endif
%mvn_alias : jayasoft:ivy
%mvn_file : %{name}/ivy ivy
# Remove dependency on commons-vfs
# Fix messed-up encodings
for F in README LICENSE NOTICE
do
sed 's/\r//' $F |iconv -f iso8859-1 -t utf8 >$F.utf8
touch -r $F $F.utf8
mv $F.utf8 $F
done
# ant-trax has been obsoleted, use main ant package
sed -i s/ant-trax/ant/ ivy.xml
# Fedora bouncycastle packages provide -jdk16 artifacts only
sed -i /bouncycastle/s/jdk14/jdk16/ ivy.xml
# Port from commons-vfs 1.x to 2.x
%if %{with vfs}
sed -i "s/commons.vfs/&2/" src/java/org/apache/ivy/plugins/repository/vfs/*
%else
sed -i /commons-vfs/d ivy.xml
rm -rf src/java/org/apache/ivy/plugins/repository/vfs
rm -rf src/java/org/apache/ivy/plugins/resolver/VfsResolver.java
%endif
# Remove prebuilt documentation
rm -rf asciidoc
rm -rf doc build/doc
# Publish artifacts through XMvn
sed -i /ivy:publish/s/local/xmvn/ build.xml
@ -83,30 +115,22 @@ sed -i /ivy:publish/s/local/xmvn/ build.xml
%build
%ant -Divy.mode=local -Dtarget.ivy.bundle.version=%{version} -Dtarget.ivy.bundle.version.qualifier= -Dtarget.ivy.version=%{version} jar javadoc publish-local
%install
%mvn_install -J build/reports/api
%mvn_install -J build/doc/reports/api
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ant.d
echo "apache-ivy/ivy" > $RPM_BUILD_ROOT%{_sysconfdir}/ant.d/%{name}
%files -f .mfiles
%{_sysconfdir}/ant.d/%{name}
%doc README.adoc
%doc README
%license LICENSE NOTICE
%files javadoc -f .mfiles-javadoc
%license LICENSE NOTICE
%changelog
* Tue Nov 05 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.5.0~rc1-2
- Mass rebuild for javapackages-tools 201902
* Tue Aug 20 2019 Marian Koncek <mkoncek@redhat.com> - 2.5.0~rc1-1
- Update to upstream version 2.5.0~rc1
* Fri May 24 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.4.0-15
- Mass rebuild for javapackages-tools 201901
* Tue Jul 17 2018 Mikolaj Izdebski <mizdebsk@redhat.com> - 2.4.0-14
- Allow building without vfs support