Compare commits

..

52 Commits
6.9.1 ... 6.9.2

Author SHA1 Message Date
Qt Submodule Update Bot
af7939f2df Update submodules on '6.9.2 in qt/qt5'
Change-Id: Iedd52189c4c32a8bdd173daa3436d61b43aa2bbd
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-08-18 07:49:14 +00:00
Simo Fält
2dbbd0853f COIN: Fix Debian bookworm chroot
Debian stable codename is now trixie.

Pick-to: 6.9 6.10 dev 6.8
Change-Id: I296782cef2a4329e359413cd7515a8dfca271095
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2025-08-15 09:57:40 +03:00
Qt Submodule Update Bot
d733965500 Update submodules on '6.9.2 in qt/qt5'
Change-Id: I5c7dc7a1ea645ecd231b5b1d8f3ec69244358c6d
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-08-14 10:45:09 +00:00
Qt Submodule Update Bot
7fda2af3ec Update submodules on '6.9.2 in qt/qt5'
Change-Id: Ibadc7fbb752b98dcc356f77dfc419e45ef8fc144
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-08-13 04:51:29 +00:00
Qt Submodule Update Bot
027e3f569c Update submodules on '6.9.2 in qt/qt5'
Change-Id: I6072584c9b4bde947e208cded3d594c4888e28a7
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-08-07 22:42:08 +00:00
Jani Heikkinen
3bc2f1c646 Adjust submodule branches
Change-Id: I3d4b6cf523da013904f11f518e34273ae6d6d923
2025-08-06 05:47:47 +01:00
Qt Submodule Update Bot
57e0221b58 Update submodules on '6.9 in qt/qt5'
Change-Id: Id8a6c8e3539849efb61d93946d05f5c8bc180b54
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-08-05 09:14:32 +00:00
Qt Submodule Update Bot
9a6e5f970b Update submodules on '6.9 in qt/qt5'
Change-Id: I7a43f58b1b11cc68da3781ef73b0f33cb48114ad
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-08-01 15:28:10 +00:00
Qt Submodule Update Bot
1e32bb0afe Update submodules on '6.9 in qt/qt5'
Change-Id: I5d6c2184e0b6bed2828f32eb1d36afbab324ecad
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-07-31 01:37:04 +00:00
Simo Fält
b2591e3d74 Provisioning: Use bullseye-backports repo from archive
Bullseye-backports has reached end-of-life and is no longer
supported or updated.

Pick-to: 6.8
Change-Id: If154155507e159333c0d0b638fc6910b1814665a
Reviewed-by: Patrik Teivonen <patrik.teivonen@qt.io>
(cherry picked from commit 8882c8cac4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit ab6e833690)
2025-07-30 16:31:02 +00:00
Tero Heikkinen
0b82c52c0d Add Windows 11 23h2 ARM with non-blocking tests in CI
New target:
  - windows-11_23h2-arm64-msvc2022

With latest versions
  - Visual Studio Professional 2022: 17.14.7
  - MSVC: 14.44.35207

OpenGL is still disabled, but 'OpenCL, OpenGL, and Vulkan
Compatibility pack' has been installed to WoA 11 23h2 Tier1
image to support OpenGL usage with QtWebengine, Qt3D etc.

These targets will be added later:
  - windows-11_23h2-arm64-msvc2022-minimal-static-test
  - Windows-MSVC2022-arm64_Static-23H2

This target has no match in 6.9 (skipped):
  - windows-11-x86_64-arm64-tests-23H2 (cross-compiled)

Task-number: QTQAINFRA-6973
Change-Id: I049f84ad7df91cd62e7f40044d8ef40705ac34e1
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 657ac0bcbb)
(cherry picked from commit ad7ab32f44)
2025-07-30 00:16:12 +03:00
Qt Submodule Update Bot
8ba37c9b4a Update submodules on '6.9 in qt/qt5'
Change-Id: I111f35721f34fe20f89465388af18b224ba02c7c
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-07-28 21:17:17 +00:00
Pavel Dubsky
64f594afc9 Build zlib while provisioning on Windows
Task-number: QTBUG-103332
Pick-to: 6.8 6.5
Change-Id: I65289d393f3085c9a3ebc5bbbb1805490d270125
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 97e80c1538)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 837922faee)
2025-07-26 01:20:24 +00:00
Pavel Dubsky
a2a261d0ad Prevent Enter-VsDevShell from changing current working directory
Pick-to: 6.8 6.5
Change-Id: I6de981c06326a6d70bc200af74164a1021f8c138
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 814bfb1923)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit f91eb1e821)
2025-07-26 01:20:18 +00:00
Qt Submodule Update Bot
30c0522a15 Update submodules on '6.9 in qt/qt5'
Change-Id: I0af2f1aa2a073336942414424705f2332e36e699
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-07-23 22:46:36 +00:00
Qt Submodule Update Bot
54da29db5d Update submodules on '6.9 in qt/qt5'
Change-Id: Ic9c574670621eb76c0ef775a7cc7833b1fd9b7f6
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-07-15 06:53:11 +00:00
Michal Klocek
f492c446ac Use run-opengl-test feature
Native WoA builds are done with -no-opengl switch,
therefore native test coin nodes do not need to have
openglsw installed.
(ms-windows-store://pdp/?productid=9NQPSL29BFFF)

However, when trying to run cross compiled WoA on native
test nodes this ends up with:

tst_QOpenGLWindow::create() Failed to load opengl32sw (%1 is not a valid
tst_QOpenGLWindow::create() Failed to load and resolve WGL/OpenGL
function

However, adding no-opengl flag would affect our release binaries
and would remove qt3d and qtdatavisualisation from packaging.
Use run-opengl-test feature instead.

Task-number: COIN-1211
Change-Id: Ib7d3eca7045598825f7a5ad774f60d2bc9db2458
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2025-07-14 11:20:42 +02:00
Toni Saario
243d64cca2 Build and run tests for windows arm cross-compilation
Enables WOA test running in webengine. Which is unable to
build the native WOA target.

Add 'fake' configure argument -corss-compiled to
so test instruction on native windows arm have
a chance to bailout (qquickeffect maker is never
cross-compiled)

Task-number: COIN-1211
Change-Id: Ie920f65f9ec260c0c1a7111e495fd9a86adee5f6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 56e326ae31)
2025-07-14 11:20:31 +02:00
Nils Petter Skålerud
364c485152 Coin, FFmpeg, iOS: Apply 'prefix' consistently
In the provisioning script 'install-ffmpeg-ios.sh', we have a variable
'prefix' controlling where to install the finalized library. The value
of this prefix is sometimes hardcoded into some of the temporary build
directories, making the script break if we actually modify the 'prefix'
variable. This means we currently cannot easily change the output
directory.

This patch modifies 'install-ffmpeg-ios.sh' so that the 'prefix' is
applied consistently throughout the script, allowing us to change
the output directory in the future.

Pick-to: 6.8
Change-Id: I3458984aa22f8c82ed4d0bfac8ac8e71356e8789
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit d72ace1a0d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 2f2c8bf347)
2025-07-10 13:20:58 +00:00
Qt Submodule Update Bot
73e0e9b5b9 Update submodules on '6.9 in qt/qt5'
Change-Id: I6eb28142db3f02d3bece0d64d0bbd4f0daa9d392
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-07-08 23:04:35 +00:00
Nils Petter Skålerud
bc72d1259b Coin, FFmpeg, macOS: Add output parameter to 'install-ffmpeg-macos.sh'
This patch adds an optional parameter to the provisioning script
'install-ffmpeg-macos.sh', allowing us to override the output directory
for which the finalized library is installed.

This is particularly useful for local builds, where we often need
multiple different versions of FFmpeg installed, for different Qt
versions.

This patch has no impact for existing coin workflows.

Pick-to: 6.8
Change-Id: If31922e931db19ab189850b975ce0131a64321b4
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 708548742b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 298d280d64)
2025-07-04 07:47:15 +00:00
Tim Blechmann
6b14b80e61 provisioning: install flite for ubuntu 24.04, debian 11 and rhel
The flite plugin for QtSpeech wasn't tested on CI as the development
files weren't installed.

Pick-to: 6.8
Change-Id: Ieefe42f67009b99cc95f54567f224972d12c1538
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
(cherry picked from commit fb878af9e7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 37880472c7)
2025-07-03 02:09:24 +00:00
Simo Fält
997080fa0b COIN: Remove 'Packaging' feature from android-16 Linux config
If used it might over write package that we want to release.

Pick-to: 6.8
Change-Id: I8c0403065cff7354699df6f4d16b5a8125277195
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
(cherry picked from commit 789dff5f26)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit e89a978ef6)
2025-07-02 21:47:05 +00:00
Qt Submodule Update Bot
64278e333b Update submodules on '6.9 in qt/qt5'
Change-Id: I0d105856c2428dbe4d1eba223e5cc0381355a899
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-07-02 02:23:46 +00:00
Alexey Edelev
46c1dedc0c Point to protobuf install prefix but not the CMake dir in protobuf_ROOT
The <Package>_ROOT should point to the package prefix, where
CMake should look for the respective cmake/, lib/cmake, and other
CMake package directories. Setting directly it to package path is
incorrect.

Pick-to: 6.8
Change-Id: Id8859c29da08144c60ed3d6301d2c65c8d602d1f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
(cherry picked from commit 9c39ae1424)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-07-01 13:10:26 +00:00
Qt Submodule Update Bot
a048dbfa4c Update submodules on '6.9 in qt/qt5'
Change-Id: I7b501229cdf017ad7f5b3c5d8f3874eb39cd5335
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-06-28 01:05:50 +00:00
Michal Klocek
f6f11c7ec0 Switch winarm64 host qt to mingw
Reduce ci integration time for qtqwebengine winarm64, where doing
qthost msvc22 target takes ~5h compared to mingw ~15 min.

Add mingw runtime to path for WoA cross compile node.

Task-number: COIN-1211
Change-Id: Iecd6f924544d2a17a595ac85473f51b599f24202
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit c9423aea6c)
2025-06-26 10:57:52 +02:00
Elias Toivola
ecdc5116b2 Provisioning: Disable Windows multicast device discoveries
Our CI does not need some mDNS multicast services by Windows and they
are spammed by Windows VMs in network with mdns.mcast.net requests.

Pick-to: 6.8 6.5
Task-number: QTQAINFRA-6761
Change-Id: Ie676f94b81e7281ec84d9fbbfa2fd7f1d28dfbca
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 066371f7cd)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 00d2f82e35)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-06-25 07:55:03 +00:00
Elias Toivola
97e898f8f6 Windows: Enable LSO back
Large Send Offload (LSO) was originally disabled because it caused
deterioration in network throughput but the cause of that deterioration
is now fixed in infra and LSO should be enabled back as it improves
network performance. LSO is enabled in Windows by default.

Pick-to: 6.8 6.5
Task-number: QTQAINFRA-7236
Change-Id: I243632d958007142792df0cbd9a341fb2b86df69
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 4aaba78cb4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 2fe0aec0da)
2025-06-25 07:55:03 +00:00
Nils Petter Skålerud
d17d04b363 Coin, FFmpeg: Fool-proof fix_ffmpeg_dependencies.sh
This script has previously failed under some configurations, while
also failing to stop provisioning.

This patch enables fast-fail behavior, catches potential issues with
missing executables early with a descriptive error message. This
should allow us to detect if the required packages are missing
in the future, and stop provisioning accordingly.

This patch also installs the necessary packages on the relevant
CI build targets.

Task-number: QTBUG-136930
Pick-to: 6.8
Change-Id: I7c781264ad67508d19fd44556a9caf0f201638d4
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 0706273c76)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 532005d760)
2025-06-19 19:51:55 +00:00
Nils Petter Skålerud
c072264ca1 Coin, FFmpeg: Check for valid envvars in install-ffmpeg-android.sh
This script requires that we have setup specific environment variables
ahead of time. If they are missing, we are prone to receiving
non-descriptive error messages.

