--- a/browserui/browser/IadSis/buildIADsis.pl Fri Feb 19 22:53:19 2010 +0200
+++ b/browserui/browser/IadSis/buildIADsis.pl Fri Mar 12 15:43:05 2010 +0200
@@ -1,23 +1,22 @@
-#
-# 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".
+#!/usr/local/bin/perl -w
+# ============================================================================
+# Name : buildIADsis.pl
+# Description: Creates SIS installation packages for S60 Browser that
+# meets Arrow/IAD program requirements for delivery to end-user devices.
+# Also generates R&D signed SIS packages for Nokia R&D internal use.
#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description: Creates SIS installation packages for S60 Browser that
-# meets Arrow/IAD program requirements for delivery to end-user devices.
-# Also generates R&D signed SIS packages for Nokia R&D internal use.
-#
+# Copyright © 2008 Nokia. All rights reserved.
+# This material, including documentation and any related computer
+# programs, is protected by copyright controlled by Nokia. All
+# rights are reserved. Copying, including reproducing, storing,
+# adapting or translating, any or all of this material requires the
+# prior written consent of Nokia. This material also contains
+# confidential information which may not be disclosed to others
+# without the prior written consent of Nokia.
+# ============================================================================
# TODOs
-# Baseline whatlog and build whatlog need to be processed and compared
+# Baseline whatlog and build whatlog need to be processed and compared
# Notes for maintainers:
# Versioning guide:
@@ -40,31 +39,36 @@
Usage: buildIADsis.pl -opmode dev -appversion 7.1.2 -binversion 10.1 -variant 01 -nocache -verbose
Mandatory arguments:
- -opmode : either dev or integration. If integration, use filelist argument below
- -appversion: Browser version as a string e.g 7.1.420 (major.minor.build). Minor must be 1 digit.
- -variant: S60 platform specific variant code. E.g for 3.23: 01->English, 22->Chinese etc.
+ -opmode : either dev or integration. If integration, use filelist argument below
+ -appversion: Browser version as a string e.g 7.1.420 (major.minor.build). Minor must be 1 digit.
+ -platform: S60 platform. E.g 3.23 or 5.0
+ -variant: S60 platform specific variant code. E.g for 3.23: 01->English, 22->Chinese etc.
-Optional arguments:
- -filelist: A text file containing list of files to include in the PKG
- File paths must be of the form \epoc32\dir\urel\file.ext
- -binversion: version to inject inside all EXEs and DLLs. Must be 10.0 or higher.
- -nocache: does everything cleanly, no old data used
- -verbose: Turns on debug statements
- -webkey: Web signing key filename
- -webcert: Web signing certificate filename
- -cenrepkey: Cenrep signing key filename
- -cenrepcert: Cenrep signing certificate filename
-
+Optional arguments:
+ -platform: S60 platform. Such as S60.323 or S60.50
+ -filelist: A text file containing list of files to include in the PKG
+ File paths must be of the form \epoc32\dir\urel\file.ext
+ -binversion: version to inject inside all EXEs and DLLs. Must be 10.0 or higher.
+ -nocache: does everything cleanly, no old data used
+ -verbose: Turns on debug statements
+ -webkey: Web signing key filename
+ -webcert: Web signing certificate filename
+ -cenrepkey: Cenrep signing key filename
+ -cenrepcert: Cenrep signing certificate filename
+
+ For quick primer on differences between Application version and Binary version, see:
+ http://s60wiki.nokia.com/S60Wiki/How_to_guide_for_versioning
};
-my ($rawFilelist,$appVersion, $binVersion, $variant,$opmode,$lang_code);
+my ($s60platform, $rawFilelist,$appVersion, $binVersion, $variant,$opmode,$lang_code);
my (@variants);
my $langgroup;
my $type = "rnd";
my $brExe_UID3 = "0x10008D39"; #Unique ID for Browser application
my $packageTypeMajor = "RU"; # even though we use SA,RU, mention the RU in filename since it sounds more important
#TODO: We should be able to query the S60 platform by parsing some file in epoc32. Dunno how to do this. This should NOT be hardcoded.
-my $s60platform = "S60.323";
+# Inital value for s60Platform is S60.323
+$s60platform = "S60.323";
my $cenrepPkg = ".\\pkg\\BrowserNG_Cenrep.pkg";
my $cenrepSis = "BrowserNG_Cenrep.sis";
my $finalBrowserPkg = ".\\pkg\\BrowserNG.pkg";
@@ -76,10 +80,13 @@
my $webcert = ".\\cert\\RDTest_02.der";
my $cenrepkey = ".\\cert\\RDTest_02.key";
my $cenrepcert = ".\\cert\\RDTest_02.der";
+my $buildType = "urel";
my @cleanupList = ();
-GetOptions( "appversion=s",\$appVersion,
+GetOptions(
+ "platform=s", \$s60platform,
+ "appversion=s",\$appVersion,
"binversion=s",\$binVersion,
"variant=s",\$variant,
"opmode=s",\$opmode,
@@ -89,7 +96,8 @@
"webkey=s", \$webkey,
"webcert=s", \$webcert,
"cenrepkey=s", \$cenrepkey,
- "cenrepcert=s", \$cenrepcert
+ "cenrepcert=s", \$cenrepcert,
+ "build=s", \$buildType
);
@@ -143,9 +151,14 @@
}
print STDOUT "\n=== SIS filename: $browserSIS \n" ;
}
+# Handle S60.50 situations
+if ( $s60platform eq "S60.50" )
+{
+# May need special handling later
+}
### Call pkg generation perl script
-system("CreateIADpackages.pl -v $variant -p armv5 -r urel -bmajor $parsedAppVer[0] -bminor $parsedAppVer[1] -bnumber $parsedAppVer[2]");
+system("CreateIADpackages.pl -s $s60platform -v $variant -p armv5 -r urel -bmajor $parsedAppVer[0] -bminor $parsedAppVer[1] -bnumber $parsedAppVer[2] -build $buildType");
# Pick up any files from the WHAT output that match any of these regex patterns
my $filenameRegEx = join '|', qw(
@@ -161,7 +174,7 @@
[.]exe$);
-my $buildType = "urel";
+
--- a/browserui/browser/IadSis/createIADpackages.pl Fri Feb 19 22:53:19 2010 +0200
+++ b/browserui/browser/IadSis/createIADpackages.pl Fri Mar 12 15:43:05 2010 +0200
@@ -1,19 +1,31 @@
+#!perl
+# ============================================================================
+# Name: createIADPackages.pl
#
-# 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
+# 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.
+#
+# Example for using this script:
+# perl %name create_package.pl -v 15 -p armv5 -r urel -bmajor 7 -bminor 1 -bnumber 32
+#
+# Copyright © 2008 Nokia. All rights reserved.
+# This material, including documentation and any related computer
+# programs, is protected by copyright controlled by Nokia. All
+# rights are reserved. Copying, including reproducing, storing,
+# adapting or translating, any or all of this material requires the
+# prior written consent of Nokia. This material also contains
+# confidential information which may not be disclosed to others
+# without the prior written consent of Nokia.
+# ============================================================================
+#
+# TODOs
+# If possible, make all the components configurable
+# Support 5.0 and onward
+# Notes:
+# Currently only armv5 is supported, winscw is not supported
+# Currently only urel is supported. udeb is not supported
+# Currently variant support only CCB on 323
#
use Getopt::Long;
use File::Copy;
@@ -26,12 +38,13 @@
use fcntl;
my $usage = q{
-Description: This script generate browser SISx package file automatically.
+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
+Example: create_package.pl -s S60.323 -v 01 -p armv5 -r urel -bmajor 7 -bminor 1 -bnumber 32
Mandatory arguments:
+-s: S60 platform. Value such as S60.323 or S60.50
-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
@@ -43,8 +56,8 @@
- None
Limitations
-- This script is currently valid only for 'armv5 urel' builds on S60 3.2.3 platform.
-
+- This script only support armv5 urel currently
+- This script is valid for CCB on 323 build currently
};
my %num_lang = (
@@ -81,16 +94,20 @@
print @ARGV;
print "\n";
-my ($variant_num,$platform,$release,$bmajor,$bminor,$bnumber);
+my ($s60,$variant_num,$platform,$release,$bmajor,$bminor,$bnumber,$udeburel);
+$s60 = "S60.323"; # Initialize the default value
+$udeburel = "urel";
#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;
+GetOptions("s=s", => \$s60, "v=s", => \$variant_num, "p=s",=> \$platform, "r=s",=> \$release,
+ "bmajor=s", => \$bmajor, "bminor=s",=> \$bminor, "bnumber=s",=> \$bnumber,
+ "build=s", => \$udeburel) or die $usage;
print "variant $variant_num \n";
-print "platform $platform \n";
+print "s60platform $s60 \n";
print "release $release \n";
print "bmajor, $bmajor \n";
print "bminor, $bminor \n";
print "bnumber, $bnumber \n";
+print "build $udeburel \n";
print "... package variant $variant_num\n";
print "... package platform $platform \n";
@@ -115,9 +132,20 @@
:"Nokia"
;Supports S60 3rd Edition
-[0x102032BE], 0, 0, 0, {"Series60ProductID"}
+ENDHEADER0
+# consider the platform support
+# [0x102032BE], 0, 0, 0, {"Series60ProductID"}
+# [0x1028315F], 0, 0, 0, {"Series60ProductID"}
+# if ( $s60platform eq "S60.50" )
+if ( $s60 eq "S60.323" )
+{
+ print CENPKGFILE "[0x102032BE], 0, 0, 0, \{\"Series60ProductID\"\} \n\n";
+}
+if ( $s60 eq "S60.50" )
+{
+ print CENPKGFILE "[0x1028315F], 0, 0, 0, \{\"Series60ProductID\"\} \n\n";
+}
-ENDHEADER0
print CENPKGFILE "\; CenRep ini file\n";
my $SrcDir = "\\epoc32\\data\\z\\private\\10202be9\\";
my $TargetDir = "c:\\private\\10202be9\\";
@@ -153,9 +181,17 @@
:"Nokia"
;Supports S60 3rd Edition
-[0x102032BE], 0, 0, 0, {"Series60ProductID"}
-
ENDHEADER
+#[0x102032BE], 0, 0, 0, {"Series60ProductID"}
+#[0x1028315F], 0, 0, 0, {"Series60ProductID"}
+if ( $s60 eq "S60.323" )
+{
+ print PKGFILE "[0x102032BE], 0, 0, 0, \{\"Series60ProductID\"\} \n\n";
+}
+if ( $s60 eq "S60.50" )
+{
+ print PKGFILE "[0x1028315F], 0, 0, 0, \{\"Series60ProductID\"\} \n\n";
+}
# MIF resource files ot install
$SrcDir = "\\epoc32\\data\\Z\\resource\\apps\\";
@@ -292,6 +328,8 @@
$SrcDir = "\\epoc32\\data\\z\\resource\\plugins\\";
$TargetDir = "!:\\resource\\plugins\\";
print PKGFILE "\n";
+if ( $s60 eq "S60.323" )
+{
@install_files = (
"AiwBrowserProvider",
"BrowserRec",
@@ -301,8 +339,6 @@
"DeflateFilter",
"HttpFilterAcceptHeader",
"HttpFilterAuthentication",
- "HttpFilterCache",
- "HttpFilterPipeliningConfig",
"PushMtmPushContentHandler",
"PushMtmWhiteListAdapter",
"SchemeDispatcher",
@@ -317,16 +353,52 @@
"npSystemInfoPlugin",
"uaproffilter",
"widgetmemoryplugin"
-);
+ );
+}
+# Note: Some way of figuring out what need to be on the packages and
+# hope we will be able to develp an algorithms for it
+# 1. The components change you're aware of. For example gesture lib addition to browser
+# 2. Build system, you can find out what's are builded from the build system
+# 3. Search for iby files
+if ( $s60 eq "S60.50" )
+{
+@install_files = (
+ "AiwBrowserProvider",
+ "BrowserRec",
+ "CodRecog",
+ "CookieFilter",
+ "DdRecog",
+ "DeflateFilter",
+ "HttpFilterAcceptHeader",
+ "HttpFilterAuthentication",
+ "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\\";
+$SrcDir = "\\epoc32\\release\\armv5\\" . $udeburel . "\\";
$TargetDir = "!:\\sys\\bin\\";
print PKGFILE "\n";
+
+if ( $s60 eq "S60.323" )
+{
@install_files = (
"AiwBrowserProvider",
"BrowserCache",
@@ -345,13 +417,10 @@
"FavouritesEngine",
"FeedsServerApi",
"FeedsServerClient",
- "HttpCacheManager",
"HttpDMServEng",
"HttpFilterAcceptHeader",
"HttpFilterAuthentication",
- "HttpFilterCache",
"HttpFilterCommon",
- "HttpFilterPipeliningConfig",
"JavaScriptCore",
"MemMan",
"Multipartparser",
@@ -384,14 +453,77 @@
"widgetengine",
"WidgetInstaller",
"widgetmemoryplugin",
- "wmlEngine"
+ "wmlEngine",
+ "jsdevice",
);
+}
+if ( $s60 eq "S60.50" )
+{
+@install_files = (
+ "AiwBrowserProvider",
+ "BrowserCache",
+ "BrowserLauncher",
+ "BrowserRec",
+ "BrowserTelService",
+ "CodDownload",
+ "CodEng",
+ "CodRecog",
+ "CodUi",
+ "ConnectionManager",
+ "DdRecog",
+ "DeflateFilter",
+ "DownloadMgr",
+ "DownloadMgrUiLib",
+ "FavouritesEngine",
+ "FeedsServerApi",
+ "FeedsServerClient",
+ "HttpDMServEng",
+ "HttpFilterAcceptHeader",
+ "HttpFilterAuthentication",
+ "HttpFilterCommon",
+ "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",
+ "stmgesturefw",
+ "jsdevice",
+ );
+}
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\\";
+$SrcDir = "\\epoc32\\release\\armv5\\" . $udeburel . "\\";
$TargetDir = "!:\\sys\\bin\\";
print PKGFILE "\n";
@install_files = (