| Index: chrome/installer/mac/keystone_install.sh
|
| diff --git a/chrome/installer/mac/keystone_install.sh b/chrome/installer/mac/keystone_install.sh
|
| index 7673926bd8d173c46968b5516967e81ae072c71f..a5dbffe8b93321e04f5202eefccc52b1fdf5dbff 100755
|
| --- a/chrome/installer/mac/keystone_install.sh
|
| +++ b/chrome/installer/mac/keystone_install.sh
|
| @@ -31,7 +31,7 @@
|
| # 11 ksadmin failure
|
| # 12 dirpatcher failed for versioned directory
|
| # 13 dirpatcher failed for outer .app bundle
|
| -# 14 The update is incompatible with the system
|
| +# 14 The update is incompatible with the system (presently unused)
|
| #
|
| # The following exit codes can be used to convey special meaning to Keystone.
|
| # KeystoneRegistration will present these codes to Chrome as "success."
|
| @@ -454,14 +454,6 @@ ksadmin_supports_versionpath_versionkey() {
|
| # return value.
|
| }
|
|
|
| -has_32_bit_only_cpu() {
|
| - local cpu_64_bit_capable="$(sysctl -n hw.cpu64bit_capable 2>/dev/null)"
|
| - [[ -z "${cpu_64_bit_capable}" || "${cpu_64_bit_capable}" -eq 0 ]]
|
| -
|
| - # The return value of the comparison is used as this function's return
|
| - # value.
|
| -}
|
| -
|
| # Runs "defaults read" to obtain the value of a key in a property list. As
|
| # with "defaults read", an absolute path to a plist is supplied, without the
|
| # ".plist" extension.
|
| @@ -495,79 +487,6 @@ infoplist_read() {
|
| __CFPREFERENCES_AVOID_DAEMON=1 defaults read "${@}"
|
| }
|
|
|
| -# Adjust the tag to contain the -32bit tag suffix. This is intended to be used
|
| -# as a last resort, if sanity checks show that a non-32-bit update is about to
|
| -# be applied to a 32-bit-only system. If this happens, it means that the
|
| -# server delivered a non-32-bit update to a 32-bit-only system, most likely
|
| -# because the tag was never updated to include the -32bit tag suffix.
|
| -#
|
| -# This mechanism takes a heavy-handed approach, clearing --tag-path and
|
| -# --tag-key so that the channel identity will no longer follow the installed
|
| -# application. However, it's expected that once -32bit is added to the tag,
|
| -# the server will deliver a 32-bit update (possibly the final 32-bit version),
|
| -# and once installed, that update will restore the --tag-path and --tag-key.
|
| -# In any event, channel identity in this case may be moot, if 32-bit builds
|
| -# are no longer being produced.
|
| -#
|
| -# This provides some resilience in the update system for old 32-bit-only
|
| -# systems that aren't used during the window between when the -32bit tag
|
| -# suffix begins being used and 32-bit releases end.
|
| -mark_32_bit_only_system() {
|
| - local product_id="${1}"
|
| -
|
| - # This step isn't critical.
|
| - local set_e=
|
| - if [[ "${-}" =~ e ]]; then
|
| - set_e="y"
|
| - set +e
|
| - fi
|
| -
|
| - note "marking 32-bit-only system"
|
| -
|
| - if ! ksadmin_supports_tagpath_tagkey; then
|
| - note "couldn't mark 32-bit-only system, no ksadmin support"
|
| - if [[ -n "${set_e}" ]]; then
|
| - set -e
|
| - fi
|
| - return 0
|
| - fi
|
| -
|
| - local current_tag="$(ksadmin --productid "${product_id}" --print-tag)"
|
| - note "current_tag = ${current_tag}"
|
| -
|
| - if grep -Eq -- '-32bit(-|$)' <<< "${current_tag}"; then
|
| - note "current tag already has -32bit"
|
| - if [[ -n "${set_e}" ]]; then
|
| - set -e
|
| - fi
|
| - return 0
|
| - fi
|
| -
|
| - # This clears any other tag suffix, but that shouldn't be a problem. The
|
| - # only other currently-defined tag suffix component is -full, but -full and
|
| - # -32bit were introduced at the same time, so if -full appears, whatever set
|
| - # it would have already had enough knowledge to set -32bit as well, and this
|
| - # codepath wouldn't be entered.
|
| - local current_channel="$(sed -e 's/-.*//' <<< "${current_tag}")"
|
| - local new_tag="${current_channel}-32bit"
|
| - note "new_tag = ${new_tag}"
|
| -
|
| - # Using ksadmin without --register only updates specified values in the
|
| - # ticket, without changing other existing values. Giving empty values for
|
| - # --tag-path and --tag-key clears those fields.
|
| - if ! ksadmin --productid "${product_id}" \
|
| - --tag "${new_tag}" --tag-path '' --tag-key ''; then
|
| - err "ksadmin failed to mark 32-bit-only system"
|
| - else
|
| - note "marked 32-bit-only system"
|
| - fi
|
| -
|
| - # Go back to how things were.
|
| - if [[ -n "${set_e}" ]]; then
|
| - set -e
|
| - fi
|
| -}
|
| -
|
| # When a patch update fails because the old installed copy doesn't match the
|
| # expected state, mark_failed_patch_update updates the Keystone ticket by
|
| # adding "-full" to the tag. The server will see this on a subsequent update
|
| @@ -601,10 +520,6 @@ mark_failed_patch_update() {
|
|
|
| local tag="${channel}"
|
| local tag_key="${KS_CHANNEL_KEY}"
|
| - if has_32_bit_only_cpu; then
|
| - tag="${tag}-32bit"
|
| - tag_key="${tag_key}-32bit"
|
| - fi
|
|
|
| tag="${tag}-full"
|
| tag_key="${tag_key}-full"
|
| @@ -1040,34 +955,6 @@ main() {
|
| 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"
|
| -
|
| - local test_binary
|
| - if [[ -z "${is_patch}" ]]; then
|
| - # For a full installer, the framework is available, so check it for
|
| - # 32-bit code.
|
| - 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
|
| - # same bitness of the product that this updater will install, so it's a
|
| - # reasonable proxy.
|
| - test_binary="${patch_dir}/goobspatch"
|
| - fi
|
| - note "test_binary = ${test_binary}"
|
| -
|
| - if ! file "${test_binary}" | grep -q 'i386$'; then
|
| - err "can't install non-32-bit update on 32-bit-only system"
|
| - mark_32_bit_only_system "${product_id}"
|
| - exit 14
|
| - else
|
| - note "update will run on a 32-bit-only system"
|
| - fi
|
| - fi
|
| -
|
| ensure_writable_symlinks_recursive "${installed_app}"
|
|
|
| # By copying to ${installed_app}, the existing application name will be
|
| @@ -1309,10 +1196,6 @@ main() {
|
|
|
| local tag="${channel}"
|
| local tag_key="${KS_CHANNEL_KEY}"
|
| - if has_32_bit_only_cpu; then
|
| - tag="${tag}-32bit"
|
| - tag_key="${tag_key}-32bit"
|
| - fi
|
| note "tag = ${tag}"
|
| note "tag_key = ${tag_key}"
|
|
|
|
|