diff --git a/src/tools/copyright b/src/tools/copyright deleted file mode 100755 index b0d61e1..0000000 --- a/src/tools/copyright +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh - -# src/tools/copyright - -echo "Using current year: `date '+%Y'`" - -rgrep -l 'Copyright.*PostgreSQL Global Development Group' | while read FILE -do - pipe sed 's/^\(.*Copyright (c) [12][0-9][0-9][0-9]\) \?- \?[12][0-9][0-9][0-9] \?,\?\( PostgreSQL Global Development Group.*\)$/\1-'`date '+%Y'`',\2/' $FILE - # handle cases where only one year appears - pipe sed 's/^\(.*Copyright (c) [12][0-9][0-9][0-9]\) \?,\?\( PostgreSQL Global Development Group.*\)$/\1-'`date '+%Y'`',\2/' $FILE -done - -echo "Manually update doc/src/sgml/legal.sgml and src/interfaces/libpq/libpq.rc.in too" 1>&2 diff --git a/src/tools/copyright.pl b/src/tools/copyright.pl new file mode 100755 index 0000000..d981911 --- /dev/null +++ b/src/tools/copyright.pl @@ -0,0 +1,43 @@ +#!/usr/bin/perl +################################################################# +# copyright.pl -- update copyright notices throughout the source tree, idempotently. +# +# Copyright (c) 2011, PostgreSQL Global Development Group +# +# src/tools/copyright.pl +################################################################# + +use strict; +use warnings; + +use File::Find; + +my $pgdg = 'PostgreSQL Global Development Group'; +my $cc = 'Copyright (c) '; +# year-1900 is what localtime(time) puts in element 5 +my $year = 1900+${[localtime(time)]}[5]; + +print "Using current year: $year\n"; + +find({wanted => \&wanted, no_chdir => 1}, '.'); + +sub wanted { + return unless -f $File::Find::name; + + my @lines; + tie @lines, Tie::File, $File::Find::name; + + foreach my $line (@lines) { + # We only care about lines with a copyright notice. + next unless $line =~ m/$cc.*$pgdg/; + # We stop when we've done one substitution. This is both for + # efficiency and, at least in the case of this program, for + # correctness. + last if $line =~ m/$cc.*$year.*$pgdg/; + last if $line =~ s/($cc\d{4})(, $pgdg)/$1-$year$2/; + last if $line =~ s/($cc\d{4})-\d{4}(, $pgdg)/$1-$year$2/; + } + untie @lines; +} +print "Manually update doc/src/sgml/legal.sgml and src/interfaces/libpq/libpq.rc.in too\n"; +