summaryrefslogtreecommitdiffstats
path: root/chrome/chrome.gyp
diff options
context:
space:
mode:
authormark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-13 20:14:52 +0000
committermark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-13 20:14:52 +0000
commit4eeb018cc6f4b3a1d6715facaa3a3c54a22b4951 (patch)
tree6d37b0fdf811639f8657d74280609bf85d75ac10 /chrome/chrome.gyp
parentf5c172084ebace23f2c639a4d08cb13a98a0d336 (diff)
downloadchromium_src-4eeb018cc6f4b3a1d6715facaa3a3c54a22b4951.zip
chromium_src-4eeb018cc6f4b3a1d6715facaa3a3c54a22b4951.tar.gz
chromium_src-4eeb018cc6f4b3a1d6715facaa3a3c54a22b4951.tar.bz2
Put the Keystone installation script and codesign driver script next to the
.app bundle, and make them available to the packaging system. This ensures that the packager uses the correct logic to sign a bundle, and places the correct Keystone auto-update script into the package. Because things may move around in the bundle and the proper codesign invocation may change between versions, it is correct to store the codesign logic with the package being signed. Similarly, because the correct way to perform an client-side auto-update may change between versions, it is correct to store the auto-update script with the code. BUG=14610 (in support of unbreaking auto-update) TEST=none Review URL: http://codereview.chromium.org/261048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28871 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/chrome.gyp')
-rwxr-xr-xchrome/chrome.gyp43
1 files changed, 43 insertions, 0 deletions
diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp
index 0aad98c..9afbdcf 100755
--- a/chrome/chrome.gyp
+++ b/chrome/chrome.gyp
@@ -3393,6 +3393,15 @@
],
}],
['OS=="mac"', {
+ 'variables': {
+ 'mac_packaging_dir':
+ '<(PRODUCT_DIR)/<(mac_product_name) Packaging',
+ # <(PRODUCT_DIR) expands to $(BUILT_PRODUCTS_DIR), which doesn't
+ # work properly in a shell script, where ${BUILT_PRODUCTS_DIR} is
+ # needed.
+ 'mac_packaging_sh_dir':
+ '${BUILT_PRODUCTS_DIR}/<(mac_product_name) Packaging',
+ },
# 'branding' is a variable defined in common.gypi
# (e.g. "Chromium", "Chrome")
'conditions': [
@@ -3430,8 +3439,42 @@
'destination': '<(PRODUCT_DIR)/<(mac_product_name).app/Contents/Frameworks/',
'files': ['../third_party/googlemac/Releases/Keystone/KeystoneRegistration.framework'],
},
+ {
+ # Put keystone_install.sh where the packaging system will
+ # find it. The packager will copy this script to the
+ # correct location on the disk image.
+ 'destination': '<(mac_packaging_dir)',
+ 'files': [
+ 'tools/build/mac/keystone_install.sh',
+ ],
+ },
],
}], # mac_keystone
+ ['buildtype=="Official"', {
+ 'actions': [
+ {
+ # Create sign.sh, the script that the packaging system will
+ # use to sign the .app bundle.
+ 'action_name': 'Make sign.sh',
+ 'variables': {
+ 'make_sign_sh_path': 'tools/build/mac/make_sign_sh',
+ 'sign_sh_in_path': 'tools/build/mac/make_sign_sh',
+ },
+ 'inputs': [
+ '<(make_sign_sh_path)',
+ '<(sign_sh_in_path)',
+ ],
+ 'outputs': [
+ '<(mac_packaging_dir)/sign.sh',
+ ],
+ 'action': [
+ '<(make_sign_sh_path)',
+ '<(mac_packaging_sh_dir)',
+ '<(mac_product_name)',
+ ],
+ },
+ ],
+ }], # buildtype=="Official"
],
'product_name': '<(mac_product_name)',
'xcode_settings': {