From: Alexandre Duret-Lutz Date: Sun, 9 Nov 2003 11:55:36 +0000 (+0000) Subject: * automake.in (check_gnu_standards): Install COPYING only if X-Git-Tag: Release-1-7b~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=86c8a2d7a862b50641447eda1b9836594fc6acc4;p=thirdparty%2Fautomake.git * automake.in (check_gnu_standards): Install COPYING only if none of COPYING, COPYING.LIB, or COPYING.LESSER exist. Do not overwrite the license otherwise. * tests/Makefile.am (TESTS): Add license.test. * tests/license.test: New file. --- diff --git a/ChangeLog b/ChangeLog index d1e04bed7..7579b7207 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2003-11-09 Alexandre Duret-Lutz + * automake.in (check_gnu_standards): Install COPYING only if + none of COPYING, COPYING.LIB, or COPYING.LESSER exist. Do not + overwrite the license otherwise. + * tests/Makefile.am (TESTS): Add license.test. + * tests/license.test: New file. + * lib/mkinstalldirs: Mention automake-patches@gnu.org and bug-automake@gnu.org. * lib/compile, lib/depcomp, lib/elisp-comp, lib/mdate-sh: diff --git a/NEWS b/NEWS index 9179e408a..03c020551 100644 --- a/NEWS +++ b/NEWS @@ -182,6 +182,14 @@ New in 1.7a: it in the source tree too), and it caused several problems, varying from mere annoyance to portability issues. + - COPYING, COPYING.LIB, and COPYING.LESSER are no longer overwritten + when --add-missing and --force-missing are used. For backward + compatibility --add-missing will continue to install COPYING (in + `gnu' strictness) when none of these three files exist, but this + use is deprecated: you should better choose a license yourself and + install it once for all in your source tree (and in your code + management system). + * Miscellaneous - The Automake manual is now distributed under the terms of the GNU FDL. diff --git a/automake.in b/automake.in index 1277f3b55..c26777a03 100755 --- a/automake.in +++ b/automake.in @@ -4645,15 +4645,22 @@ sub check_gnu_standards if ($relative_dir eq '.') { # In top level (or only) directory. + require_file ("$am_file.am", GNU, + qw/INSTALL NEWS README AUTHORS ChangeLog/); # Accept one of these three licenses; default to COPYING. - my $license = 'COPYING'; - foreach (qw /COPYING.LIB COPYING.LESSER/) + # Make sure we do not overwrite an existing license. + my $license; + foreach (qw /COPYING COPYING.LIB COPYING.LESSER/) { - $license = $_ if -f $_; + if (-f $_) + { + $license = $_; + last; + } } - require_file ("$am_file.am", GNU, $license, - qw/INSTALL NEWS README AUTHORS ChangeLog/); + require_file ("$am_file.am", GNU, 'COPYING') + unless $license; } for my $opt ('no-installman', 'no-installinfo') diff --git a/tests/Makefile.am b/tests/Makefile.am index 715d0d857..587c04a18 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -275,6 +275,7 @@ libtool4.test \ libtool5.test \ libtool6.test \ libtool7.test \ +license.test \ link_c_cxx.test \ link_dist.test \ link_fc.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index b1a364c6a..161b851e8 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -387,6 +387,7 @@ libtool4.test \ libtool5.test \ libtool6.test \ libtool7.test \ +license.test \ link_c_cxx.test \ link_dist.test \ link_fc.test \ diff --git a/tests/license.test b/tests/license.test new file mode 100755 index 000000000..851026b44 --- /dev/null +++ b/tests/license.test @@ -0,0 +1,67 @@ +#! /bin/sh +# Copyright (C) 2003 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., 59 Temple Place - Suite 330, +# Boston, MA 02111-1307, USA. + +# Make sure COPYING is not overwritten, even with -a -f. + +required=makeinfo +. ./defs || exit 1 + +set -e + +echo AC_OUTPUT >>configure.in +cat >Makefile.am <<\EOF +test1: distdir + grep 'GNU GENERAL PUBLIC LICENSE' $(distdir)/COPYING +test2: distdir + grep 'MY-OWN-LICENSE' $(distdir)/COPYING +test3: distdir + test ! -f $(distdir)/COPYING + grep 'MY-OWN-LICENSE' $(distdir)/COPYING.LIB +EOF + +:> NEWS +:> AUTHORS +:> ChangeLog +:> README + +test ! -f COPYING + +$ACLOCAL +$AUTOCONF +$AUTOMAKE --gnu --add-missing + +./configure +$MAKE test1 + +# rm before echo, because COPYING is likely to be a symlink to +# the real COPYING... +rm -f COPYING +echo 'MY-OWN-LICENSE' >COPYING +$MAKE test2 + +$AUTOMAKE --gnu --add-missing --force-missing +./configure +$MAKE test2 + +rm -f COPYING +echo 'MY-OWN-LICENSE' >COPYING.LIB +$AUTOMAKE --gnu --add-missing --force-missing +./configure +$MAKE test3