]> git.ipfire.org Git - thirdparty/automake.git/commitdiff
When installing COPYING, recommend adding the file to VCS.
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Sat, 22 Nov 2008 10:46:39 +0000 (11:46 +0100)
committerRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Sat, 22 Nov 2008 10:49:09 +0000 (11:49 +0100)
* automake.in (require_file_internal): If installing `COPYING',
mention that we install the GPLv3 file and recommend adding the
file to version control.
* doc/automake.texi (Invoking Automake): Point to `Gnits' node
for `--add-missing'.
(Gnits): Clarify semantics: that for strictness gnu or higher,
INSTALL is installed, and that COPYING is installed as GPLv3
if no COPYING file exists.
* tests/license2.test: New test.
* tests/Makefile.am: Update.
* NEWS, THANKS: Update.
Report by Brian Cameron.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
ChangeLog
NEWS
THANKS
automake.in
doc/automake.texi
tests/Makefile.am
tests/Makefile.in
tests/license2.test [new file with mode: 0755]

index 06ffd167bf5d452b271e3b10a4f5547f602d1eec..2548528ecf391c74a23c8f46f29e41ccf9ef4c65 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2008-11-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       When installing COPYING, recommend adding the file to VCS.
+       * automake.in (require_file_internal): If installing `COPYING',
+       mention that we install the GPLv3 file and recommend adding the
+       file to version control.
+       * doc/automake.texi (Invoking Automake): Point to `Gnits' node
+       for `--add-missing'.
+       (Gnits): Clarify semantics: that for strictness gnu or higher,
+       INSTALL is installed, and that COPYING is installed as GPLv3
+       if no COPYING file exists.
+       * tests/license2.test: New test.
+       * tests/Makefile.am: Update.
+       * NEWS, THANKS: Update.
+       Report by Brian Cameron.
+
 2008-11-20  William Pursell  <bill.pursell@gmail.com>
 
        * doc/automake.texi (Timeline): Fix typos and grammaros.
diff --git a/NEWS b/NEWS
index 7ccc3e1406477b87299fee61ce38b112dd54e24b..50a0a77d782619a01e4dcb3dfcc68aa7ae7d7961 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -57,8 +57,9 @@ New in 1.10a:
 
   - Automake is licensed under GPLv3+.  `automake --add-missing' will
     by default install the GPLv3 file as COPYING if it is missing.
-    Note that Automake will never overwrite an existing COPYING file,
-    even when the `--force-missing' option is used.
+    It will also warn that the license file should be added to source
+    control.  Note that Automake will never overwrite an existing COPYING
+    file, even when the `--force-missing' option is used.
 
   - The manual is now distributed under the terms of the GNU FDL 1.3.
 
diff --git a/THANKS b/THANKS
index 526dd47f85b00b9fc5c0f989bfb77e88ebe40598..55ec6dfa9dd6950dde48ee6a814eb93733797175 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -43,6 +43,7 @@ Bob Rossi             bob@brasko.net
 Bobby Jack             bobbykjack@yahoo.co.uk
 Braden N. McDaniel     braden@endoframe.com
 Brendan O'Dea          bod@compusol.com.au
+Brian Cameron          Brian.Cameron@Sun.COM
 Brian Ford             ford@vss.fsi.com
 Brian Gough            bjg@network-theory.co.uk
 Brian Jones            cbj@nortel.net
index 66633dfca0d29d79cea8c385e003a5058611050f..ac1c8c2ef478c273fb8852c2fd06f621c6d5b309 100755 (executable)
@@ -7380,6 +7380,7 @@ sub require_file_internal ($$$@)
                }
 
              my $trailer = '';
+             my $trailer2 = '';
              my $suppress = 0;
 
              # Only install missing files according to our desired
@@ -7395,6 +7396,17 @@ sub require_file_internal ($$$@)
                      # can, copy if we must.  Note: delete the file
                      # first, in case it is a dangling symlink.
                      $message = "installing `$fullfile'";
