summaryrefslogtreecommitdiff
path: root/Build-tools/mysql-copyright-2
diff options
context:
space:
mode:
authorbk@work.mysql.com <>2000-07-31 21:29:14 +0200
committerbk@work.mysql.com <>2000-07-31 21:29:14 +0200
commitf4c589ff6c653d1d2a09c26e46ead3c8a15655d8 (patch)
treed253a359142dfc1ed247d5d4365d86972ea31109 /Build-tools/mysql-copyright-2
parent7eec25e393727b16bb916b50d82b0aa3084e065c (diff)
downloadmariadb-git-f4c589ff6c653d1d2a09c26e46ead3c8a15655d8.tar.gz
Import changeset
Diffstat (limited to 'Build-tools/mysql-copyright-2')
-rwxr-xr-xBuild-tools/mysql-copyright-2162
1 files changed, 162 insertions, 0 deletions
diff --git a/Build-tools/mysql-copyright-2 b/Build-tools/mysql-copyright-2
new file mode 100755
index 00000000000..5aeb4bb81db
--- /dev/null
+++ b/Build-tools/mysql-copyright-2
@@ -0,0 +1,162 @@
+#!/usr/bin/perl -i
+
+# Add the header to all given files
+# This program asumes that after the copyright there is a empty line
+#
+
+$opt_v= 0;
+require "getopts.pl";
+Getopts("v") || die "Aborted";
+
+@copyright=
+(
+ "Copyright (C) 2000 MySQL AB & MySQL Finland AB",
+ "",
+ "This software is distributed with NO WARRANTY OF ANY KIND. No author or",
+ "distributor accepts any responsibility for the consequences of using it, or",
+ "for whether it serves any particular purpose or works at all, unless he or",
+ "she says so in writing. Refer to the LICENSE file for details.",
+ "",
+ "Every copy of this file must include a copy of the License, normally in a",
+ "plain ASCII text file named LICENSE. The License grants you the right to",
+ "copy, modify and redistribute this file, but only under certain conditions",
+ "described in the License. Among other things, the License requires that",
+ "the copyright notice and this notice be preserved on all copies"
+);
+
+while (<>)
+{
+ if (!$first++)
+ {
+ add_copyright($_);
+ }
+ if ($in_copyright)
+ {
+ $in_copyright=check_in_copyright($_);
+ }
+ print $_ if (!$in_copyright);
+ if (eof)
+ {
+ $first=0; $in_copyright=1;
+ }
+}
+
+exit 0;
+
+sub add_copyright
+{
+ my ($line)=@_;
+ my ($row);
+
+ $in_copyright= $line =~ /copyright/i;
+ $found_end_copyright=$skip_this_line=0;
+
+ if (!($line =~ /Monty/ || $line =~ /MySQL AB/))
+ {
+ $in_copyright=0;
+ print STDERR "File with unknown copyright ", $ARGV,"\n" if ($opt_v);
+ return;
+ }
+ else
+ {
+ print STDERR "To be Changed: ", $ARGV, "\n" if ($opt_v);
+ }
+ if ($ARGV =~ /Makefile/ ||
+ $ARGV =~ /makefile/)
+ { # Makefile
+ $start_copyright="# ";
+ $line_copyright= "# ";
+ $end_copyright= "";
+ }
+ elsif ($line =~ "^#!")
+ { # Shell script
+ $start_copyright="# ";
+ $line_copyright= "# ";
+ $end_copyright= "";
+ $skip_this_line=1;
+ print $line;
+ while ($line=<>) # Copy all until new line or copyright
+ {
+ if ($line =~ /copyright/i)
+ {
+ last;
+ }
+ print $line;
+ last if ($line =~ /^(\s|\n)*$/);
+ }
+ $in_copyright=1;
+ }
+ elsif ($ARGV =~ /\.c$/ ||
+ $ARGV =~ /\.cc$/ ||
+ $ARGV =~ /\.h$/ ||
+ $ARGV =~ /\.yy$/ ||
+ $ARGV =~ /-x86\.s$/)
+ {
+ $start_copyright="/* ";
+ $line_copyright= " ";
+ $end_copyright= " */";
+ }
+ elsif ($ARGV =~ /\.s$/)
+ {
+ $start_copyright="! ";
+ $line_copyright= "! ";
+ $end_copyright= "";
+ }
+ elsif ($ARGV =~ /\.asm$/)
+ {
+ $start_copyright="; ";
+ $line_copyright= "; ";
+ $end_copyright= "";
+ }
+ else # Unknown file
+ {
+ $in_copyright=0;
+ print STDERR "Unknown file type ", $ARGV,"\n" if ($opt_v);
+ return;
+ }
+ $data=\@copyright;
+
+ for ($row=0 ; $row <= $#$data ; $row++)
+ {
+ print $row == 0 ? $start_copyright : $line_copyright;
+ print $data->[$row];
+ print $row != $#$data ? "\n" : $end_copyright . "\n";
+ }
+ print "\n";
+ $end_copyright =~ /\s*([^\s]+)\s*(([^\s].*)|)$/; # Remove pre and post spaces
+}
+
+#
+# Return 1 if in copyright
+#
+
+sub check_in_copyright
+{
+ my ($line)=@_;
+ $line =~ /^(.*[^\s])(\s|\n|\r)*$/; # Remove end space and newline
+ $line=$1;
+ if (!$line)
+ {
+ $found_end_copyright=1 if (!length($end_copyright));
+ return 1; # Skip empty lines
+ }
+ return 0 if ($found_end_copyright);
+ if ($end_copyright)
+ {
+ if (index($line,$end_copyright) != -1)
+ {
+ $found_end_copyright=1;
+ }
+ return 1;
+ }
+ if ($line =~ /copyright/i || index($line . " ",$line_copyright) == 0)
+ {
+ return 1;
+ }
+ if ($skip_this_line)
+ {
+ $skip_this_line=0;
+ return 1;
+ }
+ return 0; # Can't trust the empty copyright line yet
+}