--include-dependencies does not always pull in all dependencies listed by kde-build-metadata
When you enable building of Qt5 through --include-dependencies
(either with !4 (closed) or !5 (closed)) you will find that for some modules the dependency tree becomes curiously 'trimmed':
- try
kdesrc-build --include-dependencies kded
--- Ignoring matched active module breeze-grub in module set kf5-workspace-modules
--- Ignoring matched active module breeze-grub in module set kf5-workspace-modules
-- Reading dependencies from /home/prometheus/projects/kde/src/kde-build-metadata/dependency-data-common
-- Reading dependencies from /home/prometheus/projects/kde/src/kde-build-metadata/dependency-data-kf5-qt5
dep-resolv: Visiting kded
dep-resolv: kded:master depends on kcoreaddons:*
dep-resolv: Visiting kcoreaddons
dep-resolv: kcoreaddons:master depends on Qt5:*
dep-resolv: kcoreaddons:master depends on extra-cmake-modules:*
dep-resolv: Visiting extra-cmake-modules
dep-resolv: extra-cmake-modules:master depends on Qt5:*
No command-line filter seems to be present.
Adding Qt5 to module list
Skipping duplicate module Qt5
Adding extra-cmake-modules to module list
Adding kcoreaddons to module list
Adding kded to module list
- compare with
kdesrc-build --include-dependencies kinit
.
--- Ignoring matched active module breeze-grub in module set kf5-workspace-modules
--- Ignoring matched active module breeze-grub in module set kf5-workspace-modules
-- Reading dependencies from /home/prometheus/projects/kde/src/kde-build-metadata/dependency-data-common
-- Reading dependencies from /home/prometheus/projects/kde/src/kde-build-metadata/dependency-data-kf5-qt5
dep-resolv: Visiting kinit
dep-resolv: kinit:master depends on kcrash:*
dep-resolv: Visiting kcrash
dep-resolv: kcrash:master depends on kcoreaddons:*
dep-resolv: Visiting kcoreaddons
dep-resolv: kcoreaddons:master depends on Qt5:*
dep-resolv: kcoreaddons:master depends on extra-cmake-modules:*
dep-resolv: Visiting extra-cmake-modules
dep-resolv: extra-cmake-modules:master depends on Qt5:*
dep-resolv: kcrash:master depends on kwindowsystem:*
dep-resolv: Visiting kwindowsystem
dep-resolv: kwindowsystem:master depends on Qt5:*
dep-resolv: kinit:master depends on kdoctools:*
dep-resolv: Visiting kdoctools
dep-resolv: kdoctools:master depends on karchive:*
dep-resolv: Visiting karchive
dep-resolv: karchive:master depends on Qt5:*
dep-resolv: kdoctools:master depends on ki18n:*
dep-resolv: Visiting ki18n
dep-resolv: ki18n:master depends on Qt5:*
dep-resolv: kdoctools:master depends on Qt5:*
dep-resolv: kinit:master depends on kio:*
dep-resolv: Visiting kio
dep-resolv: kio:master depends on kbookmarks:*
dep-resolv: Visiting kbookmarks
dep-resolv: kbookmarks:master depends on kconfigwidgets:*
dep-resolv: Visiting kconfigwidgets
dep-resolv: kconfigwidgets:master depends on kauth:*
dep-resolv: Visiting kauth
dep-resolv: kauth:master depends on polkit-qt-1:*
dep-resolv: Visiting polkit-qt-1
dep-resolv: polkit-qt-1:master depends on Qt5:*
dep-resolv: kauth:master depends on Qt5:*
dep-resolv: kconfigwidgets:master depends on kcodecs:*
dep-resolv: Visiting kcodecs
dep-resolv: kcodecs:master depends on Qt5:*
dep-resolv: kconfigwidgets:master depends on kconfig:*
dep-resolv: Visiting kconfig
dep-resolv: kconfig:master depends on Qt5:*
dep-resolv: kconfigwidgets:master depends on kguiaddons:*
dep-resolv: Visiting kguiaddons
dep-resolv: kguiaddons:master depends on Qt5:*
dep-resolv: kconfigwidgets:master depends on kwidgetsaddons:*
dep-resolv: Visiting kwidgetsaddons
dep-resolv: kwidgetsaddons:master depends on Qt5:*
dep-resolv: kconfigwidgets:master depends on Qt5:*
dep-resolv: kbookmarks:master depends on kiconthemes:*
dep-resolv: Visiting kiconthemes
dep-resolv: kiconthemes:master depends on kitemviews:*
dep-resolv: Visiting kitemviews
dep-resolv: kitemviews:master depends on Qt5:*
dep-resolv: kiconthemes:master depends on Qt5:*
dep-resolv: kbookmarks:master depends on kxmlgui:*
dep-resolv: Visiting kxmlgui
dep-resolv: kxmlgui:master depends on attica:*
dep-resolv: Visiting attica
dep-resolv: attica:master depends on Qt5:*
dep-resolv: kxmlgui:master depends on breeze-icons:*
dep-resolv: Visiting breeze-icons
dep-resolv: breeze-icons:master depends on Qt5:*
dep-resolv: kxmlgui:master depends on kglobalaccel:*
dep-resolv: Visiting kglobalaccel
dep-resolv: kglobalaccel:master depends on kdbusaddons:*
dep-resolv: Visiting kdbusaddons
dep-resolv: kdbusaddons:master depends on Qt5:*
dep-resolv: kglobalaccel:master depends on kservice:*
dep-resolv: Visiting kservice
dep-resolv: kservice:master depends on Qt5:*
dep-resolv: kglobalaccel:master depends on Qt5:*
dep-resolv: kxmlgui:master depends on ktextwidgets:*
dep-resolv: Visiting ktextwidgets
dep-resolv: ktextwidgets:master depends on kcompletion:*
dep-resolv: Visiting kcompletion
dep-resolv: kcompletion:master depends on Qt5:*
dep-resolv: ktextwidgets:master depends on sonnet:*
dep-resolv: Visiting sonnet
dep-resolv: sonnet:master depends on Qt5:*
dep-resolv: ktextwidgets:master depends on Qt5:*
dep-resolv: kxmlgui:master depends on Qt5:*
dep-resolv: kbookmarks:master depends on Qt5:*
dep-resolv: kio:master depends on kjobwidgets:*
dep-resolv: Visiting kjobwidgets
dep-resolv: kjobwidgets:master depends on Qt5:*
dep-resolv: kio:master depends on knotifications:*
dep-resolv: Visiting knotifications
dep-resolv: knotifications:master depends on phonon:*
dep-resolv: Visiting phonon
dep-resolv: phonon:master depends on Qt5:*
dep-resolv: knotifications:master depends on Qt5:*
dep-resolv: kio:master depends on kwallet:*
dep-resolv: Visiting kwallet
dep-resolv: kwallet:master depends on Qt5:*
dep-resolv: kio:master depends on solid:*
dep-resolv: Visiting solid
dep-resolv: solid:master depends on Qt5:*
dep-resolv: kio:master depends on Qt5:*
dep-resolv: kinit:master depends on Qt5:*
No command-line filter seems to be present.
Adding Qt5 to module list
Skipping duplicate module Qt5
Adding extra-cmake-modules to module list
Adding kcoreaddons to module list
Skipping duplicate module Qt5
Adding kwindowsystem to module list
Adding kcrash to module list
Skipping duplicate module Qt5
Adding karchive to module list
Skipping duplicate module Qt5
Adding ki18n to module list
Skipping duplicate module Qt5
Adding kdoctools to module list
Skipping duplicate module Qt5
Adding polkit-qt-1 to module list
Skipping duplicate module Qt5
Adding kauth to module list
Skipping duplicate module Qt5
Adding kcodecs to module list
Skipping duplicate module Qt5
Adding kconfig to module list
Skipping duplicate module Qt5
Adding kguiaddons to module list
Skipping duplicate module Qt5
Adding kwidgetsaddons to module list
Skipping duplicate module Qt5
Adding kconfigwidgets to module list
Skipping duplicate module Qt5
Adding kitemviews to module list
Skipping duplicate module Qt5
Adding kiconthemes to module list
Skipping duplicate module Qt5
Adding attica to module list
Skipping duplicate module Qt5
Adding breeze-icons to module list
Skipping duplicate module Qt5
Adding kdbusaddons to module list
Skipping duplicate module Qt5
Adding kservice to module list
Skipping duplicate module Qt5
Adding kglobalaccel to module list
Skipping duplicate module Qt5
Adding kcompletion to module list
Skipping duplicate module Qt5
Adding sonnet to module list
Skipping duplicate module Qt5
Adding ktextwidgets to module list
Skipping duplicate module Qt5
Adding kxmlgui to module list
Skipping duplicate module Qt5
Adding kbookmarks to module list
Skipping duplicate module Qt5
Adding kjobwidgets to module list
Skipping duplicate module Qt5
Adding phonon to module list
Skipping duplicate module Qt5
Adding knotifications to module list
Skipping duplicate module Qt5
Adding kwallet to module list
Skipping duplicate module Qt5
Adding solid to module list
Skipping duplicate module Qt5
Adding kio to module list
Skipping duplicate module Qt5
Adding kinit to module list
You'd expect the former to pull in strictly a superset of the latter, since kinit
is a dependency of kded
. Clear this does not happen.