automake-patches
[Top][All Lists]
Advanced

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

Re: Automake 1.11.2 released


From: Stefano Lattarini
Subject: Re: Automake 1.11.2 released
Date: Tue, 27 Dec 2011 09:59:41 +0100

[adding automake-patches in CC:]

On 12/26/2011 10:35 PM, Antonio Diaz Diaz wrote:
> 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].
>
Again, I wasn't aware of that, or I forgot about that (or, more likely, a little
of both).

> 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.
>
Ralf probably thought that 1.12 was going to be released much sooner, so his
decision seemed the most sensible one at the time.  The fact that the 1.12
release is really and lamentably late is mostly my fault (due to various
reasons I'm not going to repeat here), so let's not blame Ralf.

> To make things easy, I attach an updated version of the dist-lzip patch for
> Automake 1.11.2.
>
Thanks.  I have some nits below; I can address them myself, but I'd really
appreciate if you could take care of them instead.

> [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
>
Could you please send a patch formatted with "git format-patch", based on the
latest `maint' branch, and containing a proper ChangeLog entry?  Also, it
would be nice if you could update the NEWS file to report the new feature.

> --- 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
>
> address@hidden @code{dist-lzip}
> +Generate a @samp{lzip} tar archive of the distribution.  @command{lzip}
> +archives are frequently smaller than @command{bzip2}-compressed archives.
> address@hidden 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
>
> address@hidden @option{dist-lzip}
> address@hidden Option, @option{dist-lzip}
> address@hidden dist-lzip
> +Hook @code{dist-lzip} to @code{dist}.
> address@hidden 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},
> address@hidden, @option{dist-xz} and @option{dist-tarZ} options in use.)
> address@hidden, @option{dist-lzip}, @option{dist-xz} and
> address@hidden 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
> address@hidden  LocalWords:  barexec Pinard's automatize initialize lzma xz
> address@hidden  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
> +
I don't like the idea of having the compression rate hard-coded in the rules.
Could you please allow the user to change it at "make dist" time, similarly to
what is done for the other compression formats? (OK, excluding `lzma', which
anyway obsolete, and is going to be deprecated in 1.11.3 and removed in 1.12).

Also, are you sure that a default compression rate of `-9' isn't too high, and
is not going to cause problems similar to the ones `xz' and `lzma' had incurred
into, i.e., requiring too much memory usage at archive extraction time?  See:

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

> +     $(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
>
See what I said above about hard-coding the `-9' compression rate.

>  ?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.
>
s/2010/2011/

> +#
> +# 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
>
Missing trailing full stop.

> +
> +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
>

Thanks,
  Stefano



reply via email to

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