author | Shabe Razvi <shaber@symbian.org> |
Wed, 03 Feb 2010 16:24:44 +0000 | |
changeset 146 | 44e403e0f4cd |
parent 10 | d565c1ce950a |
permissions | -rw-r--r-- |
2
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
1 |
#!/usr/bin/perl |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
2 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
3 |
# Copyright (c) 2009 Symbian Foundation Ltd |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
4 |
# This component and the accompanying materials are made available |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
5 |
# under the terms of the License "Eclipse Public License v1.0" |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
6 |
# which accompanies this distribution, and is available |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
7 |
# at the URL "http://www.eclipse.org/legal/epl-v10.html". |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
8 |
# |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
9 |
# Initial Contributors: |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
10 |
# Symbian Foundation Ltd - initial contribution. |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
11 |
# |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
12 |
# Contributors: |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
13 |
# |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
14 |
# Description: |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
15 |
# Parse "ant" logs from SBS build to determine missing source files |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
16 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
17 |
my $pdk_src = "../.."; # path to sf tree - correct from "build/output" |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
18 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
19 |
my %missing_files; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
20 |
my %damaged_components; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
21 |
my %excluded_things; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
22 |
my %damaged_bldinfs; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
23 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
24 |
sub canonical_path($) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
25 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
26 |
my ($path) = @_; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
27 |
my @bits = split /\//, $path; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
28 |
my @newbits = (); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
29 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
30 |
foreach my $bit (@bits) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
31 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
32 |
next if ($bit eq "."); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
33 |
if ($bit eq "..") |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
34 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
35 |
pop @newbits; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
36 |
next; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
37 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
38 |
push @newbits, $bit; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
39 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
40 |
return join("/", @newbits); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
41 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
42 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
43 |
sub excluded_thing($$$) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
44 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
45 |
my ($path, $missing, $reason) = @_; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
46 |
if (!defined $excluded_things{$path}) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
47 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
48 |
@{$excluded_things{$path}} = (); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
49 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
50 |
push @{$excluded_things{$path}}, $missing; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
51 |
# print "Missing $missing from excluded $path ($reason)\n"; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
52 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
53 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
54 |
sub do_missing_file($$$) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
55 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
56 |
my ($missing, $missing_from, $reason) = @_; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
57 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
58 |
$missing = canonical_path($missing); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
59 |
$missing_from = canonical_path($missing_from); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
60 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
61 |
my $component = "??"; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
62 |
if ($missing_from ne "??") |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
63 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
64 |
my @dirs = split /\//, $missing_from; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
65 |
shift @dirs if ($dirs[0] eq "sf"); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
66 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
67 |
$path = $pdk_src . "/sf/$dirs[0]/$dirs[1]"; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
68 |
if (!-e $path) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
69 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
70 |
# no sign of the package |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
71 |
excluded_thing($path, $missing, $reason); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
72 |
return; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
73 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
74 |
$path .= "/$dirs[2]"; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
75 |
if (!-e $path) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
76 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
77 |
# no sign of the collection |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
78 |
excluded_thing($path, $missing, $reason); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
79 |
return; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
80 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
81 |
$path .= "/$dirs[3]"; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
82 |
if (!-e $path) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
83 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
84 |
# no sign of the component |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
85 |
excluded_thing($path, $missing, $reason); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
86 |
return; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
87 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
88 |
$component = join("/", $dirs[0], $dirs[1], $dirs[2], $dirs[3]); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
89 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
90 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
91 |
$missing_files{$missing} = $reason if ($missing ne "??"); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
92 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
93 |
if (!defined $damaged_components{$component}) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
94 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
95 |
@{$damaged_components{$component}} = (); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
96 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
97 |
push @{$damaged_components{$component}}, $missing; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
98 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
99 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
100 |
sub scan_logfile($) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
101 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
102 |
my ($logfile) = @_; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
103 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
104 |
open FILE, "<$logfile" or print "Error: cannot open $logfile: $!\n" and return; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
105 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
106 |
my $line; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
107 |
while ($line = <FILE>) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
108 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
109 |
# Source of export does not exist: s:/sf/mw/messagingmw/messagingfw/msgtests/group/msgerr.ra |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
110 |
# Source zip for export does not exist: s:/sf/os/deviceplatformrelease/S60LocFiles/data/96.zip |
10
d565c1ce950a
Add handling for "can't find mmp file" messages
William Roberts <williamr@symbian.org>
parents:
4
diff
changeset
|
111 |
if ($line =~ /Source (of|zip for) export does not exist.\s+.*\/(sf\/.*)$/) |
2
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
112 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
113 |
do_missing_file($2, "??", "source of export"); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
114 |
next; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
115 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
116 |
# No bld.inf found at sf/os/buildtools/toolsandutils/burtestserver/Group in s:/output/build/canonical_system_definition_GT_tb91sf.xml |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
117 |
# No bld.inf found at s:/sf/adaptation/stubs/licensee_tsy_stub/group in s:/output/build/canonical_system_definition_S60_5_1_clean.xml |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
118 |
if ($line =~ /No bld.inf found at (.*\/)?(sf\/.*) in /i) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
119 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
120 |
my $bldinf = "$2/bld.inf"; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
121 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
122 |
do_missing_file($bldinf, $bldinf, "no bld.inf"); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
123 |
$damaged_bldinfs{"$bldinf\t(missing)"} = 1; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
124 |
next; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
125 |
} |
10
d565c1ce950a
Add handling for "can't find mmp file" messages
William Roberts <williamr@symbian.org>
parents:
4
diff
changeset
|
126 |
# Can't find mmp file 'm:/sf/mw/mmmw/mmmiddlewarefws/mmfw/SoundDev/PlatSec/MMPFiles/Sounddevice/advancedaacencodesettingsci.mmp' referred to by 'm:/sf/mw/mmmw/mmmiddlewarefws/mmfw/SoundDev/group_pluginsupport/bld.inf' |
d565c1ce950a
Add handling for "can't find mmp file" messages
William Roberts <williamr@symbian.org>
parents:
4
diff
changeset
|
127 |
if ($line =~ /Can.t find mmp file .*(sf\/.*)' referred to by .*(sf\/.*)'/i) |
d565c1ce950a
Add handling for "can't find mmp file" messages
William Roberts <williamr@symbian.org>
parents:
4
diff
changeset
|
128 |
{ |
d565c1ce950a
Add handling for "can't find mmp file" messages
William Roberts <williamr@symbian.org>
parents:
4
diff
changeset
|
129 |
my $mmpfile = $1; |
d565c1ce950a
Add handling for "can't find mmp file" messages
William Roberts <williamr@symbian.org>
parents:
4
diff
changeset
|
130 |
my $bldinf = $2; |
d565c1ce950a
Add handling for "can't find mmp file" messages
William Roberts <williamr@symbian.org>
parents:
4
diff
changeset
|
131 |
|
d565c1ce950a
Add handling for "can't find mmp file" messages
William Roberts <williamr@symbian.org>
parents:
4
diff
changeset
|
132 |
do_missing_file($mmpfile, $bldinf, "no mmp file"); |
d565c1ce950a
Add handling for "can't find mmp file" messages
William Roberts <williamr@symbian.org>
parents:
4
diff
changeset
|
133 |
next; |
d565c1ce950a
Add handling for "can't find mmp file" messages
William Roberts <williamr@symbian.org>
parents:
4
diff
changeset
|
134 |
} |
2
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
135 |
# D:/Symbian/Tools/PDT_1.0/raptor/win32/mingw/bin/cpp.exe: s:/sf/os/networkingsrv/networksecurity/ipsec/group/bld.inf:19:42: ../eventmediator/group/bld.inf: No such file or directory |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
136 |
if ($line =~ /cpp.exe: .*\/(sf\/[^:]*):.*\s+([^:]+): No such file/) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
137 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
138 |
my $parent = $1; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
139 |
my $relative = $2; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
140 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
141 |
if ($parent =~ /\.inf$/i) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
142 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
143 |
my $parent = canonical_path($parent); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
144 |
$damaged_bldinfs{"$parent\t$relative"} = 1; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
145 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
146 |
do_missing_file("$parent/../$relative", $parent, "#include"); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
147 |
next; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
148 |
} |
4
60053dab7e2a
Update scan_antlogs.pl to use "No rule to make" lines to infer more missing things
William Roberts <williamr@symbian.org>
parents:
2
diff
changeset
|
149 |
# make.exe: *** No rule to make target `m:/sf/os/security/crypto/weakcrypto/source/symmetric/des.cpp', needed by `m:/epoc32/build/weakcrypto/c_126994d895f12d1a/weak_cryptography_dll/winscw/udeb/des.o'. |
60053dab7e2a
Update scan_antlogs.pl to use "No rule to make" lines to infer more missing things
William Roberts <williamr@symbian.org>
parents:
2
diff
changeset
|
150 |
if ($line =~ /No rule to make target .*(sf\/.*)', needed by .*(epoc32\/.*)'/) |
60053dab7e2a
Update scan_antlogs.pl to use "No rule to make" lines to infer more missing things
William Roberts <williamr@symbian.org>
parents:
2
diff
changeset
|
151 |
{ |
60053dab7e2a
Update scan_antlogs.pl to use "No rule to make" lines to infer more missing things
William Roberts <williamr@symbian.org>
parents:
2
diff
changeset
|
152 |
my $missing = $1; |
60053dab7e2a
Update scan_antlogs.pl to use "No rule to make" lines to infer more missing things
William Roberts <williamr@symbian.org>
parents:
2
diff
changeset
|
153 |
my $impact = "building $2"; |
60053dab7e2a
Update scan_antlogs.pl to use "No rule to make" lines to infer more missing things
William Roberts <williamr@symbian.org>
parents:
2
diff
changeset
|
154 |
# epoc32/build/weakcrypto/c_126994d895f12d1a/weak_cryptography_dll |
60053dab7e2a
Update scan_antlogs.pl to use "No rule to make" lines to infer more missing things
William Roberts <williamr@symbian.org>
parents:
2
diff
changeset
|
155 |
if ($impact =~ /epoc32\/build\/[^\/]+\/[^\/]+\/([^\/]+)\//) |
60053dab7e2a
Update scan_antlogs.pl to use "No rule to make" lines to infer more missing things
William Roberts <williamr@symbian.org>
parents:
2
diff
changeset
|
156 |
{ |
60053dab7e2a
Update scan_antlogs.pl to use "No rule to make" lines to infer more missing things
William Roberts <williamr@symbian.org>
parents:
2
diff
changeset
|
157 |
$impact = "building $1"; |
60053dab7e2a
Update scan_antlogs.pl to use "No rule to make" lines to infer more missing things
William Roberts <williamr@symbian.org>
parents:
2
diff
changeset
|
158 |
} |
60053dab7e2a
Update scan_antlogs.pl to use "No rule to make" lines to infer more missing things
William Roberts <williamr@symbian.org>
parents:
2
diff
changeset
|
159 |
do_missing_file($missing, "??", $impact); |
60053dab7e2a
Update scan_antlogs.pl to use "No rule to make" lines to infer more missing things
William Roberts <williamr@symbian.org>
parents:
2
diff
changeset
|
160 |
next; |
60053dab7e2a
Update scan_antlogs.pl to use "No rule to make" lines to infer more missing things
William Roberts <williamr@symbian.org>
parents:
2
diff
changeset
|
161 |
} |
2
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
162 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
163 |
close FILE; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
164 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
165 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
166 |
my @logfiles = map(glob,@ARGV); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
167 |
foreach my $logfile (@logfiles) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
168 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
169 |
print "Scanning $logfile...\n"; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
170 |
scan_logfile($logfile); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
171 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
172 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
173 |
printf "%d Excluded things\n", scalar keys %excluded_things; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
174 |
foreach my $component (sort keys %excluded_things) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
175 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
176 |
my @list = @{$excluded_things{$component}}; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
177 |
my %hash; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
178 |
foreach my $missing (@list) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
179 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
180 |
$hash{$missing} = 1; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
181 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
182 |
printf "%s\t%d\n", $component, scalar keys %hash; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
183 |
print "\t", join("\n\t", sort keys %hash), "\n"; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
184 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
185 |
print "\nDamaged components\n"; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
186 |
foreach my $component (sort keys %damaged_components) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
187 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
188 |
my @list = @{$damaged_components{$component}}; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
189 |
my %hash; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
190 |
foreach my $missing (@list) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
191 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
192 |
$hash{$missing} = 1; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
193 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
194 |
printf "%s\t%d\n", $component, scalar keys %hash; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
195 |
print "\t", join("\n\t", sort keys %hash), "\n"; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
196 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
197 |
print "\nMissing files\n"; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
198 |
foreach my $missing (sort keys %missing_files) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
199 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
200 |
my $reason = $missing_files{$missing}; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
201 |
my @dirs = split /\//, $missing; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
202 |
my $path = shift @dirs; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
203 |
my $dir; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
204 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
205 |
while ($dir = shift @dirs) |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
206 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
207 |
if (-e "$pdk_src/$path/$dir") |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
208 |
{ |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
209 |
# still exists at this point |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
210 |
$path .= "/$dir"; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
211 |
next; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
212 |
} |
4
60053dab7e2a
Update scan_antlogs.pl to use "No rule to make" lines to infer more missing things
William Roberts <williamr@symbian.org>
parents:
2
diff
changeset
|
213 |
print "\t$reason\t$path\t\t", join("/", $dir,@dirs), "\n"; |
2
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
214 |
last; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
215 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
216 |
} |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
217 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
218 |
print "\nDamaged bld.infs\n"; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
219 |
print join("\n", sort keys %damaged_bldinfs, ""); |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
220 |
|
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
221 |
print "\n\n"; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
222 |
printf "%d files missing from ", scalar keys %missing_files; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
223 |
printf "%d damaged components\n", scalar keys %damaged_components; |
a600c1a596f7
Create "williamr" directory in utilities, and add an assortment of Perl scripts
William Roberts <williamr@symbian.org>
parents:
diff
changeset
|
224 |