Hi Simon, On Wed, Jan 20, 2016 at 09:15:24AM +0000, Simon McVittie wrote: > Sorry for the delay in responding to this; dbus-python hasn't been high > on my priority list.
No problem! > On Thu, 22 Oct 2015 at 12:29:54 +0300, Dmitry Shachnev wrote: >> Drop obsolete recommendations of Qt 4 packages > ... >> * python3-dbus.mainloop.qt is a package providing support for Qt (4.x) main >> loop. However, Qt uses GLib main loops on UNIX systems by default, so >> this >> package is needed very rarely and we should not recommend it. > > I'd be happy enough to do this, but I'd like to give the Qt/KDE > maintainers (Cc'd) the opportunity to object first, so that if I get > bug reports asking me to revert the change because someone feels that > python[3]-gi is insufficiently desktop-neutral, I can point the bug > reporter to the relevant discussion and close the bug. The list you added is mostly for robots, the one we actually use is what I CCed now. Though I was filing this bug with my Qt/PyQt co-maintainer hat, so that's probably not much needed :) > The library can be used without main loop support, and it doesn't > really care which main loop glue you use (options are currently GLib, > (GLib via) Qt, or E); but the majority of its functionality relies > on having *some* main loop glue for dbus-python, and then running a > compatible main loop in your program. I included the Recommends so > that "apt install python{,3}-dbus" would give users enough modules to > run locally-written programs similar to dbus-python's own examples. > See <https://bugs.debian.org/656230> for further context. My point was that Qt main loop is usually used on Windows / OS X but *not* on Debian. Here, Qt is compiled with GLib support and will use GLib main loop unless explicitly asked not to do so (via QT_NO_GLIB=1 env variable). That is a very rare use case and I don't see why one will ever need it. So I still think these packages should not be recommended. If they are, (Py)Qt developers will have a false assumption that they probably need them. > (Anything that specifically imports dbus.mainloop.whatever should of course > continue to depend on the appropriate package.) > > This main loop glue nonsense is an artefact of dbus-python trying hard > to be non-desktop-specific. With hindsight, that was a bad idea, and > these days I much prefer self-contained D-Bus implementations/bindings > (GDBus, QtDBus, sd-bus) that assume a particular main-loop framework > and can benefit from being properly integrated with it. > >> * python-qt4-dbus is a replacement for dbus-python; if one uses one >> package, >> he will not need the other. > > Really? It looks a lot like a direct equivalent of python3-dbus.mainloop.qt > to me: > > % dpkg -L python-qt4-dbus > [... the usual /usr/share/doc noise ...] > [... some directories ... ] > /usr/lib/python2.7/dist-packages/dbus/mainloop/qt.so > > Its name is presumably for historical reasons; if it was created today, > it would be named python-dbus.mainloop.qt. Oh, sorry, you are right and I was indeed confused by the name. > At the time dbus-python was written, PyQt did not bind QtDBus; now it > does (which I believe was partially a response to how long it took to > make dbus-python work in Python 3), and I would advise developers who are > using Python with Qt to consider using the QtDBus bindings in preference > to dbus-python. dbus-python is not actually a great API, and has > several historical design mistakes, which we can't correct because its > most significant advantage over other D-Bus bindings/implementations > is compatibility with older versions of itself. I haven't tried QtDBus > but I suspect it may be better, or at least present a more Qt-like API. dbus-python is still useful for those who need a simple Python API and don't want to depend on bigger libraries like Qt and GLib/Gtk. >> In the description of python-dbus-dev, replace dbus.mainloop.qt with >> dbus.mainloop.pyqt5, which is the modern successor of dbus.mainloop.qt. > > Done in git, thanks. > >> Also, drop the alternative recommendation for python-gobject-2. That >> package has been deprecated for a long time and we want to remove it from >> the archive as soon as possible. > > Also done, thanks. Thanks! > I'll apply the remaining changes (losing the Qt equivalents from > Recommends) if there's consensus that this is what people who like > Qt want me to do. If you don't remove these packages from Recommends, then at least please replace them with their modern PyQt5 alternatives, i.e.: python-qt4-dbus → python-dbus.mainloop.pyqt5 python3-dbus.mainloop.qt → python3-dbus.mainloop.pyqt5 -- Dmitry Shachnev
signature.asc
Description: PGP signature