Xulrunner finally reached unstable on sunday, and it already needed some adjustments. I forgot a conflict, misnamed the libsmjs-dev package, the hppa assembler code got somehow duplicated, so xulrunner failed to build on hppa, and some preference files needed to be moved around the packages.
It also fails to build on alpha, but that's not my fault.
I also changed the way we identify a Debian built xulrunner in the user agent. I replaced the "Gecko/yyyymmdd"
string with "Gecko/Debian/x.y.z.t-r"
. That has several advantages over the previous "Gecko/yyyymmdd Debian/x.y.z.t-r"
string:
- It shortens the already long user agent string so that additions such as product name are not painful,
- removes pointless information (the date in the original string indicates the date of the build, not that of the API),
- keeps the
"Gecko"
string (which some site might want, seing how Apple and Konqueror did put a "like Gecko"
string),
- and finally avoid confusion with other Debian release informations that may be present in the product specific part (I think Galeon puts one, for instance).
That needed 2 updates, because I realized in between that while you can set the general.useragent.product
and general.usergagent.productSub
variables, they are not actually taken into account until you change them a first time... The HTTP protocol initialization in xulrunner forces the respective values Gecko and yyyymmdd... I just completely removed that part of the code in xulrunner.
I took advantage of this needed fix to work even more on the package, enabling the typeaheadfind module, needed by galeon and epiphany, removing some old perl code that does nothing except producing useless errors during the build, and, last but not the least, enabling the "flat style" chrome, meaning that instead of being stuck in .jar files, everything is just here in a standard tree.
It appears upstream provides a way to build such trees (option --enable-chrome-format=flat
to configure), but it's useless because it doesn't install the trees when running make install
. In addition to that, the configure script still requires zip, even if it doesn't use it, except for some obscure .jar files in libnss, that are not installed either. So after disabling the build of these useless files and removing the zip strict requirement if we build flat chrome, and fixing the script responsible for installation of the chrome files, everything got much better.
These changes have been applied to firefox as well, so stay tuned, it's for next upload.
Having highjacked spidermonkey, I did some bug triage there as well. It appeared they could all be closed by the fact libmozjs0d is there. I still need to make some triage in my patches to xulrunner and send upstream those that I still have not sent, if they are of any interest there.
Apart from this xulrunner stuff, I also did some bug clean-up on libxml2 and libxslt, which I've been somehow neglecting for some time.