Archive for the 'mozilla' Category

Dealing with mozilla.org

I've been dealing with some open source projects in the past, submitting patches and stuff, but dealing with mozilla.org is really a hassle. You never really know what to do at what moment. They even admit that it's not easy... And I'm not even talking about how bugzilla is a pain in the ass.

But this is the first time I've been asked to actually find a submitter myself.

I already sent patches that actually did land in the CVS without me requesting anything. So what's the difference ? That it's a feature request instead of a bug ?

What about my other patches ?

2005-11-05 09:31:20+0900

firefox, xulrunner | 1 Comment »

Nasty bugs

Recently, I've been going through mozilla-firefox's list of bugs and took a look to some of them. I got interested in #336411, since I'm regularly hit by this one myself (remember ? I said I got strange crashes with 1.5beta1).

It appears that this strange crasher is in fact due to extensions using binary components. ColorZilla was the one killing my firefox. Why does it crash on debian's firefox and not on upstream's ? Simple : upstream's is built with gcc 3.4, debian's with gcc 4.0. Both C++ ABIs are incompatible. Now the question is : what can we do for that ?

A quick fix could be to check before loading the component, if it's linked to the incompatible libstdc++.so.5, but it's almost as nasty as the bug itself... I've not really investigated possible solutions yet, but if you have some better ideas, you're welcome.

Another bug I got interested in is #211010 and its dupe, #256384. This one was really nasty. One of the kind I hate : bad programming practices. The interesting thing with this bug, though, was that it's been revealed because of 3 other issues in 2 separate programs.

The first issue is that autoconf decides to use echo 'something\c' over echo -n something when both '\c' and -n are understood by echo.

The second issue is that when giving some options with spaces to configure (like in --enable-optimize="-pipe -w -O2"), the associated variable gets backslashed spaces (i.e. "-pipe\ -w\ -O2") (thus, being an autoconf feature)

The third issue is that the mozilla configure.in script tries to get rid of these backslashed spaces with echo $enableval | sed -e 's|\\\ | |g', triggering the nasty dash bug. A simple workaround, as stated in #256384 is to quote $enableval

Now, for the dash bug itself.

What happens with dash is that whenever you echo a '\c' escape sequence, all subsequent echo commands stop printing after the first argument containing a backslash. For example echo test1 'test2\ttest3' test4 outputs test1 test2<tab>test3.

In the case of our echo $enableval, since its value was -pipe\ -w\ -O2, it printed -pipe\ without any space after the backslash, so that it was not removed by the sed call. This value was then substitued in config/autoconf.mk.in to create config/autoconf.mk, where the ending backslash was interpreted as its shell meaning (continue on next line), thus breaking the variable, and build command lines.

And for the bad programming practice ?

The dash bug is due to a global variable that never got re-initialized, leaving the "terminate echo" (kinda) flag turned on (which is only checked when there is a backslash in the argument, since it is used to stop printing after, guess what... '\c').

No wonder why one of the first things you learn in programming classes is : never use global variables. (or at least, be very very very careful about what you do with them)

2005-11-05 08:23:05+0900

firefox | Comments Off on Nasty bugs

Firefox 1.5rc1 is out…

... and in experimental. RC2 is due soon and final a few days after... I'll definitely need to update my firefox extensions packaging kinda howto, so as to all my extensions packages, so that they actually work with latests releases of firefox.

2005-11-01 23:25:53+0900

firefox | 4 Comments »

Firefox 1.5beta2 is out but…

... why on earth is it so hard to release source and binary at the same time ? It happens all the time with mozilla.org software, and it just pisses me off.

Update: Hell, source is still not available, but, well, I just got it from CVS and uploaded to experimental. Enjoy.

2005-10-07 08:59:18+0900

firefox | 1 Comment »

Firefox 1.5beta1 is out

... and in debian experimental. I get strange segfaults on quit, though... I'll have to investigate those... I didn't get them with a CVS checkout from 3 days ago, with the very same build scripts... strange.

I also updated the branding package, for which I missed stuff to make it work with Firefox 1.5beta...

Enjoy.

2005-09-09 21:59:22+0900

firefox, firefox-branding | Comments Off on Firefox 1.5beta1 is out

Firefox news

In the past few days, there has been some move on the Firefox front in Debian. Eric uploaded the long-waited non-b0rked security update for sarge, and I finally sync'ed the experimental package with all the last changes from unstable.

I made some work on the mozilla-firefox-branding package so that it actually works for both Firefox 1.0 (and supposedly earlier versions) and Deer Park. Though there are regressions (see NEWS.Debian file), it is now much much cleaner and won't mess up with other extensions as it used to do (it used to behave strange with ctxextensions, leading to a *huge* (and unuseable) context menu). You can give it a try.

Firefox 1.5 beta 1 has been announced for the 8th, and I already started to pull out the latest trunk to prepare its release. Stay tuned.

2005-09-05 18:52:51+0900

firefox, firefox-branding | Comments Off on Firefox news

Debian Xulrunner, take 1

I finally got seriously into the xulrunner packaging today (see ITP) and managed to get something that is able to run the MyBrowser sample XUL application (provided that you change the MaxGeckoVersion in the application.ini file in the mybrowser directory) and to gracefully let mozilla-browser run, while we override quite a few of its libraries.

