On Mon, 27 Jul 2020 at 17:18:03 +0100, peter green wrote: > On 27/07/2020 16:31, s...@debian.org wrote: > > - revert the removal of python-dbus, but drop the python-gi B-D > > and the python-gi dependency of the python2 autopkgtest > > (test coverage will be reduced, and python-dbus will be of > > limited practical use) > > What exactly do you mean by "limited practical use", what are the > consequences of running jackd2 with python-dbus installed but > python-gi not installed (I notice that python-dbus recommends > python-gi)
With a main loop (provided by python-gi, PyQt or some Enlightenment-related library, but most commonly python-gi), python-dbus can call D-Bus methods synchronously (blocking) or asynchronously (non-blocking), listen for D-Bus signals, and export D-Bus objects. Without a main loop, it can call methods synchronously, and that's all (similar to dbus-send(1) but in Python). It looks as though jackd2 only uses python(3)-dbus for https://sources.debian.org/src/jackd2/1.9.14%7Edfsg-0.1/example-clients/jack_control/ which seems to only be using synchronous method calls anyway, so a cut-down python-dbus without the python-gi bits would probably be sufficient. If Raspbian is a bullseye derivative, and if I'm understanding its reason for the dependency correctly, another way to address this would be to drop the /usr/bin/jack_control example program and the python-dbus dependency from a Raspbian-patched version of bullseye's jackd2. > > - revert the removal of python-gi (revert pygobject 3.36.0-4) > > I went with this approach in raspbian, it turned out not to be as simple > as a revert though. That's because the maintainers of pycairo already noticed that python-gi had been dropped, and took the opportunity to remove python-cairo-dev, one more step down the dependency chain. smcv