[commit 1/3] Import gnulib's update-copyright script

Pedro Alves palves@redhat.com
Wed Apr 18 12:41:00 GMT 2012


On 01/04/2012 08:19 AM, Joel Brobecker wrote:

> gdb/ChangeLog:
> 
>         * gnulib/extra/update-copyright: New file, imported from gnulib.


It looks like this file was simply copied over instead of imported with
gnulib-tool?  If I reimport the gnulib/ directory from scratch, we lose it:

[pedro@brno][~/gdb/mygit/src/gdb]
>mv gnulib/ gnulib.org
[pedro@brno][~/gdb/mygit/src/gdb]
>~/src/gnulib/gnulib/gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib --m4-base=gnulib/m4 --doc-base=doc --tests-base=tests --aux-dir=gnulib/extra --no-libtool --macro-prefix=gl --no-vc-files inttypes memmem
...
[pedro@brno][~/gdb/mygit/src/gdb]
>git status
# On branch gnulib_fixes
# Changes not staged for commit:
#   (use "git add/rm <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#       deleted:    gnulib/Makefile.in
#       deleted:    gnulib/extra/update-copyright
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

If I pull the "update-copyright" gnulib module in addition, with:

[pedro@brno][~/gdb/mygit/src/gdb]
>~/src/gnulib/gnulib/gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib --m4-base=gnulib/m4 --doc-base=doc --tests-base=tests --aux-dir=gnulib/extra --no-libtool --macro-prefix=gl --no-vc-files inttypes memmem update-copyright

then we get it back, but, we get an older 2010 version, thus we end up with a non-empty diff, see below.

It doesn't look like we miss anything important for us.  I think I'll apply this,
and then update gnulib (using gnulib-tool) to the current upstream version.
Even if we do miss something with the rollback, we're not going to be running
the script in the middle of the year anyway.  :-)

Okay in principle?

[pedro@brno][~/gdb/mygit/src/gdb]
>git status
...
#
#       modified:   gnulib/Makefile.am
#       deleted:    gnulib/Makefile.in
#       modified:   gnulib/extra/update-copyright
#       modified:   gnulib/m4/gnulib-cache.m4
#       modified:   gnulib/m4/gnulib-comp.m4

diff --git i/gdb/gnulib/Makefile.am w/gdb/gnulib/Makefile.am
index 1296c01..e14ea74 100644
--- i/gdb/gnulib/Makefile.am
+++ w/gdb/gnulib/Makefile.am
@@ -9,7 +9,7 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib --m4-base=gnulib/m4 --doc-base=doc --tests-base=tests --aux-dir=gnulib/extra --no-libtool --macro-prefix=gl --no-vc-files inttypes memmem
+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib --m4-base=gnulib/m4 --doc-base=doc --tests-base=tests --aux-dir=gnulib/extra --no-libtool --macro-prefix=gl --no-vc-files inttypes memmem update-copyright

 AUTOMAKE_OPTIONS = 1.5 gnits

@@ -299,6 +299,13 @@ EXTRA_DIST += string.in.h

 ## end   gnulib module string

+## begin gnulib module update-copyright
+
+
+EXTRA_DIST += $(top_srcdir)/gnulib/extra/update-copyright
+
+## end   gnulib module update-copyright
+
 ## begin gnulib module warn-on-use

 BUILT_SOURCES += warn-on-use.h
diff --git i/gdb/gnulib/extra/update-copyright w/gdb/gnulib/extra/update-copyright
index 082b749..28ff441 100755
--- i/gdb/gnulib/extra/update-copyright
+++ w/gdb/gnulib/extra/update-copyright
@@ -3,9 +3,9 @@ eval '(exit $?0)' && eval 'exec perl -wS -0777 -pi "$0" ${1+"$@"}'
     if 0;
 # Update an FSF copyright year list to include the current year.

-my $VERSION = '2012-02-05.21:39'; # UTC
+my $VERSION = '2009-12-28.11:09'; # UTC

