# HG changeset patch # User Maciej Seroka # Date 1277986530 -3600 # Node ID 9d4b5a2987642f49696ba84f9ad685e5e57a4459 # Parent abbcac685ab1e9a7e315dd594f6bafe744d104d7 Added script for fixing pkg files so that they can be used by Helium test drop generator diff -r abbcac685ab1 -r 9d4b5a298764 common/tools/ats/hlm_fix_pkg_files.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/tools/ats/hlm_fix_pkg_files.pl Thu Jul 01 13:15:30 2010 +0100 @@ -0,0 +1,63 @@ +#!/usr/bin/perl + +# Copyright (c) 2009 Symbian Foundation Ltd +# 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: +# Symbian Foundation Ltd - initial contribution. +# Maciej Seroka, maciej@symbian.org +# +# Description: +# This is a script for fixing pkg files. + +use strict; +use File::Copy; +use Tie::File; +use File::Find; + +my @files; +my @lines; +my $file; +my $n; +my $file_fixed; +sub Wanted; + +my $package_path; +if ($ARGV[0]) { + $package_path = $ARGV[0]; + } +else { die "Missing parameter \"package path\". For example: D:\\sf\\app\\musicplayer"; } + +find(\&Wanted, $package_path); + +#Copy a pkg file and replace \armv5\urel with $(platform)\$(target) +foreach $file (@files) { #Replace "//v800020/Publish" with "http://cdn.symbian,org" + copy($file,$file . ".orig") or die ("Cannot copy file \"$file\". $!\n"); + tie (@lines, 'Tie::File', $file, recsep => "\n") or die ("Cannot tie file \"$file\". $!\n"); + $n = 0; + $file_fixed = 0; + foreach (@lines) { + if (lc(@lines[$n]) =~ m/epoc32\\release\\armv5\\urel\\/) { + @lines[$n] = lc(@lines[$n]); + @lines[$n] =~ s/\\armv5\\urel\\/\\\$(platform)\\\$(target)\\/; + $file_fixed = 1; + } + if (lc(@lines[$n]) =~ m/epoc32\\release\\armv5\\udeb\\/) { + @lines[$n] = lc(@lines[$n]); + @lines[$n] =~ s/\\armv5\\udeb\\/\\\$(platform)\\\$(target)\\/; + $file_fixed = 1; + } + $n++; + } + if ($file_fixed) { print $file . " fixed.\n"; } + untie @lines; +} + +sub Wanted { + # only operate on .pkg files + /.pkg$/ or return; + push (@files, $File::Find::name); +} \ No newline at end of file