-
-
Notifications
You must be signed in to change notification settings - Fork 968
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
Update: generate Mac bundle on install rather than packaging #8189
Conversation
This is a major overhaul of how OpenTTD is packaged for macOS. Rather than using a disk image, it's now a Zip archive. The primary motiviation for this was: 1) Disk images are annoying. 2) Technically, creating the bundle _is_ part of the build. I also added an option for disabling the app bundle "fixup". This should be useful for developers or packagers such as MacPorts -- which was how I started looking at this.
03bbf83
to
8e9afdf
Compare
Is .dmg not the macOS convention any more? |
I can't speak to this authoritatively, but I always found them a bit annoying. Since this is actually getting into UX, I tried to find a some references for my hunch:
Apple's guide only mentions archives and installer packages. Safari transparently extracts archives, and the Installer offers to move packages to the trash after processing, so either leads to a more pleasant experience in my opinion. Unfortunately, all that won't matter much unless the product is signed somehow, as that triggers a dialog that prevents launching the application unless you right-click it. One other advantage is that creating an archive is faster than creating the disk image. |
I'm not aware of any advantage of .dmg other than convention. Historically they were used to preserve the resource forks, folder layout etc. I don't know if that still holds. I found the same links you did, and nothing current from Apple recommending .dmg. |
I see you mentioned "fixup", it looks like nightly build fails at this step. |
4eab426
to
d2312c8
Compare
Well, it does appear to run into some permissions issues after copying dependencies — which seems a bit odd. What are the user accounts used during the build? Does the |
I fixed the issue with b145ee3 but |
I pushed a change so that it should try this out on my branch. We'll see if it addresses this. One of the motivations for this change was that CPack seemed a bit crufty and weird compared to generating the bundle during build. |
552858f
to
5660101
Compare
Nope; the change I pushed yesterday gets the exact same error, sadly. But I've pushed another applying the same fix you did. |
5660101
to
189d401
Compare
aabddde
to
9488dfa
Compare
I've rebased the change onto |
Sorry it has been a while; we are currently working on migrating our release workflow from Azure Pipelines to GitHub Actions. During so, we also prepared the Mac builds so they can produce ARM builds and fixed several Mac OS related bundle issues. During this work, we found out that depending on CPack saves us a lot of time and effort. And although I appreciate your stance on not-liking- In result, I am leaning towards closing this PR in favour of CPack |
This is a major overhaul of how OpenTTD is packaged for macOS. Rather than using a disk image, it's now a Zip archive. The primary motiviation for this was:
I also added an option for disabling the app bundle “fixup”. This should be useful for developers or packagers such as MacPorts — which was how I started looking at this.