Reviewed by Kevin Ollivier.
authorkevino@webkit.org <kevino@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 21 Oct 2009 23:39:09 +0000 (23:39 +0000)
committerkevino@webkit.org <kevino@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 21 Oct 2009 23:39:09 +0000 (23:39 +0000)
Update the Windows installer builder to work with Vista / Win 7 and with git.

https://bugs.webkit.org/show_bug.cgi?id=30649

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@49927 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKitTools/ChangeLog
WebKitTools/wx/build/build_utils.py
WebKitTools/wx/packaging/build-mac-installer.py
WebKitTools/wx/packaging/build-win-installer.py
WebKitTools/wx/packaging/wxWebKitInstaller.iss.in

index ba2aaa02f3c9dc13e3389428ad35c974c9ffea2a..ac3591f7a8e1f753b34df7f7fd37c88cb1d68c2e 100644 (file)
@@ -1,3 +1,16 @@
+2009-10-21  Robin Dunn  <robin@alldunn.com>
+
+        Reviewed by Kevin Ollivier.
+
+        Update the Windows installer builder to work with Vista / Win 7 and with git.
+        
+        https://bugs.webkit.org/show_bug.cgi?id=30649
+
+        * wx/build/build_utils.py:
+        * wx/packaging/build-mac-installer.py:
+        * wx/packaging/build-win-installer.py:
+        * wx/packaging/wxWebKitInstaller.iss.in:
+
 2009-10-21  Alejandro G. Castro  <alex@igalia.com>
 
         Reviewed by Gustavo Noronha.
index 85c20c6b6034d52cae083e221cfb8a0ce6af2314..b767d9f8cb60e9c86059b61b11abefa91c09babf 100644 (file)
@@ -174,3 +174,15 @@ def get_config(wk_root):
         config = open(config_file).read()
 
     return config
+
+def svn_revision():
+    if os.system("git info") == 0:
+        info = commands.getoutput("git-svn info ../..")
+    else:
+        info = commands.getoutput("svn info")
+    
+    for line in info.split("\n"):
+        if line.startswith("Revision: "):
+            return line.replace("Revision: ", "").strip()
+    
+    return ""
index c007e8ef430725986fe323063d9e8efcc7df0a77..a0c1b22e1ee1d0fa7d1af9626b42bef8e4601b2e 100644 (file)
@@ -48,17 +48,7 @@ wxwebkit_dir = os.path.abspath(os.path.join(wxwk_root, "WebKitBuild", get_config
 wx_version = wx.__version__[:5]
 py_version = sys.version[:3]
 
-wxwk_version = ""
-
-if os.system("git info") == 0:
-    info = commands.getoutput("git-svn info ../..")
-else:
-    info = commands.getoutput("svn info")
-    
-for line in info.split("\n"):
-    print line
-    if line.startswith("Revision: "):
-        wxwk_version = line.replace("Revision: ", "").strip()
+wxwk_version = svn_revision()
 
 platform = "osx"
     
index beed7053deb95b8733d0c1425908fed61b55584c..2bb8034b5e87ca70fbd026bd57feb3049b494262 100644 (file)
@@ -1,4 +1,4 @@
-#!/usr/bin/python
+#!/usr/bin/env python
 
 # Copyright (C) 2008 Kevin Ollivier  All rights reserved.
 #
@@ -30,6 +30,14 @@ import commands
 import glob
 from subprocess import *
 
+script_dir = os.path.abspath(os.path.dirname(__file__))
+sys.path.append(os.path.abspath(os.path.join(script_dir, "..", "build")))
+
+from build_utils import *
+
+wxwk_root = os.path.abspath(os.path.join(script_dir, "..", "..", ".."))
+wxwebkit_dir = os.path.abspath(os.path.join(wxwk_root, "WebKitBuild", get_config(wxwk_root) + git_branch_name()))
+
 # Find InnoSetup executable
 def getInnoSetupPath():
     name = "ISCC.exe"
@@ -37,6 +45,7 @@ def getInnoSetupPath():
     dirs = os.environ["PATH"].split(":")
     # Add the default file path
     dirs.append("C:\\Program Files\\Inno Setup 5")
+    dirs.append("C:\\Program Files (x86)\\Inno Setup 5")
                     
     if os.environ.has_key("INNO5"):
         retval = os.environ["INNO5"]
@@ -48,40 +57,19 @@ def getInnoSetupPath():
                 retval = filepath
             
     return retval
-    
-def getWebKitOutputDir():
-    retval = ""
-    if os.environ.has_key("WEBKITOUTPUTDIR"):
-        retval = os.environ["WEBKITOUTPUTDIR"]
-        
-    if retval == "":
-        retval = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "..", "WebKitBuild"))
-        
-    return os.path.join(retval, "Release")
-
-def getRevisionString():
-    pipe = Popen("svnversion", shell=True, stdout=PIPE).stdout
-    svnrevision = pipe.read().strip()
-    print "r" + svnrevision
-    svnrevision = string.split(svnrevision, ":")[0]
-    svnrevision = svnrevision.replace("M", "")
-    svnrevision = "r" + svnrevision
-    
-    return svnrevision
 
 if __name__ == "__main__":
     innoSetup = getInnoSetupPath()