This patch adds checks for the required environment variables, and
gives useful error messages if they are not set correctly.

Pick-to: 6.8
Change-Id: I0cfb99187f303b22dbdd46a7a848b85dbf571aad
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 0583292728)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 64ee2cb321)
2025-06-19 19:51:34 +00:00
Liang Qi
68c38ad633 platform_configs: remove two u2204 tests
We already have two tests on u2404.

Replace the usage of ubuntu-22.04-developer-build-x11-tests with u2404
one.

Pick-to: 6.8
Task-number: QTQAINFRA-7146
Change-Id: Ib3b1888e1bbb70637432ac70f6116b723e71320d
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit e2e25e8a66)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit e4cc5bd5c1)
2025-06-18 08:40:41 +00:00
Liang Qi
adf4036e07 platform_configs: remove two tests configs on Wayland
Qt Wayland client was moved into qtbase. We will try to enable
them from qtbase to all modules in the future in dev. For 6.9
and 6.8, they are InsignificantTests, waste some CI resources.
Perhaps we can fix them later, but I don't think it's worthy.

Pick-to: 6.8
Change-Id: I0f26312284bec4f02da915e829d3a68aac820ceb
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 57340da291)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 28335a188b)
2025-06-18 08:40:35 +00:00
Olli Vuolteenaho
19ee55215e QtAA: Drop developer-builds from CI
We used to build the documentation with these configurations but they
changed to developer-builds and the documentation was moved to a
separate configurations (documentation-warnings, offline-documentation).

We added those configurations but ignored the developer-builds, and at
the moment they are not doing anything expect wasting resources when
acquiring VMs, so let's get rid of them.

Fixes: QAA-2976
Change-Id: Ia9509e43aec2974bae098de8a2d13ac9d29e2fad
Reviewed-by: Petri Virkkunen <petri.virkkunen@qt.io>
(cherry picked from commit aae8dc578b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 9c6e9e26c4)
2025-06-18 08:40:29 +00:00
Liang Qi
99e4e8beb3 Linux: install devel package for libxcb-util
It's needed for static linking with static xcb libs.

xcb-image depends on xcb_aux.h which is in xcb-util package.

Debian-11.6, Ubuntu, openSUSE, SLES already have it.

Pick-to: 6.8
Task-number: QTBUG-137004
Change-Id: Iffb9ab7d62a2bea3cb8e27354d25957c49911859
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
(cherry picked from commit 3d9bbd5324)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit ef73e7eaa6)
2025-06-18 08:40:28 +00:00
Volker Hilsheimer
767f9677b8 iOS, FFmpeg: Add variable for controlling minimum iOS version
Currently this script relies on hard-coded values specify minimum
iOS version to link against.

This patch unifies the hard-coded values into a single variable.

No functional changes.

There was some trivial merge conflict resolution due to there
being a tiny mismatch between how external sources are included.

Pick-to: 6.8
Change-Id: I12bddeb53f0fe3388ea55c841a9864722a1d5f82
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
(cherry picked from commit d39ac6a4ec)
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
2025-06-12 15:47:46 +02:00
Tero Heikkinen
b6a19985cf Remove SLES 15 SP5 from CI
[CI Platforms]

Task-number: QTQAINFRA-6746
Change-Id: Ib7466af205c11b3576bbc86f64024e9a7d46126b
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 9c97715ff3)
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2025-06-10 09:53:21 +03:00
Tero Heikkinen
a4e7d853ff Make SLES 15 SP6 tests as blocking in CI
[CI Platforms]

Task-number: QTQAINFRA-6746
Change-Id: I697140edff662fc7846d7c6df411fa4f444906bc
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit fcd4b99100)
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2025-06-10 09:53:19 +03:00
Tero Heikkinen
35f01e6d9d SLES 15 SP6: Change session type to GNOME Classic in Tier1
Change is done in Tier 1 image:
qtci-linux-SLES-15_SP6-x86_64-52

Task-number: QTBUG-136467
Change-Id: I2924f3250dbe914b0c6bc687241725175d5f7aa5
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit 45ffa61110)
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2025-06-10 09:53:17 +03:00
Axel Spoerl
ea1e38c1c4 Pre-provisioning SLES SP6: Select Gnome Classic session type
The Gnome session type boots into the autostart user's Activty Overview.
This overview doesn't allow window activation and fails tst_selftest.
This can't be prevented with gnome-settings or gnome-tweaks.

Add pre-provisioning instruction to select Gnome Classic session type,
which boots into the normal desktop mode.

Fixes: QTBUG-136467
Change-Id: Id189dd948a9a912179e0c86a6cf56f4a2417dfce
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
(cherry picked from commit b3c634b4a5)
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2025-06-10 09:53:14 +03:00
Elias Toivola
4ae497686b SLES 15 SP6: Install gcc11 instead of gcc10
gcc10 was removed from official and SUSE community repositories for SP6.
The missing gcc10 is blocking provisioning so install gcc11 instead. SP5
still has gcc10 and it is active in dev branch.

Task-number: QTQAINFRA-7187
Change-Id: Ie7c9f2175553c29654cf5b358ead6dd76e635d60
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 10f0d1443c)
Reviewed-by: Jukka Jokiniva <jukka.jokiniva@qt.io>
2025-06-10 09:53:11 +03:00
Qt Submodule Update Bot
5633ed8013 Update submodules on '6.9 in qt/qt5'
Change-Id: I61053df5ab62e37494e48e6dbb4e9bd0b58ff6af
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-05-28 00:07:17 +00:00
Qt Submodule Update Bot
9a8ab3d98a Update submodules on '6.9 in qt/qt5'
Change-Id: I5e8dae612d7a447c8c10a000cc5ad0f8720082ba
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-05-22 09:16:28 +00:00
Nils Petter Skålerud
1f2f4d5c01 Coin, FFmpeg, macOS: Apply 'prefix' consistently
In the provisioning script 'install-ffmpeg-macos.sh', we have a variable
'prefix' controlling where to install the finalized library. The value
of this prefix is sometimes hardcoded into some of the temporary build
directories, making the script break if we actually modify the 'prefix'
variable. This means we currently cannot easily change the output directory.

This patch modifies 'install-ffmpeg-macos.sh' so that the 'prefix' is
applied consistently throughout the script, allowing us to change
the output directory in the future.

Pick-to: 6.8
Change-Id: Id0b1bb23513b7bccf02f0c4073e4177f651792dd
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
(cherry picked from commit 03d15483a1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-05-20 07:46:20 +00:00
Marianne Yrjänä
752ae4bb90 QNX: Add QXN8.0 to Ubuntu24.04 provisioning
Pick-to: 6.9.1 6.8
Change-Id: I5a4011ce5f23517d4dd7c9f64738e7be97b4c73d
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit e7075b5472)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-05-20 06:37:53 +00:00
Eike Ziller
70b251003d COIN: Provision golang and upx on Ubuntu24/ARM
This is needed for building cmdbridge for remote Linux support
in Qt Creator. This got lost for Linux/ARM prebuilt packages for
Qt Creator when moving from Debian/ARM to Ubuntu24/ARM.

Task-number: QTCREATORBUG-32928
Pick-to: 6.8
Change-Id: Ic993eaadacec21882e1e2f1b6e0d73bc4ffbf6d4
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
(cherry picked from commit ae3484739c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-05-19 05:57:22 +00:00
Liang Qi
b3b9fa2017 platform_configs: remove InsignificantTests for u2404 x11 dev
Task-number: QTQAINFRA-7098
Pick-to: 6.8
Change-Id: I9229f35a3e42e6155e9a27b759aabc38901f128b
Reviewed-by: Simo Fält <simo.falt@qt.io>
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit 365860ce42)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-05-17 19:57:46 +00:00
Tony Sarajärvi
1acbcc6afd Provisioning: Disable Windows Delivery Optimization service
We don't want Windows VMs to spam mDNS messages about optimizing
Windows updates, when the updates themselves are disabled.

Pick-to: 6.8
Task-number: QTQAINFRA-6761
Change-Id: I1452ebbb612f784c96f07de0a29cb2cfb54f1e75
Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io>
(cherry picked from commit f77919a48b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-05-17 07:59:07 +00:00
Qt Submodule Update Bot
e08df192a2 Update submodules on '6.9 in qt/qt5'
Change-Id: I1a4b72b27e82321d6f61ce6dd3b49675356e738e
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
2025-05-16 05:51:10 +00:00
Rami Potinkara
2fe2930aee Coin: Add Android 16 to CI as insignificant
This patch introduces Android 16 as insignificant to CI.

Task-number: QTBUG-132638
Pick-to: 6.8
Change-Id: I29577503c50440d6b4821b1b7d6a5135935bf365
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 8f51576951)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
2025-05-15 10:09:44 +00:00
Nils Petter Skålerud
02218009fc Coin, iOS, FFmpeg: Stop installing .dylibs in iOS FFmpeg provisioning
On iOS we no longer deploy FFmpeg .dylibs directly. As such, there is
no need to install the .dylibs during provisoning.

This patch removes this installation step during provisioning.

Pick-to: 6.8
Change-Id: I6f901113caca4b8d602490ba05db0c9dacb8f80d
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
(cherry picked from commit 9c7e564d7e)
Reviewed-by: Nils Petter Skålerud <nils.petter.skalerud@qt.io>
Reviewed-by: Simo Fält <simo.falt@qt.io>
2025-05-13 20:19:52 +02:00
Tor Arne Vestbø
838a4db99e Bump developer build host for macOS to macOS 15
Which gets us Xcode 16, with the macOS 15 SDK.

Change-Id: I3c7936885e97e479873c4d012adca0d67765c907
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
(cherry picked from commit eb290c48d4)
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
2025-05-11 22:30:45 +00:00
176 changed files with 1200 additions and 229 deletions

86
.gitmodules vendored
View File

