diff options
Diffstat (limited to 'build/mac')
-rwxr-xr-x | build/mac/tweak_app_infoplist | 182 |
1 files changed, 0 insertions, 182 deletions
diff --git a/build/mac/tweak_app_infoplist b/build/mac/tweak_app_infoplist deleted file mode 100755 index f28d04d..0000000 --- a/build/mac/tweak_app_infoplist +++ /dev/null @@ -1,182 +0,0 @@ -#!/bin/bash - -# Copyright (c) 2009 The Chromium Authors. All rights reserved. -# Use of this source code is governed by a BSD-style license that can be -# found in the LICENSE file. - -set -e - -# Pull off the optional args -USE_BREAKPAD=0 -USE_KEYSTONE=0 -USE_SVN=1 -OPTERR=0 -while getopts ":b:k:s:" an_opt ; do - case $an_opt in - b) - USE_BREAKPAD=$OPTARG - ;; - k) - USE_KEYSTONE=$OPTARG - ;; - s) - USE_SVN=$OPTARG - ;; - \?) - echo "Unknown option $OPTARG" - exit 1 - ;; - :) - echo "Option $OPTARG missing it's value" - exit 1 - ;; - *) - echo "Not recognized argument $an_opt" - exit 1 - ;; - esac -done -shift $(($OPTIND - 1)) - -# Make sure the branding argument was supplied. -if [ $# -ne 1 ]; then - echo "error: missing branding as an argument" >&2 - exit 1 -fi - -# -# Xcode supports build variable substitutions and CPP; sadly, that doesn't work -# because: -# -# 1. Xcode wants to do the Info.plist work before it runs any build phases, -# this means if we were to generate a .h file for INFOPLIST_PREFIX_HEADER -# we'd have to put it in another target so it runs in time. -# 2. Xcode also doesn't check to see if the header being used as a prefix for -# the Info.plist has changed. So even if we updated it, it's only looking -# at the modtime of the info.plist to see if that's changed. -# -# So, we work around all of this by making a script build phase that will run -# during the app build, and simply update the info.plist in place. This way -# by the time the app target is done, the info.plist is correct. -# - -TOP="${SRCROOT}/.." -BUILD_BRANDING=$1 - -set -x - -if [ "${USE_SVN}" = "1" ] ; then - # Visible in the about:version page. - SVN_INFO=$(svn info "${TOP}" 2>/dev/null || true) - SVN_REVISION=$(echo "${SVN_INFO}" | sed -Ene 's/^Revision: (.*)$/\1/p') - if [ -z "${SVN_REVISION}" ] ; then - GIT_INFO=$(git log -1 --grep=git-svn-id --format=%b 2>/dev/null || true) - SVN_REVISION=$(echo "${GIT_INFO}" | \ - sed -Ene 's/^git-svn-id: .*@([0-9]+).*$/\1/p') - # Finding the revision for git and svn has failed. - if [ -z "${SVN_REVISION}" ] ; then - echo "Could not determine svn revision. This may be OK." >&2 - else - SVN_PATH=$(echo "${GIT_INFO}" | \ - sed -Ene 's%^git-svn-id: .*/chrome/(.*)@.*$%/\1%p') - fi - else - # Grab the path to the source root in the Subversion repository by taking - # the URL to the source root directory and the repository root, and - # removing the latter from the former. This ensures that SVN_PATH will - # contain a useful path regardless of the Subversion server, mirror, and - # authentication scheme in use. - SVN_URL=$(echo "${SVN_INFO}" | sed -Ene 's/^URL: (.*)$/\1/p') - SVN_ROOT=$(echo "${SVN_INFO}" | sed -Ene 's/^Repository Root: (.*)$/\1/p') - if [ -n "${SVN_ROOT}" ] && \ - [ "${SVN_URL:0:${#SVN_ROOT}}" = "${SVN_ROOT}" ] ; then - SVN_PATH="${SVN_URL:${#SVN_ROOT}}" - fi - fi -fi - -# Pull in the Chrome version number. -. "${TOP}/chrome/VERSION" -FULL_VERSION="${MAJOR}.${MINOR}.${BUILD}.${PATCH}" - -# I really hate how "defaults" doesn't take a real pathname but instead insists -# on appending ".plist" to everything. -TMP_INFO_PLIST_DEFAULTS="${TEMP_DIR}/Info" -TMP_INFO_PLIST="${TMP_INFO_PLIST_DEFAULTS}.plist" -cp "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}" "${TMP_INFO_PLIST}" - -# Save off the Subversion revision number and source root path in case they're -# needed. -if [ ! -z "${SVN_REVISION}" ] ; then - defaults write "${TMP_INFO_PLIST_DEFAULTS}" \ - SVNRevision -string "${SVN_REVISION}" -else - defaults delete "${TMP_INFO_PLIST_DEFAULTS}" SVNRevision || true -fi -if [ ! -z "${SVN_PATH}" ] ; then - defaults write "${TMP_INFO_PLIST_DEFAULTS}" SVNPath -string "${SVN_PATH}" -else - defaults delete "${TMP_INFO_PLIST_DEFAULTS}" SVNPath || true -fi - -# Add public version info so "Get Info" works -defaults write "${TMP_INFO_PLIST_DEFAULTS}" \ - CFBundleShortVersionString -string "${FULL_VERSION}" -# Honor the 429496.72.95 limit. The maximum comes from splitting 2^32 - 1 into -# 6, 2, 2 digits. The limitation was present in Tiger, but it could have been -# fixed in later OS release, but hasn't been tested (it's easy enough to find -# out with "lsregister -dump). -# http://lists.apple.com/archives/carbon-dev/2006/Jun/msg00139.html -# BUILD will always be an increasing value, so BUILD_PATH gives us something -# unique that meetings what LS wants. -defaults write "${TMP_INFO_PLIST_DEFAULTS}" \ - CFBundleVersion -string "${BUILD}.${PATCH}" - -# Add or remove the Breakpad keys. -if [ "${USE_BREAKPAD}" = "1" ] ; then - defaults write "${TMP_INFO_PLIST_DEFAULTS}" \ - BreakpadURL "https://clients2.google.com/cr/report" - defaults write "${TMP_INFO_PLIST_DEFAULTS}" BreakpadReportInterval "3600" - defaults write "${TMP_INFO_PLIST_DEFAULTS}" \ - BreakpadProduct "${BUILD_BRANDING}_Mac" - defaults write "${TMP_INFO_PLIST_DEFAULTS}" \ - BreakpadProductDisplay "${BUILD_BRANDING}" - defaults write "${TMP_INFO_PLIST_DEFAULTS}" \ - BreakpadVersion -string "${FULL_VERSION}" - defaults write "${TMP_INFO_PLIST_DEFAULTS}" BreakpadSendAndExit "YES" - defaults write "${TMP_INFO_PLIST_DEFAULTS}" BreakpadSkipConfirm "YES" -else - # Make sure the keys aren't there, || true to avoid errors if they aren't. - defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadURL || true - defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadReportInterval || true - defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadProduct || true - defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadProductDisplay || true - defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadVersion || true - defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadSendAndExit || true - defaults delete "${TMP_INFO_PLIST_DEFAULTS}" BreakpadSkipConfirm || true -fi - -# Add or remove the Keystone keys (only supported in release builds). -if [ "${USE_KEYSTONE}" = "1" ] && [ "${CONFIGURATION}" = "Release" ] ; then - KEYSTONE_URL="https://tools.google.com/service/update2" - KEYSTONE_APP_ID=$(defaults read "${TMP_INFO_PLIST_DEFAULTS}" \ - CFBundleIdentifier) - defaults write "${TMP_INFO_PLIST_DEFAULTS}" \ - KSVersion -string "${FULL_VERSION}" - defaults write "${TMP_INFO_PLIST_DEFAULTS}" KSProductID "${KEYSTONE_APP_ID}" - defaults write "${TMP_INFO_PLIST_DEFAULTS}" KSUpdateURL "${KEYSTONE_URL}" -else - # Make sure the keys aren't there, || true to avoid errors if they aren't. - defaults delete "${TMP_INFO_PLIST_DEFAULTS}" KSVersion || true - defaults delete "${TMP_INFO_PLIST_DEFAULTS}" KSProductID || true - defaults delete "${TMP_INFO_PLIST_DEFAULTS}" KSUpdateURL || true -fi - -# Info.plist will work perfectly well in any plist format, but traditionally -# applications use xml1 for this, so convert it back after whatever defaults -# might have done. -plutil -convert xml1 "${TMP_INFO_PLIST}" -cp "${TMP_INFO_PLIST}" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}" - -# Clean up. -rm -f "${TMP_INFO_PLIST}" |