|
dvander@2267
|
1 |
#!/usr/bin/perl |
|
dvander@2267
|
2 |
|
|
dvander@2267
|
3 |
use File::Basename; |
|
dvander@2267
|
4 |
|
|
dvander@2267
|
5 |
my ($myself, $path) = fileparse($0); |
|
dvander@2267
|
6 |
chdir($path); |
|
dvander@2267
|
7 |
|
|
dvander@2267
|
8 |
require 'helpers.pm'; |
|
dvander@2267
|
9 |
|
|
dvander@2267
|
10 |
chdir('..'); |
|
dvander@2267
|
11 |
chdir('..'); |
|
dvander@2267
|
12 |
|
|
dvander@2267
|
13 |
our $SSH = 'ssh -i ../../smpvkey'; |
|
dvander@2267
|
14 |
|
|
dvander@2267
|
15 |
open(PDBLOG, 'OUTPUT/pdblog.txt') or die "Could not open pdblog.txt: $!\n"; |
|
dvander@2267
|
16 |
|
|
dvander@2267
|
17 |
#Sync us up with the main symbol store |
|
dvander@2267
|
18 |
rsync('[email protected]:~/public_html/symbols/', '..\\..\\symstore'); |
|
dvander@2267
|
19 |
|
|
dvander@2267
|
20 |
#Get version info |
|
dvander@2267
|
21 |
my ($version); |
|
dvander@2267
|
22 |
$version = Build::ProductVersion(Build::PathFormat('product.version')); |
|
dvander@2292
|
23 |
$version .= '-hg' . Build::HgRevNum('.'); |
|
dvander@2267
|
24 |
|
|
dvander@2267
|
25 |
my ($line); |
|
dvander@2267
|
26 |
while (<PDBLOG>) |
|
dvander@2267
|
27 |
{ |
|
dvander@2267
|
28 |
$line = $_; |
|
dvander@2267
|
29 |
$line =~ s/\.pdb/\*/; |
|
dvander@2267
|
30 |
chomp $line; |
|
dvander@2267
|
31 |
Build::Command("symstore add /r /f \"$line\" /s ..\\..\\symstore /t \"SourceMod\" /v \"$version\" /c \"buildbot\""); |
|
dvander@2267
|
32 |
} |
|
dvander@2267
|
33 |
|
|
dvander@2267
|
34 |
close(PDBLOG); |
|
dvander@2267
|
35 |
|
|
dvander@2393
|
36 |
#Lowercase DLLs. Sigh. |
|
dvander@2393
|
37 |
my (@files); |
|
dvander@2393
|
38 |
opendir(DIR, "..\\..\\symstore"); |
|
dvander@2393
|
39 |
@files = readdir(DIR); |
|
dvander@2393
|
40 |
closedir(DIR); |
|
dvander@2393
|
41 |
|
|
dvander@2393
|
42 |
my ($i, $j, $file, @subdirs); |
|
dvander@2393
|
43 |
for ($i = 0; $i <= $#files; $i++) |
|
dvander@2393
|
44 |
{ |
|
dvander@2393
|
45 |
$file = $files[$i]; |
|
dvander@2393
|
46 |
next unless ($file =~ /\.dll$/); |
|
dvander@2393
|
47 |
next unless (-d "..\\..\\symstore\\$file"); |
|
dvander@2393
|
48 |
opendir(DIR, "..\\..\\symstore\\$file"); |
|
dvander@2393
|
49 |
@subdirs = readdir(DIR); |
|
dvander@2393
|
50 |
closedir(DIR); |
|
dvander@2395
|
51 |
for ($j = 0; $j <= $#subdirs; $j++) |
|
dvander@2393
|
52 |
{ |
|
dvander@2393
|
53 |
next unless ($subdirs[$j] =~ /[A-Z]/); |
|
dvander@2395
|
54 |
Build::Command("rename ..\\..\\symstore\\$file\\" . $subdirs[$j] . " " . lc($subdirs[$j])); |
|
dvander@2393
|
55 |
} |
|
dvander@2393
|
56 |
} |
|
dvander@2393
|
57 |
|
|
dvander@2267
|
58 |
#Now that we're done, rsync back. |
|
dvander@2268
|
59 |
rsync('../../symstore/', '[email protected]:~/public_html/symbols'); |
|
dvander@2267
|
60 |
|
|
dvander@2267
|
61 |
sub rsync |
|
dvander@2267
|
62 |
{ |
|
dvander@2267
|
63 |
my ($from, $to) = (@_); |
|
dvander@2267
|
64 |
|
|
dvander@2267
|
65 |
Build::Command('rsync -av --delete -e="' . $SSH . '" ' . $from . ' ' . $to); |
|
dvander@2267
|
66 |
} |