@@ -1,40 +1,40 @@
[submodule "qtbase"]
path = qtbase
url = ../qtbase.git
branch = 6.9.1
branch = 6.9.2
status = essential
[submodule "qtsvg"]
depends = qtbase
path = qtsvg
url = ../qtsvg.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtdeclarative"]
depends = qtbase
recommends = qtimageformats qtshadertools qtsvg qtlanguageserver
path = qtdeclarative
url = ../qtdeclarative.git
branch = 6.9.1
branch = 6.9.2
status = essential
[submodule "qtactiveqt"]
depends = qtbase
path = qtactiveqt
url = ../qtactiveqt.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtmultimedia"]
depends = qtbase qtshadertools
recommends = qtdeclarative qtquick3d
path = qtmultimedia
url = ../qtmultimedia.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qttools"]
depends = qtbase
recommends = qtdeclarative qtactiveqt
path = qttools
url = ../qttools.git
branch = 6.9.1
branch = 6.9.2
status = essential
[submodule "qtxmlpatterns"]
depends = qtbase
@@ -47,7 +47,7 @@
depends = qttools
path = qttranslations
url = ../qttranslations.git
branch = 6.9.1
branch = 6.9.2
status = essential
priority = 30
[submodule "qtdoc"]
@@ -55,7 +55,7 @@
recommends = qtmultimedia qtshadertools qtwebengine
path = qtdoc
url = ../qtdoc.git
branch = 6.9.1
branch = 6.9.2
status = essential
priority = 40
[submodule "qtrepotools"]
@@ -68,7 +68,7 @@
depends = qtbase
path = qtqa
url = ../qtqa.git
branch = 6.9.1
branch = 6.9.2
status = essential
priority = 50
[submodule "qtlocation"]
@@ -76,21 +76,21 @@
recommends = qtdeclarative
path = qtlocation
url = ../qtlocation.git
branch = 6.9.1
branch = 6.9.2
status = preview
[submodule "qtpositioning"]
depends = qtbase
recommends = qtdeclarative qtserialport
path = qtpositioning
url = ../qtpositioning.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtsensors"]
depends = qtbase
recommends = qtdeclarative
path = qtsensors
url = ../qtsensors.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtsystems"]
depends = qtbase
@@ -117,61 +117,61 @@
recommends = qtdeclarative
path = qtconnectivity
url = ../qtconnectivity.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtwayland"]
depends = qtbase
recommends = qtdeclarative
path = qtwayland
url = ../qtwayland.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qt3d"]
depends = qtbase
recommends = qtdeclarative qtshadertools qtmultimedia
path = qt3d
url = ../qt3d.git
branch = 6.9.1
branch = 6.9.2
status = deprecated
[submodule "qtimageformats"]
depends = qtbase
path = qtimageformats
url = ../qtimageformats.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtserialbus"]
depends = qtbase
recommends = qtserialport
path = qtserialbus
url = ../qtserialbus.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtserialport"]
depends = qtbase
path = qtserialport
url = ../qtserialport.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtwebsockets"]
depends = qtbase
recommends = qtdeclarative
path = qtwebsockets
url = ../qtwebsockets.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtwebchannel"]
depends = qtbase
recommends = qtdeclarative qtwebsockets
path = qtwebchannel
url = ../qtwebchannel.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtwebengine"]
depends = qtdeclarative
recommends = qtwebchannel qttools qtpositioning
path = qtwebengine
url = ../qtwebengine.git
branch = 6.9.1
branch = 6.9.2
status = addon
priority = 10
[submodule "qtcanvas3d"]
@@ -185,28 +185,28 @@
recommends = qtwebengine
path = qtwebview
url = ../qtwebview.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtcharts"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtcharts
url = ../qtcharts.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtdatavis3d"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtdatavis3d
url = ../qtdatavis3d.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtvirtualkeyboard"]
depends = qtbase qtdeclarative qtsvg
recommends = qtmultimedia
path = qtvirtualkeyboard
url = ../qtvirtualkeyboard.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtgamepad"]
depends = qtbase
@@ -219,27 +219,27 @@
depends = qtbase qtdeclarative
path = qtscxml
url = ../qtscxml.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtspeech"]
depends = qtbase qtmultimedia
recommends = qtdeclarative
path = qtspeech
url = ../qtspeech.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtnetworkauth"]
depends = qtbase
path = qtnetworkauth
url = ../qtnetworkauth.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtremoteobjects"]
depends = qtbase
recommends = qtdeclarative
path = qtremoteobjects
url = ../qtremoteobjects.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtwebglplugin"]
depends = qtbase qtwebsockets
@@ -252,88 +252,88 @@
depends = qtbase qtdeclarative
path = qtlottie
url = ../qtlottie.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtquicktimeline"]
depends = qtbase qtdeclarative
path = qtquicktimeline
url = ../qtquicktimeline
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtquick3d"]
depends = qtbase qtdeclarative qtshadertools
recommends = qtquicktimeline
path = qtquick3d
url = ../qtquick3d.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtshadertools"]
depends = qtbase
path = qtshadertools
url = ../qtshadertools.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qt5compat"]
depends = qtbase qtdeclarative
path = qt5compat
url = ../qt5compat.git
branch = 6.9.1
branch = 6.9.2
status = deprecated
[submodule "qtcoap"]
depends = qtbase
path = qtcoap
url = ../qtcoap.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtmqtt"]
depends = qtbase qtdeclarative
recommends = qtwebsockets
path = qtmqtt
url = ../qtmqtt.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtopcua"]
depends = qtbase qtdeclarative
path = qtopcua
url = ../qtopcua.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtlanguageserver"]
depends = qtbase
path = qtlanguageserver
url = ../qtlanguageserver.git
branch = 6.9.1
branch = 6.9.2
status = preview
[submodule "qthttpserver"]
depends = qtbase
recommends = qtwebsockets
path = qthttpserver
url = ../qthttpserver.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtquick3dphysics"]
depends = qtbase qtdeclarative qtquick3d qtshadertools
path = qtquick3dphysics
url = ../qtquick3dphysics.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtgrpc"]
depends = qtbase
recommends = qtdeclarative
path = qtgrpc
url = ../qtgrpc.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtquickeffectmaker"]
depends = qtbase qtdeclarative qtshadertools
recommends = qtquick3d
path = qtquickeffectmaker
url = ../qtquickeffectmaker.git
branch = 6.9.1
branch = 6.9.2
status = addon
[submodule "qtgraphs"]
depends = qtbase qtdeclarative qtquick3d
path = qtgraphs
url = ../qtgraphs.git
branch = 6.9.1
branch = 6.9.2
status = addon

View File

