summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--0001-t0107-support-older-and-or-non-GNU-tar.patch73
-rw-r--r--cgit.spec7
2 files changed, 80 insertions, 0 deletions
diff --git a/0001-t0107-support-older-and-or-non-GNU-tar.patch b/0001-t0107-support-older-and-or-non-GNU-tar.patch
new file mode 100644
index 0000000..d6f8053
--- /dev/null
+++ b/0001-t0107-support-older-and-or-non-GNU-tar.patch
@@ -0,0 +1,73 @@
+From 5ced6015ebf6251113cece5281cb091933aa0efc Mon Sep 17 00:00:00 2001
+From: Todd Zullinger <tmz@pobox.com>
+Date: Sat, 8 Aug 2020 01:26:55 -0400
+Subject: [PATCH] t0107: support older and/or non-GNU tar
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The untar tests for various compression algorithms use shortcut options
+from GNU tar to handle decompression. These options may not be provided
+by non-GNU tar nor even by slightly older GNU tar versions which ship on
+many systems.
+
+An example of the latter case is the --zstd option. This was added in
+GNU tar-1.32 (2019-02-23)¹. This version of tar is not provided by
+CentOS/RHEL, in particular. In Debian, --zstd has been backported to
+the tar-1.30 release.
+
+Avoid the requirement on any specific implementations or versions of tar
+by piping decompressed output to tar. This is compatible with older GNU
+tar releases as well as tar implementations from other vendors. (It may
+also be a slight benefit that this more closely matches what the
+snapshot creation code does.)
+
+¹ Technically, the --zstd option was first released in tar-1.31
+ (2019-01-02), but this release was very short-lived and is no longer
+ listed on the GNU Tar release page.
+
+Signed-off-by: Todd Zullinger <tmz@pobox.com>
+---
+ tests/t0107-snapshot.sh | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tests/t0107-snapshot.sh b/tests/t0107-snapshot.sh
+index c164d3e..8ea95ce 100755
+--- a/tests/t0107-snapshot.sh
++++ b/tests/t0107-snapshot.sh
+@@ -25,7 +25,7 @@ test_expect_success 'verify gzip format' '
+
+ test_expect_success 'untar' '
+ rm -rf master &&
+- tar -xzf master.tar.gz
++ gzip -dc master.tar.gz | tar -xf -
+ '
+
+ test_expect_success 'count files' '
+@@ -67,7 +67,7 @@ test_expect_success LZIP 'verify lzip format' '
+
+ test_expect_success LZIP 'untar' '
+ rm -rf master &&
+- tar --lzip -xf master.tar.lz
++ lzip -dc master.tar.lz | tar -xf -
+ '
+
+ test_expect_success LZIP 'count files' '
+@@ -109,7 +109,7 @@ test_expect_success XZ 'verify xz format' '
+
+ test_expect_success XZ 'untar' '
+ rm -rf master &&
+- tar --xz -xf master.tar.xz
++ xz -dc master.tar.xz | tar -xf -
+ '
+
+ test_expect_success XZ 'count files' '
+@@ -151,7 +151,7 @@ test_expect_success ZSTD 'verify zstd format' '
+
+ test_expect_success ZSTD 'untar' '
+ rm -rf master &&
+- tar --zstd -xf master.tar.zst
++ zstd -dc master.tar.zst | tar -xf -
+ '
+
+ test_expect_success ZSTD 'count files' '
diff --git a/cgit.spec b/cgit.spec
index 20bca16..4f84548 100644
--- a/cgit.spec
+++ b/cgit.spec
@@ -71,6 +71,10 @@ Source93: https://www.kernel.org/pub/software/scm/git/git-%{gitver}.tar.s
# All supported releases use highlight version 3.
Patch0: cgit-0.9.1-highlightv3.patch
+# Improve test suite's support for older tar versions
+# https://lists.zx2c4.com/pipermail/cgit/2020-August/004513.html
+Patch1: 0001-t0107-support-older-and-or-non-GNU-tar.patch
+
# Security guys might try to repoquery for this.
Provides: bundled(git) = %gitver
@@ -227,6 +231,9 @@ make test
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
+* Sat Aug 08 2020 Todd Zullinger <tmz@pobox.com>
+- improve test suite's use of zstd to decode a tar file
+
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.2.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild