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