diff --git a/recipes-qt/qt6/qtapplicationmanager/0001-CMake-Add-workaround-to-skip-excluding-tools-for-Boo.patch b/recipes-qt/qt6/qtapplicationmanager/0001-CMake-Add-workaround-to-skip-excluding-tools-for-Boo.patch new file mode 100644 index 0000000..79fdba1 --- /dev/null +++ b/recipes-qt/qt6/qtapplicationmanager/0001-CMake-Add-workaround-to-skip-excluding-tools-for-Boo.patch @@ -0,0 +1,67 @@ +From e1f315e41563d6c8c1f4c37cf5268e179e95f43e Mon Sep 17 00:00:00 2001 +From: Alexandru Croitor +Date: Fri, 16 Aug 2024 10:54:35 +0200 +Subject: [PATCH] CMake: Add workaround to skip excluding tools for Boot2Qt + +Add a new QT_APPMAN_SKIP_EXCLUDE_TOOLS_FROM_DEFAULT_TARGET variable +that can be set to skip excluding the tools from the default target. + +This allows Boot2Qt to build successfully, until someone can figure +out why it doesn't like the tools from being excluded. + +The error message without it is: + +Error: + Problem: package packagegroup-qt6-modules-1.0-r0.qemuarm64 requires + packagegroup-qt6-addons, but none of the providers can be installed + - package packagegroup-qt6-addons-1.0-r0.qemuarm64 requires + qtapplicationmanager, but none of the providers can be installed + - conflicting requests + - nothing provides qtapplicationmanager-tools needed by + qtapplicationmanager-6.9.0-r0.cortexa57 + +The original reason for skipping the tools was for successful SBOM +generation. + +Amends 5fc4b8a36c02c601a6fabf2b393a93ed1f387de9 + +Workaround for c48b6f8890e33a184a94a936b2f3e858460bfd73 in +yocto/meta-qt6 dev. + +Pick-to: 6.8 +Task-number: QTBUG-99702 +Change-Id: I8260fd670237906141afc6a03191bad4fd958a84 +Upstream-Status: Pending +--- + src/CMakeLists.txt | 18 +++++++++++------- + 1 file changed, 11 insertions(+), 7 deletions(-) + +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 5ea64c49..31a0d2e7 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -3,13 +3,17 @@ qt_feature_evaluate_features("${CMAKE_CURRENT_SOURCE_DIR}/common-lib/configure.c + + set(QT_SBOM_DEFAULT_QT_LICENSE_ID_LIBRARIES "QT_COMMERCIAL_OR_GPL3") + +-qt_exclude_tool_directories_from_default_target( +- tools/appman +- tools/testrunner +- tools/controller +- tools/launcher-qml +- tools/package-server +-) ++# Workaround for boot2qt to successfully build, until someone can figure out ++# why it doesn't like the tools from being excluded. ++if(NOT QT_APPMAN_SKIP_EXCLUDE_TOOLS_FROM_DEFAULT_TARGET) ++ qt_exclude_tool_directories_from_default_target( ++ tools/appman ++ tools/testrunner ++ tools/controller ++ tools/launcher-qml ++ tools/package-server ++ ) ++endif() + + add_subdirectory(3rdparty) + add_subdirectory(wayland-extensions) diff --git a/recipes-qt/qt6/qtapplicationmanager_git.bb b/recipes-qt/qt6/qtapplicationmanager_git.bb index 9546cf5..c31aac8 100644 --- a/recipes-qt/qt6/qtapplicationmanager_git.bb +++ b/recipes-qt/qt6/qtapplicationmanager_git.bb @@ -13,10 +13,16 @@ inherit qt6-cmake include recipes-qt/qt6/qt6-git.inc include recipes-qt/qt6/qt6.inc +SRC_URI += " \ + file://0001-CMake-Add-workaround-to-skip-excluding-tools-for-Boo.patch \ +" + DEPENDS += "qtbase qtdeclarative libyaml libarchive qtapplicationmanager-native" DEPENDS:append:libc-musl = " libexecinfo" RDEPENDS:${PN}:class-target = "libcrypto ${PN}-tools" +EXTRA_OECMAKE += "-DQT_APPMAN_SKIP_EXCLUDE_TOOLS_FROM_DEFAULT_TARGET=ON" + PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'multi-process', '', d)}" PACKAGECONFIG[tools-only] = "-DFEATURE_am_tools_only=ON, -DFEATURE_am_tools_only=OFF"