||<>|| 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).