Update to upstream version 1.28.0

This commit is contained in:
Mikolaj Izdebski 2025-10-10 15:46:12 +02:00
commit c4b47a9868
7 changed files with 93 additions and 69 deletions

1
.gitignore vendored
View file

@ -27,3 +27,4 @@
/commons-compress-1.21-src.tar.gz
/commons-compress-1.25.0-src.tar.gz
/commons-compress-1.27.1-src.tar.gz
/commons-compress-1.28.0-src.tar.gz

View file

@ -1,17 +1,18 @@
From baa34cad14cc87d9d9d882f5de7756dcfeb65d66 Mon Sep 17 00:00:00 2001
From 1bc6dadd753f5eb66401d8455bcfc108f1919f74 Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com>
Date: Mon, 12 Feb 2018 10:53:48 +0100
Subject: [PATCH 1/4] Remove Brotli compressor
Subject: [PATCH 1/3] Remove Brotli compressor
Forwarded: not-needed
---
.../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 376253cf2..b3e2d9d8b 100644
index 9287d99..9a65ba4 100644
--- a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
+++ b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
@@ -30,8 +30,6 @@
@@ -29,8 +29,6 @@ import java.util.Set;
import java.util.SortedMap;
import java.util.TreeMap;
@ -20,9 +21,9 @@ index 376253cf2..b3e2d9d8b 100644
import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
import org.apache.commons.compress.compressors.bzip2.BZip2CompressorOutputStream;
import org.apache.commons.compress.compressors.deflate.DeflateCompressorInputStream;
@@ -545,10 +543,7 @@ public CompressorInputStream createCompressorInputStream(final String name, fina
@@ -603,10 +601,7 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
return new BZip2CompressorInputStream(in, actualDecompressConcatenated);
}
if (BROTLI.equalsIgnoreCase(name)) {
- if (!BrotliUtils.isBrotliCompressionAvailable()) {
- throw new CompressorException("Brotli compression is not available." + YOU_NEED_BROTLI_DEC);
@ -30,8 +31,8 @@ index 376253cf2..b3e2d9d8b 100644
- return new BrotliCompressorInputStream(in);
+ throw new CompressorException("Brotli compression is not available in this build.");
}
if (XZ.equalsIgnoreCase(name)) {
if (!XZUtils.isXZCompressionAvailable()) {
--
2.50.1
2.51.0

View file

@ -1,17 +1,66 @@
From 7a6e9dd260086ef90e78e244543d2c010c0f8112 Mon Sep 17 00:00:00 2001
From 9a061729b0976ded5a739765fcdfc0c56bd0e46c Mon Sep 17 00:00:00 2001
From: Michael Simacek <msimacek@redhat.com>
Date: Mon, 12 Feb 2018 10:59:55 +0100
Subject: [PATCH 2/4] Remove ZSTD compressor
Subject: [PATCH 2/3] Remove ZSTD compressor
Forwarded: not-needed
---
.../compressors/CompressorStreamFactory.java | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)
.../archivers/zip/ZipArchiveInputStream.java | 3 +--
.../commons/compress/archivers/zip/ZipFile.java | 7 ++++---
.../compressors/CompressorStreamFactory.java | 13 ++-----------
3 files changed, 7 insertions(+), 16 deletions(-)
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java b/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java
index b6d0abc..81ddb57 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java
@@ -45,7 +45,6 @@ import org.apache.commons.compress.archivers.ArchiveEntry;
import org.apache.commons.compress.archivers.ArchiveInputStream;
import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
import org.apache.commons.compress.compressors.deflate64.Deflate64CompressorInputStream;
-import org.apache.commons.compress.compressors.zstandard.ZstdCompressorInputStream;
import org.apache.commons.compress.utils.ArchiveUtils;
import org.apache.commons.compress.utils.IOUtils;
import org.apache.commons.compress.utils.InputStreamStatistics;
@@ -522,7 +521,7 @@ public class ZipArchiveInputStream extends ArchiveInputStream<ZipArchiveEntry> i
* @since 1.28.0
*/
protected InputStream createZstdInputStream(final InputStream in) throws IOException {
- return new ZstdCompressorInputStream(in);
+ throw new IOException("Zstandard compression is not available in this build.");
}
/**
diff --git a/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java b/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java
index 264ac33..5535a57 100644
--- a/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java
+++ b/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java
@@ -55,7 +55,6 @@ import org.apache.commons.compress.archivers.EntryStreamOffsets;
import org.apache.commons.compress.compressors.bzip2.BZip2CompressorInputStream;
import org.apache.commons.compress.compressors.deflate64.Deflate64CompressorInputStream;
import org.apache.commons.compress.compressors.xz.XZCompressorInputStream;
-import org.apache.commons.compress.compressors.zstandard.ZstdCompressorInputStream;
import org.apache.commons.compress.utils.BoundedArchiveInputStream;
import org.apache.commons.compress.utils.BoundedSeekableByteChannelInputStream;
import org.apache.commons.compress.utils.IOUtils;
@@ -1083,8 +1082,10 @@ public class ZipFile implements Closeable {
*/
@SuppressWarnings("resource")
InputStream createZstdInputStream(final InputStream in) throws IOException {
- // This method is the only location that references ZstdCompressorInputStream directly to avoid requiring the JAR for all use cases.
- return zstdInputStreamFactory != null ? zstdInputStreamFactory.apply(in) : new ZstdCompressorInputStream(in);
+ if (zstdInputStreamFactory == null) {
+ throw new IOException("Zstandard compression is not available in this build.");
+ }
+ return zstdInputStreamFactory.apply(in);
}
private void fillNameMap() {
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 b3e2d9d8b..c8aaf18b7 100644
index 9a65ba4..a7432c4 100644
--- a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
+++ b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
@@ -53,9 +53,6 @@
@@ -52,9 +52,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;
@ -20,21 +69,20 @@ index b3e2d9d8b..c8aaf18b7 100644
-import org.apache.commons.compress.compressors.zstandard.ZstdUtils;
import org.apache.commons.compress.utils.IOUtils;
import org.apache.commons.compress.utils.Sets;
@@ -280,10 +277,6 @@ static String detect(final InputStream inputStream, final Set<String> compressor
import org.apache.commons.lang3.StringUtils;
@@ -266,9 +263,6 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
if (compressorNames.contains(LZ4_FRAMED) && FramedLZ4CompressorInputStream.matches(signature, signatureLength)) {
return LZ4_FRAMED;
}
- if (compressorNames.contains(ZSTANDARD) && ZstdUtils.matches(signature, signatureLength)) {
- return ZSTANDARD;
- }
-
throw new CompressorException("No Compressor found for the stream signature.");
}
@@ -554,10 +547,7 @@ public CompressorInputStream createCompressorInputStream(final String name, fina
@@ -616,10 +610,7 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
// @formatter:on
}
if (ZSTANDARD.equalsIgnoreCase(name)) {
- if (!ZstdUtils.isZstdCompressionAvailable()) {
- throw new CompressorException("Zstandard compression is not available." + YOU_NEED_ZSTD_JNI);
@ -42,17 +90,17 @@ index b3e2d9d8b..c8aaf18b7 100644
- return new ZstdCompressorInputStream(in);
+ throw new CompressorException("Zstandard compression is not available in this build.");
}
if (LZMA.equalsIgnoreCase(name)) {
@@ -665,7 +655,7 @@ public CompressorOutputStream<?> createCompressorOutputStream(final String name,
if (!LZMAUtils.isLZMACompressionAvailable()) {
@@ -707,7 +698,7 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
return new FramedLZ4CompressorOutputStream(out);
}
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);
throw new CompressorException("Could not create CompressorOutputStream.", e);
--
2.50.1
2.51.0

View file

@ -1,17 +1,18 @@
From f147fee1b965153d486cb8db90f6f8edf94fa206 Mon Sep 17 00:00:00 2001
From f5e9621355abba25bf18afb50c75045322617e78 Mon Sep 17 00:00:00 2001
From: Marian Koncek <mkoncek@redhat.com>
Date: Mon, 11 Mar 2024 12:16:28 +0100
Subject: [PATCH 3/4] Remove Pack200 compressor
Subject: [PATCH 3/3] Remove Pack200 compressor
Forwarded: not-needed
---
.../compress/compressors/CompressorStreamFactory.java | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)
.../compress/compressors/CompressorStreamFactory.java | 9 ++-------
1 file changed, 2 insertions(+), 7 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 c8aaf18b7..66e67ff3a 100644
index a7432c4..3d405e7 100644
--- a/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
+++ b/src/main/java/org/apache/commons/compress/compressors/CompressorStreamFactory.java
@@ -44,8 +44,6 @@
@@ -43,8 +43,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;
@ -20,35 +21,34 @@ index c8aaf18b7..66e67ff3a 100644
import org.apache.commons.compress.compressors.snappy.FramedSnappyCompressorInputStream;
import org.apache.commons.compress.compressors.snappy.FramedSnappyCompressorOutputStream;
import org.apache.commons.compress.compressors.snappy.SnappyCompressorInputStream;
@@ -249,10 +247,6 @@ static String detect(final InputStream inputStream, final Set<String> compressor
@@ -242,9 +240,6 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
if (compressorNames.contains(GZIP) && GzipCompressorInputStream.matches(signature, signatureLength)) {
return GZIP;
}
- if (compressorNames.contains(PACK200) && Pack200CompressorInputStream.matches(signature, signatureLength)) {
- return PACK200;
- }
-
if (compressorNames.contains(SNAPPY_FRAMED) && FramedSnappyCompressorInputStream.matches(signature, signatureLength)) {
return SNAPPY_FRAMED;
}
@@ -558,7 +552,7 @@ public CompressorInputStream createCompressorInputStream(final String name, fina
@@ -619,7 +614,7 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
return LZMACompressorInputStream.builder().setInputStream(in).setMemoryLimitKiB(memoryLimitInKb).get();
}
if (PACK200.equalsIgnoreCase(name)) {
- return new Pack200CompressorInputStream(in);
+ throw new CompressorException("Pack200 compression is not available in this build.");
}
if (SNAPPY_RAW.equalsIgnoreCase(name)) {
@@ -631,7 +625,7 @@ public CompressorOutputStream<?> createCompressorOutputStream(final String name,
return new SnappyCompressorInputStream(in);
@@ -680,7 +675,7 @@ public class CompressorStreamFactory implements CompressorStreamProvider {
return new XZCompressorOutputStream(out);
}
if (PACK200.equalsIgnoreCase(name)) {
- return new Pack200CompressorOutputStream(out);
+ throw new CompressorException("Pack200 compression is not available in this build.");
}
if (LZMA.equalsIgnoreCase(name)) {
return new LZMACompressorOutputStream(out);
--
2.50.1
2.51.0

View file

@ -1,25 +0,0 @@
From f6a421af6828f7e8226fa3e779436174bf9c07fe Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk@redhat.com>
Date: Wed, 16 Jul 2025 21:26:45 +0200
Subject: [PATCH 4/4] Replace unmappable character with oe
---
.../commons/compress/archivers/tar/TarArchiveOutputStream.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.java b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.java
index 4f3588d9b..18dea2845 100644
--- a/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.java
+++ b/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveOutputStream.java
@@ -276,7 +276,7 @@ private void addPaxHeadersForBigNumbers(final Map<String, String> paxHeaders, fi
addPaxHeaderForBigNumber(paxHeaders, "uid", entry.getLongUserId(), TarConstants.MAXID);
// libarchive extensions
addFileTimePaxHeader(paxHeaders, "LIBARCHIVE.creationtime", entry.getCreationTime());
- // star extensions by Jörg Schilling
+ // star extensions by Joerg Schilling
addPaxHeaderForBigNumber(paxHeaders, "SCHILY.devmajor", entry.getDevMajor(), TarConstants.MAXID);
addPaxHeaderForBigNumber(paxHeaders, "SCHILY.devminor", entry.getDevMinor(), TarConstants.MAXID);
// there is no PAX header for file mode
--
2.50.1

View file

@ -1,7 +1,7 @@
%bcond_with bootstrap
Name: apache-commons-compress
Version: 1.27.1
Version: 1.28.0
Release: %autorelease
Summary: Java API for working with compressed files and archivers
License: Apache-2.0
@ -14,7 +14,6 @@ Source0: https://archive.apache.org/dist/commons/compress/source/commons-
Patch: 0001-Remove-Brotli-compressor.patch
Patch: 0002-Remove-ZSTD-compressor.patch
Patch: 0003-Remove-Pack200-compressor.patch
Patch: 0004-Replace-unmappable-character-with-oe.patch
%if %{with bootstrap}
BuildRequires: javapackages-bootstrap

View file

@ -1 +1 @@
SHA512 (commons-compress-1.27.1-src.tar.gz) = c7a2cef26959e687ad19b96b5ba8393d7514095e13bf0f29bd41e6b3c3cb2260d8ff23283ff3d5fd137b2522b843e7f0f50ab46bcf0f66df5383674f35f223ab
SHA512 (commons-compress-1.28.0-src.tar.gz) = cd37f7d554dff9f1cf9c90e93a30b7b15ace002d69d317a63d575fd623b4e64dbd55fbf2876ecd5333cf96858a37458f55762e5505311a7a8063d0cc8cdc4120