-# Copyright (C) 2009-2012 Free Software Foundation, Inc.
+# Copyright (C) 2009-2010 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
@@ -22,16 +22,12 @@ my $VERSION = '2012-02-05.21:39'; # UTC

 # Written by Jim Meyering and Joel E. Denny

-# The arguments to this script should be names of files that contain
-# copyright statements to be updated.  The copyright holder's name
-# defaults to "Free Software Foundation, Inc." but may be changed to
-# any other name by using the "UPDATE_COPYRIGHT_HOLDER" environment
-# variable.
+# The arguments to this script should be names of files that contain FSF
+# copyright statements to be updated.  For example, you might wish to
+# use the update-copyright target rule in maint.mk from gnulib's
+# maintainer-makefile module.
 #
-# For example, you might wish to use the update-copyright target rule
-# in maint.mk from gnulib's maintainer-makefile module.
-#
-# Iff a copyright statement is recognized in a file and the final
+# Iff an FSF copyright statement is recognized in a file and the final
 # year is not the current year, then the statement is updated for the
 # new year and it is reformatted to:
 #
@@ -40,10 +36,10 @@ my $VERSION = '2012-02-05.21:39'; # UTC
 #   3. Expand copyright year intervals.  (See "Environment variables"
 #      below.)
 #
-# A warning is printed for every file for which no copyright
+# A warning is printed for every file for which no FSF copyright
 # statement is recognized.
 #
-# Each file's copyright statement must be formatted correctly in
+# Each file's FSF copyright statement must be formated correctly in
 # order to be recognized.  For example, each of these is fine:
 #
 #   Copyright @copyright{} 1990-2005, 2007-2009 Free Software
@@ -63,17 +59,23 @@ my $VERSION = '2012-02-05.21:39'; # UTC
 #   ## Copyright (C) 1990-2005, 2007-2009 Free Software
 #   #  Foundation, Inc.
 #
-# However, any correctly formatted copyright statement following
-# a non-matching copyright statements would be recognized.
+# The following copyright statement is not recognized because the
+# copyright holder is not the FSF:
+#
+#   Copyright (C) 1990-2005, 2007-2009 Acme, Inc.
 #
-# The exact conditions that a file's copyright statement must meet
+# However, any correctly formatted FSF copyright statement following
+# either of the previous two copyright statements would be recognized.
+#
+# The exact conditions that a file's FSF copyright statement must meet
 # to be recognized are:
 #
-#   1. It is the first copyright statement that meets all of the
-#      following conditions.  Subsequent copyright statements are
+#   1. It is the first FSF copyright statement that meets all of the
+#      following conditions.  Subsequent FSF copyright statements are
 #      ignored.
 #   2. Its format is "Copyright (C)", then a list of copyright years,
-#      and then the name of the copyright holder.
+#      and then the name of the copyright holder, which is "Free
+#      Software Foundation, Inc.".
 #   3. The "(C)" takes one of the following forms or is omitted
 #      entirely:
 #
@@ -82,9 +84,9 @@ my $VERSION = '2012-02-05.21:39'; # UTC
 #        C. @copyright{}
 #        D. ©
 #
-#   4. The "Copyright" appears at the beginning of a line, except that it
+#   4. The "Copyright" appears at the beginning of a line except that it
 #      may be prefixed by any sequence (e.g., a comment) of no more than
-#      5 characters -- including white space.
+#      5 characters.
 #   5. Iff such a prefix is present, the same prefix appears at the
 #      beginning of each remaining line within the FSF copyright
 #      statement.  There is one exception in order to support C-style
@@ -110,23 +112,17 @@ my $VERSION = '2012-02-05.21:39'; # UTC
 #      interval (such as 1990-2008).  If unset or set to 0, all existing
 #      copyright year intervals in a reformatted FSF copyright statement
 #      are expanded instead.
