Move files into a directory appropriate for merging into main config repo.
authorSimon Howkins <simonh@symbian.org>
Mon, 07 Jun 2010 14:59:04 +0100
changeset 1075 20205e7ab525
parent 1074 15428d415dba
child 1076 86434e6d9873
Move files into a directory appropriate for merging into main config repo.
README.txt
common/tools/generate_package_defs.pl
common/tools/generate_system_models.pl
common/tools/split_sysdef.pl
generate_package_defs.pl
generate_system_models.pl
split_sysdef.pl
--- a/README.txt	Wed May 26 12:52:49 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-Use:
-
-perl generate_system_models.pl
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/generate_package_defs.pl	Mon Jun 07 14:59:04 2010 +0100
@@ -0,0 +1,71 @@
+use strict;
+
+my $SYSDEFTOOLS_PATH = "packages\\sysdeftools";
+my $XALAN_J = "java -jar $SYSDEFTOOLS_PATH\\xalan.jar";
+my $XALAN_C = "packages\\sysmodelgen\\rsc\\installed\\Xalan\\Xalan.exe";
+
+system("rmdir /S /Q tmp") if (-d "tmp");
+mkdir("tmp");
+chdir("tmp");
+
+print "\n\n### CLONE MCL/sftools/fbf/projects/packages REPO ###\n";
+system("hg clone -r default http://developer.symbian.org/oss/MCL/sftools/fbf/projects/packages");
+my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
+my $timestamp = sprintf "%4d%02d%02d%02d%02d%02d",$year+1900,$mon+1,$mday,$hour,$min,$sec;
+#print "\n\n### CLONE MCL/sf/os/buildtools REPO ###\n";
+#system("hg clone -r RCL_3 http://developer.symbian.org/oss/MCL/sf/os/buildtools");
+print "\n\n### CLONE MCL/sftools/fbf/projects/platforms REPO ###\n";
+system("hg clone -r default http://developer.symbian.org/oss/MCL/sftools/fbf/projects/platforms");
+
+# get the codelines from the packages repo
+opendir(DIR, "packages");
+my @codelines = grep(($_ !~ /^\.\.?$/ and $_ =~ /^symbian/), readdir(DIR));
+close(DIR);
+
+# get the changeset from the platform repo 
+my $platform_changeset = `hg -R platforms identify -i`;
+chomp $platform_changeset;
+print "-->$platform_changeset<--\n";
+
+# loop over codelines
+for my $codeline (@codelines)
+{
+	mkdir($codeline);
+	
+	# Split model into package models
+	print "\n\n### SPLIT MODEL INTO PACKAGE MODELS ###\n";
+	my $updatedefault_cmd = "hg -R packages update -r default";
+	print "$updatedefault_cmd\n";
+	system($updatedefault_cmd);
+	my $rmdir_cmd = "del /S packages\\$codeline\\package_definition.xml >nul";
+	print "$rmdir_cmd\n";
+	system($rmdir_cmd);
+	my $splitmodel_cmd = "perl ..\\split_sysdef.pl -s platforms\\$codeline\\single\\sysdefs\\system_model.xml -o packages\\$codeline";
+	print "$splitmodel_cmd\n";
+	system($splitmodel_cmd);
+	if ($codeline eq 'symbian3') # also update CompilerCompatibility
+	{
+		my $rmdir2_cmd = "del /S  packages\\CompilerCompatibility\\package_definition.xml >nul";
+		print "$rmdir2_cmd\n";
+		system($rmdir2_cmd);
+		my $splitmodel2_cmd = "perl ..\\split_sysdef.pl -s platforms\\$codeline\\single\\sysdefs\\system_model.xml -o packages\\CompilerCompatibility";
+		print "$splitmodel2_cmd\n";
+		system($splitmodel2_cmd);
+	}
+	my $addremove_cmd = "hg -R packages addremove";
+	print "$addremove_cmd\n";
+	system($addremove_cmd);
+	my $diff_cmd = "hg -R packages diff --stat";
+	print "$diff_cmd\n";
+	my @diff_output = `$diff_cmd`;
+	if (@diff_output)
+	{
+		my $commit_cmd = "hg -R packages commit -m \"Update package models from latest system model  (platform\@$platform_changeset)\" -u\"Dario Sestito <darios\@symbian.org>\"";
+		print "$commit_cmd\n";
+		system($commit_cmd);
+		my $push_cmd = "hg -R packages push http://darios:symbian696b\@developer.symbian.org/oss/MCL/sftools/fbf/projects/packages";
+		print "$push_cmd\n";
+		system($push_cmd);
+	}
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/generate_system_models.pl	Mon Jun 07 14:59:04 2010 +0100
@@ -0,0 +1,84 @@
+use strict;
+
+my $SYSDEFTOOLS_PATH = "packages\\sysdeftools";
+my $XALAN_J = "java -jar $SYSDEFTOOLS_PATH\\xalan.jar";
+my $XALAN_C = "packages\\sysmodelgen\\rsc\\installed\\Xalan\\Xalan.exe";
+
+system("rmdir /S /Q tmp") if (-d "tmp");
+mkdir("tmp");
+chdir("tmp");
+
+print "\n\n### CLONE MCL/sftools/fbf/projects/packages REPO ###\n";
+system("hg clone http://developer.symbian.org/oss/MCL/sftools/fbf/projects/packages");
+my $updatehifi_cmd = "hg -R packages update -r HighFidelityModel";
+print "$updatehifi_cmd\n";
+system($updatehifi_cmd);
+my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
+my $timestamp = sprintf "%4d%02d%02d%02d%02d%02d",$year+1900,$mon+1,$mday,$hour,$min,$sec;
+#print "\n\n### CLONE MCL/sf/os/buildtools REPO ###\n";
+#system("hg clone -r RCL_3 http://developer.symbian.org/oss/MCL/sf/os/buildtools");
+print "\n\n### CLONE MCL/sftools/fbf/projects/platforms REPO ###\n";
+system("hg clone -r default http://developer.symbian.org/oss/MCL/sftools/fbf/projects/platforms");
+
+# get the codelines from the packages repo
+opendir(DIR, "packages");
+my @codelines = grep(($_ !~ /^\.\.?$/ and $_ =~ /^symbian/), readdir(DIR));
+close(DIR);
+
+my $packages_changeset = '';
+
+# loop over codelines
+for my $codeline (@codelines)
+{
+	mkdir($codeline);
+	
+	my $ROOT_SYSDEF = "packages\\$codeline\\os\\deviceplatformrelease\\foundation_system\\system_model\\system_definition.xml";
+
+	# Full model in schema 3.0.0 format, including all of the test units.
+	print "\n\n### GENERATE FULL MODEL ###\n";
+	my $updatehifi_cmd = "hg -R packages update -r HighFidelityModel -C";
+	print "$updatehifi_cmd\n";
+	system($updatehifi_cmd);
+	if (!$packages_changeset)
+	{
+		$packages_changeset = `hg -R packages identify -i`;
+		chomp $packages_changeset;
+		print "-->$packages_changeset<--\n";
+	}
+	my $full_cmd = "$XALAN_C -o $codeline\\full_system_model_3.0.xml $ROOT_SYSDEF $SYSDEFTOOLS_PATH\\joinsysdef.xsl";
+	print "$full_cmd\n";
+	system($full_cmd);
+
+	# Filter the model to remove the test and techview units
+	print "\n\n### REMOVE UNDESIRED UNITS ###\n";
+	my $filter_cmd = "$XALAN_C -o $codeline\\system_model_3.0.xml -p filter \"'!test,!techview'\" -p filter-type 'has' $codeline\\full_system_model_3.0.xml $SYSDEFTOOLS_PATH\\filtering.xsl";
+	print "$filter_cmd\n";
+	system($filter_cmd);
+
+	# Downgrade the model to schema 2.0.1 for use with Helium and Raptor
+	print "\n\n### DOWNGRADE TO SCHEMA 2.0.1 ###\n";
+	my $downgrade_cmd = "$XALAN_C -o $codeline\\system_model.xml $codeline\\system_model_3.0.xml $SYSDEFTOOLS_PATH\\sysdefdowngrade.xsl";
+	print "$downgrade_cmd\n";
+	system($downgrade_cmd);
+
+	print "\n\n### PUSH TO PLATFORMS REPOSITORY (auto) ###\n";
+	mkdir("platforms\\$codeline") if (!-d "platforms\\$codeline");
+	mkdir("platforms\\$codeline\\single") if (!-d "platforms\\$codeline\\single");
+	mkdir("platforms\\$codeline\\single\\sysdefs") if (!-d "platforms\\$codeline\\single\\sysdefs");
+	mkdir("platforms\\$codeline\\single\\sysdefs\\auto") if (!-d "platforms\\$codeline\\single\\sysdefs\\auto");
+	my $updatesysdef_cmd = "copy /Y $codeline\\system_model.xml platforms\\$codeline\\single\\sysdefs\\auto\\system_model.xml";
+	print "$updatesysdef_cmd\n";
+	system($updatesysdef_cmd);
+	system("hg -R platforms add"); # just in case this is a new platform
+	my $diff_cmd = "hg -R platforms diff --stat";
+	print "$diff_cmd\n";
+	my @diff_output = `$diff_cmd`;
+	if (@diff_output)
+	{
+		system("hg -R platforms add");
+		system("hg -R platforms commit -m \"Add auto generated $codeline system model (packages\@$packages_changeset)\" -u\"Dario Sestito <darios\@symbian.org>\"");
+		system("hg -R platforms push http://darios:symbian696b\@developer.symbian.org/oss/MCL/sftools/fbf/projects/platforms");
+		
+	}
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/tools/split_sysdef.pl	Mon Jun 07 14:59:04 2010 +0100
@@ -0,0 +1,141 @@
+# 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:
+# Split a system model file into many package model files (one per package)
+
+use strict;
+use Getopt::Long;
+use XML::DOM;
+
+my $DEFAULT_OUTDIR = "models";
+
+my $sysdef = '';
+my $outdir = $DEFAULT_OUTDIR;
+my $help = 0;
+GetOptions((
+	'sysdef=s' => \$sysdef,
+	'outdir:s' => \$outdir,
+	'help!' => \$help
+));
+
+$help = 1 if (!$sysdef);
+
+if ($help)
+{
+	print "Split a system model file into many package model files (one per package)\n";
+	print "Usage: perl split_sysdef.pl --sysdef=FILE [OPTIONS]\n";
+	print "where:\n";
+	print "\tFILE is the input file to split\n";
+	print "and OPTIONS are:\n";
+	print "\t--outdir=DIR Generate package model files under DIR (default: $DEFAULT_OUTDIR)\n";
+	exit(0);
+}
+
+mkdir("$outdir") if (!-d$outdir);
+
+my $parser = new XML::DOM::Parser;
+my $doc = $parser->parsefile ($sysdef);
+
+# fix bldFile and mrp paths
+for my $unit ( $doc->getElementsByTagName("unit") )
+{
+	my $bldfile = $unit->getAttribute("bldFile");
+	if ($bldfile)
+	{
+		$bldfile =~ s,\\,/,g;
+		$bldfile = "/$bldfile" if ( $bldfile !~ m,^/, );
+		$bldfile = "/sf$bldfile" if ( $bldfile !~ m,^/sf, );
+		if ($bldfile =~ m,^/sf/(os|mw|app|tools|ostools|adaptation)/,)
+		{
+			$unit->setAttribute("bldFile", $bldfile);
+		}
+		else
+		{
+			print "WARNING: unexpected path in bldFile: $bldfile. Keeping as is\n";
+		}
+	}
+
+	my $mrp = $unit->getAttribute("mrp");
+	if ($mrp)
+	{
+		$mrp =~ s,\\,/,g;
+		$mrp = "/$mrp" if ( $mrp !~ m,^/, );
+		$mrp = "/sf$mrp" if ( $mrp !~ m,^/sf, );
+		if ($mrp =~ m,^/sf/(os|mw|app|tools|ostools|adaptation)/,)
+		{
+			$unit->setAttribute("mrp", $mrp);
+		}
+		else
+		{
+			print "WARNING: unexpected path in mrp: $mrp. Keeping as is\n" ;
+		}
+	}
+}
+
+my $packagedef_header = '';
+my $packagedef_trailer = '';
+
+my $systemdefinition = $doc->getElementsByTagName("SystemDefinition")->item(0);
+my $systemdefinition_attributes = $systemdefinition->getAttributes();
+my $systemdefinition_attributes_tostring = '';
+for ($systemdefinition_attributes->getValues) {$systemdefinition_attributes_tostring .= " ".$_->getName."=\"".$_->getValue."\"";}
+$packagedef_header .= "<SystemDefinition$systemdefinition_attributes_tostring>\n";
+$packagedef_trailer = "\n</SystemDefinition>".$packagedef_trailer;
+
+my $systemmodel = $systemdefinition->getElementsByTagName("systemModel")->item(0);
+my $systemmodel_attributes = $systemmodel->getAttributes();
+my $systemmodel_attributes_tostring = '';
+for ($systemmodel_attributes->getValues) {$systemmodel_attributes_tostring .= " ".$_->getName."=\"".$_->getValue."\"";}
+$packagedef_header .= "<systemModel$systemmodel_attributes_tostring>\n";
+$packagedef_trailer = "\n</systemModel>".$packagedef_trailer;
+
+for my $layer ( $systemmodel->getElementsByTagName("layer") )
+{
+	my $layer_name = $layer->getAttribute("name");
+	
+	my $layer_attributes = $layer->getAttributes();
+	my $layer_attributes_tostring = '';
+	for ($layer_attributes->getValues) {$layer_attributes_tostring .= " ".$_->getName."=\"".$_->getValue."\"";}
+	my $layer_header = "<layer$layer_attributes_tostring>\n";
+	my $layer_trailer = "\n</layer>";
+	
+	for my $block ( $layer->getElementsByTagName("block") )
+	{
+		my $block_name = $block->getAttribute("name");
+		
+		mkdir("$outdir/$layer_name") if (!-d "$outdir/$layer_name");
+		mkdir("$outdir/$layer_name/$block_name") if (!-d "$outdir/$layer_name/$block_name");
+		
+		# what source code doesn't belong to this package ?
+		for my $unit ( $block->getElementsByTagName("unit") )
+		{
+			my $bldinf = $unit->getAttribute("bldFile");
+			if ($bldinf and $bldinf !~ m,^/sf/$layer_name/$block_name,)
+			{
+				print "WARNING: $bldinf is in package: $layer_name/$block_name\n";
+			}
+		}
+		
+		open(FILE, ">$outdir/$layer_name/$block_name/package_definition.xml");
+		print FILE $doc->getXMLDecl->toString."\n" if ($doc->getXMLDecl);
+		print FILE $doc->getDoctype->toString."\n" if ($doc->getDoctype);
+		print FILE $packagedef_header;
+		print FILE $layer_header;
+		print FILE $block->toString;
+		print FILE $layer_trailer;
+		print FILE $packagedef_trailer;
+		close(FILE);
+	}
+}
+
+$doc->dispose;
+
--- a/generate_package_defs.pl	Wed May 26 12:52:49 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-use strict;
-
-my $SYSDEFTOOLS_PATH = "packages\\sysdeftools";
-my $XALAN_J = "java -jar $SYSDEFTOOLS_PATH\\xalan.jar";
-my $XALAN_C = "packages\\sysmodelgen\\rsc\\installed\\Xalan\\Xalan.exe";
-
-system("rmdir /S /Q tmp") if (-d "tmp");
-mkdir("tmp");
-chdir("tmp");
-
-print "\n\n### CLONE MCL/sftools/fbf/projects/packages REPO ###\n";
-system("hg clone -r default http://developer.symbian.org/oss/MCL/sftools/fbf/projects/packages");
-my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
-my $timestamp = sprintf "%4d%02d%02d%02d%02d%02d",$year+1900,$mon+1,$mday,$hour,$min,$sec;
-#print "\n\n### CLONE MCL/sf/os/buildtools REPO ###\n";
-#system("hg clone -r RCL_3 http://developer.symbian.org/oss/MCL/sf/os/buildtools");
-print "\n\n### CLONE MCL/sftools/fbf/projects/platforms REPO ###\n";
-system("hg clone -r default http://developer.symbian.org/oss/MCL/sftools/fbf/projects/platforms");
-
-# get the codelines from the packages repo
-opendir(DIR, "packages");
-my @codelines = grep(($_ !~ /^\.\.?$/ and $_ =~ /^symbian/), readdir(DIR));
-close(DIR);
-
-# get the changeset from the platform repo 
-my $platform_changeset = `hg -R platforms identify -i`;
-chomp $platform_changeset;
-print "-->$platform_changeset<--\n";
-
-# loop over codelines
-for my $codeline (@codelines)
-{
-	mkdir($codeline);
-	
-	# Split model into package models
-	print "\n\n### SPLIT MODEL INTO PACKAGE MODELS ###\n";
-	my $updatedefault_cmd = "hg -R packages update -r default";
-	print "$updatedefault_cmd\n";
-	system($updatedefault_cmd);
-	my $rmdir_cmd = "del /S packages\\$codeline\\package_definition.xml >nul";
-	print "$rmdir_cmd\n";
-	system($rmdir_cmd);
-	my $splitmodel_cmd = "perl ..\\split_sysdef.pl -s platforms\\$codeline\\single\\sysdefs\\system_model.xml -o packages\\$codeline";
-	print "$splitmodel_cmd\n";
-	system($splitmodel_cmd);
-	if ($codeline eq 'symbian3') # also update CompilerCompatibility
-	{
-		my $rmdir2_cmd = "del /S  packages\\CompilerCompatibility\\package_definition.xml >nul";
-		print "$rmdir2_cmd\n";
-		system($rmdir2_cmd);
-		my $splitmodel2_cmd = "perl ..\\split_sysdef.pl -s platforms\\$codeline\\single\\sysdefs\\system_model.xml -o packages\\CompilerCompatibility";
-		print "$splitmodel2_cmd\n";
-		system($splitmodel2_cmd);
-	}
-	my $addremove_cmd = "hg -R packages addremove";
-	print "$addremove_cmd\n";
-	system($addremove_cmd);
-	my $diff_cmd = "hg -R packages diff --stat";
-	print "$diff_cmd\n";
-	my @diff_output = `$diff_cmd`;
-	if (@diff_output)
-	{
-		my $commit_cmd = "hg -R packages commit -m \"Update package models from latest system model  (platform\@$platform_changeset)\" -u\"Dario Sestito <darios\@symbian.org>\"";
-		print "$commit_cmd\n";
-		system($commit_cmd);
-		my $push_cmd = "hg -R packages push http://darios:symbian696b\@developer.symbian.org/oss/MCL/sftools/fbf/projects/packages";
-		print "$push_cmd\n";
-		system($push_cmd);
-	}
-}
-
--- a/generate_system_models.pl	Wed May 26 12:52:49 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-use strict;
-
-my $SYSDEFTOOLS_PATH = "packages\\sysdeftools";
-my $XALAN_J = "java -jar $SYSDEFTOOLS_PATH\\xalan.jar";
-my $XALAN_C = "packages\\sysmodelgen\\rsc\\installed\\Xalan\\Xalan.exe";
-
-system("rmdir /S /Q tmp") if (-d "tmp");
-mkdir("tmp");
-chdir("tmp");
-
-print "\n\n### CLONE MCL/sftools/fbf/projects/packages REPO ###\n";
-system("hg clone http://developer.symbian.org/oss/MCL/sftools/fbf/projects/packages");
-my $updatehifi_cmd = "hg -R packages update -r HighFidelityModel";
-print "$updatehifi_cmd\n";
-system($updatehifi_cmd);
-my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst)=localtime(time);
-my $timestamp = sprintf "%4d%02d%02d%02d%02d%02d",$year+1900,$mon+1,$mday,$hour,$min,$sec;
-#print "\n\n### CLONE MCL/sf/os/buildtools REPO ###\n";
-#system("hg clone -r RCL_3 http://developer.symbian.org/oss/MCL/sf/os/buildtools");
-print "\n\n### CLONE MCL/sftools/fbf/projects/platforms REPO ###\n";
-system("hg clone -r default http://developer.symbian.org/oss/MCL/sftools/fbf/projects/platforms");
-
-# get the codelines from the packages repo
-opendir(DIR, "packages");
-my @codelines = grep(($_ !~ /^\.\.?$/ and $_ =~ /^symbian/), readdir(DIR));
-close(DIR);
-
-my $packages_changeset = '';
-
-# loop over codelines
-for my $codeline (@codelines)
-{
-	mkdir($codeline);
-	
-	my $ROOT_SYSDEF = "packages\\$codeline\\os\\deviceplatformrelease\\foundation_system\\system_model\\system_definition.xml";
-
-	# Full model in schema 3.0.0 format, including all of the test units.
-	print "\n\n### GENERATE FULL MODEL ###\n";
-	my $updatehifi_cmd = "hg -R packages update -r HighFidelityModel -C";
-	print "$updatehifi_cmd\n";
-	system($updatehifi_cmd);
-	if (!$packages_changeset)
-	{
-		$packages_changeset = `hg -R packages identify -i`;
-		chomp $packages_changeset;
-		print "-->$packages_changeset<--\n";
-	}
-	my $full_cmd = "$XALAN_C -o $codeline\\full_system_model_3.0.xml $ROOT_SYSDEF $SYSDEFTOOLS_PATH\\joinsysdef.xsl";
-	print "$full_cmd\n";
-	system($full_cmd);
-
-	# Filter the model to remove the test and techview units
-	print "\n\n### REMOVE UNDESIRED UNITS ###\n";
-	my $filter_cmd = "$XALAN_C -o $codeline\\system_model_3.0.xml -p filter \"'!test,!techview'\" -p filter-type 'has' $codeline\\full_system_model_3.0.xml $SYSDEFTOOLS_PATH\\filtering.xsl";
-	print "$filter_cmd\n";
-	system($filter_cmd);
-
-	# Downgrade the model to schema 2.0.1 for use with Helium and Raptor
-	print "\n\n### DOWNGRADE TO SCHEMA 2.0.1 ###\n";
-	my $downgrade_cmd = "$XALAN_C -o $codeline\\system_model.xml $codeline\\system_model_3.0.xml $SYSDEFTOOLS_PATH\\sysdefdowngrade.xsl";
-	print "$downgrade_cmd\n";
-	system($downgrade_cmd);
-
-	print "\n\n### PUSH TO PLATFORMS REPOSITORY (auto) ###\n";
-	mkdir("platforms\\$codeline") if (!-d "platforms\\$codeline");
-	mkdir("platforms\\$codeline\\single") if (!-d "platforms\\$codeline\\single");
-	mkdir("platforms\\$codeline\\single\\sysdefs") if (!-d "platforms\\$codeline\\single\\sysdefs");
-	mkdir("platforms\\$codeline\\single\\sysdefs\\auto") if (!-d "platforms\\$codeline\\single\\sysdefs\\auto");
-	my $updatesysdef_cmd = "copy /Y $codeline\\system_model.xml platforms\\$codeline\\single\\sysdefs\\auto\\system_model.xml";
-	print "$updatesysdef_cmd\n";
-	system($updatesysdef_cmd);
-	system("hg -R platforms add"); # just in case this is a new platform
-	my $diff_cmd = "hg -R platforms diff --stat";
-	print "$diff_cmd\n";
-	my @diff_output = `$diff_cmd`;
-	if (@diff_output)
-	{
-		system("hg -R platforms add");
-		system("hg -R platforms commit -m \"Add auto generated $codeline system model (packages\@$packages_changeset)\" -u\"Dario Sestito <darios\@symbian.org>\"");
-		system("hg -R platforms push http://darios:symbian696b\@developer.symbian.org/oss/MCL/sftools/fbf/projects/platforms");
-		
-	}
-}
-
--- a/split_sysdef.pl	Wed May 26 12:52:49 2010 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-# 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:
-# Split a system model file into many package model files (one per package)
-
-use strict;
-use Getopt::Long;
-use XML::DOM;
-
-my $DEFAULT_OUTDIR = "models";
-
-my $sysdef = '';
-my $outdir = $DEFAULT_OUTDIR;
-my $help = 0;
-GetOptions((
-	'sysdef=s' => \$sysdef,
-	'outdir:s' => \$outdir,
-	'help!' => \$help
-));
-
-$help = 1 if (!$sysdef);
-
-if ($help)
-{
-	print "Split a system model file into many package model files (one per package)\n";
-	print "Usage: perl split_sysdef.pl --sysdef=FILE [OPTIONS]\n";
-	print "where:\n";
-	print "\tFILE is the input file to split\n";
-	print "and OPTIONS are:\n";
-	print "\t--outdir=DIR Generate package model files under DIR (default: $DEFAULT_OUTDIR)\n";
-	exit(0);
-}
-
-mkdir("$outdir") if (!-d$outdir);
-
-my $parser = new XML::DOM::Parser;
-my $doc = $parser->parsefile ($sysdef);
-
-# fix bldFile and mrp paths
-for my $unit ( $doc->getElementsByTagName("unit") )
-{
-	my $bldfile = $unit->getAttribute("bldFile");
-	if ($bldfile)
-	{
-		$bldfile =~ s,\\,/,g;
-		$bldfile = "/$bldfile" if ( $bldfile !~ m,^/, );
-		$bldfile = "/sf$bldfile" if ( $bldfile !~ m,^/sf, );
-		if ($bldfile =~ m,^/sf/(os|mw|app|tools|ostools|adaptation)/,)
-		{
-			$unit->setAttribute("bldFile", $bldfile);
-		}
-		else
-		{
-			print "WARNING: unexpected path in bldFile: $bldfile. Keeping as is\n";
-		}
-	}
-
-	my $mrp = $unit->getAttribute("mrp");
-	if ($mrp)
-	{
-		$mrp =~ s,\\,/,g;
-		$mrp = "/$mrp" if ( $mrp !~ m,^/, );
-		$mrp = "/sf$mrp" if ( $mrp !~ m,^/sf, );
-		if ($mrp =~ m,^/sf/(os|mw|app|tools|ostools|adaptation)/,)
-		{
-			$unit->setAttribute("mrp", $mrp);
-		}
-		else
-		{
-			print "WARNING: unexpected path in mrp: $mrp. Keeping as is\n" ;
-		}
-	}
-}
-
-my $packagedef_header = '';
-my $packagedef_trailer = '';
-
-my $systemdefinition = $doc->getElementsByTagName("SystemDefinition")->item(0);
-my $systemdefinition_attributes = $systemdefinition->getAttributes();
-my $systemdefinition_attributes_tostring = '';
-for ($systemdefinition_attributes->getValues) {$systemdefinition_attributes_tostring .= " ".$_->getName."=\"".$_->getValue."\"";}
-$packagedef_header .= "<SystemDefinition$systemdefinition_attributes_tostring>\n";
-$packagedef_trailer = "\n</SystemDefinition>".$packagedef_trailer;
-
-my $systemmodel = $systemdefinition->getElementsByTagName("systemModel")->item(0);
-my $systemmodel_attributes = $systemmodel->getAttributes();
-my $systemmodel_attributes_tostring = '';
-for ($systemmodel_attributes->getValues) {$systemmodel_attributes_tostring .= " ".$_->getName."=\"".$_->getValue."\"";}
-$packagedef_header .= "<systemModel$systemmodel_attributes_tostring>\n";
-$packagedef_trailer = "\n</systemModel>".$packagedef_trailer;
-
-for my $layer ( $systemmodel->getElementsByTagName("layer") )
-{
-	my $layer_name = $layer->getAttribute("name");
-	
-	my $layer_attributes = $layer->getAttributes();
-	my $layer_attributes_tostring = '';
-	for ($layer_attributes->getValues) {$layer_attributes_tostring .= " ".$_->getName."=\"".$_->getValue."\"";}
-	my $layer_header = "<layer$layer_attributes_tostring>\n";
-	my $layer_trailer = "\n</layer>";
-	
-	for my $block ( $layer->getElementsByTagName("block") )
-	{
-		my $block_name = $block->getAttribute("name");
-		
-		mkdir("$outdir/$layer_name") if (!-d "$outdir/$layer_name");
-		mkdir("$outdir/$layer_name/$block_name") if (!-d "$outdir/$layer_name/$block_name");
-		
-		# what source code doesn't belong to this package ?
-		for my $unit ( $block->getElementsByTagName("unit") )
-		{
-			my $bldinf = $unit->getAttribute("bldFile");
-			if ($bldinf and $bldinf !~ m,^/sf/$layer_name/$block_name,)
-			{
-				print "WARNING: $bldinf is in package: $layer_name/$block_name\n";
-			}
-		}
-		
-		open(FILE, ">$outdir/$layer_name/$block_name/package_definition.xml");
-		print FILE $doc->getXMLDecl->toString."\n" if ($doc->getXMLDecl);
-		print FILE $doc->getDoctype->toString."\n" if ($doc->getDoctype);
-		print FILE $packagedef_header;
-		print FILE $layer_header;
-		print FILE $block->toString;
-		print FILE $layer_trailer;
-		print FILE $packagedef_trailer;
-		close(FILE);
-	}
-}
-
-$doc->dispose;
-