OLD | NEW |
1 #!/bin/bash -p | 1 #!/bin/bash -p |
2 | 2 |
3 # Copyright (c) 2011 The Chromium Authors. All rights reserved. | 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
6 | 6 |
7 # Using codesign, sign the contents of the versioned directory. Namely, this | 7 # Using codesign, sign the contents of the versioned directory. Namely, this |
8 # includes the framework and helper app. After signing, the signatures are | 8 # includes the framework and helper app. After signing, the signatures are |
9 # verified. | 9 # verified. |
10 | 10 |
11 set -eu | 11 set -eu |
12 | 12 |
13 # Environment sanitization. Set a known-safe PATH. Clear environment variables | 13 # Environment sanitization. Set a known-safe PATH. Clear environment variables |
(...skipping 17 matching lines...) Expand all Loading... |
31 app_path="${1}" | 31 app_path="${1}" |
32 codesign_keychain="${2}" | 32 codesign_keychain="${2}" |
33 codesign_id="${3}" | 33 codesign_id="${3}" |
34 | 34 |
35 versioned_dir="${app_path}/Contents/Versions/@VERSION@" | 35 versioned_dir="${app_path}/Contents/Versions/@VERSION@" |
36 | 36 |
37 # An .app bundle to be signed can be signed directly. Normally, signing a | 37 # An .app bundle to be signed can be signed directly. Normally, signing a |
38 # framework bundle requires that each version within be signed individually. | 38 # framework bundle requires that each version within be signed individually. |
39 # http://developer.apple.com/mac/library/technotes/tn2007/tn2206.html#TNTAG13 | 39 # http://developer.apple.com/mac/library/technotes/tn2007/tn2206.html#TNTAG13 |
40 # In Chrome's case, the framework bundle is unversioned, so it too can be | 40 # In Chrome's case, the framework bundle is unversioned, so it too can be |
41 # signed directly. See copy_framework_unversioned. | 41 # signed directly. See copy_framework_unversioned.sh. |
42 | 42 |
43 framework="${versioned_dir}/@MAC_PRODUCT_NAME@ Framework.framework" | 43 framework="${versioned_dir}/@MAC_PRODUCT_NAME@ Framework.framework" |
44 helper_app="${versioned_dir}/@MAC_PRODUCT_NAME@ Helper.app" | 44 helper_app="${versioned_dir}/@MAC_PRODUCT_NAME@ Helper.app" |
45 helper_eh_app="${versioned_dir}/@MAC_PRODUCT_NAME@ Helper EH.app" | 45 helper_eh_app="${versioned_dir}/@MAC_PRODUCT_NAME@ Helper EH.app" |
46 helper_np_app="${versioned_dir}/@MAC_PRODUCT_NAME@ Helper NP.app" | 46 helper_np_app="${versioned_dir}/@MAC_PRODUCT_NAME@ Helper NP.app" |
47 | 47 |
48 codesign -s "${codesign_id}" --keychain "${codesign_keychain}" "${framework}" | 48 codesign -s "${codesign_id}" --keychain "${codesign_keychain}" "${framework}" |
49 codesign -s "${codesign_id}" --keychain "${codesign_keychain}" "${helper_app}" | 49 codesign -s "${codesign_id}" --keychain "${codesign_keychain}" "${helper_app}" |
50 codesign -s "${codesign_id}" --keychain "${codesign_keychain}" \ | 50 codesign -s "${codesign_id}" --keychain "${codesign_keychain}" \ |
51 "${helper_eh_app}" | 51 "${helper_eh_app}" |
52 codesign -s "${codesign_id}" --keychain "${codesign_keychain}" \ | 52 codesign -s "${codesign_id}" --keychain "${codesign_keychain}" \ |
53 "${helper_np_app}" | 53 "${helper_np_app}" |
54 | 54 |
55 # Verify everything. | 55 # Verify everything. |
56 codesign -v "${framework}" | 56 codesign -v "${framework}" |
57 codesign -v "${helper_app}" | 57 codesign -v "${helper_app}" |
58 codesign -v "${helper_eh_app}" | 58 codesign -v "${helper_eh_app}" |
59 codesign -v "${helper_np_app}" | 59 codesign -v "${helper_np_app}" |
OLD | NEW |