diff -r 000000000000 -r ba25891c3a9e installationservices/swi/test/tpathsubst/preparepkg.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/installationservices/swi/test/tpathsubst/preparepkg.pl Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,116 @@ +# +# Copyright (c) 2005-2009 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: +# + + +use strict; + + +sub mod_time($) +# returns a file's last modified time in seconds since the epoch + { + return (stat $_[0])[9]; + } + +# ----------------------------------------------------------------------- + + +my $platform = $ARGV[0]; + +my $pkgdir = "testpkg"; +my $builddir = "build"; +my $sign_cert = "$ENV{'SECURITYSOURCEDIR'}\\installationservices\\switestfw\\testcertificates\\swi\\test\\tsisfile\\data\\signedsis\\Root5CA\\ca.pem"; +my $sign_key = "$ENV{'SECURITYSOURCEDIR'}\\installationservices\\switestfw\\testcertificates\\swi\\test\\\\tsisfile\\data\\signedsis\\Root5CA\\ca.key.pem"; + +print "Build path subst test packages for $platform.\n"; + + +system("mkdir $builddir\\"); +my $target_dir = "\\epoc32\\winscw\\c\\tswi\\tpathsubst\\data"; +system("mkdir $target_dir\\"); + + +# if building for hardware, create iby file +my $hardware = $platform !~ /wins/i; +my $iby_name = '\epoc32\rom\include\tpathsubst.iby'; +if ($hardware) + { + unlink $iby_name; + open(IBY, ">> $iby_name"); + } + + +# get list of package files +opendir DIR, $pkgdir; +my @pkgfiles = grep (/\.pkg/, readdir(DIR)); +closedir DIR; + + +# create and sign each sis file +my $target; # needs to be seen by continue +foreach my $entry (@pkgfiles) + { + $entry =~ s/\.pkg//; # remove .pkg suffix + my $pkg_file = "$pkgdir\\$entry.pkg"; + + # don't rebuild this SIS file if the package file has not changed + $target = "$target_dir\\$entry.sis"; +# if (-e $target && mod_time($target) >= mod_time($pkg_file)) { +# print "$target is up to date.\n"; +# next; +# } + + my $make_cmd = "makesis $pkg_file $builddir\\$entry-tmp.sis"; + print "$make_cmd\n"; + system($make_cmd); + + my $sign_cmd = "signsis $builddir\\$entry-tmp.sis $builddir\\$entry.sis $sign_cert $sign_key"; + print "$sign_cmd\n"; + system($sign_cmd); + + my $copy_cmd = "copy /y $builddir\\$entry.sis $target"; + print "$copy_cmd\n"; + system($copy_cmd); + } + +continue + { + if ($hardware) + { + my $rom_target = "\\tswi\\tpathsubst\\data\\$entry.sis"; + my $iby_line = "data=$target\t$rom_target"; + print "appending \"$rom_target\" to $iby_name"; + print IBY "$iby_line\n"; + } + } + +if ($hardware) + { + print IBY 'data=\epoc32\winscw\c\tswi\tpathsubst\data\armv5\sp_eclipse.sis "tswi\tpathsubst\data\sp_eclipse.sis"', "\n"; + print IBY 'data=\epoc32\winscw\c\tswi\tpathsubst\data\armv5\eclipse_failure.sis "tswi\tpathsubst\data\eclipse_failure.sis"', "\n"; + print IBY 'data=\epoc32\winscw\c\tswi\tpathsubst\scripts\tpathsubst.script "tswi\tpathsubst\scripts\tpathsubst.script"', "\n"; + print IBY 'data=\epoc32\winscw\c\tswi\tpathsubst\scripts\tpathsubst.ini "tswi\tpathsubst\scripts\tpathsubst.ini"', "\n"; + print IBY 'data=\epoc32\winscw\c\tswi\tpathsubst\scripts\tpathsubst_install.xml "tswi\tpathsubst\scripts\tpathsubst_install.xml"', "\n"; + print IBY 'data=\epoc32\winscw\c\tswi\tpathsubst\scripts\tpathsubst_uninstall.xml "tswi\tpathsubst\scripts\tpathsubst_uninstall.xml"', "\n"; + print IBY 'data=\epoc32\winscw\c\tswi\tpathsubst\scripts\tsubsteddrive_install.xml "tswi\tpathsubst\scripts\tsubsteddrive_install.xml"', "\n"; + print IBY 'file=\epoc32\release\armv5\urel\setsubst.exe "\sys\bin\setsubst.exe"', "\n"; + print IBY 'file=\epoc32\release\armv5\urel\setsubst.exe "\sys\bin\tps_ecl.exe"', "\n"; + } + +close IBY; + + +# ----------------------------------------------------------------------- +