diff options
author | thomasvl@chromium.org <thomasvl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-01 13:29:07 +0000 |
---|---|---|
committer | thomasvl@chromium.org <thomasvl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-01 13:29:07 +0000 |
commit | 27a126d6b700e05534deb0e947f25f342ff3fa42 (patch) | |
tree | d159890130d18ef69e12d4e59846dd673ce3b407 | |
parent | db862f9cf8152f77949a3d896cb7aa87d0916593 (diff) | |
download | chromium_src-27a126d6b700e05534deb0e947f25f342ff3fa42.zip chromium_src-27a126d6b700e05534deb0e947f25f342ff3fa42.tar.gz chromium_src-27a126d6b700e05534deb0e947f25f342ff3fa42.tar.bz2 |
Put a proper info.plist into the framework so we can codesign it.
Update the tweak info.plist script to work on frameworks as well as apps.
Remove the bundle version since the script manages that.
BUG=20503
TEST=The framework should now have an valid info.plist file in it's resources folder.
Review URL: http://codereview.chromium.org/178055
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25027 0039d316-1c4b-4281-b951-d872f2087c98
-rwxr-xr-x | build/mac/tweak_app_infoplist | 7 | ||||
-rw-r--r-- | chrome/app/app-Info.plist | 2 | ||||
-rw-r--r-- | chrome/app/framework-Info.plist | 18 | ||||
-rw-r--r-- | chrome/app/helper-Info.plist | 2 | ||||
-rw-r--r-- | chrome/chrome.gyp | 31 |
5 files changed, 48 insertions, 12 deletions
diff --git a/build/mac/tweak_app_infoplist b/build/mac/tweak_app_infoplist index 8110423..f28d04d 100755 --- a/build/mac/tweak_app_infoplist +++ b/build/mac/tweak_app_infoplist @@ -65,8 +65,6 @@ BUILD_BRANDING=$1 set -x -SRC_APP_PATH="${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}" - if [ "${USE_SVN}" = "1" ] ; then # Visible in the about:version page. SVN_INFO=$(svn info "${TOP}" 2>/dev/null || true) @@ -103,10 +101,9 @@ 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. -INFO_PLIST_PATH="Contents/Info.plist" TMP_INFO_PLIST_DEFAULTS="${TEMP_DIR}/Info" TMP_INFO_PLIST="${TMP_INFO_PLIST_DEFAULTS}.plist" -cp "${SRC_APP_PATH}/${INFO_PLIST_PATH}" "${TMP_INFO_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. @@ -179,7 +176,7 @@ fi # 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}" "${SRC_APP_PATH}/${INFO_PLIST_PATH}" +cp "${TMP_INFO_PLIST}" "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}" # Clean up. rm -f "${TMP_INFO_PLIST}" diff --git a/chrome/app/app-Info.plist b/chrome/app/app-Info.plist index 1e65fda..8148422 100644 --- a/chrome/app/app-Info.plist +++ b/chrome/app/app-Info.plist @@ -166,8 +166,6 @@ </array> </dict> </array> - <key>CFBundleVersion</key> - <string>0.1</string> <key>LSFileQuarantineEnabled</key> <true/> <key>LSHasLocalizedDisplayName</key> diff --git a/chrome/app/framework-Info.plist b/chrome/app/framework-Info.plist new file mode 100644 index 0000000..9cfe1b0 --- /dev/null +++ b/chrome/app/framework-Info.plist @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>en-US</string> + <key>CFBundleExecutable</key> + <string>${EXECUTABLE_NAME}</string> + <key>CFBundleIdentifier</key> + <string>${CHROMIUM_BUNDLE_ID}.framework</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundlePackageType</key> + <string>FMWK</string> + <key>CFBundleSignature</key> + <string>????</string> +</dict> +</plist> diff --git a/chrome/app/helper-Info.plist b/chrome/app/helper-Info.plist index 72f92b7..100e5a3 100644 --- a/chrome/app/helper-Info.plist +++ b/chrome/app/helper-Info.plist @@ -18,8 +18,6 @@ <string>APPL</string> <key>CFBundleSignature</key> <string>????</string> - <key>CFBundleVersion</key> - <string>0.1</string> <key>LSFileQuarantineEnabled</key> <true/> <key>LSHasLocalizedDisplayName</key> diff --git a/chrome/chrome.gyp b/chrome/chrome.gyp index 1e02c2c..e96870d 100644 --- a/chrome/chrome.gyp +++ b/chrome/chrome.gyp @@ -4696,6 +4696,8 @@ 'mac_bundle': 1, 'xcode_settings': { 'DYLIB_INSTALL_NAME_BASE': '@executable_path/../Frameworks', + 'CHROMIUM_BUNDLE_ID': '<(mac_bundle_id)', + 'INFOPLIST_FILE': 'app/framework-Info.plist', }, 'sources': [ 'app/chrome_dll_main.cc', @@ -4704,10 +4706,18 @@ 'app/keystone_glue.h', 'app/keystone_glue.m', ], + # TODO(mark): Come up with a fancier way to do this. It should + # only be necessary to list framework-Info.plist once, not the + # three times it is listed here. + 'mac_bundle_resources': [ + 'app/framework-Info.plist', + ], + 'mac_bundle_resources!': [ + 'app/framework-Info.plist', + ], 'dependencies': [ '../build/util/support/support.gyp:*', ], - # For now, don't put any resources into the framework. Exclude # them all and push them into the bundle resources of the sole # app bundle, the only dependent of this target. @@ -4748,6 +4758,21 @@ 'renderer/renderer.sb', ], }, + 'postbuilds': [ + { + # Modify the Info.plist as needed. The script explains why + # this is needed. This is also done in the chrome target. + # The framework does not need the breakpad, keystone, or + # subversion keys as those are only needed on the main + # or helper app. + 'postbuild_name': 'Tweak Info.plist', + 'action': ['<(DEPTH)/build/mac/tweak_app_infoplist', + '-b0', + '-k0', + '-s0', + '<(branding)'], + }, + ], 'conditions': [ ['mac_breakpad==1', { @@ -4799,8 +4824,8 @@ 'app/helper-Info.plist', ], # TODO(mark): Come up with a fancier way to do this. It should only - # be necessary to list app-Info.plist once, not the three times it is - # listed here. + # be necessary to list helper-Info.plist once, not the three times it + # is listed here. 'mac_bundle_resources!': [ 'app/helper-Info.plist', ], |