Symlink to source dir instead of actual JEP files in Camino.app (MOZ_OBJDIR build)

VERIFIED FIXED

Status

Camino Graveyard
General
VERIFIED FIXED
13 years ago
13 years ago

People

(Reporter: krmathis@gmail.com, Assigned: Mark Mentovai)

Tracking

Details

Attachments

(1 attachment)

(Reporter)

Description

13 years ago
User-Agent:       Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8b4) Gecko/20050730 Camino/0.9a2+
Build Identifier: Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.8b4) Gecko/20050730 Camino/0.9a2+

First I want to say that I build Camino in an MOZ_OBJDIR, since I think its
related to this problem. mozilla/plugin/oji/JEP/Makefile.in v1.2 related?

When I build Camino it creates symlinks in Camino.app/Contents/MacOS/plugins/ to
the JavaEmbeddingPlugin.bundle and MRJPlugin.plugin in my local
mozilla/plugin/oji/JEP/ source directory. I expect it to copy the actual files...

Reproducible: Always

Steps to Reproduce:
1. Build Camino in an MOZ_OBJDIR
Actual Results:  
Creates symlinks to local JavaEmbeddingPlugin.bundle and MRJPlugin.plugin

Expected Results:  
Copy JavaEmbeddingPlugin.bundle and MRJPlugin.plugin to Camino.app


Sorry if I have missed a step somewhere.
CCing Simon and Mark to take a look.
(Reporter)

Comment 2

13 years ago
Small update.
When I build Camino (same .mozconfig) without using an objdir it copies
JavaEmbeddingPlugin.bundle and MRJPlugin.plugin to Camino.app as it is supposed
to do. So it must be objdir related
-> simon
Assignee: pinkerton → sfraser_bugs
(Assignee)

Comment 4

13 years ago
I wouldn't consider this a bug if it were in Firefox, becuase dist/DeerPark.app
is full of symlinks.  It seems bug-like here only because there aren't any
unsafe symlinks in camino/build/*/Camino.app.  (Yet.)

The packaging stuff I'm working on will make this moot.  You'll wind up with a
full Camino.app in dist/ without any unsafe links present, even if you're not
using automated dmg packaging.

We can fix it more directly here, but this might crop up again in the future as
more files are added.  Replace the new "ln -sf" guys with "rsync -a --delete
--copy-unsafe-links".  It may not be worth it, considering the packaging fix.
(Reporter)

Comment 5

13 years ago
Mark. I understand that it will be obsolete when you land the packaging stuff.
But why does it work different when I build with an objdir?

The problem is that I can distribute my current Camino.app, since it points to
files in my source folder.

Updated

13 years ago
Status: UNCONFIRMED → NEW
Ever confirmed: true
(Assignee)

Comment 6

13 years ago
Created attachment 191421 [details] [diff] [review]
Use rsync instead of ln -s

Kai: when you do an objdir build, Xcode treats the objdir as the root of the
project.  This is normally fine, because generally, it's only linking and
copying things that are built as part of the Mozilla build preceding the Camino
project build.	Those things are naturally in the objdir.  What you're seeing
with JEP is a by-product of its being included in precompiled binary form. 
Since it's not naturally in the objdir, a symbolic link is made during an
objdir build.  Xcode copies the link intact rather than copying what it points
to.

The patch makes the objdir contain a copy of the plugins à la rsync.  After
giving it some thought, I've decided that the expected behavior for Xcode
builds really is that an application ought to run on systems other than the
build host when dragged right out of the Xcode build directory.
(Assignee)

Updated

13 years ago
Assignee: sfraser_bugs → mark
Status: NEW → ASSIGNED
Attachment #191421 - Flags: review?(sfraser_bugs)

Updated

13 years ago
Attachment #191421 - Flags: review?(sfraser_bugs) → review+
(Assignee)

Comment 7

13 years ago
This is in.

For an objdir depend build, you need to remove the offending links from
camino/build/*/Camino.app otherwise they won't be replaced.
Status: ASSIGNED → RESOLVED
Last Resolved: 13 years ago
Resolution: --- → FIXED
(Reporter)

Updated

13 years ago
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.