Move get_binary_arches into common, and code sign every binary in the app bundle

This commit is contained in:
Micah Lee 2023-10-20 15:15:40 -07:00
parent c524afd87b
commit 0631d14d78
No known key found for this signature in database
GPG key ID: 403C2657CD994F73
3 changed files with 45 additions and 49 deletions

32
desktop/scripts/common.py Normal file
View file

@ -0,0 +1,32 @@
import os
import subprocess
def get_binary_arches(app_dir):
universal = []
silicon = []
intel = []
for dirpath, dirnames, filenames in os.walk(app_dir):
for basename in filenames:
filename = os.path.join(dirpath, basename)
if os.path.isfile(filename):
out = subprocess.check_output(["file", filename]).decode("utf-8")
if (
"Mach-O 64-bit executable" in out
or "Mach-O 64-bit bundle" in out
or "Mach-O 64-bit dynamically linked shared library" in out
):
arm64, x86 = False, False
if "arm64" in out:
arm64 = True
if "x86_64" in out:
x86 = True
if arm64 and x86:
universal.append(filename)
elif arm64:
silicon.append(filename)
elif x86:
intel.append(filename)
return universal, silicon, intel