Hi Julian

On 16/01/2025 08:34, Julian Gilbey wrote:
Hi Stuart,

On Mon, Jan 06, 2025 at 10:53:52AM +1100, Stuart Prescott wrote:
[...]
I don't think an explicit dependency on only Qt5 is the right fix for
python3-qtconsole.

- python3-qtconsole is a widget not an application
- python3-qtconsole doesn't ship any executables of its own
- python3-qtconsole works with QtPy5 QtPy6 and PySide6
[...]

I'm not sure about this.  While it's good in theory, it means other
packages that blindly depend on python3-qtconsole will possibly end up
without the required dependencies, and I don't want to have to
regularly check the rdeps of python3-qtconsole for this sort of bug.
I think it makes more sense to have a default pyqt5, and then rdeps
can also install other Qt packages if they prefer.

I disagree strongly with that. There is no desire to have packages install PyQt5 *and* PySide6 as that is perverse and painful - and this bug already exists in the archive now. The whole point of this work is to fix this bug in our packaging.

The package is a version agnostic "qtconsole" not a version-specific "qt5console" (or similar). This is a change that has to happen at some stage as PyQt5 will be removed from the archive and then that work on each rdep needs to be done. It's less work to do that now (when it is already scoped) than later (when there will be even more rdeps).

It will not be the job of the maintainer of python3-qtconsole to check rdeps - that's the job of the maintainers of the rdeps. The basic problem is is reliance on transitive dependencies, and we've known for a long time that it's best to avoid transitive dependencies and instead be explicit about the dependencies.


At present, if we made this change, we would first have to ensure that
the following packages have the required dependencies:

glueviz - (Debian Astronomy Maintainers) needs python3-pyqt5.qtsvg
jupyter-qtconsole - OK with your patch
mu-editor - (Georges Khaznadar) needs python3-pyqt5.qtsvg
python3-napari-console - OK as-is (it should not depend on Qt5 packages)
python3-nexpy - (DPT) OK as-is
python3-orange3 - (Debian PaN) has no explicit Qt packages, so needs
    python3-pyqt5 and python3-pyqt5.qtsvg
python3-pymca5 - (Debian PaN) needs python3-pyqt5.qtsvg
python3-sasview - OK
python3-silx - OK
python3-spyder - OK

So that's four more packages needing new dependencies before we can
push a new version of python3-qtconsole.  I wonder whether it's really
worth it?

Only 4 more packages. Yep, definitely worth it :)


As a separate item, build-deps and autopkgtest deps on all of the available
Qt implementations for the purposes of testing with each one might be
appropriate. If that is attractive for this package, then there is suitable
code in debian/rules and debian/tests/* in magicgui, superqt, and qwt that
can be adapted.

OK, that's a good idea; I'll take a look at those.

I'm not sure that the tests actually touch any of the gui parts - worth checking that first.

cheers
Stuart



--
Stuart Prescott   http://www.nanonanonano.net/ stu...@nanonanonano.net
Debian Developer  http://www.debian.org/       stu...@debian.org
GPG fingerprint   90E2 D2C1 AD14 6A1B 7EBB 891D BBC1 7EBB 1396 F2F7

Reply via email to