blob: 65ccb0a11cd1efe9d0aa39f13c208255acb5dcc4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#!perl -w
#use strict;
use Data::Dumper;
sub signFiles {
local ($signing, $config) = @_;
local $exprs = $signing->{FilePatterns}->{value};
local $template = $signing->{CommandTemplate}->{value};
# Use Unix find instead of Windows find. Save PATH so we can restore it when we're done:
local $savedPATH= $ENV{PATH};
$ENV{PATH} = $config->{Config}->{unixfind}->{value}.";".$savedPATH;
foreach $expr (split(" ", $exprs)) { ## exprs is something like "*.exe *.dll"
local $cmd = "find . -iname \"$expr\"";
local $list = `$cmd`; ## $list is files matching *.exe, for example.
foreach $target (split("\n", $list)) {
$target =~ s|/|\\|g; ## Flip path separators from unix-style to windows-style.
local $template2 = $template;
$template2 =~ s/%filename%/$target/;
print "Info -- Signing $target\n" if ($verbose);
!system("$template2") or die "Fatal -- Error signing $target.";
}
}
$ENV{PATH} = $savedPATH;
}
return 1;
|