-
Notifications
You must be signed in to change notification settings - Fork 565
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MacOS Catalina Support + Notarization + GCC 8.4 #3600
Conversation
…ng to get past some errors with @rpath and @executablepath caused by the hardened runtime)
echo "Code Sign App Bundle (deep)" | ||
codesign -s "OpenShot Studios, LLC" "build/$OS_APP_NAME" --deep --force | ||
codesign -s "OpenShot Studios, LLC" --force --deep --entitlements "installer/openshot.entitlements" --options runtime --timestamp=http://timestamp.apple.com/ts01 "build/$OS_APP_NAME" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Every single file must be signed. If I don't sign with --deep, I get errors on *.svg files and all sorts of other files. Also, this adds a hardened runtime, a signature with a timestamp (required for notarization), and some entitlements, required to allow our @rpath handling.
@@ -52,8 +53,11 @@ if [ -d "$OS_PATH/MacOS/python3.6" ]; then | |||
mv "$OS_PATH/MacOS/python36.zip" "$OS_PATH/Resources/python36.zip"; ln -s "../../Resources/python36.zip" "$OS_PATH/MacOS/lib/python36.zip"; | |||
fi | |||
|
|||
echo "Loop through bundled files and sign all binary files" | |||
find "build" \( -iname '*.dylib' -o -iname '*.so' \) -exec codesign -s "OpenShot Studios, LLC" --timestamp=http://timestamp.apple.com/ts01 --entitlements "installer/openshot.entitlements" --force "{}" \; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This re-signs all *.dylib and *.so files with a timestamp, since the --deep option ignores files that are already signed... and thus, forces a failed notarization.
Big changes to our Mac builder, including an upgrade to Catalina (10.15). This change was required due to new Gatekeeper changes on newer MacOS versions. Apple now requires all apps to be notarized, which involves many things, including a hardened runtime, more strict code signing, and entitlements. It also required a newer compiler than GCC 4.8 (our previous one), so I upgraded to GCC 8.4.
The openshot-qt changes are mostly related to notarization, and include: