# HG changeset patch # User MattD # Date 1254844503 -3600 # Node ID 97b833888afe695e6e2cf3bd8726631173c31fc1 # Parent ce6215be051a7979e8349c32920136e8896fbd7f# Parent 32652d69c2cbcfe42036d3fb652ec87e6bcf61c6 merge diff -r 32652d69c2cb -r 97b833888afe clone_packages/sf_fcl_packages.txt --- a/clone_packages/sf_fcl_packages.txt Mon Oct 05 18:47:45 2009 +0100 +++ b/clone_packages/sf_fcl_packages.txt Tue Oct 06 16:55:03 2009 +0100 @@ -28,6 +28,7 @@ https://developer.symbian.org/sfl/FCL/sf/app/printing https://developer.symbian.org/sfl/FCL/sf/app/profile https://developer.symbian.org/sfl/FCL/sf/app/radio +https://developer.symbian.org/sfl/FCL/sf/app/rndtools https://developer.symbian.org/sfl/FCL/sf/app/screensaver https://developer.symbian.org/sfl/FCL/sf/app/settingsuis https://developer.symbian.org/sfl/FCL/sf/app/speechsrv @@ -41,10 +42,12 @@ https://developer.symbian.org/sfl/FCL/sf/mw/accesssec https://developer.symbian.org/sfl/FCL/sf/mw/appinstall https://developer.symbian.org/sfl/FCL/sf/mw/appsupport +https://developer.symbian.org/sfl/FCL/sf/mw/btservices https://developer.symbian.org/sfl/FCL/sf/mw/camerasrv https://developer.symbian.org/sfl/FCL/sf/mw/classicui https://developer.symbian.org/sfl/FCL/sf/mw/dlnasrv https://developer.symbian.org/sfl/FCL/sf/mw/drm +https://developer.symbian.org/sfl/FCL/sf/mw/gsprofilesrv https://developer.symbian.org/sfl/FCL/sf/mw/hapticsservices https://developer.symbian.org/sfl/FCL/sf/mw/helix https://developer.symbian.org/sfl/FCL/sf/mw/homescreensrv @@ -66,20 +69,24 @@ https://developer.symbian.org/sfl/FCL/sf/mw/networkingdm https://developer.symbian.org/sfl/FCL/sf/mw/opensrv https://developer.symbian.org/sfl/FCL/sf/mw/phonesrv +https://developer.symbian.org/sfl/FCL/sf/mw/platformtools https://developer.symbian.org/sfl/FCL/sf/mw/remoteconn https://developer.symbian.org/sfl/FCL/sf/mw/remotemgmt https://developer.symbian.org/sfl/FCL/sf/mw/remotestorage https://developer.symbian.org/sfl/FCL/sf/mw/securitysrv https://developer.symbian.org/sfl/FCL/sf/mw/shortlinkconn +https://developer.symbian.org/sfl/FCL/sf/mw/srvdiscovery https://developer.symbian.org/sfl/FCL/sf/mw/svgt https://developer.symbian.org/sfl/FCL/sf/mw/uiaccelerator https://developer.symbian.org/sfl/FCL/sf/mw/uiresources https://developer.symbian.org/sfl/FCL/sf/mw/uitools +https://developer.symbian.org/sfl/FCL/sf/mw/usbservices https://developer.symbian.org/sfl/FCL/sf/mw/videoutils https://developer.symbian.org/sfl/FCL/sf/mw/vpnclient https://developer.symbian.org/sfl/FCL/sf/mw/websrv https://developer.symbian.org/sfl/FCL/sf/mw/wirelessacc https://developer.symbian.org/sfl/FCL/sf/os/boardsupport +https://developer.symbian.org/sfl/FCL/sf/os/bt https://developer.symbian.org/sfl/FCL/sf/os/buildtools https://developer.symbian.org/sfl/FCL/sf/os/cellularsrv https://developer.symbian.org/sfl/FCL/sf/os/commsfw @@ -97,6 +104,7 @@ https://developer.symbian.org/sfl/FCL/sf/os/shortlinksrv https://developer.symbian.org/sfl/FCL/sf/os/textandloc https://developer.symbian.org/sfl/FCL/sf/os/unref +https://developer.symbian.org/sfl/FCL/sf/os/usb https://developer.symbian.org/sfl/FCL/sf/os/wlan https://developer.symbian.org/sfl/FCL/sf/os/xmlsrv https://developer.symbian.org/sfl/FCL/sf/ostools/osrndtools @@ -125,4 +133,3 @@ https://developer.symbian.org/oss/FCL/interim/fbf/projects/packages https://developer.symbian.org/oss/FCL/interim/fbf/projects/platforms - diff -r 32652d69c2cb -r 97b833888afe clone_packages/sf_mcl_packages.txt --- a/clone_packages/sf_mcl_packages.txt Mon Oct 05 18:47:45 2009 +0100 +++ b/clone_packages/sf_mcl_packages.txt Tue Oct 06 16:55:03 2009 +0100 @@ -28,6 +28,7 @@ https://developer.symbian.org/sfl/MCL/sf/app/printing https://developer.symbian.org/sfl/MCL/sf/app/profile https://developer.symbian.org/sfl/MCL/sf/app/radio +https://developer.symbian.org/sfl/MCL/sf/app/rndtools https://developer.symbian.org/sfl/MCL/sf/app/screensaver https://developer.symbian.org/sfl/MCL/sf/app/settingsuis https://developer.symbian.org/sfl/MCL/sf/app/speechsrv @@ -41,10 +42,12 @@ https://developer.symbian.org/sfl/MCL/sf/mw/accesssec https://developer.symbian.org/sfl/MCL/sf/mw/appinstall https://developer.symbian.org/sfl/MCL/sf/mw/appsupport +https://developer.symbian.org/sfl/MCL/sf/mw/btservices https://developer.symbian.org/sfl/MCL/sf/mw/camerasrv https://developer.symbian.org/sfl/MCL/sf/mw/classicui https://developer.symbian.org/sfl/MCL/sf/mw/dlnasrv https://developer.symbian.org/sfl/MCL/sf/mw/drm +https://developer.symbian.org/sfl/MCL/sf/mw/gsprofilesrv https://developer.symbian.org/sfl/MCL/sf/mw/hapticsservices https://developer.symbian.org/sfl/MCL/sf/mw/helix https://developer.symbian.org/sfl/MCL/sf/mw/homescreensrv @@ -66,20 +69,24 @@ https://developer.symbian.org/sfl/MCL/sf/mw/networkingdm https://developer.symbian.org/sfl/MCL/sf/mw/opensrv https://developer.symbian.org/sfl/MCL/sf/mw/phonesrv +https://developer.symbian.org/sfl/MCL/sf/mw/platformtools https://developer.symbian.org/sfl/MCL/sf/mw/remoteconn https://developer.symbian.org/sfl/MCL/sf/mw/remotemgmt https://developer.symbian.org/sfl/MCL/sf/mw/remotestorage https://developer.symbian.org/sfl/MCL/sf/mw/securitysrv https://developer.symbian.org/sfl/MCL/sf/mw/shortlinkconn +https://developer.symbian.org/sfl/MCL/sf/mw/srvdiscovery/ https://developer.symbian.org/sfl/MCL/sf/mw/svgt https://developer.symbian.org/sfl/MCL/sf/mw/uiaccelerator https://developer.symbian.org/sfl/MCL/sf/mw/uiresources https://developer.symbian.org/sfl/MCL/sf/mw/uitools +https://developer.symbian.org/sfl/MCL/sf/mw/usbservices https://developer.symbian.org/sfl/MCL/sf/mw/videoutils https://developer.symbian.org/sfl/MCL/sf/mw/vpnclient https://developer.symbian.org/sfl/MCL/sf/mw/websrv https://developer.symbian.org/sfl/MCL/sf/mw/wirelessacc https://developer.symbian.org/sfl/MCL/sf/os/boardsupport +https://developer.symbian.org/sfl/MCL/sf/os/bt https://developer.symbian.org/sfl/MCL/sf/os/buildtools https://developer.symbian.org/sfl/MCL/sf/os/cellularsrv https://developer.symbian.org/sfl/MCL/sf/os/commsfw @@ -91,12 +98,13 @@ https://developer.symbian.org/sfl/MCL/sf/os/lbs https://developer.symbian.org/sfl/MCL/sf/os/mm https://developer.symbian.org/sfl/MCL/sf/os/networkingsrv +https://developer.symbian.org/sfl/MCL/sf/os/osrndtools https://developer.symbian.org/sfl/MCL/sf/os/ossrv https://developer.symbian.org/sfl/MCL/sf/os/persistentdata -https://developer.symbian.org/oss/MCL/sf/os/security https://developer.symbian.org/sfl/MCL/sf/os/shortlinksrv https://developer.symbian.org/sfl/MCL/sf/os/textandloc https://developer.symbian.org/sfl/MCL/sf/os/unref +https://developer.symbian.org/sfl/MCL/sf/os/usb/ https://developer.symbian.org/sfl/MCL/sf/os/wlan https://developer.symbian.org/sfl/MCL/sf/os/xmlsrv https://developer.symbian.org/sfl/MCL/sf/ostools/osrndtools @@ -104,14 +112,9 @@ https://developer.symbian.org/sfl/MCL/sf/tools/buildplatforms https://developer.symbian.org/sfl/MCL/sf/tools/homescreentools https://developer.symbian.org/sfl/MCL/sf/tools/makefile_templates -https://developer.symbian.org/sfl/MCL/sf/tools/platformtools -https://developer.symbian.org/sfl/MCL/sf/tools/rndtools https://developer.symbian.org/sfl/MCL/sf/tools/swconfigtools https://developer.symbian.org/oss/MCL/sf/app/webuis https://developer.symbian.org/oss/MCL/sf/mw/serviceapi https://developer.symbian.org/oss/MCL/sf/mw/serviceapifw https://developer.symbian.org/oss/MCL/sf/mw/web - - - - +https://developer.symbian.org/oss/MCL/sf/os/security diff -r 32652d69c2cb -r 97b833888afe clone_packages/sf_rcl_1_packages.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/clone_packages/sf_rcl_1_packages.txt Tue Oct 06 16:55:03 2009 +0100 @@ -0,0 +1,117 @@ +https://developer.symbian.org/sfl/MCL/sf/adaptation/stubs +https://developer.symbian.org/sfl/MCL/sf/app/camera +https://developer.symbian.org/sfl/MCL/sf/app/commonemail +https://developer.symbian.org/sfl/MCL/sf/app/conntools +https://developer.symbian.org/sfl/MCL/sf/app/contacts +https://developer.symbian.org/sfl/MCL/sf/app/contentcontrol +https://developer.symbian.org/sfl/MCL/sf/app/conversations +https://developer.symbian.org/sfl/MCL/sf/app/devicecontrol +https://developer.symbian.org/sfl/MCL/sf/app/dictionary +https://developer.symbian.org/sfl/MCL/sf/app/files +https://developer.symbian.org/sfl/MCL/sf/app/gallery +https://developer.symbian.org/sfl/MCL/sf/app/graphicsuis +https://developer.symbian.org/sfl/MCL/sf/app/helps +https://developer.symbian.org/sfl/MCL/sf/app/homescreen +https://developer.symbian.org/sfl/MCL/sf/app/im +https://developer.symbian.org/sfl/MCL/sf/app/imgeditor +https://developer.symbian.org/sfl/MCL/sf/app/imgvieweruis +https://developer.symbian.org/sfl/MCL/sf/app/iptelephony +https://developer.symbian.org/sfl/MCL/sf/app/java +https://developer.symbian.org/sfl/MCL/sf/app/location +https://developer.symbian.org/sfl/MCL/sf/app/messaging +https://developer.symbian.org/sfl/MCL/sf/app/mmsharinguis +https://developer.symbian.org/sfl/MCL/sf/app/musicplayer +https://developer.symbian.org/sfl/MCL/sf/app/organizer +https://developer.symbian.org/sfl/MCL/sf/app/phone +https://developer.symbian.org/sfl/MCL/sf/app/photos +https://developer.symbian.org/sfl/MCL/sf/app/poc +https://developer.symbian.org/sfl/MCL/sf/app/printing +https://developer.symbian.org/sfl/MCL/sf/app/profile +https://developer.symbian.org/sfl/MCL/sf/app/radio +https://developer.symbian.org/sfl/MCL/sf/app/screensaver +https://developer.symbian.org/sfl/MCL/sf/app/settingsuis +https://developer.symbian.org/sfl/MCL/sf/app/speechsrv +https://developer.symbian.org/sfl/MCL/sf/app/techview +https://developer.symbian.org/sfl/MCL/sf/app/utils +https://developer.symbian.org/sfl/MCL/sf/app/videocenter +https://developer.symbian.org/sfl/MCL/sf/app/videoeditor +https://developer.symbian.org/sfl/MCL/sf/app/videoplayer +https://developer.symbian.org/sfl/MCL/sf/app/videotelephony +https://developer.symbian.org/sfl/MCL/sf/app/voicerec +https://developer.symbian.org/sfl/MCL/sf/mw/accesssec +https://developer.symbian.org/sfl/MCL/sf/mw/appinstall +https://developer.symbian.org/sfl/MCL/sf/mw/appsupport +https://developer.symbian.org/sfl/MCL/sf/mw/camerasrv +https://developer.symbian.org/sfl/MCL/sf/mw/classicui +https://developer.symbian.org/sfl/MCL/sf/mw/dlnasrv +https://developer.symbian.org/sfl/MCL/sf/mw/drm +https://developer.symbian.org/sfl/MCL/sf/mw/hapticsservices +https://developer.symbian.org/sfl/MCL/sf/mw/helix +https://developer.symbian.org/sfl/MCL/sf/mw/homescreensrv +https://developer.symbian.org/sfl/MCL/sf/mw/imghandling +https://developer.symbian.org/sfl/MCL/sf/mw/imsrv +https://developer.symbian.org/sfl/MCL/sf/mw/inputmethods +https://developer.symbian.org/sfl/MCL/sf/mw/ipappprotocols +https://developer.symbian.org/sfl/MCL/sf/mw/ipappsrv +https://developer.symbian.org/sfl/MCL/sf/mw/ipconnmgmt +https://developer.symbian.org/sfl/MCL/sf/mw/legacypresence +https://developer.symbian.org/sfl/MCL/sf/mw/locationsrv +https://developer.symbian.org/sfl/MCL/sf/mw/mds +https://developer.symbian.org/sfl/MCL/sf/mw/messagingmw +https://developer.symbian.org/sfl/MCL/sf/mw/metadatasrv +https://developer.symbian.org/sfl/MCL/sf/mw/mmappfw +https://developer.symbian.org/sfl/MCL/sf/mw/mmmw +https://developer.symbian.org/sfl/MCL/sf/mw/mmuifw +https://developer.symbian.org/sfl/MCL/sf/mw/netprotocols +https://developer.symbian.org/sfl/MCL/sf/mw/networkingdm +https://developer.symbian.org/sfl/MCL/sf/mw/opensrv +https://developer.symbian.org/sfl/MCL/sf/mw/phonesrv +https://developer.symbian.org/sfl/MCL/sf/mw/remoteconn +https://developer.symbian.org/sfl/MCL/sf/mw/remotemgmt +https://developer.symbian.org/sfl/MCL/sf/mw/remotestorage +https://developer.symbian.org/sfl/MCL/sf/mw/securitysrv +https://developer.symbian.org/sfl/MCL/sf/mw/shortlinkconn +https://developer.symbian.org/sfl/MCL/sf/mw/svgt +https://developer.symbian.org/sfl/MCL/sf/mw/uiaccelerator +https://developer.symbian.org/sfl/MCL/sf/mw/uiresources +https://developer.symbian.org/sfl/MCL/sf/mw/uitools +https://developer.symbian.org/sfl/MCL/sf/mw/videoutils +https://developer.symbian.org/sfl/MCL/sf/mw/vpnclient +https://developer.symbian.org/sfl/MCL/sf/mw/websrv +https://developer.symbian.org/sfl/MCL/sf/mw/wirelessacc +https://developer.symbian.org/sfl/MCL/sf/os/boardsupport +https://developer.symbian.org/sfl/MCL/sf/os/buildtools +https://developer.symbian.org/sfl/MCL/sf/os/cellularsrv +https://developer.symbian.org/sfl/MCL/sf/os/commsfw +https://developer.symbian.org/sfl/MCL/sf/os/deviceplatformrelease +https://developer.symbian.org/sfl/MCL/sf/os/devicesrv +https://developer.symbian.org/sfl/MCL/sf/os/graphics +https://developer.symbian.org/sfl/MCL/sf/os/imagingext +https://developer.symbian.org/sfl/MCL/sf/os/kernelhwsrv +https://developer.symbian.org/sfl/MCL/sf/os/lbs +https://developer.symbian.org/sfl/MCL/sf/os/mm +https://developer.symbian.org/sfl/MCL/sf/os/networkingsrv +https://developer.symbian.org/sfl/MCL/sf/os/ossrv +https://developer.symbian.org/sfl/MCL/sf/os/persistentdata +https://developer.symbian.org/oss/MCL/sf/os/security +https://developer.symbian.org/sfl/MCL/sf/os/shortlinksrv +https://developer.symbian.org/sfl/MCL/sf/os/textandloc +https://developer.symbian.org/sfl/MCL/sf/os/unref +https://developer.symbian.org/sfl/MCL/sf/os/wlan +https://developer.symbian.org/sfl/MCL/sf/os/xmlsrv +https://developer.symbian.org/sfl/MCL/sf/ostools/osrndtools +https://developer.symbian.org/sfl/MCL/sf/tools/build_s60 +https://developer.symbian.org/sfl/MCL/sf/tools/buildplatforms +https://developer.symbian.org/sfl/MCL/sf/tools/homescreentools +https://developer.symbian.org/sfl/MCL/sf/tools/makefile_templates +https://developer.symbian.org/sfl/MCL/sf/tools/platformtools +https://developer.symbian.org/sfl/MCL/sf/tools/rndtools +https://developer.symbian.org/sfl/MCL/sf/tools/swconfigtools +https://developer.symbian.org/oss/MCL/sf/app/webuis +https://developer.symbian.org/oss/MCL/sf/mw/serviceapi +https://developer.symbian.org/oss/MCL/sf/mw/serviceapifw +https://developer.symbian.org/oss/MCL/sf/mw/web + + + + diff -r 32652d69c2cb -r 97b833888afe clone_packages/sftools_mcl_packages.txt --- a/clone_packages/sftools_mcl_packages.txt Mon Oct 05 18:47:45 2009 +0100 +++ b/clone_packages/sftools_mcl_packages.txt Tue Oct 06 16:55:03 2009 +0100 @@ -28,4 +28,4 @@ https://developer.symbian.org/oss/MCL/sftools/dev/hostenv/javatoolsplat https://developer.symbian.org/oss/MCL/sftools/dev/hostenv/makeng https://developer.symbian.org/oss/MCL/sftools/dev/hostenv/pythontoolsplat -https://developer.symbian.org/oss/MCL/sftools/dev/ide/carbidecpp \ No newline at end of file +https://developer.symbian.org/oss/MCL/sftools/dev/ide/carbidecpp diff -r 32652d69c2cb -r 97b833888afe releaseAutomation/fcls4releasenotes.pl diff -r 32652d69c2cb -r 97b833888afe releaseAutomation/mercurialComparison.pl diff -r 32652d69c2cb -r 97b833888afe tdroadmap_merger/gettd.pl --- a/tdroadmap_merger/gettd.pl Mon Oct 05 18:47:45 2009 +0100 +++ b/tdroadmap_merger/gettd.pl Tue Oct 06 16:55:03 2009 +0100 @@ -13,6 +13,7 @@ my $ispackage; my $summaryheader="ID\tPackage\tFeatures\tFormat\tHttp\n" ; +my $newtdformat = 0; sub getpage { @@ -54,6 +55,14 @@ ($release,$package,$features,$myfile,$domain)=@_; + $release =~ s/\\//sg; + + if ($newtdformat) { + $package =~ s/backlog//sgi; + print $myfile " $release, $domain, $package, $myfeat\n"; + + } else { + $features = $features."//sg; - $release =~ s/\\//sg; + print $myfile " $release, $domain, $package, $myfeat, $mysubfeat\n"; $mysubfeat = ""; } - + } } sub loadfile @@ -110,11 +119,34 @@ open ( outputfile, ">>".$outfile); + if ($newtdformat) { + print "Processing new TD roadmap format\n"; + if ($roadmap =~ m /Contents\<\/h2\>.*?\<\/table/sg) { $roadmap =$';} + foreach (@releases) { + $exp=$_." Roadmap"; + + if ($roadmap =~ m /($exp)/sg) { + print "PASS - Found entry for $_ \n"; + $relroad =$'; + + if ($roadmap =~ m /table\>(.*?)\<\/table/sg) { $relroad =$1;} + + while ($relroad =~ m/title\=\"(.*?)\"\>(.*)/g) { + $package=$1; + $myfeat=$2; + $myfeat=~ s/\<\/td\>\/-/sg; #TODO change - to , when the old format is dead + $myfeat=~ s/\<.*?\>//sg; + prntfeatures($_,$package,$myfeat,outputfile,$domain); + + } + } + } + } else { - foreach (@releases) { + foreach (@releases) { - $exp="\\.*?\\>".$_; - + $exp="\\.*?\\>".$_; + if ($roadmap =~ m /($exp)/sg) { print "PASS - Found entry for $_ \n"; $relroad =$'; @@ -138,7 +170,7 @@ @pname =""; undef ($features); } - + } } @@ -189,8 +221,9 @@ $pagename = $1; print "INFO -Processing Package $pagename \n"; $i=0; + if ($mypkg =~m/class\=\"bugzilla sortable\"/sg ) { $headerformat="autobug_format"; } - while ($mypkg =~ m/\(.*?)\<\/tr/sg) { + while ($mypkg =~ m/\(.*?)\<\/tr/sg) { $myheader= $&; if ($myheader =~ m/style=\"background-color\:/sg) { if ($myheader =~ m/Bug ID/sg) { $headerformat="bugzilla_format";} @@ -228,13 +261,13 @@ sub printhelp { - print "\n\n version 0.5 - \ngettd.pl -t=url -d=domain \n\nrequired parameters:\n\t -t url containing the technology domain roadmap\n\t -d the technology domain name - \n\nOptional parameters\n\t-o filename ,the output is logged into the output.csv file by default\n\t-h for help - \n\t-a setup authorisation by cookie follow instructions \n\tin http://developer.symbian.org/wiki/index.php/Roadmap_merger_script#Cookies - \n\t -p adds support for package backlog analysis. just run gettd.pl -p - \n\t -compare [f1] [f2] compares two package summary files for changes ignores order - \n\t recommend to run under cygwin environment\n"; + print "\n\n version 0.6 + \ngettd.pl -t=url -d=domain \n\nRequired parameters for Technology Roadmaps:\n\t -t url containing the technology domain roadmap\n\t -d the technology domain name + \n\nOptional Parmeters for Technology Roadmaps\n\t-new if the roadmap has the new wiki format + \n\nRequired Parameters for Package backlogs\n\t-p for package backlog analysis. just run gettd.pl -p + \n\nOptional Pararmeters for Package backlogs\n\t -compare [f1] [f2] compares two package summary files for changes ignores order + \n\nCommonOptional parameters\n\t-o filename ,the output is logged into the output.csv file by default\n\t-h for help + \n\t recommend to run under cygwin environment and perl version v5.10.0 \n"; exit; } @@ -274,7 +307,7 @@ GetOptions('h' => \$help,'t=s'=> \$target_url, 'd=s' => \$tdomain , 'o=s' => \$csvfile, - 'a' => \$authon , 'p' => \$ispackage, 'compare=s{2}' =>\@compare); + 'a' => \$authon , 'p' => \$ispackage, 'compare=s{2}' =>\@compare, 'new' => \$isnewformat); if (@compare) { compare_bklogs @compare; @@ -292,7 +325,10 @@ $target_url = "http://developer.symbian.org/wiki/index.php/Category:Package_Backlog"; } + if ($isnewformat){ + $newtdformat = 1; + } if ( not $target_url) { diff -r 32652d69c2cb -r 97b833888afe tdroadmap_merger/runtd --- a/tdroadmap_merger/runtd Mon Oct 05 18:47:45 2009 +0100 +++ b/tdroadmap_merger/runtd Tue Oct 06 16:55:03 2009 +0100 @@ -6,7 +6,7 @@ perl gettd.pl -t=http://developer.symbian.org/wiki/index.php/Roadmap_for_Location -d=Location perl gettd.pl -t=http://developer.symbian.org/wiki/index.php/Roadmap_for_Multimedia -d=Multimedia perl gettd.pl -t=http://developer.symbian.org/wiki/index.php/Roadmap_for_Multimedia_Apps -d=Multimedia_Apps -perl gettd.pl -t=http://developer.symbian.org/wiki/index.php/Roadmap_for_Personal_Communications -d=Personal_Communications +perl gettd.pl -t=http://developer.symbian.org/wiki/index.php/Roadmap_and_Strategy_for_Personal_Communications -d=Personal_Communications -new perl gettd.pl -t=http://developer.symbian.org/wiki/index.php/Roadmap_for_Productivity -d=Productivity perl gettd.pl -t=http://developer.symbian.org/wiki/index.php/Roadmap_for_Runtimes -d=Runtimes perl gettd.pl -t=http://developer.symbian.org/wiki/index.php/Roadmap_for_UI -d=UI diff -r 32652d69c2cb -r 97b833888afe williamr/convert_to_epl.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/williamr/convert_to_epl.pl Tue Oct 06 16:55:03 2009 +0100 @@ -0,0 +1,163 @@ +#!/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 = ; + 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"; + diff -r 32652d69c2cb -r 97b833888afe williamr/convert_to_eula.pl --- a/williamr/convert_to_eula.pl Mon Oct 05 18:47:45 2009 +0100 +++ b/williamr/convert_to_eula.pl Tue Oct 06 16:55:03 2009 +0100 @@ -31,6 +31,7 @@ ); my @errorfiles = (); +my @multinoticefiles = (); sub map_eula($$$) { @@ -44,17 +45,19 @@ my @newlines = (); while (my $line = shift @lines) { - if (index($line,$newtext[0]) >= 0) - { - # file already converted - nothing to do - last; - } # 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]; @@ -64,13 +67,17 @@ substr $line, $pos1, length($oldtext[0]), $newtext[0]; substr $urlline, $pos2, length($oldtext[1]), $newtext[1]; push @newlines, $line, $midline, $urlline; - $updated = 1; - last; + $updated += 1; + next; } else { - print STDERR "Problem in $file: incorrectly formatted >\n$line$midline$urlline\n"; - push @errorfiles, $file; + 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; } } @@ -78,6 +85,12 @@ } 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"); @@ -118,3 +131,6 @@ 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"; +