diff --git a/.apache-commons-compress.metadata b/.apache-commons-compress.metadata new file mode 100644 index 0000000..aaff8b1 --- /dev/null +++ b/.apache-commons-compress.metadata @@ -0,0 +1 @@ +9216b24e69c391983dab2af1496b97e449208422 SOURCES/commons-compress-1.20-src.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..58cd9f3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/commons-compress-1.20-src.tar.gz diff --git a/SOURCES/0001-Remove-Brotli-compressor.patch b/SOURCES/0001-Remove-Brotli-compressor.patch new file mode 100644 index 0000000..cb3ba5b --- /dev/null +++ b/SOURCES/0001-Remove-Brotli-compressor.patch @@ -0,0 +1,37 @@ +From d42b16c3334229cc400c6713f3bd11c8df2f70cc Mon Sep 17 00:00:00 2001 +From: Michael Simacek +Date: Mon, 12 Feb 2018 10:53:48 +0100 +Subject: [PATCH 1/3] Remove Brotli compressor + +--- + .../compress/compressors/CompressorStreamFactory.java | 7 +------ + 1 file changed, 1 insertion(+), 6 deletions(-) + +diff --git a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java +index d730b9d..ab178a9 100644 +--- a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java ++++ b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java +@@ -31,8 +31,6 @@ import java.util.Set; + import java.util.SortedMap; + import java.util.TreeMap; + +-import org.apache.commons.compress.compressors.brotli.BrotliCompressorInputStream; +-import org.apache.commons.compress.compressors.brotli.BrotliUtils; + import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream; + import org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream; + import org.apache.commons.compress.compressors.deflate.DeflateCompressorInputStream; +@@ -586,10 +584,7 @@ public class CompressorStreamFactory implements CompressorStreamProvider { + } + + if (BROTLI.equalsIgnoreCase(name)) { +- if (!BrotliUtils.isBrotliCompressionAvailable()) { +- throw new CompressorException("Brotli compression is not available." + YOU_NEED_BROTLI_DEC); +- } +- return new BrotliCompressorInputStream(in); ++ throw new CompressorException("Brotli compression is not available in this build."); + } + + if (XZ.equalsIgnoreCase(name)) { +-- +2.20.1 + diff --git a/SOURCES/0002-Remove-ZSTD-compressor.patch b/SOURCES/0002-Remove-ZSTD-compressor.patch new file mode 100644 index 0000000..de8a529 --- /dev/null +++ b/SOURCES/0002-Remove-ZSTD-compressor.patch @@ -0,0 +1,58 @@ +From 575df9b9a3519186ac801a10eb632e0e2b4ddbdd Mon Sep 17 00:00:00 2001 +From: Michael Simacek +Date: Mon, 12 Feb 2018 10:59:55 +0100 +Subject: [PATCH 2/3] Remove ZSTD compressor + +--- + .../compressors/CompressorStreamFactory.java | 14 ++------------ + 1 file changed, 2 insertions(+), 12 deletions(-) + +diff --git a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java +index ab178a9..3817704 100644 +--- a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java ++++ b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java +@@ -54,9 +54,6 @@ import org.apache.commons.compress.compressors.xz.XZCompressorInputStream; + import org.apache.commons.compress.compressors.xz.XZCompressorOutputStream; + import org.apache.commons.compress.compressors.xz.XZUtils; + import org.apache.commons.compress.compressors.z.ZCompressorInputStream; +-import org.apache.commons.compress.compressors.zstandard.ZstdCompressorInputStream; +-import org.apache.commons.compress.compressors.zstandard.ZstdCompressorOutputStream; +-import org.apache.commons.compress.compressors.zstandard.ZstdUtils; + import org.apache.commons.compress.utils.IOUtils; + import org.apache.commons.compress.utils.Lists; + import org.apache.commons.compress.utils.ServiceLoaderIterator; +@@ -516,10 +513,6 @@ public class CompressorStreamFactory implements CompressorStreamProvider { + return LZ4_FRAMED; + } + +- if (ZstdUtils.matches(signature, signatureLength)) { +- return ZSTANDARD; +- } +- + throw new CompressorException("No Compressor found for the stream signature."); + } + /** +@@ -595,10 +588,7 @@ public class CompressorStreamFactory implements CompressorStreamProvider { + } + + if (ZSTANDARD.equalsIgnoreCase(name)) { +- if (!ZstdUtils.isZstdCompressionAvailable()) { +- throw new CompressorException("Zstandard compression is not available." + YOU_NEED_ZSTD_JNI); +- } +- return new ZstdCompressorInputStream(in); ++ throw new CompressorException("Zstandard compression is not available in this build."); + } + + if (LZMA.equalsIgnoreCase(name)) { +@@ -714,7 +704,7 @@ public class CompressorStreamFactory implements CompressorStreamProvider { + } + + if (ZSTANDARD.equalsIgnoreCase(name)) { +- return new ZstdCompressorOutputStream(out); ++ throw new CompressorException("Zstandard compression is not available in this build."); + } + } catch (final IOException e) { + throw new CompressorException("Could not create CompressorOutputStream", e); +-- +2.20.1 + diff --git a/SOURCES/0003-Avoid-use-of-internal-Mockito-API.patch b/SOURCES/0003-Avoid-use-of-internal-Mockito-API.patch new file mode 100644 index 0000000..a63e95f --- /dev/null +++ b/SOURCES/0003-Avoid-use-of-internal-Mockito-API.patch @@ -0,0 +1,32 @@ +From 4dd332d8f82d3a5f0ac6654d2c1733e44da6ddbd Mon Sep 17 00:00:00 2001 +From: Mat Booth +Date: Thu, 7 Feb 2019 14:57:25 +0000 +Subject: [PATCH 3/3] Avoid use of internal Mockito API + +--- + .../compress/utils/FixedLengthBlockOutputStreamTest.java | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/src/test/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStreamTest.java b/src/test/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStreamTest.java +index cfda61b..e94ccee 100644 +--- a/src/test/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStreamTest.java ++++ b/src/test/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStreamTest.java +@@ -39,7 +39,6 @@ import java.nio.file.Path; + import java.util.concurrent.atomic.AtomicBoolean; + import org.hamcrest.core.IsInstanceOf; + import org.junit.Test; +-import org.mockito.internal.matchers.GreaterOrEqual; + + public class FixedLengthBlockOutputStreamTest { + +@@ -294,7 +293,6 @@ public class FixedLengthBlockOutputStreamTest { + + private static void assertContainsAtOffset(String msg, byte[] expected, int offset, + byte[] actual) { +- assertThat(actual.length, new GreaterOrEqual<>(offset + expected.length)); + for (int i = 0; i < expected.length; i++) { + assertEquals(String.format("%s ([%d])", msg, i), expected[i], actual[i + offset]); + } +-- +2.20.1 + diff --git a/SPECS/apache-commons-compress.spec b/SPECS/apache-commons-compress.spec new file mode 100644 index 0000000..5c6b52c --- /dev/null +++ b/SPECS/apache-commons-compress.spec @@ -0,0 +1,259 @@ +%global base_name compress +%global short_name commons-%{base_name} + +Name: apache-%{short_name} +Version: 1.20 +Release: 1%{?dist} +Summary: Java API for working with compressed files and archivers +License: ASL 2.0 +URL: http://commons.apache.org/proper/commons-compress/ +BuildArch: noarch + +Source0: http://archive.apache.org/dist/commons/compress/source/%{short_name}-%{version}-src.tar.gz + +Patch0: 0001-Remove-Brotli-compressor.patch +Patch1: 0002-Remove-ZSTD-compressor.patch +Patch2: 0003-Avoid-use-of-internal-Mockito-API.patch + +BuildRequires: maven-local +BuildRequires: mvn(junit:junit) +BuildRequires: mvn(org.apache.commons:commons-parent:pom:) +BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) +BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin) +BuildRequires: mvn(org.mockito:mockito-core) +BuildRequires: mvn(org.osgi:osgi.core) +BuildRequires: mvn(org.tukaani:xz) + +%description +The Apache Commons Compress library defines an API for working with +ar, cpio, Unix dump, tar, zip, gzip, XZ, Pack200 and bzip2 files. +In version 1.14 read-only support for Brotli decompression has been added, +but it has been removed form this package. + +%package javadoc +Summary: API documentation for %{name} + +%description javadoc +This package provides %{summary}. + +%prep +%setup -q -n %{short_name}-%{version}-src + +# Unavailable Google Brotli library (org.brotli.dec) +%patch0 -p1 +%pom_remove_dep org.brotli:dec +rm -r src/{main,test}/java/org/apache/commons/compress/compressors/brotli + +# Unavailable ZSTD JNI library +%patch1 -p1 +%pom_remove_dep :zstd-jni +rm -r src/{main,test}/java/org/apache/commons/compress/compressors/zstandard +rm src/test/java/org/apache/commons/compress/compressors/DetectCompressorTestCase.java + +# Avoid using internal Mockito APIs +%patch2 -p1 + +# remove osgi tests, we don't have deps for them +%pom_remove_dep org.ops4j.pax.exam:::test +%pom_remove_dep :org.apache.felix.framework::test +%pom_remove_dep :javax.inject::test +%pom_remove_dep :slf4j-api::test +rm src/test/java/org/apache/commons/compress/OsgiITest.java + +# use osgi-core instead of felix-osgi-core +%pom_change_dep :org.osgi.core org.osgi:osgi.core + +# Remove test that requires powermock +%pom_remove_dep org.powermock: +%pom_add_dep org.mockito:mockito-core::test +rm src/test/java/org/apache/commons/compress/compressors/z/ZCompressorInputStreamTest.java + +%build +%mvn_file : %{short_name} %{name} +%mvn_alias : commons: +%mvn_build -- -Dcommons.osgi.symbolicName=org.apache.commons.compress + +%install +%mvn_install + +%files -f .mfiles +%doc LICENSE.txt NOTICE.txt + +%files javadoc -f .mfiles-javadoc +%doc LICENSE.txt NOTICE.txt + +%changelog +* Mon Mar 02 2020 Fabio Valentini - 1.20-1 +- Update to version 1.20. + +* Tue Jan 28 2020 Fedora Release Engineering - 1.19-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Oct 04 2019 Fabio Valentini - 1.19-1 +- Update to version 1.19. + +* Wed Sep 18 2019 Fabio Valentini - 1.18-7 +- Migrate from the obsolete felix-osgi-core to osgi-core. + +* Wed Aug 14 2019 Fabio Valentini - 1.18-6 +- Remove build-dependency on powermock + +* Wed Jul 24 2019 Fedora Release Engineering - 1.18-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Feb 14 2019 Mat Booth - 1.18-4 +- Rebuild to regenerate OSGi metadata + +* Thu Feb 07 2019 Mat Booth - 1.18-3 +- Fix test suite build against Mockito 2.x + +* Thu Jan 31 2019 Fedora Release Engineering - 1.18-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Oct 05 2018 Marian Koncek - 1.18-1 +- Update to upstream version 1.18 +- CVE-2018-11771 + +* Thu Jul 12 2018 Fedora Release Engineering - 1.17-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 05 2018 Michael Simacek - 1.17-1 +- Update to upstream version 1.17 + +* Mon Feb 12 2018 Michael Simacek - 1.16.1-1 +- Update to upstream version 1.16.1 + +* Wed Feb 07 2018 Fedora Release Engineering - 1.15-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sun Oct 22 2017 Michael Simacek - 1.15-1 +- Update to upstream version 1.15 + +* Wed Jul 26 2017 Fedora Release Engineering - 1.14-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Jun 14 2017 Roman Vais - 1.14-1 +- Update to upstream version 1.14 +- Remove Brotli support, it is not packaged for fedora + +* Fri Feb 10 2017 Fedora Release Engineering - 1.13-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Jan 02 2017 Michael Simacek - 1.13-1 +- Update to upstream version 1.13 + +* Wed Jun 22 2016 Michael Simacek - 1.12-1 +- Update to upstream version 1.12 + +* Mon May 02 2016 Michael Simacek - 1.11-1 +- Update to upstream version 1.11 + +* Wed Feb 03 2016 Fedora Release Engineering - 1.10-0.3.svn1684406 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 1.10-0.2.svn1684406 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Jun 9 2015 Mikolaj Izdebski - 1.10-0.1.svn1684406 +- Update to latest upstream snapshot + +* Tue Oct 14 2014 Mikolaj Izdebski - 1.9-2 +- Remove legacy Obsoletes/Provides for jakarta-commons + +* Mon Oct 13 2014 Mikolaj Izdebski - 1.9-1 +- Update to upstream version 1.9 + +* Wed Jul 30 2014 Mikolaj Izdebski - 1.8.1-3 +- Fix build-requires on apache-commons-parent + +* Sat Jun 07 2014 Fedora Release Engineering - 1.8.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Fri May 23 2014 Mikolaj Izdebski - 1.8.1-1 +- Update to upstream version 1.8.1 + +* Mon Mar 17 2014 Mikolaj Izdebski - 1.8-2 +- Remove dependency on maven-scm-publish-plugin + +* Fri Mar 14 2014 Mikolaj Izdebski - 1.8-1 +- Update to upstream version 1.8 + +* Tue Mar 04 2014 Stanislav Ochotnicky - 1.7-2 +- Use Requires: java-headless rebuild (#1067528) + +* Mon Jan 20 2014 Mikolaj Izdebski - 1.7-1 +- Update to upstream version 1.7 + +* Tue Oct 29 2013 Mikolaj Izdebski - 1.6-1 +- Update to upstream version 1.6 + +* Sat Aug 03 2013 Fedora Release Engineering - 1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Mar 14 2013 Mikolaj Izdebski - 1.5-1 +- Update to upstream version 1.5 + +* Wed Feb 13 2013 Fedora Release Engineering - 1.4.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Feb 06 2013 Java SIG - 1.4.1-5 +- Update for https://fedoraproject.org/wiki/Fedora_19_Maven_Rebuild +- Replace maven BuildRequires with maven-local + +* Wed Jan 9 2013 Mikolaj Izdebski - 1.4.1-4 +- Bump release tag + +* Tue Jan 8 2013 Mikolaj Izdebski - 1.4.1-3 +- Build with xmvn +- Update to current packaging guidelines + +* Wed Jul 18 2012 Fedora Release Engineering - 1.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu May 24 2012 Sandro Mathys - 1.4.1-1 +- Updated to 1.4.1 +- Fixes CVE-2012-2098 Low: Denial of Service + +* Fri Apr 27 2012 Sandro Mathys - 1.4-1 +- Updated to 1.4 + +* Thu Jan 12 2012 Fedora Release Engineering - 1.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Nov 01 2011 Sandro Mathys - 1.3-1 +- Updated to 1.3 + +* Thu Aug 04 2011 Sandro Mathys - 1.2-2 +- Fixing mistake where different versions of the spec file got mixed up + +* Thu Aug 04 2011 Sandro Mathys - 1.2-1 +- Updated to 1.2 + +* Sat Apr 16 2011 Chris Spike 1.1-1 +- Updated to 1.1 +- Adapted to current java packaging guidelines + +* Mon Feb 07 2011 Fedora Release Engineering - 1.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Sun Jul 11 2010 Sandro Mathys - 1.0-8 +- Fixed the Maven depmap line by replacing org.apache.maven by org.apache.commons + +* Mon May 31 2010 Sandro Mathys - 1.0-7 +- Fixed regression with missing Provides/Obsoletes for javadocs +- Fixed changelog format + +* Sun May 23 2010 Sandro Mathys - 1.0-6 +- Fixed Maven depmap to use commons-compress + +* Thu May 13 2010 Sandro Mathys - 1.0-5 +- Added missing Provides/Obsoletes for javadocs + +* Mon May 10 2010 Sandro Mathys - 1.0-4 +- Cleared some problems after the review + +* Thu May 06 2010 Sandro Mathys - 1.0-3 +- Now using maven2 (mvn-jpp) instead of directly calling javac & co + +* Tue May 04 2010 Sandro Mathys - 1.0-2 +- Renamed from jakarta-commons-compress