[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#855033: lintian: report .desktop files using DBusActivatable=true without making it work



Package: lintian
Version: 2.5.50.1
Severity: wishlist

If a .desktop file has DBusActivatable=true, then launching it from a
recent desktop environment will attempt to use D-Bus. This requires that:

* the name of the .desktop file takes the form of a D-Bus well-known
  name plus ".desktop"

* there is a D-Bus .service file, preferably in the same package,
  for the well-known name that is going to be activated

Using DBusActivation is also a sign that the application probably requires
an implementation of dbus-session-bus (either default-dbus-session-bus,
dbus-session-bus, dbus-x11 or dbus-user-session) although this is
less certain.

This would go well with an implementation of the parts of #598343 that
can be done without particularly detailed knowledge of other packages,
which is a 90% solution to #598343, avoiding what I suspect will be
increasingly frequent overrides otherwise:

* "Exec=gapplication launch com.example.MyName" requires a D-Bus
  service com.example.MyName.service, an implementation of
  dbus-session-bus, and the libglib2.0-bin package

* qr/Exec=(?:/usr/bin/)?dbus-send.*?\s--dest(?:\s+|=)com.example.MyName\s.*/
  requires a D-Bus service com.example.MyName.service, an
  implementation of dbus-session-bus, and the dbus package

* qr/Exec=gdbus.*/ requires an implementation of dbus-session-bus and
  the libglib2.0-bin package

* qr/Exec=qdbus com.example.MyName.*/ requires com.example.MyName.service,
  an implementation of dbus-session-bus and either the qdbus or
  qdbus-qt5 package

I'll try to write these checks soon.

    S


Reply to: