Commit Graph

64 Commits

Author SHA1 Message Date
Samuli Piippo
12f78361ed coin: add workaround for QA warning on qemu
QEMU has QA warning on runtime dependencies which breaks
our CI build since they are treated as errors.

Pick-to: 6.6 6.5
Change-Id: I1f2699d62d556b538da85aa12d8c2ec91483fb0b
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2023-08-16 22:16:33 +03:00
Samuli Piippo
90226dfc47 coin: use INIT_MANAGER to select systemd
Yocto has INIT_MANAGER variable that can be used to select
the init manager. Use it instead of doing all to separate
changes ourselves.

Pick-to: 6.6 6.5
Change-Id: I8aa31de9116048628a55d630ed3296fac28dfec8
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2023-08-16 19:16:27 +00:00
Samuli Piippo
8f67afff3f qtbase: add PACKAGECONFIGs for different linkers
Add PACKAGECONFIG options for gold and bfd linkers so that they can
be easily changed independently of the ld-is-gold DISTRO_FEATURE.

For CI builds, drop ld-is-gold feature and instead enable gold only
for Qt modules.

Pick-to: 6.5
Change-Id: I63e3835f15c732f57740b6718245e4f45ddb6c8c
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2023-05-29 17:07:17 +00:00
Samuli Piippo
651610f42f Coin: use correct path for mirror
Pick-to: 6.5 6.2
Change-Id: I878122ac5a34aaf464bb4190e3307793c53eabba
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2023-05-29 07:38:25 +03:00
Samuli Piippo
7931febe45 coin: test against mickledore
Add testing against Yocto 4.2 mickledore.

Pick-to: 6.5
Change-Id: If69b95726e858849470ed433235916811501aed8
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2023-04-20 13:17:16 +00:00
Samuli Piippo
4d5ed9e090 Add recipe for Qt Graphs
Qt Graphs for data visualization will be replacement for Qt Datavis 3D.

Fixes: QTBUG-112806
Change-Id: I63e5c746a1e79c14a7e203800d60401497e5bb0d
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2023-04-19 10:20:30 +00:00
Samuli Piippo
a55215df48 coin: be explicit about accepted commercial licenses
Dunfell is only branch that still uses the old whitelist variable.
Rename the include file and be specific what commercial recipes the
build needs. Remove the separate post-inclusive include file and move
the accepted commercial license variable to common include file.

Pick-to: 6.5
Change-Id: Ic80b42d71037637298c805a60f20c8737f00b026
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
2023-03-22 14:02:58 +00:00
Samuli Piippo
61f984c49d Coin: fetch repo from github
Git clones from google fail frequently with:
   >> fatal: early EOF
   >> error: index-pack died
Switch to using github mirror for the git-repo repository.

Pick-to: 6.5 6.5.0 6.4 6.4.3 6.2
Change-Id: Id0cbf3c59e50869d62880e56251b003490c4c1ee
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2023-03-09 11:16:50 +00:00
Samuli Piippo
a162d8c5a6 coin: always use the latest platforms for CI build
Change the CI dependencies so that we always get the VM configurations
from the qt5.git dev branch. This makes sure that all Yocto builds,
regardless of the Qt version, are using the same host VM version.

Pick-to: 6.5 6.4 6.2
Change-Id: Iceb5ca006b8d83ed636d59566a115d64d3919e38
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2023-02-14 11:27:40 +00:00
Samuli Piippo
56710e8724 Add recipe for QtInsightTracker
QtInsightTracker is a commercial-only module.

Task-number: ANALYTICS-237
Task-number: QTBUG-108568
Pick-to: 6.5
Change-Id: I30412dec8552898b76865402c2e2ccfcae8d1904
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
2023-01-16 16:12:21 +00:00
Samuli Piippo
918cb5b310 Coin: don't use zip format for mingw sdk
Zip doesn't handle symlinks correctly and sdk won't work.

Pick-to: 6.5 6.4 6.2
Change-Id: Id57cef766f708d714919994ea947701fcc83089a
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-12-14 11:38:54 +00:00
Samuli Piippo
6db104bd29 Add recipe for QtgRPC
QtgRPC module is Providing protobuf and gRPC support for Qt.

Cannot include nativesdk-qtgrpc in the sdk yet, since it requires
fix to protobuf recipe in meta-openembedded.

Task-number: QTBUG-107921
Change-Id: Ie5ef1b493b1b5550c7b7f308a638c9855342dfa5
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-11-24 12:20:31 +00:00
Samuli Piippo
fb725ebed9 Add recipe for QtLocation
QtLocation is back in Qt 6.5.