+
+                     # The license file should not be volatile.
+                     if ($file eq "COPYING")
+                       {
+                         $message .= " using GNU General Public License v3 file";
+                         $trailer2 = "\n    Consider adding the COPYING file"
+                                   . " to the version control system"
+                                   . "\n    for your code, to avoid questions"
+                                   . " about which license your project uses.";
+                       }
+
                      # Windows Perl will hang if we try to delete a
                      # file that doesn't exist.
                      unlink ($fullfile) if -f $fullfile;
@@ -7447,7 +7459,7 @@ sub require_file_internal ($$$@)
              next
                if !$suppress && rule $file;
 
-             msg ($suppress ? 'note' : 'error', $where, "$message$trailer");
+             msg ($suppress ? 'note' : 'error', $where, "$message$trailer$trailer2");
            }
        }
     }
index 3d12c61dcf24839781114ddc20ba911f84e1a213..2fe3adbaa1a13a01dfa9728289f13ad3ea9e29bc 100644 (file)
@@ -2438,6 +2438,9 @@ Therefore, @code{AC_CONFIG_AUX_DIR}'s setting affects whether a
 file is considered missing, and where the missing file is added
 (@pxref{Optional}).
 
+In some strictness modes, additional files are installed, see @ref{Gnits}
+for more information.
+
 @item --libdir=@var{dir}
 @opindex --libdir
 Look for Automake data files in directory @var{dir} instead of in the
@@ -9152,6 +9155,14 @@ The files @file{INSTALL}, @file{NEWS}, @file{README}, @file{AUTHORS},
 and @file{ChangeLog}, plus one of @file{COPYING.LIB}, @file{COPYING.LESSER}
 or @file{COPYING}, are required at the topmost directory of the package.
 
+If the @option{--add-missing} option is given, @command{automake} will
+add a generic version of the @file{INSTALL} file as well as the
+@file{COPYING} file containing the text of the current version of the
+GNU General Public License existing at the time of this Automake release
+(version 3 as this is written, @uref{http://www.gnu.org/@/copyleft/@/gpl.html}).
+However, an existing @file{COPYING} file will never be overwritten by
+@command{automake}.
+
 @item
 The options @option{no-installman} and @option{no-installinfo} are
 prohibited.
index 023e1f73a97903748bf8824654a21a974a79d769..46fe0d51045f87c4641bdb634b1a953fbd4203ba 100644 (file)
@@ -359,6 +359,7 @@ libtool9.test \
 libtoo10.test \
 libtoo11.test \
 license.test \
+license2.test \
 link_c_cxx.test        \
 link_dist.test \
 link_f90_only.test \
index 4207f6c4276addc75e71e8b3f953694f5b54c481..57451a2fe2a12c0cf3ce2bfe313ffcab0da36dd4 100644 (file)
@@ -512,6 +512,7 @@ libtool9.test \
 libtoo10.test \
 libtoo11.test \
 license.test \
+license2.test \
 link_c_cxx.test        \
 link_dist.test \
 link_f90_only.test \
diff --git a/tests/license2.test b/tests/license2.test
new file mode 100755 (executable)
index 0000000..f16ed00
--- /dev/null
@@ -0,0 +1,41 @@
+#! /bin/sh
+# Copyright (C) 2008  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 3, 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 that installing `COPYING' outputs a warning.
+
+. ./defs || Exit 1
+
+set -e
+
+cat > Makefile.am << 'END'
+AUTOMAKE_OPTIONS = gnu
+END
+
+: >AUTHORS
+: >NEWS
+: >README
+: >ChangeLog
+: >INSTALL
+
+$ACLOCAL
+AUTOMAKE_fails
+grep 'COPYING' stderr
+
+AUTOMAKE_run 0 --add-missing
+grep 'COPYING' stderr
+grep 'GNU General Public License' stderr
+grep 'Consider adding.*version control' stderr
+test -f COPYING