fixes bug 404484
Details
- Reviewers
mpyne
Ran the kdesrc-build --include-dependencies kio to test. Qt 5 is now picked up properly.
Diff Detail
- Repository
- R499 Metadata for build scripts
- Branch
- master
- Lint
No Linters Available - Unit
No Unit Test Coverage - Build Status
Buildable 8568 Build 8586: arc lint + arc unit
Hmm, doing this produces a dependency cycle when you *don't* include qt5-build-include through your kdesrc-build.rc. E.g.: kdesrc-build --include-dependencies --no-metadata kio explodes with:
Somehow there is a dependency cycle involving qt5! :( at /kdesrc-build/bin/modules/ksb/DependencyResolver.pm line 432. ksb::DependencyResolver::_visitDependencyItemAndDependencies(HASH(0x564173d74a68), "qt5", "*", 4, "kio") called at /kdesrc-build/bin/modules/ksb/DependencyResolver.pm line 467 ksb::DependencyResolver::_visitDependencyItemAndDependencies(HASH(0x564173d74a68), "frameworks/extra-cmake-modules", "master", 3, "kio") called at /kdesrc-build/bin/modules/ksb/DependencyResolver.pm line 360 ksb::DependencyResolver::_visitModuleAndDependencies(HASH(0x564173d74a68), ksb::Module=HASH(0x564173c1f1c8), 3, "kio") called at /kdesrc-build/bin/modules/ksb/DependencyResolver.pm line 475 ksb::DependencyResolver::_visitDependencyItemAndDependencies(HASH(0x564173d74a68), "qt5", "*", 2, "kio") called at /kdesrc-build/bin/modules/ksb/DependencyResolver.pm line 467 ksb::DependencyResolver::_visitDependencyItemAndDependencies(HASH(0x564173d74a68), "frameworks/karchive", "master", 1, "kio") called at /kdesrc-build/bin/modules/ksb/DependencyResolver.pm line 360 ksb::DependencyResolver::_visitModuleAndDependencies(HASH(0x564173d74a68), ksb::Module=HASH(0x564173c1fdb0), 1, "kio") called at /kdesrc-build/bin/modules/ksb/DependencyResolver.pm line 475 ksb::DependencyResolver::_visitDependencyItemAndDependencies(HASH(0x564173d74a68), "frameworks/kio", "master", undef, "kio") called at /kdesrc-build/bin/modules/ksb/DependencyResolver.pm line 360 ksb::DependencyResolver::_visitModuleAndDependencies(HASH(0x564173d74a68), ksb::Module=HASH(0x564173c2cec8)) called at /kdesrc-build/bin/modules/ksb/DependencyResolver.pm line 536 ksb::DependencyResolver::resolveDependencies(ksb::DependencyResolver=HASH(0x56417372d7d0), ksb::Module=HASH(0x564173c2cec8)) called at /kdesrc-build/bin/modules/ksb/Application.pm line 595 eval {...} called at /kdesrc-build/bin/modules/ksb/Application.pm line 580 ksb::Application::_resolveModuleDependencies(ksb::Application=HASH(0x564173285828), ksb::Module=HASH(0x564173c2cec8)) called at /kdesrc-build/bin/modules/ksb/Application.pm line 493 ksb::Application::generateModuleList(ksb::Application=HASH(0x564173285828), "--rc-file=/kdesrc-build/etc/kdesrc-build.rc", "--set-module-option-value", "global,kdedir,/home/prometheus/projects/kde/dist", "--set-module-option-value", "global,qtdir,/home/prometheus/projects/kde/dist/custom/qt", "--set-module-option-value", "global,source-dir,/home/prometheus/projects/kde/src", ...) called at /kdesrc-build/bin/modules/ksb/Application.pm line 68 ksb::Application::new("ksb::Application", "--rc-file=/kdesrc-build/etc/kdesrc-build.rc", "--set-module-option-value", "global,kdedir,/home/prometheus/projects/kde/dist", "--set-module-option-value", "global,qtdir,/home/prometheus/projects/kde/dist/custom/qt", "--set-module-option-value", "global,source-dir,/home/prometheus/projects/kde/src", ...) called at /kdesrc-build/bin/kdesrc-build line 364 eval {...} called at /kdesrc-build/bin/kdesrc-build line 363
The existing Qt5 mention is meant to be special-cased by kdesrc-build and other users of this file (like the build.kde.org infrastructure) so I would not bother changing it just because kdesrc-build now supports Qt 5.
Instead, maybe kdesrc-build should gain support for automagically including qt5 as a dependency if no working system Qt is detected? Or something similar in the kdesrc-build side. Qt is special so kdesrc-build can afford to special-case it (and this used to be the case in KDE 3/4 times, when "qt-copy" was magically handled).
Ok, so let's abandon this approach and reconsider our options (see also update to b.k.o bug report)