#1089956 labelme: python3-qtpy dropping dependency on PyQt5; (Build-)Dependencies need updating

#1089956#5
Date:
2024-12-14 21:07:28 UTC
From:
To:
Dear Maintainer,

Your source package labelme currently Build-Depends on python3-qtpy,
as does the generated binary package labelme.

The upstream qtpy package is intended to be a metapackage, able to
work with any of PyQt5, PyQt6, PySide2 or PySide6 as the Qt backend.
Until now, the Debian python3-qtpy package has Depended on PyQt5, but
that is about to change.  From version 2.4.2-3 of python3-qtpy
(currently in experimental), it no longer Depends on any Qt backend,
so these will need to be explicitly listed in the (Build-)Depends of
the source/binary package.  To help, there are also new metapackages
python3-qtpy-pyqt5, python3-qtpy-pyqt6 and python3-qtpy-pyside6
already in testing that depend on python3-qtpy and the respective Qt
backend.

Action required: update the Depends/Build-Depends to depend on the
required Qt backend packages.

Approach 1 (the "best" approach):

Identify the Python backend packages required and add these to
Build-Depends.  (These dependencies could be PyQt5 dependencies, but
they could equally be PyQt6 or PySide6 dependencies.)  If they are
listed in pyproject.toml or equivalent, pybuild may propagate these
directly to the binary package Depends field, but if this does not
happen, they will need to be added explicitly.

Approach 2 (should work in all cases, but will pull in more than needed):

Add python3-qtpy-pyqt5 as an explicit dependency to both the source
Build-Depends and binary Depends fields.  This will exactly replicate
the current behaviour.


Before uploading a new version of your package to close this bug,
please do both build and test it using python3-qtpy 2.4.2-3 from
experimental.


I intend to upload python-qtpy 2.4.2-4 to unstable with this change in
mid-to-late January.  I will do an NMU or team upload if required for
this bug from mid-January.

For a background on the reason for this change, please see
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1070215

Best wishes,

   Julian

#1089956#12
Date:
2024-12-26 17:44:41 UTC
From:
To:
After having fixed one of my packages to address this (should have
done this first, sorry!), I have tried to streamline this process.  I
have written a comprehensive

/usr/share/doc/python3-qtpy/README.Debian.gz

explaining how qtpy works and how to determine the dependencies
required.  I have also written a script to calculate the
Debian PyQt5/PyQt6/PySide6 dependencies from a list of imported qtpy
modules, called qtpy-get-dependencies(1).

These can be found in python3-qtpy 2.4.2-4 (unstable, waiting to
migrate to testing) and 2.4.2-5 (experimental, which has again dropped
the PyQt5 dependencies from python3-qtpy).

Best wishes,

   Julian

#1089956#17
Date:
2025-01-07 09:22:24 UTC
From:
To:
Adding python3-pyqt5 to the dependencies of the labelme binary package
looks to be enough. Trivial patch attached - please let me know if you'd
like to do this upload yourself or if you'd like Julian or me to NMU.