-
-
Notifications
You must be signed in to change notification settings - Fork 224
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
Builds pass macOS notarization #2025
Builds pass macOS notarization #2025
Conversation
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #2025 +/- ##
==========================================
+ Coverage 51.60% 51.66% +0.05%
==========================================
Files 67 67
Lines 5716 5780 +64
==========================================
+ Hits 2950 2986 +36
- Misses 2766 2794 +28
☔ View full report in Codecov by Sentry. |
Very good! I'll review the code, your questions and then answer your questions. |
* Create symlink from MacOS/lib > Resources/Lib to avoid needing to set *relative* rpaths which will fail verification
Adding timestamp option + verification options Added missing option Another missing option Change var name
for more information, see https://pre-commit.ci
I like optimizations, but I'm a fan of the theory that it has to be working well to optimize later.
If it's pyqt samples for example, I'd rather just update, putting bdist_mac options, it's even better, because I use them for testing and I can compare the results.
Let's leave it the way you did it for now because even if it changes in the freezer, there isn't a folder equivalent to Resources in the current structure.
Sure.
Ok.
Where is this parameter?
Thanks! |
Hey thanks for the feedback and initial review. It seems most of the questions we had can be done as subsequent PR's / improvements. The only change we're including now based on your feedback is updating the samples as well as resolving the inline comments :)
Re: Ready for final review :) |
ok, in another issue/pr Should be the code about prepare_qt_app changed to support newer qt versions or removed (since we no longer support qt4)? |
From what I can see, this code effectively does nothing today. We didn't make any changes here in order to minimize changes. The purpose of the In my opinion, the code should be removed. |
… feature/simple_restructure
I also thought about removing it, but I understand from your answer that it is also possible to adapt to qt5/6, right? |
Feel free to make new contributions. |
You're very welcome - We will use the next dev release to verify everything is still good our side and start making some other contributions as we phase out our wrapper :) |
Yes, it's technically possible to update these paths to match newer versions of Qt. But I'd suggest to find a valid repro case before doing so. Again, with at least some effort, I wasn't able to find a trace of the mentioned file with newer versions of Qt. I've spent a couple of years working with an application that was cross-platform and never come across any issues with menu bar management in macOS. I can't guarantee it's not relevant, but have not seen usage or the need for it previously. |
As there are no issues and given your experience, I agree that it should be removed, even to simplify the code. |
You can test the patch in the latest development build: |
PR #2033 |
Co-authored-by: Joe Deuchar <deucharj@gmail.com> Co-authored-by: Johan Rönnkvist <johan.ronnkvist@king.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Marcelo Duarte <marcelotduarte@users.noreply.github.com>
It seems like |
@mathiascode |
@marcelotduarte I don't have a macOS installation right now to run the .dmg, but |
@johan-ronnkvist Please see #933 (comment) |
This PR is intended to resolve this issue as its primary purpose, in the course of doing this we are also addressing some other smaller issues that are linked further down as well as extending the functionality of
cx_Freeze
's signing options.Our intent with this PR is to focus on ensuring the bundle structure is valid with the minimal impact on the internals of the freezer itself -> we are aware of further optimizations that can be made which are listed below - but we'd prefer not to increase the scope beyond whats necessary.
In order to ensure that application bundles pass macOS notarization the essential changes we had to make included the following:
Changes:
Resources
(The folderMacOS
may only contain binaries)codesign-verify
codesign-timestamp
codesign-strict
codesign-options
sptcl-assess
--force
when codesigning in order to replace existing signatures.Upon making these changes and building + deploying a custom version of cx_freeze internally so our CI/CD could make use of it - Our internal pipeline that builds a .app bundle with cx_Freeze now runs and passes notarization by Apple.
We're submitting this as a draft for now for initial feedback as there are a couple of points worthy of further discussion before finalizing these changes.
Questions
Thoughts on future improvements/subsequent PR's
/Contents/Frameworks/
(but it's still working 😃)codesign-resourcerules
parameter as it's no longer supported on newer version of macOS.MacOS
folder only contains binariesRelated Issues
QtWebEngineProcess
executableThe work in this PR has been a co-dev effort of myself and @TechnicalPirate. Feedback would be greatly appreciated @marcelotduarte 🙏. Thank you for your efforts in helping us make this contribution.