From c78506501f5c0143ec2cd363f44798d2c09498f0 Mon Sep 17 00:00:00 2001 From: Mykola Grymalyuk Date: Wed, 19 Jan 2022 10:57:31 -0700 Subject: [PATCH] Test Write --- .github/workflows/build-app-wxpython.yml | 7 +-- payloads/binary.py | 55 ++++++++++++++++++++---- 2 files changed, 48 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build-app-wxpython.yml b/.github/workflows/build-app-wxpython.yml index e7fc3bc98..465f2a5c6 100644 --- a/.github/workflows/build-app-wxpython.yml +++ b/.github/workflows/build-app-wxpython.yml @@ -18,13 +18,8 @@ jobs: commitdate: ${{ github.event.head_commit.timestamp }} steps: - uses: actions/checkout@v2 - - run: echo Commit MSG = $commitmsg - - run: echo Commit ID = $commitid - - run: echo Branch = $branch - - run: echo Commit URL = $commiturl - - run: echo Commit Date = $commitdate - run: /Library/Frameworks/Python.framework/Versions/3.9/bin/pyinstaller OpenCore-Patcher-GUI.spec - - run: python3 ./payloads/binary.py + - run: python3 ./payloads/binary.py $commitmsg $commitid $branch $commiturl $commitdate - run: 'codesign -s "Developer ID Application: Mykola Grymalyuk (S74BDJXQMD)" -v --force --deep --timestamp --entitlements ./payloads/entitlements.plist -o runtime "dist/OpenCore-Patcher.app"' - run: cd dist; zip -r ../OpenCore-Patcher-wxPython.app.zip OpenCore-Patcher.app - run: ./../sign-wxpython.sh diff --git a/payloads/binary.py b/payloads/binary.py index 5f0ffc9cf..815028811 100644 --- a/payloads/binary.py +++ b/payloads/binary.py @@ -11,12 +11,51 @@ # cmdsize 16 # version 10.13 # sdk 10.9 +import sys +import plistlib +from pathlib import Path -path = './dist/OpenCore-Patcher.app/Contents/MacOS/OpenCore-Patcher' -find = b'\x00\x0D\x0A\x00' # 10.13 (0xA0D) -replace = b'\x00\x0A\x0A\x00' # 10.10 (0xA0A) -with open(path, 'rb') as f: - data = f.read() - data = data.replace(find, replace) - with open(path, 'wb') as f: - f.write(data) \ No newline at end of file +def main(): + patch_load_command() + patch_info_plist() + + +def patch_load_command(): + print("- Patching LC_VERSION_MIN_MACOSX") + path = './dist/OpenCore-Patcher.app/Contents/MacOS/OpenCore-Patcher' + find = b'\x00\x0D\x0A\x00' # 10.13 (0xA0D) + replace = b'\x00\x0A\x0A\x00' # 10.10 (0xA0A) + with open(path, 'rb') as f: + data = f.read() + data = data.replace(find, replace) + with open(path, 'wb') as f: + f.write(data) + +def patch_info_plist(): + print("- Updating Info.plist") + # Github Actions will supply us with the following environment variables: + # - Commit Message + # - Commit ID + # - Branch + # - Commit URL + # - Commit Date + + argsv = sys.argv + argsv.pop(0) + plist_path = './dist/OpenCore-Patcher.app/Contents/Info.plist' + plist = plistlib.load(Path(plist_path).open("rb")) + print("- Loaded Plist") + # Add Github Dictonary + print("- Adding Github Dictionary") + plist["Github"] = { + "Commit Message": argsv[0], + "Commit ID": argsv[1], + "Branch": argsv[2], + "Commit URL": argsv[3], + "Commit Date": argsv[4], + } + print("- Writing Plist") + plistlib.dump(plist, Path(plist_path).open("wb"), sort_keys=True) + + +main() \ No newline at end of file