From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 13657 invoked from network); 8 Aug 2020 19:42:12 -0000 Received: from krantz.zx2c4.com (192.95.5.69) by inbox.vuxu.org with ESMTPUTF8; 8 Aug 2020 19:42:12 -0000 Received: by krantz.zx2c4.com (ZX2C4 Mail Server) with ESMTP id 1cace124; Sat, 8 Aug 2020 19:17:15 +0000 (UTC) Return-Path: Received: from pb-smtp20.pobox.com (pb-smtp20.pobox.com [173.228.157.52]) by krantz.zx2c4.com (ZX2C4 Mail Server) with ESMTPS id 945b45cf (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO) for ; Sat, 8 Aug 2020 19:17:11 +0000 (UTC) Received: from pb-smtp20.pobox.com (unknown [127.0.0.1]) by pb-smtp20.pobox.com (Postfix) with ESMTP id 0F725D9B1C; Sat, 8 Aug 2020 15:42:05 -0400 (EDT) (envelope-from tmz@pobox.com) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:date:message-id:mime-version:content-type :content-transfer-encoding; s=sasl; bh=xg9N0inTSJcZn7O2HSds5wVua H8=; b=WAE8qlCzVAJW22uthuzfjxNc7nAJ1COY89MFx5O99KSzWz7/XJntCz6cM zUEA/eY8wvQ7bwiUUtTkrjJQFBw6jF4tg48uBp/aFzaJbBLUD89Ft76GX/ubXAYL STSyhJHehi5lS9p0MTD6lfBFV5JBDArj9Mw2mOxh5Ck6eFRj/M= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:date:message-id:mime-version:content-type :content-transfer-encoding; q=dns; s=sasl; b=KiSnt7eFe5tR4S20m9/ YC9/A+BD4J6Wg2HU9oP6S4pMMGnHw02DEl0sOovNgTQcyi22wA2Yhid3scYxwyOk BzEhUMEeRR9ldwjgn4Qw3LWt2PPP1Kft9fbiNlthgnRolJXMTcxyHhb3sEURRpjw sUQplw5OsLf2QViXannBX/3k= Received: from pb-smtp20.sea.icgroup.com (unknown [127.0.0.1]) by pb-smtp20.pobox.com (Postfix) with ESMTP id 08881D9B1B; Sat, 8 Aug 2020 15:42:05 -0400 (EDT) (envelope-from tmz@pobox.com) Received: from morphine.paradise.teonanacatl.net (unknown [47.202.84.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by pb-smtp20.pobox.com (Postfix) with ESMTPSA id A24BCD9B18; Sat, 8 Aug 2020 15:42:01 -0400 (EDT) (envelope-from tmz@pobox.com) From: Todd Zullinger To: cgit@lists.zx2c4.com Cc: Christian Hesse , Hanspeter Portner Subject: [RFC/PATCH] t0107: support older tar in zstd untar test Date: Sat, 8 Aug 2020 15:41:58 -0400 Message-Id: <20200808194158.1257195-1-tmz@pobox.com> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Pobox-Relay-ID: 3AEFD648-D9AF-11EA-A2BC-F0EA2EB3C613-09356542!pb-smtp20.pobox.com Content-Transfer-Encoding: quoted-printable X-BeenThere: cgit@lists.zx2c4.com X-Mailman-Version: 2.1.30rc1 Precedence: list List-Id: List for cgit developers and users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: cgit-bounces@lists.zx2c4.com Sender: "CGit" The tar --zstd option was added in GNU tar-1.32 (2019-02-23)=C2=B9. Avoi= d the requirement on a (relatively) recent version of tar by piping the output of `zstd -dcf` to tar. As a real-world example, I ran into this test failure while building for CentOS/RHEL 8, which ships with tar-1.30. It may also be a slight benefit that this more closely matches what the snapshot creation code does, so arguably we could adjust the other tests to match. Alternately, we could add PREREQ's for the version of tar which adds the corresponding compression algorithm shortcut=C2=B2, but that seems like a= bit of work for very little gain. And it differs (if only ever so slightly) from the pipe method we use to create the tar archives being tested. =C2=B9 Technically, it was first released in tar-1.31 (2019-01-02), but t= his release was very short-lived and is no longer listed on the GNU Tar release page. =C2=B2 The compression shortcuts for the 3 algorithms we have behind PRER= EQ's are --xz, --lzip, and --zstd. For reference, these were added to GNU Tar as follows: c10830a (Add xz support., 2009-03-04), tar-1.22 (2009-03-05) bffe107 (Add Lzip support, 2010-03-02), tar-1.23 (2010-03-10) 3d45373 (Add support for zstd compression, 2018-03-18), tar-1.32 (2019-= 02-23) Signed-off-by: Todd Zullinger --- Hi all, As I mentioned in the commit message, I ran into this test failure when I tried building for CentOS/RHEL 8. While this solves that particular issue, it did raise a few questions which I thought were worth answering before applying this patch as-is. Does cgit intend require GNU tar? If not, perhaps we should instead justify this primarily for compatibility with a wider range of tar implementations in addition to supporting older versions of GNU tar? (I haven't looked at or tested on systems which use a non-GNU tar, so there are posibly other issues with our tar invocations apart from these compression shortcut options. Finding and fixing that can be a #lefoverbit for anyone more familiar with such a system(s).) I'd be happy to make such an adjustment to the other tests and commit message(s). I think this would all fit nicely in a single commit, but I can split it in one for each of the three current compression algorithms which use the --$algo shortcuts if that's preferred. If we wanted to convert all the tests to use a decompress pipe into tar, I could do that instead. The latter would likely be less to ensure support for different tar implemtations and more for consistency in the test suite. Whether that's worth the churn is debatable. :) Thanks, tests/t0107-snapshot.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/t0107-snapshot.sh b/tests/t0107-snapshot.sh index c164d3e..5b5d727 100755 --- a/tests/t0107-snapshot.sh +++ b/tests/t0107-snapshot.sh @@ -151,7 +151,7 @@ test_expect_success ZSTD 'verify zstd format' ' =20 test_expect_success ZSTD 'untar' ' rm -rf master && - tar --zstd -xf master.tar.zst + zstd -dcf master.tar.zst | tar -xf - ' =20 test_expect_success ZSTD 'count files' ' --=20 Todd