Index: chrome_mac/Google Chrome Packaging/keystone_install.sh |
=================================================================== |
--- chrome_mac/Google Chrome Packaging/keystone_install.sh (revision 273864) |
+++ chrome_mac/Google Chrome Packaging/keystone_install.sh (working copy) |
@@ -720,7 +720,6 @@ |
readonly KS_BRAND_KEY="KSBrandID" |
readonly QUARANTINE_ATTR="com.apple.quarantine" |
- readonly KEYCHAIN_REAUTHORIZE_DIR=".keychain_reauthorize" |
# Don't use rsync -a, because -a expands to -rlptgoD. -g and -o copy owners |
# and groups, respectively, from the source, and that is undesirable in this |
@@ -1035,6 +1034,12 @@ |
true)" |
note "old_brand = ${old_brand}" |
+ local update_versioned_dir= |
+ if [[ -z "${is_patch}" ]]; then |
+ update_versioned_dir="${update_app}/${VERSIONS_DIR}/${update_version_app}" |
+ note "update_versioned_dir = ${update_versioned_dir}" |
+ fi |
+ |
if has_32_bit_only_cpu; then |
# On a 32-bit-only system, make sure that the update contains 32-bit code. |
note "system is 32-bit-only" |
@@ -1043,8 +1048,8 @@ |
if [[ -z "${is_patch}" ]]; then |
# For a full installer, the framework is available, so check it for |
# 32-bit code. |
- local old_framework_dir="${old_versioned_dir}/${FRAMEWORK_DIR}" |
- test_binary="${old_framework_dir}/${FRAMEWORK_NAME}" |
+ local update_framework_dir="${update_versioned_dir}/${FRAMEWORK_DIR}" |
+ test_binary="${update_framework_dir}/${FRAMEWORK_NAME}" |
else |
# No application code is guaranteed to be available at this point for a |
# patch updater, but goobspatch is built alongside and will have the |
@@ -1104,11 +1109,7 @@ |
rm -f "${new_versioned_dir}" 2> /dev/null || true |
fi |
- local update_versioned_dir |
- if [[ -z "${is_patch}" ]]; then |
- update_versioned_dir="${update_app}/${VERSIONS_DIR}/${update_version_app}" |
- note "update_versioned_dir = ${update_versioned_dir}" |
- else # [[ -n "${is_patch}" ]] |
+ if [[ -n "${is_patch}" ]]; then |
# dirpatcher won't patch into a directory that already exists. Doing so |
# would be a bad idea, anyway. If ${new_versioned_dir} already exists, |
# it may be something left over from a previous failed or incomplete |
@@ -1608,51 +1609,6 @@ |
2> /dev/null |
fi |
- # Do Keychain reauthorization. This involves running a stub executable on |
- # the dmg that loads the newly-updated framework and jumps to it to perform |
- # the reauthorization. The stub executable can be signed by the old |
- # certificate even after the rest of Chrome switches to the new certificate, |
- # so it still has access to the old Keychain items. The stub executable is |
- # an unbundled flat file executable whose name matches the real |
- # application's bundle identifier, so it's permitted access to the Keychain |
- # items. Doing a reauthorization step at update time reauthorizes Keychain |
- # items for users who never bother restarting Chrome, and provides a |
- # mechanism to continue doing reauthorizations even after the certificate |
- # changes. However, it only works for non-system ticket installations of |
- # Chrome, because the updater runs as root when on a system ticket, and root |
- # can't access individual user Keychains. |
- # |
- # Even if the reauthorization tool is launched, it doesn't necessarily try |
- # to do anything. It will only attempt to perform a reauthorization if one |
- # hasn't yet been done at update time. |
- note "maybe reauthorizing Keychain" |
- |
- if [[ -z "${system_ticket}" ]]; then |
- local new_bundleid_app |
- new_bundleid_app="$(infoplist_read "${installed_app_plist}" \ |
- "${APP_BUNDLEID_KEY}" || true)" |
- note "new_bundleid_app = ${new_bundleid_app}" |
- |
- local keychain_reauthorize_dir="\ |
-${update_dmg_mount_point}/${KEYCHAIN_REAUTHORIZE_DIR}" |
- local keychain_reauthorize_path="\ |
-${keychain_reauthorize_dir}/${new_bundleid_app}" |
- note "keychain_reauthorize_path = ${keychain_reauthorize_path}" |
- |
- if [[ -x "${keychain_reauthorize_path}" ]]; then |
- local framework_dir="${new_versioned_dir}/${FRAMEWORK_DIR}" |
- local framework_code_path="${framework_dir}/${FRAMEWORK_NAME}" |
- note "framework_code_path = ${framework_code_path}" |
- |
- if [[ -f "${framework_code_path}" ]]; then |
- note "reauthorizing Keychain" |
- "${keychain_reauthorize_path}" "${framework_code_path}" |
- fi |
- fi |
- else |
- note "system ticket, not reauthorizing Keychain" |
- fi |
- |
# Great success! |
note "done!" |