]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
dist: obsolete support for lzma (superseded by xz and lzip)
authorStefano Lattarini <stefano.lattarini@gmail.com>
Fri, 30 Dec 2011 14:54:40 +0000 (15:54 +0100)
committerStefano Lattarini <stefano.lattarini@gmail.com>
Sun, 1 Jan 2012 09:37:05 +0000 (10:37 +0100)
The lzma utilities are today superseded by the xz utilities; in
fact, the official site at <http://tukaani.org/lzma/> reads:

  ``LZMA Utils are legacy data compression software with high
    compression ratio.  LZMA Utils are no longer developed, ...
    Users of LZMA Utils should move to XZ Utils.''

and the existing automake manual (as of 1.11.2) already says:

  ``dist-xz
    Generate an 'xz' tar archive of the distribution. xz archives
    are frequently smaller than bzip2-compressed archives. The 'xz'
    format will soon (early 2009) displace the 'lzma' format''

Also, the `dist-lzma' target still suffers of never-solved bugs,
due to the too-high compression ratio its uses by default, which
might cause an unacceptable memory consumption when one tries to
compress or, worse, decompress the created tarballs; see also:

  <http://lists.gnu.org/archive/html/automake/2011-12/msg00025.html>
  <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9658>

* NEWS: Update.
* doc/automake.texi (Dist, Options): State that `dist-lzma' will
go away in the next major automake version.
* lib/Automake/Options.pm (_process_option_list): Deprecate
`dist-lzma'.
* tests/lzma.test: Update.

NEWS
doc/automake.texi
lib/Automake/Options.pm
tests/lzma.test

diff --git a/NEWS b/NEWS
index 0c0a2dc2531046047662cb4fc80e6a5324ec8ae9..35b138d5127d6c1dfec3246ba3a028a2528a2a9f 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,10 @@ New in 1.11.0a:
 
 * WARNING: Future backward-incompatibilities!
 
+  - The `lzma' compression format for distribution archives has been
+    deprecated in favor of `xz' and `lzip', and will be removed in the
+    next major Automake release (1.12).
+
   - The Automake support for automatic de-ANSI-fication will be removed in
     the next major Automake release (1.12).
 
index e155fd1677a3907e31f843130d62e715c1afd5cc..976c2f81b164c6fd8bba9673b29cf943befc58c8 100644 (file)
@@ -8667,10 +8667,10 @@ Generate a gzip tar archive of the distribution.
 @trindex dist-gzip
 
 @item @code{dist-lzma}
-Generate an @samp{lzma} tar archive of the distribution.  @command{lzma}
-archives are frequently smaller than @command{bzip2}-compressed archives.
+Generate an @samp{lzma} tar archive of the distribution.
 The @samp{lzma} format is obsolete, you should use the @samp{xz} format
-instead.
+instead. @emph{Support for @samp{lzma}-compressed archives will be
+removed in the next major Automake release.}
 @trindex dist-lzma
 
 @item @code{dist-shar}
index b7ff3d1f5af3e0b4ead2147c15a088ecc6fd0e6b..a176a2774068a4d7d77b92d9d7142a812784064e 100644 (file)
@@ -261,10 +261,18 @@ sub _process_option_list (\%$@)
          # directory.  We save the actual option for later.
          $options->{'ansi2knr'} = [$_, $where];
        }
+      elsif ($_ eq 'dist-lzma')
+        {
+          # Creation of distribution tarball compressed with lzma is
+          # deprecated, will be removed in the next major release.
+          msg 'obsolete', $where,
+              "lzma compression is deprecated; use `dist-xz' " .
+              "or `dist-lzip' instead\n";
+        }
       elsif ($_ eq 'no-installman' || $_ eq 'no-installinfo'
             || $_ eq 'dist-shar' || $_ eq 'dist-zip'
             || $_ eq 'dist-tarZ' || $_ eq 'dist-bzip2'
-            || $_ eq 'dist-lzma' || $_ eq 'dist-xz'
+            || $_ eq 'dist-xz'
             || $_ eq 'no-dist-gzip' || $_ eq 'no-dist'
             || $_ eq 'dejagnu' || $_ eq 'no-texinfo.tex'
             || $_ eq 'readme-alpha' || $_ eq 'check-news'
index 11bb93df39c0f7f68b1e59fb209dd633dfd1935d..7ee59f7ca2978c7eb5ad45f4f3adedb4c48f0ac7 100755 (executable)
@@ -1,5 +1,5 @@
 #! /bin/sh
-# Copyright (C) 2003, 2007  Free Software Foundation, Inc.
+# Copyright (C) 2003, 2007, 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
 
 # Check support for no-dist-gzip with lzma
 
-required=lzma
 . ./defs || Exit 1
 
+errmsg='lzma.*deprecated.*dist-xz.*dist-lzip.*instead'
+
 set -e
 
+echo AUTOMAKE_OPTIONS = dist-lzma > Makefile.am
+$ACLOCAL --force
+AUTOMAKE_fails -Wnone -Wobsolete
+grep "^Makefile\\.am:1:.*$errmsg" stderr
+
 cat > configure.in << 'END'
 AC_INIT([lzma], [1.0])
 AM_INIT_AUTOMAKE([no-dist-gzip dist-lzma])
@@ -34,8 +40,16 @@ test: distcheck
        test -f $(DIST_ARCHIVES)
 END
 
-$ACLOCAL
+$ACLOCAL --force
+AUTOMAKE_fails
+grep "^configure\\.in:2:.*$errmsg" stderr
+
+$AUTOMAKE -Wno-obsolete
+
+lzma --version || skip_ "lzma compressor required for the rest of the test"
+
 $AUTOCONF
-$AUTOMAKE
 ./configure
 $MAKE test
+
+: