Packaging/Mozilla

From openSUSE

Contents

Plugins

A plugin package just needs to drop its NPAPI compatible library (and XPT file) into the /usr/lib/browser-plugins or /usr/lib64/browser-plugins directory. (starting with Firefox 3.5 /usr/lib/mozilla/plugins resp. /usr/lib64/mozilla/plugins is also supported) If it's a 32bit plugin to be installed on x86-64 it should PreRequire and register itself for nspluginwrapper like this:

 PreReq: nspluginwrapper
 [...]
 %post
 if [ -x %{_bindir}/nspluginwrapper ]; then
   %{_bindir}/nspluginwrapper -i /usr/lib/browser-plugins/PLUGIN.so
 fi
 
 %preun
 if [ -x %{_bindir}/nspluginwrapper ]; then
   %{_bindir}/nspluginwrapper -r %{_libdir}/browser-plugins/npwrapper.PLUGIN.so
 fi

Extensions (incl. Themes)

Firefox 2

System wide Firefox extensions need to be installed to

/usr/lib/browser-extensions/firefox

Gecko 1.9 (FF3/XR1.9/TB3/SM2)

System wide extensions need to be installed to the following locations:

%{_libdir}/mozilla/extensions/APPID - if the extension contains binary components

%{_datadir}/mozilla/extensions/APPID - if the extension has only JS components

APPID is the UID of the application the extension is meant for.

Example for Firefox:

 /usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}

would be the correct directory where a Firefox extension bundle not containing binary components need to be installed.

Application APPID
Firefox {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
Thunderbird {3550f703-e582-4d05-9a08-453d09bdfdc6}
SeaMonkey {92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}
Sunbird {718e30fb-e89b-41dd-9da7-e25a45638b28}

For the internal bundle structure of extensions please check this

Additional languages

Firefox < 3

Just drop the locale JAR and MANIFEST files into %{libdir}/firefox/chrome/

Firefox 3 / XULRunner 1.9

Since Firefox 3 is depending directly on XULRunner's toolkit, the toolkit part of the locale needs to be installed to %{libdir}/xulrunner-1.9/chrome/ while the browser parts are to be installed in %{libdir}/firefox/chrome/ still.

Toolkit components

alerts
autoconfig
cookie
global
global-platform
global-region
help
mozapps
necko
passwordmgr
pipnss
pippki
places

Browser components

branding
browser
browser-region


SeaMonkey 1.x

For SeaMonkey it's far more complicated. Please use this as example.