onionshare/install/prepare_for_codesign.py

37 lines
1.0 KiB
Python

"""
This script is from https://github.com/kamillus/py2app-pyqt-codesign-fix-os-x
and slightly modified.
"""
import os
import re
import shutil
path_to_app = "dist/OnionShare.app"
def move_func(file):
print("moving %s to %s " % (os.path.join(dir_name, file), os.path.join(dir_name, 'Versions', "Current")))
try:
shutil.move(os.path.join(dir_name, file), os.path.join(dir_name, 'Versions', "Current"))
except Exception as e:
print(e)
return file
def filter_func(x):
return x != "Versions"
dir = path_to_app + "/Contents/Frameworks/"
p = re.compile('^Qt(.+)\.framework$')
for dir_name, subdir_list, file_list in os.walk(dir):
dir_name_short = dir_name.replace(dir, "")
if p.match(dir_name_short):
print('Found directory: %s' % dir_name_short)
print(file_list)
if os.path.islink(os.path.join(dir_name, file_list[0])):
os.unlink(os.path.join(dir_name, file_list[0]))
list(map(move_func, file_list[1:]))
list(map(move_func, filter(filter_func, subdir_list)))