diff options
author | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-13 20:14:52 +0000 |
---|---|---|
committer | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-10-13 20:14:52 +0000 |
commit | 4eeb018cc6f4b3a1d6715facaa3a3c54a22b4951 (patch) | |
tree | 6d37b0fdf811639f8657d74280609bf85d75ac10 /chrome/chrome.gyp | |
parent | f5c172084ebace23f2c639a4d08cb13a98a0d336 (diff) | |
download | chromium_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-x | chrome/chrome.gyp | 43 |
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': { |