@@ -25,19 +25,6 @@ Configurations:
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON -DQT_DEPLOY_FFMPEG=TRUE'
]
# Test on Ubuntu 22.04 X11
-
Id: 'ubuntu-22.04-developer-build-x11-tests'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']
Platform dependency: 'ubuntu-22.04-developer-build'
-
Id: 'ubuntu-22.04-x11-tests'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']
Platform dependency: 'ubuntu-22.04'
# Build on Ubuntu 24.04 ARM64 Wayland and test on offscreen and Wayland later
-
Id: 'ubuntu-24.04-arm64-developer-build'
@@ -99,7 +86,7 @@ Configurations:
Id: 'ubuntu-24.04-x64-developer-build-x11-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly', 'InsignificantTests']
Features: ['Sccache', 'TestOnly']
Platform dependency: 'ubuntu-24.04-x64-developer-build'
-
Id: 'ubuntu-24.04-x64-x11-tests'
@@ -118,19 +105,9 @@ Configurations:
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE'
]
-
Id: 'sles-15_sp5-static'
Template: 'qtci-linux-SLES-15_SP5-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-nomake examples -static -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
]
-
Id: 'sles-15_sp6-static'
Template: 'qtci-linux-SLES-15_SP6-x86_64-51'
Template: 'qtci-linux-SLES-15_SP6-x86_64-52'
Compiler: 'GCC'
Features: ['Sccache', 'DisableTests', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Configure arguments: '-nomake examples -static -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
@@ -173,15 +150,27 @@ Configurations:
'NON_QTBASE_CMAKE_ARGS= -DFEATURE_clangcpp=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_23h2-arm64-msvc2022'
Template: 'qtci-windows-11_23H2-aarch64-53'
Compiler: 'MSVC2022'
Features: ['DebugAndRelease', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests', 'DoNotAbortTestingOnFirstFailure']
Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -no-opengl -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
Environment variables: [
'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
'NON_QTBASE_CMAKE_ARGS= -DFEATURE_clangcpp=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11_23H2-msvc2022-arm64'
Template: 'qtci-windows-11_23H2-x86_64-54'
Compiler: 'MSVC2022'
Target arch: 'arm64'
Features: ['Sccache', 'DisableTests', 'TargetBuildOnly', 'Packaging', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Platform dependency: 'windows-11_23H2-msvc2022'
Features: ['Sccache', 'DoNotRunTests', 'TargetBuildOnly', 'Packaging', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM']
Platform dependency: 'windows-10_22h2-mingw13'
Environment variables: [
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer',
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer -no-feature-run-opengl-tests',
'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64_arm64}}',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
'OPENSSL_CONF_x64={{.Env.OPENSSL_CONF_x64_arm64}}',
@@ -189,6 +178,13 @@ Configurations:
'OPENSSL_LIB_x64={{.Env.OPENSSL_LIB_x64_arm64}}',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
Id: 'windows-11-x86_64-arm64-tests'
Template: 'qtci-windows-11_22H2-aarch64-55'
Compiler: 'MSVC2022'
Features: ['TestOnly']
Configure arguments: '-no-opengl -cross-compiled'
Platform dependency: 'windows-11_23H2-msvc2022-arm64'
-
Id: 'windows-11_23H2-msvc2022-developer-build'
Template: 'qtci-windows-11_23H2-x86_64-54'
@@ -308,7 +304,7 @@ Configurations:
'DEBIAN_RULES_REF=6.9_gles',
'COIN_TARGET_DIST=tqtc-bookworm',
'COIN_EXTRA_DEBIAN_PACKAGES={{.Env.HOME}}/debian_packages/',
'COIN_SBUILD_CHROOT=stable-arm64-sbuild',
'COIN_SBUILD_CHROOT=bookworm-arm64-sbuild',
'COIN_EXTRA_DEBIAN_REPO=deb http://deb.debian.org/debian/ bookworm main',
'COIN_SKIP_DEBIAN_MODULES=qt5 qtqa qtactiveqt qtdoc qtwebengine qtwebview',
]

View File

@@ -1,23 +1,14 @@
Version: 2
Configurations:
-
Id: 'sles-15_sp5-minimal-static'
Template: 'qtci-linux-SLES-15_SP5-x86_64-51'
Id: 'sles-15_sp6-minimal-static'
Template: 'qtci-linux-SLES-15_SP6-x86_64-52'
Compiler: 'GCC'
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure']
Configure arguments: '-nomake examples -static -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
]
-
Id: 'sles-15_sp6-minimal-static'
Template: 'qtci-linux-SLES-15_SP6-x86_64-51'
Compiler: 'GCC'
Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure', 'InsignificantTests']
Configure arguments: '-nomake examples -static -no-sql-db2 -no-sql-ibase -no-sql-mysql -no-sql-oci -no-sql-psql -no-sql-mimer'
Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
]
-
Id: 'windows-11_23H2-minimal-static'
Template: 'qtci-windows-11_23H2-x86_64-54'

View File

@@ -63,4 +63,19 @@ Configurations:
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}',
'ANDROID_EMULATOR=emulator_x86_64_api_35'
]
-
Id: 'android-16-x86_64-on-linux'
Template: 'qtci-linux-RHEL-8.10-x86_64-51'
Target os: 'Android_ANY'
Target arch: 'x86_64'
Compiler: 'GCC'
Target compiler: 'Clang'
Platform dependency: 'rhel-8.10'
Features: ['Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}',
'ANDROID_EMULATOR=emulator_x86_64_api_36'
]

View File

@@ -109,8 +109,8 @@ Configurations:
# Build on recent macOS version with latest Xcode
-
Id: 'macos-14-x86_64-developer-build'
Template: 'qtci-macos-14-x86_64-105'
Id: 'macos-x86_64-developer-build'
Template: 'qtci-macos-15-x86_64-103'
Compiler: 'Clang'
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure', 'StandaloneExamples']
Configure arguments: '-developer-build -release -force-asserts -force-debug-info -no-pch -no-framework -qtnamespace TestNamespace -make examples'
@@ -119,8 +119,8 @@ Configurations:
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE',
]
-
Id: 'macos-14-arm64-developer-build'
Template: 'qtci-macos-14-arm-106'
Id: 'macos-arm64-developer-build'
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Features: ['DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-developer-build -nomake examples -debug -framework'
@@ -135,16 +135,16 @@ Configurations:
Template: 'qtci-macos-13-arm-107'
Compiler: 'Clang'
Features: ['TestOnly']
Platform dependency: 'macos-14-arm64-developer-build'
Platform dependency: 'macos-arm64-developer-build'
-
Id: 'macos-14-arm64-developer-build-tests'
Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Features: ['TestOnly']
Platform dependency: 'macos-14-arm64-developer-build'
Platform dependency: 'macos-arm64-developer-build'
-
Id: 'macos-15-arm64-developer-build-tests'
Template: 'qtci-macos-15-arm-104'
Compiler: 'Clang'
Features: ['TestOnly', 'InsignificantTests']
Platform dependency: 'macos-14-arm64-developer-build'
Platform dependency: 'macos-arm64-developer-build'

View File

@@ -4,7 +4,7 @@ Include: [
cmake_platforms.yaml: [
"ubuntu-22.04",
"ubuntu-22.04-developer-build",
"ubuntu-22.04-developer-build-x11-tests",
"ubuntu-24.04-x64-developer-build-x11-tests",
"windows-11_23H2-msvc2022-developer-build",
"ios-universal"
],

View File

@@ -9,7 +9,6 @@ Include: [
"ubuntu-22.04",
"ubuntu-22.04-developer-build",
"opensuse-15.6-developer-build",
"sles-15_sp5-static",
"sles-15_sp6-static",
"windows-10_22h2-msvc2022",
"rhel-8.10",

View File

@@ -9,7 +9,6 @@ Include: [
"ubuntu-22.04",
"ubuntu-22.04-developer-build",
"opensuse-15.6-developer-build",
"sles-15_sp5-static",
"sles-15_sp6-static",
"windows-10_22h2-msvc2022",
"rhel-8.10",

View File

@@ -3,18 +3,4 @@ Include: [
cmake_platforms.yaml,
address_sanitizer_platforms.yaml
]
Configurations:
# Test on Ubuntu 24.04 ARM64 Wayland
-
Id: 'ubuntu-24.04-arm64-developer-build-wayland-tests'
Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
Compiler: 'GCC'
Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-arm64-developer-build'
# Test on Ubuntu 24.04 x64 Wayland
-
Id: 'ubuntu-24.04-x64-wayland-tests'
Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
Compiler: 'GCC'
Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
Platform dependency: 'ubuntu-24.04-x64'
Configurations: []

View File

@@ -4,8 +4,6 @@ Include: [
"documentation-warnings",
"rhel-8.10",
'windows-10_22h2-mingw13',
'ubuntu-22.04-developer-build',
'ubuntu-22.04-developer-build-x11-tests'
],
macos.yaml: [
'macos-universal-on-x86_64'

View File

@@ -78,3 +78,10 @@ chmod 755 ./coin-setup
run ./coin-setup
sudo reboot now
# Select login session type
After reboot into user qt:
- log out
- select session type "Gnome Classic" in session selector on the login sreen (gear wheel on bottom right)
- reboot again with sudo reboot now
- verify that auto login lands in normal desktop

View File

@@ -0,0 +1,90 @@
# Follow manual pre-setup from intra to install Windows 11 ARM and virtio drivers:
# "How to create a Windows 11 ARM tier1 image using Qemu"
# Configure Windows after pre-setup
* Enable Remote Desktop:
- Settings - System - Remote Desktop - On
- Note: Display settings cannot be changed by remote
* Resolution set to 1280x800
- System > Display > Custom scaling > Advanced display
- 1024 x 768 is unchangable by default
* Coin-setup:
- Download from https://[Coin_IP_from_build_logs]/coin/setup --> Windows Setup ARM64 .exe
- Open PowerShell as Administrator
- Run Windows Setup ARM64 .exe
- Verify from output that all these are OK
- Installing Boostrap agent
- Disabling fast boot
- Disabling firewall
- Disabling UAC
- Enabling autologin
- Automatic login
- Disabling windows updates
* Turn off Windows defender:
- Microsoft Defender Antivirus turned off: Open 'gpedit.msc': 'Computer Configuration' - 'Administrative Templates' - 'Windows Components' - 'Microsoft Defender Antivirus'
- Edit 'Turn off Microsoft Defender Antivirus' > 'Enabled' > 'Apply'
- Reboot on Safe mode:
- Open msconfig - Boot tab - enable “Safe boot“ - apply - restart
- In Safe mode:
- Take Ownership of Defender:
- Open properties - Right click "C:\Program Files\Windows Defender\Platform" and select 'Properties'
- Open Security tab - Advanced - Owner: Change - Advanced - Find now - Select Administrators - Ok - Ok - Apply
- Close 'Platform Properties' window for actions to take effect and open 'Properties' again
- This should get 'Disable inheritance' available for the next step
- Remove all Permissions: Permissions tab - Select 'Disable inheritance'
- Remove all entries
-Select 'Remove all inherited permissions from this object'
-Select 'Replace all child object permi…' - Apply
- Disable Windows defender also from RegEdit:
- Open regedit - Navigate to 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services'
- Change the following folders the key Start to 4
- Sense (Windows defender advanced threat protection)
- WdBoot (Windows defender boot)
- WdFilter (Microsoft antimalware file system filter driver)
- WdNisDrv (Windows Defender Network Inspection Driver)
- WdNisSvc (Windows Defender Network Inspection Service)
- WinDefend (Windows Defender Antivirus Service)
- mpssvc (Windows Defender Firewall)
- NOTE! Without these step windows defender can't be disabled!
- Reboot back to normal mode
* Background defrag disabled: 'Defragment And Optimize Drives' - 'change settings' - unchecked "run on a schedule"
- Run in terminal: 'schtasks /Delete /TN "Microsoft\Windows\Defrag\ScheduledDefrag"'
- (Running optimize drivers doesn't seem to fix the status, if there's a 10% space optimization recommended)
* Time:
- Settings - System - Date & time - Time zone: '(UTC) Coordinated Universal Time'
- Settings - System - Date & time - "Set the time automatically: Off"
* Regional format:
- Settings - Time & language - Language and region - regional format - English (United States)
* Power saver:
- Settings - System - Power - Screen and sleep: set 'When plugged in, turn off my screen after' to 'never'
* Windows search disabled:
- 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Services' - 'Windows search' - stop & disable
* Sysmain disabled:
- 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Services' - 'SysMain' - stop & disable
* Windows update:
- Settings - Windows Update - run available updates
- (Windows update2025-06 Cumulative Update for Windows 11 Version 23H2 for arm64-based Systems (KB5060999))
- After reboot disable windows updates:
- 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Services' - 'Windows update' - stop & disable
* Turn windows features on or off -> Check the "SMB 1.0/CIFS File Sharing Support"
* Disable Windows Restore Points: Search 'Create a restore point' -> 'System Protection' tab -> Configure C: drive -> Disable & Delete restore points.
* Disable widgets: Right click the task bar -> 'Taskbar settings' -> toggle off anything related to widgets.
* (Restart Windows: shutdown /r)
* Google Chrome installed for RTA
* Virus & threat protection settings:
* Check that there's no active antivirus providers
* Run .NET runtime optimization service: open terminal and run:
Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait
- It may be needed to rerun after installing Visual Studio. Just run it until it prints:
"All compilation targets are up to date."
* Activate Windows
# Next
Install Visual Studio 2022 by following msvc2022.txt
Proceed to install pre-provisioning scripts manually to Tier1 image
* Copying scripts happens easiest via Remote Desktop
* Ensure to have sourced scripts e.g. helpers.ps1 included
* If running scripts is restricted: Use these to allow scripts in Tier1
* Get-ExecutionPolicy -List # To check the status
* Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

View File

@@ -0,0 +1,8 @@
# This script will disable automatic disk cleanup
. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
Run-Executable "reg.exe" "ADD `"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\StorageSense\Parameters\StoragePolicy`" /V 04 /T REG_dWORD /D 0 /F"
# Maintenance task used by the system to launch a silent auto disk cleanup when running low on free disk space.
DisableSchedulerTask "DiskCleanup\SilentCleanup"

View File

@@ -0,0 +1,42 @@
# Copyright (C) 2025 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# Windows 7 does not have Get-ScheduledTask and Unregister-ScheduledTask
# thus needing its own version.
Write-Host "Disabling defragmentation"
$version = Get-CimInstance Win32_OperatingSystem | Select-Object -ExpandProperty Caption
if ($version -like '*Windows 7*'){
$pi = New-Object System.Diagnostics.ProcessStartInfo
$pi.FileName = "C:\Windows\System32\schtasks.exe"
$pi.RedirectStandardError = $true
$pi.UseShellExecute = $false
$pi.Arguments = "/Delete /TN `"\Microsoft\Windows\Defrag\ScheduledDefrag`" /F"
$prog = New-Object System.Diagnostics.Process
$prog.StartInfo = $pi
$prog.Start() | Out-Null
$err = $prog.StandardError.ReadToEnd()
$prog.WaitForExit()
if ($prog.ExitCode -eq 0){
Write-Host "Scheduled defragmentation removed"
} else {
if ($err -like '*cannot find the file*'){
Write-Host "No scheduled defragmentation task found"
exit 0
} else {
Write-Host "Error while deleting scheduled defragmentation task: $err"
}
}
}
else {
try {
$state = (Get-ScheduledTask -ErrorAction Stop -TaskName "ScheduledDefrag").State
Write-Host "Scheduled defragmentation task found in state: $state"
}
catch {
Write-Host "No scheduled defragmentation task found"
exit 0
}
Write-Host "Unregistering scheduled defragmentation task"
Unregister-ScheduledTask -ErrorAction Stop -Confirm:$false -TaskName ScheduledDefrag
Write-Host "Scheduled Defragmentation task was cancelled"
}

View File

@@ -0,0 +1,4 @@
. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
# Disable the NTP from syncing
Run-Executable "w32tm.exe" "/config /syncfromflags:NO"

View File

@@ -0,0 +1,72 @@
. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
# This script will remove unneeded Tasks from Task Scheduler
# Application Experience 'Microsoft Compatibility Appraiser' - "Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program."
DisableSchedulerTask "Application Experience\Microsoft Compatibility Appraiser"
# Application Experience 'ProgramDataUpdater' - "Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program"
DisableSchedulerTask "Application Experience\ProgramDataUpdater"
# Autochk 'Proxy' - "This task collects and uploads autochk SQM data if opted-in to the Microsoft Customer Experience Improvement Program."
DisableSchedulerTask "Autochk\Proxy"
# Chkdsk 'ProactiveScan' - "NTFS Volume Health Scan"
DisableSchedulerTask "Chkdsk\ProactiveScan"
# Chkdsk 'SyspartRepair'
DeleteSchedulerTask "Chkdsk\SyspartRepair"
# Customer Experience Improvement Program 'Consolidator' - "If the user has consented to participate in the Windows Customer Experience Improvement Program, this job collects and sends usage data to Microsoft."
DisableSchedulerTask "Customer Experience Improvement Program\Consolidator"
# Customer Experience Improvement Program 'sbCeip' - "The USB CEIP (Customer Experience Improvement Program) task collects Universal Serial Bus related statistics and information about your machine and sends it to the Windows Device Connectivity engineering group at Microsoft. The information received is used to help improve the reliability, stability, and overall functionality of USB in Windows. If the user has not consented to participate in Windows CEIP, this task does not do anything."
DisableSchedulerTask "Customer Experience Improvement Program\UsbCeip"
# Device Information 'Device'
DisableSchedulerTask "Device Information\Device"
# Diagnosis 'Scheduled' - "The Windows Scheduled Maintenance Task performs periodic maintenance of the computer system by fixing problems automatically or reporting them through Security and Maintenance."
DisableSchedulerTask "Diagnosis\Scheduled"
# DiskDiagnostic 'Microsoft-Windows-DiskDiagnosticDataCollector' - "The Windows Disk Diagnostic reports general disk and system information to Microsoft for users participating in the Customer Experience Program."
DisableSchedulerTask "DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector"
# ExploitGuard 'ExploitGuard MDM policy Refresh' - "Task for applying changes to the machine's Exploit Protection settings."
DisableSchedulerTask "ExploitGuard\ExploitGuard MDM policy Refresh"
# Feedback/Siuf 'DmClient'
DisableSchedulerTask "Feedback\Siuf\DmClient"
# Feedback/Siuf 'DmClient'OnScenarioDownload'
DisableSchedulerTask "Feedback\Siuf\DmClientOnScenarioDownload"
# File Classification Infrastructure 'Property Definition Sync'
DisableSchedulerTask "File Classification Infrastructure\Property Definition Sync"
# InstallService 'ScanForUpdates'
DisableSchedulerTask "InstallService\ScanForUpdates"
# InstallService 'ScanForUpdatesAsUser'
DisableSchedulerTask "InstallService\ScanForUpdatesAsUser"
# LanguageComponentsInstaller 'Installation' - "Install language components that match the user's language list."
DisableSchedulerTask "LanguageComponentsInstaller\Installation"
# LanguageComponentsInstaller 'ReconcileLanguageResources' - "Install language components that match the user's language list."
DisableSchedulerTask "LanguageComponentsInstaller\ReconcileLanguageResources"
# PI 'Secure-Boot-Update' - "This task updates the Secure Boot variables."
DisableSchedulerTask "PI\Secure-Boot-Update"
# PI 'Sqm-Tasks' - "This task gathers information about the Trusted Platform Module (TPM), Secure Boot, and Measured Boot."
DisableSchedulerTask "PI\Sqm-Tasks"
# Power Efficiency Diagnotics 'AnalyzeSystem' - "This task analyzes the system looking for conditions that may cause high energy use."
DisableSchedulerTask "PushToInstall\Registration"
# Servicing 'StartComponentCleanup'
DisableSchedulerTask "Servicing\StartComponentCleanup"
# SoftwareProtectionPlatform 'SvcRestartTaskNetwork' - "This task restarts the Software Protection Platform service when a new network is detected"
DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskNetwork"

View File

@@ -0,0 +1,4 @@
# Disable Smart app control
# Smart app control makes installations extremely slow after defender is disabled.
reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CI\Policy" /V VerifiedAndReputablePolicyState /T REG_dWORD /D 0 /F
# Verify: Settings -> Privacy & security -> Windows security -> App & browser control -> Smart App Control settings -> Off

View File

@@ -0,0 +1,13 @@
# Disable UpdateOrchestrator
$name = "UpdateOrchestrator"
$path = "C:\Windows\System32\Tasks\Microsoft\Windows\$name"
takeown /F $path /A /R
icacls $path /grant Administrators:F /T
del "$path\Schedule Scan"
del "$path\Schedule Scan Static Task"
del "$path\USO_UxBroker"
# Disable Update orchestrator service
reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\UsoSvc" /V Start /T REG_dWORD /D 4 /F

View File

@@ -0,0 +1,21 @@
# Copyright (C) 2025 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# Turning off win defender.
#
# If disabled manually, windows will automatically enable it after
# some period of time. Disabling it speeds up the builds.
# NOTE! Windows Defender Antivirus needs to be turned off!
# Open 'gpedit.msc': 'Computer Configuration' - 'Administrative Templates' - 'Windows Components' - 'Windows Defender Antivirus'
# Edit 'Turn off Windows Defender Antivirus' > 'Enabled' > 'Apply'
. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
Run-Executable "reg.exe" "ADD `"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender`" /V DisableAntiSpyware /T REG_dWORD /D 1 /F"
Run-Executable "reg.exe" "ADD `"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender`" /V DisableRoutinelyTakingAction /T REG_dWORD /D 1 /F"
# Disable 'QueueReporting' - "Windows Error Reporting task to process queued reports."
DisableSchedulerTask "Windows Error Reporting\QueueReporting"
# Disable WindowsUpdate from Task Scheduler
DisableSchedulerTask "WindowsUpdate\Scheduled Start"

View File

@@ -0,0 +1,4 @@
# Disable Windows File Protection
# Windows File Protection feature in Microsoft Windows prevents programs from replacing critical Windows system files.
reg.exe ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V SFCDisable /T REG_dWORD /D 0xffffff9d /F

View File

@@ -0,0 +1,25 @@
# Windows Update Medic Service (WaaSMedicSvc)'PerformRemediation' helps recover update-related services to the supported configuration.
# WaasMedicSvc keeps re-starting Windows Update, even if it disabled manually.
# Even Admin user don't have privileged to disable PerformRemediation from Task Scheduler which means that WaaSMedicSvc.dll need's to be removed from the system
$limit = (Get-Date).AddMinutes(20)
$path = "C:\Windows\System32\WaaSMedicSvc.dll"
DO {
takeown /F $path
icacls $path /grant Administrators:f
Write-host "Deleting $path"
Try {
del $path
}
Catch [System.UnauthorizedAccessException] {
Write-host "Access to the path '$path' is denied."
Continue
}
if ((Get-Date) -gt $limit) {
exit 1
}
}while (Test-Path -Path "$path")

View File

@@ -0,0 +1,24 @@
# Copyright (C) 2017 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script disables the automatic Windows updates
$service = get-service wuauserv
if (-not $service) {
Write-Host "Windows Update service not found."
exit 0
}
if ($service.Status -eq "Stopped") {
Write-Host "Windows Update service already stopped."
} else {
Write-Host "Stopping Windows Update service."
Stop-Service -Name "wuauserv" -Force
}
$startup = Get-WmiObject Win32_Service | Where-Object {$_.Name -eq "wuauserv"} | Select -ExpandProperty "StartMode"
if ($startup -ne "Disabled") {
set-service wuauserv -startup disabled
} else {
Write-Host "Windows Update service startup already disabled."
}

View File

@@ -0,0 +1,81 @@
### Visual Studio Professional 2022 Official release ###
Visual Studio Professional 2022 version 17.14.7 was installed manually using installer: http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__msvc2022_1339502178.1525841376.exe
This VS installer 17.14.7 version sets (Latest) MSVC version as: 14.44.35207
Installed MSVC-2022 Components:
.NET Framework 4.8.1 targeting pack
.NET Framework 4.8.1 SDK
.NET Framework 4.8 targeting pack
.NET Framework 4.8 SDK
.NET Native
.NET Portable Library targeting pack
CLR data types for SQL Server
Data sources for SQL Server support
SQL Server Command Linne Utilities
SQL Server Data Tools
SQL Server Express 2019 LocalDB
SQL Server ODBC Driver
ClickOnce Publishing
Developer Analytics tools
NuGet package manager
Text Template Transformation
C# and Visual Basic Roslyn compilers
C++ 2022 Redistributable Update
C++ Cmake tools for Windows
C++/CLI support for v143 build tools (14.44-17.14)
C++/CLI support for v143 build tools (Latest)
MSBuild
MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (Latest)
MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (v14.44-17.14)
.NET profiling tools
C++ profiling tools
JavaScript diagnostics
Just-In-Time debugger
C# and Visual Basic
C++ core features
JavaScript and TypeScript language support
Razor Language Services
Image and 3D model editors
C++ ATL for latest v143 build tools (ARM)
C++ ATL for latest v143 build tools (ARM64/ARM64EC)
TypeScript Server
Windows 10 SDK (10.0.18362.0)
Windows 10 SDK (10.0.19041.0)
Windows 10 SDK (10.0.20348.0)
Windows 11 SDK (10.0.22000.0)
Windows 11 SDK (10.0.22621.0)
Windows 11 SDK (10.0.26100.3916) # This was available --> installed for COIN-1206 (see later comment)
Windows Universal C Runtime
Windows SDK (10.0.26100.1742) has been earlier downloaded for WoA 22h2 and installed from:
https://developer.microsoft.com/en-us/windows/downloads/windows-sdk/
# COIN-1206
These Components were not found for WoA:
Connectivity and publishing tools
Graphics debugger and GPU profiler for DirectX
TypeScript 4.7 SDK
# NOTE! Workloads were added during installation!
############################################################
### Visual Studio 2022 build tools ###
Visual studio 2022 build tools version 17.14.7 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_BuildTools_msvc2022.exe"
* Only default installation, no additional selections
# NOTE! Installing Visual Studio on ARM-powered device is not supported
* Otherwise Visual Studio might be slow or unusable
* Installer recommends "remote targeting" which is suitable for cross-platform development
* VS 2022 build tools has been installed as it is - VS has ARM support since 17.4, but not full support with some workloads
* https://learn.microsoft.com/en-us/visualstudio/install/visual-studio-on-arm-devices?view=vs-2022#supported-workloads
############################################################
### Debugging tools ###
* Check that debugging tools are installed in all installed Windows SDK versions
* Modify 'Windows Software Development Kit - Windows <version number>' from 'Add or remove programs'
- Add feature 'Debugging Tools for Windows'
############################################################

View File

@@ -172,6 +172,21 @@ echo "Unzipping the Android 15 to $maxVersionDestination"
sudo unzip -o -q "$maxVersionFilePath" -d "$maxVersionDestination"
rm "$maxVersionFilePath"
echo "Download and unzip Android 16 System Image for insignificant"
insignificantMaxVersionFileName="x86_64-36_r06.zip"
insignificantMaxVersionDestination="$sdkTargetFolder/system-images/android-36/google_apis/"
insignificantMaxVersionFilePath="$insignificantMaxVersionDestination/$insignificantMaxVersionFileName"
insignificantMaxVersionCiUrl="$basePath/system-images/google_apis/$insignificantMaxVersionFileName"
insignificantMaxVersionUrl="https://dl.google.com/android/repository/sys-img/google_apis/$insignificantMaxVersionFileName"
insignificantMaxVersionSha1="a9b0b4a0488e0c6c380f5485507950f011388511"
mkdir -p "$insignificantMaxVersionDestination"
DownloadURL "$insignificantMaxVersionCiUrl" "$insignificantMaxVersionUrl" "$insignificantMaxVersionSha1" "$insignificantMaxVersionFilePath"
echo "Unzipping the Android 16 insignicant to $insignificantMaxVersionDestination"
sudo unzip -o -q "$insignificantMaxVersionFilePath" -d "$insignificantMaxVersionDestination"
rm "$insignificantMaxVersionFilePath"
echo "Checking the contents of Android SDK again..."
ls -l "$sdkTargetFolder"
@@ -181,6 +196,9 @@ echo "no" | ./avdmanager create avd -n emulator_x86_api_28 -c 2048M -f \
echo "no" | ./avdmanager create avd -n emulator_x86_64_api_35 -c 2048M -f \
-k "system-images;android-35;google_apis;x86_64"
echo "no" | ./avdmanager create avd -n emulator_x86_64_api_36 -c 2048M -f \
-k "system-images;android-36;google_apis;x86_64"
echo "Install maximum supported SDK level image for Android Automotive $sdkApiLevelAutomotiveMax"
DownloadURL "$androidAutomotiveMaxUrl" "$androidAutomotiveMaxUrl" "$androidAutomotiveMaxSha" \
"/tmp/${sdkApiLevelAutomotiveMax}_automotive.tar.gz"

View File

@@ -3,6 +3,7 @@
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script builds and installs FFmpeg shared libs
# Can take an optional final parameter to control installation directory
set -ex
@@ -18,7 +19,8 @@ source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
ffmpeg_source_dir=$(download_ffmpeg)
ffmpeg_name=$(basename "$ffmpeg_source_dir")
ffmpeg_config_options=$(get_ffmpeg_config_options "shared")
prefix="/usr/local/$ffmpeg_name"
default_prefix="/usr/local/$ffmpeg_name"
prefix="${2:-$default_prefix}"
build_ffmpeg() {
local arch="$1"
@@ -47,8 +49,9 @@ if [ "$os" == "macos" ]; then
build_ffmpeg
install_dir="$ffmpeg_source_dir/build/installed"
"$fix_relative_dependencies" "$install_dir/usr/local/$ffmpeg_name/lib"
sudo mv "$install_dir/usr/local/$ffmpeg_name" "/usr/local"
"$fix_relative_dependencies" "$install_dir$prefix/lib"
sudo mkdir -p "$prefix"
sudo mv "$install_dir$prefix" "$prefix/../"
else
build_ffmpeg "arm64"
build_ffmpeg "x86_64"
@@ -56,11 +59,11 @@ else
arm64_install_dir="$ffmpeg_source_dir/build/arm64/installed"
x86_64_install_dir="$ffmpeg_source_dir/build/x86_64/installed"
"$fix_relative_dependencies" "$arm64_install_dir/usr/local/$ffmpeg_name/lib"
"$fix_relative_dependencies" "$x86_64_install_dir/usr/local/$ffmpeg_name/lib"
"$fix_relative_dependencies" "$arm64_install_dir$prefix/lib"
"$fix_relative_dependencies" "$x86_64_install_dir$prefix/lib"
sudo rm -rf "/usr/local/$ffmpeg_name" # lipo fails upon 2nd run
sudo rm -rf "$prefix" # lipo fails upon 2nd run
sudo "${BASH_SOURCE%/*}/../macos/makeuniversal.sh" "$arm64_install_dir" "$x86_64_install_dir"
fi
set_ffmpeg_dir_env_var "FFMPEG_DIR" "/usr/local/$ffmpeg_name"
set_ffmpeg_dir_env_var "FFMPEG_DIR" "$prefix"

View File

@@ -2,16 +2,33 @@
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -x
set -euox pipefail
lib_dir="$1/lib"
additional_suffix="${2:-}"
set_rpath="${3:-yes}"
# readelf and patchelf are prerequisite tools for this script. Check
# that they are available.
if [ "$(uname -s)" = "Darwin" ]; then
# Under Homebrew, binutils package is not symlinked into PATH.
# This lets us use readelf provided by Homebrew.
readelf() { "$(brew --prefix binutils)/bin/readelf" "$@"; }
readelf_homebrew_path="$(brew --prefix binutils)/bin/readelf"
if [[ ! -x "$readelf_homebrew_path" ]]; then
echo "Found no valid readelf executable. It is possible it was not correctly installed through Homebrew."
exit 1
fi
readelf() { "$readelf_homebrew_path" "$@"; }
fi
if ! command -v readelf; then
echo "Found no valid readelf command. It is possible it was not correctly installed."
exit 1
fi
if ! command -v patchelf; then
echo "Found no valid patchelf command. It is possible it was not correctly installed."
exit 1
fi
ffmpeg_libs=("avcodec" "avdevice" "avfilter" "avformat" "avutil" "swresample" "swscale")

View File

@@ -13,6 +13,17 @@ target_install_dir_param="$2"
build_type=$(get_ffmpeg_build_type)
ffmpeg_source_dir=$(download_ffmpeg)
assert_envvar_is_populated_dir() {
local envvar="$1"
local value="${!envvar}"
if [ -z "$value" ] || [ ! -d "$value" ] || [ -z "$(find "$value" -mindepth 1 -type f | head -n 1)" ]; then
echo "Environment variable '$envvar' is unset, not a directory, or the directory is empty."
exit 1
fi
}
assert_envvar_is_populated_dir "OPENSSL_ANDROID_HOME_DEFAULT"
assert_envvar_is_populated_dir "ANDROID_NDK_ROOT_DEFAULT"
build_ffmpeg_android() {
local target_arch=$1
local target_dir=$2

View File

@@ -5,6 +5,10 @@
# This script will build and install FFmpeg static libs
set -ex
# Must match or be lower than the minimum iOS version supported by the version of Qt that is
# is currently being built.
readonly MINIMUM_IOS_VERSION="16.0"
source "${BASH_SOURCE%/*}/../unix/ffmpeg-installation-utils.sh"
ffmpeg_source_dir=$(download_ffmpeg)
@@ -18,15 +22,15 @@ build_ffmpeg_ios() {
if [ "$target_platform" == "arm64-simulator" ]; then
target_sdk="iphonesimulator"
target_cpu_arch="arm64"
minos="-mios-simulator-version-min=16.0"
minos="-mios-simulator-version-min=$MINIMUM_IOS_VERSION"
elif [ "$target_platform" == "x86_64-simulator" ]; then
target_sdk="iphonesimulator"
target_cpu_arch="x86_64"
minos="-mios-simulator-version-min=16.0"
minos="-mios-simulator-version-min=$MINIMUM_IOS_VERSION"
elif [ "$target_platform" == "arm64-iphoneos" ]; then
target_sdk="iphoneos"
target_cpu_arch="arm64"
minos="-miphoneos-version-min=16.0"
minos="-miphoneos-version-min=$MINIMUM_IOS_VERSION"
else
echo "Error when building FFmpeg for iOS. Unknown parameter given for target_platform: '${target_platform}'"
exit 1
@@ -56,41 +60,12 @@ build_ffmpeg_ios() {
popd
}
install_ffmpeg() {
for dir in "$@"; do
echo "Processing files in $dir ..."
pushd "$dir" >/dev/null
find . -type l -name '*.*.dylib' | while read -r f; do
dst="${f:1}"
dstdir="$(dirname "$dst")"
sudo mkdir -p "$dstdir"
if [[ ! -f "$dst" ]]; then
echo "<Copying $dir/$f to $dst"
sudo cp -c "$f" "$dst"
symlinkname="$(tmp=${f/*\/}; echo ${tmp/\.*}).dylib"
sudo ln -s "$(basename -- "$f")" $dstdir/"$symlinkname"
elif lipo -info "$f" >/dev/null 2>&1; then
echo "Lipoing $dir/$f into $dst"
sudo lipo -create -output "$dst" "$dst" "$f"
elif ! diff "$f" "$dst"; then
echo "Error: File $f in $dir doesn't match destination $dst"
exit 1
fi
done
echo "LS"
popd >/dev/null
done
sudo cp -r $1$prefix/include $prefix
}
build_info_plist() {
local file_path="$1"
local framework_name="$2"
local framework_id="$3"
local minimum_version_key="MinimumOSVersion"
local minimum_os_version="16.0"
local supported_platforms="iPhoneOS"
# TODO: This should be filled out with the actual version of FFmpeg that we are
@@ -118,7 +93,7 @@ build_info_plist() {
<key>CFBundleSignature</key>
<string>????</string>
<key>${minimum_version_key}</key>
<string>${minimum_os_version}</string>
<string>${MINIMUM_IOS_VERSION}</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>${supported_platforms}</string>
@@ -134,7 +109,7 @@ create_framework() {
# Create a 'traditional' framework from the corresponding dylib.
local framework_name="$1"
local platform="$2" # For now it's either arm64 or arm64-simulator, see below.
local ffmpeg_library_path="$ffmpeg_source_dir/build_ios/${platform}/installed/usr/local/ios/ffmpeg"
local ffmpeg_library_path="$ffmpeg_source_dir/build_ios/${platform}/installed$prefix"
local framework_complete_path="${ffmpeg_library_path}/framework/${framework_name}.framework/${framework_name}"
sudo mkdir -p "${ffmpeg_library_path}/framework/${framework_name}.framework"
@@ -164,8 +139,8 @@ create_xcframework() {
local target_platform_a="$2"
local target_platform_b="$3"
local fw_a="$ffmpeg_source_dir/build_ios/${target_platform_a}/installed/usr/local/ios/ffmpeg/framework/${framework_name}.framework"
local fw_b="$ffmpeg_source_dir/build_ios/${target_platform_b}/installed/usr/local/ios/ffmpeg/framework/${framework_name}.framework"
local fw_a="$ffmpeg_source_dir/build_ios/${target_platform_a}/installed$prefix/framework/${framework_name}.framework"
local fw_b="$ffmpeg_source_dir/build_ios/${target_platform_b}/installed$prefix/framework/${framework_name}.framework"
sudo mkdir -p "$prefix/framework/"
sudo xcodebuild -create-xcframework -framework $fw_a -framework $fw_b -output "${prefix}/framework/${framework_name}.xcframework"
@@ -186,6 +161,12 @@ for name in $ffmpeg_libs; do
create_xcframework $name "arm64-iphoneos" "x86_64-simulator"
done
install_ffmpeg "$ffmpeg_source_dir/build_ios/x86_64-simulator/installed" "$ffmpeg_source_dir/build_ios/arm64-iphoneos/installed"
# xcframeworks are already installed directly into the target output directory.
# We need to install headers
sudo cp -r "$ffmpeg_source_dir/build_ios/arm64-iphoneos/installed$prefix/include" $prefix
# The set_ffmpeg_dir_env_var requires the presence of the "lib" subfolder in order to validate
# our FFmpeg install. On iOS we don't use this subfolder, we only rely on the "framework" subfolder.
# So we create a dummy "lib" folder to pass the check.
sudo mkdir -p "${prefix}/lib"
set_ffmpeg_dir_env_var "FFMPEG_DIR_IOS" $prefix

View File

@@ -92,7 +92,7 @@ cmake "$targetDir" -G"Ninja Multi-Config" \
ninja all:all
sudo env "PATH=$PATH" ninja install:all
SetEnvVar "protobuf_ROOT" "$installPrefix/lib/cmake/protobuf"
SetEnvVar "protobuf_ROOT" "$installPrefix"
# Refresh shared library cache if OS isn't macOS
if uname -a |grep -qv "Darwin"; then

View File

@@ -1,3 +0,0 @@
Get-NetAdapter | Disable-NetAdapterLso
Start-Sleep -s 15 # Give windows some time to adjust network settings
Get-NetAdapter

View File

@@ -0,0 +1,27 @@
# Copyright (C) 2025 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script disables device discovery services related to Windows mDNS multicast
. "$PSScriptRoot\helpers.ps1"
# Miracast / Wireless Display
$regPath2 = "HKLM:\Software\Policies\Microsoft\Windows\Connect"
New-Item -Path $regPath2 -Force | Out-Null
Set-ItemProperty -Path $regPath2 -Name "DisableWirelessDisplay" -Type DWord -Value 1
# Function Discovery Resource Publication, printer/service publisher
Stop-Service -Name FDResPub
Set-Service -Name FDResPub -StartupType Disabled
# Windows Media Player Network Sharing Service
Stop-Service -Name WMPNetworkSvc -Force
Set-Service -Name WMPNetworkSvc -StartupType Disabled
# Function Discovery Provider Host
Stop-Service -Name fdPHost
Set-Service -Name fdPHost -StartupType Disabled
# Windows Connect Now
Stop-Service -Name wcncsvc
Set-Service -Name wcncsvc -StartupType Disabled

View File

@@ -358,7 +358,7 @@ function EnterVSDevShell {
Write-Host "Enter VisualStudio developer shell (-host_arch=$HostArch -arch=$Arch -VsInstallPath='$VSPath')"
try {
Import-Module "$VSPath\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"
Enter-VsDevShell -VsInstallPath $VSPath -DevCmdArguments "-host_arch=$HostArch -arch=$Arch -no_logo"
Enter-VsDevShell -SkipAutomaticLocation -VsInstallPath $VSPath -DevCmdArguments "-host_arch=$HostArch -arch=$Arch -no_logo"
} catch {
Write-Host "Failed to enter VisualStudio DevShell"
return $false

View File

@@ -0,0 +1,80 @@
# Copyright (C) 2025 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
. "$PSScriptRoot\helpers.ps1"
function CpuArchToString {
param (
[Parameter(Mandatory)]
[CpuArch] $Architecture
)
$arhitecture = switch ($Architecture) {
([CpuArch]::arm64) {
'arm64'
}
([CpuArch]::x64) {
'amd64'
}
default {
throw "Unsupported architecture: '$Architecture'"
}
}
return $arhitecture
}
function StringToCpuArch {
param (
[Parameter(Mandatory)]
[string] $Architecture
)
$arhitecture = switch ($Architecture) {
'arm64' {
[CpuArch]::arm64
}
'amd64' {
[CpuArch]::x64
}
default {
throw "Unsupported architecture: '$Architecture'"
}
}
return $arhitecture
}
function GetZlibEnvironmentVariableName {
param (
[Parameter(Mandatory)]
[CpuArch] $TargetArchitecture
)
$architecture = CpuArchToString -Architecture $TargetArchitecture
$environmentVariableName = "ZLIB_PATH_$architecture".ToUpper()
return $environmentVariableName
}
function GetZlibPathByCpuArch {
param (
[Parameter(Mandatory)]
[CpuArch] $TargetArchitecture
)
$environmentVariableName = GetZlibEnvironmentVariableName -TargetArchitecture $TargetArchitecture
return [System.Environment]::GetEnvironmentVariable($environmentVariableName, [System.EnvironmentVariableTarget]::Machine)
}
function GetZlibPathByString {
param (
[Parameter(Mandatory)]
[string] $TargetArchitecture
)
$targetArchitecture = StringToCpuArch -Architecture $TargetArchitecture
return GetZlibPathByCpuArch -TargetArchitecture $targetArchitecture
}

View File

@@ -0,0 +1,204 @@
# Copyright (C) 2025 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script performs manual copying and patching of the zlib source to support
# multi-architecture builds on Windows using Microsoft's nmake and Makefile.msc.
#
# Reasons for this approach:
#
# 1. In-source build system:
# zlib's build system (Makefile.msc) writes all build artifacts directly into the source
# directory. To allow concurrent builds for different architectures (e.g., x64 and arm64),
# we copy the relevant source files into per-architecture build directories to isolate artifacts.
#
# 2. Incompatible linker base address:
# The default Makefile.msc contains a hardcoded image base address ('-base:0x5A4C0000') for the
# linker. This is invalid for ARM64 targets, which require base addresses above 4 GB. The script
# patches this line out to prevent linker errors.
#
# 3. Broken #include in zconf.h:
# Based on FFmpeg documentation (https://ffmpeg.org/platform.html#Microsoft-Visual-C_002b_002b-or-Intel-C_002b_002b-Compiler-for-Windows),
# zconf.h may erroneously include '<unistd.h>', which doesn't exist on Windows. While Visual Studio 2022
# builds tolerate this, we patch it out to ensure compatibility with older toolchains.
#
# These workarounds allow us to run reproducible, architecture-specific builds in CI without modifying
# the original source tree or requiring upstream changes.
. "$PSScriptRoot\helpers.ps1"
. "$PSScriptRoot\zlib-helpers.ps1"
$VERSION='1.3.1'
$SHA1='f535367b1a11e2f9ac3bec723fb007fbc0d189e5'
$WIN32_DIRECTORY='win32'
$MAKEFILE="$WIN32_DIRECTORY\Makefile.msc"
function BuildZlib {
param (
[Parameter(Mandatory)]
[CpuArch] $HostArchitecture,
[Parameter(Mandatory)]
[CpuArch] $TargetArchitecture
)
PrepareBuildEnvironment -HostArchitecture $HostArchitecture -TargetArchitecture $TargetArchitecture
nmake /f $MAKEFILE
}
function CopySource {
param (
[Parameter(Mandatory)]
[CpuArch] $TargetArchitecture
)
$testDirectory='test'
$buildDirectory = GetBuildDirectory -TargetArchitecture $TargetArchitecture
$win32BuildDirectory = "$buildDirectory\$WIN32_DIRECTORY"
$testBuildDirectory = "$buildDirectory\$testDirectory"
New-Item -Path $buildDirectory -ItemType 'Directory'
New-Item -Path $win32BuildDirectory -ItemType 'Directory'
New-Item -Path $testBuildDirectory -ItemType 'Directory'
Copy-Item '*' -Include '*.c','*.h' -Destination $buildDirectory
Copy-Item "$WIN32_DIRECTORY\*" -Include '*.def','*.msc','*.rc' -Destination $win32BuildDirectory
Copy-Item "$testDirectory\*" -Include '*.c' -Destination $testBuildDirectory
}
function GetBuildDirectory {
param (
[Parameter(Mandatory)]
[CpuArch] $TargetArchitecture
)
$architectureDirectory = CpuArchToString -Architecture $TargetArchitecture
return "build\$architectureDirectory"
}
function GetSource {
$unzipDirectory = "C:\"
$zlibName="zlib-$VERSION"
$zlibDirectory = "$unzipDirectory$zlibName"
$urlCached="http://ci-files01-hki.ci.qt.io/input/zlib/zlib-$VERSION.tar.gz"
$urlPublic="https://github.com/madler/zlib/releases/download/v$VERSION/zlib-$VERSION.tar.gz"
$downloadPath = "C:\Windows\Temp\$zlibName.tar.gz"
Write-Host "Fetching zlib $VERSION..."
Download $urlPublic $urlCached $downloadPath
Verify-Checksum $downloadPath $SHA1
Extract-tar_gz $downloadPath $unzipDirectory
Remove $downloadPath
return $zlibDirectory
}
function GetTargetArchitectures {
param (
[Parameter(Mandatory)]
[CpuArch] $HostArchitecture
)
$targetArhitectures = @([CpuArch]::arm64)
if ($HostArchitecture -eq [CpuArch]::x64) {
$targetArhitectures += [CpuArch]::x64
}
return $targetArhitectures
}
function PatchMakefile {
$pattern = '-base:\s*0x[0-9A-Fa-f]+'
(Get-Content $MAKEFILE) | ForEach-Object {
$_ -replace $pattern, ''
} | Set-Content $MAKEFILE
}
function PatchSource {
PatchZconf
PatchMakefile
}
function PatchZconf {
$zconf = 'zconf.h'
$pattern = '#\s*include\s*<unistd\.h>'
(Get-Content $zconf) | Where-Object {
$_ -notmatch $pattern
} | Set-Content $zconf
}
function PrepareBuild {
param (
[Parameter(Mandatory)]
[CpuArch] $TargetArchitecture
)
CopySource -TargetArchitecture $TargetArchitecture
}
function PrepareBuildEnvironment {
param (
[Parameter(Mandatory)]
[CpuArch] $HostArchitecture,
[Parameter(Mandatory)]
[CpuArch] $TargetArchitecture
)
$hostArhitecture = CpuArchToString -Architecture $HostArchitecture
$targetArhitecture = CpuArchToString -Architecture $TargetArchitecture
if (-not $(EnterVSDevShell -HostArch $hostArhitecture -Arch $targetArhitecture)) {
throw "Failed to prepare build environment for ${hostArhitecture}_${targetArhitecture}"
}
}
function SetZlibEnvironmentVariable {
param (
[Parameter(Mandatory)]
[CpuArch] $TargetArchitecture,
[Parameter(Mandatory)]
[string] $ZlibDirectory
)
$buildDirectory = GetBuildDirectory -TargetArchitecture $TargetArchitecture
$environmentVariableName = GetZlibEnvironmentVariableName -TargetArchitecture $TargetArchitecture
$environmentVariableValue = "$ZlibDirectory\$buildDirectory"
Set-EnvironmentVariable $environmentVariableName $environmentVariableValue
}
$zlibDirectory = GetSource
$hostArchitecture = Get-CpuArchitecture
$targetArchitectures = GetTargetArchitectures -HostArchitecture $hostArchitecture
Push-Location $zlibDirectory
try {
foreach ($targetArchitecture in $targetArchitectures) {
PrepareBuild -TargetArchitecture $targetArchitecture
$buildDirectory = GetBuildDirectory -TargetArchitecture $targetArchitecture
Push-Location $buildDirectory
try {
PatchSource
BuildZlib -HostArchitecture $hostArchitecture -TargetArchitecture $targetArchitecture
SetZlibEnvironmentVariable -TargetArchitecture $targetArchitecture -ZlibDirectory $zlibDirectory
}
finally {
Pop-Location
}
}
}
finally {
Pop-Location
}

View File

@@ -21,9 +21,9 @@ done
echo "Using public repositories for now. Repo-clones isn't set yet for Debian use"
# (ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories."
echo "deb http://deb.debian.org/debian bullseye-backports main" | sudo tee -a /etc/apt/sources.list
echo "deb-src http://deb.debian.org/debian bullseye-backports main" | sudo tee -a /etc/apt/sources.list
echo "deb https://archive.debian.org/debian bullseye-backports main" | sudo tee -a /etc/apt/sources.list
echo "deb-src https://archive.debian.org/debian bullseye-backports main" | sudo tee -a /etc/apt/sources.list
# Make sure needed ca-certificates are available
installPackages+=(ca-certificates)
# Git is not needed by builds themselves, but is nice to have
@@ -145,6 +145,7 @@ installPackages+=(libbluetooth-dev)
installPackages+=(dkms)
# Needed for qtspeech
installPackages+=(libspeechd-dev)
installPackages+=(flite1-dev)
#Pypdf for PDF reading in RTA tests
installPackages+=(python3-pypdf2)
# Needed for b2qt

View File

@@ -41,8 +41,8 @@ EOF
sudo sbuild-adduser "$LOGNAME"
newgrp sbuild
# Create chroot for debian stable
sudo sbuild-createchroot --include=eatmydata,ccache,gnupg,ca-certificates stable /srv/chroot/stable-arm64
# Create chroot for debian bookworm
sudo sbuild-createchroot --include=eatmydata,ccache,gnupg,ca-certificates bookworm /srv/chroot/stable-arm64
echo "Create chroot for Ubuntu Jammy"
# First we need update the deboostrap scripts
@@ -60,5 +60,5 @@ sudo sbuild-createchroot --include=gnupg,ca-certificates jammy /srv/chroot/jammy
echo "Done creating chroot for Ubuntu Jammy"
# Update chroot.
sudo sbuild-update -udcar stable
sudo sbuild-update -udcar bookworm
sudo sbuild-update -udcar jammy

View File

@@ -69,8 +69,9 @@ installPackages+=(libva-devel)
installPackages+=(gtk3-devel)
# libusb1 for tqtc-boot2qt/qdb
installPackages+=(libusbx-devel)
# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux
# speech-dispatcher-devel / flite-devel for QtSpeech
installPackages+=(speech-dispatcher-devel)
installPackages+=(flite-devel)
# Python for pyside
installPackages+=(python3.11)
installPackages+=(python3.11-pip)
@@ -118,6 +119,7 @@ installPackages+=(libxkbcommon-devel)
installPackages+=(libxkbcommon-x11-devel)
# xcb-util-* libraries
installPackages+=(xcb-util)
installPackages+=(xcb-util-devel)
installPackages+=(xcb-util-image-devel)
installPackages+=(xcb-util-keysyms-devel)
installPackages+=(xcb-util-wm-devel)

View File

@@ -69,8 +69,9 @@ installPackages+=(libva-devel)
installPackages+=(gtk3-devel)
# libusb1 for tqtc-boot2qt/qdb
installPackages+=(libusbx-devel)
# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux
# speech-dispatcher-devel / flite-devel for QtSpeech
installPackages+=(speech-dispatcher-devel)
installPackages+=(flite-devel)
# Python 3.8 for pyside. Qt for Python support for Python 3.6 will be deprecated in within pyside6.3
installPackages+=(python3.11)
installPackages+=(python3.11-pip)

View File

@@ -74,8 +74,9 @@ installPackages+=(yasm)
installPackages+=(gtk3-devel)
# libusb1 for tqtc-boot2qt/qdb
installPackages+=(libusbx-devel)
# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux
# speech-dispatcher-devel / flite-devel for QtSpeech
installPackages+=(speech-dispatcher-devel)
installPackages+=(flite-devel)
# Python 2 devel and pip. python-pip requires the EPEL repository to be added
# Python 2 no longer supported
# installPackages+=(python2-devel python2-pip)

View File

@@ -74,8 +74,9 @@ installPackages+=(yasm)
installPackages+=(gtk3-devel)
# libusb1 for tqtc-boot2qt/qdb
installPackages+=(libusbx-devel)
# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux
# speech-dispatcher-devel / flite-devel for QtSpeech
installPackages+=(speech-dispatcher-devel)
installPackages+=(flite-devel)
# Python 2 devel and pip. python-pip requires the EPEL repository to be added
# Python 2 no longer supported
# installPackages+=(python2-devel python2-pip)
@@ -127,6 +128,7 @@ installPackages+=(libxkbcommon-devel)
installPackages+=(libxkbcommon-x11-devel)
# xcb-util-* libraries
installPackages+=(xcb-util)
installPackages+=(xcb-util-devel)
installPackages+=(xcb-util-image-devel)
installPackages+=(xcb-util-keysyms-devel)
installPackages+=(xcb-util-wm-devel)

View File

@@ -8,15 +8,15 @@ sudo zypper -nq install elfutils binutils
sudo zypper addrepo --no-gpgcheck https://download.opensuse.org/repositories/devel:gcc/SLE-15/devel:gcc.repo
sudo zypper refresh
sudo zypper -nq install --force-resolution gcc10 gcc10-c++
sudo zypper -nq install --force-resolution gcc11 gcc11-c++
# Make sure needed ca-certificates are available
sudo zypper -nq install ca-certificates
sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 1 \
--slave /usr/bin/g++ g++ /usr/bin/g++-10 \
--slave /usr/bin/cc cc /usr/bin/gcc-10 \
--slave /usr/bin/c++ c++ /usr/bin/g++-10
sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 1 \
--slave /usr/bin/g++ g++ /usr/bin/g++-11 \
--slave /usr/bin/cc cc /usr/bin/gcc-11 \
--slave /usr/bin/c++ c++ /usr/bin/g++-11
sudo zypper -nq install git ninja make patch wget tar

View File

@@ -179,6 +179,7 @@ installPackages+=(libopenal-dev)
installPackages+=(libbluetooth-dev)
# Needed for qtspeech
installPackages+=(libspeechd-dev)
installPackages+=(flite1-dev)
#Pypdf for PDF reading in RTA tests
installPackages+=(python3-pypdf2)
# Needed for b2qt

View File

@@ -0,0 +1,7 @@
#!/usr/bin/env bash
#Copyright (C) 2024 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
source "${BASH_SOURCE%/*}/../common/linux/install-golang.sh"

View File

@@ -0,0 +1,7 @@
#!/usr/bin/env bash
#Copyright (C) 2024 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
source "${BASH_SOURCE%/*}/../common/linux/install-upx.sh"

View File

@@ -186,6 +186,7 @@ installPackages+=(virtualbox)
installPackages+=(dkms)
# Needed for qtspeech
installPackages+=(libspeechd-dev)
installPackages+=(flite1-dev)
#Pypdf for PDF reading in RTA tests
installPackages+=(python3-pypdf2)
# Needed for b2qt

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env bash
# Copyright (C) 2024 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/linux/qnx_800.sh
source "${BASH_SOURCE%/*}/../common/linux/qnx_800.sh"

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env bash
#Copyright (C) 2025 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# binutils is installed with an error: The formula built, but is not symlinked into /usr/local
# To avoid stopping the configuration due to this problem, "|| true" is added.
brew install binutils || true

View File

@@ -0,0 +1,7 @@
#!/usr/bin/env bash
#Copyright (C) 2025 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
brew install patchelf

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env bash
#Copyright (C) 2025 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# binutils is installed with an error: The formula built, but is not symlinked into /usr/local
# To avoid stopping the configuration due to this problem, "|| true" is added.
brew install binutils || true

View File

@@ -0,0 +1,9 @@
#!/usr/bin/env bash
#Copyright (C) 2025 The Qt Company Ltd
#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# binutils is installed with an error: The formula built, but is not symlinked into /usr/local
# To avoid stopping the configuration due to this problem, "|| true" is added.
brew install binutils || true

View File

@@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1"

View File

@@ -0,0 +1,5 @@
# Copyright (C) 2025 The Qt Company Ltd
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# QTQAINFRA-6761
. "$PSScriptRoot\..\common\windows\disable-windows-mdns.ps1"

View File

@@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1"

View File

@@ -0,0 +1,5 @@
# Copyright (C) 2025 The Qt Company Ltd
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# QTQAINFRA-6761
. "$PSScriptRoot\..\common\windows\disable-windows-mdns.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\zlib.ps1"

View File

@@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1"

View File

@@ -0,0 +1,5 @@
# Copyright (C) 2025 The Qt Company Ltd
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# QTQAINFRA-6761
. "$PSScriptRoot\..\common\windows\disable-windows-mdns.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\zlib.ps1"

View File

@@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1"

View File

@@ -0,0 +1,5 @@
# Copyright (C) 2025 The Qt Company Ltd
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# QTQAINFRA-6761
. "$PSScriptRoot\..\common\windows\disable-windows-mdns.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\zlib.ps1"

View File

@@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1"

View File

@@ -0,0 +1,5 @@
# Copyright (C) 2025 The Qt Company Ltd
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# QTQAINFRA-6761
. "$PSScriptRoot\..\common\windows\disable-windows-mdns.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\zlib.ps1"

View File

@@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1"

View File

@@ -0,0 +1,5 @@
# Copyright (C) 2025 The Qt Company Ltd
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# QTQAINFRA-6761
. "$PSScriptRoot\..\common\windows\disable-windows-mdns.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\zlib.ps1"

View File

@@ -1 +0,0 @@
. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1"

View File

@@ -0,0 +1,5 @@
# Copyright (C) 2025 The Qt Company Ltd
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# QTQAINFRA-6761
. "$PSScriptRoot\..\common\windows\disable-windows-mdns.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\zlib.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\certificate-updates.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\install-sevenzip.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\allow-remote-desktop-access.ps1"

View File

@@ -0,0 +1,28 @@
$x_value = "1280"
$y_value = "800"
Function ChangeResolution {
Param (
[string]$driver
)
$path = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration"
reg.exe ADD "$path\$driver\00\" /V PrimSurfSize.cx /T REG_dWORD /D $x_value /F
reg.exe ADD "$path\$driver\00\" /V PrimSurfSize.cy /T REG_dWORD /D $y_value /F
reg.exe ADD "$path\$driver\00\00" /V DwmClipBox.bottom /T REG_dWORD /D $y_value /F
reg.exe ADD "$path\$driver\00\00" /V DwmClipBox.right /T REG_dWORD /D $x_value /F
reg.exe ADD "$path\$driver\00\00" /V PrimSurfSize.cx /T REG_dWORD /D $x_value /F
reg.exe ADD "$path\$driver\00\00" /V PrimSurfSize.cy /T REG_dWORD /D $y_value /F
reg.exe ADD "$path\$driver\00\00" /V ActiveSize.cy /T REG_dWORD /D $y_value /F
reg.exe ADD "$path\$driver\00\00" /V ActiveSize.cx /T REG_dWORD /D $x_value /F
}
Write-Host "Changing the resolution to ${x_value}x${y_value}"
ChangeResolution "MSBDD_NOEDID_1234_1111_00000000_00020000_0^E3701873EC28AFCFF631E725354CDC2D"
ChangeResolution "MSBDD_NOEDID_15AD_0405_00000000_000F0000_0^C13AE38966E73205F75BFACA84EB83A5"
ChangeResolution "MSBDD_RHT12340_2A_07DE_3A_1234_1111_00000000_00020000_0^EC6E4468E7627A114F1F86EA72F3C134"
ChangeResolution "MSBDD_RHT12340_2A_07DE_3D_1234_1111_00000000_00010000_0^4189234F4C5A30C0FE2E08AED7E5F516"
ChangeResolution "MSBDD_RHT12340_2A_07DE_3D_1234_1111_00000000_00020000_0^0E45B5CD7061674FC90A8064A6FE81F4"
ChangeResolution "MSNILNOEDID_1414_008D_FFFFFFFF_FFFFFFFF_0^030B4FCE00727AC1593E5B6FD18648D6"

View File

@@ -0,0 +1,9 @@
# Windows 'Notifications & actions'
# Disable 'Get notifications from apps and other senders'
reg.exe ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\PushNotifications" /V ToastEnabled /T REG_dWORD /D 0 /F
# Disable 'Show me the Windows welcome experience after udpates and occasionally when I sign in to highlight what's new and suggested'
reg.exe ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /V SubscribedContent-310093Enabled /T REG_dWORD /D 0 /F
# Disable 'Get tips, tricks and suggestions as you use Windows'
reg.exe ADD "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager" /V SubscribedContent-338389Enabled /T REG_dWORD /D 0 /F

View File

@@ -0,0 +1,4 @@
# Disable RunTime Broker
# The RunTime Broker is a Windows system process, which helps to manage app permissions on your pc between Windows apps and ensures apps are behaving themselves.
# Coordinates execution of background work for WinRT application. If this service is stopped or disabled, then background work might not be triggered.
reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TimeBrokerSvc" /V Start /T REG_dWORD /D 4 /F

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\disable-windows-delivery-optimization.ps1"

View File

@@ -0,0 +1,5 @@
# Copyright (C) 2025 The Qt Company Ltd
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# QTQAINFRA-6761
. "$PSScriptRoot\..\common\windows\disable-windows-mdns.ps1"

View File

@@ -0,0 +1,7 @@
# Disable Connected User Experiences and Telemetry service
# The Connected User Experiences and Telemetry service enables features that support in-application and connected user experiences.
# Additionally, this service manages the event driven collection and transmission of diagnostic and usage information
# (used to improve the experience and quality of the Windows Platform) when the diagnostics and usage privacy option settings are enabled under Feedback and Diagnostics.
reg.exe ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Data Collection" /V AllowTelemetry /T REG_dWORD /D 0 /F
stop-service diagtrack
set-service diagtrack -startuptype disabled

View File

@@ -0,0 +1,2 @@
# Allow SMB client guest logons to SMB server.
reg.exe ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /V AllowInsecureGuestAuth /T REG_dWORD /D 1 /F

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\set-proxy.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\disable-autoreboot.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\disable-sleep.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\nodejs.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\win10-enable-devmode.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\wsearch-off.ps1"

View File

@@ -0,0 +1,2 @@
. "$PSScriptRoot\..\common\windows\longpath.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\mesa_llvmpipe.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\ninja.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\install-git.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\install-jdk.ps1"

View File

@@ -0,0 +1,2 @@
# Do not set the default LLVM_INSTALL_DIR for mingw, leave it with msvc for compat
. "$PSScriptRoot\..\common\windows\libclang.ps1" arm64 vs2022

View File

@@ -0,0 +1,9 @@
# Parameters:
# - Arch 32/64
# - installer sha1
# - install target dir
# - version
# - Optional true/false if set as default with PYTHON3/PIP3_PATH variables, default false
# Downloading https://www.python.org/ftp/python/3.11.9/python-3.11.9-arm64.exe
. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "9e0487af5f0472978b7b6d4f4d3d8fd56865ff97" "C:\Python311_64" "3.11.9" $true

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\install-dependencywalker.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\install-openssh.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\install-sed.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\openssl-arm64.ps1"

View File

@@ -0,0 +1,4 @@
# Windows ARM has own common script
# - "$PSScriptRoot\..\common\windows\openssl-arm64.ps1"
# - need to check should these be combined or excluded
#. "$PSScriptRoot\..\common\windows\openssl.ps1"

View File

@@ -0,0 +1 @@
. "$PSScriptRoot\..\common\windows\set-network-test-server.ps1"

Some files were not shown because too many files have changed in this diff Show More