Control: severity -1 normal
Control: tags -1 = upstream

On Sat, Apr 21, 2018 at 08:36:58AM +0200, Michael Biebl wrote:
> Afaiu, the idea behind this wrapper is, that it's up to the actual
> application to decide which implementation it wants, i.e. glib
> (python-gobject-2) or the gi based Glib (python3-gi + gir1.2-glib-2.0) ,
> and the application should declare the proper dependency.

Since this is a concious upstream choice, I am lowering severity.

It still seems like a bad idea to me, because the behaviour of the
module depends on what happens to be installed. If the choice is up to
the developer, a developer should be able to encode her choice into the
source.

I see tow major techniques to avoid this issue:
 * Having two (sub)modules for each way of integration.
 * Having some kind of setup/install function that takes care of setting
   up the integration. (See e.g. apt_pkg.init() or gbulb.install())

Implementing either of these would be considered an API break, so fixing
this certainly requires upstream involvement.

> If I add a dependency to python3-slip-dbus (assuming that would be the
> correct package and not python3-slip), I wouldn't know if I should add
> python-gobject-2
> or
> python3-gi, gir1.2-glib-2.0
> Both feels wrong somehow.

You could use a dependency alternative. Of course that also means
encoding a default choice, but a user would always get a working
package.

I do wonder though why you list python-gobject-2 here as it is a Python
2 module. That doesn't seem to fit into the picture of a python3 package
at all and there is no python-slip-dbus that could be relevant.

Helmut

Reply via email to