Thursday, April 06, 2006

Firefox extensions update, the HARD way

At home, I'm enjoying the best of both worlds, splashing around the secure comfort of my /home/, and suing whenever the need arises, such as when I want to update Firefox's extensions.

At work, I'm very much limited by the user access, with (obviously) no root access. This doesn't bode well, when it comes to stuff like updating/installing extensions. It isn't such a hurdle, most of the times, as I had a couple of useful extension loaded from 1.0.7 which didn't have these restrictions. However, I recently learned that extensions have a good piece of the blame pie when it comes to the famous memory leak experienced by Firefox users. Biggest offenders turned out to be Session Saver, which I use, and Tabbrowser, which I used, but removed since the 1.5 tab features made that extension redundant to my needs. It also mentioned that AdBlock had a leak issue which is resolved with the latest version.
All this meant I needed to update. I also wanted to replace SessionSaver with Tab Mix Plus, which I use at home and which covers most of the "Opera" features I was longing for, like duplicating tabs, multi-rows tabs, session saving etc.

As I couldn't simply use the update dialog window, I had to get creative. I first navigated to said extensions pages, and downloaded the .xpi files. Updating existing extensions was simply a matter of extracting the .xpi into the extension folder. Funkily, those extensions are saved at the extension folder (on Windows XP, usually C:\Documents and Settings\username\Application Data\Mozilla\Firefox\Profiles\profile name\extensions, while on GNU/Linux it's /home/user/.mozilla/firefox/extensions<) under clear and simple names such as {871c5380-2851-459b-a3c8-27a41d4bc9f7}. This is where the extensions.rdf comes to the rescue. A quick drag into Vim shows that AdBlock is hidden inside "{34274bf4-1d97-a289-e984-17e546307e4f}". A quick "extract to folder" later and both AdBlock and its FilterSet.G were updated (although FilterSet kept claiming it wasn't).

Now came the interesting part. Uninstalling SessionSaver was possible from the dialog window, but installing Tab Mix Plus suggested that I'd need to burrow deeper into the extension.rdf file. A quick scan of both the extension.rdf file and Tab Mix Plus' install.rdf suggested the elegant, yet stylish and cunning solution: Dump everything from one file into the other, change the syntax, close everything, restart Firefox, and pray, pray, pray.

For some bizarre reason, it worked. Once I examined the content, it turns out most of it was credits, links etc. What Firefox needed was mostly the folder name and one or two basic indications of where stuff is located at. Less crufty than I thought, but much cruder than it should be, considering the extension.rdf looks quite a mess in first glance. At least it works. For now.


Post a Comment

Links to this post:

Create a Link

<< Home

eXTReMe Tracker