B. Smedberg wrote:

Doug Turner wrote:

What has changed since my posting:
news://news.mozilla.org:119/[EMAIL PROTECTED]

And Chris's follow up:
news://news.mozilla.org:119/[EMAIL PROTECTED]


Nothing has changed. I thought that shipping compreg.dat was a temporary hackaround solution, which is bound to create more problems than it solves. In the first place, I've been trying to reduce the "support package" each application has to ship to use the GRE, and now they will have to ship a compreg.dat. Secondly, one of the basic support measure recommended throughout bugzilla and on these NGs is to delete compreg.dat, which would cause an application to fail in mysterious ways. Lastly, there could be different classes of the same GRE version (for example, a GRE with SVG support and a GRE without, since SVG support cannot be added as an extension on the GRE); these classes would have different registration data, which are unpredictable to an embedder.

Here's the situation I'm working on (for this issue and for bug 220091 <http://bugzilla.mozilla.org/show_bug.cgi?id=220091>):

Let's say an ordinary developer builds a mozilla application (seamonkey, fb, whatever) and wants to test it using a GRE. My new packaging system allows him to stage the GRE to one location (for instance mozilla/stage/gre) and the app to another (mozilla/stage/seamonkey). I wanted to place a "gre-path" file in the seamonkey directory, pointing to the GRE to use (for testing purposes only, but it should work in both debug and release builds). But there is currently no way of starting mozilla (on *nix only) using a GRE without futzing with the MRE_HOME envvar (for run-mozilla.sh, which I just discovered, so I will update the patch in bug 220091). I think that we should work towards a dependent-libs scheme that doesn't require "pre-registration" by whoever is shipping the application. Any of the 1-2-3 proposals in my original post would allow that.

Of course there's a catch-22. That's why the dependent libs bits are in there, and why the dependencies have to be described outside of the shared libraries in question. The compreg.dat wasn't really meant to be a hackaround solution, it was actually quite elegant. The current code already allows you to use multiple GREs via the environment variable or /etc/gre.d/, but the GRE has to be internally consistent first. compreg.dat is part of that consistency.


--Chris


-- ------------ Christopher Blizzard http://www.mozilla.org ------------


_______________________________________________ Mozilla-xpcom mailing list [EMAIL PROTECTED] http://mail.mozilla.org/listinfo/mozilla-xpcom

Reply via email to