← Back to team overview

debcrafters-packages team mailing list archive

[Bug 740815]

 

For posterity's sake - the reason the library name was changed is
because Debian and Redhat refused to ship a libmozjs.so that wasn't ABI-
compatible with the libmozjs.so that they were already shipping, which
was based on 1.6.0 and then 1.7.0.   It was not possible to achieve this
goal and ship libmozjs.so for 1.8.0 -- although we tried -- and it was
even more impossible in 1.8.5 as the Tracemonkey JIT had been introduced
some time around 1.8.2, and 1.8.5 changed the internal representation of
jsvals from LISP-style tagged pointers (usually 32-bit but aligned on
64-bit word boundaries) to 64-bit tagged NANs. 1.8.5 was an important
release, being approximately the same engine that shipped with Firefox
4.0, and it also was the first ES5 release. So the introduction of a new
library name was the only solution that would let us ship something with
the OS vendors that was newer than 1.7.0.

You can also see from my comments that language features and ABI were
very closely intertwined back then, and being able to change ABI remains
very important to the team today. Spidermonkey can't carry any baggage
that impacts the browser performance, and maintaining an ABI-compatible
fork is out of scope.

I think the current solution that keeps ABI stable based on the library
name matching the ESR version of the corresponding Firefox is good
enough, and we are using it in the products that we are shipping without
issue.  These comments are more than a decade late, but if anybody is
thinking about changing this, I figured I'd give them something to read
and think about.

-- 
You received this bug notification because you are a member of
Debcrafters packages, which is subscribed to packagekit in Ubuntu.
https://bugs.launchpad.net/bugs/740815

Title:
  [FFe] Updates to enable us to drop xulrunner from main

Status in Mozilla Firefox:
  Fix Released
Status in couchdb package in Ubuntu:
  Fix Released
Status in gluezilla package in Ubuntu:
  Fix Released
Status in gnome-python-extras package in Ubuntu:
  Fix Released
Status in gtk-vnc package in Ubuntu:
  Fix Released
Status in gwt package in Ubuntu:
  Fix Released
Status in icedtea-web package in Ubuntu:
  Fix Released
Status in libreoffice package in Ubuntu:
  Fix Released
Status in libreoffice-l10n package in Ubuntu:
  Fix Released
Status in mono package in Ubuntu:
  Fix Released
Status in mozvoikko package in Ubuntu:
  Fix Released
Status in packagekit package in Ubuntu:
  Fix Released
Status in swt-gtk package in Ubuntu:
  Fix Released
Status in xulrunner-1.9.2 package in Ubuntu:
  Fix Released
Status in xulrunner-2.0 package in Ubuntu:
  Fix Released

Bug description:
  Binary package hint: xulrunner-2.0

  Based on the new Firefox release schedule
  (http://people.mozilla.com/~sayrer/2011/temp/process.html), we need to
  drop xulrunner from main as unsupportable, else I'm going to risk
  spending nearly 100% of my time continually providing support for this
  across up to 5 stable releases, when most applications using it are in
  universe and probably aren't interesting to much more than 1% of our
  users.

  This is a catch-all-bug driving that work.

  The plan of action is:

  couchdb -  We will introduce a libmozjs source package for main,
  totally decoupled from the Firefox release process. This will be used
  by couchdb (and possibly other spidermonkey embedders in univese in
  the future)

  icedtea-web -  Firefox already provides an SDK now. We will build
  icedtea-web against Firefox rather than xulrunner. It seems that
  icedtea-web only really needs Firefox or xulrunner to do a version
  check in order to decide whether to turn on some XPCOM bits (which are
  turned off when built against newer Firefox builds). We should
  consider making this a pure NPAPI plugin and drop the mozilla
  dependency entirely (but perhaps not Natty timeframe)

  swt-gtk - We will update swt-gtk to the stable 3.6 2 release, turning
  on webkit support and turning off mozilla support. This requires some
  updates to applications in universe which hardcode SWT.MOZILLA.

  libreoffice-l10n/libreoffice - declares a build-depend on xulrunner-
  dev, so we need to investigate why and see if we can remove that.

  gtk-vnc - has a xulrunner-dev build-depend purely for the NPAPI
  headers. We can build this against firefox-dev, but it really should
  just ship its own headers (NPAPI is cross-browser anyway)

  gnome-python-extras - this is a tricky one. The only thing I can think
  of now is to turn of python-gtkmozembed and drop everything which uses
  it (not sure how popular that would make me)

  mozvoikko - this is a firefox extension with binary components anyway,
  so must be built against firefox (xulrunner and firefox versions won't
  be kept in sync in the future anyway)

  packagekit - has a build-depend for the NPAPI browser plugin. Same as
  above really - either ship its own headers or build against firefox-
  dev.

To manage notifications about this bug go to:
https://bugs.launchpad.net/firefox/+bug/740815/+subscriptions