From 3d923229b4506cd5abfb70c20dc01f2cdbcd86fd Mon Sep 17 00:00:00 2001 From: Xilai Zhang Date: Wed, 22 Mar 2023 11:50:24 -0700 Subject: [PATCH] (Reland) "[gn + codesign] codesign metadata for FlutterMacOS.framework.zip" (flutter/engine#40508) (Reland) "[gn + codesign] codesign metadata for FlutterMacOS.framework.zip" --- .../sky/tools/create_macos_framework.py | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/engine/src/flutter/sky/tools/create_macos_framework.py b/engine/src/flutter/sky/tools/create_macos_framework.py index a354626ddc9..8f7a34c19d4 100755 --- a/engine/src/flutter/sky/tools/create_macos_framework.py +++ b/engine/src/flutter/sky/tools/create_macos_framework.py @@ -127,6 +127,11 @@ def regenerate_symlinks(fat_framework): ) +def embed_codesign_configuration(config_path, content): + with open(config_path, 'w') as file: + file.write(content) + + def process_framework(dst, args, fat_framework, fat_framework_binary): if args.dsym: dsym_out = os.path.splitext(fat_framework)[0] + '.dSYM' @@ -146,9 +151,25 @@ def process_framework(dst, args, fat_framework, fat_framework_binary): # Zip FlutterMacOS.framework. if args.zip: + filepath_with_entitlements = '' + filepath_without_entitlements = 'FlutterMacOS.framework/Versions/A/FlutterMacOS' + + embed_codesign_configuration( + os.path.join(dst, 'entitlements.txt'), filepath_with_entitlements + ) + + embed_codesign_configuration( + os.path.join(dst, 'without_entitlements.txt'), + filepath_without_entitlements + ) subprocess.check_call([ - 'zip', '-r', '-y', 'FlutterMacOS.framework.zip', - 'FlutterMacOS.framework' + 'zip', + '-r', + '-y', + 'FlutterMacOS.framework.zip', + 'FlutterMacOS.framework', + 'entitlements.txt', + 'without_entitlements.txt', ], cwd=dst)