[Pkg-mozext-maintainers] Packaging WebExtensions

Sebastian Noack sebastian at adblockplus.org
Sat May 13 04:20:40 UTC 2017


Hi Sean

On Fri, May 12, 2017 at 10:33 PM, Sean Whitton <spwhitton at spwhitton.name>
wrote:
>
> Dear Sebastian,
>
> On Thu, May 11, 2017 at 02:29:35PM +0200, Sebastian Noack wrote:
> > as you might know, Firefox is moving away from traditional Gecko
> > extensions, towards WebExtensions which are essentially the same as
> > Chrome extensions.
>
> Right. We need to update our tools, but the work hasn't started yet.[1]

As far as I understand, the only thing that xpi-pack does, besides creating
an XPI file (which essentially is just a standard ZIP file), is some magic
for unpacked JAR files within, which is no longer relevant for
WebExtensions. Moreover, creating an XPI/ZIP file, just to have it unpacked
by install-xpi seems redundant in the first place. Besides that, the only
thing that install-xpi seems to do is creating symlinks in
/usr/share/mozilla/extensions/ based on the supported applications listed
in install.rdf. But WebExtensions should not have an install.rdf, and
support exactly one Gecko application (i.e. Firefox). So while xpi-pack and
install-xpi seem useless for WebExtensions, what might still make sense are
the ${xpi:*} substitutions in the control file, but the minimum/maximum
Gecko version would have to be extracted from manifest.json instead of
install.rdf.

> > WebExtensions don't need an install.rdf manifest. In fact the
> > documentation indicates that is has been deprecated as part of legacy
> > extensions [1]. Still, I would have to create an install.rdf, just so
> > that I can use install-xpi.
> >
> > However, it is much simpler, and probably not any less appropriate
> > than relying on deprecated mechanisms, to simple use debian/install
> > and debian/links files, in order to achieve the same result, as I did
> > here [2].
> >
> > But I wonder whether this is the way how Firefox extensions are
> > supposed to be packaged in the future. Otherwise, mozilla-devscripts
> > would have to be updated, in order to support WebExtensions properly,
> > unless I miss something.
> >
> > Also I wonder whether it still makes sense to package Firefox and
> > Chromium extensions separately, if the the only difference is either a
> > symlink in /usr/share/mozilla/extensions/ or a script with one line in
> > /etc/chromium.d.
>
> Thank you for these suggestions. It would be great if Firefox and
> Chrome addons could just be under a webextension-* namespace.

FWIW, I'd rather go for the abbreviation "webext-" as this consistent,
both, with the old "xul-ext-" prefix, and with the "webext" W3C group which
standardizes these. But this is just bikeshedding, I suppose.

Anyway, this generally seems to be a good idea, though there are some more
things to think about:

* Where should cross-browser extensions be installed in the filesystem?
* What is about extensions that will remain only compatible with either
Chromium or Firefox?
* What is about extensions that support both browsers, but with different
builds?

> I think the best thing might be to have a meeting about this with any
> pkg-mozext people at Deb[Camp|Conf], to figure out a transition plan.

That sounds like a good idea and/or perhaps we could loop somebody of them
in on the discussion here.

Sebastian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-mozext-maintainers/attachments/20170513/b3f30c3f/attachment.html>


More information about the Pkg-mozext-maintainers mailing list