installationservices/swi/test/tpathsubst/preparepkg.pl
changeset 0 ba25891c3a9e
--- /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;
+
+
+# -----------------------------------------------------------------------
+