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



14 years ago
14 years ago


(Reporter: krmathis, Assigned: mark)




(1 attachment)



14 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/ v1.2 related?

When I build Camino it creates symlinks in 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

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

Comment 2

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

Comment 4

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

The packaging stuff I'm working on will make this moot.  You'll wind up with a
full 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.

Comment 5

14 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, since it points to
files in my source folder.


14 years ago
Ever confirmed: true

Comment 6

14 years ago
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

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.


14 years ago
Assignee: sfraser_bugs → mark
Attachment #191421 - Flags: review?(sfraser_bugs)


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

Comment 7

14 years ago
This is in.

For an objdir depend build, you need to remove the offending links from
camino/build/*/ otherwise they won't be replaced.
Last Resolved: 14 years ago
Resolution: --- → FIXED


14 years ago
You need to log in before you can comment on or make changes to this bug.