--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/activityfw/sis/edit_pkg.pl Fri Apr 16 15:16:09 2010 +0300
@@ -0,0 +1,224 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "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:
+#
+#Options:
+# -version -adds Qt version (4,6,0) intp pkg files
+# -target -replaces $(PLATFORM)/$(TARGET) into armv5/urel
+# -test -creates script for test app
+# default -version
+
+use strict;
+use File::Find;
+my $base = `cd`;
+$base =~ s/\\\w+\s+$//; #move one dir upper
+my $modulebase = `cd`;
+$modulebase =~s/(\s+)$//; #remove linefeed from end
+print $base;;
+my $qtversion = "\, 4\, 6\, 0\,";
+my $target = "armv5\/urel";
+
+my $qtversionchnage = 0;
+my $qtversionarg = "-version";
+my $targetchnage = 0;
+my $targetarg = "-target";
+my $module = 0;
+my $modulearg = "-test";
+my $delmodule = 0;
+my $delmodulearg = "-delmodule";
+my $moduledir = "testsis";
+my $modulepath = $base."\\".$moduledir;
+my $ccert = $modulebase."\\"."cert.cer";
+my $ckey = $modulebase."\\"."key.pem";
+my $modulebatpath = $modulebase."\\".$moduledir."\\createmodulesis.bat";
+
+checkCmdLine();
+
+if ( $qtversionchnage == 1 || $targetchnage == 1 )
+ {
+ find( \&edits, $base );
+ }
+if ( $module == 1 )
+ {
+ system "mkdir $moduledir";
+ if ( not ( open (FWM, ">$modulebatpath") ) )
+ {
+ print "\n***Error: Couldn't open $modulebatpath file to write\n";
+ return;
+ }
+ binmode FWM;
+ print FWM "del /S/Q *.SIS\r\n";
+ print FWM "del /S/Q *.SISX\r\n";
+ close FWM;
+ find( \&moduleSis, $base );
+ }
+if ( $delmodule == 1 )
+ {
+ find( \&delModuleSis, $base );
+ }
+
+sub edits()
+ {
+ my $file=$_;
+ my $winpath=$File::Find::name;
+ $winpath=~s/\//\\/g;
+ if( -f $file && $file=~/(_template\.pkg)$/i )
+ {
+ print "$winpath ";
+ system "attrib -R $winpath";
+ if ( not ( open (FR, $winpath) ) )
+ {
+ print "Error: Couldn't open $winpath file to read\n";
+ return;
+ }
+ binmode FR;
+ my $buf="";
+ my $length = 0;
+ $length = -s $winpath;
+ read( FR, $buf, $length );
+ close FR;
+ if ( $qtversionchnage == 1 )
+ {
+ $buf =~s/\,\s*\,\s*\,\s*\,\s*\{\"Qt\"\}/$qtversion \{\"Qt\"\}/si;
+ }
+ if ( $targetchnage == 1 )
+ {
+ $buf =~s/\$\(PLATFORM\)\/\$\(TARGET\)/$target/si;
+ }
+
+ if ( not ( open (FW, ">$winpath") ) )
+ {
+ print "\n***Error: Couldn't open $winpath file to write\n";
+ return;
+ }
+ binmode FW;
+ print FW $buf;
+ close FW;
+
+ print "\r\n";
+ }
+ }
+
+sub checkCmdLine()
+ {
+ my $numArgs = $#ARGV + 1;
+ if ( $numArgs == 0 )
+ {
+ $qtversionchnage = 1;
+ }
+ else
+ {
+ foreach my $argnum ( 0 .. $#ARGV )
+ {
+ my $argName = lc $ARGV[$argnum];
+ if ( $argName eq $qtversionarg )
+ {
+ $qtversionchnage = 1;
+ }
+ elsif ( $argName eq $targetarg )
+ {
+ $targetchnage = 1;
+ }
+ elsif ( $argName eq $modulearg )
+ {
+ $module = 1;
+ }
+ elsif ( $argName eq $delmodulearg )
+ {
+ $delmodule = 1;
+ }
+ else
+ {
+ die "\n***Error: Bad arguments\n";
+ }
+ }
+ }
+ }
+
+sub moduleSis()
+ {
+ my $file=$_;
+ my $winpath=$File::Find::name;
+ $winpath=~s/\//\\/g;
+
+
+ if( -f $file && $file=~/(.*test.*_template\.pkg)$/i )
+ {
+ print "$winpath ";
+ system "attrib -R $winpath";
+ if ( not ( open (FR, $winpath) ) )
+ {
+ print "Error: Couldn't open $winpath file to read\n";
+ return;
+ }
+ binmode FR;
+ my $buf="";
+ my $length = 0;
+ $length = -s $winpath;
+ read( FR, $buf, $length );
+ close FR;
+ $buf =~s/\,\s*\,\s*\,\s*\,\s*\{\"Qt\"\}/$qtversion \{\"Qt\"\}/si;
+ $buf =~s/\$\(PLATFORM\)\/\$\(TARGET\)/$target/si;
+
+ if ( not ( open (FW, ">$winpath") ) )
+ {
+ print "Error: Couldn't open $winpath file to write\n";
+ return;
+ }
+ binmode FW;
+ print FW $buf;
+ close FW;
+ print "\r\n";
+
+ my $pkgname = sisName( $winpath );
+
+ if ( not ( open (FWM2, ">>$modulebatpath") ) )
+ {
+ print "Error: Couldn't open $modulebatpath file to append\n";
+ return;
+ }
+ binmode FWM2;
+ print FWM2 "makesis $winpath $pkgname\.SIS\r\n";
+ print FWM2 "signsis $pkgname\.SIS $pkgname\.SISX $ccert $ckey\r\n";
+ close FWM2;
+ }
+ }
+
+sub sisName()
+ {
+ my $path = shift;
+ my $name = "";
+ if ( $path =~ /\\(\w+)\.pkg/i )
+ {
+ $name = $1;
+ }
+ return $name;
+ }
+
+sub delModuleSis()
+ {
+ my $file=$_;
+ my $winpath=$File::Find::name;
+ $winpath=~s/\//\\/g;
+
+
+ if( -f $file && $file=~/(_template\.pkg)$/i && ( $file=~/^(t_)/i || $file=~/test/i ) )
+ {
+ print "Deleting: ";
+ print "$winpath ";
+ system "attrib -R $winpath";
+ system "del /S/Q $winpath";
+ print "\r\n";
+ }
+ }
\ No newline at end of file