Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mv0Cb-0004MX-7y for pgsql-committers@arkaria.postgresql.org; Wed, 08 Dec 2021 16:53:57 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mv0CZ-0004Ja-JU for pgsql-committers@arkaria.postgresql.org; Wed, 08 Dec 2021 16:53:55 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mv0CZ-0004JQ-CC for pgsql-committers@lists.postgresql.org; Wed, 08 Dec 2021 16:53:55 +0000 Received: from relay2-d.mail.gandi.net ([217.70.183.194]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mv0CW-0001NM-2u for pgsql-committers@lists.postgresql.org; Wed, 08 Dec 2021 16:53:54 +0000 Received: (Authenticated sender: adsend@dunslane.net) by relay2-d.mail.gandi.net (Postfix) with ESMTPSA id DAB564000B; Wed, 8 Dec 2021 16:53:49 +0000 (UTC) Message-ID: Date: Wed, 8 Dec 2021 11:53:47 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.0 Subject: Re: pgsql: Check that we have a working tar before trying to use it Content-Language: en-US To: Tom Lane Cc: pgsql-committers@lists.postgresql.org References: <3655283.1638977975@sss.pgh.pa.us> <2e118a11-6936-21ec-6782-e9dbb20972c2@dunslane.net> <3657697.1638980149@sss.pgh.pa.us> From: Andrew Dunstan In-Reply-To: <3657697.1638980149@sss.pgh.pa.us> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 12/8/21 11:15, Tom Lane wrote: > Andrew Dunstan writes: >> On 12/8/21 10:39, Tom Lane wrote: >>> ISTM that effectively restricts the test to only running >>> on machines with GNU tar, which basically removes all the >>> interest of it. We know what GNU tar does ... it's the >>> weird legacy tar versions that might teach us something. >>> See 57b5a9646 for a recent example of the sort of bug >>> this test can no longer find. >> I tested on a freebsd system before I did this for that reason. It's not >> using GNU tar: >> user@freebsd:~ $ tar --version >> bsdtar 3.5.1 - libarchive 3.5.1 zlib/1.2.11 liblzma/5.2.5 bz2lib/1.0.8 > Right, but on AIX: > > tgl@gcc119:[/home/tgl]tar --version > tar: Not a recognized flag: - > Usage: tar -{c|r|t|u|x} [ -BdDEFhilmopRUsvwZ ] [ -Number ] [ -f TarFil e ] > [ -b Blocks ] [ -S [ Feet ] | [ Feet@Density ] | [ Blocksb ] ] > [ -L InputList ] [-X ExcludeFile] [ -N Blocks ] [ -C Directory ] File ... > Usage: tar {c|r|t|u|x} [ bBdDEfFhilLXmNopRsSUvwZ[0-9] ] ] > [ Blocks ] [ TarFile ] [ InputList ] [ ExcludeFile ] > [ [ Feet ] | [ Feet@Density ] | [ Blocksb ] ] [-C Directory ] File ... > tgl@gcc119:[/home/tgl]echo $? > 1 > >> Do you have an alternative test we could use? > I think you need to be straight up about it, say > > touch foo; tar cf foo.tar foo > > (At least on the Unix machines I tried, it works to use /dev/null > as the output file, saving one cleanup step. But I don't know > if that'll work on Windows.) > > Fair enough. Actually, I think it makes more sense to simply revert this. bowerbird, like all buildfarm animals, has a working tar. It's just that this one is apparently seriously confused by using paths with a drive spec. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com