Plugins
A short write up of ubuntu specifics for plugin packages.
Build-Dependencies
usually you need a build dependency on xulrunner-dev
Building/Compiling
plugins should be linked using the dependent glue shipped by the xulrunner sdk (in xulrunner-dev). Examples:
MOZILLA_GLUE_CFLAGS=`pkg-config --cflags libxul` MOZILLA_GLUE_LIBS=`pkg-config --libs libxul`
Installation/Deployment
Places where to put your plugin .so are
/usr/lib/xulrunner-addons/plugins/ # install for all xulrunner 1.9 based applications /usr/lib/mozilla/plugins/ # directory for seamonkey/iceape and legacy dir for xulrunner /usr/lib/firefox-addons/plugins/ # directory for firefox only >= 3 /usr/lib/ubufox/plugins/ # alternative directory for firefox (with ubufox)
Note: the ubufox directory should be used by plugins that use the update-alternatives system (see java plugins or gnash/swfdec). If you use update-alternatives, also install your plugin to the ubufox plugins directory without using an alternative. This is needed so that ubufox can switch plugins used for mime-types on-the-fly.
Also remember to touch /usr/lib/firefox-3*/.autoreg in .postinst if you install your plugin to the ubufox location.
Plugin Finder Service
In order to enable your plugin for the ubuntu plugin finder service, you need to add additional meta data to your debian/control file; this will allow your package to be properly added to the plugin finder database. The following meta data is required (example taken from gnash; adjust to your needs):
Xb-Npp-Applications: ec8030f7-c20a-464f-9b0e-13a3a9e97384,92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a,aa5ca914-c309-495d-91cf-3141bbb04115 Xb-Npp-MimeType: application/x-shockwave-flash Xb-Npp-Name: Gnash SWF Player Xb-Npp-Description: The GNU SWF Player (http://www.gnu.org/software/gnash/) Xb-Npp-File: libgnashplugin.so
Xb-Npp-Applications
Example: ec8030f7-c20a-464f-9b0e-13a3a9e97384,92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a,aa5ca914-c309-495d-91cf-3141bbb04115
Comma separated list of mozilla application ids supported by your package. Chose the applications for which your package installs the plugin. Application ids for the most important apps are:
ec8030f7-c20a-464f-9b0e-13a3a9e97384 - Firefox/Iceweasel 3550f703-e582-4d05-9a08-453d09bdfdc6 - Thunderbird/Icedove 92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a - Seamonkey/Iceape aa5ca914-c309-495d-91cf-3141bbb04115 - Midbrowser (from moblin.org) toolkit@mozilla.org - Generic Xulrunner
More application ids can be found here: https://addons.mozilla.org/en-US/firefox/pages/appversions
Xb-Npp-MimeType
Example: application/x-shockwave-flash
Comma separated list of supported mime-types for your plugin. A good source for the complete list is about:plugins; just add all mime-types shown for your plugin there.
Xb-Npp-Name
Example: Gnash SWF Player
A human readable short name for your plugin. This name will appear in the plugin finder and alternative wizard
Xb-Npp-Description
Example: The GNU SWF Player (http://www.gnu.org/software/gnash/)
A human readable one-line description for your plugin. This line will appear below the Name in the results for the plugin finder service; also it will appear when hovering the alternatives in the plugin alternative switcher combo box.
Xb-Npp-File
Example: libgnashplugin.so
Filename hint required, so that the plugin alternative switcher can identify the plugin-package association for used and installed plugins; this string has to be a substring of the plugin filename as seen by the plugin manager. You can see this filename in about:plugins. Usually its the full basename of the plugin with just a few exceptions (flashplugin-nonfree has different filenames for with and without nspluginwrapper installs).
MozillaTeam/Plugins (last edited 2009-01-08 13:14:45 by ip-90-187-11-132)