-    buildDir = getWebKitOutputDir()
     os.chdir(sys.path[0])
 
-    svnrevision = getRevisionString()
+    svnrevision = svn_revision()
 
     if not os.path.exists(innoSetup):
         print "ERROR: Cannot find InnoSetup."
         #sys.exit(1)
         
-    if not os.path.exists(buildDir):
-        print "ERROR: Build dir %s doesn't exist." % buildDir
+    if not os.path.exists(wxwebkit_dir):
+        print "ERROR: Build dir %s doesn't exist." % wxwebkit_dir
         sys.exit(1)
 
     fileList = """
@@ -89,7 +77,7 @@ CopyMode: alwaysoverwrite; Source: *.pyd;        DestDir: "{app}"
 CopyMode: alwaysoverwrite; Source: *.py;        DestDir: "{app}"
 """
     
-    dlls = glob.glob(os.path.join(buildDir, "*.dll"))
+    dlls = glob.glob(os.path.join(wxwebkit_dir, "*.dll"))
     for dll in dlls:
         if dll.find("wxbase") == -1 and dll.find("wxmsw") == -1:
             fileList += """CopyMode: alwaysoverwrite; Source: %s;        DestDir: "{app}" \n""" % dll
@@ -97,8 +85,8 @@ CopyMode: alwaysoverwrite; Source: *.py;        DestDir: "{app}"
     installerTemplate = open("wxWebKitInstaller.iss.in", "r").read()
 
     installerTemplate = installerTemplate.replace("<<VERSION>>", svnrevision)
-    installerTemplate = installerTemplate.replace("<<ROOTDIR>>", buildDir )
-    installerTemplate = installerTemplate.replace("<<PYTHONVER>>", "2.5" )
+    installerTemplate = installerTemplate.replace("<<ROOTDIR>>", wxwebkit_dir )
+    installerTemplate = installerTemplate.replace("<<PYTHONVER>>", sys.version[0:3] )
     installerTemplate = installerTemplate.replace("<<FILES>>", fileList )
 
     outputFile = open("wxWebKitInstaller.iss", "w")
index a2c808c23128dfccba24fd2b17a45f5751959600..ebc89d4e54b993409dfc1ccb98af7b515adae23d 100644 (file)
@@ -17,7 +17,7 @@ UninstallFilesDir={app}\Uninstall
 Compression=bzip/9
 SourceDir=<<ROOTDIR>>
 OutputDir=win-installer
-OutputBaseFilename=wxWebKit-Py<<PYTHONVER>>-<<VERSION>>
+OutputBaseFilename=wxWebKit-wx2.8-Py<<PYTHONVER>>-<<VERSION>>
 DisableStartupPrompt=yes
 AllowNoIcons=yes
 DisableProgramGroupPage=yes