williamr/convert_to_epl.pl
changeset 159 d50cda9d0682
parent 158 27cf0a88d449
parent 157 0df3a90af030
child 160 20b456b3eebf
--- a/williamr/convert_to_epl.pl	Mon Feb 08 16:26:02 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,163 +0,0 @@
-#!/usr/bin/perl
-
-# Copyright (c) 2009 Symbian Foundation Ltd
-# This component and the accompanying materials are made available
-# under the terms of the License "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Symbian Foundation Ltd - initial contribution.
-# 
-# Contributors:
-#
-# Description:
-# Map the SFL license to the EPL license, keeping a copy of the original file
-# in a parallel tree 
-
-use strict;
-use File::Copy;
-use File::Path;
-
-if (scalar @ARGV != 2)
-  {
-	print <<'EOF';
-Incorrect number of arguments
-
-Usage: perl convert_to_epl.pl workdir savedir
-
-Recursively processes workdir to examine all of the text files and convert
-all perfectly formed instances of the SFL copyright notice into EPL notices.
-
-If a file is modified, the original is first copied to the corresponding place
-under savedir. 
-
-It is safe to rerun this script if it stopped for any reason, as no converted 
-SFL notice will ever match on the second run through.
-EOF
-  exit 1;
-  }
-
-my $work_root = $ARGV[0];
-my $saved_root = $ARGV[1];
-
-$work_root =~ s/\\/\//g;    # convert to Unix separators please
-$saved_root =~ s/\\/\//g;
-
-print "* Processing $work_root, leaving the original of any modified file in $saved_root\n";
-
-my $debug = 0;
-
-my @oldtext = (
-  'terms of the License "Symbian Foundation License v1.0"',
-  'the URL "http://www.symbianfoundation.org/legal/sfl-v10.html"'
-);
-my @newtext = (
-  'terms of the License "Eclipse Public License v1.0"',
-  'the URL "http://www.eclipse.org/legal/epl-v10.html"'
-);
-
-my @errorfiles = ();
-my @multinoticefiles = ();
-
-sub map_epl($$$)
-  {
-  my ($file,$shadowdir,$name) = @_;
-  
-  open FILE, "<$file" or print "ERROR: Cannot open $file: $!\n" and return "Cannot open";
-  my @lines = <FILE>;
-  close FILE;
-  
-  my $updated = 0;
-  my @newlines = ();
-  while (my $line = shift @lines)
-    { 
-    # under the terms of the License "Symbian Foundation License v1.0"
-    # which accompanies this distribution, and is available
-    # at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
-    my $pos1 = index $line, $oldtext[0];
-    if ($pos1 >= 0)
-      {
-      # be careful - oldtext is a prefix of newtext!
-      if (index($line, $newtext[0]) >= 0)
-        {
-        # line already converted - nothing to do
-        push @newlines, $line;
-        next;
-        }
-      my $midline = shift @lines;
-      my $urlline = shift @lines;
-      my $pos2 = index $urlline, $oldtext[1];
-      if ($pos2 >= 0)
-        {
-        # Found it - assume that there's only one instance
-        substr $line, $pos1, length($oldtext[0]), $newtext[0];
-        substr $urlline, $pos2, length($oldtext[1]), $newtext[1];
-        push @newlines, $line, $midline, $urlline;
-        $updated += 1;
-        next;
-        }
-      else
-        {
-        if(!$updated)
-          {
-          my $lineno = 1 + (scalar @newlines);
-          print STDERR "Problem in $file at $lineno: incorrectly formatted >\n$line$midline$urlline\n";
-          push @errorfiles, $file;
-          }	
-        last;
-        }
-      }
-    push @newlines, $line;
-    }
-
-  return if (!$updated);
-  
-  if ($updated > 1)
-    {
-    push @multinoticefiles, $file;
-    print "! found $updated SFL notices in $file\n";
-    }
- 
-  mkpath($shadowdir, {verbose=>0});
-  move($file, "$shadowdir/$name") or die("Cannot move $file to $shadowdir/$name: $!\n");
-  open NEWFILE, ">$file" or die("Cannot overwrite $file: $!\n");
-  print NEWFILE @newlines, @lines;
-  close NEWFILE or die("Failed to update $file: $!\n");
-  print "* updated $file\n";
-  }
-
-# Process tree
-
-sub scan_directory($$)
-  {
-  my ($path, $shadow) = @_;
-  
-  opendir DIR, $path;
-  my @files = grep !/^\.\.?$/, readdir DIR;
-  closedir DIR;
-  
-  foreach my $file (@files)
-    {
-    my $newpath = "$path/$file";
-    my $newshadow = "$shadow/$file";
-    
-    if (-d $newpath)
-      {
-      scan_directory($newpath, $newshadow);
-      next;
-      }
-    next if (-B $newpath);  # ignore binary files
-    
-    map_epl($newpath, $shadow, $file);
-    }
-  }
-
-scan_directory($work_root, $saved_root);
-
-printf "%d problem files\n", scalar @errorfiles;
-print "\t", join("\n\t", @errorfiles), "\n";
-
-printf "%d files with multiple notices\n", scalar @multinoticefiles;
-print "\t", join("\n\t", @multinoticefiles), "\n";
-