Bug 362983

Summary: KWin does not depend on Qt5Multimedia
Product: [KDE Neon] neon Reporter: Martin Flöser <mgraesslin>
Component: Packages Unstable EditionAssignee: Neon Mailing List <neon>
Status: RESOLVED NOT A BUG    
Severity: normal CC: sitter
Priority: NOR    
Version First Reported In: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Martin Flöser 2016-05-12 12:39:50 UTC
I just installed the latest dev unstable edition of Neon and noticed that KWin doesn't have a dependency to Qt5Multimedia set. At least it's not pulled in.

Reproducible: Always

Steps to Reproduce:
1. Install neon
2. sudo apt build-dep kwin
3. sudo apt install git
4. git clone git://anongit.kde.org/kwin.git
5. mdkir build
6. cd build
7. cmake ../kwin

Actual Results:  
Output:

The following RUNTIME packages have not been found:
* Qt5Multimedia

Expected Results:  
Qt5Multimedia being listed as found
Comment 1 Harald Sitter 2016-05-12 18:01:20 UTC
I am pretty sure that is because kwin's cmakelists would look for the cmake package of qtmulitmeida which is in libqt5multimedia-dev, but the actual runtime dependency is on the qml module from the package qml-module-qtmultimedia. Latter would be pulled in via recommends of kwin-data, former doesn't ever get pulled in for kwin.

That said, perhaps you should check out the way purpose does QML runtime dep checks, IIRC that actually tries to load the qml module instead of going through a cmake package.
Comment 2 Harald Sitter 2016-05-13 07:56:42 UTC
As confirmed on IRC the relevant QML module is installed by kwin-data.

As far as apt-get build-dep is concerned this is intentional behavior. It simply installs whatever is listed in the control's Build-Depends field and that in turn does not include the QML module as it is a runtime dependency. The build dependency list of the packaging would not include runtime dependencies to reduce build time from unnecessary dependencies. Also as I pointed out this would be better detected by KWin's cmakelists if it used purpose's magic cmake finder for finding qml modules rather than cmake packages (which ultimately suffer from the same problem anyway; i.e. qtmm-dev wouldn't pull in the qml module because it is not actually referenced or needed to build qtmm software).