Important extension checkins
Some really nice fixed for extensions developers has just been checked into Mozilla Firefox 1.1:
Ability to restrict to compatible operating systems
If your extension only works on Windows you can now have this in your install.rdf file:
<em:targetPlatform>Linux_gcc2</em:targetPlatform>
<em:targetPlatform>Linux_gcc3</em:targetPlatform>
<em:targetPlatform>WINNT_msvc</em:targetPlatform>
<em:targetPlatform>OS2</em:targetPlatform>
Allow extensions to ship searchplugins
Search plugins are currently located in the searchplugins directory which is a sub directory of the Mozilla Firefox program folder. So if you wanted to add a search plugin you had to add it there. So if you removed Mozilla Firefox and reinstalled all your user installed search plugins would be lost. But now extensions can contain search plugins. They should be placed in <extensionguid>/searchplugins.
No way of installing platform specific XPCOM components (dll/so) based on user OS.
You can now specify in your install.rdf file which files should be installed on which OS'es. Nice for people who are distributing XPCOM components as parts of their extensions.
Ads:
8 Comments
FP, I plan to add information on the patches I wrote ( and the platform specific components) to http://developer-test.mozilla.org . The packaging docs are being migrated to there, as well.
Note that the final syntax will look more like WINNT_x86-msvc, i.e. includes the processor type. This is required for Linux especially, but also when there will be Macs based on x86 and PPC architecture.
Comment by jens.b at June 8, 2005 10:37 AM | Permalinkmake that:
(<em:targetPlatform> and the platform specific components)
Comment by jens.b at June 8, 2005 10:42 AM | PermalinkPlease note that the platform-specific extension subdirectories don't work yet, because I haven't checked in the TARGET_XPCOM_ABI patch yet.
Also note that the searchplugins/ subdirectory doesn't work yet, as the final patch in the bug is not yet reviewed.
Comment by Benjamin Smedberg at June 8, 2005 02:31 PM | Permalink"If your extension only works on Windows you can now have this in your install.rdf file"
I'm not sure I like that idea. Who's going to remember to include FreeBSD or Darwin in their list?
Why not a list of OSes where it's known _not_ to work?
...then again, if it's about ABI compatibility, maybe a whitelist is better. I guess I don't know enough about this technically, but what if an OS has e.g. a Linux ABI compatibility layer? Or does that only apply at the whole-application level rather than the plugin level?
Comment by Gerv at June 9, 2005 09:30 AM | PermalinkSe avete amici Italiani, ricordategli di andare a votare...La chiesa italiana boicotta il referendum!Conto su di voi...thank's
Comment by il Fastidio at June 10, 2005 03:23 PM | PermalinkGerv: this is indeed targeted at ABI compatibility, plus at extensions that use things like the Windows registry. Mozilla doesn't take into account any ABI compatibility layers; if an OS has one by default, extension authors could just include that OS, too. This stuff is clearly optimized for the common cases, and is still a huge improvement over the current situation.
For regular XUL/JS extensions: I don't think authors will restrict their extensions to Windows just because they develop and test on Windows. Well, and even if they do, it's only a matter of changing/removing one line in the install.rdf to fix it - I think the average linux user (who is more tech-savvy than the average win user) should be able to manage that, and can then tell the author to include his OS in the list.
Comment by jens.b at June 10, 2005 04:28 PM | Permalink
I hope someone with permissions can update the packaging guide with this information:
http://www.mozilla.org/projects/firefox/extensions/packaging/extensions.html
As well as the new stuff from Bug 295247, Bug 295265 and Bug 281988.
Comment by FP at June 8, 2005 10:12 AM | Permalink