summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorthomasvl@chromium.org <thomasvl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-01 13:29:07 +0000
committerthomasvl@chromium.org <thomasvl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-09-01 13:29:07 +0000
commit27a126d6b700e05534deb0e947f25f342ff3fa42 (patch)
treed159890130d18ef69e12d4e59846dd673ce3b407
parentdb862f9cf8152f77949a3d896cb7aa87d0916593 (diff)
downloadchromium_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-xbuild/mac/tweak_app_infoplist7
-rw-r--r--chrome/app/app-Info.plist2
-rw-r--r--chrome/app/framework-Info.plist18
-rw-r--r--chrome/app/helper-Info.plist2
-rw-r--r--chrome/chrome.gyp31
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',
],