Bug#673851: deskbar-applet: please detect dbus-python via Python (not pkg-config) or build-depend on python-dbus-dev

Simon McVittie smcv at debian.org
Mon May 21 18:16:58 UTC 2012


Source: deskbar-applet
Version: 2.32.0-1
Severity: wishlist

dbus-python ships a header file and a pkg-config metadata file for use by
out-of-tree main loop implementations, such as python-qt4 and python-edbus.

These are intended to be pretty rarely used, a lot like python-gtk2-dev -
the only packages which are intended to use them are Python bindings for
main loop implementations (again, like python-qt4 and python-edbus).

Unfortunately, several packages use pkg-config as a more general check for
"is dbus-python installed?", and deskbar-applet is one of them.

This has become significant because the header file and pkg-config metadata
have moved to a new binary package, python-dbus-dev. At the moment,
python-dbus depends on python-dbus-dev for backwards compatibility (to avoid
breaking packages like yours), but I would like to remove that dependency
(Bug #673779).

Longer-term, work being done on pure-Python main loop support might mean
that the C header and pkg-config metadata will eventually go away entirely
in favour of pure-Python GLib, Qt and E main loop glue.

The correct, long-term solution for packages that don't implement a main loop
is to check for the dbus Python module (and, if required, the
dbus.mainloop.glib Python module) as you would for a pure-Python module:
run "python -c 'import dbus'", or use the AM_CHECK_PYMOD macro, or whatever.
If you need to check the version number, it's exported by the dbus module
as a string (dbus.__version__) and a tuple (dbus.version).

If that's not feasible, the next best thing is to set your package's
build-dependencies as if you were implementing a main loop:

* build-depend on python-dbus-dev
* if you support Python 2, also build-depend on python-dbus
* if you support Python 3, also build-depend on python3-dbus

Thanks,
    Simon





More information about the pkg-gnome-maintainers mailing list