As the long term plan for xulrunner is to be the XUL runtime for some (all?) mozilla.org applications, I moved all its libs to /usr/lib, overriding mozilla-browser's libnss3 and libnspr4. Upstream has this special feature that it doesn't support libraries versioning, so that it is usually a mess, but they are supposedly trying to freeze the API, which will hopefully fix a lot of the current issues with mozilla releases.

Anyways, xulrunner provides its own libnspr4 and libnss3 packages (actually, libnspr4.6 and libnss3.10), while diverting the original mozilla-browser files into /usr/lib/mozilla, and provides a libmozjs package providing spidermonkey, and a libsmjs1 compatibility package. The standalone spidermonkey package will have to be removed, it's outdated and redundant.

While libnspr4 and libnss3 from mozilla-browser could be removed and mozilla-browser could use xulrunner's ones, the contrary is not possible for libnspr4 because of some missing symbols. libnss3 is fine, though, maybe I'll allow xulrunner to use it. On the other hand, xulrunner's libmozjs makes mozilla segfaults...

When everything will be ready, I'll make an upload to experimental and will ask galeon, epiphany and other maintainers to check out if they can build their browser with the libgtkembedmoz provided by xulrunner, which is IMHO, the thing we'll have to do some day.

2005-08-16 19:33:29+0900

xulrunner | 3 Comments »

It’s been a while

... since I last posted. And we got quite some changes around here.

First, on the real life side, I got married almost 2 months ago.
I met my wife in Japan, and guess what ? she's japanese. Her name is Miki (美希), and she is the most wonderful woman I've ever met. She's been learning french for a month now, and she often surprises me with all she already can say in french.

We are now living together in Colombes, not very far from Paris, and I'm still working for British Telecom in La Défense as an application server expert engineer (buzzwords detected). Finding a flat has been quite a challenge, considering how real estates are expecting you to have a stable and huge income, meaning it's quite hard to get something during your "trial period", which, when you start working as an engineer in France, lasts 3 months (and can even be reconducted for 3 more months). In fact, we got the flat a few days before the end of my trial period because it was almost done ; and actually moved in after it being theorically done. Theorically, because it has been reconducted, but the real estates didn't have to know ;). Anyways, now, it is finally over.

I've been offline quite a lot these last months, because of 1. being stuck in a place without net access (which appeared to be wrong, there was an open WiFi access point with ADSL access in the neighbourhood, but I got my laptop back quite late to figure out), and 2. because of Wanadoo (my ADSL provider) and France Telecom being lame and taking a month to configure an ADSL line... and making me pay for it while not having any access, but this story is not over yet...

Anyways, glandium.org has been migrated to my 3 years-old Vaio laptop behind this ADSL connection, and the site has switched today to a mix between the "old" RDF driven site and a WordPress powered blog. I'm hoping to have my own tool some day, but in the meanwhile, I chose to use WordPress. I gave a try to Dotclear, but support for multiple categories is lame, category hierarchy, not supported, and english support has to be done by hand by creating a custom theme.

I created a lame theme which tries to look like what it used to be with the old RDF driven site (WordPress theming just sucks. Truth is Dotclear is not much better). I must say i didn't put much effort in the comments stylesheet (actually, no effort at all).

So here is an almost new glandium.org site, which, I hope, will improve in the future (but Miki won't like it if I spend too much time on it, so it will take time).

On the Debian side, I managed to upload Firefox Deer Park alpha 2 into experimental a while ago, plus some other updates to my packages in unstable. Some more will be coming soonish (same as above, it might take more time than expected ;) ).

2005-08-13 10:02:00+0900

firefox, me, website | 2 Comments »

Mozilla Firefox progress

Today, mozilla-firefox 1.0 finally migrated to testing, pushing the old 0.9.3-5 version onto the verge of oblivion. Thanks to Eric, JoshK and the RMs.

Today is also my release of version 1.0-2pre3.1, second preview release of upcoming 1.0-3 (which might just be this one). Help yourself. Changes include:

  • an even more robust Extensions Manager,
  • usage of firefox's internal locale auto-detection (making it also work with user installed languages packs),
  • some cosmetic fixes,
  • support for Internet search services in user profiles,
  • protection of users who run firefox through sudo without -H option,
  • and more...

2004-11-18 22:05:42+0900

firefox | Comments Off on Mozilla Firefox progress

Mozilla Firefox Branding for Debian

As you may or may not know, the current trademark policy of the Mozilla Foundation makes it impossible for Debian to distribute the official logos and icons for Firefox. The package shouldn't even be called Firefox, reading this piece of blatant crap.

Anyways, as an individual, I took the right to provide these logos and icons, and create a package that will override the ones installed by the mozilla-firefox package.

The package is called mozilla-firefox-branding, is a pretty bad hack, and is available in my repository. Enjoy.

Update [2004-11-14 16:55:54+0900]: Updated to version 0.2, there was a broken thing in release 0.1.

2004-11-13 23:18:51+0900

firefox, firefox-branding | Comments Off on Mozilla Firefox Branding for Debian