Browse Source

makewheel: strip codesign signature on macOS from libpython3.x.dylib

This is necessary because install_name_tool invalidates the signature, which causes the whole app to fail validation and refuse to open.
rdb 5 years ago
parent
commit
783c721cef
1 changed files with 6 additions and 0 deletions
  1. 6 0
      makepanda/makewheel.py

+ 6 - 0
makepanda/makewheel.py

@@ -407,6 +407,7 @@ class WheelFile(object):
                     deps_path = '@executable_path/../Frameworks'
                 else:
                     deps_path = '@loader_path'
+                remove_signature = False
                 loader_path = [os.path.dirname(source_path)]
                 for dep in deps:
                     if dep.endswith('/Python'):
@@ -439,6 +440,11 @@ class WheelFile(object):
                         continue
 
                     subprocess.call(["install_name_tool", "-change", dep, new_dep, temp.name])
+                    remove_signature = True
+
+                # Remove the codesign signature if we modified the library.
+                if remove_signature:
+                    subprocess.call(["codesign", "--remove-signature", temp.name])
             else:
                 # On other unixes, we just add dependencies normally.
                 for dep in deps: