Mozilla Extension Packaging Team
Contents
Infrastructure
Alioth Project: https://alioth.debian.org/projects/pkg-mozext/
Unix group: pkg-mozext
VCS: git repos are hosted at http://git.debian.org
Interacting with the team
Email contact: pkg-mozext-maintainers@lists.alioth.debian.org
Task description
Packaging of extensions for Icedove, Iceweasel, Iceape and Iceowl (aka Thunderbird, Firefox, Seamonkey and Sunbird).
Joining
Simply request to join the project via Alioth.
TODO
- cdbs class to ease packaging
ice*-extensions-config: lets the adminstrator decide which of the installed extensions is enabled by default (similar to ca-certificates)
- Finish extension policy
Policy for packaging XUL based applications
This is a draft and up for discussion on pkg-mozext-maintainers@lists.alioth.debian.org:
Packages shipping extensions for XUL-based applications like iceweasel or icedove should put unpack the contents of the extension in a folder in either /usr/share/xul-extensions (if the extension contains only architecture-independent data) or /usr/lib/xul-extensions (if the extension contains architecture-dependent material).
The unpacked extension directory should then be symlinked into the applications directory of every XUL application that can use the extension. For example, the package for an extension "fubar" which works with iceape and iceweasel should drop links into both /usr/lib/iceweasel/extensions/fubar and /usr/lib/iceape/extensions/fubar, each pointing to /usr/share/xul-extensions/fubar.
The binary package's name should be xul-ext-<ext> with <ext> being the extension's name. E.g. xul-ext-nostalgy for Icedove's nostalgy extension.
In order to ease finding extensions for a given application the packages should
Provides: <xul-based-app1>-<extension>, <xul-based-app2>-<extension>, ...
and
Enhances: <xul-based-app1>, <xul-based-app2>, ...
where xul-based-app1 and xul-based-app2 are e.g. iceweasel and iceape.
Rationale:
- canonical place to look for extensions in the filesystem instead of having them spread across several directories (iceape, iceowl, icedove, iceweasel, ...)
consistent naming (visual grouping) for all extension packages (no mozilla-<ext> vs. iceweasel-<ext> for extensions supporting more than one XUL based application)
- eases automatic packaging of extensions
- ease work for downstream distributions which might use upstream's trademarked names for the XUL apps (e.g. if ubuntu distributes "firefox" packages instead of "iceweasel", they can continue to ship xul-ext-fubar and just add an additional link to the package: /usr/lib/firefox/extensions/fubar points to /usr/share/xul-extensions/fubar).
Packages
Use the following snippet for your sources.list:
deb http://pkg-mozext.alioth.debian.org/packages lenny/i386/ deb http://pkg-mozext.alioth.debian.org/packages lenny/all/ deb-src http://pkg-mozext.alioth.debian.org/packages lenny/source/
deb http://pkg-mozext.alioth.debian.org/packages sid/i386/ deb http://pkg-mozext.alioth.debian.org/packages sid/all/ deb-src http://pkg-mozext.alioth.debian.org/packages sid/source/
To install an extension run
apt-get install <EXTENSION>
If you are member of the group pkg-mozext you can upload with the following dput configuration:
[pkg-mozext] method = scp fqdn = alioth.debian.org incoming = /home/groups/pkg-mozext/htdocs/packages/mini-dinstall/incoming/ post_upload_command = ssh alioth.debian.org /home/groups/pkg-mozext/mini-dinstall.sh