-#      If UPDATE_COPYRIGHT_USE_INTERVALS=2, convert a sequence with gaps
-#      to the minimal containing range.  For example, convert
-#      2000, 2004-2007, 2009 to 2000-2009.
 #   3. For testing purposes, you can set the assumed current year in
 #      UPDATE_COPYRIGHT_YEAR.
 #   4. The default maximum line length for a copyright line is 72.
 #      Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH to use a different length.
-#   5. Set UPDATE_COPYRIGHT_HOLDER if the copyright holder is other
-#      than "Free Software Foundation, Inc.".

 use strict;
 use warnings;

 my $copyright_re = 'Copyright';
 my $circle_c_re = '(?:\([cC]\)|@copyright{}|©)';
-my $holder = $ENV{UPDATE_COPYRIGHT_HOLDER};
-$holder ||= 'Free Software Foundation, Inc.';
+my $holder = 'Free Software Foundation, Inc.';
 my $prefix_max = 5;
 my $margin = $ENV{UPDATE_COPYRIGHT_MAX_LINE_LENGTH};
 !$margin || $margin !~ m/^\d+$/
@@ -224,10 +220,6 @@ if (defined $stmt_re)
                   }))
                 )+
               /$1-$3/gx;
-
-            # When it's 2, emit a single range encompassing all year numbers.
-            $ENV{UPDATE_COPYRIGHT_USE_INTERVALS} == 2
-              and $stmt =~ s/\b(\d{4})\b.*\b(\d{4})\b/$1-$2/;
           }

         # Format within margin.
@@ -260,7 +252,7 @@ if (defined $stmt_re)
   }
 else
   {
-    print STDERR "$ARGV: warning: copyright statement not found\n";
+    print STDERR "$ARGV: warning: FSF copyright statement not found\n";
   }

 # Local variables:
diff --git i/gdb/gnulib/m4/gnulib-cache.m4 w/gdb/gnulib/m4/gnulib-cache.m4
index de1c994..e557bb7 100644
--- i/gdb/gnulib/m4/gnulib-cache.m4
+++ w/gdb/gnulib/m4/gnulib-cache.m4
@@ -15,13 +15,14 @@


 # Specification in the form of a command-line invocation:
-#   gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib --m4-base=gnulib/m4 --doc-base=doc --tests-base=tests --aux-dir=gnulib/extra --no-libtool --macro-prefix=gl --no-vc-files inttypes memmem
+#   gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib --m4-base=gnulib/m4 --doc-base=doc --tests-base=tests --aux-dir=gnulib/extra --no-libtool --macro-prefix=gl --no-vc-files inttypes memmem update-copyright

 # Specification in the form of a few gnulib-tool.m4 macro invocations:
 gl_LOCAL_DIR([])
 gl_MODULES([
   inttypes
   memmem
+  update-copyright
 ])
 gl_AVOID([])
 gl_SOURCE_BASE([gnulib])
diff --git i/gdb/gnulib/m4/gnulib-comp.m4 w/gdb/gnulib/m4/gnulib-comp.m4
index abde4aa..582e35d 100644
--- i/gdb/gnulib/m4/gnulib-comp.m4
+++ w/gdb/gnulib/m4/gnulib-comp.m4
@@ -38,6 +38,7 @@ AC_DEFUN([gl_EARLY],
   # Code from module stddef:
   # Code from module stdint:
   # Code from module string:
+  # Code from module update-copyright:
   # Code from module warn-on-use:
   # Code from module wchar:
 ])
@@ -80,6 +81,7 @@ AC_DEFUN([gl_INIT],
   gl_STDINT_H
   # Code from module string:
   gl_HEADER_STRING_H
+  # Code from module update-copyright:
   # Code from module warn-on-use:
   # Code from module wchar:
   gl_WCHAR_H
@@ -226,6 +228,7 @@ AC_DEFUN([gltests_LIBSOURCES], [
 AC_DEFUN([gl_FILE_LIST], [
   build-aux/arg-nonnull.h
   build-aux/c++defs.h
+  build-aux/update-copyright
   build-aux/warn-on-use.h
   lib/dummy.c
   lib/inttypes.in.h



More information about the Gdb-patches mailing list