Task-number: QTBUG-108731
Change-Id: Id86ade02040d626ecadb6c35f173b3be25f02e97
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
2022-11-24 05:53:33 +00:00
Samuli Piippo
0648a0a4ef CI: tests against langdale
Update CI builds to use langdale instead of honister releases.

Pick-to: 6.4
Change-Id: Ib18be53b6d3308d5e4c5a2269b40ce67a4c352ee
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-11-09 13:23:36 +00:00
Samuli Piippo
aa5aa76ef1 qtwebengine: move to 102-based chromium
Latest chromium no longer supports x86 builds.
Enabled spellchecker as build fails without it.

Change-Id: I6f40d48c20a47edbbc958e2f9c25907d05feb5b1
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
(cherry picked from commit c1441fcabc)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2022-10-20 07:19:52 +00:00
Samuli Piippo
85d9d71e27 Coin: enable examples for qtapplicationmanager
Pick-to: 6.4 6.3 6.2
Change-Id: If4065a9b309fafd8e05d018495dedd22be956aa7
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-08-09 10:36:34 +00:00
Samuli Piippo
28f932dda7 Add support for QtQuick3DPhysics
QtQuick3D physics engine using NVIDIA PhysX SDK.
PhysX is only supported on x86 and arm architectures.

Task-number: QTBUG-103253
Change-Id: I933f584d7a327da28d9c443ef809b0745af88a47
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-05-27 06:02:14 +00:00
Samuli Piippo
bde1e30b30 Add support for QtVNCServer
QtVNCServer is a commercial-only module and the source code
is only available for commercial Qt license holders and
requires SSH access to Qt Gerrit.

Task-number: QTBUG-103254
Change-Id: I8b1decb08651e54f59a6b05d3d8f480354cb04df
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io>
2022-05-24 04:45:59 +00:00
Samuli Piippo
4b59ef89b5 Add support for QtSpeech
QtSpeech is again supported in Qt 6.4.

Task-number: QTBUG-102978
Change-Id: I71234246fc10086be9fa0fdb2f20f00a14674951
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-05-23 09:50:57 +00:00
Samuli Piippo
94e666417b Add support for QtHttpServer
Task-number: QTBUG-103254
Change-Id: I54e1b0d8d6f6c0dca1bebd220a577824f4dc8b63
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-05-23 09:50:44 +00:00
Samuli Piippo
7b0817669a Update handling of commercial modules
Add new packagegroup for all commercial-only Qt addon modules and add
new variable QT_COMMERCIAL_MODULES which can be used to control if the
modules are included in the build. The same variable also turns on the
use of Qt QML Compiler. Use common include file for the commercial modules.

Pick-to: 6.3 6.2
Change-Id: I673a06685b44a5f0f5518ae51bc45956432739a4
Reviewed-by: Nicholas Bennett <nicholas.bennett@qt.io>
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-05-20 13:21:38 +03:00
Samuli Piippo
6a5ae1effb Coin: build examples for all modules
Add example build for the missing modules.
Skip qtapplicationmanager due to QTBUG-101508.

Pick-to: 6.3 6.2
Change-Id: Ib01935ac4314f3b97583f032e09fda2966f17549
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-05-05 11:29:51 +03:00
Samuli Piippo
a0e53e01e0 coin: use correct domain for yocto-cache
Pick-to: 6.3 6.2
Change-Id: I830bf9bcaabf954c4f25b380731781e557a134b6
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-05-03 10:29:53 +03:00
Samuli Piippo
e6fba93482 coin: rename the shared sstate-cache
Use DISTRO variable in the sstate-cache directory. This lets use
reused the ci configuration in other distro builds as well.

Pick-to: 6.3 6.2
Change-Id: I51ef6cca7fd938046e5b6510087fc4d62f2a4eb3
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-05-03 10:29:48 +03:00
Samuli Piippo
670a077467 Coin: add CI build for kirkstone
Add CI build using Yocto kirkstone branches and retire hardknott build
in favor of it. Hardknott is EOL on April 2022. Only dev branch will
continue to be tested against Yocto master.

Change-Id: I9aad0e14c1a5054b2e9eab85ec8a2f2d603f6427
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-04-26 08:09:56 +03:00
Samuli Piippo
9ee589de19 coin: use shared Hash Equivalence server
Use shared Hash Equivalence server together with sstate cache.
The Hash Equivalence server can further improve sstate re-use.

Pick-to: 6.3 6.2
Change-Id: I037b565344942cf99c4992e4ff9769fd47d9c77d
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-04-07 10:55:04 +00:00
Samuli Piippo
ab0d93e29e Coin: add static test build
Build Qt staticially with examples enabled but tests disabled.
We don't want to remove ptest from DISTRO_FEATURE, because that
would cause rebuild of most system components as well.

Pick-to: 6.3 6.2
Change-Id: Ic1181d09951ee5d50b08182600f0664b8859afcc
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-03-15 11:19:57 +02:00
Samuli Piippo
2d4825f309 Coin: adapt to variable renaming
In kirkstone, some of the variable have been renamed to
use inclusive language.

Pick-to: 6.3 6.2
Change-Id: Ic03fc3a748ea6a4e3e510040b9cd6b5e038d4662
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-02-24 09:36:41 +00:00
Samuli Piippo
0708a33ea6 Coin: use include files for configuration
Restructure the Coin build configs so that all configurations
are already in .inc files that can be easily included.

Pick-to: 6.3 6.2
Change-Id: I93d74254804b7d17106a3f08af2973464e669928
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-02-24 09:36:33 +00:00
Samuli Piippo
688791f03d Coin: use manifest to fetch meta layers
Use manifests to fetch meta layer repositories. This enables
us to easily pin the upstream layers to specific revision if
and when the latest revision gets broken.

Build again against master branch, the manifest is pinned to
working meta-openembedded revision.

Pick-to: 6.3 6.2
Change-Id: I5d217f6932aaf5eaacae8ccbc790ea31aaa27f37
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-02-01 19:18:25 +02:00
Samuli Piippo
3da9ed068a Coin: disable CI build against upstream master
meta-openebedded is currently broken due to nativesdk-python3-cryptography.

Pick-to: 6.3 6.2 6.2.3
Change-Id: I99fa9313c1c8d1196bc09a8755269ecffe75ce56
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2022-01-20 10:00:19 +02:00
Samuli Piippo
57b22c6ea0 qtwebengine: update to 94-based chromium
QtWebEngine based on 94 chromium can be build with python3.
Remove all references to python2 and its meta layer.

Latest oe-core has version of ICU, freetype, harfbuzz and ffmpeg
that are not compatible with Chromium. Disable those PACKAGECONFIGs
by default.

Change-Id: Ie2e38db14df0f51aaa87ecde7e0487b31be0bddd
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-12-31 09:29:05 +00:00
Samuli Piippo
7c192d68dc Revert "Coin: add required zstd"
This reverts commit a77f474aba.
Zstd is now available in the provisioning.

Pick-to: 6.3 6.2
Change-Id: Id66a3a8797e0c893318974a6fe2dd4e032d563b4
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-12-15 17:01:08 +02:00
Samuli Piippo
16be6131ae Use correct domain for yocto-cache
Pick-to: 6.2
Change-Id: I669912271b14cc35c09e390fe26b2da4a6cdb8b3
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
2021-11-24 10:32:31 +02:00
Samuli Piippo
f7fd11bfce qtspeech: remove recipe
QtSpeech is not officially supported on Qt6. It has been compiling
until now, so it has been kept here, but since it now fails with
Qt 6.3, remove the recipe.

Change-Id: I2b0cce68b8bec82e0a5a434d0b3634ffb84eb6d8
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-11-15 10:16:19 +02:00
Samuli Piippo
d0e7002304 Add QML Script Compiler
The QML Script Compiler is a commercial drop-in replacement
for the cachegen tool to compile your QML script expressions
and functions to C++ ahead of time.

It is available only for commercial customers and source code
fetch needs proper ssh keys available for accessing the repository
at codereview.qt-project.org.

Usage of QML Script Compiler is not enabled by default, but if
enabled globally using ENABLE_QMLCOMPILER variable, all Qt modules
that have dependency to qtdeclarative are compiled using Qt QML Compiler.
Its usage can also be enabled or disabled by each individual recipe.

Task-number: QTBUG-95475
Change-Id: Iee8539ee8ddc17c70e9ed81ab3b4f242f9386586
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io>
2021-11-05 14:58:29 +02:00
Samuli Piippo
3cc53e8e7f coin: use openembedded from the upstream source
Github won't be supporting git protocol anymore, switch to using
layer from openembedded.org.

Pick-to: 6.2
Change-Id: Id711fe7818d37650b0643c17bd3386ca1a344f9a
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-11-03 17:52:33 +02:00
Samuli Piippo
178142ee57 Coin: add builds against Honister
Honister is now released, add it to the CI test builds.

Pick-to: 6.2
Change-Id: Ice5813836d8a4edb435db71017d231468993edcf
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-11-03 09:53:21 +02:00
Samuli Piippo
673457878e Coin: build Qt packagegroups in CI integrations
Current CI build using the toolchain recipe is a bit limited as the
package_qa tasks were never ran for the Qt recipes. Also the rm_work
was not done which lead to disk space running out in CI builds. Add
both native and target packagegroup recipes to the target builds that
will ensure that both of the above mentioned tasks are now run.

Pick-to: 6.2
Change-Id: Ifb73b807f4f9f551836bfa20003aaf88bc758d78
Reviewed-by: Pasi Petäjäjärvi <pasi.petajajarvi@qt.io>
2021-10-29 12:40:52 +03:00
Samuli Piippo
8b7aa7dd6f Add recipe for QtWebView
Task-number: QTBUG-97001
Pick-to: 6.2
Change-Id: Id8f7dbfc242baaec11c07f7137e72b429f64cfee
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-10-06 15:19:39 +03:00
Samuli Piippo
a1a2a0b048 Coin: extend CI coverage to older yocto branches
Add dunfell and hardknott to the CI build. Skip building QtWebEngine
in dunfell, since it required newer cmake than dunfell can offer.
As Gatesgarth is already EOL, do not add it to testing although
it is still listed as compatible version.

Task-number: QTBUG-97065
Change-Id: I3538d756294043fae119c78d018c61be766f2538
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-10-06 10:17:00 +03:00
Samuli Piippo
4f46daa9e2 Add QtWebEngine
Build QtWebEngine using CMake. Include helper files (chromium-gn.inc and
gn-utils.inc) from meta-browser. QtWebEngine build no longer requires
additional support in the host system, instead the build time tools
are run using QEMU.

WebEngine requires python2, available from meta-python2 layer, and
at least CMake 3.19. Only oe-core/hardknott provides recent enough CMake.
CI builds of webengine are limited to hardknott for this reason.

To use system ICU, QtWebEngine requires ICU 68 or up. This is also
available starting from oe-core/hardnott.

spellchecker feature doesn't work properly, since it requires
a native util to be built.

Task-number: QTBUG-93825
Change-Id: Id150275f5adfedd8f1acdc5f92c46a437da84f2e
Reviewed-by: Michal Klocek <michal.klocek@qt.io>
(cherry picked from commit 403ab76764)
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-09-30 13:23:25 +03:00
Pasi Petäjäjärvi
ce7a39b78b QtIF: Use qface from 3rd party repo
With newer yocto old qface recipe using our internal repo
suddenly preferred pypi own repository for qface. So
use external version of qface instead and try to get that
added to meta-python also.

Fixes: QTBUG-96727
Change-Id: Ia6fae613f6d8ced531dad2bda4f1abc18cbf7eba
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>
2021-09-24 07:46:29 +00:00
Samuli Piippo
170ca88bcd Coin: increase CPU count for CI builds
For Coin builds, ask for 16 core build machine, but limit the maximum
number of bitbake tasks to 8. Try to speed up the builds, but to avoid
OOM which can occur when several Qt modules start to build in parallel
after dependency to qtdeclarative is satisfied.

Pick-to: 6.2
Change-Id: I3a0d646f4204fb0269bba2356543589a5620ed3e
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-09-16 15:08:07 +03:00
Samuli Piippo
bc1d2a0fff Coin: give CI build more time to complete
Raise max build to 12 hours, but lower time without output to 2 hours.

Pick-to: 6.2
Change-Id: I866bf07324793fce4ce88189053216abd8b4302f
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-09-09 22:11:07 +03:00
Samuli Piippo
6886bebec1 Coin: allow yocto version specific configurations
Add easy way to have different configuration for the CI builds
based on the current Yocto version.

Change-Id: Idfda5d2e9079864e210382fa0e928b969fae311d
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
(cherry picked from commit 70dff380b2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2021-09-05 19:43:49 +00:00
Samuli Piippo
a7720008b6 Coin: use toolchain for the CI test
Build the toolchain recipe for CI test, which allows us the limit
what recipes are included.

Change-Id: I9c532dcc97979bf40a0ca094850d7a0602f2f9d0
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
(cherry picked from commit d4232d5a71)
2021-09-02 08:48:17 +03:00
Samuli Piippo
3bcc10f225 Remove QtQuickControls2
QtQuickControls2 was merged into QtDeclarative, no need for separate
recipe anymore.

Change-Id: I0bc860c7140c98f920b9811498491644245c7e0b
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-09-02 08:47:45 +03:00
Samuli Piippo
fdda14cfbc Coin: remove uninative overrides
Upstream has more recent versions already.

Pick-to: 6.2 6.1
Change-Id: Idc64576ddbdb2549e2b4af802cc8b8b5b62f704e
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-08-24 14:37:40 +03:00
Samuli Piippo
a77f474aba Coin: add required zstd
Bitbake now requires zstd, which is not yet available in the provisioning
of the CI machines.

Change-Id: I9f75219a686580ae228384c4fb4a6222a0e6fd09
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
2021-08-24 14:37:36 +03:00