1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-04-18 01:40:06 +02:00

maint: add a rule to automate the annual copyright-year-update process

* build-aux/update-copyright: New file.
* Makefile.am (changelog_etc): Add update-copyright.
(update-copyright): New rule.
This commit is contained in:
Jim Meyering
2009-06-26 13:33:59 +02:00
parent 1c16c9598e
commit e472f8fece
2 changed files with 71 additions and 0 deletions

View File

@@ -25,6 +25,7 @@ changelog_etc = \
ChangeLog-2007 \
ChangeLog-2008 \
build-aux/ChangeLog-2007 \
build-aux/update-copyright \
doc/ChangeLog-2007 \
lib/ChangeLog-2007 \
m4/ChangeLog-2007 \
@@ -143,3 +144,11 @@ check-ls-dircolors:
|sed -n '/^ *"/p'|tr , '\n'|sed 's/^ *//' \
|sed -n 's/^"\(..\)"/\1/p'|sort -u); \
test "$$dc" = "$$ls"
.PHONY: update-copyright
update-copyright:
if test -d .git; then \
git grep -l -E '2[0-9]{3} +Free' \
| grep -v -E '^(COPYING|ChangeLog)' \
| xargs $(srcdir)/build-aux/$@; \
fi

62
build-aux/update-copyright Executable file
View File

@@ -0,0 +1,62 @@
#!/usr/bin/perl -w -pi
# Update an FSF copyright year list to include the current year.
my $VERSION = '2009-06-04 08:53'; # UTC
# Copyright (C) 2009 Free Software Foundation
#
# 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/>.
# Written by Jim Meyering
use strict;
my ($sec, $min, $hour, $mday, $month, $this_year) = localtime (time());
$this_year += 1900;
my $holder = 'Free Software Foundation';
if (/([- ])((?:\d\d)?\d\d)\s+$holder/)
{
my ($sep, $last_c_year) = ($1, $2);
# Handle two-digit year numbers like "98" and "99".
$last_c_year <= 99
and $last_c_year += 1900;
if ($last_c_year != $this_year)
{
if ($sep eq '-' && $last_c_year + 1 == $this_year)
{
s//-$this_year $holder/;
}
elsif ($sep eq ' ' && $last_c_year + 1 == $this_year)
{
s// $last_c_year-$this_year $holder/;
}
else
{
s//$sep$last_c_year, $this_year $holder/;
}
}
}
# Local variables:
# indent-tabs-mode: nil
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "my $VERSION = '"
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "'; # UTC"
# End: