installationservices/swinstallationfw/test/tusif/group/createleesisfiles.pl
branchRCL_3
changeset 25 7333d7932ef7
equal deleted inserted replaced
24:5cc91383ab1e 25:7333d7932ef7
       
     1 #
       
     2 # Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
       
     3 # All rights reserved.
       
     4 # This component and the accompanying materials are made available
       
     5 # under the terms of the License "Eclipse Public License v1.0"
       
     6 # which accompanies this distribution, and is available
       
     7 # at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 #
       
     9 # Initial Contributors:
       
    10 # Nokia Corporation - initial contribution.
       
    11 #
       
    12 # Contributors:
       
    13 #
       
    14 # Description: 
       
    15 #
       
    16 
       
    17 
       
    18 use Cwd;
       
    19 use File::Copy;
       
    20 use File::Basename;
       
    21 
       
    22 # Helpers
       
    23 sub ReadFile($);
       
    24 sub WriteFile($$);
       
    25 sub EditFile($$$);
       
    26 
       
    27 print "This script creates SIS files containing LEEs for SIF integration tests\n";
       
    28 
       
    29 my $PLATFORM=@ARGV[0];
       
    30 my $CONFIGURATION=@ARGV[1];
       
    31 
       
    32 my $securitySourceDir = $ENV{SECURITYSOURCEDIR};
       
    33 my $CERTPATH = "$securitySourceDir\\installationservices\\switestfw\\testcertificates\\swi\\test\\tsisfile\\data\\signedsis\\Root5CA\\cert_chain_dsa_len1\\first.dsa.cer";
       
    34 my $KEYPATH = "$securitySourceDir\\installationservices\\swi\\test\\tsisfile\\data\\signedsis\\Root5CA\\cert_chain_dsa_len1\\dsa1.key";
       
    35 my $PKGDIR = "$securitySourceDir\\installationservices\\swinstallationfw\\test\\tusif\\scripts\\data";
       
    36 my $BUILDDIR = "\\epoc32\\release\\$PLATFORM\\$CONFIGURATION";
       
    37 my $DATADIR = "$BUILDDIR\\z\\tusif\\tswtype\\data";
       
    38 my $DATADIR_TSIF = "$BUILDDIR\\z\\tusif\\tsif\\data";
       
    39 my $ARMV5DATADIR = "\\epoc32\\data\\z\\tusif\\tswtype\\data";
       
    40 my $ARMV5DATADIR_TSIF = "\\epoc32\\data\\z\\tusif\\tsif\\data";
       
    41 
       
    42 my $BASE = 'sifswtypebase';
       
    43 my $UPGRADE = 'sifswtypeupgrade';
       
    44 my $SIFGETCOMAPPARCINFOTEST = 'sifgetcompapparcinfotest';
       
    45 my $SIFGETCOMAPPARCINFOTESTMULTILANG = 'sifgetcompapparcinfotestmultilang';
       
    46 my $SIFGETCOMAPPARCINFOTESTMULTIFILES = 'sifgetcompapparcinfotestmultifiles';
       
    47 my $SIFGETCOMAPPARCINFOTESTNONAPPARCRSC = 'sifgetcompapparcinfotestnonapparcrsc';
       
    48 my $SIFGETCOMAPPARCINFOTESTNONAPPARCPATH = 'sifgetcompapparcinfotestnonapparcpath';
       
    49 my $SIFGETCOMAPPARCINFOTESTMULTIAPP = 'sifgetcompapparcinfotestmultiapp';
       
    50 my $SIFGETCOMAPPARCINFOTESTMULTIAPPONEAPPWITHNONAPPARCRSC = 'sifgetcompapparcinfotestmultiapp_OneAppWithNonApparcRsc';
       
    51 my $SIFGETCOMAPPARCINFOTESTCORRUPTRSC = 'sifgetcompapparcinfotest_corruptrsc';
       
    52 my $SIFGETCOMAPPARCINFOTESTEMBEDDED = 'sifgetcompapparcinfotestembedded_innerwithdifficon';
       
    53 my $SIFGETCOMAPPARCINFOTESTNOLOCALE = 'sifgetcompapparcinfotest_nolocale';
       
    54 my $SIFGETCOMAPPARCINFOTESTLARGEANDSMALLEXTN = 'sifgetcompapparcinfotestmultifiles_largeandsmallextn';
       
    55 my $SWIAPPREGINTEGRATION_CASE05 = 'swiappregintegration_case05';
       
    56 my $SWIAPPREGINTEGRATION_CASE05_SU = 'swiappregintegration_case05_SU';
       
    57 my $SWIAPPREGINTEGRATION_CASE06_BASE = 'swiappregintegration_case06_base';
       
    58 my $SWIAPPREGINTEGRATION_CASE06_SP3 = 'swiappregintegration_case06_sp3';
       
    59 my $SWIAPPREGINTEGRATION_CASE06_SP2 = 'swiappregintegration_case06_sp2';
       
    60 my $SWIAPPREGINTEGRATION_CASE06_PU = 'swiappregintegration_case06_pu';
       
    61 my $SWIAPPREGINTEGRATION_CASE06_SP1 = 'swiappregintegration_case06_sp1';
       
    62 my $SWIAPPREGINTEGRATION_CASE06_SA = 'swiappregintegration_case06_sa';
       
    63 my $SWIAPPREGINTEGRATION_CASE08_SA1 = 'swiappregintegration_case08_sa1';
       
    64 my $SWIAPPREGINTEGRATION_CASE08_SA2 = 'swiappregintegration_case08_sa2';
       
    65 my $suffix = '_edited';
       
    66 
       
    67 # Replace <BUILDMIDPATH> and <ZDRIVEMIDPATH> in the PKG files with the current values
       
    68 my $ZDRIVEMIDPATH = 'data';
       
    69 if (lc($PLATFORM) ne "armv5")
       
    70 	{
       
    71 	$ZDRIVEMIDPATH = "release\\$PLATFORM\\$CONFIGURATION";
       
    72 	}
       
    73 my $BUILDMIDPATH = "release\\$PLATFORM\\$CONFIGURATION";
       
    74 EditFile("$PKGDIR\\$BASE.pkg", "$PKGDIR\\$BASE$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    75 EditFile("$PKGDIR\\$UPGRADE.pkg", "$PKGDIR\\$UPGRADE$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    76 EditFile("$PKGDIR\\$SIFGETCOMAPPARCINFOTEST.pkg", "$PKGDIR\\$SIFGETCOMAPPARCINFOTEST$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    77 EditFile("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTILANG.pkg", "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTILANG$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    78 EditFile("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTIFILES.pkg", "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTIFILES$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    79 EditFile("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTNONAPPARCRSC.pkg", "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTNONAPPARCRSC$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    80 EditFile("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTNONAPPARCPATH.pkg", "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTNONAPPARCPATH$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    81 EditFile("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTIAPP.pkg", "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTIAPP$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    82 EditFile("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTIAPPONEAPPWITHNONAPPARCRSC.pkg", "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTIAPPONEAPPWITHNONAPPARCRSC$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    83 EditFile("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTCORRUPTRSC.pkg", "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTCORRUPTRSC$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    84 EditFile("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTEMBEDDED.pkg", "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTEMBEDDED$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    85 EditFile("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTNOLOCALE.pkg", "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTNOLOCALE$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    86 EditFile("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTLARGEANDSMALLEXTN.pkg", "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTLARGEANDSMALLEXTN$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    87 EditFile("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE05.pkg", "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE05$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    88 EditFile("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE05_SU.pkg", "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE05_SU$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    89 EditFile("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_BASE.pkg", "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_BASE$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    90 EditFile("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SP3.pkg", "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SP3$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    91 EditFile("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SP2.pkg", "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SP2$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    92 EditFile("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_PU.pkg", "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_PU$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    93 EditFile("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SP1.pkg", "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SP1$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    94 EditFile("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SA.pkg", "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SA$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    95 EditFile("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE08_SA1.pkg", "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE08_SA1$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    96 EditFile("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE08_SA2.pkg", "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE08_SA2$suffix.pkg" , sub { s/<BUILDMIDPATH>/$BUILDMIDPATH/gm; s/<ZDRIVEMIDPATH>/$ZDRIVEMIDPATH/gm; });
       
    97 
       
    98 
       
    99 my $dir = getcwd;
       
   100 chdir $PKGDIR;
       
   101 
       
   102 # Generate SIS files for SIF integration tests
       
   103 my $CREATESISCMD = "createsis create -cert $CERTPATH -key $KEYPATH";
       
   104 `$CREATESISCMD $PKGDIR\\$BASE$suffix.pkg`;
       
   105 `$CREATESISCMD $PKGDIR\\$UPGRADE$suffix.pkg`;
       
   106 `$CREATESISCMD $PKGDIR\\$SIFGETCOMAPPARCINFOTEST$suffix.pkg`;
       
   107 `$CREATESISCMD $PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTILANG$suffix.pkg`;
       
   108 `$CREATESISCMD $PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTIFILES$suffix.pkg`;
       
   109 `$CREATESISCMD $PKGDIR\\$SIFGETCOMAPPARCINFOTESTNONAPPARCRSC$suffix.pkg`;
       
   110 `$CREATESISCMD $PKGDIR\\$SIFGETCOMAPPARCINFOTESTNONAPPARCPATH$suffix.pkg`;
       
   111 `$CREATESISCMD $PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTIAPP$suffix.pkg`;
       
   112 `$CREATESISCMD $PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTIAPPONEAPPWITHNONAPPARCRSC$suffix.pkg`;
       
   113 `$CREATESISCMD $PKGDIR\\$SIFGETCOMAPPARCINFOTESTCORRUPTRSC$suffix.pkg`;
       
   114 `$CREATESISCMD $PKGDIR\\$SIFGETCOMAPPARCINFOTESTNOLOCALE$suffix.pkg`;
       
   115 `$CREATESISCMD $PKGDIR\\$SIFGETCOMAPPARCINFOTESTLARGEANDSMALLEXTN$suffix.pkg`;
       
   116 `$CREATESISCMD $PKGDIR\\$SWIAPPREGINTEGRATION_CASE05$suffix.pkg`;
       
   117 `$CREATESISCMD $PKGDIR\\$SWIAPPREGINTEGRATION_CASE05_SU$suffix.pkg`;
       
   118 `$CREATESISCMD $PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_BASE$suffix.pkg`;
       
   119 `$CREATESISCMD $PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SP3$suffix.pkg`;
       
   120 `$CREATESISCMD $PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SP2$suffix.pkg`;
       
   121 `$CREATESISCMD $PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_PU$suffix.pkg`;
       
   122 `$CREATESISCMD $PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SP1$suffix.pkg`;
       
   123 `$CREATESISCMD $PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SA$suffix.pkg`;
       
   124 `$CREATESISCMD $PKGDIR\\$SWIAPPREGINTEGRATION_CASE08_SA1$suffix.pkg`;
       
   125 `$CREATESISCMD $PKGDIR\\$SWIAPPREGINTEGRATION_CASE08_SA2$suffix.pkg`;
       
   126 
       
   127 # Copy generated SIS files onto the Z drive
       
   128 if (lc($PLATFORM) ne "armv5")
       
   129 	{
       
   130 	unlink "$DATADIR\\$BASE.sis";
       
   131 	move("$PKGDIR\\$BASE$suffix.sis", "$DATADIR\\$BASE.sis");
       
   132 	unlink "$DATADIR\\$UPGRADE.sis";
       
   133 	move("$PKGDIR\\$UPGRADE$suffix.sis", "$DATADIR\\$UPGRADE.sis");
       
   134 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTEST.sis";
       
   135 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTEST$suffix.sis", "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTEST.sis");
       
   136 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTMULTILANG.sis";
       
   137 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTILANG$suffix.sis", "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTMULTILANG.sis");
       
   138 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTMULTIFILES.sis";
       
   139 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTIFILES$suffix.sis", "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTMULTIFILES.sis");
       
   140 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTNONAPPARCRSC.sis";
       
   141 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTNONAPPARCRSC$suffix.sis", "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTNONAPPARCRSC.sis");
       
   142 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTNONAPPARCPATH.sis";
       
   143 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTNONAPPARCPATH$suffix.sis", "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTNONAPPARCPATH.sis");
       
   144 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTMULTIAPP.sis";
       
   145 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTIAPP$suffix.sis", "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTMULTIAPP.sis");	
       
   146 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTMULTIAPPONEAPPWITHNONAPPARCRSC.sis";
       
   147 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTIAPPONEAPPWITHNONAPPARCRSC$suffix.sis", "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTMULTIAPPONEAPPWITHNONAPPARCRSC.sis");	
       
   148 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTCORRUPTRSC.sis";
       
   149 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTCORRUPTRSC$suffix.sis", "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTCORRUPTRSC.sis");	
       
   150 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTNOLOCALE.sis";
       
   151 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTNOLOCALE$suffix.sis", "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTNOLOCALE.sis");	
       
   152 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTLARGEANDSMALLEXTN.sis";
       
   153 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTLARGEANDSMALLEXTN$suffix.sis", "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTLARGEANDSMALLEXTN.sis");
       
   154 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE05.sis";
       
   155 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE05$suffix.sis", "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE05.sis");	
       
   156 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE05_SU.sis";
       
   157 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE05_SU$suffix.sis", "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE05_SU.sis");	
       
   158 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_BASE.sis";
       
   159 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_BASE$suffix.sis", "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_BASE.sis");	
       
   160 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_SP3.sis";
       
   161 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SP3$suffix.sis", "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_SP3.sis");	
       
   162 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_SP2.sis";
       
   163 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SP2$suffix.sis", "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_SP2.sis");	
       
   164 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_PU.sis";
       
   165 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_PU$suffix.sis", "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_PU.sis");	
       
   166 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_SP1.sis";
       
   167 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SP1$suffix.sis", "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_SP1.sis");	
       
   168 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_SA.sis";	
       
   169 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SA$suffix.sis", "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_SA.sis");	
       
   170 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE08_SA1.sis";
       
   171 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE08_SA1$suffix.sis", "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE08_SA1.sis");	
       
   172 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE08_SA2.sis";
       
   173 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE08_SA2$suffix.sis", "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE08_SA2.sis");		
       
   174 
       
   175 	`$CREATESISCMD $PKGDIR\\$SIFGETCOMAPPARCINFOTESTEMBEDDED$suffix.pkg`;
       
   176 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTEMBEDDED.sis";
       
   177 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTEMBEDDED$suffix.sis", "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTEMBEDDED.sis");	
       
   178 
       
   179 	}
       
   180 else
       
   181 	{
       
   182 	mkdir "$ARMV5DATADIR" unless -d "$ARMV5DATADIR";
       
   183 	unlink "$DATADIR\\$BASE.sis";
       
   184 	move("$PKGDIR\\$BASE$suffix.sis", "$ARMV5DATADIR\\$BASE.sis");
       
   185 	unlink "$DATADIR\\$UPGRADE.sis";
       
   186 	move("$PKGDIR\\$UPGRADE$suffix.sis", "$ARMV5DATADIR\\$UPGRADE.sis");
       
   187 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTEST.sis";
       
   188 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTEST$suffix.sis", "$ARMV5DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTEST.sis");
       
   189 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTMULTILANG.sis";
       
   190 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTILANG$suffix.sis", "$ARMV5DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTMULTILANG.sis");	
       
   191 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTMULTIFILES.sis";
       
   192 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTIFILES$suffix.sis", "$ARMV5DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTMULTIFILES.sis");
       
   193 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTNONAPPARCRSC.sis";
       
   194 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTNONAPPARCRSC$suffix.sis", "$ARMV5DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTNONAPPARCRSC.sis");
       
   195 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTNONAPPARCPATH.sis";
       
   196 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTNONAPPARCPATH$suffix.sis", "$ARMV5DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTNONAPPARCPATH.sis");
       
   197 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTMULTIAPP.sis";
       
   198 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTIAPP$suffix.sis", "$ARMV5DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTMULTIAPP.sis");
       
   199 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTMULTIAPPONEAPPWITHNONAPPARCRSC.sis";
       
   200 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTIAPPONEAPPWITHNONAPPARCRSC$suffix.sis", "$ARMV5DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTMULTIAPPONEAPPWITHNONAPPARCRSC.sis");
       
   201 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTCORRUPTRSC.sis";
       
   202 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTCORRUPTRSC$suffix.sis", "$ARMV5DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTCORRUPTRSC.sis");
       
   203 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTNOLOCAL.sis";
       
   204 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTNOLOCAL$suffix.sis", "$ARMV5DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTNOLOCAL.sis");	
       
   205 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTLARGEANDSMALLEXTN.sis";
       
   206 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTLARGEANDSMALLEXTN$suffix.sis", "$ARMV5DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTLARGEANDSMALLEXTN.sis");
       
   207 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE05.sis";
       
   208 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE05$suffix.sis", "$ARMV5DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE05.sis");
       
   209 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE05_SU.sis";
       
   210 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE05_SU$suffix.sis", "$ARMV5DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE05_SU.sis");
       
   211 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_BASE.sis";
       
   212 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_BASE$suffix.sis", "$ARMV5DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_BASE.sis");
       
   213 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_SP3.sis";
       
   214 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SP3$suffix.sis", "$ARMV5DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_SP3.sis");
       
   215 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_SP2.sis";
       
   216 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SP2$suffix.sis", "$ARMV5DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_SP2.sis");
       
   217 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_PU.sis";
       
   218 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_PU$suffix.sis", "$ARMV5DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_PU.sis");
       
   219 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_SP1.sis";
       
   220 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SP1$suffix.sis", "$ARMV5DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_SP1.sis");
       
   221 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_SA.sis";
       
   222 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SA$suffix.sis", "$ARMV5DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE06_SA.sis");
       
   223 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE08_SA1.sis";
       
   224 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE08_SA1$suffix.sis", "$ARMV5DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE08_SA1.sis");
       
   225 	unlink "$DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE08_SA2.sis";
       
   226 	move("$PKGDIR\\$SWIAPPREGINTEGRATION_CASE08_SA2$suffix.sis", "$ARMV5DATADIR_TSIF\\$SWIAPPREGINTEGRATION_CASE08_SA2.sis");
       
   227 				
       
   228 	`$CREATESISCMD $PKGDIR\\$SIFGETCOMAPPARCINFOTESTEMBEDDED$suffix.pkg`;
       
   229 	unlink "$DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTEMBEDDED.sis";
       
   230 	move("$PKGDIR\\$SIFGETCOMAPPARCINFOTESTEMBEDDED$suffix.sis", "$ARMV5DATADIR_TSIF\\$SIFGETCOMAPPARCINFOTESTEMBEDDED.sis");	
       
   231 		
       
   232 		}			
       
   233 			
       
   234 unlink "*.cer"; #delete all certificates to avoid failure on checklocationofcertificates test
       
   235 
       
   236 unlink "$PKGDIR\\$BASE$suffix.pkg";
       
   237 unlink "$PKGDIR\\$UPGRADE$suffix.pkg";
       
   238 unlink "$PKGDIR\\$SIFGETCOMAPPARCINFOTEST$suffix.pkg";
       
   239 unlink "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTILANG$suffix.pkg";
       
   240 unlink "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTIFILES$suffix.pkg";
       
   241 unlink "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTNONAPPARCRSC$suffix.pkg";
       
   242 unlink "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTNONAPPARCPATH$suffix.pkg";
       
   243 unlink "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTIAPP$suffix.pkg";
       
   244 unlink "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTMULTIAPPONEAPPWITHNONAPPARCRSC$suffix.pkg";
       
   245 unlink "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTCORRUPTRSC$suffix.pkg";
       
   246 unlink "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTNOLOCALE$suffix.pkg";
       
   247 unlink "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTEMBEDDED$suffix.pkg";
       
   248 unlink "$PKGDIR\\$SIFGETCOMAPPARCINFOTESTLARGEANDSMALLEXTN$suffix.pkg";
       
   249 unlink "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE05$suffix.pkg";
       
   250 unlink "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE05_SU$suffix.pkg";
       
   251 unlink "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_BASE$suffix.pkg";
       
   252 unlink "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SP3$suffix.pkg";
       
   253 unlink "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SP2$suffix.pkg";
       
   254 unlink "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_PU$suffix.pkg";
       
   255 unlink "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SP1$suffix.pkg";
       
   256 unlink "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE06_SA$suffix.pkg";
       
   257 unlink "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE08_SA1$suffix.pkg";
       
   258 unlink "$PKGDIR\\$SWIAPPREGINTEGRATION_CASE08_SA2$suffix.pkg";
       
   259 
       
   260 chdir $dir;
       
   261 
       
   262 
       
   263 # Read the contents of a file into a string and return it
       
   264 sub ReadFile ($) {
       
   265 	my ($file) = @_;
       
   266 	open FILE, "<$file" or die "Can't read from $file: $!";
       
   267 	local $/ = undef;
       
   268 	my $data = <FILE>;
       
   269 	close FILE;
       
   270 	return $data;
       
   271 }
       
   272 
       
   273 # Replace a file with a string
       
   274 sub WriteFile ($$) {
       
   275 	my ($file, $data) = @_;
       
   276 
       
   277 	# Ensure directory exists
       
   278 	if ($1 && $file =~ basename($1) && ! -e $1)
       
   279 		{
       
   280 		mkdir($1);
       
   281 		}
       
   282 	
       
   283 	if (-e $file)
       
   284 		{
       
   285 		system("attrib -r $file");
       
   286 		}
       
   287 	
       
   288 	open FILE, ">$file" or die "Can't write to $file: $!";
       
   289 	print FILE $data;
       
   290 	close FILE;
       
   291 }
       
   292 
       
   293 # Edit a file
       
   294 sub EditFile ($$$) {
       
   295 	my ($infile, $outfile, $coderef) = @_;
       
   296 	local $_ = ReadFile($infile);
       
   297 	&$coderef();
       
   298 	WriteFile($outfile, $_);
       
   299 }
       
   300