browserui/browser/IadSis/createIADpackages.pl
changeset 0 84ad3b177aa3
child 33 dbd79466b1ed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/browserui/browser/IadSis/createIADpackages.pl	Mon Mar 30 12:49:49 2009 +0300
@@ -0,0 +1,425 @@
+#
+# Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# 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:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:  This script generate various SIS package files depeding on the 
+#							 depending on the variant selection. for example variant 01 will create
+#							 a package support English, French, Germany and Portuguese. 
+#
+use Getopt::Long;
+use File::Copy;
+use File::Basename;
+use strict;
+use warnings;
+use Cwd;
+use FindBin qw($Bin);
+use Data::Dumper;
+use fcntl; 
+
+my $usage = q{
+Description: This script generate browser SISx package file automatically. 
+This script usually is called by buildIADsis.pl. However it can be used separately as well. 
+	
+Example: create_package.pl -v 01 -p armv5 -r urel -bmajor 7 -bminor 1 -bnumber 32  
+
+Mandatory arguments: 
+-v: S60 language variant number
+-p: Build target platform. Valid values are: armv5 or winscw, only armv5 supported right now
+-r: Release build. Valid values are: urel or udeb, only urel supported right now 
+-bmajor: build major number. In term of Browser version 7.1.1234, 7 is the major number 
+-bminor: build minor number. In term of Browser version 7.1.1234, 1 is the minor number 
+-bnumber: build number. In term of Browser version 7.1.1234, 1234 is the build number  
+
+Optional arguments: 
+- None
+
+Limitations
+- This script is currently valid only for 'armv5 urel' builds on S60 3.2.3 platform.
+
+}; 
+
+my %num_lang = (
+	"01"	=> ["western", "01", "02", "03", "14"],
+	"02"	=> ["western", "01", "09", "06", "16"],
+	"03"	=> ["western", "01", "37", "57", "50"],
+	"04"	=> ["western", "01", "05", "27", "17"],
+	"05"	=> ["western", "01", "04", "18", "13"],
+	"06"	=> ["western", "01", "51", "76", "83"],
+	"07"	=> ["western", "01", "67", "54", "49"],
+	"08"	=> ["western", "01", "68", "78", "93"],
+	"09"	=> ["western", "01", "42", "45", "79"],
+	"10"	=> ["western", "01", "59", "70", "39"],
+	"11"	=> ["western", "01", "15", "07", "08"],
+	"12"	=> ["western", "01", "58", "94"],
+	"13"	=> ["western", "01", "25", "26", "28"],
+	"14"	=> ["china", "29", "30", "157"],
+	"15"	=> ["china", "31", "159"],
+	"16"	=> ["japan", "32", "160"],
+	"17"	=> ["thai", "33", "161"],
+	"18"  => ["western", "01", "96"],
+	"19"  => ["china", "31", "326", "159"],
+	"20"  => ["western", "05", "44", "401", "402"],
+	"50" => ["western", "01", "02", "03", "14", "09", "06", "16", "37", "57", "33", "50", "05", "27", 
+											"17", "04", "18", "13", "51", "76", "83", "67", "54", "49", "68", "78", "93", 
+											"42", "45", "79", "59", "70", "39", "15", "07", "08", "58", "94", "25", "26", "28", 
+											"96", "05", "44"],
+	"51" => ["china", "29", "30", "157", "31", "159"]
+	);	
+# To support western-all IAD delivery we need to remove Lang 401, 402 of variant 50
+
+die $usage unless @ARGV;
+
+print @ARGV; 
+print "\n"; 
+
+my ($variant_num,$platform,$release,$bmajor,$bminor,$bnumber); 
+#my ($test1, $test2, $test3); 
+GetOptions("v=s", => \$variant_num, "p=s",=> \$platform, "r=s",=> \$release,
+           "bmajor=s", => \$bmajor, "bminor=s",=> \$bminor, "bnumber=s",=> \$bnumber) or die $usage; 
+print "variant $variant_num \n";
+print "platform $platform \n"; 
+print "release $release \n";
+print "bmajor, $bmajor \n"; 
+print "bminor, $bminor \n"; 
+print "bnumber, $bnumber \n"; 
+ 
+print "... package variant $variant_num\n";
+print "... package platform $platform \n";
+print "... release $release \n";
+# print "... major mini build $bmajor $bminor $bnumber \n"); 
+# exit; 
+
+# print $release; print "\n"; 
+
+
+# Create BrowserNG_Cenrep.pkg file 
+open (CENPKGFILE, '>.\\pkg\\BrowserNG_cenrep.pkg');
+print CENPKGFILE "\;Languages\n"; 
+print CENPKGFILE "\&EN\n\n"; 
+print CENPKGFILE "\;Header\n";
+print CENPKGFILE "\#\{\"Browser CenRep INI file\"\}\, \(0x10202BE9\)\,$bmajor,$bminor,$bnumber, TYPE=SP \n\n";
+print CENPKGFILE <<ENDHEADER0;
+;Localised Vendor name
+%{"Nokia"}
+
+;Unique Vendor name
+:"Nokia"
+
+;Supports S60 3rd Edition
+[0x102032BE], 0, 0, 0, {"Series60ProductID"}
+
+ENDHEADER0
+print CENPKGFILE "\; CenRep ini file\n";
+my $SrcDir = "\\epoc32\\data\\z\\private\\10202be9\\";
+my $TargetDir = "c:\\private\\10202be9\\"; 
+print CENPKGFILE "\n";
+my @install_files = (
+	"10008d39.txt",
+	"101f8731.txt"
+);
+for my$install_file (@install_files) {
+print CENPKGFILE "\"$SrcDir$install_file\"\n - \"$TargetDir$install_file\" \n"; 
+}
+close (CENPKGFILE); 
+
+########################################################################
+# create BrowserNG.pkg file
+open (PKGFILE, '>.\\pkg\\BrowserNG.pkg');
+#print PKGFILE <<ENDHEADER;
+#;Languages
+print PKGFILE "\;Languages\n"; 
+#&EN
+print PKGFILE "\&EN\n\n"; 
+#
+#;Header
+#{"Web Browser Update"},(0x10008D39),7,1,0, TYPE=SA,RU
+print PKGFILE "\;Header\n";
+print PKGFILE "\#\{\"Web Browser Update\"\}\, \(0x10008D39\)\,$bmajor,$bminor,$bnumber, TYPE=SA,RU \n\n";
+
+print PKGFILE <<ENDHEADER;
+;Localised Vendor name
+%{"Nokia"}
+
+;Unique Vendor name
+:"Nokia"
+
+;Supports S60 3rd Edition
+[0x102032BE], 0, 0, 0, {"Series60ProductID"}
+
+ENDHEADER
+
+# MIF resource files ot install
+$SrcDir = "\\epoc32\\data\\Z\\resource\\apps\\";
+$TargetDir = "!:\\resource\\apps\\"; 
+print PKGFILE "\n";
+# print PKGFILE $SrcDir; 
+# print PKGFILE $TargetDir; 
+@install_files = (
+	"BrowserAudioVideoPlugin_aif.mif",
+	"schemeapp_aif.mif",
+	"VideoServices_AIF.MIF", 
+	"browser.mif", 
+	"browserng_aif.mif",
+	"connman.mif", 
+	"downloadmgruilib.mif",
+	"operatormenu_aif.mif",
+	"pushmtm.mif",
+	"webkiticons.mif", 
+	"webkitutilsicons.mif" 
+);
+for my $install_file (@install_files) {
+print PKGFILE "\"$SrcDir$install_file\"\n - \"$TargetDir$install_file\" \n"; 
+}
+
+# SRC resource files ot install
+$SrcDir = "\\epoc32\\data\\z\\private\\10003a3f\\apps\\";
+$TargetDir = "!:\\private\\10003a3f\\import\\apps\\"; 
+print PKGFILE "\n";
+@install_files = (
+	"BrowserNG_reg.rsc",
+	"CodViewer_reg.rsc",
+	"DdViewer_reg.rsc", 
+	"Operatormenu_reg.rsc", 
+	"PushViewer_reg.rsc",
+	"RoapApp_reg.rsc", 
+	"SchemeApp_reg.rsc",
+	"VideoServices_reg.rsc",
+	"WidgetUi_reg.rsc"
+);
+for my$install_file (@install_files) {
+print PKGFILE "\"$SrcDir$install_file\"\n - \"$TargetDir$install_file\" \n"; 
+}
+
+# SRC resource files ot install
+$SrcDir = "\\epoc32\\data\\Z\\resource\\";
+$TargetDir = "!:\\resource\\"; 
+print PKGFILE "\n";
+@install_files = (
+	"AiwBrowserProvider.rsc"
+);
+for my $install_file (@install_files) {
+print PKGFILE "\"$SrcDir$install_file\"\n - \"$TargetDir$install_file\" \n\n"; 
+}
+
+# Get the languages of the variant 
+my $variant_lang = $num_lang{$variant_num}; 
+my @variant_lang = @$variant_lang; 
+shift @variant_lang; 
+
+# generate the lang dependent files 
+for my$lang (@variant_lang) {
+  print PKGFILE "IF exists\( \"z:\\resource\\avkon.r$lang\" ) \n";	
+
+	$SrcDir = "\\epoc32\\data\\z\\resource\\";
+	$TargetDir = "!:\\resource\\"; 
+	print PKGFILE "\n";
+	@install_files = (
+		"webkit",
+		"BrowserAudioVideoPlugin",
+		"BrowserDialogsProvider", 
+		"browsertelservice", 
+		"CodUi",
+		"ConnectionManager", 
+		"DownloadMgrUiLib",
+		"WidgetInstallerUI",
+		"WidgetMenu"
+	);
+	for my$install_file (@install_files) {
+	print PKGFILE "\"$SrcDir$install_file.r$lang\"\n - \"$TargetDir$install_file.r$lang\" \n"; 
+	}
+	# generate more lang dependent files 
+	$SrcDir = "\\epoc32\\data\\z\\resource\\";
+	$TargetDir = "!:\\resource\\"; 
+	print PKGFILE "\n";
+	@install_files = (
+		"webkitutils"
+	);
+	for my$install_file (@install_files) {
+	print PKGFILE "\"$SrcDir$install_file.r$lang\"\n - \"$TargetDir$install_file.r$lang\" \n"; 	
+	}
+	# generate more lang dependent files 
+	$SrcDir = "\\epoc32\\data\\z\\resource\\apps\\";
+	$TargetDir = "!:\\resource\\apps\\"; 
+	print PKGFILE "\n";
+	@install_files = (
+		"BrowserNG",
+		"CodViewer",
+		"DdViewer",
+		"Operatormenu",
+		"PushViewer",
+		"RoapApp",
+		"SchemeApp",
+		"VideoServices",
+		"WidgetUi"
+	);
+	for my$install_file (@install_files) {
+	print PKGFILE "\"$SrcDir$install_file.r$lang\"\n - \"$TargetDir$install_file.r$lang\" \n"; 
+	}
+	# generate more lang dependent files 
+	$SrcDir = "\\epoc32\\data\\z\\resource\\messaging\\mtm\\";
+	$TargetDir = "!:\\resource\\messaging\\mtm\\"; 
+	print PKGFILE "\n";
+	@install_files = (
+		"PushRegistry"
+	);
+	for my$install_file (@install_files) {
+	print PKGFILE "\"$SrcDir$install_file.r$lang\"\n - \"$TargetDir$install_file.r$lang\" \n"; 
+	}
+	# generate more lang dependent files 
+	$SrcDir = "\\epoc32\\data\\z\\resource\\messaging\\";
+	$TargetDir = "!:\\resource\\messaging\\"; 
+	print PKGFILE "\n";
+	@install_files = (
+		"PushMtmUi"
+	);
+	for my$install_file (@install_files) {
+	print PKGFILE "\"$SrcDir$install_file.r$lang\"\n - \"$TargetDir$install_file.r$lang\" \n"; 
+	}
+print PKGFILE "ENDIF \n";
+}
+# end of generate the lang dependent files 
+
+# Non lang dependent rsc files 
+$SrcDir = "\\epoc32\\data\\z\\resource\\plugins\\";
+$TargetDir = "!:\\resource\\plugins\\"; 
+print PKGFILE "\n";
+@install_files = (
+	"AiwBrowserProvider",
+	"BrowserRec",
+	"CodRecog",
+	"CookieFilter",
+	"DdRecog",
+	"DeflateFilter",
+	"HttpFilterAcceptHeader",
+	"HttpFilterAuthentication",
+	"HttpFilterCache",
+	"HttpFilterPipeliningConfig",
+	"PushMtmPushContentHandler",
+	"PushMtmWhiteListAdapter",
+	"SchemeDispatcher",
+	"WidgetInstallerUI", 
+	"widgetRecognizer",
+	"httpfilterIop",
+	"httpfilterconnhandler",
+	"httpfilterproxy",
+	"memoryplugin",
+	"npBrowserAudioVideoPlugin",
+	"npGpsPlugin",
+	"npSystemInfoPlugin", 
+	"uaproffilter",
+	"widgetmemoryplugin"	
+);
+print PKGFILE "\n";
+for my$install_file (@install_files) {
+print PKGFILE "\"$SrcDir$install_file.rsc\"\n - \"$TargetDir$install_file.rsc\" \n"; 
+}
+
+# Files to install (binaries - DLL)
+$SrcDir = "\\epoc32\\release\\armv5\\urel\\";
+$TargetDir = "!:\\sys\\bin\\"; 
+print PKGFILE "\n";
+@install_files = (
+	"AiwBrowserProvider",
+	"BrowserCache",
+	"BrowserLauncher",
+	"BrowserRec",
+	"BrowserTelService",
+	"CodDownload",
+	"CodEng",
+	"CodRecog",
+	"CodUi",
+	"ConnectionManager",
+	"DdRecog",
+	"DeflateFilter",
+	"DownloadMgr",
+	"DownloadMgrUiLib", 
+	"FavouritesEngine",
+	"FeedsServerApi",
+	"FeedsServerClient",
+	"HttpCacheManager",
+	"HttpDMServEng",
+	"HttpFilterAcceptHeader",
+	"HttpFilterAuthentication",
+	"HttpFilterCache",
+	"HttpFilterCommon", 
+	"HttpFilterPipeliningConfig",
+	"JavaScriptCore",
+	"MemMan",
+	"Multipartparser",
+	"PushMtmCliSrv",
+	"PushMtmPushContentHandler",
+	"PushMtmUi",
+	"PushMtmUtil",
+	"PushMtmWhiteListAdapter",
+	"RECENTURLSTORE",
+	"SchemeDispatcher",
+	"WidgetInstallerUI",
+	"WidgetRecognizer",
+	"WidgetRegistryClient",
+	"browserdialogsprovider",
+	"browserengine",
+	"cXmlParser",
+	"cookiefilter",
+	"cookiemanager",
+	"httpfilterIop",
+	"httpfilterconnhandler",
+	"httpfilterproxy",
+	"memoryplugin",
+	"npBrowserAudioVideoPlugin",
+	"npGpsPlugin",
+	"npSystemInfoPlugin",
+	"pagescaler",
+	"uaproffilter",
+	"webkitutils",
+	"webutils",
+	"widgetengine",
+	"WidgetInstaller",
+	"widgetmemoryplugin",
+	"wmlEngine"
+);	
+for my$install_file (@install_files) {
+print PKGFILE "\"$SrcDir$install_file.dll\"\n - \"$TargetDir$install_file.dll\" \n"; 
+}
+
+# Files to install (binaries - EXE)
+$SrcDir = "\\epoc32\\release\\armv5\\urel\\";
+$TargetDir = "!:\\sys\\bin\\"; 
+print PKGFILE "\n";
+@install_files = (
+	"BrowserNG",
+	"CodViewer",
+	"CookieServer",
+	"DdViewer",
+	"DownloadMgrServer",
+	"FavouritesSrv",
+	"FeedsServer",
+	"OperatorMenu",
+	"PushViewer",
+	"RoapApp",
+	"SchemeApp",
+	"VideoServices",
+	"WidgetBackupRestore",
+	"widgetlauncher", 
+	"WidgetRegistry",
+	"WidgetUi"
+);	
+for my$install_file (@install_files) {
+print PKGFILE "\"$SrcDir$install_file.exe\"\n - \"$TargetDir$install_file.exe\" \n"; 
+}
+
+# add the cenrep file 
+print PKGFILE "\n\n";
+print PKGFILE "\@\"BrowserNG_Cenrep.sisx\", (0x10202BE9)\n"; 
+
+close (PKGFILE); 
+
+print "end of the package" 
\ No newline at end of file