From b40a3814b6fd0c784b52622eddac56d7c321d7cc Mon Sep 17 00:00:00 2001 From: Jonas Devlieghere Date: Wed, 19 Aug 2020 10:19:03 -0700 Subject: [PATCH] [lldb] Code sign binaries with entitlements Binaries need to be code signed with entitlements to run on device. Differential revision: https://reviews.llvm.org/D86237 --- lldb/packages/Python/lldbsuite/test/builders/darwin.py | 10 +++++++--- .../Python/lldbsuite/test/make/entitlements.plist | 10 ++++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 lldb/packages/Python/lldbsuite/test/make/entitlements.plist diff --git a/lldb/packages/Python/lldbsuite/test/builders/darwin.py b/lldb/packages/Python/lldbsuite/test/builders/darwin.py index 704897d4a5f6..470ea5d01db2 100644 --- a/lldb/packages/Python/lldbsuite/test/builders/darwin.py +++ b/lldb/packages/Python/lldbsuite/test/builders/darwin.py @@ -1,4 +1,5 @@ import re +import os import subprocess from .builder import Builder @@ -53,9 +54,12 @@ class BuilderDarwin(Builder): if configuration.dsymutil: args['DSYMUTIL'] = configuration.dsymutil - os, _ = self.getOsAndEnv() - if os and os != "macosx": - args['CODESIGN'] = 'codesign' + operating_system, _ = self.getOsAndEnv() + if operating_system and operating_system != "macosx": + builder_dir = os.path.dirname(os.path.abspath(__file__)) + test_dir = os.path.dirname(builder_dir) + entitlements = os.path.join(test_dir, 'make', 'entitlements.plist') + args['CODESIGN'] = 'codesign --entitlements {}'.format(entitlements) # Return extra args as a formatted string. return ' '.join( diff --git a/lldb/packages/Python/lldbsuite/test/make/entitlements.plist b/lldb/packages/Python/lldbsuite/test/make/entitlements.plist new file mode 100644 index 000000000000..3c009ffaa59c --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/make/entitlements.plist @@ -0,0 +1,10 @@ + + + + + com.apple.security.get-task-allow + + com.apple.private.security.no-sandbox + + +