Closed Bug 302744 Opened 19 years ago Closed 19 years ago

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

Categories

(Camino Graveyard :: General, defect)

PowerPC
macOS
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: krmathis, Assigned: mark)

Details

Attachments

(1 file)

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.
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
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.
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.
Status: UNCONFIRMED → NEW
Ever confirmed: true
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: sfraser_bugs → mark
Status: NEW → ASSIGNED
Attachment #191421 - Flags: review?(sfraser_bugs)
Attachment #191421 - Flags: review?(sfraser_bugs) → review+
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
Closed: 19 years ago
Resolution: --- → FIXED
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: