Closed Bug 1074021 Opened 6 years ago Closed 6 years ago

Get SeaMonkey to launch with the new .app bundle structure

Categories

(SeaMonkey :: General, defect)

x86_64
macOS
defect
Not set
normal

Tracking

(seamonkey2.31+ fixed, seamonkey2.32+ fixed)

RESOLVED FIXED
seamonkey2.32
Tracking Status
seamonkey2.31 + fixed
seamonkey2.32 + fixed

People

(Reporter: robert.strong.bugs, Assigned: robert.strong.bugs)

References

Details

Attachments

(1 file)

Attached patch patchSplinter Review
I didn't attempt to try to change the existing code and instead just copied what I did for Thunderbird which was basically just porting over Firefox code so it ain't pretty but it worked locally for me.
Comment on attachment 8496720 [details] [diff] [review]
patch

r? stefanh since he develops on OS X.
r? Neil for general C++ code review.

Bug 1050944 - Get Firefox to launch and run on OSX with the new .app bundle structure, made necessary by Apple's v2 signatures.

This includes the patch from Bug 755724 - Don't use the xulrunner stub when building Firefox against a libxul SDK So we probably need the changes in the Makefile.in @ https://hg.mozilla.org/mozilla-central/rev/f438f50b8bb3#l1.1

> +    // xreDirectory already has a refcount from NS_NewLocalFile
> +    appData->xreDirectory = xreDirectory;
>      result = XRE_main(argc, argv, appData, 0);

This should probably be:
  int result = XRE_main(argc, argv, appData, mainFlags)

https://hg.mozilla.org/mozilla-central/rev/f438f50b8bb3#l2.19
> +#include <unistd.h>
?

Bug 755724 - Initialize trace malloc before calling NS_NewLocalFile in nsBrowserApp.cpp

https://hg.mozilla.org/mozilla-central/rev/ab31d2237244#l1.13
https://hg.mozilla.org/mozilla-central/rev/ab31d2237244#l1.70

Remove class ScopedLogging

>    int result;
>    {
>      ScopedLogging log;
> -    result = do_main(exePath, argc, argv);
> +    result = do_main(argc, argv, xreDirectory);
>    }

  int result = do_main(argc, argv, xreDirectory);
Attachment #8496720 - Flags: review?(stefanh)
Attachment #8496720 - Flags: review?(neil)
Comment on attachment 8496720 [details] [diff] [review]
patch

Thanks Robert!

I tried this together with the patch in bug 1074019 and SeaMonkey now starts up fine. Note though that https://treeherder.mozilla.org/ui/index.html#/jobs?repo=comm-central&revision=86199339bfe8 indicates that there might be some Linux bustage.
Attachment #8496720 - Flags: review?(stefanh) → review+
OS: Windows 8.1 → Mac OS X
Comment on attachment 8496720 [details] [diff] [review]
patch

>+#ifdef XP_MACOSX
>+    nsCOMPtr<nsIFile> parent;
>+    greDir->GetParent(getter_AddRefs(parent));
>+    greDir = parent.forget();
>+    greDir->AppendNative(NS_LITERAL_CSTRING(kOSXResourcesFolder));
>+#endif
greDir->SetNativeLeafName might suffice to replace this.

>+#if defined(LIBXUL_SDK) && defined(XP_MACOSX)
We don't build against the libxul sdk. Well, perhaps we could if we reinstated --disable-mailnews, but then this code wouldn't compile.
Attachment #8496720 - Flags: review?(neil) → review-
(In reply to comment #4)
> We don't build against the libxul sdk. Well, perhaps we could if we
> reinstated --disable-mailnews, but then this code wouldn't compile.

Egads, this broken code was in Firefox 21. Just goes to show that nobody builds Firefox against the libxul SDK on Mac.
Comment on attachment 8496720 [details] [diff] [review]
patch

Since it's been ignored for so long in Firefox I guess we can live with the same mistake as long as someone files a bug on Firefox and then another bug to port the fix.
Attachment #8496720 - Flags: review- → review+
Bug 1077282 Cleanup:
>  #ifdef XP_MACOSX
> -    nsCOMPtr<nsIFile> parent;
> -    greDir->GetParent(getter_AddRefs(parent));
> -    greDir = parent.forget();
> -    greDir->AppendNative(NS_LITERAL_CSTRING(kOSXResourcesFolder));
> +    greDir->SetNativeLeafName(NS_LITERAL_CSTRING(kOSXResourcesFolder));
>  #endif
Depends on: 1077282
Comment on attachment 8496720 [details] [diff] [review]
patch

> Heads up that Mac V2 signing also landed on Aurora today. We are still
> discussing whether it will be uplifted to esr31 since from what I know we
> won't be able to whitelist for the entire esr31 lifecycle but we are leaning
> towards not uplifting at this time.

[Approval Request Comment]
Regression caused by (bug #): 1047584
User impact if declined: ?
Testing completed (on m-c, etc.): Yes
Risk to taking this patch (and alternatives if risky): ?
String changes made by this patch: None
Attachment #8496720 - Flags: approval-comm-aurora?
Attachment #8496720 - Flags: approval-comm-aurora? → approval-comm-aurora+
Pushed to comm-central
http://hg.mozilla.org/comm-central/rev/c4fab6b6c386
Assignee: nobody → robert.strong.bugs
Status: NEW → ASSIGNED
Whiteboard: [leave open for comm-aurora]
Target Milestone: --- → seamonkey2.32
Pushed to comm-beta:
http://hg.mozilla.org/releases/comm-beta/rev/cbfb56b50760
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Whiteboard: [leave open for comm-aurora]
You need to log in before you can comment on or make changes to this bug.