]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
For PR automake/507:
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Sun, 15 Oct 2006 16:37:22 +0000 (16:37 +0000)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Sun, 15 Oct 2006 16:37:22 +0000 (16:37 +0000)
* 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.

ChangeLog
Makefile.in
THANKS
doc/automake.texi
doc/stamp-vti
doc/version.texi
lib/am/distdir.am
tests/Makefile.am
tests/Makefile.in
tests/fn99subdir.test [new file with mode: 0755]

index 0c91501e3765ce7257a49560936c445d8c9315d8..0fe3466c1fcb1d1601417eee900128ddca75a7b6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2006-10-15  Hans Ulrich Niedermann  <hun@n-dimensional.de>
+           Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       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  <ams@gnu.org>  (tiny change)
 
        * doc/automake.texi (Third-Party Makefiles): Fix typo.
index d04a14acdc4cb553f284b7c98b3dc10d66d3897f..b0285681de56dd3054271324d324a8007f08eaea 100644 (file)
@@ -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 a37566304fac9cecf843b64ed3c3b7b1c1709d11..2fc572c3cf42b4b635621a0e11dab9cc60306353 100644 (file)
--- 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
index 371627cc7fbd2214428eac2e6bf943b9268dcac5..a2819c22ff901d121ca92e60645999aa135d0b9d 100644 (file)
@@ -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}
index d72766d937d45788f5cb880a7730bf3b7b26dd60..c93c2480d47fc5202a573c632fba83cb21794cb9 100644 (file)
@@ -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
index d72766d937d45788f5cb880a7730bf3b7b26dd60..c93c2480d47fc5202a573c632fba83cb21794cb9 100644 (file)
@@ -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
index 0c76017b1c236c7e5d353746aa123a8a20eb755c..908a88287aaa8994f0beb8b585ad6760a64ffac9 100644 (file)
@@ -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; \
index ebe9d2175ed026213375e70723e2abf6204db1f8..1a9d9fd3513681dbe7902f0a7ea7c1833b664ba5 100644 (file)
@@ -243,6 +243,7 @@ extra7.test \
 f90only.test \
 flibs.test \
 fn99.test \
+fn99subdir.test \
 fnoc.test \
 fo.test        \
 fort1.test \
index 41b4e6ca74a14c63e342851e39b2895563df462c..8d8716fbb890c6437151fc52e707bf12a1102c45 100644 (file)
@@ -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 (executable)
index 0000000..584f747
--- /dev/null
@@ -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 <<END
+AC_CONFIG_SUBDIRS([${subdirname}])
+AC_OUTPUT
+END
+
+cat >Makefile.am <<END
+AUTOMAKE_OPTIONS = filename-length-max=99
+SUBDIRS = ${subdirname}
+END
+
+mkdir ${subdirname} || exit 1
+
+cat >> ${subdirname}/configure.in <<EOF
+AC_INIT([${subdirname}], [1.0])
+AM_INIT_AUTOMAKE
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
+EOF
+
+cat >${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`
+: