From: Ralf Wildenhues Date: Sun, 15 Oct 2006 16:37:22 +0000 (+0000) Subject: For PR automake/507: X-Git-Tag: Release-1-10~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f5a4a78b482226e477476b3d57a84ddd7fbab221;p=thirdparty%2Fautomake.git For PR automake/507: * lib/am/distdir.am (distdir): filename-length-max check is not done in sub-packages. * doc/automake.texi (Options): Document this. * tests/fn99subdir.test: New test. * tests/Makefile.am: Update. * THANKS: Update. --- diff --git a/ChangeLog b/ChangeLog index 0c91501e3..0fe3466c1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2006-10-15 Hans Ulrich Niedermann + Ralf Wildenhues + + For PR automake/507: + * lib/am/distdir.am (distdir): filename-length-max check is not + done in sub-packages. + * doc/automake.texi (Options): Document this. + * tests/fn99subdir.test: New test. + * tests/Makefile.am: Update. + * THANKS: Update. + 2006-10-14 Alfred M. Szmidt (tiny change) * doc/automake.texi (Third-Party Makefiles): Fix typo. diff --git a/Makefile.in b/Makefile.in index d04a14acd..b0285681d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -424,6 +424,7 @@ distdir: $(DISTFILES) top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -433,7 +434,7 @@ distdir: $(DISTFILES) ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) - @if find $(distdir) -type f -print | \ + @if test -z "$(am__skip_length_check)" && find $(distdir) -type f -print | \ grep '^...................................................................................................' 1>&2; then \ echo 'error: the above filenames are too long' 1>&2; \ exit 1; \ diff --git a/THANKS b/THANKS index a37566304..2fc572c3c 100644 --- a/THANKS +++ b/THANKS @@ -99,6 +99,7 @@ Gustavo Carneiro gjc@inescporto.pt Gwenole Beauchesne gbeauchesne@mandrakesoft.com H.J. Lu hjl@lucon.org H.Merijn Brand h.m.brand@hccnet.nl +Hans Ulrich Niedermann hun@n-dimensional.de Harald Dunkel harald@CoWare.com Harlan Stenn Harlan.Stenn@pfcs.com He Li tippa000@yahoo.com diff --git a/doc/automake.texi b/doc/automake.texi index 371627cc7..a2819c22f 100644 --- a/doc/automake.texi +++ b/doc/automake.texi @@ -8497,7 +8497,8 @@ Abort if file names longer than 99 characters are found during be portable in tarballs. See the @option{tar-v7} and @option{tar-ustar} options below. This option should be used in the top-level @file{Makefile.am} or as an argument of @code{AM_INIT_AUTOMAKE} in -@file{configure.ac}, it will be ignored otherwise. +@file{configure.ac}, it will be ignored otherwise. It will also be +ignored in sub-packages of nested packages (@pxref{Subpackages}). @item @option{no-define} @cindex Option, @option{no-define} diff --git a/doc/stamp-vti b/doc/stamp-vti index d72766d93..c93c2480d 100644 --- a/doc/stamp-vti +++ b/doc/stamp-vti @@ -1,4 +1,4 @@ -@set UPDATED 14 October 2006 +@set UPDATED 15 October 2006 @set UPDATED-MONTH October 2006 @set EDITION 1.9c @set VERSION 1.9c diff --git a/doc/version.texi b/doc/version.texi index d72766d93..c93c2480d 100644 --- a/doc/version.texi +++ b/doc/version.texi @@ -1,4 +1,4 @@ -@set UPDATED 14 October 2006 +@set UPDATED 15 October 2006 @set UPDATED-MONTH October 2006 @set EDITION 1.9c @set VERSION 1.9c diff --git a/lib/am/distdir.am b/lib/am/distdir.am index 0c76017b1..908a88287 100644 --- a/lib/am/distdir.am +++ b/lib/am/distdir.am @@ -177,6 +177,8 @@ if %?SUBDIRS% ## directory we have already cleared and might even have populated ## (e.g. shared AUX dir in the sub-package). am__remove_distdir=: \ +## Disable filename length check: + am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ @@ -217,7 +219,7 @@ if %?TOPDIR_P% ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) if %?FILENAME_FILTER% - @if find $(distdir) -type f -print | \ + @if test -z "$(am__skip_length_check)" && find $(distdir) -type f -print | \ grep '^%FILENAME_FILTER%' 1>&2; then \ echo 'error: the above filenames are too long' 1>&2; \ exit 1; \ diff --git a/tests/Makefile.am b/tests/Makefile.am index ebe9d2175..1a9d9fd35 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -243,6 +243,7 @@ extra7.test \ f90only.test \ flibs.test \ fn99.test \ +fn99subdir.test \ fnoc.test \ fo.test \ fort1.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 41b4e6ca7..8d8716fbb 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -375,6 +375,7 @@ extra7.test \ f90only.test \ flibs.test \ fn99.test \ +fn99subdir.test \ fnoc.test \ fo.test \ fort1.test \ diff --git a/tests/fn99subdir.test b/tests/fn99subdir.test new file mode 100755 index 000000000..584f747f4 --- /dev/null +++ b/tests/fn99subdir.test @@ -0,0 +1,84 @@ +#! /bin/sh +# Copyright (C) 2006 Free Software Foundation, Inc. +# +# This file is part of GNU Automake. +# +# GNU Automake 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. +# +# GNU Automake 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 Automake; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. + +# PR 507: Check the filename-length-max=99 option +# in conjunction with AC_CONFIG_SUBDIRS. + +. ./defs || exit 1 + +set -e + +# The name is so that 99 is exactly hit (including final \0). +subdirname='cnfsubdir' + +cat >>configure.in <Makefile.am <> ${subdirname}/configure.in <${subdirname}/Makefile.am <<'END' +AUTOMAKE_OPTIONS = filename-length-max=99 +EXTRA_DIST = 12345678 +END + +(cd ${subdirname}; for i in 1 2 3 4 5 6 7 8 +do + mkdir -p 12345678 || exit 77 + cd 12345678 + touch x +done) + +for init_dir in ${subdirname} .; do + ( + cd ${init_dir} || exit 1 + $ACLOCAL + $AUTOCONF + $AUTOMAKE + ) || exit 1 +done +./configure +$MAKE distcheck + +(cd ${subdirname}; for i in 1 2 3 4 5 6 7 8 9 +do + mkdir -p 12345678 || exit 77 + cd 12345678 + touch x +done) + +$MAKE dist 2>stderr && exit 1 +cat stderr +grep 'filenames are too long' stderr +test 1 = `grep 12345678 stderr | wc -l` +: