coin: add CI build without opengl

Test build without opengl and wayland in DISTRO_FEATURES.
The default qtbase configuration depends on these DISTRO_FEATURES
and not all modules are available without opengl or wayland.
Rework coin configs to enable features when needed.

Change-Id: I20b55f46f7ead0a5d1e0f7d7c98ff9e2aaa83d87
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
This commit is contained in:
Samuli Piippo 2025-09-10 09:18:29 +00:00
parent 4cacc39a20
commit 6da7dbdbf4
7 changed files with 40 additions and 16 deletions

View File

@ -7,7 +7,7 @@ accept_configuration:
equals_value: Yocto
- condition: property
property: target.arch
in_values: [TARGET1, TARGET2, TARGET3, TARGET4, TARGET5]
in_values: [TARGET1, TARGET2, TARGET3, TARGET4, TARGET5, TARGET6]
machine_type:
Build:
@ -15,12 +15,14 @@ machine_type:
# Target build matrix:
#
# [target1] [target2] [target3] [target4] [target5]
# [machine] qemuarm64 qemux86-64 qemuarm qemux86 qemuarm64
# [yocto] master walnascar scarthgap styhead scarthgap
# [wayland] yes no no yes yes
# [mingw] no no yes no no
# [static] no no no no yes
# [target1] [target2] [target3] [target4] [target5] [target6]
# [machine] qemuarm64 qemux86-64 qemuarm qemux86 qemuarm64 qemuarm64
# [yocto] master walnascar scarthgap styhead scarthgap master
# [wayland] yes no yes yes yes no
# [x11] no yes yes no no yes
# [opengl] yes yes yes yes yes no
# [mingw] no no yes no no no
# [static] no no no no yes no
#
target1: &target1
@ -34,7 +36,7 @@ target1: &target1
variableValue: master.xml
- type: EnvironmentVariable
variableName: TEST_CONFIGS
variableValue: ci configs wayland
variableValue: ci configs wayland opengl
enable_if:
condition: property
property: target.arch
@ -50,7 +52,7 @@ target2: &target2
variableValue: walnascar.xml
- type: EnvironmentVariable
variableName: TEST_CONFIGS
variableValue: ci configs
variableValue: ci configs x11 opengl
enable_if:
condition: property
property: target.arch
@ -66,7 +68,7 @@ target3: &target3
variableValue: scarthgap.xml
- type: EnvironmentVariable
variableName: TEST_CONFIGS
variableValue: ci configs mingw
variableValue: ci configs mingw wayland x11 opengl
enable_if:
condition: property
property: target.arch
@ -82,7 +84,7 @@ target4: &target4
variableValue: styhead.xml
- type: EnvironmentVariable
variableName: TEST_CONFIGS
variableValue: ci configs wayland no-webengine
variableValue: ci configs wayland opengl
enable_if:
condition: property
property: target.arch
@ -98,11 +100,27 @@ target5: &target5
variableValue: scarthgap.xml
- type: EnvironmentVariable
variableName: TEST_CONFIGS
variableValue: ci configs wayland static no-webengine
variableValue: ci configs wayland opengl static
enable_if:
condition: property
property: target.arch
equals_value: TARGET5
target6: &target6
type: Group
instructions:
- type: EnvironmentVariable
variableName: MACHINE
variableValue: qemuarm64
- type: EnvironmentVariable
variableName: MANIFEST
variableValue: master.xml
- type: EnvironmentVariable
variableName: TEST_CONFIGS
variableValue: ci configs x11
enable_if:
condition: property
property: target.arch
equals_value: TARGET6
instructions:
Build:
@ -111,6 +129,7 @@ instructions:
- *target3
- *target4
- *target5
- *target6
- type: EnvironmentVariable
variableName: DL_DIR
variableValue: "/mnt/yocto-cache/downloads"

View File

@ -40,13 +40,16 @@ PREFERRED_ARM_INSTRUCTION_SET ?= "thumb"
ARM_INSTRUCTION_SET = "${PREFERRED_ARM_INSTRUCTION_SET}"
# enable webengine with commercial/proprietary features
DISTRO_FEATURES:append = " webengine"
PACKAGECONFIG:append:pn-qtwebengine = " proprietary-codecs"
PACKAGECONFIG:append:pn-qtbase = "\
tslib kms gbm zstd libproxy gssapi vulkan mtdev cups \
tslib zstd libproxy gssapi mtdev cups \
sql-mysql sql-odbc sql-psql sql-sqlite journald brotli \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'gtk', '', d)} \
"
RDEPENDS:${PN}:append:pn-packagegroup-qt6-modules = " packagegroup-qt6-examples"
# remove all main features, added back in different builds
POKY_DEFAULT_DISTRO_FEATURES:remove = "opengl wayland vulkan"
DISTRO_FEATURES_DEFAULT:remove = "x11"

View File

@ -1 +0,0 @@
DISTRO_FEATURES:remove = "webengine"

2
coin/test-opengl.inc Normal file
View File

@ -0,0 +1,2 @@
DISTRO_FEATURES:append = " opengl vulkan"
DISTRO_FEATURES:append = " webengine"

View File

@ -2,3 +2,4 @@ PACKAGECONFIG:append:pn-qtbase = " static"
QT_PTEST_ENABLED = "0"
PACKAGECONFIG:remove:pn-qtapplicationmanager = "multi-process bubblewrap"
RDEPENDS:${PN}:remove:pn-packagegroup-qt6-modules = "packagegroup-qt6-examples"
DISTRO_FEATURES:remove = "webengine"

View File

@ -1,2 +1 @@
DISTRO_FEATURES:remove = "x11"
DISTRO_FEATURES:append = " wayland"

1
coin/test-x11.inc Normal file
View File

@ -0,0 +1 @@
DISTRO_FEATURES:append = " x11"