Commit 75711c0e authored by Mark Mentovai's avatar Mark Mentovai Committed by Commit Bot

mac-arm64: treat app_mode-Info.plist as Info.plist in universalizer

universalizer.py has special processing for Info.plist files, by looking
for informational keys that identify the build host, toolchain, and SDK,
and removing them when they differ rather than allowing such trivia to
cause the merge to fail. This is important for the time being, because
we’re using different toolchain and SDK versions for x86_64 and arm64
builds. This processing is enabled for any files that differ between
architectures named Info.plist.

One Info.plist in our bundle is not named Info.plist: the template
Info.plist used for app mode loader apps. In our .app, it’s named
app_mode-Info.plist. universalizer fails because of differences in this
file, and does not attempt Info.plist rationalization as described
above, which would allow the files to merge successfully.

The differences between x86_64 and arm64 in 88.0.4316.3: DTSDKBuild
(10.15 vs. 11.0), DTSDKName (macosx10.15 vs. macosx11.0), DTXcode (1210
vs. 1220), and DTXcodeBuild (12A4703 vs. 12B5035g). With this one
change, universalizer completes successfully and merges each
architecture’s .app into a single universal .app for that version.

Code-Word: calamity
Bug: 1142017
Change-Id: I11d006bc5b053483f7630970242e289a7a0b1178
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2522005
Auto-Submit: Mark Mentovai <mark@chromium.org>
Commit-Queue: Robert Sesek <rsesek@chromium.org>
Reviewed-by: default avatarRobert Sesek <rsesek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#824697}
parent 439a2a94
......@@ -220,7 +220,8 @@ def _universalize(input_paths, output_path, root):
for index in range(1, len(input_paths)):
if not filecmp.cmp(input_paths[0], input_paths[index]):
identical = False
if os.path.basename(output_path) == 'Info.plist':
if (os.path.basename(output_path) == 'Info.plist' or
os.path.basename(output_path).endswith('-Info.plist')):
_merge_info_plists(input_paths, output_path)
else:
command = ['lipo', '-create']
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment