#!/usr/bin/perl -0777 -pi
# Update an FSF copyright year list to include the current year.
-my $VERSION = '2009-07-29.13:34'; # UTC
+my $VERSION = '2009-07-30.13:24'; # UTC
# Copyright (C) 2009 Free Software Foundation
#
# Written by Jim Meyering
+# In the copyright statement in each file, "Copyright (C)" must appear
+# at the beginning of the line except that it may be preceded by any
+# sequence (e.g., a comment) of no more than 5 characters. Iff that
+# prefix is present, the same prefix should appear at the beginning
+# of each remaining line within the copyright statement so that it
+# can be parsed correctly.
+#
+# For example, these are fine:
+#
+# # Copyright (C) 1990-2005, 2007-2009 Free Software
+# # Foundation, Inc.
+#
+# /*
+# * Copyright (C) 1990-2005, 2007-2009 Free Software
+# * Foundation, Inc.
+# */
+#
+# The following format is not recognized:
+#
+# /* Copyright (C) 1990-2005, 2007-2009 Free Software
+# * Foundation, Inc. */
+#
+# A warning is printed for every file for which the copyright format is
+# not recognized. The culprit may be that the above preconditions are
+# not obeyed as in the previous example, or it may simply be that the
+# stated copyright holder is not the Free Software Foundation.
+#
+# You may wish to place a target like the following in your top-level
+# makefile in your project:
+#
+# .PHONY: update-copyright
+# update-copyright:
+# if test -d .git; then \
+# git grep -l -w Copyright \
+# | grep -v -E '(^|/)(COPYING|ChangeLog)' \
+# | xargs $(srcdir)/build-aux/$@; \
+# fi
+#
+# You can build a list of files to skip in the second grep.
+
use strict;
use warnings;
my $this_year = $year + 1900;
my $holder = 'Free Software Foundation';
-if (/([- ])((?:\d\d)?\d\d)((?:\n\#)?\s+$holder)/s)
+my $prefix = '';
+if (/(?:^|\n)(.{0,5})Copyright \([cC]\)/) {
+ $prefix = quotemeta $1;
+}
+$holder = " $holder";
+$holder =~ s/\s/\\s*(?:\\s|\\n$prefix)\\s*/g;
+
+if (/([- ])((?:\d\d)?\d\d)($holder)/s)
{
my ($sep, $last_c_year, $rest) = ($1, $2, $3);
}
}
}
+else
+ {
+ print STDERR
+ "$ARGV: warning: external copyright holder or parse failure\n";
+ }
# Local variables:
# indent-tabs-mode: nil