3
# Copyright (C) 2005, 2006, 2007 Apple Computer, Inc. All rights reserved.
5
# Redistribution and use in source and binary forms, with or without
6
# modification, are permitted provided that the following conditions
9
# 1. Redistributions of source code must retain the above copyright
10
# notice, this list of conditions and the following disclaimer.
11
# 2. Redistributions in binary form must reproduce the above copyright
12
# notice, this list of conditions and the following disclaimer in the
13
# documentation and/or other materials provided with the distribution.
14
# 3. Neither the name of Apple Computer, Inc. ("Apple") nor the names of
15
# its contributors may be used to endorse or promote products derived
16
# from this software without specific prior written permission.
18
# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
19
# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
20
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
21
# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
22
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
23
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
24
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
25
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
# Updates a development environment to the new WebKitSupportLibrary
38
use lib $FindBin::Bin;
41
my $sourceDir = sourceDir();
42
my $file = "WebKitSupportLibrary";
43
my $zipFile = "$file.zip";
44
my $pathToZip = "$sourceDir/$zipFile";
45
my $webkitLibrariesDir = File::Spec->rel2abs($ENV{'WEBKITLIBRARIESDIR'} || "$sourceDir/WebKitLibraries/win");
46
my $tmpDir = File::Spec->rel2abs(File::Temp::tempdir("webkitlibsXXXXXXX", TMPDIR => 1, CLEANUP => 1));
48
# Make sure the file zipfile exists before doing anything.
49
die "$zipFile could not be found in your root source directory. Please\n" .
50
"download it from http://developer.apple.com/opensource/internet/webkit_sptlib_agree.html and place it in \n" .
51
"$sourceDir\n and then run update-webkit again.\n" unless (-f "$pathToZip");
53
print "Checking mod-date of $zipFile...\n";
54
open MOD, ">$tmpDir/$file.modified" or die "Couldn't open $tmpDir/$file.modified for writing";
55
print MOD (stat $pathToZip)[9] . "\n";
58
if (open NEW, "$tmpDir/$file.modified") {
62
if (open OLD, "$webkitLibrariesDir/$file.modified") {
66
print "Current $file is up to date\n";
72
my $result = system "unzip", "-q", "-d", $tmpDir, $pathToZip;
73
die "Couldn't unzip $zipFile." if $result;
75
print "\nInstalling $file...\n";
79
my $relativeName = File::Spec->abs2rel($File::Find::name, "$tmpDir/$file/win");
80
my $destination = "$webkitLibrariesDir/$relativeName";
87
system "cp", $_, $destination;
90
File::Find::find(\&wanted, "$tmpDir/$file");
92
$result = system "mv", "$tmpDir/$file.modified", $webkitLibrariesDir;
93
print STDERR "Couldn't move $file.modified to $webkitLibrariesDir" . ".\n" if $result;
95
print "The $file has been sucessfully installed in\n $webkitLibrariesDir\n";