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
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.
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: sfraser_bugs → mark
Status: NEW → ASSIGNED
Attachment #191421 - Flags: review?(sfraser_bugs)
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
You need to log in before you can comment on or make changes to this bug.