Package: automake
Version: 1.11.1-1
Tags: patch

Hello,

The attached patch adds support for the lzip[1] compression format to Automake.
[1] http://www.nongnu.org/lzip/lzip.html

"Lzip is a lossless data compressor based on the LZMA algorithm, with very safe integrity checking and a user interface similar to the one of gzip or bzip2. Lzip decompresses almost as fast as gzip and compresses better than bzip2, which makes it well suited for software distribution and data archiving."

Given the simplicity of the changes needed (see attached patch), I see
no reason for not supporting lzip, which some developers[2] already dub
"the currently best free compression program".
[2] ftp://ftp.gmplib.org/pub/snapshot/README


Best regards,
Antonio.
diff -urdN automake-1.11.1/automake.in automake-1.11.1.new/automake.in
--- automake-1.11.1/automake.in	2009-12-08 19:15:40.000000000 +0100
+++ automake-1.11.1.new/automake.in	2010-02-15 13:24:12.000000000 +0100
@@ -3895,7 +3895,7 @@
     {
       my $archive_defined = option 'no-dist-gzip' ? 0 : 1;
       $archive_defined ||=
-	grep { option "dist-$_" } qw(shar zip tarZ bzip2 lzma xz);
+	grep { option "dist-$_" } qw(shar zip tarZ bzip2 lzip lzma xz);
       error (option 'no-dist-gzip',
 	     "no-dist-gzip specified but no dist-* specified, "
 	     . "at least one archive format must be enabled")
@@ -7049,6 +7049,7 @@
 
 		 'XZ'          => !! option 'dist-xz',
 		 'LZMA'        => !! option 'dist-lzma',
+		 'LZIP'        => !! option 'dist-lzip',
 		 'BZIP2'       => !! option 'dist-bzip2',
 		 'COMPRESS'    => !! option 'dist-tarZ',
 		 'GZIP'        =>  ! option 'no-dist-gzip',
diff -urdN automake-1.11.1/doc/automake.texi automake-1.11.1.new/doc/automake.texi
--- automake-1.11.1/doc/automake.texi	2009-12-08 19:15:40.000000000 +0100
+++ automake-1.11.1.new/doc/automake.texi	2010-02-15 13:24:12.000000000 +0100
@@ -8440,6 +8440,11 @@
 Generate a gzip tar archive of the distribution.
 @trindex dist-gzip
 
+...@item @code{dist-lzip}
+Generate an @samp{lzip} tar archive of the distribution.  @command{lzip}
+archives are frequently smaller than @command{bzip2}-compressed archives.
+...@trindex dist-lzip
+
 @item @code{dist-lzma}
 Generate an @samp{lzma} tar archive of the distribution.  @command{lzma}
 archives are frequently smaller than @command{bzip2}-compressed archives.
@@ -8988,6 +8993,12 @@
 Hook @code{dist-bzip2} to @code{dist}.
 @trindex dist-bzip2
 
+...@item @option{dist-lzip}
+...@cindex Option, @option{dist-lzip}
+...@opindex dist-lzip
+Hook @code{dist-lzip} to @code{dist}.
+...@trindex dist-lzip
+
 @item @option{dist-lzma}
 @cindex Option, @option{dist-lzma}
 @opindex dist-lzma
@@ -9260,7 +9271,8 @@
 These three mutually exclusive options select the tar format to use
 when generating tarballs with @samp{make dist}.  (The tar file created
 is then compressed according to the set of @option{no-dist-gzip},
-...@option{dist-bzip2}, @option{dist-lzma} and @option{dist-tarZ} options in use.)
+...@option{dist-bzip2}, @option{dist-lzip}, @option{dist-lzma} and
+...@option{dist-tarz} options in use.)
 
 These options must be passed as arguments to @code{AM_INIT_AUTOMAKE}
 (@pxref{Macros}) because they can require additional configure checks.
@@ -12920,4 +12932,4 @@
 @c  LocalWords:  LTALLOCA MALLOC malloc memcmp strdup alloca libcompat xyz DFOO
 @c  LocalWords:  unprefixed buildable preprocessed DBAZ DDATADIR WARNINGCFLAGS
 @c  LocalWords:  LIBFOOCFLAGS LIBFOOLDFLAGS ftable testSubDir obj LIBTOOLFLAGS
