bug-automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#20132: [PROPOSED PATCH] autoconf: port better to future gzip


From: Paul Eggert
Subject: bug#20132: [PROPOSED PATCH] autoconf: port better to future gzip
Date: Tue, 17 Mar 2015 18:28:58 -0700

* lib/am/distdir.am (dist-gzip, dist-shar, distcheck):
Port better to future versions of gzip, which are planned to
deprecate the GZIP environment variable.
---
 lib/am/distdir.am | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/lib/am/distdir.am b/lib/am/distdir.am
index d4dd8cc..87c6730 100644
--- a/lib/am/distdir.am
+++ b/lib/am/distdir.am
@@ -309,6 +309,16 @@ endif %?TOPDIR_P%
 ## We order DIST_TARGETS by expected duration of the compressors,
 ## slowest first, for better parallelism in "make dist".  Do not
 ## reorder DIST_ARCHIVES, users may expect gzip to be first.
+##
+## Traditionally, gzip prepended the contents of the GZIP environment
+## variable to its arguments, and the commands below formerly used
+## this by invoking 'GZIP=$(GZIP_ENV) gzip'.  The GZIP environment
+## variable is now considered to be obsolescent, so the commands below
+## now use 'eval GZIP= gzip $(GZIP_ENV)' instead; this should work
+## with both older and newer gzip implementations.  The 'eval' is to
+## support makefile assignments like 'GZIP_ENV = "-9 -n"' that quote
+## the GZIP_ENV right-hand side because that was needed with the
+## former invocation pattern.
 
 if %?TOPDIR_P%
 
@@ -316,7 +326,7 @@ if %?TOPDIR_P%
 GZIP_ENV = --best
 .PHONY: dist-gzip
 dist-gzip: distdir
-       tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c 
>$(distdir).tar.gz
+       tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c 
>$(distdir).tar.gz
        $(am__post_remove_distdir)
 
 ?BZIP2?DIST_ARCHIVES += $(distdir).tar.bz2
@@ -352,7 +362,7 @@ dist-shar: distdir
        @echo WARNING: "Support for shar distribution archives is" \
                       "deprecated." >&2
        @echo WARNING: "It will be removed altogether in Automake 2.0" >&2
-       shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+       shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
        $(am__post_remove_distdir)
 
 ?ZIP?DIST_ARCHIVES += $(distdir).zip
@@ -412,7 +422,7 @@ endif %?SUBDIRS%
 distcheck: dist
        case '$(DIST_ARCHIVES)' in \
        *.tar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+         eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
        *.tar.bz2*) \
          bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
        *.tar.lz*) \
@@ -422,7 +432,7 @@ distcheck: dist
        *.tar.Z*) \
          uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
        *.shar.gz*) \
-         GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+         eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
        *.zip*) \
          unzip $(distdir).zip ;;\
        esac
-- 
2.1.0






reply via email to

[Prev in Thread] Current Thread [Next in Thread]