Skip to content
This repository has been archived by the owner on Aug 31, 2021. It is now read-only.

App-based DMGs for OSX (i.e no installer) #3616

Merged
merged 13 commits into from
Mar 2, 2016

Conversation

livecodefraser
Copy link
Contributor

This allows us to distribute the IDE with a valid signature on it, possibly solving some Gatekeeper-related problems on OSX.

Review on Reviewable

This allows us to distribute the IDE with a valid signature on it,
possibly solving some Gatekeeper-related problems on OSX.
@livecodefraser
Copy link
Contributor Author

The DMGs that this generates have slightly different names to the installer-based ones, so some infrastructure changes will be required (these DMGs omit 'Installer' from the name, as that would just be misleading!).

@mwieder
Copy link
Contributor

mwieder commented Feb 22, 2016

@livecodefraser Thank you for this. Now how about .deb and/or .rpm files for linux builds? Or even .gz files so that the executable bit is preserved.

@runrevmark
Copy link
Contributor

@livecodefraser: I notice 'Setup' is removed from the app bundle... Won't this disable the auto-updater which the IDE launches from within itself on startup?

@livecodefraser
Copy link
Contributor Author

Hence the "WIP" tag ;)

I decided to do a little testing before doing the complicated bit of sorting out the auto-updater (looks like it involves some changes to binary stacks, unhappily).

This makes the DMGs smaller with the trade-offs that compression
takes longer and the DMG can't be opened on OSX versions before
10.4.
This consists of two main parts:

1. Adding an AppleScript that does some Finder manipulations to
   configure the DMG window as we want it (so, when running the
   installer, some Finder windows may pop-up and disappear).
2. Do the DMG building in two steps. First, a read-write image is
   produced which the AppleScript manipulates. Once that is done,
   the image is converted to compressed read-only mode.

The repo currently only contains resources for the Community
edition. Commercial/Indy and Business resources will be added
shortly.
The Indy one is named Commercial in the 6.7 repo - it'll be changed
to Indy when I merge it up into 7.
This installer launches an AppleScript that opens a Finder window
on the DMG so the user can drag it to their Applications folder.

This is needed to that old auto-updaters that try to launch an
installer in the DMG do something useful rather than failing
silently.
This is the installer without the installer payload.
@livecodefraser
Copy link
Contributor Author

Corresponding IDE change: livecode/livecode-ide#945

@livecodefraser livecodefraser added this to the 6.7.10-rc-1 milestone Feb 29, 2016
@livecodefraser livecodefraser changed the title For OSX, generate DMGs containing the IDE not an installer App-based DMGs for OSX (i.e no installer) Feb 29, 2016
@peter-b
Copy link
Contributor

peter-b commented Mar 1, 2016

Just a couple of minor comments.


Reviewed 3 of 4 files at r1, 1 of 1 files at r2, 9 of 11 files at r3, 3 of 4 files at r4.
Review status: 14 of 15 files reviewed at latest revision, 3 unresolved discussions.


builder/tools_builder.livecodescript, line 457 [r1] (raw file):
I think that this will still allow some shell expansions if pArg contains $ -- is that intentional?

What about this alternative implementation which will prevent all shell expansions?

replace "'" with "\'" in pArg
put "'" before pArg
put "'" after pArg

builder/tools_builder.livecodescript, line 463 [r1] (raw file):
Is it necessary to check the result after the shell invocation?


engine/rsrc/dmg/fake-installer.sh, line 12 [r3] (raw file):
This is pretty sweet -- I need to remember this trick!


Comments from the review on Reviewable.io

@peter-b
Copy link
Contributor

peter-b commented Mar 1, 2016

@livecode-vulcan review ok 4714aa5

@livecode-vulcan
Copy link
Contributor

💙 review by @peter-b ok 4714aa5

livecode-vulcan added a commit that referenced this pull request Mar 1, 2016
App-based DMGs for OSX (i.e no installer)

This allows us to distribute the IDE with a valid signature on it, possibly solving some Gatekeeper-related problems on OSX.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/livecode/livecode/3616)
<!-- Reviewable:end -->
@livecode-vulcan
Copy link
Contributor

😎 test success 4714aa5

livecode-vulcan added a commit that referenced this pull request Mar 2, 2016
App-based DMGs for OSX, 7.x edition

#3616 but pre-merged into 7.0
peter-b added a commit that referenced this pull request Mar 2, 2016
App-based DMGs for OSX (i.e no installer)
@peter-b peter-b merged commit b892b1b into livecode:develop-6.7 Mar 2, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants