Open Bug 934070 Opened 6 years ago Updated 2 years ago

Stop copying dist/bin under dist/$(MOZ_MACBUNDLE_NAME)/Contents/MacOS in browser/app/Makefile.in

Categories

(Firefox Build System :: General, defect)

defect
Not set

Tracking

(Not tracked)

People

(Reporter: glandium, Unassigned)

References

(Blocks 2 open bugs)

Details

Attachments

(1 file, 1 obsolete file)

The only reason the rule to do that is in the tools tier is if it were in libs, other things in the libs tier putting files under dist/bin after browser/app wouldn't end up in dist/$(MOZ_MACBUNDLE_NAME)/Contents/MacOS (which happens, it's not a theoretical problem).

Subsequently, this made us move some other rules to the tools tier (bug 914560).

But there is, actually, no reason to copy everything like that. We could just use a symbolic link, and from testing, this just works.
Consequently, revert changeset 92bea49b46b4 (bug 914560).
Attachment #826251 - Flags: review?(ted)
Attachment #826251 - Attachment is obsolete: true
Attachment #826251 - Flags: review?(ted)
Comment on attachment 826256 [details] [diff] [review]
Stop copying dist/bin under dist/$(MOZ_MACBUNDLE_NAME)/Contents/MacOS in */app/Makefile.in

Review of attachment 826256 [details] [diff] [review]:
-----------------------------------------------------------------

I really wish the bundle *was* dist/bin for our mac builds, but baby steps.
Attachment #826256 - Flags: review?(ted) → review+
(In reply to Ted Mielczarek [:ted.mielczarek] from comment #3)
> I really wish the bundle *was* dist/bin for our mac builds, but baby steps.

It would have to be the other way around, and I started experimenting with this, but it's a long process.
Backed out for OS X debugging bustage:

https://hg.mozilla.org/integration/mozilla-inbound/rev/2cd921bf50a9

The phenomenon was that when running Firefox via gdb (e.g. gdb --args ./obj/dist/NightlyDebug.app/Contents/MacOS/firefox-bin --profile /tmp/aaa), Firefox could not locate its bundle and all sorts of weird things happened. It didn't get an icon in the dock or a window, keypresses would get sent to the last window you had clicked on instead of Firefox, etc.

Others observed that the same bad behavior happened if you changed to the NightlyDebug.app/Contents/MacOS directory in the shell and ran Firefox directly from there.
Things have evolved since then, and the .app directory now has two separate directories where everything ends up, thanks to the app signing thing in OSX. I think the best thing to do is to install things directly in the right directory in NightlyDebug.app. Or use the right layout under dist/bin. (I'd probably go with the latter if it's possible to run `open objdir/dist/bin` and have the build run)

I'm unassigning myself in case someone would want to take this in the short term.
Assignee: mh+mozilla → nobody
Blocks: artifact
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.