commit 5c1e56bbf5805211389be0e9002cc417bf7d742b Author: James Antill Date: Mon Aug 8 12:30:33 2022 -0400 Import rpm: 31bcaec3a464df643c0f1f85e006a55225cf50f0 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dabe173 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/apache-ivy-2.4.0-src.tar.gz diff --git a/apache-ivy-global-settings.patch b/apache-ivy-global-settings.patch new file mode 100644 index 0000000..29cf61e --- /dev/null +++ b/apache-ivy-global-settings.patch @@ -0,0 +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 +@@ -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 (int i = 0; i < settingsLocations.length; i++) { + file = settingsLocations[i]; + task.log("searching settings file: trying " + file, Project.MSG_VERBOSE); diff --git a/apache-ivy.spec b/apache-ivy.spec new file mode 100644 index 0000000..d976bf9 --- /dev/null +++ b/apache-ivy.spec @@ -0,0 +1,253 @@ +%bcond_without ssh +%bcond_without vfs +%bcond_without bouncycastle + +Name: apache-ivy +Version: 2.4.0 +Release: 14%{?dist} +Summary: Java-based dependency manager + +License: ASL 2.0 +URL: http://ant.apache.org/ivy +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: ant +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 +reporting) project dependencies. It is designed as process agnostic and is +not tied to any methodology or structure. while available as a standalone +tool, Apache Ivy works particularly well with Apache Ant providing a number +of powerful Ant tasks ranging from dependency resolution to dependency +reporting and publication. + +%package javadoc +Summary: API Documentation for ivy + +%description javadoc +JavaDoc documentation for %{name} + +%prep +%setup -q +%patch0 +%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 +%endif + +%mvn_alias : jayasoft:ivy +%mvn_file : %{name}/ivy ivy + +# 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 doc build/doc + +# Publish artifacts through XMvn +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/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 +%license LICENSE NOTICE + +%files javadoc -f .mfiles-javadoc +%license LICENSE NOTICE + +%changelog +* Tue Jul 17 2018 Mikolaj Izdebski - 2.4.0-14 +- Allow building without vfs support + +* Thu Jul 12 2018 Fedora Release Engineering - 2.4.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Mar 28 2018 Michael Simacek - 2.4.0-12 +- Remove now unneeded patch + +* Fri Mar 16 2018 Michael Simacek - 2.4.0-11 +- Fix build against ant 1.10.2 + +* Wed Feb 07 2018 Fedora Release Engineering - 2.4.0-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 2.4.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Mar 1 2017 Mikolaj Izdebski - 2.4.0-8 +- Don't hardcode sysconfdir path + +* Tue Feb 14 2017 Michael Simacek - 2.4.0-7 +- Add conditional for bouncycastle + +* Mon Feb 06 2017 Michael Simacek - 2.4.0-6 +- Add conditional for ssh + +* Wed Feb 03 2016 Fedora Release Engineering - 2.4.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 2.4.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon May 04 2015 Michal Srb - 2.4.0-3 +- Update comment + +* Mon May 04 2015 Michal Srb - 2.4.0-2 +- Port to bouncycastle 1.52 + +* Wed Apr 1 2015 Mikolaj Izdebski - 2.4.0-1 +- Update to upstream version 2.4.0 + +* Fri Sep 19 2014 Mikolaj Izdebski - 2.3.0-17 +- Add compat symlink for ivy.jar + +* Mon Aug 11 2014 Mikolaj Izdebski - 2.3.0-16 +- Add alias for jayasoft:ivy + +* Thu Jun 26 2014 Michal Srb - 2.3.0-15 +- Drop workaround for broken apache-ivy + +* Thu Jun 26 2014 Michal Srb - 2.3.0-14 +- Fix /etc/ant.d/apache-ivy (Resolves: rhbz#1113275) + +* Mon Jun 23 2014 Michal Srb - 2.3.0-13 +- Add BR on missing parent POMs + +* Mon Jun 09 2014 Michal Srb - 2.3.0-12 +- Add missing BR: apache-commons-lang + +* Sat Jun 07 2014 Fedora Release Engineering - 2.3.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu May 29 2014 Mikolaj Izdebski - 2.3.0-10 +- Use features of XMvn 2.0.0 + +* Thu Jan 16 2014 Mikolaj Izdebski - 2.3.0-9 +- BuildRequire ivy-local >= 3.5.0-2 + +* Thu Jan 16 2014 Mikolaj Izdebski - 2.3.0-8 +- Build with ivy-local +- Add patch for global settings + +* Thu Jan 02 2014 Michal Srb - 2.3.0-7 +- Remove prebuilt documentation in %%prep +- Install NOTICE file with javadoc subpackage + +* Thu Jan 02 2014 Michal Srb - 2.3.0-6 +- Restore PGP signing ability +- Remove unneeded R + +* Thu Dec 12 2013 Mikolaj Izdebski - 2.3.0-5 +- Enable VFS resolver + +* Wed Dec 4 2013 Mikolaj Izdebski - 2.3.0-4 +- Install POM files, resolves: rhbz#1032258 +- Remove explicit requires; auto-requires are in effect now + +* Fri Nov 1 2013 Mikolaj Izdebski - 2.3.0-3 +- Add Maven depmap + +* Sat Aug 03 2013 Fedora Release Engineering - 2.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Mar 1 2013 Alexander Kurtakov 2.3.0-1 +- Update to latest upstream. + +* Wed Feb 13 2013 Fedora Release Engineering - 2.2.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Tue Jul 31 2012 Alexander Kurtakov 2.2.0-5 +- Fix osgi metadata. + +* Wed Jul 18 2012 Fedora Release Engineering - 2.2.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jan 12 2012 Fedora Release Engineering - 2.2.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Jul 6 2011 Alexander Kurtakov 2.2.0-2 +- Fix ant integration. + +* Fri Feb 25 2011 Alexander Kurtakov 2.2.0-1 +- Update to 2.2.0. + +* Mon Feb 07 2011 Fedora Release Engineering - 2.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Nov 09 2009 Lubomir Rintel - 2.1.0-1 +- Initial Fedora packaging diff --git a/dead.package.c9s b/dead.package.c9s new file mode 100644 index 0000000..89e7067 --- /dev/null +++ b/dead.package.c9s @@ -0,0 +1 @@ +apache-ivy package is retired for CS-621 \ No newline at end of file diff --git a/port-to-bc-1.52.patch b/port-to-bc-1.52.patch new file mode 100644 index 0000000..0bdddab --- /dev/null +++ b/port-to-bc-1.52.patch @@ -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 @@ + + + +- +- ++ ++ + + + +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();) { diff --git a/sources b/sources new file mode 100644 index 0000000..c884800 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA1 (apache-ivy-2.4.0-src.tar.gz) = 1efa73e73b5fc14ef003ff2fcb182f039db33ce2