-...@c  LocalWords:  barexec Pinard's automatize initialize lzma xz
+...@c  LocalWords:  barexec Pinard's automatize initialize lzip lzma xz
diff -urdN automake-1.11.1/lib/Automake/Options.pm automake-1.11.1.new/lib/Automake/Options.pm
--- automake-1.11.1/lib/Automake/Options.pm	2009-12-08 19:02:32.000000000 +0100
+++ automake-1.11.1.new/lib/Automake/Options.pm	2010-02-15 13:24:12.000000000 +0100
@@ -259,7 +259,7 @@
       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-lzip' || $_ eq 'dist-lzma' || $_ eq 'dist-xz'
 	     || $_ eq 'no-dist-gzip' || $_ eq 'no-dist'
 	     || $_ eq 'dejagnu' || $_ eq 'no-texinfo.tex'
 	     || $_ eq 'readme-alpha' || $_ eq 'check-news'
diff -urdN automake-1.11.1/lib/am/distdir.am automake-1.11.1.new/lib/am/distdir.am
--- automake-1.11.1/lib/am/distdir.am	2009-12-08 19:15:40.000000000 +0100
+++ automake-1.11.1.new/lib/am/distdir.am	2010-02-15 13:24:12.000000000 +0100
@@ -344,6 +344,12 @@
 	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
 	$(am__remove_distdir)
 
+?LZIP?DIST_ARCHIVES += $(distdir).tar.lz
+.PHONY: dist-lzip
+dist-lzip: distdir
+	tardir=$(distdir) && $(am__tar) | lzip -9 -c >$(distdir).tar.lz
+	$(am__remove_distdir)
+
 ?LZMA?DIST_ARCHIVES += $(distdir).tar.lzma
 .PHONY: dist-lzma
 dist-lzma: distdir
@@ -396,6 +402,7 @@
 dist dist-all: distdir
 ?GZIP?	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
 ?BZIP2?	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+?LZIP?	tardir=$(distdir) && $(am__tar) | lzip -9 -c >$(distdir).tar.lz
 ?LZMA?	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
 ?XZ?	tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
 ?COMPRESS?	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
@@ -429,6 +436,8 @@
 	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
 	*.tar.lzma*) \
 	  lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+	*.tar.lz*) \
+	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
 	*.tar.xz*) \
 	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
 	*.tar.Z*) \
diff -urdN automake-1.11.1/tests/Makefile.am automake-1.11.1.new/tests/Makefile.am
--- automake-1.11.1/tests/Makefile.am	2009-12-08 19:15:40.000000000 +0100
+++ automake-1.11.1.new/tests/Makefile.am	2010-02-15 13:24:12.000000000 +0100
@@ -423,6 +423,7 @@
 ltlibobjs.test \
 ltlibsrc.test \
 ltorder.test \
+lzip.test \
 lzma.test \
 maintclean.test \
 make.test \
diff -urdN automake-1.11.1/tests/lzip.test automake-1.11.1.new/tests/lzip.test
--- automake-1.11.1/tests/lzip.test	1970-01-01 01:00:00.000000000 +0100
+++ automake-1.11.1.new/tests/lzip.test	2010-02-15 13:24:12.000000000 +0100
@@ -0,0 +1,41 @@
+#! /bin/sh
+# Copyright (C) 2010  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 <http://www.gnu.org/licenses/>.
+
+# Check support for no-dist-gzip with lzip
+
+required=lzip
+. ./defs || Exit 1
+
+set -e
+
+cat > configure.in << 'END'
+AC_INIT([lzip], [1.0])
+AM_INIT_AUTOMAKE([no-dist-gzip dist-lzip])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+END
+
+cat > Makefile.am << 'END'
+test: distcheck
+	test $(DIST_ARCHIVES) = lzip-1.0.tar.lz
+	test -f $(DIST_ARCHIVES)
+END
+
+$ACLOCAL
+$AUTOCONF
+$AUTOMAKE
+./configure
+$MAKE test

Reply via email to