summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTodd Zullinger <tmz@pobox.com>2020-08-08 01:36:09 -0400
committerTodd Zullinger <tmz@pobox.com>2020-08-08 01:36:09 -0400
commit4a586edc7e44dba9f0d4ff80acbc59f04096dd1d (patch)
tree7d52a81c8410f944c5b7fd214a57e294f3664f5f
parent9405618b6d73ff1ee494aa012130096d2c5912f0 (diff)
downloadcgit_EL6-4a586edc7e44dba9f0d4ff80acbc59f04096dd1d.tar.gz
improve test suite's use of zstd to decode a tar file
The tar --zstd option was added in GNU tar-1.32 (2019-02-23). Supported EPEL releases lack support for this option. 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.)
-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