Use of `qdbus` binary requires that the package providing it be made mandatory, which pulls in a bunch of unrelated developer apps
User installs of Plasma typically include Qt designer, Qt Assistant, Qt Linguistic, and multiple versions of Qt QDBusViewer. This is messy and non-ideal. These apps come from the qttools
Qt repo, which also includes qdbus
. And kinfocenter
uses the qdbus
command to get KWin support info:
$ grep -r qdbus
Modules/kwinsupportinfo/main.cpp:22: auto outputContext = new CommandOutputContext(QLibraryInfo::location(QLibraryInfo::BinariesPath) + QStringLiteral("/qdbus"),
Modules/kwinsupportinfo/kcm_kwinsupportinfo.json.in:79: "TryExec": "@QtBinariesDir@/qdbus",
So because kinfocenter
uses qdbus
, distros that don't split it into its own package will as a result install qttools
and pull in the unrelated dev apps.
We should try to replace this usage of qdbus
so that the qttools
repo can be optional and distros don't have to pre-install it to satisfy kinfocenter
's dependencies and pollute their user installs with dev apps.
Some distros split the packages such that qdbus
can be installed on its own without pulling in these other apps, but that requires extra work from them to split up the content in the qttools
repo, and this doesn't seem fair to them. Additionally, some distros like Arch Linux don't do this as a matter of policy and instead always follow upstream packaging.