Dear Stefano,
Stefano Lattarini wrote:
Do you care to backport that patch to the `maint' branch of automake? That way,
it will be possible to add support for lzip to the next maintenance release
1.11.3
(which I bet will be released before 1.12).
Backport? Not counting the patch by Jan Engelhardt, I sent a patch for
Automake 1.11.1 three times[1][2][3]. I even sent a ChangeLog entry and
a timing test[4]. Ralf Wildenhues told me that[5] "Due to the changes in
dist handling in master, this was a nontrivial merge", but of course
applying that same patch to 1.11.1 whould have been trivial.
To make things easy, I attach an updated version of the dist-lzip patch
for Automake 1.11.2.
[1]http://lists.gnu.org/archive/html/automake/2010-02/msg00056.html
[2]http://lists.gnu.org/archive/html/bug-automake/2010-02/msg00003.html
[3]http://lists.gnu.org/archive/html/automake-patches/2010-02/msg00016.html
[4]http://lists.gnu.org/archive/html/automake-patches/2010-02/msg00021.html
[5]http://lists.gnu.org/archive/html/automake-patches/2010-02/msg00028.html
Best regards,
Antonio.
diff -urdN automake-1.11.2/automake.in automake-1.11.2.new/automake.in
--- automake-1.11.2/automake.in 2011-12-21 20:35:28.000000000 +0100
+++ automake-1.11.2.new/automake.in 2011-12-26 21:42:05.000000000 +0100
@@ -3935,7 +3935,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")
@@ -7140,6 +7140,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.2/doc/automake.texi automake-1.11.2.new/doc/automake.texi
--- automake-1.11.2/doc/automake.texi 2011-12-21 20:53:41.000000000 +0100
+++ automake-1.11.2.new/doc/automake.texi 2011-12-26 21:42:05.000000000 +0100
@@ -8687,6 +8687,11 @@
Generate a gzip tar archive of the distribution.
@trindex dist-gzip
+@item @code{dist-lzip}
+Generate a @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.
@@ -9299,6 +9304,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
@@ -9499,7 +9510,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-xz} and @option{dist-tarZ} options in use.)
+@option{dist-bzip2}, @option{dist-lzip}, @option{dist-xz} 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.
@@ -13561,4 +13573,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.2/lib/Automake/Options.pm automake-1.11.2.new/lib/Automake/Options.pm
--- automake-1.11.2/lib/Automake/Options.pm 2011-12-20 21:56:29.000000000 +0100
+++ automake-1.11.2.new/lib/Automake/Options.pm 2011-12-26 21:42:05.000000000 +0100
@@ -264,7 +264,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.2/lib/am/distdir.am automake-1.11.2.new/lib/am/distdir.am
--- automake-1.11.2/lib/am/distdir.am 2011-12-20 21:56:29.000000000 +0100
+++ automake-1.11.2.new/lib/am/distdir.am 2011-12-26 21:52:10.000000000 +0100
@@ -344,6 +344,12 @@
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -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=$${BZIP2--9} bzip2 -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_OPT=$${XZ_OPT--e} 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.2/tests/Makefile.am automake-1.11.2.new/tests/Makefile.am
--- automake-1.11.2/tests/Makefile.am 2011-12-21 20:35:29.000000000 +0100
+++ automake-1.11.2.new/tests/Makefile.am 2011-12-26 21:42:05.000000000 +0100
@@ -567,6 +567,7 @@
ltlibobjs.test \
ltlibsrc.test \
ltorder.test \
+lzip.test \
lzma.test \
m4-inclusion.test \
maintclean.test \
diff -urdN automake-1.11.2/tests/lzip.test automake-1.11.2.new/tests/lzip.test
--- automake-1.11.2/tests/lzip.test 1970-01-01 01:00:00.000000000 +0100
+++ automake-1.11.2.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