Re: Bug#802659: dbus-python: Please drop recommends on PyQt4 packages

2016-01-27 Thread Lisandro Damián Nicanor Pérez Meyer
Hi Simon! For what it's worth Dmitry is the python-knowledgeable guy in the Qt 
packaging team. So I just trust him :)

Kinds regards, Lisandro.

-- 
Why should I care about posterity?
What's posterity ever done for me?
  -- Groucho Marx

Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/


signature.asc
Description: This is a digitally signed message part.
-- 
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-kde-talk

Re: Bug#802659: dbus-python: Please drop recommends on PyQt4 packages

2016-01-26 Thread Dmitry Shachnev
Hi Simon,

On Tue, Jan 26, 2016 at 06:49:11PM +0100, Simon McVittie wrote:
> On 26/01/16 10:37, Dmitry Shachnev wrote:
>> 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.
>
> Am I right in thinking that Qt programs always the same external-facing
> main-loop API, and that results in callbacks being scheduled from GLib's
> GMainContext on Debian under normal circumstances, or from Qt's built-in
> equivalent of GMainContext/libevent/etc. on Windows, OS X, or with
> QT_NO_GLIB?

Right. Applications always use QCoreApplication/QEventLoop, that creates
an event dispatcher internally, which is different on different platforms.

On other platforms it may also use platform-specific dispatchers, though it
is not relevant for us.

For UNIX the logic is at:
https://code.woboq.org/qt5/qtbase/src/corelib/kernel/qcoreapplication.cpp.html#489

> dbus-python needs two things to work with a particular main-loop: it
> needs to be told how to make that main-loop monitor libdbus connections
> (a dbus.mainloop.* module), and the application author needs to actually
> be iterating that main-loop.
>
> For GLib, dbus.mainloop.glib is bundled with dbus-python, but the
> application author also needs to iterate the GLib main-loop via PyGI,
> either directly or by using a higher-level API like Gtk or GApplication.
> For Qt, dbus.mainloop.whatever replaces dbus.mainloop.glib (but on
> Debian, dbus.mainloop.glib would also work), and QApplication replaces
> PyGI (but on Debian, PyGI would also work).
>
> The "main loop" terminology for the dbus-python addons is perhaps
> unfortunate; it's really more like "event dispatcher integration glue".

I know — I have been playing with that stuff a bit in past :)

>> 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
>
> I've done that in git for now, while we decide whether to remove them
> altogether.

Thanks!

--
Dmitry Shachnev


signature.asc
Description: PGP signature
-- 
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-kde-talk

Re: Bug#802659: dbus-python: Please drop recommends on PyQt4 packages

2016-01-26 Thread Simon McVittie
On 26/01/16 10:37, Dmitry Shachnev wrote:
> 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.

Am I right in thinking that Qt programs always the same external-facing
main-loop API, and that results in callbacks being scheduled from GLib's
GMainContext on Debian under normal circumstances, or from Qt's built-in
equivalent of GMainContext/libevent/etc. on Windows, OS X, or with
QT_NO_GLIB?

dbus-python needs two things to work with a particular main-loop: it
needs to be told how to make that main-loop monitor libdbus connections
(a dbus.mainloop.* module), and the application author needs to actually
be iterating that main-loop.

For GLib, dbus.mainloop.glib is bundled with dbus-python, but the
application author also needs to iterate the GLib main-loop via PyGI,
either directly or by using a higher-level API like Gtk or GApplication.
For Qt, dbus.mainloop.whatever replaces dbus.mainloop.glib (but on
Debian, dbus.mainloop.glib would also work), and QApplication replaces
PyGI (but on Debian, PyGI would also work).

The "main loop" terminology for the dbus-python addons is perhaps
unfortunate; it's really more like "event dispatcher integration glue".

> 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

I've done that in git for now, while we decide whether to remove them
altogether.

S

-- 
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-kde-talk