Bug#926586: ublock-origin: separate packages for Firefox and Chromium may be necessary

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Bug#926586: ublock-origin: separate packages for Firefox and Chromium may be necessary

Markus Koschany-2
Source: ublock-origin
Version: 1.18.4+dfsg-2
Severity: wishlist

adding Sean to CC, perhaps he has some ideas too as the previous
maintainer.

Hi,

I was asked by upstream if we could package uBo for Firefox and
Chromium in separate packages again. The reasoning is that we had
recently two severe bugs in ublock-origin that broke the addon for
Firefox users (#925337 and #920652).

There are sometimes subtle and bigger differences between these two web
browsers. A seemingly simple configuration option in the manifest file
(#925337) disabled the addon completely or some code had to be
rewritten so it could be used for both browsers (vapi-webrequest.js in
#920652).

Upstream maintains the webext version of uBo because we asked him to
do that. I assume it was to simplify the Debian packaging, creating
one package that works for both browsers. This is obviously extra work
for upstream. Now we have a situation where we can't work around the
problem. The Firefox web browser does not support the ingocnito:split
option while Chromium does. Upstream told me that the alternative
option which is supported by both browsers, incognito:spanning,
breaks Chromium for certain use cases.

What are we going to do?

1. Is there a way to load or disable certain manifest file options for
a specific browser? If yes, we could probably continue the current
approach.

2. Would it be better to create two packages again? How can we make
sure that users still can use both web browsers at the same time with
ublock-origin? We would have to install both packages into different
directories. How can we make sure they are properly detected?

3. We could keep the current installation paths but then we had to use
Conflicts because it would not be possible to install both packages at the
same time anymore.

Thoughts?

Markus

Reply | Threaded
Open this post in threaded view
|

Bug#926586: ublock-origin: separate packages for Firefox and Chromium may be necessary

Paul Wise via nm
On Sun, 07 Apr 2019 13:46:33 +0200 Markus Koschany wrote:

> Thoughts?

There is a better option for this:

Keep the one package but install a different manifest.json into the
Firefox and Chrome extension directories. This should work since
Firefox and Chrome look for their extensions in different directories.
The only issue with this workaround is that it involves instead of just
symlinking the directory, symlinking every file except manifest.json.
The per-browser manifest.json should probably be created at build time.

--
bye,
pabs

https://wiki.debian.org/PaulWise


signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Bug#926586: ublock-origin: separate packages for Firefox and Chromium may be necessary

Paul Wise via nm
In reply to this post by Markus Koschany-2
On Sun, 07 Apr 2019 13:46:33 +0200 Markus Koschany wrote:

> Upstream maintains the webext version of uBo because we asked him to
> do that. I assume it was to simplify the Debian packaging, creating
> one package that works for both browsers. This is obviously extra work
> for upstream. Now we have a situation where we can't work around the
> problem. The Firefox web browser does not support the ingocnito:split
> option while Chromium does. Upstream told me that the alternative
> option which is supported by both browsers, incognito:spanning,
> breaks Chromium for certain use cases.

PS: I think these incompatibilities should be communicated to the
Chromium and Firefox developers so they can do something about it.

--
bye,
pabs

https://wiki.debian.org/PaulWise


signature.asc (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Bug#926586: ublock-origin: separate packages for Firefox and Chromium may be necessary

Markus Koschany-2
In reply to this post by Paul Wise via nm
Hi,

Am 15.04.19 um 04:08 schrieb Paul Wise:

> On Sun, 07 Apr 2019 13:46:33 +0200 Markus Koschany wrote:
>
>> Thoughts?
>
> There is a better option for this:
>
> Keep the one package but install a different manifest.json into the
> Firefox and Chrome extension directories. This should work since
> Firefox and Chrome look for their extensions in different directories.
> The only issue with this workaround is that it involves instead of just
> symlinking the directory, symlinking every file except manifest.json.
> The per-browser manifest.json should probably be created at build time.
True, that could work although we had some issues with Firefox, symlinks
and sandboxing in the past. For instance a symlink to font files doesn't
work. The advantage of two separate packages is that I can just use the
provided scripts in tools, tools/make-firefox.sh and
tools/make-chromium.sh to create the package. I presume upstream will
remove tools/make-webext.sh and the platform/webext directory. In
consequence I have to check every time whether there are other
differences between the Firefox or Chromium version of ublock-origin and
probably have to create my own webext.sh script. It's not just about the
manifest file, there is also some javascript code that can be different.

> PS: I think these incompatibilities should be communicated to the
> Chromium and Firefox developers so they can do something about it.

The Firefox developers are aware of the problem.

https://bugzilla.mozilla.org/show_bug.cgi?id=1380812

They simply don't support the complete webextension spec (yet?)

Regards,

Markus


signature.asc (981 bytes) Download Attachment