diff --git a/0001-Remove-Brotli-compressor.patch b/0001-Remove-Brotli-compressor.patch new file mode 100644 index 0000000000000000000000000000000000000000..2cb97b92d0097301eefe8b7ca750d9cd46146163 --- /dev/null +++ b/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 db0d305..0f1394f 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; +@@ -579,10 +577,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/0002-Remove-ZSTD-compressor.patch b/0002-Remove-ZSTD-compressor.patch new file mode 100644 index 0000000000000000000000000000000000000000..e6dc71d2fc0dd519bc29b916f41ce85ed7c81f9e --- /dev/null +++ b/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 0f1394f..eee7c31 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; +@@ -509,10 +506,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."); + } + /** +@@ -588,10 +581,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)) { +@@ -707,7 +697,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/0003-Remove-Pack200-compressor.patch b/0003-Remove-Pack200-compressor.patch new file mode 100644 index 0000000000000000000000000000000000000000..5aa1b14d5ed57409c5046ba9fabccb6b8bb458fb --- /dev/null +++ b/0003-Remove-Pack200-compressor.patch @@ -0,0 +1,54 @@ +From 9937297a90b43a5e1238932eb8a07c44303056ed Mon Sep 17 00:00:00 2001 +From: Marian Koncek +Date: Fri, 6 Aug 2021 13:42:40 +0200 +Subject: [PATCH] Remove Pack200 compressor + +--- + .../compress/compressors/CompressorStreamFactory.java | 10 ++-------- + 1 file changed, 2 insertions(+), 8 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 eee7c31..de7da23 100644 +--- a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java ++++ b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java +@@ -45,8 +45,6 @@ import org.apache.commons.compress.compressors.lz4.FramedLZ4CompressorOutputStre + import org.apache.commons.compress.compressors.lzma.LZMACompressorInputStream; + import org.apache.commons.compress.compressors.lzma.LZMACompressorOutputStream; + import org.apache.commons.compress.compressors.lzma.LZMAUtils; +-import org.apache.commons.compress.compressors.pack200.Pack200CompressorInputStream; +-import org.apache.commons.compress.compressors.pack200.Pack200CompressorOutputStream; + import org.apache.commons.compress.compressors.snappy.FramedSnappyCompressorInputStream; + import org.apache.commons.compress.compressors.snappy.FramedSnappyCompressorOutputStream; + import org.apache.commons.compress.compressors.snappy.SnappyCompressorInputStream; +@@ -478,10 +476,6 @@ public class CompressorStreamFactory implements CompressorStreamProvider { + return GZIP; + } + +- if (Pack200CompressorInputStream.matches(signature, signatureLength)) { +- return PACK200; +- } +- + if (FramedSnappyCompressorInputStream.matches(signature, signatureLength)) { + return SNAPPY_FRAMED; + } +@@ -592,7 +586,7 @@ public class CompressorStreamFactory implements CompressorStreamProvider { + } + + if (PACK200.equalsIgnoreCase(name)) { +- return new Pack200CompressorInputStream(in); ++ throw new CompressorException("Pack200 compression is not available in this build."); + } + + if (SNAPPY_RAW.equalsIgnoreCase(name)) { +@@ -673,7 +667,7 @@ public class CompressorStreamFactory implements CompressorStreamProvider { + } + + if (PACK200.equalsIgnoreCase(name)) { +- return new Pack200CompressorOutputStream(out); ++ throw new CompressorException("Pack200 compression is not available in this build."); + } + + if (LZMA.equalsIgnoreCase(name)) { +-- +2.31.1 + diff --git a/apache-commons-compress.spec b/apache-commons-compress.spec new file mode 100644 index 0000000000000000000000000000000000000000..32a445063bbb7da6cfae2cbb6d41b3ea6c199ce6 --- /dev/null +++ b/apache-commons-compress.spec @@ -0,0 +1,96 @@ +%define anolis_release 1 +%bcond_without bootstrap + +Name: apache-commons-compress +Version: 1.21 +Release: %{anolis_release}%{?dist} +Summary: Java API for working with compressed files and archivers +License: ASL 2.0 +URL: https://commons.apache.org/proper/commons-compress/ +BuildArch: noarch +ExclusiveArch: %{java_arches} noarch + +Source0: https://archive.apache.org/dist/commons/compress/source/commons-compress-%{version}-src.tar.gz + +Patch0: 0001-Remove-Brotli-compressor.patch +Patch1: 0002-Remove-ZSTD-compressor.patch +Patch2: 0003-Remove-Pack200-compressor.patch + +%if %{with bootstrap} +BuildRequires: javapackages-bootstrap +%else +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.hamcrest:hamcrest) +BuildRequires: mvn(org.mockito:mockito-core) +BuildRequires: mvn(org.osgi:org.osgi.core) +BuildRequires: mvn(org.tukaani:xz) +%endif + +%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 commons-compress-%{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 + +# Remove support for pack200 which depends on ancient asm:asm:3.2 +%patch2 -p1 +%pom_remove_dep asm:asm +rm -r src/{main,test}/java/org/apache/commons/compress/harmony +rm -r src/main/java/org/apache/commons/compress/compressors/pack200 +rm src/main/java/org/apache/commons/compress/java/util/jar/Pack200.java +rm src/test/java/org/apache/commons/compress/compressors/Pack200TestCase.java +rm -r src/test/java/org/apache/commons/compress/compressors/pack200 +rm src/test/java/org/apache/commons/compress/java/util/jar/Pack200Test.java + +# 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 + +# Not packaged +%pom_remove_dep com.github.marschall:memoryfilesystem +rm src/test/java/org/apache/commons/compress/archivers/tar/TarMemoryFileSystemTest.java + +%build +%mvn_file : commons-compress %{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 27 2023 Chunmei Xu - 1.21-1 +- init from upstream diff --git a/commons-compress-1.21-src.tar.gz b/commons-compress-1.21-src.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..1f21f61a6e8a0fb823bf4ffb46bbb8d9bf55e18c Binary files /dev/null and b/commons-compress-1.21-src.tar.gz differ