summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-03 23:03:41 +0000
committermpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-03 23:03:41 +0000
commit9da4a5aeeb2efb12cd4707fdb5333ee9cc1419c6 (patch)
treea1a354aee9d957090c918cdce6fb00ab13ccc9a8
parente2d79d8783179376264e1d7ec77f42fcec4b6f3b (diff)
downloadchromium_src-9da4a5aeeb2efb12cd4707fdb5333ee9cc1419c6.zip
chromium_src-9da4a5aeeb2efb12cd4707fdb5333ee9cc1419c6.tar.gz
chromium_src-9da4a5aeeb2efb12cd4707fdb5333ee9cc1419c6.tar.bz2
Added Keystone builder to gears-scons.
Review URL: http://codereview.chromium.org/10423 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6322 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--gears/SConscript10
-rw-r--r--gears/SConscript.browser1
-rwxr-xr-xgears/SConscript.inputs9
-rw-r--r--gears/SConscript.installers31
4 files changed, 51 insertions, 0 deletions
diff --git a/gears/SConscript b/gears/SConscript
index 902495b..881c021 100644
--- a/gears/SConscript
+++ b/gears/SConscript
@@ -139,6 +139,10 @@ env.Replace(
FF_XPI = '$INSTALLER_OUTDIR/${INSTALLER_BASENAME}.xpi',
WIN32_INSTALLER_MSI = '$INSTALLER_OUTDIR/${INSTALLER_BASENAME}.msi',
WINCE_INSTALLER_CAB = '$INSTALLER_OUTDIR/${INSTALLER_BASENAME}.cab',
+ # Keyston SF Metapackage installer, bundled with Keystone as part of a
+ # DMG.
+ SF_KEYSTONE_INSTALLER_DMG = '$INSTALLER_OUTDIR/${INSTALLER_BASENAME}.dmg',
+ SF_KEYSTONE_INSTALLER_MPKG = '$INSTALLER_OUTDIR/Safari/${FRIENDLY_NAME}.mpkg',
SF_INSTALLER_PLUGIN_BUNDLE = '$INSTALLER_OUTDIR/Safari/StatsPane.bundle',
SF_PLUGIN_BUNDLE = '$INSTALLER_OUTDIR/Safari/Gears.bundle',
@@ -724,6 +728,12 @@ elif env['OS'] == 'osx':
'-DGEARS_ENABLER_PATH="$SF_INPUTMANAGER_BUNDLE"',
'-DGEARS_PLUGIN_PATH="$SF_PLUGIN_PROXY_BUNDLE"',
'-DGEARS_INSTALLER_OUT_DIR="$INSTALLER_OUTDIR/Safari"',
+
+ # Keystone
+ '-DKEYSTONE_BASE_DIR="$MAIN_DIR/$PRIVATE_THIRD_PARTY_DIR/googlemac/Releases/Keystone/"',
+ '-DGEARS_INSTALLER_PACKAGE="$SF_INSTALLER_PKG"',
+ '-DGEARS_GENFILES_DIR="$SF_OUTDIR/genfiles"',
+ '-DGEARS_TOOLS_DIR="$MAIN_DIR/$PRIVATE_DIR/tools"',
],
)
if not env['OFFICIAL_BUILD']:
diff --git a/gears/SConscript.browser b/gears/SConscript.browser
index cb853d7..176d8c7 100644
--- a/gears/SConscript.browser
+++ b/gears/SConscript.browser
@@ -389,6 +389,7 @@ outputs = {}
# genfiles/%: %.m4
m4s = [env.M4(*PatternRule('$GENFILES_DIR/${SOURCE.filebase}', src))
for src in GetInputs('$BROWSER_M4SRCS')]
+outputs['M4S'] = m4s
# genfiles/%.html: %.html_m4
html_m4s = [env.M4(
diff --git a/gears/SConscript.inputs b/gears/SConscript.inputs
index d6accaa..d0a885a 100755
--- a/gears/SConscript.inputs
+++ b/gears/SConscript.inputs
@@ -136,6 +136,15 @@ env.Append(SF_M4SRCS = [
])
#-----------------------------------------------------------------------------
+# Keystone
+
+env.Append(SF_M4SRCS = [
+ '$PRIVATE_DIR/tools/osx/installer/InstallationCheck.strings.m4',
+ '$PRIVATE_DIR/tools/osx/installer/keystone_installer.packproj.m4',
+ '$PRIVATE_DIR/tools/osx/installer/postflight.sh.m4',
+])
+
+#-----------------------------------------------------------------------------
# mozjs bindings
mozjs_sources = [
diff --git a/gears/SConscript.installers b/gears/SConscript.installers
index c528985..e55dd6d 100644
--- a/gears/SConscript.installers
+++ b/gears/SConscript.installers
@@ -339,6 +339,36 @@ def SafariInstallerPackage():
return pkg
safari_installer_package = SafariInstallerPackage()
+def SafariKeystoneInstaller():
+ if not os.path.exists(env.Dir('#/$PRIVATE_DIR').abspath):
+ print 'Skipping Safari Keystone installer. Required sources are not public.'
+ return []
+
+ env.Append(CREATE_DISK_IMAGE =
+ "/usr/bin/hdiutil create -ov -imagekey zlib-level=9 -fs HFS+"
+ " -format UDZO -volname '$FRIENDLY_NAME ${VERSION}'"
+ " -srcfolder '${INSTALLER_OUTDIR}/Safari/dmg/' -scrub"
+ " -nocrossdev '${SF_KEYSTONE_INSTALLER_DMG}'"
+ )
+
+ pkg = env.Iceberg(env.Dir('${SF_KEYSTONE_INSTALLER_MPKG}'),
+ ['$SF_OUTDIR/genfiles/keystone_installer.packproj'])
+ env.Depends(pkg, GetInputs('$SF_M4S'))
+ env.Depends(pkg, safari_installer_package)
+
+ dirsrcs = [
+ ('/', [pkg]),
+ ('/.keystone_install',
+ ['$PRIVATE_DIR/tools/osx/installer/keystone_install']),
+ ]
+ dmg = env.DirBuilder('$INSTALLER_OUTDIR/Safari/dmg', dirsrcs)
+ env.AddPostAction(dmg, 'chmod +x ${TARGET.base}/.keystone_install')
+ # hdiutil is crashy under leopard, so try twice.
+ env.AddPostAction(dmg, '$CREATE_DISK_IMAGE || $CREATE_DISK_IMAGE')
+
+ return dmg
+safari_keystone_installer = SafariKeystoneInstaller()
+
installers = []
if 'FF3' in env['VALID_BROWSERS']:
installers += firefox_installer
@@ -350,6 +380,7 @@ if 'SF' in env['VALID_BROWSERS']:
safari_installer_plugin_bundle,
safari_installer_package,
safari_input_manager_bundle,
+ safari_keystone_installer,
]
if env['OS'] == 'win32':
installers += win32_installer