From 08c5e720aeec82562d909dcf0ee3bf3a71437e0c Mon Sep 17 00:00:00 2001 From: Micah Lee Date: Sun, 10 Apr 2016 15:13:52 -0700 Subject: [PATCH] Updated OSX codesigning code for PyInstaller --- install/build_osx.sh | 19 +++++------------ install/prepare_for_codesign.py | 36 --------------------------------- 2 files changed, 5 insertions(+), 50 deletions(-) delete mode 100644 install/prepare_for_codesign.py diff --git a/install/build_osx.sh b/install/build_osx.sh index 2b4af0b5..460dc11b 100755 --- a/install/build_osx.sh +++ b/install/build_osx.sh @@ -12,21 +12,12 @@ echo Building OnionShare.app pyinstaller install/pyinstaller-osx.spec if [ "$1" = "--sign" ]; then - SIGNING_IDENTITY_APP="Developer ID Application: Micah Lee" - SIGNING_IDENTITY_INSTALLER="Developer ID Installer: Micah Lee" + SIGNING_IDENTITY_APP="3rd Party Mac Developer Application: Micah Lee" + SIGNING_IDENTITY_INSTALLER="3rd Party Mac Developer Installer: Micah Lee" # codesign the .app - python3 $ROOT/install/prepare_for_codesign.py - cd dist + codesign -vvvv --deep -s "$SIGNING_IDENTITY_APP" dist/OnionShare.app - # for some reason --deep fails, so sign each binary individually - codesign -vvvv -s "Developer ID Application: Micah Lee" OnionShare.app/Contents/Frameworks/QtCore.framework - codesign -vvvv -s "Developer ID Application: Micah Lee" OnionShare.app/Contents/Frameworks/QtGui.framework - codesign -vvvv -s "Developer ID Application: Micah Lee" OnionShare.app/Contents/Frameworks/Python.framework - codesign -vvvv -s "Developer ID Application: Micah Lee" OnionShare.app/Contents/Frameworks/libssl.1.0.0.dylib - codesign -vvvv -s "Developer ID Application: Micah Lee" OnionShare.app/Contents/Frameworks/libcrypto.1.0.0.dylib - codesign -vvvv -s "Developer ID Application: Micah Lee" OnionShare.app/Contents/MacOS/python - codesign -vvvv -s "Developer ID Application: Micah Lee" OnionShare.app - - productbuild --component OnionShare.app /Applications OnionShare.pkg --sign "$SIGNING_IDENTITY_INSTALLER" + # build .pkg + productbuild --component dist/OnionShare.app /Applications dist/OnionShare.pkg --sign "$SIGNING_IDENTITY_INSTALLER" fi diff --git a/install/prepare_for_codesign.py b/install/prepare_for_codesign.py deleted file mode 100644 index e210cc20..00000000 --- a/install/prepare_for_codesign.py +++ /dev/null @@ -1,36 +0,0 @@ -""" -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)))