Display a warning dialogue at launch on 10.3 after bug 385221

RESOLVED FIXED

Status

Camino Graveyard
General
RESOLVED FIXED
11 years ago
11 years ago

People

(Reporter: Smokey Ardisson (offline for a while; not following bugs - do not email), Assigned: Smokey Ardisson (offline for a while; not following bugs - do not email))

Tracking

Trunk
PowerPC
Mac OS X

Details

Attachments

(1 attachment, 1 obsolete attachment)

Created attachment 270977 [details] [diff] [review]
warn on 10.3 (sorta tested)

Once bug 385221 lands (or in sync with it, preferably), we'll need to display a dialog at launch on trunk alerting people that CaminoTrunk requires 10.4.

The attached patch should do that, assuming the app will launch far enough (like bug 336217 comment 4); if not, we'll just have to re-set LSMinimumSystemVersion and fail silently, I guess? (Ew.)

I've tested it to the extent I can, not having, or being capable of producing, a build that won't run on 10.3.

** The patch also requires a change in Localizable.strings:

"RequiredVersionNotMet" = "%@ requires Mac OS X 10.4 or higher.";
Attachment #270977 - Flags: review?(mark)

Comment 1

11 years ago
Comment on attachment 270977 [details] [diff] [review]
warn on 10.3 (sorta tested)

We can set LSMinimumSystemVersion properly even though the system will ignore it on 10.3.

There's really no guarantee that we won't wind up using some 10.4-only API - it's quite likely that the loader will abort before our code even starts running.  We might be able to fix this by setting the deployment target lower than the SDK.

Smokey, do you want me to produce a test build for you to run on 10.3?

Comment 2

11 years ago
(In reply to comment #1)
> There's really no guarantee that we won't wind up using some 10.4-only API

Like, say, bug 387168. That's not a critical change, obviously, but I would guess that core will be using 10.4-specific API before long, if they aren't already, since they've already had issues that required jumping through weak-linking hoops.
(In reply to comment #1)
> (From update of attachment 270977 [details] [diff] [review])
> We can set LSMinimumSystemVersion properly even though the system will ignore
> it on 10.3.

When LSMinimumSystemVersion is set properly (to 10.4), we just silently fail to run (as you mentioned in bug 336217 comment 8) on 10.3; I tested this with and without that change.  The OS silently preventing us from running is not part of my definition of "the system will ignore it" ;)

But given the other comments, it seems like setting the key and letting the OS make silently failing to start on 10.3 is our only option, right?
Created attachment 271486 [details] [diff] [review]
alternative (just uses LSMinimiumSystemVersion)

This patch just sets LSMinimiumSystemVersion to 10.4.  It works by simply silently preventing launch on 10.3.  It's sucky, but based on the comments, it seems like the only workable option short of crashing on startup :(
Attachment #270977 - Attachment is obsolete: true
Attachment #271486 - Flags: review?(mark)
Attachment #270977 - Flags: review?(mark)

Comment 5

11 years ago
One option that's sort of a pain in the butt is to have the main executable be a simple app that checks to see if the system meets the requirements and throws up a dialog it doesn't.  If the system does meet requirements, the simple executable could dlopen (or NSAddImage or CFBundleLoadExecutable or another call du jour) the real Camino, which could be a loadable bundle, and jump to its main().  The main app wouldn't have any extreme requirements, and we wouldn't need to use weak linking tricks to get the loader to start it on older systems.

But it's sort of a pain in the butt.

For now, let's decide whether crashing at startup is better than not launching without any feedback.  We can talk about this in #camino or at tomorrow's meeting.
We decided today to do the "silently fail to launch" option.

Updated

11 years ago
Attachment #271486 - Flags: review?(mark) → review+

Comment 7

11 years ago
Comment on attachment 271486 [details] [diff] [review]
alternative (just uses LSMinimiumSystemVersion)

Me too!
Attachment #271486 - Flags: superreview+

Comment 8

11 years ago
Do we really want to sync this to the SDK change, as opposed to just landing it now? There's no strong tie between this and bug 385221 (that shouldn't break support for 10.3.9 itself, it just paves the way for other changes to land which will), and I don't think having another few days of official 10.3 support on the trunk is particularly useful (if people really need to test another build or two, it's a tiny change to the plist).

Comment 9

11 years ago
No need to wait.
In case everyone else has not yet reached this conclusion (hopefully before starting to tell someone to check this in :P), we actually can't land this until all the tinderbox moves/upgrades are done, or else pawn suddenly starts doing "Test Failed" all over our perf ;)
Status: NEW → ASSIGNED
Whiteboard: [no checkin until tinderbox stuff is done]

Comment 11

11 years ago
No need to wait _now_.
Whiteboard: [no checkin until tinderbox stuff is done] → [needs checkin trunk]

Updated

11 years ago
Keywords: checkin-needed
Whiteboard: [needs checkin trunk]
Stuart landed this this afternoon.
Status: ASSIGNED → RESOLVED
Last Resolved: 11 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.