From unknown Sat Sep 13 21:03:14 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#9822 <9822@debbugs.gnu.org> To: bug#9822 <9822@debbugs.gnu.org> Subject: Status: AMTAR not used Reply-To: bug#9822 <9822@debbugs.gnu.org> Date: Sun, 14 Sep 2025 04:03:14 +0000 retitle 9822 AMTAR not used reassign 9822 automake submitter 9822 Akim Demaille severity 9822 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 21 08:09:24 2011 Received: (at submit) by debbugs.gnu.org; 21 Oct 2011 12:09:24 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RHDud-0002ln-6j for submit@debbugs.gnu.org; Fri, 21 Oct 2011 08:09:24 -0400 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RHDua-0002lb-N2 for submit@debbugs.gnu.org; Fri, 21 Oct 2011 08:09:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RHDtI-00075D-6b for submit@debbugs.gnu.org; Fri, 21 Oct 2011 08:08:01 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW,T_DKIM_INVALID autolearn=unavailable version=3.3.1 Received: from lists.gnu.org ([140.186.70.17]:51384) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RHDtH-000759-Ux for submit@debbugs.gnu.org; Fri, 21 Oct 2011 08:08:00 -0400 Received: from eggs.gnu.org ([140.186.70.92]:34182) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RHDtG-0004dc-Qi for bug-automake@gnu.org; Fri, 21 Oct 2011 08:07:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RHDtE-00074n-VW for bug-automake@gnu.org; Fri, 21 Oct 2011 08:07:58 -0400 Received: from mail-ww0-f49.google.com ([74.125.82.49]:54956) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RHDtE-00074i-Nk for bug-automake@gnu.org; Fri, 21 Oct 2011 08:07:56 -0400 Received: by wwf27 with SMTP id 27so326223wwf.30 for ; Fri, 21 Oct 2011 05:07:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:content-type:content-transfer-encoding:subject:date:message-id :to:mime-version:x-mailer; bh=20IjcKOIluRiNe16PrQ6jpFzO5LTuG/cZCA1zmuOSB4=; b=Jbt3/LTuUTainF9bzNv4YOCOM1byJkN4x5AIDZ2A3oB0DTtxscvptITEUtuIjdbC/w mrnuwjLLSyUWuXTnvavU6EMLMNtIu9sbfu9ffT8/ZDd9+qqunhrIGBywINbYahsRggyh KM2Ny/NQhJEKFyHtrEy0HhFA+cXt1YG0gJiiQ= Received: by 10.216.230.160 with SMTP id j32mr3467381weq.76.1319198875353; Fri, 21 Oct 2011 05:07:55 -0700 (PDT) Received: from boss.gostai.com ([213.144.210.105]) by mx.google.com with ESMTPS id a21sm21402976wbo.10.2011.10.21.05.07.54 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 21 Oct 2011 05:07:54 -0700 (PDT) From: Akim Demaille Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Subject: AMTAR not used Date: Fri, 21 Oct 2011 14:07:53 +0200 Message-Id: <2CECA6DE-281D-4CE7-BF82-804CFA6C5384@gmail.com> To: Automake Bugs Mime-Version: 1.0 (Apple Message framework v1084) X-Mailer: Apple Mail (2.1084) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.17 X-Spam-Score: -5.9 (-----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.9 (-----) Hi all, My apologies if this has already been discussed. =20 I too have been hit by the fact that Tar on OS X tries to preserve = special features of files in "hidden" files (a thread about this started = here: http://lists.gnu.org/archive/html/automake/2011-03/msg00127.html, = and seems to end here: = http://lists.gnu.org/archive/html/automake/2011-04/msg00001.html). There are several means to address this, one being defining a couple of = envvars before calling OS X's tar (as discussed above), the other being = using GNU Tar. Unfortunately 1.11.1 generates code like this: AMTAR =3D ${SHELL} /Users/akim/src/gostai/kernel-2.7/build-aux/missing = --run tar ... am__tar =3D tar --format=3Dustar -chf - "$$tardir" am__untar =3D tar -xf - (I cannot see AMTAR being used.) I would prefer to have something like TAR =3D tar AMTAR =3D ${SHELL} /Users/akim/[...]/build-aux/missing --run ${TAR} am__tar =3D $(AMTAR) --format=3Dustar -chf - "$$tardir" am__untar =3D $(AMTAR) -xf - so that I can "make dist TAR=3Dgnutar" and have magic happen. This = would also require that missing understands gnutar in addition to tar, = possibly qualified. Or missing could be extended to have one flag for = the "class" of the program (this is a "tar", a constant string), and = then --run which gives the command line starting with the genuine = command (/opt/local/bin/gnumake for my example). Alternatively, if AMTAR is not useful (as it seems in 1.11.1), then TAR =3D tar am__tar =3D $(TAR) --format=3Dustar -chf - "$$tardir" am__untar =3D $(TAR) -xf - would be fine! Cheers! PS/ Actually if AMTAR/TAR could also set the two troublesome envvars, = that would be wonderful :)= From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 01 06:16:43 2011 Received: (at submit) by debbugs.gnu.org; 1 Nov 2011 10:16:43 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RLBOd-00012E-7U for submit@debbugs.gnu.org; Tue, 01 Nov 2011 06:16:43 -0400 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RLBOb-000127-34 for submit@debbugs.gnu.org; Tue, 01 Nov 2011 06:16:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RLBMI-0002ak-6N for submit@debbugs.gnu.org; Tue, 01 Nov 2011 06:14:24 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW,T_DKIM_INVALID autolearn=unavailable version=3.3.1 Received: from lists.gnu.org ([140.186.70.17]:39325) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RLBMI-0002af-4q for submit@debbugs.gnu.org; Tue, 01 Nov 2011 06:14:18 -0400 Received: from eggs.gnu.org ([140.186.70.92]:37058) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RLBMC-0003Oq-Gi for bug-automake@gnu.org; Tue, 01 Nov 2011 06:14:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RLBMB-0002ZV-9A for bug-automake@gnu.org; Tue, 01 Nov 2011 06:14:12 -0400 Received: from mail-ww0-f49.google.com ([74.125.82.49]:35596) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RLBMB-0002ZA-2F for bug-automake@gnu.org; Tue, 01 Nov 2011 06:14:11 -0400 Received: by wwe3 with SMTP id 3so2455488wwe.30 for ; Tue, 01 Nov 2011 03:14:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:subject:date:user-agent:cc:references:in-reply-to :mime-version:content-type:content-transfer-encoding:message-id; bh=QSqZkDNxMtWYabyX4sI4gWgDLvVxFjcAqak/qHYeukU=; b=pX6Bjzp2RSD7HbpshI+rbbbDWpeYsM2V1wGoxWou7s/jJnas8fbAM2v6odx6awNAMz fPJouC15arZ8pCB+vcPyuS8GeNVpqjbI22fMI971SXPioWwzQYvvlmJLRDNr2IPuZovy umedyewAllZy3gYanEcxF7G/herqTXh5yoO6g= Received: by 10.227.202.70 with SMTP id fd6mr23057473wbb.27.1320142449699; Tue, 01 Nov 2011 03:14:09 -0700 (PDT) Received: from bigio.localnet (host22-94-dynamic.4-87-r.retail.telecomitalia.it. [87.4.94.22]) by mx.google.com with ESMTPS id gd6sm37516502wbb.1.2011.11.01.03.14.07 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 01 Nov 2011 03:14:07 -0700 (PDT) From: Stefano Lattarini To: bug-automake@gnu.org Subject: Re: bug#9822: AMTAR not used Date: Tue, 1 Nov 2011 11:13:58 +0100 User-Agent: KMail/1.13.7 (Linux/2.6.30-2-686; KDE/4.6.5; i686; ; ) References: <2CECA6DE-281D-4CE7-BF82-804CFA6C5384@gmail.com> In-Reply-To: <2CECA6DE-281D-4CE7-BF82-804CFA6C5384@gmail.com> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201111011113.59119.stefano.lattarini@gmail.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 140.186.70.17 X-Spam-Score: -5.1 (-----) X-Debbugs-Envelope-To: submit Cc: Akim Demaille , 9822@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -5.1 (-----) Hi Akim, thanks for the report. On Friday 21 October 2011, Akim Demaille wrote: > Hi all, > > My apologies if this has already been discussed. > > I too have been hit by the fact that Tar on OS X tries to preserve > special features of files in "hidden" files (a thread about this > started here: > > and seems to end here: > > > There are several means to address this, one being defining a > couple of envvars before calling OS X's tar (as discussed above), > the other being using GNU Tar. > > Unfortunately 1.11.1 generates code like this: > > AMTAR = ${SHELL} /Users/akim/src/gostai/kernel-2.7/build-aux/missing --run tar > ... > am__tar = tar --format=ustar -chf - "$$tardir" > am__untar = tar -xf - > > (I cannot see AMTAR being used.) I would prefer to have something like > > TAR = tar > AMTAR = ${SHELL} /Users/akim/[...]/build-aux/missing --run ${TAR} > am__tar = $(AMTAR) --format=ustar -chf - "$$tardir" > am__untar = $(AMTAR) -xf - > > so that I can "make dist TAR=gnutar" and have magic happen. > This would also require that missing understands gnutar in addition to > tar, possibly qualified. Or missing could be extended to have one flag > for the "class" of the program (this is a "tar", a constant string), > and then --run which gives the command line starting with the genuine > command (/opt/local/bin/gnumake for my example). > > Alternatively, if AMTAR is not useful (as it seems in 1.11.1), then > > TAR = tar > am__tar = $(TAR) --format=ustar -chf - "$$tardir" > am__untar = $(TAR) -xf - > > would be fine! > I'd prefer to go with this latter option (starting from automake 1.12, to minimize backward-compatibility issues). My opinion is that: 1. "make dist" is a maintainer-specific command, so we can expect the user that issues it to either have a powerful-enough tar, or to install GNU tar. 2. the `missing' script real purpose (and IMHO it's only purpose) should be that of allowing a non-developer to build a package from a ditribution tarball in the face of slightly-skewed timestamps, *not* to provide wrappers for all the maintainer tools -- so that using `missing' to wrap `tar' invocations seems fishy to me. > Cheers! > > PS/ Actually if AMTAR/TAR could also set the two troublesome envvars, > that would be wonderful :) > That could be done for automake 1.11.2 as well. Do you have working links to documentation/explanation of such environment variables? Also, a testcase (aimed at excercising the real OS X tar) would be lovely ;-) Regards, Stefano From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 03 10:51:40 2012 Received: (at 9822) by debbugs.gnu.org; 3 Jan 2012 15:51:40 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Ri6eJ-0001IR-Kz for submit@debbugs.gnu.org; Tue, 03 Jan 2012 10:51:40 -0500 Received: from mail-ww0-f42.google.com ([74.125.82.42]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Ri6eF-0001IH-U5 for 9822@debbugs.gnu.org; Tue, 03 Jan 2012 10:51:37 -0500 Received: by wgbds13 with SMTP id ds13so22212129wgb.3 for <9822@debbugs.gnu.org>; Tue, 03 Jan 2012 07:48:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:cc:subject:references:in-reply-to :content-type; bh=1511o1FPvXaz0AvuSTQ/CEhHBkhCIePDXjPcMSwNc/8=; b=jWHtbQMP6524DClrPlRGmwp2hlbMT1eJqjJMKaci8+/fCP3fn5jOqpjF8H2UrxexP+ 8DW3+hZiw1w2cU7gyWkeaefubz0/fk+Zf17mxj5JOY5vxyRU6aJqLTy3CtNPX6qaNRq1 HPB2+BaIswbOOKAJEUX3fcyKe9xP/jdzniwg8= Received: by 10.216.139.153 with SMTP id c25mr34980236wej.25.1325605695841; Tue, 03 Jan 2012 07:48:15 -0800 (PST) Received: from [87.2.94.218] (host218-94-dynamic.2-87-r.retail.telecomitalia.it. [87.2.94.218]) by mx.google.com with ESMTPS id ba4sm29366135wib.5.2012.01.03.07.48.14 (version=SSLv3 cipher=OTHER); Tue, 03 Jan 2012 07:48:15 -0800 (PST) Message-ID: <4F03233C.9000505@gmail.com> Date: Tue, 03 Jan 2012 16:48:12 +0100 From: Stefano Lattarini MIME-Version: 1.0 Subject: Re: bug#9822: AMTAR not used References: <2CECA6DE-281D-4CE7-BF82-804CFA6C5384@gmail.com> <201111011113.59119.stefano.lattarini@gmail.com> In-Reply-To: <201111011113.59119.stefano.lattarini@gmail.com> Content-Type: multipart/mixed; boundary="------------030506060007070701020102" X-Spam-Score: -3.2 (---) X-Debbugs-Envelope-To: 9822 Cc: Akim Demaille , 9822@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.2 (---) This is a multi-part message in MIME format. --------------030506060007070701020102 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Reference: So here is a proposed patch (for maint). I will push in 72 hours if there is no objection. Regards, Stefano --------------030506060007070701020102 Content-Type: text/x-diff; name="0001-dist-do-not-wrap-calls-to-tar-with-the-missing-scrip.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename*0="0001-dist-do-not-wrap-calls-to-tar-with-the-missing-scrip.pa"; filename*1="tch" >From 52fef8d18acb3b71752dc683f1330bc3ad2dd9b3 Mon Sep 17 00:00:00 2001 Message-Id: <52fef8d18acb3b71752dc683f1330bc3ad2dd9b3.1325605508.git.stefano.lattarini@gmail.com> From: Stefano Lattarini Date: Tue, 3 Jan 2012 16:12:46 +0100 Subject: [PATCH] dist: do not wrap calls to 'tar' with the 'missing' script The `missing' script is meant to allow non-developers to build a package in the face of slightly-skewed timestamps (as might happen e.g. when the package is obtained from a VCS checkout rather than from a distribution tarball). It is *not* the business of the `missing' script to try to provide wrappers for all the maintainer tools (in this case, to tool being a decent tar program). Such wrapping of `tar' was not only inappropriate, but it was also preventing the legitimate overriding (at make runtime) of the `tar' program used in the creation of the distribution tarballs. See also automake bug#9822. * lib/missing: Don't try to specially wrap `tar' invocations anymore. * m4/tar.m4 (_AM_PROG_TAR): In the definitions of the `AMTAR' variable, do not wrap the `tar' invocation with the `missing' script anymore. Instead, allow the user to override the intended tar program at make runtime, by defining the `TAR' environment variable. [$1 == v7]: Similarly for the definitions of the `am__tar' and `am__untar' variables. Since we are at it, don't make them depend anymore on the definition of the obsolescent `AMTAR' variable. * NEWS: Update. * tests/missing-tar.test: Remove, it's obsolete. * tests/tar-override.test: New test. * tests/Makefile.am (TESTS): Update. Reported by Akim Demaille. --- NEWS | 7 ++ lib/missing | 32 +--------- m4/tar.m4 | 9 ++- tests/Makefile.am | 2 +- tests/missing-tar.test | 160 ----------------------------------------------- tests/tar-override.test | 67 ++++++++++++++++++++ 6 files changed, 82 insertions(+), 195 deletions(-) delete mode 100755 tests/missing-tar.test create mode 100755 tests/tar-override.test diff --git a/NEWS b/NEWS index fa1e75e..d4dbf24 100644 --- a/NEWS +++ b/NEWS @@ -32,6 +32,13 @@ New in 1.11.0a: * Miscellaneous changes: + - The `missing' script don't try to wrap calls to `tar' anymore. + + - "make dist" doesn't wrap `tar' invocations with the `missing' script + anymore. Similarly, the obsolescent variable `$(AMTAR)' (which you + shouldn't be using BTW ;-) does not invoke the missing script anymore + to wrap tar, but simply invokes the `tar' program itself. + - "make dist" can now create lzip-compressed tarballs. - In the Automake info documentation, the Top node and the nodes about diff --git a/lib/missing b/lib/missing index 1039955..6bbe953 100755 --- a/lib/missing +++ b/lib/missing @@ -1,10 +1,10 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -scriptversion=2011-12-22.11; # UTC +scriptversion=2012-01-03.15; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009, 2010, 2011 Free Software Foundation, Inc. +# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify @@ -84,7 +84,6 @@ Supported PROGRAM values: help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and @@ -122,15 +121,6 @@ case $1 in # Not GNU programs, they don't have --version. ;; - tar*) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. @@ -318,24 +308,6 @@ WARNING: \`$1' is $msg. You should only need it if touch $file ;; - tar*) - shift - # We have already tried tar in the generic part. So try with GNU tar. - # Look for gnutar/gtar before invocation to avoid ugly error messages. - for cmd in gnutar gtar; do - ($cmd --version) > /dev/null 2>&1 || continue - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - Trying to use GNU tar (\"$cmd\") instead ..." - exec $cmd "$@" - done - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. diff --git a/m4/tar.m4 b/m4/tar.m4 index a4a00ec..0683951 100644 --- a/m4/tar.m4 +++ b/m4/tar.m4 @@ -1,6 +1,6 @@ # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# Copyright (C) 2004, 2005, 2012 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -22,10 +22,11 @@ # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. -AM_MISSING_PROG([AMTAR], [tar]) +[# Always define AMTAR for backward compatibility. Yes, it's still used +# in the wild :-( We should find a proper way to deprecate it ... +AC_SUBST([AMTAR], ['$${TAR-tar}']) m4_if([$1], [v7], - [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], + [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) diff --git a/tests/Makefile.am b/tests/Makefile.am index 2f1ac0d..91702fd 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -582,7 +582,6 @@ missing3.test \ missing4.test \ missing5.test \ missing6.test \ -missing-tar.test \ mkinstall.test \ mkinst2.test \ mkinst3.test \ @@ -850,6 +849,7 @@ tagsub.test \ tar.test \ tar2.test \ tar3.test \ +tar-override.test \ target-cflags.test \ targetclash.test \ txinfo.test \ diff --git a/tests/missing-tar.test b/tests/missing-tar.test deleted file mode 100755 index 889ae20..0000000 --- a/tests/missing-tar.test +++ /dev/null @@ -1,160 +0,0 @@ -#! /bin/sh -# Copyright (C) 2011 Free Software Foundation, Inc. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# Test how the `missing' script wraps the`tar' program . -# FIXME: we should also try to run the `missing' script with the -# $CONFIG_SHELL ... - -. ./defs || Exit 1 - -set -e - -# FIXME: make this working with "installcheck" too ... -cp "$testsrcdir"/../lib/missing . \ - || fatal_ "failed to fetch auxiliary script \`missing'" - -old_PATH=$PATH; export old_PATH -new_PATH=`pwd`/bin$PATH_SEPARATOR$PATH -mkdir bin - -cat > data.txt <<'END' -To be, or not to be: that is the question: -Whether 'tis nobler in the mind to suffer -... -END - -cat > nonesuch <<'END' -#!/bin/sh -exit 127 -END -chmod a+x nonesuch - -# Simple runs. -for nullify_gnu in yes no; do - case $nullify_gnu in - yes) - cp nonesuch bin/gtar - cp nonesuch bin/gnutar - PATH=$new_PATH; export PATH; - mkdir simple-nognu - cd simple-nognu - ;; - no) - mkdir simple-dflt - cd simple-dflt - ;; - *) - Exit 99 # Can't happen. - ;; - esac - cp ../data.txt foobar.txt - ../missing --run tar cvf mu.tar foobar.txt - rm -f foobar.txt - test -f mu.tar - ../missing --run tar tf mu.tar >output 2>&1 || { cat output; Exit 1; } - cat output - $FGREP 'foobar.txt' output - test ! -f foobar.txt - ../missing --run tar xvf mu.tar - diff ../data.txt foobar.txt - PATH=$old_PATH; export PATH; - cd .. -done - -rm -f bin/* - -# Helper scripts and functions for next tests. - -cat > fake-gnu-tar <<'END' -#!/bin/sh -case " $* " in *\ --version\ *) echo fake GNU tar; exit $?;; esac -PATH=$old_PATH; export PATH -exec tar "$@" -END -chmod a+x fake-gnu-tar - -cat > failing-tar <<'END' -#!/bin/sh -echo "Error message from tar passed through" >&2 -exit 1 -END -chmod a+x failing-tar - -grep_tar_failed () -{ - grep "WARNING:.* can't.* run \`tar' with .*given arguments" $* -} - -# The `tar' program does not work with the given options, but we have -# gtar or gnutar. -cp failing-tar bin/tar -for pfx in g gnu; do - case $pfx in g) othpfx=gnu;; gnu) othpfx=g;; *) Exit 99;; esac - cp nonesuch bin/${othpfx}tar - if ${pfx}tar --version | grep GNU; then :; else - cp fake-gnu-tar bin/${pfx}tar - fi - tarball=foo-$pfx.tar - PATH=$new_PATH; export PATH - ./missing --run tar cvf $tarball ./data.txt 2>stderr \ - || { cat stderr >&2; Exit 1; } - cat stderr >&2 - PATH=$old_PATH; export PATH - test -f $tarball - grep_tar_failed stderr - grep "Error message from tar passed through" stderr - grep "[Tt]rying to use GNU tar.*${pfx}tar" stderr - grep "${othpfx}tar" stderr && Exit 1 - : # For shells with broken 'set -e' -done - -rm -f bin/* - -# The `tar' program does not work with the given options, and we don't -# have neither gtar nor gnutar. -cp failing-tar bin/tar -cp nonesuch bin/gtar -cp nonesuch bin/gnutar -PATH=$new_PATH; export PATH -./missing --run tar cvf foo.tar ./data.txt 2>stderr \ - && { cat stderr >&2; Exit 1; } -cat stderr >&2 -PATH=$old_PATH; export PATH -test ! -f foo.tar -grep_tar_failed stderr -grep "Error message from tar passed through" stderr -grep "[iI]nstall GNU tar or Free [pP]axutils" stderr -$EGREP "(g|gnu)tar" stderr && Exit 1 - -rm -f bin/* - -# We try to use an option that causes any `tar' program (GNU or non-GNU) to. -./missing --run tar --bad-unknonw-option cvf foo.tar ./data.txt 2>stderr \ - && { cat stderr >&2; Exit 1; } -cat stderr >&2 -test ! -f foo.tar -grep_tar_failed stderr -grep "bad-unknonw-option" stderr -for p in gtar gnutar; do - if $p --version; then - cnt=1 - else - cnt=0 - fi - test `$EGREP -c "[Tt]rying to use GNU tar.*$p" stderr` -eq $cnt -done - -: diff --git a/tests/tar-override.test b/tests/tar-override.test new file mode 100755 index 0000000..b08c9f8 --- /dev/null +++ b/tests/tar-override.test @@ -0,0 +1,67 @@ +#! /bin/sh +# Copyright (C) 2011 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Check that the user can override the tar program used by "make dist" +# at runtime, by redefining the `TAR' environment variable. +# FIXME: currently this works only when the tar format used is `v7' +# FIXME: (which is the default one). + +. ./defs || Exit 1 + +set -e + +cwd=`pwd` || fatal_ "couldn't get current working directory" + +echo AC_OUTPUT >> configure.in + +cat > am--tar <<'END' +#!/bin/sh +echo $1 > am--tar-has-run +shift +exec tar "$@" +END +chmod a+x am--tar + +cat > Makefile.am <<'END' +check-local: dist + test -f am--tar-has-run +CLEANFILES = am--tar-has-run +END + +$ACLOCAL +$AUTOCONF +$AUTOMAKE +./configure + +$MAKE dist +test -f $me-1.0.tar.gz +ls | grep has-run && Exit 1 + +rm -f *.tar.* *has-run* + +TAR="$cwd/am--tar foo" $MAKE distcheck +test -f $me-1.0.tar.gz +test "`cat am--tar-has-run`" = foo + +rm -f *.tar.* *has-run* + +TAR=; unset TAR +# Creative use of eval to pacify maintainer checks. +eval \$'MAKE dist "TAR=./am--tar mu"' +test -f $me-1.0.tar.gz +test "`cat am--tar-has-run`" = mu + +: -- 1.7.7.3 --------------030506060007070701020102-- From debbugs-submit-bounces@debbugs.gnu.org Fri Jan 06 08:59:21 2012 Received: (at 9822) by debbugs.gnu.org; 6 Jan 2012 13:59:21 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RjAKG-00061a-Rb for submit@debbugs.gnu.org; Fri, 06 Jan 2012 08:59:21 -0500 Received: from mail-we0-f172.google.com ([74.125.82.172]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RjAKE-00061Q-5t for 9822@debbugs.gnu.org; Fri, 06 Jan 2012 08:59:19 -0500 Received: by werb14 with SMTP id b14so1210722wer.3 for <9822@debbugs.gnu.org>; Fri, 06 Jan 2012 05:55:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=message-id:date:from:mime-version:to:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=uEgcdMg3Dg+ljcom4qFSFDwY/HsyRB68hSIwwKKUizE=; b=NE+oGz5TK+zEG/JVZW5z7I0GlC1lqCsP+hXE/5OLSbS4OfikMkuSsLjcHVyJmNhXim wDb6mpprJ0IES/Hc5nFldNjtH4Vn0gxAUyvdtj2d4tkFZglXCwg4msb7e3xs8oJZ4n4/ MMKoekYs6uNwjdaVRYj6DfHEXzH9wEOtWQFo4= Received: by 10.216.139.102 with SMTP id b80mr3059180wej.27.1325858141190; Fri, 06 Jan 2012 05:55:41 -0800 (PST) Received: from [87.0.103.105] (host105-103-dynamic.0-87-r.retail.telecomitalia.it. [87.0.103.105]) by mx.google.com with ESMTPS id m13sm68401964wbh.0.2012.01.06.05.55.40 (version=SSLv3 cipher=OTHER); Fri, 06 Jan 2012 05:55:40 -0800 (PST) Message-ID: <4F06FD59.2000209@gmail.com> Date: Fri, 06 Jan 2012 14:55:37 +0100 From: Stefano Lattarini MIME-Version: 1.0 To: Akim Demaille , 9822@debbugs.gnu.org Subject: Re: bug#9822: AMTAR not used References: <2CECA6DE-281D-4CE7-BF82-804CFA6C5384@gmail.com> <201111011113.59119.stefano.lattarini@gmail.com> <4F03233C.9000505@gmail.com> In-Reply-To: <4F03233C.9000505@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Score: -3.8 (---) X-Debbugs-Envelope-To: 9822 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -3.8 (---) On 01/03/2012 04:48 PM, Stefano Lattarini wrote: > Reference: > > > So here is a proposed patch (for maint). I will push in 72 hours if there > is no objection. > Pushed now. Regards, Stefano From debbugs-submit-bounces@debbugs.gnu.org Mon May 25 21:31:20 2020 Received: (at 9822) by debbugs.gnu.org; 26 May 2020 01:31:20 +0000 Received: from localhost ([127.0.0.1]:42847 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jdOR6-00015X-7B for submit@debbugs.gnu.org; Mon, 25 May 2020 21:31:20 -0400 Received: from freefriends.org ([96.88.95.60]:49258) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jdOR4-00015G-4O; Mon, 25 May 2020 21:31:18 -0400 X-Envelope-From: karl@freefriends.org Received: from freefriends.org (freefriends.org [96.88.95.60]) by freefriends.org (8.14.7/8.14.7) with ESMTP id 04Q1VGbv022406 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 25 May 2020 19:31:17 -0600 Received: (from apache@localhost) by freefriends.org (8.14.7/8.14.7/Submit) id 04Q1VGOM022405; Mon, 25 May 2020 19:31:16 -0600 Date: Mon, 25 May 2020 19:31:16 -0600 Message-Id: <202005260131.04Q1VGOM022405@freefriends.org> From: Karl Berry To: 9822@debbugs.gnu.org Subject: Re: bug#9822: AMTAR not used In-Reply-To: <201111011113.59119.stefano.lattarini@gmail.com> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 9822 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) akim> TAR = tar > am__tar = $(TAR) --format=ustar -chf - "$$tardir" > am__untar = $(TAR) -xf - > would be fine! stefano> I'd prefer to go with this latter option As far as I can tell, all that was left to do here is to document the use of the TAR environment variable in Automake to override "tar" for "make dist". I just pushed a change for that. It seems the code has been in place since 1.11.3, judging by the NEWS file. akim> PS/ Actually if AMTAR/TAR could also set the two troublesome envvars, akim> that would be wonderful :) The two troublesome envvars being, I guess, the Mac-specific COPY_EXTENDED_ATTRIBUTES_DISABLE and COPYFILE_DISABLE, per https://lists.gnu.org/archive/html/automake/2011-03/msg00135.html. But I don't much want to fiddle around with MacOSX envvars that may or may not still work, and might easily be changed or removed at any time. So ... closing. --best, karl. From unknown Sat Sep 13 21:03:14 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 23 Jun 2020 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator