Last Comment Bug 642795 - Remove support for finding system XULRunner in the standalone glue
: Remove support for finding system XULRunner in the standalone glue
Status: RESOLVED FIXED
: dev-doc-complete
Product: Core
Classification: Components
Component: XPCOM (show other bugs)
: unspecified
: x86 Windows 7
: -- normal (vote)
: mozilla5
Assigned To: Benjamin Smedberg AWAY UNTIL 2-AUG-2016 [:bsmedberg]
:
Mentors:
Depends on: 651947
Blocks: 671500
  Show dependency treegraph
 
Reported: 2011-03-18 07:04 PDT by Benjamin Smedberg AWAY UNTIL 2-AUG-2016 [:bsmedberg]
Modified: 2011-07-14 00:37 PDT (History)
7 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Remove GRE finding and registration code, rev. 1 (60.65 KB, patch)
2011-03-18 10:36 PDT, Benjamin Smedberg AWAY UNTIL 2-AUG-2016 [:bsmedberg]
mh+mozilla: review+
Details | Diff | Splinter Review
remove the help too (1.59 KB, patch)
2011-05-04 10:36 PDT, Dave Townsend [:mossop]
mark.finkle: review+
Details | Diff | Splinter Review

Description Benjamin Smedberg AWAY UNTIL 2-AUG-2016 [:bsmedberg] 2011-03-18 07:04:50 PDT
Now that we're moving to short-cycle releases without binary compatibility guarantees, the system-XULRunner support in the standalone glue is not going to be useful, and will be actively dangerous.

I think I'd also like to remove the standalone glue entirely, but glandium is apparently trying to use it to improve startup time somehow, so we might need to discuss that part further.
Comment 1 Mike Hommey [:glandium] 2011-03-18 07:23:35 PDT
With my Debian developer hat on, the /etc/gre.d, ~/.gre.d thingy has always been pointless, even when releases cycles were long. So I'm all okay with that going away. The standalone glue is however useful to avoid using rpath on applications that do use xulrunner/libxul, such as kazehakase, galeon, etc. And this system registration is part of how it works. I'm all for changing the API, though (such as GRE_GetGREPathWithProperties).

With my Mozilla hat on, I think the standalone glue is useful for us to avoid creating our own dynamic loader on each platform to overcome platform limitations and improve cold startup time without relying on a wrapper.
Comment 2 Benjamin Smedberg AWAY UNTIL 2-AUG-2016 [:bsmedberg] 2011-03-18 10:36:14 PDT
Created attachment 520237 [details] [diff] [review]
Remove GRE finding and registration code, rev. 1
Comment 3 Benjamin Smedberg AWAY UNTIL 2-AUG-2016 [:bsmedberg] 2011-03-18 10:37:12 PDT
This covers everything except gtkmozembed, which I'll eal with separately.
Comment 4 Mike Hommey [:glandium] 2011-03-18 10:55:49 PDT
Comment on attachment 520237 [details] [diff] [review]
Remove GRE finding and registration code, rev. 1

Looks good to me. I guess applications using GRE_GetGREPathWithProperties today could use a semi-hardcoded path, taken from e.g. one of the variables provided by the pkg-config files on Unix.
Comment 5 Benjamin Smedberg AWAY UNTIL 2-AUG-2016 [:bsmedberg] 2011-03-18 11:06:55 PDT
Yes, Linux apps should know (somehow) where their target xulrunner is going to be located by the package manager or whatever.
Comment 6 Daniel Holbert [:dholbert] (mostly OOTO until Aug 9th) 2011-04-01 11:07:29 PDT
This landed as http://hg.mozilla.org/mozilla-central/rev/d7fc46501527
but it caused linux bustage*, so I backed it out as
http://hg.mozilla.org/mozilla-central/rev/84034146670c

*bustage logs:
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1301679138.1301680151.17956.gz
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1301679130.1301680106.17885.gz
http://tinderbox.mozilla.org/showlog.cgi?log=Firefox/1301679126.1301680748.20017.gz

Bustage looks like e.g.:
> TestGtkEmbedNotebook.cpp: In function 'int main(int, char**)':
> TestGtkEmbedNotebook.cpp:17: error: 'GREVersionRange' does not name a type
Comment 7 Daniel Cater 2011-04-09 07:28:37 PDT
This landed again as http://hg.mozilla.org/mozilla-central/rev/8ad43371c469
Comment 8 Dave Townsend [:mossop] 2011-05-04 10:36:47 PDT
Created attachment 530075 [details] [diff] [review]
remove the help too
Comment 9 Dave Townsend [:mossop] 2011-05-05 09:56:59 PDT
The additional patch landed: http://hg.mozilla.org/mozilla-central/rev/54bacc404a6f
Comment 10 Matt Brubeck (:mbrubeck) 2011-05-05 14:42:52 PDT
Backed out because something that landed with this may have caused a new orange (Win debug Moth tabview/browser_tabview_bug597248.js):
http://hg.mozilla.org/mozilla-central/rev/eaaa24ff93a0

This can probably land again once we figure out the cause of the test failures.
Comment 11 Matt Brubeck (:mbrubeck) 2011-05-06 10:00:52 PDT
Re-landed the followup patch: http://hg.mozilla.org/mozilla-central/rev/59ae97ec2f12
Comment 12 Eric Shepherd [:sheppy] 2011-05-31 13:14:06 PDT
Does anyone know of any actual documentation for this feature that has been removed? I can't find any to update.
Comment 13 Benjamin Smedberg AWAY UNTIL 2-AUG-2016 [:bsmedberg] 2011-05-31 13:16:25 PDT
https://developer.mozilla.org/en/GRE and https://developer.mozilla.org/en/XPCOM_Glue both mention the removed function.
Comment 14 Eric Shepherd [:sheppy] 2011-05-31 13:19:27 PDT
Yeah, I found those moments after posting my question. I take it this means that you need to know where to get your xpcomglue lib instead of having it hunted down for you?
Comment 15 Eric Shepherd [:sheppy] 2011-05-31 13:25:57 PDT
Documentation updated (I found my answers by, you know, reading):

https://developer.mozilla.org/en/GRE#Find_a_compatible_GRE
https://developer.mozilla.org/en/XPCOM_Glue#Frozen_linkage.3a_standalone_glue_%28no_DLL_dependencies%29

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