-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
Updater: Embed Updater app within the main app bundle on macOS #10428
base: master
Are you sure you want to change the base?
Conversation
15d7675
to
d8c6e15
Compare
324da14
to
da7973e
Compare
"-DMACOS_CODE_SIGNING_IDENTITY_UPDATER=" | ||
+ config["codesign_identity"], | ||
'-DMACOS_CODE_SIGNING="ON"' | ||
'-DMACOS_CODE_SIGNING="OFF"' |
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.
Does code signing not work with the updater in the bundle?
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.
The final universal bundle is codesigned below, so codesigning the individual bundles is a pointless operation.
We codesign the universal binary at the end, which should be enough.
da7973e
to
74a7715
Compare
74a7715
to
6a9068e
Compare
OK, I tested the updater locally and it was able to update itself to the latest development build fine. I also submitted the latest build of this PR to the notary service and it was accepted. I think this is ready for further review now. |
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.
The code to move the updater inside the Dolphin.app bundle is in BuildMacOSUniversalBinary.py, which is only run when making a Universal build. Single-architecture builds leave the updater in the old location.
That won't affect users downloading builds from the website, but anyone building from source on an Intel mac will have their updater deleted the next time Dolphin checks for an update. It would also break updating for regular users if/when we start releasing ARM-only builds.
Yeah, I put it in there because I couldn't figure out a good way to force CMake to recopy the bundle when |
This PR embeds
Dolphin Updater.app
within theDolphin.app
bundle. It is inserted into theDolphin.app/Contents/Helpers
folder, which is one of the canonical locations to place helper apps. In addition, if a separateDolphin Updater.app
is found during the auto-update cleanup, it is removed.The goal here is to be able to ship a single app bundle to simplify installation. Users may not copy the Updater app from the DMG for whatever reason, preventing Dolphin's auto-update mechanism from working.
The buildbot configuration needs to be updated as well: dolphin-emu/sadm#153. When merging, that PR should be merged right before this PR is merged.