Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.python > #16525

Discussion on Bug#1070215: python3-qtpy: Add metapackages for other APIs

Path csiph.com!news.samoylyk.net!gothmog.csi.it!bofh.it!news.nic.it!robomod
From Julian Gilbey <julian@d-and-j.net>
Newsgroups linux.debian.maint.python, linux.debian.bugs.dist
Subject Discussion on Bug#1070215: python3-qtpy: Add metapackages for other APIs
Date Wed, 04 Dec 2024 21:40:01 +0100
Message-ID <JQ4k9-dL9v-1@gated-at.bofh.it> (permalink)
References <JMmIF-bgs7-1@gated-at.bofh.it> <JMHN8-btpM-9@gated-at.bofh.it> <Izs1I-anAt-3@gated-at.bofh.it> <JMHN8-btpM-7@gated-at.bofh.it>
X-Original-To Debian Python list <debian-python@lists.debian.org>, Stuart Prescott <stuart@debian.org>
X-Mailbox-Line From debian-python-request@lists.debian.org Wed Dec 4 20:34:24 2024
Old-Return-Path <julian@d-and-j.net>
X-Amavis-Spam-Status No, score=-7.198 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, LDO_WHITELIST=-5, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
X-Policyd-Weight using cached result; rate: -4.6
MIME-Version 1.0
Content-Type text/plain; charset=us-ascii
Content-Disposition inline
X-Mailing-List <debian-python@lists.debian.org> archive/latest/22610
List-ID <debian-python.lists.debian.org>
List-URL <https://lists.debian.org/debian-python/>
List-Archive https://lists.debian.org/msgid-search/Z1C8vJn3ykQpIFkC@d-and-j.net
Approved robomod@news.nic.it
Lines 72
Organization linux.* mail to news gateway
Sender robomod@news.nic.it
X-Original-Cc 1070215@bugs.debian.org
X-Original-Date Wed, 4 Dec 2024 20:34:04 +0000
X-Original-Message-ID <Z1C8vJn3ykQpIFkC@d-and-j.net>
X-Original-References <Z0NAa76_HCmsaEtp@d-and-j.net> <331d36d8-e6d1-483a-9b2c-74491c632610@debian.org> <171460744660.1790222.16310978458842219849.reportbug@simurgh.nanonanonano.net> <Z0SAmNH5lfxxIujt@d-and-j.net>
Xref csiph.com linux.debian.maint.python:16525 linux.debian.bugs.dist:1222751

Cross-posted to 2 groups.

Show key headers only | View raw


Dear Python team,

I'm having some difficulty figuring out how best to address this bug,
and am looking for input on this.

Short story (feel free to read more details in the bug report,
https://bugs.debian.org/1070215):

* python3-qtpy is meant to be a metapackage that provides a uniform
  interface to Qt, either via PyQt5, PyQt6 or PySide 6 (and upstream
  also PySide 2).

* python3-qtpy should not have any explicit dependencies on PyQt5,
  PyQt6 or PySide 6 packages; the decision of which Qt backend to use
  should be left to the maintainer's discretion.

* Currently, python3-qtpy depends on the whole PyQt5 framework, and
  most (all?) packages depending on python3-qtpy rely on this.

* The current setup prevents packages from depending on python3-qtpy
  and, say, PySide 6 without also pulling in the whole of PyQt5.

* The bug proposes that python3-qtpy becomes a minimal package
  providing the qtpy module only, but no longer depending on PyQt5,
  and providing metapackages python3-qtpy-{qt5,qt6,pyside6} that
  depend on python3-qtpy and the relevant PyQt5/PyQt6/PySide6
  packages.  There is an MR (merge request) on salsa that implements
  this proposal.

This all seems very sensible, but the difficulty is how to perform the
transition.  The bug report has several suggestions, but there's a
problem I hadn't considered earlier.  THere are lots of source
packages that Build-Depend on python3-qtpy, and (presumably) their
pyproject.yaml or similar specifies a dependency on qtpy.  Then
pybuild determines the package that provides qtpy and adds this to
python3:Depends.  That means that there is no (easy) way to change the
binary Depends fields to read

   Depends: ..., python3-qtpy-qt5 | python3-qtpy (<< 2.4.1-3), ...

as these dependencies are automatically generated.  Adding an explicit
dependency in debian/control will end up with the dependency becoming
"python3-qtpy, python3-qtpy-qt5 | python3-qtpy (<< 2.4.1-3)", which is
not at all helpful.

So it seems that there is not much hope for anything other than a
"break-the-world day".

My current best idea is:

1. Upload python-qtpy 2.4.1-3 with all of the metapackages in the MR,
   but with python3-qtpy still explicitly depending on the Qt5
   packages.  (The current python-qtpy version is 2.4.1-2.)

2. Once this has transitioned to testing, file Severity: important
   bugs against all of the packages (build-)depending on python3-qtpy,
   asking them to either add an explicit dependency on python3-qtpy-*
   or on the specific Qt*/PySide6 packages that they require.

3. After a period of time, say a month, do NMUs for all the packages
   that have not closed these bugs to add an explicit dependency on
   python3-qtpy-qt5, meaning that the behaviour will be unchanged.

4. Once that is done, upload python-qtpy 2.4.1-4 which drops all of
   the Qt5 dependencies from python3-qtpy.


I'd really appreciate some feedback on this proposal.

Best wishes,

   Julian

Back to linux.debian.maint.python | Previous | Next | Find similar | Unroll thread


Thread

Discussion on Bug#1070215: python3-qtpy: Add metapackages for other  APIs Julian Gilbey <julian@d-and-j.net> - 2024-12-04 21:40 +0100

csiph-web