aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitmodules2
-rw-r--r--cmake/QtIRCommandLineHelpers.cmake23
-rw-r--r--cmake/QtIRHelpers.cmake2
-rw-r--r--cmake/QtIROptionsHelpers.cmake2
-rw-r--r--cmake/QtIRProcessHelpers.cmake24
-rw-r--r--coin/platform_configs/cmake_platforms.yaml161
-rw-r--r--coin/platform_configs/cmake_platforms_qemu_vxworks.yaml2
-rw-r--r--coin/platform_configs/cmake_platforms_target_android.yaml4
-rw-r--r--coin/platform_configs/default.yaml5
-rw-r--r--coin/platform_configs/linux_android_tests_developer.yaml2
-rw-r--r--coin/platform_configs/linux_android_tests_multi_abi.yaml8
-rw-r--r--coin/platform_configs/macos.yaml48
-rw-r--r--coin/platform_configs/nightly_ubuntu_20.04_c++17.yaml2
-rw-r--r--coin/platform_configs/nightly_ubuntu_24_04_arm64_documentation.yaml22
-rw-r--r--coin/platform_configs/precheck.yaml2
-rw-r--r--coin/platform_configs/qt-creator.yaml10
-rw-r--r--coin/platform_configs/qtsaferenderer-runtime.yaml7
-rw-r--r--coin/platform_configs/qtwayland.yaml20
-rw-r--r--coin/platform_configs/tqtc-android-automotive.yaml2
-rw-r--r--coin/pre-provisioning/qtci-linux-Ubuntu-24.04-aarch64/README_MANUAL_INSTALLATIONS60
-rw-r--r--coin/pre-provisioning/qtci-linux-Ubuntu-24.04-x86_64/README_MANUAL_INSTALLATIONS60
-rw-r--r--coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-smart-app-control.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-aarch64/README_MANUAL_INSTALLATIONS64
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-clean-manager.ps18
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-defragment.ps142
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-ntp.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-schedule-tasks.ps172
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-smart-app-control.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-update-orchestrator.ps113
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-windefender.ps121
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-windows-file-protector.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-windows-update-medic.ps125
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-windows-updates.ps124
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-aarch64/msvc2022.txt74
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-smart-app-control.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-smart-app-control.ps14
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/app/build.gradle3
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml4
-rwxr-xr-xcoin/provisioning/common/linux/android_linux.sh10
-rw-r--r--coin/provisioning/common/linux/fix-bwrap-apparmor.sh21
-rwxr-xr-xcoin/provisioning/common/linux/qnx_710.sh4
-rwxr-xr-xcoin/provisioning/common/linux/qnx_800.sh85
-rw-r--r--coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/system_files.custom2
-rwxr-xr-xcoin/provisioning/common/macos/python3.sh22
-rwxr-xr-xcoin/provisioning/common/unix/install-conan.sh3
-rwxr-xr-xcoin/provisioning/common/unix/install_protobuf.sh30
-rw-r--r--coin/provisioning/common/windows/cmake.ps132
-rw-r--r--coin/provisioning/common/windows/disable-windows-module-installer.ps14
-rw-r--r--coin/provisioning/common/windows/exceutequeueditems.ps127
-rw-r--r--coin/provisioning/common/windows/git_usr_bin_to_path.ps16
-rw-r--r--coin/provisioning/common/windows/helpers.ps153
-rw-r--r--coin/provisioning/common/windows/install-dependencywalker.ps130
-rw-r--r--coin/provisioning/common/windows/install-ffmpeg.ps11
-rw-r--r--coin/provisioning/common/windows/install-notepad++.ps135
-rw-r--r--coin/provisioning/common/windows/install-openssh.ps132
-rw-r--r--coin/provisioning/common/windows/install-sevenzip.ps126
-rw-r--r--coin/provisioning/common/windows/install_telegraf.ps151
-rw-r--r--coin/provisioning/common/windows/ninja.ps138
-rw-r--r--coin/provisioning/common/windows/nodejs.ps127
-rw-r--r--coin/provisioning/common/windows/openssl-arm64.ps127
-rw-r--r--coin/provisioning/common/windows/python.ps187
-rw-r--r--coin/provisioning/common/windows/python3.ps127
-rw-r--r--coin/provisioning/common/windows/qnx710.ps16
-rwxr-xr-xcoin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/02-install-xcb_util_cursor.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh11
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-qnx800.sh9
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/01-systemsetup.sh43
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh243
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-notifications.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-ntp.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-apport.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-update_notifier.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/03-fix-bwrap-apparmor.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-cleanup.sh7
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-version.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable-updates.sh9
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable_net_lso.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-install_telegraf.sh3
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-set-ulimit.sh8
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-systemsetup.sh43
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-apt.sh254
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-notifications.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-ntp.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-apport.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-update_notifier.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-install-nodejs.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-mount-vcpkg-cache-drive.sh8
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-qemu.sh19
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang-v100-dyn.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-yocto.sh125
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/08-integrity.sh8
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/20-sccache.sh3
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/22-mqtt_broker.sh8
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-fbx.sh8
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install-conan.sh8
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install_icu.sh48
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/35-install-breakpad.sh8
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-android_linux.sh8
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-install-cmake.sh7
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/41-install-vcpkg.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/42-install-vcpkg-ports.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/45-install-cpdb.sh13
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/50-openssl_for_android_linux.sh8
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/60-install_protobuf.sh9
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/61-install_grpc.sh9
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-install_QemuGA.sh10
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-qnx710.sh13
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-vxworks.sh8
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/80-docker.sh59
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/81-fix_mdns_docker_resolution.sh15
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/85-qdoc_qtattributionsscanner.sh33
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-bootstrap-autostart.sh3
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-install-ffmpeg.sh3
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-mimer.sh8
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-squish.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/91-squish-coco.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/92-sbuild.sh57
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-axivion-bauhaus-suite.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-download-files-for-sbuild.sh17
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-lcov.sh9
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-cleanup.sh7
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-enable_test_stacktraces.sh8
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-version.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/36-install_grpc.sh3
-rw-r--r--coin/provisioning/qtci-windows-10-x86/02-python.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/02-python.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/02-python-32bit.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/02-python.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/02-python-32bit.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/02-python.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/98-git_usr_bin_to_path.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/02-python-32bit.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/02-python.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/00-disable-netadapterlso.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/00-install-sevenzip.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/01-allow-remote-desktop-access.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/01-change-resolution.ps128
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-notifications.ps19
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-runtimebroker.ps14
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-windows-telemetry.ps17
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/01-enable-guest-logon.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/01-set-proxy.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-autoreboot.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-sleep.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/03-nodejs.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/05-enable-devmode.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/05-wsearch-off.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/06-longpath.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/06-mesa_llvmpipe.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/06-ninja.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/08-install-git.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/08-python3.ps19
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-dependencywalker.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-openssh.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-sed.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl-arm64.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl.ps14
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/09-set-network-test-server.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/09-vulkansdk.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/22-mqtt_broker.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/23-winrtrunner.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/25-llvm-mingw.ps120
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/29-libusb.ps13
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/35-install-breakpad.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/36-install-gnuwin32.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/60-jom.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/70-cmake.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/85-disable_quickedit_powershell.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/90-3dstudio_3rdparty.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-notepad++.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-stm32cubeprogrammer.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/90-libusb.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/90-python-modules.ps15
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/96-disable-windows-module-installer.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/98-unset-proxy.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/99-share-test-folders.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-aarch64/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/02-python-32bit.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/02-python.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/98-git_usr_bin_to_path.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/02-python-32bit.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/02-python.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/98-git_usr_bin_to_path.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/07-python2.ps11
m---------qt3d0
m---------qt5compat0
m---------qtactiveqt0
m---------qtbase0
m---------qtcharts0
m---------qtcoap0
m---------qtconnectivity0
m---------qtdatavis3d0
m---------qtdeclarative0
m---------qtdoc0
m---------qtgraphs0
m---------qtgrpc0
m---------qthttpserver0
m---------qtimageformats0
m---------qtlanguageserver0
m---------qtlocation0
m---------qtlottie0
m---------qtmqtt0
m---------qtmultimedia0
m---------qtnetworkauth0
m---------qtopcua0
m---------qtpositioning0
m---------qtqa0
m---------qtquick3d0
m---------qtquick3dphysics0
m---------qtquickeffectmaker0
m---------qtquicktimeline0
m---------qtremoteobjects0
m---------qtscxml0
m---------qtsensors0
m---------qtserialbus0
m---------qtserialport0
m---------qtshadertools0
m---------qtspeech0
m---------qtsvg0
m---------qttools0
m---------qttranslations0
m---------qtvirtualkeyboard0
m---------qtwayland0
m---------qtwebchannel0
m---------qtwebengine0
m---------qtwebsockets0
m---------qtwebview0
238 files changed, 2651 insertions, 368 deletions
diff --git a/.gitmodules b/.gitmodules
index fd6cf6e8..cfd27ee1 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -132,7 +132,7 @@
path = qt3d
url = ../qt3d.git
branch = dev
- status = addon
+ status = deprecated
[submodule "qtimageformats"]
depends = qtbase
path = qtimageformats
diff --git a/cmake/QtIRCommandLineHelpers.cmake b/cmake/QtIRCommandLineHelpers.cmake
index 465a994b..d3569dd7 100644
--- a/cmake/QtIRCommandLineHelpers.cmake
+++ b/cmake/QtIRCommandLineHelpers.cmake
@@ -59,7 +59,7 @@ endfunction()
# Helper macro to parse the arguments for the command line options.
macro(qt_ir_commandline_option_parse_arguments)
- set(options UNSUPPORTED)
+ set(options UNSUPPORTED COMMON)
set(oneValueArgs TYPE NAME SHORT_NAME ALIAS VALUE DEFAULT_VALUE)
set(multiValueArgs VALUES MAPPING)
cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
@@ -81,6 +81,7 @@ endmacro()
# same value when retrieved.
# DEFAULT_VALUE - the default value to be set for the option when it's not specified
# on the command line
+# COMMON - the argument is common for init-repository and configure scripts
#
# NOTE: Make sure to update the SHORT_NAME code path when adding new options.
function(qt_ir_commandline_option_helper name)
@@ -97,6 +98,14 @@ function(qt_ir_commandline_option_helper name)
set(commandline_known_options
"${commandline_known_options};${name}" PARENT_SCOPE)
+ if(arg_COMMON)
+ set(commandline_option_${name}_common "true" PARENT_SCOPE)
+ if(NOT "${arg_TYPE}" STREQUAL "boolean")
+ message(FATAL_ERROR "${name} is '${arg_TYPE}', but COMMON arguments can be"
+ " 'boolean' only.")
+ endif()
+ endif()
+
set(commandline_option_${name}_type "${arg_TYPE}" PARENT_SCOPE)
if(NOT "${arg_VALUE}" STREQUAL "")
@@ -137,7 +146,12 @@ macro(qt_ir_commandline_option name)
AND "${commandline_option_${arg_SHORT_NAME}_type}" STREQUAL "")
set(unsupported "")
if(arg_UNSUPPORTED)
- set(unsupported "${arg_UNSUPPORTED}")
+ set(unsupported "UNSUPPORTED")
+ endif()
+
+ set(common "")
+ if(arg_COMMON)
+ set(common "COMMON")
endif()
qt_ir_commandline_option_helper("${arg_SHORT_NAME}"
@@ -148,6 +162,7 @@ macro(qt_ir_commandline_option name)
MAPPING ${arg_MAPPING}
DEFAULT_VALUE ${arg_DEFAULT_VALUE}
${unsupported}
+ ${common}
)
endif()
endmacro()
@@ -244,6 +259,7 @@ endfunction()
# Reads the command line arguments from the optfile_path.
function(qt_ir_get_raw_args_from_optfile optfile_path out_var)
file(STRINGS "${optfile_path}" args)
+ qt_ir_escape_semicolons(args "${args}")
set(${out_var} "${args}" PARENT_SCOPE)
endfunction()
@@ -322,6 +338,9 @@ function(qt_ir_process_args_from_optfile optfile_path)
qt_ir_append_unknown_args("${arg}")
continue()
endif()
+ elseif(commandline_option_${opt}_common AND arg_IGNORE_UNKNOWN_ARGS)
+ message(DEBUG "Common command line option '${arg}'. Collecting.")
+ qt_ir_append_unknown_args("${arg}")
endif()
if(NOT COMMAND "qt_ir_commandline_${type}")
diff --git a/cmake/QtIRHelpers.cmake b/cmake/QtIRHelpers.cmake
index 9f372932..8e2af7f8 100644
--- a/cmake/QtIRHelpers.cmake
+++ b/cmake/QtIRHelpers.cmake
@@ -225,7 +225,7 @@ endfunction()
# to run the perly script manually.
function(qt_ir_show_error_how_to_run_perl opt_file unsupported_option_name)
qt_ir_get_raw_args_from_optfile("${opt_file}" args)
- string(REPLACE ";" " " args "${args}")
+ qt_ir_prettify_command_args(args "${args}")
set(perl_cmd "perl ./init-repository.pl ${args}")
diff --git a/cmake/QtIROptionsHelpers.cmake b/cmake/QtIROptionsHelpers.cmake
index d87c7463..496ec42b 100644
--- a/cmake/QtIROptionsHelpers.cmake
+++ b/cmake/QtIROptionsHelpers.cmake
@@ -29,7 +29,7 @@ macro(qt_ir_set_known_command_line_options)
qt_ir_commandline_option(quiet SHORT_NAME q TYPE boolean)
qt_ir_commandline_option(resolve-deps TYPE boolean DEFAULT_VALUE yes)
qt_ir_commandline_option(update TYPE boolean DEFAULT_VALUE yes)
- qt_ir_commandline_option(verbose TYPE boolean)
+ qt_ir_commandline_option(verbose TYPE boolean COMMON)
# These are used when init-repository is called from configure.
qt_ir_commandline_option(from-configure TYPE boolean)
diff --git a/cmake/QtIRProcessHelpers.cmake b/cmake/QtIRProcessHelpers.cmake
index db7bf2cb..cddd2736 100644
--- a/cmake/QtIRProcessHelpers.cmake
+++ b/cmake/QtIRProcessHelpers.cmake
@@ -53,10 +53,11 @@ function(qt_ir_execute_process)
endif()
endif()
- string(REPLACE ";" " " command_args_string "${arg_COMMAND_ARGS}")
+ qt_ir_prettify_command_args(command_args_string "${arg_COMMAND_ARGS}")
message("+ ${command_args_string}${working_dir_message}")
endif()
+ qt_ir_unescape_semicolons(arg_COMMAND_ARGS "${arg_COMMAND_ARGS}")
execute_process(
COMMAND ${arg_COMMAND_ARGS}
${working_dir}
@@ -76,6 +77,25 @@ function(qt_ir_execute_process)
endif()
endfunction()
+# Guards the escaped semicolon sequences with square brackets.
+function(qt_ir_escape_semicolons out_var input_string)
+ string(REPLACE "\;" "[[;]]" ${out_var} "${input_string}")
+ set(${out_var} "${${out_var}}" PARENT_SCOPE)
+endfunction()
+
+# Removes the square bracket guards around semicolons and escape them.
+function(qt_ir_unescape_semicolons out_var input_string)
+ string(REPLACE "[[;]]" "\;" ${out_var} "${input_string}")
+ set(${out_var} "${${out_var}}" PARENT_SCOPE)
+endfunction()
+
+# Converts the command line arguments to a nice bash runnable string
+function(qt_ir_prettify_command_args output args)
+ list(JOIN args " " ${output})
+ qt_ir_unescape_semicolons(${output} "${${output}}")
+ set(${output} "${${output}}" PARENT_SCOPE)
+endfunction()
+
# A higher level execute_process wrapper that can be used to execute a single command
# that is a bit more opinionated and expects options related to init-repository
# functionality.
@@ -142,7 +162,7 @@ function(qt_ir_execute_process_and_log_and_handle_error)
set(error_message "${arg_ERROR_MESSAGE}\n")
endif()
- string(REPLACE ";" " " cmd "${arg_COMMAND_ARGS}")
+ qt_ir_prettify_command_args(cmd "${arg_COMMAND_ARGS}")
string(APPEND error_message "${cmd} exited with status: ${proc_result}\n")
if(proc_output)
string(APPEND error_message "stdout: ${proc_output}\n")
diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml
index 82b93c0d..63ad0f8e 100644
--- a/coin/platform_configs/cmake_platforms.yaml
+++ b/coin/platform_configs/cmake_platforms.yaml
@@ -38,6 +38,59 @@ Configurations:
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'
+ Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
+ Compiler: 'GCC'
+ Features: ['UseConfigure', 'DoNotRunTests']
+ Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
+ ]
+# Test on Ubuntu 24.04 ARM64 offscreen
+-
+ Id: 'ubuntu-24.04-arm64-offscreen-tests'
+ Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
+ Compiler: 'GCC'
+ Features: ['TestOnly', 'InsignificantTests']
+ Environment variables: [
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
+ 'QT_QPA_PLATFORM=offscreen'
+ ]
+ Platform dependency: 'ubuntu-24.04-arm64'
+# Build on Ubuntu 24.04 x64 Wayland and test on both X11 and Wayland (Wayland=default)
+-
+ Id: 'ubuntu-24.04-x64-documentation'
+ Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'Documentation', 'UseConfigure', 'DoNotRunTests']
+ Configure arguments: '-make examples -developer-build -c++std c++20 -linker gold -qtlibinfix TestInfix -qtnamespace TestNamespace'
+ Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}']
+-
+ Id: 'ubuntu-24.04-x64'
+ Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'UseConfigure', 'DoNotRunTests']
+ Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
+ ]
+# Test on Ubuntu 24.04 x64 X11
+-
+ Id: 'ubuntu-24.04-x64-documentation-x11-tests'
+ Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'TestOnly', 'InsignificantTests']
+ Platform dependency: 'ubuntu-24.04-x64-documentation'
+-
+ Id: 'ubuntu-24.04-x64-x11-tests'
+ Template: 'qtci-linux-Ubuntu-24.04-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'TestOnly', 'InsignificantTests']
+ Platform dependency: 'ubuntu-24.04-x64'
-
Id: 'opensuse-15.5-developer-build'
Template: 'qtci-linux-openSUSE-15.5-x86_64-52'
@@ -60,30 +113,6 @@ Configurations:
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
]
-
- Id: 'windows-10_22h2-msvc2019'
- Template: 'qtci-windows-10_22H2-x86_64-51'
- Compiler: 'MSVC2019'
- Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure']
- Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib'
- Environment variables: [
- 'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
- 'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
- 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DINPUT_headersclean=ON',
- 'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
- ]
--
- Id: 'windows-11_23H2-msvc2019'
- Template: 'qtci-windows-11_23H2-x86_64-52'
- Compiler: 'MSVC2019'
- Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure']
- Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib'
- Environment variables: [
- 'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
- 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DINPUT_headersclean=ON',
- 'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
- 'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
- ]
--
Id: 'windows-10_22h2-msvc2022'
Template: 'qtci-windows-10_22H2-x86_64-51'
Compiler: 'MSVC2022'
@@ -108,56 +137,14 @@ Configurations:
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
- Id: 'windows-10_22h2-msvc2019-developer-build'
- Template: 'qtci-windows-10_22H2-x86_64-51'
- Compiler: 'MSVC2019'
- Features: ['Sccache', "DebugAndRelease", 'WarningsAreErrors', 'UseConfigure']
- Configure arguments: '-debug-and-release -make examples -developer-build -force-debug-info -qt-zlib'
- Environment variables: [
- 'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DMySQL_ROOT={{.Env.ENV_MySQL_ROOT}} -DMySQL_LIBRARY_DIR={{.Env.ENV_MySQL_LIBRARY_DIR}}',
- 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE',
- 'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
- 'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
- ]
--
- Id: 'windows-10_22h2-msvc2019-arm64'
- Template: 'qtci-windows-10_22H2-x86_64-51'
- Compiler: 'MSVC2019'
- Target arch: 'arm64'
- Features: ['Sccache', 'DisableTests', 'TargetBuildOnly', 'Packaging', 'UseConfigure']
- Platform dependency: 'windows-10_22h2-msvc2019-developer-build'
- Environment variables: [
- 'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc',
- '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}}',
- 'OPENSSL_INCLUDE_x64={{.Env.OPENSSL_INCLUDE_x64_arm64}}',
- 'OPENSSL_LIB_x64={{.Env.OPENSSL_LIB_x64_arm64}}',
- 'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
- ]
--
- Id: 'windows-11_23H2-msvc2019-developer-build'
- Template: 'qtci-windows-11_23H2-x86_64-52'
- Compiler: 'MSVC2019'
- Features: ['Sccache', "DebugAndRelease", 'WarningsAreErrors', 'UseConfigure']
- Configure arguments: '-debug-and-release -make examples -developer-build -force-debug-info -qt-zlib'
- Environment variables: [
- 'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DMySQL_ROOT={{.Env.ENV_MySQL_ROOT}} -DMySQL_LIBRARY_DIR={{.Env.ENV_MySQL_LIBRARY_DIR}}',
- 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE',
- 'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
- 'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
- ]
--
- Id: 'windows-11_23H2-msvc2019-arm64'
- Template: 'qtci-windows-11_23H2-x86_64-52'
- Compiler: 'MSVC2019'
- Target arch: 'arm64'
- Features: ['Sccache', 'DisableTests', 'TargetBuildOnly', 'Packaging', 'UseConfigure']
- Platform dependency: 'windows-11_23H2-msvc2019-developer-build'
+ Id: 'windows-11_22h2-arm64-msvc2022'
+ Template: 'qtci-windows-11_22H2-aarch64-52'
+ Compiler: 'MSVC2022'
+ Features: ['Packaging', 'DebugAndRelease', 'UseConfigure', 'InsignificantTests']
+ Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -c++std c++20 -no-sql-psql -no-opengl'
Environment variables: [
- 'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc',
- 'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON',
- 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
+ 'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_arm64}}\..',
+ 'NON_QTBASE_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DFEATURE_qdoc=OFF',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
@@ -186,7 +173,7 @@ Configurations:
Template: 'qtci-linux-Debian-11.6-aarch64-50'
Compiler: 'GCC'
Features: ['Packaging', 'UseConfigure', 'InstallQt5Dependencies', 'DoNotRunTests']
- Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-doubleconversion -qt-harfbuzz -no-libudev -bundled-xcb-xinput'
+ Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-doubleconversion -qt-harfbuzz -no-libudev -bundled-xcb-xinput -qpa offscreen\;xcb'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
]
@@ -228,19 +215,6 @@ Configurations:
'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}',
]
-
- Id: 'windows-10_22h2-llvm'
- Template: 'qtci-windows-10_22H2-x86_64-51'
- Compiler: 'Clang'
- Features: ['Sccache', 'UseConfigure']
- Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
- Environment variables: [
- 'Path=C:\llvm-mingw\bin;{{.Env.Path}}',
- 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c -DMySQL_ROOT={{.Env.ENV_MySQL_ROOT}} -DMySQL_LIBRARY_DIR={{.Env.ENV_MySQL_LIBRARY_DIR}}',
- 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_LLVM_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
- 'LLVM_INSTALL_DIR=C:\llvm-mingw',
- 'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}',
- ]
--
Id: 'windows-11_23H2-llvm'
Template: 'qtci-windows-11_23H2-x86_64-52'
Compiler: 'Clang'
@@ -254,19 +228,6 @@ Configurations:
'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}',
]
-
- Id: 'windows-10_22h2-mingw13-developer-build'
- Template: 'qtci-windows-10_22H2-x86_64-51'
- Compiler: 'Mingw'
- Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure']
- Configure arguments: '-developer-build -release -force-debug-info -separate-debug-info -make examples'
- Environment variables: [
- 'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
- 'CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c -DMySQL_ROOT={{.Env.ENV_MySQL_ROOT}} -DMySQL_LIBRARY_DIR={{.Env.ENV_MySQL_LIBRARY_DIR}}',
- 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c -DFEATURE_native_grpc=OFF',
- 'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}',
- 'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}',
- ]
--
Id: 'windows-11_23H2-mingw13-developer-build'
Template: 'qtci-windows-11_23H2-x86_64-52'
Compiler: 'Mingw'
diff --git a/coin/platform_configs/cmake_platforms_qemu_vxworks.yaml b/coin/platform_configs/cmake_platforms_qemu_vxworks.yaml
index ddc033ad..319f6a34 100644
--- a/coin/platform_configs/cmake_platforms_qemu_vxworks.yaml
+++ b/coin/platform_configs/cmake_platforms_qemu_vxworks.yaml
@@ -8,7 +8,7 @@ Configurations:
Compiler: 'Clang'
Target compiler: 'Clang'
Platform dependency: 'ubuntu-22.04'
- Features: ['Packaging', 'VMSize8', 'UseConfigure', 'DisableTests']
+ Features: ['VMSize8', 'UseConfigure', 'DisableTests']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -developer-build -force-debug-info -qpa eglfs -nomake examples',
'TARGET_CMAKE_ARGS=-DBUILD_SHARED_LIBS=OFF -DWARNINGS_ARE_ERRORS=OFF -DCMAKE_TOOLCHAIN_FILE="{{.Env.WIND_CC_SYSROOT}}/mk/rtp.toolchain.cmake" -DFEATURE_vulkan=OFF -DQT_QMAKE_TARGET_MKSPEC=vxworks-clang -DQT_HOST_PATH=/home/qt/work/install -DCMAKE_AUTOGEN_VERBOSE=ON -DCMAKE_STAGING_PREFIX:PATH=/home/qt/work/install/target'
diff --git a/coin/platform_configs/cmake_platforms_target_android.yaml b/coin/platform_configs/cmake_platforms_target_android.yaml
index d10bff06..b3c940c2 100644
--- a/coin/platform_configs/cmake_platforms_target_android.yaml
+++ b/coin/platform_configs/cmake_platforms_target_android.yaml
@@ -32,7 +32,7 @@ Configurations:
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}'
]
-
- Id: 'android-8-x86-on-linux'
+ Id: 'android-9-x86-on-linux'
Template: 'qtci-linux-RHEL-8.8-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86'
@@ -45,7 +45,7 @@ Configurations:
'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}} -DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}',
- 'ANDROID_EMULATOR=emulator_x86_api_26'
+ 'ANDROID_EMULATOR=emulator_x86_api_28'
]
-
Id: 'android-14-x86_64-on-linux'
diff --git a/coin/platform_configs/default.yaml b/coin/platform_configs/default.yaml
index dff4c79e..082f9702 100644
--- a/coin/platform_configs/default.yaml
+++ b/coin/platform_configs/default.yaml
@@ -5,3 +5,8 @@ Configurations:
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
Compiler: 'GCC'
Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']
+-
+ Id: 'ubuntu-24.04-x64-license-check'
+ Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']
diff --git a/coin/platform_configs/linux_android_tests_developer.yaml b/coin/platform_configs/linux_android_tests_developer.yaml
index 045edd36..43115150 100644
--- a/coin/platform_configs/linux_android_tests_developer.yaml
+++ b/coin/platform_configs/linux_android_tests_developer.yaml
@@ -14,4 +14,4 @@ Configurations:
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF',
- 'ANDROID_EMULATOR=emulator_x86_api_26']
+ 'ANDROID_EMULATOR=emulator_x86_api_28']
diff --git a/coin/platform_configs/linux_android_tests_multi_abi.yaml b/coin/platform_configs/linux_android_tests_multi_abi.yaml
index b0443004..3477bce5 100644
--- a/coin/platform_configs/linux_android_tests_multi_abi.yaml
+++ b/coin/platform_configs/linux_android_tests_multi_abi.yaml
@@ -1,7 +1,7 @@
Version: 2
Configurations:
-
- Id: 'rhel_8.8_android_multi'
+ Id: 'android-9-multi-abi'
Template: 'qtci-linux-RHEL-8.8-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'multi'
@@ -9,7 +9,7 @@ Configurations:
Target compiler: 'Clang'
Platform dependency: [
'rhel-8.8',
- 'android-8-x86-on-linux',
+ 'android-9-x86-on-linux',
'android-14-x86_64-on-linux'
]
Features: [
@@ -21,8 +21,8 @@ Configurations:
]
Environment variables: [
'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-8.8',
- 'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-8-x86-on-linux',
+ 'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-9-x86-on-linux',
'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-14-x86_64-on-linux',
'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"',
- 'ANDROID_EMULATOR=emulator_x86_api_26'
+ 'ANDROID_EMULATOR=emulator_x86_api_28'
]
diff --git a/coin/platform_configs/macos.yaml b/coin/platform_configs/macos.yaml
index dc33e00e..76052c54 100644
--- a/coin/platform_configs/macos.yaml
+++ b/coin/platform_configs/macos.yaml
@@ -9,7 +9,7 @@ Configurations:
-
Id: 'macos-universal-on-x86_64'
- Template: 'qtci-macos-13-x86_64-103'
+ Template: 'qtci-macos-14-x86_64-105'
Compiler: 'Clang'
Target arch: 'x86_64-arm64'
Features: ['Packaging', 'Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
@@ -22,7 +22,7 @@ Configurations:
-
Id: 'macos-universal-on-arm64'
- Template: 'qtci-macos-13-arm64'
+ Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Target arch: 'x86_64-arm64'
Features: ['DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
@@ -65,12 +65,24 @@ Configurations:
Features: ['TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-x86_64'
-
+ Id: 'macos-12-arm64-tart-tests'
+ Template: 'qtci-macos-12-arm-102'
+ Compiler: 'Clang'
+ Features: ['TestOnly']
+ Platform dependency: 'macos-universal-on-x86_64'
+ -
Id: 'macos-13-arm64-tests'
Template: 'qtci-macos-13-arm64'
Compiler: 'Clang'
Features: ['TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-x86_64'
-
+ Id: 'macos-13-arm64-tart-tests'
+ Template: 'qtci-macos-13-arm-107'
+ Compiler: 'Clang'
+ Features: ['TestOnly']
+ Platform dependency: 'macos-universal-on-x86_64'
+ -
Id: 'macos-14-arm64-tests'
Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
@@ -86,6 +98,12 @@ Configurations:
Features: ['TestOnly']
Platform dependency: 'macos-universal-on-arm64'
-
+ Id: 'macos-12-arm-on-arm64-tart-tests'
+ Template: 'qtci-macos-12-arm-102'
+ Compiler: 'Clang'
+ Features: ['TestOnly']
+ Platform dependency: 'macos-universal-on-arm64'
+ -
Id: 'macos-12-arm-on-x86_64-tests'
Template: 'qtci-macos-12-x86_64-106'
Compiler: 'Clang'
@@ -111,8 +129,8 @@ Configurations:
# Build on recent macOS version with latest Xcode
-
- Id: 'macos-13-x86_64-developer-build'
- Template: 'qtci-macos-13-x86_64-103'
+ Id: 'macos-14-x86_64-developer-build'
+ Template: 'qtci-macos-14-x86_64-105'
Compiler: 'Clang'
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-developer-build -release -force-debug-info -no-pch -no-framework -qtnamespace TestNamespace -make examples'
@@ -122,8 +140,8 @@ Configurations:
'Protobuf_ROOT=/usr/local/lib/cmake/protobuf',
]
-
- Id: 'macos-13-arm64-developer-build'
- Template: 'qtci-macos-13-arm64'
+ Id: 'macos-14-arm64-developer-build'
+ Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Features: ['DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-developer-build -nomake examples -release -force-debug-info -separate-debug-info -framework'
@@ -139,16 +157,28 @@ Configurations:
Template: 'qtci-macos-12-arm64'
Compiler: 'Clang'
Features: ['TestOnly']
- Platform dependency: 'macos-13-arm64-developer-build'
+ Platform dependency: 'macos-14-arm64-developer-build'
+ -
+ Id: 'macos-12-arm64-tart-developer-build-tests'
+ Template: 'qtci-macos-12-arm-102'
+ Compiler: 'Clang'
+ Features: ['TestOnly']
+ Platform dependency: 'macos-14-arm64-developer-build'
-
Id: 'macos-13-arm64-developer-build-tests'
Template: 'qtci-macos-13-arm64'
Compiler: 'Clang'
Features: ['TestOnly']
- Platform dependency: 'macos-13-arm64-developer-build'
+ Platform dependency: 'macos-14-arm64-developer-build'
+ -
+ Id: 'macos-13-arm64-tart-developer-build-tests'
+ Template: 'qtci-macos-13-arm-107'
+ Compiler: 'Clang'
+ Features: ['TestOnly']
+ Platform dependency: 'macos-14-arm64-developer-build'
-
Id: 'macos-14-arm64-developer-build-tests'
Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Features: ['TestOnly']
- Platform dependency: 'macos-13-arm64-developer-build'
+ Platform dependency: 'macos-14-arm64-developer-build'
diff --git a/coin/platform_configs/nightly_ubuntu_20.04_c++17.yaml b/coin/platform_configs/nightly_ubuntu_20.04_c++17.yaml
index 6bbe3739..b9d8864e 100644
--- a/coin/platform_configs/nightly_ubuntu_20.04_c++17.yaml
+++ b/coin/platform_configs/nightly_ubuntu_20.04_c++17.yaml
@@ -6,7 +6,7 @@ Configurations:
Template: 'qtci-linux-Ubuntu-20.04-x86_64-50'
Compiler: 'GCC'
Features: ['Sccache', 'UseConfigure']
- Configure arguments: '-nomake examples -release -c++std c++17 -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
+ Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON'
diff --git a/coin/platform_configs/nightly_ubuntu_24_04_arm64_documentation.yaml b/coin/platform_configs/nightly_ubuntu_24_04_arm64_documentation.yaml
new file mode 100644
index 00000000..00113341
--- /dev/null
+++ b/coin/platform_configs/nightly_ubuntu_24_04_arm64_documentation.yaml
@@ -0,0 +1,22 @@
+Version: 2
+Configurations:
+# cmake_platforms.yaml
+# Build on Ubuntu 24.04 ARM64 Wayland and test on both offscreen and Wayland later
+-
+ Id: 'ubuntu-24.04-arm64-documentation'
+ Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
+ Compiler: 'GCC'
+ Features: ['Documentation', 'UseConfigure', 'DoNotRunTests']
+ Configure arguments: '-make examples -developer-build -c++std c++20 -linker gold -qtlibinfix TestInfix -qtnamespace TestNamespace'
+ Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}']
+# Test on Ubuntu 24.04 ARM64 offscreen
+-
+ Id: 'ubuntu-24.04-arm64-documentation-offscreen-tests'
+ Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
+ Compiler: 'GCC'
+ Features: ['TestDocs', 'TestOnly', 'InsignificantTests']
+ Environment variables: [
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
+ 'QT_QPA_PLATFORM=offscreen'
+ ]
+ Platform dependency: 'ubuntu-24.04-arm64-documentation'
diff --git a/coin/platform_configs/precheck.yaml b/coin/platform_configs/precheck.yaml
index 68d8f9b7..e7846ebb 100644
--- a/coin/platform_configs/precheck.yaml
+++ b/coin/platform_configs/precheck.yaml
@@ -9,7 +9,7 @@ Include: [
"ios-universal"
],
macos.yaml: [
- "macos-12-x86_64-tests",
+ "macos-14-x86_64-tests",
],
cmake_platforms_target_android.yaml: [
"android-arm64-on-macos"
diff --git a/coin/platform_configs/qt-creator.yaml b/coin/platform_configs/qt-creator.yaml
index d6a6a63f..e3357129 100644
--- a/coin/platform_configs/qt-creator.yaml
+++ b/coin/platform_configs/qt-creator.yaml
@@ -9,12 +9,12 @@ Configurations:
Environment variables: []
Environment script: ['%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
-
- Template: 'qtci-windows-10-x86-4'
+ Template: 'qtci-windows-10_22H2-x86_64-51'
Compiler: 'MSVC2019'
Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests']
Configure arguments: ''
Environment variables: []
- Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'x86']
+ Environment script: ['%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
-
Template: 'qtci-linux-RHEL-8.8-x86_64-50'
Compiler: 'GCC'
@@ -22,12 +22,6 @@ Configurations:
Configure arguments: ''
Environment variables: []
-
- Template: 'qtci-linux-RHEL-9.2-x86_64-51'
- Compiler: 'GCC'
- Features: ['Qt5', 'Sccache', 'DebugAndRelease']
- Configure arguments: ''
- Environment variables: []
--
Template: 'qtci-macos-12-x86_64-106'
Compiler: 'Clang'
Features: ['Packaging', 'Sccache', 'DebugAndRelease']
diff --git a/coin/platform_configs/qtsaferenderer-runtime.yaml b/coin/platform_configs/qtsaferenderer-runtime.yaml
index c413e5cb..a95c0295 100644
--- a/coin/platform_configs/qtsaferenderer-runtime.yaml
+++ b/coin/platform_configs/qtsaferenderer-runtime.yaml
@@ -26,6 +26,11 @@ Include: [
],
integrity.yaml: [
"integrity-arm64"
+ ],
+ cmake_platforms_qemu.yaml: [
+ "qemu-arm64-developer-build",
+ "qemu-armv7-developer-build",
+ "qemu-mips64-developer-build"
]
]
Configurations:
@@ -37,11 +42,9 @@ Configurations:
Compiler: 'GCC'
Platform dependency: 'ubuntu-22.04'
Features: ['UseConfigure', 'DoNotRunTests', 'DisableTests', 'Axivion_QSR']
- Configure arguments: '-nomake examples -release -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -no-warnings-are-errors -nomake examples -qt-harfbuzz -device linux-generic-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARM64_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd -qtlibinfix TestInfix',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARM64_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
- 'NON_QTBASE_TARGET_CMAKE_ARGS=-DINPUT_headersclean=ON',
'QT_YOCTO_ENVSETUP={{.Env.QEMUARM64_TOOLCHAIN_ENVSETUP}}',
"QT_CMAKE_DIR=/opt/cmake-3.27.7/bin",
'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}',
diff --git a/coin/platform_configs/qtwayland.yaml b/coin/platform_configs/qtwayland.yaml
index 52d13a7d..092de8bd 100644
--- a/coin/platform_configs/qtwayland.yaml
+++ b/coin/platform_configs/qtwayland.yaml
@@ -17,6 +17,26 @@ Configurations:
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly', 'RunDependencyTests', 'InsignificantTests']
Platform dependency: 'ubuntu-22.04'
+# Test on Ubuntu 24.04 ARM64 Wayland
+-
+ Id: 'ubuntu-24.04-arm64-wayland-tests'
+ Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
+ Compiler: 'GCC'
+ Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
+ Platform dependency: 'ubuntu-24.04-arm64'
+# Test on Ubuntu 24.04 x64 Wayland
+-
+ Id: 'ubuntu-24.04-x64-documentation-wayland-tests'
+ Template: 'qtci-linux-Ubuntu-24.04-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['TestOnly', 'RunDependencyTests', 'InsignificantTests']
+ Platform dependency: 'ubuntu-24.04-x64-documentation'
+-
+ 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'
# Test on Debian-11.6 Wayland
-
Id: 'debian-11.6-arm64-wayland-tests'
diff --git a/coin/platform_configs/tqtc-android-automotive.yaml b/coin/platform_configs/tqtc-android-automotive.yaml
index 2539bcb7..0f45f161 100644
--- a/coin/platform_configs/tqtc-android-automotive.yaml
+++ b/coin/platform_configs/tqtc-android-automotive.yaml
@@ -12,7 +12,7 @@ Include: [
cmake_platforms_target_android.yaml: [
'android-arm64-on-macos',
'android-armv7-on-windows',
- 'android-8-x86-on-linux',
+ 'android-9-x86-on-linux',
'android-14-x86_64-on-linux'
]
]
diff --git a/coin/pre-provisioning/qtci-linux-Ubuntu-24.04-aarch64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-Ubuntu-24.04-aarch64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..4b581d78
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-Ubuntu-24.04-aarch64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,60 @@
+### Ubuntu 24.04 ###
+Hard Disk: 1TB
+
+Language: English (United States)
+Time & Date: Etc/Coordinated Universal Time
+Software Selection: Desktop image, minimal install
+
+Language: English (US)
+Typing: English (US)
+Privacy: Location Services: OFF
+Connect Your Online Accounts: Skip
+
+
+# Configure Settings
+ Notifications:
+ * Notification Popups: OFF
+ * Lock Screen Notifications: OFF
+ Privacy:
+ * Screen Lock: OFF
+ * File History & Rubbish Bin:
+ * File History: Off
+ * Diagnostics:
+ * Send error reports to Canonical: Never
+ Power:
+ * Blank screen: Never
+ * Automatic suspend: Off
+ Appearance:
+ * Auto-hide the dock: Off
+ Devices:
+ * Displays: Resolution 1280 x 800 (found 1280 x 768)
+ Details:
+ * Time Zone: UTC
+ * run "sudo timedatectl set-timezone UTC"
+ * Users: Automatic login on
+
+ Software & Updates:
+ * Updates:
+ * Subscribed to: Security updates only
+ * Automatically check for updates: Never
+ * Notify me of a new Ubuntu version: Never
+
+# Add user to sudoers
+Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
+
+Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub (Now it's 1280x768 - is that OK?)
+run 'sudo grub-mkconfig'
+
+# Install ssh server
+run 'sudo apt install openssh-server'
+
+# Disable firewall
+run 'sudo ufw disable'
+
+# Fetch and run coin-setup (in Opennebula)
+Download http://coin/coin/binary/linux_arm64/coin-setup
+run 'chmod +x ./coin-setup' to make it executable
+run './coin-setup'
+
+Reboot
+
diff --git a/coin/pre-provisioning/qtci-linux-Ubuntu-24.04-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-Ubuntu-24.04-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..036b5041
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-Ubuntu-24.04-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,60 @@
+### Ubuntu 24.04 ###
+Hard Disk: 1TB
+
+Language: English (United States)
+Time & Date: Etc/Coordinated Universal Time
+Software Selection: Desktop image, minimal install
+
+Language: English (US)
+Typing: English (US)
+Privacy: Location Services: OFF
+Connect Your Online Accounts: Skip
+
+
+# Configure Settings
+ Notifications:
+ * Notification Popups: OFF
+ * Lock Screen Notifications: OFF
+ Privacy:
+ * Screen Lock: OFF
+ * File History & Rubbish Bin:
+ * File History: Off
+ * Diagnostics:
+ * Send error reports to Canonical: Never
+ Power:
+ * Blank screen: Never
+ * Automatic suspend: Off
+ Appearance:
+ * Auto-hide the dock: Off
+ Devices:
+ * Displays: Resolution 1280 x 800
+ Details:
+ * Time Zone: UTC
+ * run "sudo timedatectl set-timezone UTC"
+ * Users: Automatic login on
+
+ Software & Updates:
+ * Updates:
+ * Subscribed to: Security updates only
+ * Automatically check for updates: Never
+ * Notify me of a new Ubuntu version: Never
+
+# Add user to sudoers
+Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
+
+Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub
+run 'sudo grub-mkconfig'
+
+# Install ssh server
+run 'sudo apt install openssh-server'
+
+# Disable firewall
+run 'sudo ufw disable'
+
+# Fetch and run coin-setup (in Opennebula)
+Download http://coin/coin/binary/linux_amd64/coin-setup
+run 'chmod +x ./coin-setup' to make it executable
+run './coin-setup'
+
+Reboot
+
diff --git a/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-smart-app-control.ps1 b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-smart-app-control.ps1
new file mode 100644
index 00000000..27c7d078
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-smart-app-control.ps1
@@ -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
diff --git a/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..abd3954d
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,64 @@
+# 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
+* Resolution set to 1280x800
+ - Unfortunately not possible, only 1280x1024 is available
+* Coin-setup:
+ - 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
+ - Remove all Permissions: Permissions tab - Select 'Disable inheritance' - Remove all entries -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"'
+* Time:
+ - Settings - System - Date & time - Time zone: 'Co-ordinated 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 update2023-09 Cumulative Update for Windows 11 Version 22H2 for arm64-based Systems (KB5030219))
+ - After reboot disable windows updates:
+ - 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Services' - 'Windows updates' - stop & disable
+* Turn windows features on or off -> Check the "SMB 1.0/CIFS File Sharing Support"
+* (Restart Windows)
+* Google Chrome installed for RTA
+* Virus & threat protection settings:
+ * Check that there's no active antivirus providers
+* Activate Windows
+
+# Next
+Proceed to install pre-provisioning scripts manually to Tier1 image
diff --git a/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-clean-manager.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-clean-manager.ps1
new file mode 100644
index 00000000..45ce141f
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-clean-manager.ps1
@@ -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"
diff --git a/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-defragment.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-defragment.ps1
new file mode 100644
index 00000000..bb449e56
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-defragment.ps1
@@ -0,0 +1,42 @@
+# Copyright (C) 2019 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"
+}
diff --git a/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-ntp.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-ntp.ps1
new file mode 100644
index 00000000..22651763
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-ntp.ps1
@@ -0,0 +1,4 @@
+. "$PSScriptRoot\..\..\provisioning\common\windows\helpers.ps1"
+
+# Disable the NTP from syncing
+Run-Executable "w32tm.exe" "/config /syncfromflags:NO"
diff --git a/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-schedule-tasks.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-schedule-tasks.ps1
new file mode 100644
index 00000000..88b83879
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-schedule-tasks.ps1
@@ -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"
diff --git a/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-smart-app-control.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-smart-app-control.ps1
new file mode 100644
index 00000000..27c7d078
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-smart-app-control.ps1
@@ -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
diff --git a/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-update-orchestrator.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-update-orchestrator.ps1
new file mode 100644
index 00000000..72473d8f
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-update-orchestrator.ps1
@@ -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
diff --git a/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-windefender.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-windefender.ps1
new file mode 100644
index 00000000..17b30db0
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-windefender.ps1
@@ -0,0 +1,21 @@
+# Copyright (C) 2020 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"
diff --git a/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-windows-file-protector.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-windows-file-protector.ps1
new file mode 100644
index 00000000..f1d09fb5
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-windows-file-protector.ps1
@@ -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
diff --git a/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-windows-update-medic.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-windows-update-medic.ps1
new file mode 100644
index 00000000..6accbd3b
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-windows-update-medic.ps1
@@ -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")
diff --git a/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-windows-updates.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-windows-updates.ps1
new file mode 100644
index 00000000..62e19814
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/disable-windows-updates.ps1
@@ -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."
+}
diff --git a/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/msvc2022.txt b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/msvc2022.txt
new file mode 100644
index 00000000..9fd62d00
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-aarch64/msvc2022.txt
@@ -0,0 +1,74 @@
+### Visual Studio Professional 2022 Official release ###
+Visual Studio Professional 2022 version 17.3.5 was installed manually using installer: http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__msvc2022_1339502178.1525841376.exe
+Visual Studio Professional 2022 was updated to 17.8.2 vith Visual Studio Installer
+
+Installed MSVC-2022 Components:
+
+.NET Framework 4.6.1 SDK
+.NET Framework 4.6.1 targeting pack
+.NET Framework 4.6.2 SDK
+.NET Framework 4.6.2 targeting pack
+.NET Framework 4.8 SDK
+.NET Framework 4.8 targeting pack
+.NET Native
+.NET Portable Library targeting pack
+CLR data typer for SQL Sever
+Connectivity and publishing tools
+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.30-17.0)
+C++/CLI support for v143 build tools (Latest)
+MSBuild
+MSVC v143 - VS 2022 C++ ARM build tools (Latest)
+MSVC v143 - VS 2022 C++ ARM build tools (v14.30-17.0)
+MSVC v143 - VS 2022 C++ ARM64 build tools (Latest)
+MSVC v143 - VS 2022 C++ ARM64 build tools (v14.30-17.0)
+MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (Latest)
+.NET profiling tools
+C++ profiling tools
+JavaScript diagnostics
+Just-In-Time debugger
+C# and Visual Basic
+C++ core features
+JavaSript and TypeScript language support
+Razor Language Services
+Graphics debugger and GPU profiler for DirectX
+Image and 3D model editors
+C++ ATL for latest v143 build tools (ARM)
+C++ ATL for latest v143 build tools (ARM64)
+TypeScript 4.7 SDK
+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 Universal C Runtime
+
+# NOTE! Work loads were added during installation!
+
+############################################################
+### Visual Studio 2022 build tools ###
+
+ Visual studio 2022 build tools version 17.3.5 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_BuildTools_msvc2022.exe"
+ * Only default installation, no additional selections
+ Visual Studio 2022 build tools were updated to 17.6.4 vith Visual Studio Installer
+ * Some of the installed framework versions are out of support and do not get any security updates
+
+############################################################
+### Debugging tools ###
+
+* Check that debugging tools are installed
+ * Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
+############################################################
diff --git a/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-smart-app-control.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-smart-app-control.ps1
new file mode 100644
index 00000000..27c7d078
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-smart-app-control.ps1
@@ -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
diff --git a/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-smart-app-control.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-smart-app-control.ps1
new file mode 100644
index 00000000..27c7d078
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-smart-app-control.ps1
@@ -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
diff --git a/coin/provisioning/common/linux/android/gradle_project/app/build.gradle b/coin/provisioning/common/linux/android/gradle_project/app/build.gradle
index 745c08f8..7f6b66ac 100644
--- a/coin/provisioning/common/linux/android/gradle_project/app/build.gradle
+++ b/coin/provisioning/common/linux/android/gradle_project/app/build.gradle
@@ -8,7 +8,7 @@ android {
defaultConfig {
applicationId "com.example.gradle_project"
- minSdk 23
+ minSdk 28
targetSdk 34
versionCode 1
versionName "1.0"
@@ -21,6 +21,7 @@ android {
}
dependencies {
+ implementation libs.core
implementation libs.appcompat
implementation libs.material
}
diff --git a/coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml b/coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml
index 65bc49af..85d2f8de 100644
--- a/coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml
+++ b/coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml
@@ -1,10 +1,12 @@
[versions]
-agp = "7.4.1"
+agp = "8.4.0"
+core = "1.13.1"
appcompat = "1.6.1"
material = "1.11.0"
constraintlayout = "2.1.4"
[libraries]
+core = { group = 'androidx.core', name = "core", version.ref = "core" }
appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh
index 587eb027..fbdb75cf 100755
--- a/coin/provisioning/common/linux/android_linux.sh
+++ b/coin/provisioning/common/linux/android_linux.sh
@@ -125,7 +125,7 @@ SetEnvVar "ANDROID_NDK_HOST" "linux-x86_64"
SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
# shellcheck disable=SC2129
-cat <<EOB >>~/versions.txt
+cat >>~/versions.txt <<EOB
Android SDK tools = $toolsVersion
Android SDK Build Tools = $sdkBuildToolsVersion
Android SDK API level = $sdkApiLevel
@@ -147,7 +147,7 @@ echo "Unzipping the Android Emulator to '$sdkTargetFolder'"
sudo unzip -o -q "$emulatorTargetFile" -d "$sdkTargetFolder"
rm "$emulatorTargetFile"
-echo "y" | ./sdkmanager --install "system-images;android-26;google_apis;x86" \
+echo "y" | ./sdkmanager --install "system-images;android-28;google_apis;x86" \
| eval "$sdkmanager_no_progress_bar_cmd"
echo "Extract stored Android 14 Beta $android14SystemZipName"
@@ -158,8 +158,8 @@ sudo tar -xzf "/tmp/$android14SystemZipName" -C "$sdkTargetFolder/system-images"
echo "Checking the contents of Android SDK again..."
ls -l "$sdkTargetFolder"
-echo "no" | ./avdmanager create avd -n emulator_x86_api_26 -c 2048M -f \
- -k "system-images;android-26;google_apis;x86"
+echo "no" | ./avdmanager create avd -n emulator_x86_api_28 -c 2048M -f \
+ -k "system-images;android-28;google_apis;x86"
echo "no" | ./avdmanager create avd -n emulator_x86_64_api_34 -c 2048M -f \
-k "system-images;android-34;google_apis;x86_64"
@@ -193,7 +193,7 @@ cp -r "${scripts_dir_name}/android/gradle_project" /tmp/gradle_project
cd /tmp/gradle_project
# Get Gradle files from qtbase
qtbaseGradleUrl="https://code.qt.io/cgit/qt/qtbase.git/plain/src/3rdparty/gradle"
-commit_sha="0d91cc866f2799d56911bcdadabebb137eafcea8"
+commit_sha="f22e9795d9a32fc4e9f4d6f2a70c2f831028342b"
curl "$qtbaseGradleUrl/gradle.properties?h=$commit_sha" > gradle.properties
curl "$qtbaseGradleUrl/gradlew?h=$commit_sha" > gradlew
curl "$qtbaseGradleUrl/gradlew.bat?h=$commit_sha" > gradlew.bat
diff --git a/coin/provisioning/common/linux/fix-bwrap-apparmor.sh b/coin/provisioning/common/linux/fix-bwrap-apparmor.sh
new file mode 100644
index 00000000..4c8b68f9
--- /dev/null
+++ b/coin/provisioning/common/linux/fix-bwrap-apparmor.sh
@@ -0,0 +1,21 @@
+#!/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
+
+# See https://ubuntu.com/blog/ubuntu-23-10-restricted-unprivileged-user-namespaces
+# and https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/2046844/comments/89
+sudo bash -c 'cat > /etc/apparmor.d/bwrap' << EOF
+# This profile allows everything and only exists to give the
+# application a name instead of having the label "unconfined"
+
+abi <abi/4.0>,
+include <tunables/global>
+
+profile bwrap /usr/bin/bwrap flags=(unconfined) {
+ userns,
+
+ # Site-specific additions and overrides. See local/README for details.
+ include if exists <local/bwrap>
+}
+EOF
+
diff --git a/coin/provisioning/common/linux/qnx_710.sh b/coin/provisioning/common/linux/qnx_710.sh
index 7afefb42..41d2d103 100755
--- a/coin/provisioning/common/linux/qnx_710.sh
+++ b/coin/provisioning/common/linux/qnx_710.sh
@@ -43,9 +43,9 @@ if [ ! -d "$targetFolder" ]; then
fi
# QNX SDP
-sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx710-windows-linux-20220405.tar.xz"
+sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx710-windows-linux-20240417.tar.xz"
targetFile="qnx710.tar.xz"
-sha1="134af2e0f75d7b7c516f824fafee265b89e51d48"
+sha1="cd2d35004fb2798089e29d9e1226691426632da0"
DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetFolder"
sudo cp "$aarch64le_toolchain" "$targetPath"
diff --git a/coin/provisioning/common/linux/qnx_800.sh b/coin/provisioning/common/linux/qnx_800.sh
new file mode 100755
index 00000000..52545d41
--- /dev/null
+++ b/coin/provisioning/common/linux/qnx_800.sh
@@ -0,0 +1,85 @@
+#!/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
+
+# This script installs QNX 8.
+
+set -ex
+
+# shellcheck source=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+
+DownloadAndExtract () {
+ url=$1
+ sha=$2
+ file=$3
+ folder=$4
+
+ DownloadURL "$url" "$url" "$sha" "$file"
+ sudo tar -C "$folder" -Jxf "$file"
+
+ rm -rf "$file"
+}
+
+aarch64le_toolchain="${BASH_SOURCE%/*}/../shared/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake"
+armv7le_toolchain="${BASH_SOURCE%/*}/../shared/cmake_toolchain_files/qnx-toolchain-armv7le.cmake"
+x8664_toolchain="${BASH_SOURCE%/*}/../shared/cmake_toolchain_files/qnx-toolchain-x8664.cmake"
+QNX_qemu_bld_files_dir="${BASH_SOURCE%/*}/qnx_qemu_build_files/"
+
+targetFolder="/opt/"
+folderName="qnx800"
+targetPath="$targetFolder$folderName"
+qemuTargetPath="$HOME/QNX"
+qemuIpAddress="172.31.1.10"
+export qemuNetwork="172.31.1.1"
+qemuSSHuser="root"
+qemuSSHurl="$qemuSSHuser@$qemuIpAddress"
+qemuLDpath="/proc/boot:/system/lib:/system/lib/dll:/home/qt/work/install/target/lib"
+
+if [ ! -d "$targetFolder" ]; then
+ mkdir -p "$targetFolder"
+fi
+
+# QNX SDP
+sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx800-linux-20240510.tar.xz"
+targetFile="qnx800.tar.xz"
+sha1="93245a5bc11b88563328f0763573942fd25b5e18"
+DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetFolder"
+
+sudo cp "$aarch64le_toolchain" "$targetPath"
+sudo cp "$armv7le_toolchain" "$targetPath"
+sudo cp "$x8664_toolchain" "$targetPath"
+cp -R "$QNX_qemu_bld_files_dir" "$qemuTargetPath"
+# fc-match tool is missing from QNX SDP and tst_qfont requires it to work corretly
+# Download code-only package from https://www.iana.org/time-zones and follow README
+# to build tools for QNX x86_64. If need to build new tool create new qnx_qemu_utils
+# package which contains it and update required info below
+sourceFile="http://ci-files01-hki.ci.qt.io/input/qnx/qnx_qemu_utils_20211208.tar.xz"
+targetFile="qnx_qemu_utils.tar.xz"
+targetFolder="$qemuTargetPath/local/misc_files"
+sha1="7653f5d50f61f1591d7785c3ec261228ecc9dd22"
+
+mkdir -p "$targetFolder"
+
+DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$targetFolder"
+
+# Add ssl certificates. Expects Ubuntu 22.04 LTS with ca-certificates package installed
+cp -R /usr/share/ca-certificates "$targetFolder"
+mkdir -p "$targetFolder/etc/ssl/certs"
+cp -PR /etc/ssl/certs/* "$targetFolder/etc/ssl/certs"
+
+sudo chown -R qt:users "$targetPath"
+
+# Verify that we have last files in tars
+if [ ! -f "$targetPath/qnxsdp-env.sh" ] || [ ! -f "$targetPath/qnx-toolchain-x8664.cmake" ]
+then
+ echo "QNX toolchain installation failed!"
+ exit 1
+fi
+
+# Set env variables
+SetEnvVar "QNX_800" "$targetPath"
+
+echo "QNX SDP = 8.0.0" >> ~/versions.txt
diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/system_files.custom b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/system_files.custom
index da00c4e9..37cbd96d 100644
--- a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/system_files.custom
+++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/system_files.custom
@@ -21,7 +21,7 @@ lib/libGLESv2.so.1=usr/lib/libGLESv2.so.1
lib/libEGL.so.1=usr/lib/libEGL.so.1
lib/libz.so.2=usr/lib/libz.so.2
lib/libxml2.so.2=usr/lib/libxml2.so.2
-lib/libfreetype.so.23=usr/lib/libfreetype.so.23
+lib/libfreetype.so.24=usr/lib/libfreetype.so.24
lib/libbz2.so.1=usr/lib/libbz2.so.1
lib/liblzma.so.5=usr/lib/liblzma.so.5
lib/libbacktrace.so.1=usr/lib/libbacktrace.so.1
diff --git a/coin/provisioning/common/macos/python3.sh b/coin/provisioning/common/macos/python3.sh
index 925a4925..1a8809d6 100755
--- a/coin/provisioning/common/macos/python3.sh
+++ b/coin/provisioning/common/macos/python3.sh
@@ -12,25 +12,23 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
# shellcheck source=./pip.sh
source "${BASH_SOURCE%/*}/pip.sh"
-PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/python-3.9.6-macos11.pkg"
-AltUrl="https://www.python.org/ftp/python/3.9.6/python-3.9.6-macos11.pkg"
-SHA1="2af5277c2e197719eb4b820430dee5d89e2577b6"
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/python-3.11.9-macos11.pkg"
+AltUrl="https://www.python.org/ftp/python/3.11.9/python-3.11.9-macos11.pkg"
+SHA1="d156e22e4f8902c0ebdf466a3a01832e0f0a85d8"
DestDir="/"
InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
-InstallPip python3.9
-
echo "Configure pip"
-/Library/Frameworks/Python.framework/Versions/3.9/bin/pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
-/Library/Frameworks/Python.framework/Versions/3.9/bin/pip config --user set global.extra-index-url https://pypi.org/simple/
+/Library/Frameworks/Python.framework/Versions/3.11/bin/pip3 config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
+/Library/Frameworks/Python.framework/Versions/3.11/bin/pip3 config --user set global.extra-index-url https://pypi.org/simple/
-/Library/Frameworks/Python.framework/Versions/3.9/bin/pip3 install virtualenv wheel html5lib
+/Library/Frameworks/Python.framework/Versions/3.11/bin/pip3 install virtualenv wheel html5lib
-SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.9/bin"
-SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.9/bin"
+SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.11/bin"
+SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.11/bin"
# Install Python certificates. Required at least for emsdk installation
-open /Applications/Python\ 3.9/Install\ Certificates.command
+open /Applications/Python\ 3.11/Install\ Certificates.command
-echo "python3 = 3.9.6" >> ~/versions.txt
+echo "python3 = 3.11.9" >> ~/versions.txt
diff --git a/coin/provisioning/common/unix/install-conan.sh b/coin/provisioning/common/unix/install-conan.sh
index 8fc83090..e48a5bdd 100755
--- a/coin/provisioning/common/unix/install-conan.sh
+++ b/coin/provisioning/common/unix/install-conan.sh
@@ -9,9 +9,10 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
# Note! Python3 is required for Conan installation
os="$1"
+params="$2"
# Install Conan to Python user install directory (typically ~./local/)
-pip3 install conan --user
+pip3 install conan --user $params
SetEnvVar "CONAN_REVISIONS_ENABLED" "1"
SetEnvVar "CONAN_V2_MODE" "1"
diff --git a/coin/provisioning/common/unix/install_protobuf.sh b/coin/provisioning/common/unix/install_protobuf.sh
index 7ace4eae..110d8b9c 100755
--- a/coin/provisioning/common/unix/install_protobuf.sh
+++ b/coin/provisioning/common/unix/install_protobuf.sh
@@ -31,6 +31,36 @@ DownloadURL "$internalUrl" "$externalUrl" "$sha1" "$targetFile"
unzip "$targetFile" -d "$HOME"
sudo rm "$targetFile"
+cd $targetDir
+
+if uname -a |grep -q "Ubuntu"; then
+ echo 'diff --git a/cmake/conformance.cmake b/cmake/conformance.cmake
+index d6c435ac3..d6fb3a7df 100644
+--- a/cmake/conformance.cmake
++++ b/cmake/conformance.cmake
+@@ -24,6 +24,8 @@ add_executable(conformance_test_runner
+ ${protobuf_SOURCE_DIR}/conformance/conformance.pb.cc
+ ${protobuf_SOURCE_DIR}/conformance/conformance_test.cc
+ ${protobuf_SOURCE_DIR}/conformance/conformance_test_runner.cc
++ ${protobuf_SOURCE_DIR}/conformance/conformance_test_main.cc
++ ${protobuf_SOURCE_DIR}/conformance/text_format_conformance_suite.cc
+ ${protobuf_SOURCE_DIR}/conformance/third_party/jsoncpp/json.h
+ ${protobuf_SOURCE_DIR}/conformance/third_party/jsoncpp/jsoncpp.cpp
+ ${protobuf_SOURCE_DIR}/src/google/protobuf/test_messages_proto2.pb.cc
+@@ -36,6 +38,10 @@ add_executable(conformance_cpp
+ ${protobuf_SOURCE_DIR}/src/google/protobuf/test_messages_proto2.pb.cc
+ ${protobuf_SOURCE_DIR}/src/google/protobuf/test_messages_proto3.pb.cc
+ )
++install(TARGETS conformance_test_runner
++ RUNTIME DESTINATION COMPONENT conformance
++ LIBRARY DESTINATION COMPONENT conformance
++ ARCHIVE DESTINATION COMPONENT conformance)
+
+ target_include_directories(
+ conformance_test_runner' | patch -p1
+ extraCMakeArgs=("-Dprotobuf_BUILD_CONFORMANCE=ON")
+fi
+
# devtoolset is needed when running configuration
if uname -a |grep -qv "Darwin"; then
export PATH="/opt/rh/devtoolset-7/root/usr/bin:$PATH"
diff --git a/coin/provisioning/common/windows/cmake.ps1 b/coin/provisioning/common/windows/cmake.ps1
index d2ed4cc8..af1e2872 100644
--- a/coin/provisioning/common/windows/cmake.ps1
+++ b/coin/provisioning/common/windows/cmake.ps1
@@ -6,18 +6,40 @@
$majorminorversion = "3.27"
$version = "3.27.7"
-$zip = Get-DownloadLocation ("cmake-" + $version + "-windows-i386.zip")
-$officialurl = "https://cmake.org/files/v" + $majorminorversion + "/cmake-" + $version + "-windows-i386.zip"
-$cachedurl = "\\ci-files01-hki.ci.qt.io\provisioning\cmake\cmake-" + $version + "-windows-i386.zip"
+$cpu_arch = Get-CpuArchitecture
+Write-Host "Installing CMake for architecture $cpu_arch"
+switch ($cpu_arch) {
+ arm64 {
+ $arch = "arm64"
+ $sha1 = "52ee08671dcb478c5ec6e862f41717f65047c598"
+ $majorminorversion = "3.29"
+ $version = "3.29.2"
+ Break
+ }
+ x64 {
+ $arch = "i386"
+ $sha1 = "b6147215a5f9cd1138b012265229fbf2224d02c6"
+ }
+ default {
+ throw "Unknown architecture $cpu_arch"
+ }
+}
+
+$filename = "cmake-" + $version + "-windows-" + $arch
+$filename_zip = $filename + ".zip"
+
+$zip = Get-DownloadLocation ($filename_zip)
+$officialurl = "https://cmake.org/files/v" + $majorminorversion + "/" + $filename_zip
+$cachedurl = "https://ci-files01-hki.ci.qt.io/input/cmake/" + $filename_zip
Write-Host "Removing old cmake"
Remove "C:\CMake"
Download $officialurl $cachedurl $zip
-Verify-Checksum $zip "b6147215a5f9cd1138b012265229fbf2224d02c6"
+Verify-Checksum $zip $sha1
Extract-7Zip $zip C:
-$defaultinstallfolder = "C:\cmake-" + $version + "-windows-i386"
+$defaultinstallfolder = "C:\" + $filename
Rename-Item $defaultinstallfolder C:\CMake
Add-Path "C:\CMake\bin"
diff --git a/coin/provisioning/common/windows/disable-windows-module-installer.ps1 b/coin/provisioning/common/windows/disable-windows-module-installer.ps1
index c7f85ff7..2d829b04 100644
--- a/coin/provisioning/common/windows/disable-windows-module-installer.ps1
+++ b/coin/provisioning/common/windows/disable-windows-module-installer.ps1
@@ -1,4 +1,6 @@
+. "$PSScriptRoot\helpers.ps1"
+
# Disable Windows Module Installer (Trusted Installer).
# Trusted Installe enables installation, modification, and removal of Windows updates and optional components.
# If this service is disabled, install or uninstall of Windows updates might fail for this computer.
-sc.exe config TrustedInstaller start=disabled
+Run-Executable "sc.exe" "config TrustedInstaller start=disabled"
diff --git a/coin/provisioning/common/windows/exceutequeueditems.ps1 b/coin/provisioning/common/windows/exceutequeueditems.ps1
index 28ed007f..0d6a7267 100644
--- a/coin/provisioning/common/windows/exceutequeueditems.ps1
+++ b/coin/provisioning/common/windows/exceutequeueditems.ps1
@@ -2,8 +2,29 @@
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
. "$PSScriptRoot\helpers.ps1"
-Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait
+function ngen() {
+ Param (
+ [ValidateSet("Framework","Framework64","FrameworkArm64")][string]$framework
+ )
+ Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\$framework\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait
+}
-if( (is64bitWinHost) -eq 1 ) {
- Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\Framework64\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait
+$cpu_arch = Get-CpuArchitecture
+switch ($cpu_arch) {
+ arm64 {
+ ngen("FrameworkArm64")
+ Break
+ }
+ x64 {
+ ngen("Framework")
+ ngen("Framework64")
+ Break
+ }
+ x86 {
+ ngen("Framework")
+ Break
+ }
+ default {
+ throw "Unknown architecture $cpu_arch"
+ }
}
diff --git a/coin/provisioning/common/windows/git_usr_bin_to_path.ps1 b/coin/provisioning/common/windows/git_usr_bin_to_path.ps1
deleted file mode 100644
index 14333bd7..00000000
--- a/coin/provisioning/common/windows/git_usr_bin_to_path.ps1
+++ /dev/null
@@ -1,6 +0,0 @@
-$existingPath = [System.Environment]::GetEnvironmentVariable("PATH", [System.EnvironmentVariableTarget]::Machine)
-if ($existingPath -notlike "*C:\Program Files\Git\usr\bin*") {
- $newPath = $existingPath + ";C:\Program Files\Git\usr\bin"
- [System.Environment]::SetEnvironmentVariable("PATH", $newPath, [System.EnvironmentVariableTarget]::Machine)
- Write-Host "Added C:\Program Files\Git\usr\bin to PATH."
-}
diff --git a/coin/provisioning/common/windows/helpers.ps1 b/coin/provisioning/common/windows/helpers.ps1
index 9fbf27aa..ad01c499 100644
--- a/coin/provisioning/common/windows/helpers.ps1
+++ b/coin/provisioning/common/windows/helpers.ps1
@@ -297,13 +297,52 @@ function DeleteSchedulerTask {
SCHTASKS /DELETE /TN "Microsoft\Windows\$Task" /F
}
-function GetVSPath {
+function GetVsProperty {
Param (
- [string]$VSWhere = "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe",
- [string]$Component = "Microsoft.VisualStudio.Component.VC.Tools.x86.x64"
+ [string]$Component = 'Microsoft.VisualStudio.Component.VC.CoreIde',
+ [string]$Property,
+ [switch]$Latest
)
- return (& $VSWhere -nologo -latest -products * -requires $Component -property installationPath)
+ $vsWhereProcessInfo = New-Object System.Diagnostics.ProcessStartInfo
+ $vsWhereProcessInfo.FileName = "${Env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
+ $vsWhereProcessInfo.RedirectStandardError = $true
+ $vsWhereProcessInfo.RedirectStandardOutput = $true
+ $vsWhereProcessInfo.UseShellExecute = $false
+
+ # -sort: sorts the instances from newest version and last installed to oldest
+ $vsWhereProcessInfo.Arguments = " -nologo -sort -products * -requires $Component -property $Property"
+ if ($Latest) {
+ # -latest: return only the newest version and last installed
+ $vsWhereProcessInfo.Arguments += ' -latest'
+ }
+
+ $vsWhereProcess = New-Object System.Diagnostics.Process
+ $vsWhereProcess.StartInfo = $vsWhereProcessInfo
+
+ $vsWhereProcess.Start() | Out-Null
+ $vsWhereProcess.WaitForExit()
+
+ $standardOutput = $vsWhereProcess.StandardOutput.ReadToEnd()
+ if ([string]::IsNullOrEmpty($standardOutput)) {
+ throw "vswhere could not find property '$Property'"
+ }
+
+ $exitCode = $vsWhereProcess.ExitCode
+ if ($exitCode -ne 0) {
+ $standardError = $vsWhereProcess.StandardError.ReadToEnd()
+ throw "vswhere failed with exit code $exitCode ($standardError)"
+ }
+
+ return $standardOutput.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries) | Select-Object -Last 1
+}
+
+function GetVsInstallationPath {
+ Param (
+ [switch]$Latest
+ )
+
+ return GetVsProperty -Property 'installationPath' @PSBoundParameters
}
function EnterVSDevShell {
@@ -312,13 +351,11 @@ function EnterVSDevShell {
[string]$Arch = "amd64"
)
- $vsWere = "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe"
- $vcComponent = "Microsoft.VisualStudio.Component.VC.CoreIde"
# We pick the oldest build tools we can find and use that to be compatible with it and any newer version:
# If MSVC has an ABI break this will stop working, and yet another build must be added.
- $VSPath = (& $vsWere -nologo -products * -requires $vcComponent -sort -format value -property installationPath | Select-Object -Last 1)
+ $VSPath = GetVsInstallationPath
- Write-Host "Enter VisualStudio developer shell (-host_arch=$HostArch -arch=$Arch)"
+ 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"
diff --git a/coin/provisioning/common/windows/install-dependencywalker.ps1 b/coin/provisioning/common/windows/install-dependencywalker.ps1
index abaa4d79..3d541f4f 100644
--- a/coin/provisioning/common/windows/install-dependencywalker.ps1
+++ b/coin/provisioning/common/windows/install-dependencywalker.ps1
@@ -6,12 +6,28 @@
# This script will install Dependency Walker 2.2.6000
$version = "2.2.6000"
-if (Is64BitWinHost) {
- $arch = "_x64"
- $sha1 = "4831D2A8376D64110FF9CD18799FE6C69509D3EA"
-} else {
- $arch = "_x86"
- $sha1 = "bfec714057e8449b0246051be99ba46a7760bab9"
+$cpu_arch = Get-CpuArchitecture
+switch ($cpu_arch) {
+ x64 {
+ $arch = "_x64"
+ $sha1 = "4831D2A8376D64110FF9CD18799FE6C69509D3EA"
+ $nuitka_arch = "x86_64"
+ }
+ arm64 {
+ # There is no ARM64 version of Dependency Walker
+ # just use the x64 version
+ $arch = "_x64"
+ $sha1 = "4831D2A8376D64110FF9CD18799FE6C69509D3EA"
+ $nuitka_arch = "arm64"
+ }
+ x86 {
+ $arch = "_x86"
+ $sha1 = "bfec714057e8449b0246051be99ba46a7760bab9"
+ $nuitka_arch = "x86"
+ }
+ default {
+ throw "Unknown architecture $cpu_arch"
+ }
}
$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\depends22" + $arch + ".zip"
$url_official = "http://www.dependencywalker.com/depends22" + $arch + ".zip"
@@ -28,7 +44,7 @@ Extract-7Zip $dependsPackage $TARGETDIR
# Copy the content also into the cache location of nuitka
# This makes it usable without the need to download it again
-Copy-Item -Path $TARGETDIR -Destination "$env:LOCALAPPDATA\Nuitka\Nuitka\Cache\downloads\depends\x86_64" -Recurse
+Copy-Item -Path $TARGETDIR -Destination "$env:LOCALAPPDATA\Nuitka\Nuitka\Cache\downloads\depends\$nuitka_arch" -Recurse
Write-Host "Cleaning $dependsPackage.."
Remove "$dependsPackage"
diff --git a/coin/provisioning/common/windows/install-ffmpeg.ps1 b/coin/provisioning/common/windows/install-ffmpeg.ps1
index b806f58d..f8ad9f15 100644
--- a/coin/provisioning/common/windows/install-ffmpeg.ps1
+++ b/coin/provisioning/common/windows/install-ffmpeg.ps1
@@ -25,7 +25,6 @@ Remove $download_location
$config = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt"
Write-Host "FFmpeg configuration $config"
-
function InstallFfmpeg {
Param (
[string]$buildSystem,
diff --git a/coin/provisioning/common/windows/install-notepad++.ps1 b/coin/provisioning/common/windows/install-notepad++.ps1
index f0648d41..17e86d27 100644
--- a/coin/provisioning/common/windows/install-notepad++.ps1
+++ b/coin/provisioning/common/windows/install-notepad++.ps1
@@ -5,16 +5,33 @@
# This script will install Notepad++
-$version = "7.3"
-if (Is64BitWinHost) {
- $arch = ".x64"
- $sha1 = "E7306DF1D6E81801FB4BE0868610DB70E979B0AA"
-} else {
- $arch = ""
- $sha1 = "d4c403675a21cc381f640b92e596bae3ef958dc6"
+$version = "8.6.5"
+
+$cpu_arch = Get-CpuArchitecture
+switch ($cpu_arch) {
+ arm64 {
+ $arch = ".arm64"
+ $sha1 = "eecb8a6b6ed3cb1e467d227b8b7751283c35434e"
+ Break
+ }
+ x64 {
+ $arch = ".x64"
+ $sha1 = "a0bf3fb15015bc1fbcb819d9a9c61f4762f4a10f"
+ Break
+ }
+ x86 {
+ $arch = ""
+ $sha1 = "ba940c6b526da1ce127f43b835b4d8c9d5c4b59c"
+ Break
+ }
+ default {
+ throw "Unknown architecture $cpu_arch"
+ }
}
-$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\npp." + $version + ".Installer" + $arch + ".exe"
-$url_official = "https://notepad-plus-plus.org/repository/7.x/" + $version + "/npp." + $version + ".Installer" + $arch + ".exe"
+
+$filename_exe = "npp." + $version + ".Installer" + $arch + ".exe"
+$url_cache = "https://ci-files01-hki.ci.qt.io/input/windows/" + $filename_exe
+$url_official = "https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v" + $version + "/" + $filename_exe
$nppPackage = "C:\Windows\Temp\npp-$version.exe"
Download $url_official $url_cache $nppPackage
diff --git a/coin/provisioning/common/windows/install-openssh.ps1 b/coin/provisioning/common/windows/install-openssh.ps1
index d31270e0..1f746b14 100644
--- a/coin/provisioning/common/windows/install-openssh.ps1
+++ b/coin/provisioning/common/windows/install-openssh.ps1
@@ -7,19 +7,31 @@
$version = "v9.2.2.0p1-Beta"
$temp = "$env:tmp"
-if (Is64BitWinHost) {
- $zipPackage = "OpenSSH-Win64"
- $url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/" + $zipPackage + ".zip"
- $url_official = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/" + $version + "/" + $zipPackage
- $sha1 = "D3EA57408C0D3CF83167DF39639FED5397358B79"
-} else {
- $zipPackage = "OpenSSH-Win32"
- $url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/openssh/" + $version + "/" + $zipPackage + ".zip"
- $url_official = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/" + $version + "/" + $zipPackage
- $sha1 = "4642C62F72C108C411E27CE282A863791B63329B"
+$cpu_arch = Get-CpuArchitecture
+switch ($cpu_arch) {
+ arm64 {
+ $zipPackage = "OpenSSH-ARM64"
+ $sha1 = "ca3e8f44a550b7ae71c8e122acd4ed905d66feb0"
+ Break
+ }
+ x64 {
+ $zipPackage = "OpenSSH-Win64"
+ $sha1 = "1397d40d789ae0911b3cc818b9dcd9321fed529b"
+ Break
+ }
+ x86 {
+ $zipPackage = "OpenSSH-Win32"
+ $sha1 = "4642C62F72C108C411E27CE282A863791B63329B"
+ Break
+ }
+ default {
+ throw "Unknown architecture $cpu_arch"
+ }
}
Write-Host "Fetching $zipPackage $version..."
+$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/openssh/" + $version + "/" + $zipPackage + ".zip"
+$url_official = "https://github.com/PowerShell/Win32-OpenSSH/releases/download/" + $version + "/" + $zipPackage + ".zip"
Download $url_official $url_cache "$temp\$zipPackage"
Verify-Checksum "$temp\$zipPackage" $sha1
diff --git a/coin/provisioning/common/windows/install-sevenzip.ps1 b/coin/provisioning/common/windows/install-sevenzip.ps1
index a0d44390..47a34e2b 100644
--- a/coin/provisioning/common/windows/install-sevenzip.ps1
+++ b/coin/provisioning/common/windows/install-sevenzip.ps1
@@ -8,12 +8,26 @@
$version = "23.01"
$nonDottedVersion = "2301"
-if (Is64BitWinHost) {
- $arch = "-x64"
- $sha1 = "7DF28D340D7084647921CC25A8C2068BB192BDBB"
-} else {
- $arch = ""
- $sha1 = "D5D00E6EA8B8E68CE7A704FD478DC950E543C25C"
+$cpu_arch = Get-CpuArchitecture
+switch ($cpu_arch) {
+ arm64 {
+ $arch = "-arm64"
+ $sha1 = "be65c2ea6119c04945c66b13413892f2bb03d9a7"
+ Break
+ }
+ x64 {
+ $arch = "-x64"
+ $sha1 = "7DF28D340D7084647921CC25A8C2068BB192BDBB"
+ Break
+ }
+ x86 {
+ $arch = ""
+ $sha1 = "D5D00E6EA8B8E68CE7A704FD478DC950E543C25C"
+ Break
+ }
+ default {
+ throw "Unknown architecture $cpu_arch"
+ }
}
$url_cache = "https://ci-files01-hki.ci.qt.io/input/windows/7z" + $nonDottedVersion + $arch + ".exe"
diff --git a/coin/provisioning/common/windows/install_telegraf.ps1 b/coin/provisioning/common/windows/install_telegraf.ps1
index d7d339ed..3090a25e 100644
--- a/coin/provisioning/common/windows/install_telegraf.ps1
+++ b/coin/provisioning/common/windows/install_telegraf.ps1
@@ -7,28 +7,53 @@
# Install a specific version of Telegraf
# https://github.com/influxdata/telegraf/releases
-$version = "1.12.6"
-
-if (Is64BitWinHost) {
- $arch = "amd64"
- $sha256 = "5d025d85070e8c180c443580afa8a27421a7bbcf14b5044894e9f3298d0ce97a"
-} else {
- $arch = "i386"
- $sha256 = "5178a0bdaab448c2ef965b0e36f835849cea731ccd87c4a4527f0f05fbbdf271"
+$version = "1.12.6" # TODO: ARM is not supported in this version
+$has_telegraf_ver = $false
+
+$cpu_arch = Get-CpuArchitecture
+switch ($cpu_arch) {
+ arm64 {
+ $arch = "arm64"
+ $sha256 = "5925642aad9a35886b172050203287cf33078313f543021781885ed94d9cbcff"
+ $version = "1.29.4" # TODO: ARM needs this, update this to all
+ $has_telegraf_ver = $true
+ Break
+ }
+ x64 {
+ $arch = "amd64"
+ $sha256 = "5d025d85070e8c180c443580afa8a27421a7bbcf14b5044894e9f3298d0ce97a"
+ Break
+ }
+ x86 {
+ $arch = "i386"
+ $sha256 = "5178a0bdaab448c2ef965b0e36f835849cea731ccd87c4a4527f0f05fbbdf271"
+ Break
+ }
+ default {
+ throw "Unknown architecture $cpu_arch"
+ }
}
-$filename = "telegraf-" + $version + "_windows_" + $arch + ".zip"
+$telegraf_ver = "telegraf-" + $version
+$filename_zip = $telegraf_ver + "_windows_" + $arch + ".zip"
-$url_cache = "http://ci-files01-hki.ci.qt.io/input/telegraf/" + $filename
-$url_official = "https://dl.influxdata.com/telegraf/releases/" + $filename
-$tempfile = "C:\Windows\Temp\" + $filename
+$url_cache = "http://ci-files01-hki.ci.qt.io/input/telegraf/" + $filename_zip
+$url_official = "https://dl.influxdata.com/telegraf/releases/" + $filename_zip
+$tempfile = "C:\Windows\Temp\" + $filename_zip
Write-Host "Fetching Telegraf $version..."
Download $url_official $url_cache $tempfile
Verify-Checksum $tempfile $sha256 sha256
Write-Host "Installing telegraf.exe under C:\Utils\telegraf"
-Extract-7Zip $tempfile C:\Utils "telegraf"
+
+if ($has_telegraf_ver -eq $true) {
+ Extract-7Zip $tempfile C:\Utils
+ Rename-Item "C:\Utils\$telegraf_ver" "C:\Utils\telegraf"
+} else {
+ Extract-7Zip $tempfile C:\Utils "telegraf"
+}
+
Copy-Item "$PSScriptRoot\..\..\common\windows\telegraf-coin.conf" C:\telegraf-coin.conf
. "$PSScriptRoot\telegraf_password.ps1"
diff --git a/coin/provisioning/common/windows/ninja.ps1 b/coin/provisioning/common/windows/ninja.ps1
index d5557d82..956e7835 100644
--- a/coin/provisioning/common/windows/ninja.ps1
+++ b/coin/provisioning/common/windows/ninja.ps1
@@ -1,17 +1,43 @@
. "$PSScriptRoot\helpers.ps1"
-$zip = Get-DownloadLocation "ninja-1.10.2-win-x86.zip"
-
-Download http://master.qt.io/development_releases/prebuilt/ninja/v1.10.2/ninja-win-x86.zip \\ci-files01-hki.ci.qt.io\provisioning\ninja\ninja-1.10.2-win-really-x86.zip $zip
-Verify-Checksum $zip "1a22ee9269df8ed69c4600d7ee4ccd8841bb99ca"
+$cpu_arch = Get-CpuArchitecture
+switch ($cpu_arch) {
+ arm64 {
+ $arch = "arm64"
+ $version = "1.12.0"
+ $longPathFixed = $true # fixed https://github.com/ninja-build/ninja/pull/2225 in 1.12.0
+ $zip = Get-DownloadLocation "ninja-$version-win-$arch.zip"
+ $internalUrl = "https://ci-files01-hki.ci.qt.io/input/ninja/v$version/ninja-win$arch.zip"
+ $externalUrl = "https://github.com/ninja-build/ninja/releases/download/v$version/ninja-win$arch.zip"
+ $sha1 = "51bf1bac149ae1e3d1572fa9fa87d6431dbddc8b"
+ Break
+ }
+ x64 {
+ $arch = "amd64"
+ $version = "1.10.2"
+ $longPathFixed = $false
+ $zip = Get-DownloadLocation "ninja-$version-win-x86.zip"
+ # TODO: Fix this QTQAINFRA-6296
+ $internalUrl = "http://master.qt.io/development_releases/prebuilt/ninja/v$version/ninja-win-x86.zip"
+ $externalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\ninja\ninja-$version-win-really-x86.zip"
+ $sha1 = "1a22ee9269df8ed69c4600d7ee4ccd8841bb99ca"
+ Break
+ }
+ default {
+ throw "Unknown architecture $cpu_arch"
+ }
+}
+Download $internalUrl $externalUrl $zip
+Verify-Checksum $zip $sha1
Extract-7Zip $zip C:\Utils\Ninja
Remove "$zip"
Add-Path "C:\Utils\Ninja"
-Write-Output "Ninja = 1.10.2" >> ~/versions.txt
+Write-Output "Ninja ($arch) = $version" >> ~/versions.txt
+if ( -Not $longPathFixed ) {
$manifest = @"
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
@@ -33,3 +59,5 @@ Invoke-MtCommand "C:\Program Files (x86)\Microsoft Visual Studio\2019\Profession
} else {
Invoke-MtCommand "C:\Program Files (x86)\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64 $manifest "C:\Utils\Ninja\ninja.exe"
}
+
+}
diff --git a/coin/provisioning/common/windows/nodejs.ps1 b/coin/provisioning/common/windows/nodejs.ps1
index 5e9b8a0c..3dc6ffe5 100644
--- a/coin/provisioning/common/windows/nodejs.ps1
+++ b/coin/provisioning/common/windows/nodejs.ps1
@@ -7,12 +7,27 @@
# Needed by QtWebengine
$version = "20.7.0"
-if (Is64BitWinHost) {
- $arch = "x64"
- $sha256 = "b3e5cbf8e247c75f9ddd235d49cfe40f25dde65bdd0eec4cefbca2805d80376b"
-} else {
- $arch = "x86"
- $sha256 = "d6a3c63a5ae71374c144a33c418ab96be497b08df0e9f51861a78127db03aeb5"
+$cpu_arch = Get-CpuArchitecture
+switch ($cpu_arch) {
+ arm64 {
+ $arch = "arm64"
+ $sha256 = "ab4b990c2c1d4a55d565813e7a2f71669dc4d1005faa47185d30bde4416975ab"
+ $version = "20.12.2" # TODO: ARM starts with newer, LTS
+ Break
+ }
+ x64 {
+ $arch = "x64"
+ $sha256 = "b3e5cbf8e247c75f9ddd235d49cfe40f25dde65bdd0eec4cefbca2805d80376b"
+ Break
+ }
+ x86 {
+ $arch = "x86"
+ $sha256 = "d6a3c63a5ae71374c144a33c418ab96be497b08df0e9f51861a78127db03aeb5"
+ Break
+ }
+ default {
+ throw "Unknown architecture $cpu_arch"
+ }
}
$package = "C:\Windows\temp\nodejs-$version.7z"
diff --git a/coin/provisioning/common/windows/openssl-arm64.ps1 b/coin/provisioning/common/windows/openssl-arm64.ps1
index 2a3de12d..16627039 100644
--- a/coin/provisioning/common/windows/openssl-arm64.ps1
+++ b/coin/provisioning/common/windows/openssl-arm64.ps1
@@ -35,10 +35,29 @@ Verify-Checksum $zip_package $sha1
Extract-7Zip $zip_package C:\
Remove $zip_package
-Set-EnvironmentVariable "OPENSSL_ROOT_DIR_x64_arm64" "$installFolder"
-Set-EnvironmentVariable "OPENSSL_CONF_x64_arm64" "$installFolder\bin\openssl.cfg"
-Set-EnvironmentVariable "OPENSSL_INCLUDE_x64_arm64" "$installFolder\include"
-Set-EnvironmentVariable "OPENSSL_LIB_x64_arm64" "$installFolder\lib"
+$cpu_arch = Get-CpuArchitecture
+switch ($cpu_arch) {
+ arm64 {
+ # For native arm64
+ Set-EnvironmentVariable "OPENSSL_ROOT_DIR_arm64" "$installFolder"
+ Set-EnvironmentVariable "OPENSSL_CONF_arm64" "$installFolder\bin\openssl.cfg"
+ Set-EnvironmentVariable "OPENSSL_INCLUDE_arm64" "$installFolder\include"
+ Set-EnvironmentVariable "OPENSSL_LIB_arm64" "$installFolder\lib"
+ Break
+ }
+ x64 {
+ # For cross-compiling x64_arm64
+ Set-EnvironmentVariable "OPENSSL_ROOT_DIR_x64_arm64" "$installFolder"
+ Set-EnvironmentVariable "OPENSSL_CONF_x64_arm64" "$installFolder\bin\openssl.cfg"
+ Set-EnvironmentVariable "OPENSSL_INCLUDE_x64_arm64" "$installFolder\include"
+ Set-EnvironmentVariable "OPENSSL_LIB_x64_arm64" "$installFolder\lib"
+ }
+ default {
+ throw "Unknown architecture $cpu_arch"
+ }
+}
+
+Prepend-Path "$installFolder\bin"
# Store version information to ~/versions.txt, which is used to print version information to provision log.
Write-Output "OpenSSL ARM= $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/python.ps1 b/coin/provisioning/common/windows/python.ps1
deleted file mode 100644
index d403a834..00000000
--- a/coin/provisioning/common/windows/python.ps1
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright (C) 2020 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 installs Python $version.
-# Python is required for building Qt 5 from source.
-param(
- [Int32]$archVer=32,
- [string]$targetDir="C:\Python27"
-)
-. "$PSScriptRoot\helpers.ps1"
-
-$version = "2.7.13"
-if ( $archVer -eq 64 ) {
- $arch = ".amd64"
- $sha1 = "d9113142bae8829365c595735e1ad1f9f5e2894c"
-} else {
- $arch = ""
- $sha1 = "7e3b54236dbdbea8fe2458db501176578a4d59c0"
-}
-$package = "C:\Windows\temp\python-$version.msi"
-$externalUrl = "https://www.python.org/ftp/python/$version/python-$version" + $arch + ".msi"
-$internalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\windows\python-$version" + $arch + ".msi"
-
-Write-Host "Fetching from URL..."
-Download $externalUrl $internalUrl $package
-Verify-Checksum $package $sha1
-
-# Python installation is flaky, but seems to pass with second run if error occurs.
-$stop = $false
-[int]$retry = "0"
-do {
- try {
- # /levx = e:'All error messages' v:'Verbose' x:'Extra debugging info'
- Run-Executable "msiexec" "/passive /i $package /levx C:\Windows\Temp\Python_log.log TARGETDIR=$targetDir ALLUSERS=1"
- $stop = $true
- }
- catch {
- Get-Content C:\Windows\Temp\Python_log.log -Tail 50
- if ($retry -gt 2) {
- Write-Host "Python installation failed!"
- throw
- }
- else {
- Write-Host "Couldn't install python, retrying in 30 seconds"
- Start-Sleep -s 30
- $retry = $retry + 1
- }
- }
-}
-while ($stop -ne $true)
-
-# We need to change allowZip64 from 'False' to 'True' to be able to create ZIP files that use the ZIP64 extensions when the zipfile is larger than 2 GB
-Write-Host "Changing allowZip64 value to 'True'..."
-(Get-Content $targetDir\lib\zipfile.py) | ForEach-Object { $_ -replace "allowZip64=False", "allowZip64=True" } | Set-Content $targetDir\lib\zipfile.py
-Remove "$package"
-
-# When installing 32 bit python to 64 bit host, we want to keep only default python in path
-# For cross-compilation we export some helper env variable
-if (($archVer -eq 32) -And (Is64BitWinHost)) {
- Set-EnvironmentVariable "PYTHON2_32_PATH" "$targetDir"
- Set-EnvironmentVariable "PIP2_32_PATH" "$targetDir\Scripts"
-} else {
- Add-Path "$targetDir;$targetDir\Scripts"
-}
-
-
-Run-Executable "$targetDir\python.exe" "-m ensurepip"
-
-Write-Host "Upgrade pip to the latest version available."
-Run-Executable "$targetDir\python.exe" "-m pip install --upgrade pip"
-
-Write-Host "Configure pip"
-Run-Executable "$targetDir\python.exe" "-m pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache"
-Run-Executable "$targetDir\python.exe" "-m pip config --user set global.extra-index-url https://pypi.org/simple/"
-
-# Install python virtual env
-if (IsProxyEnabled) {
- $proxy = Get-Proxy
- Write-Host "Using proxy ($proxy) with pip"
- $pip_args = "--proxy=$proxy"
-}
-Run-Executable "$targetDir\Scripts\pip.exe" "$pip_args install virtualenv"
-
-# Install PyPDF2 for QSR documentation
-Run-Executable "$targetDir\Scripts\pip.exe" "$pip_args install PyPDF2"
-
-Write-Output "Python-$archVer = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/python3.ps1 b/coin/provisioning/common/windows/python3.ps1
index a714da16..46f75d7c 100644
--- a/coin/provisioning/common/windows/python3.ps1
+++ b/coin/provisioning/common/windows/python3.ps1
@@ -16,13 +16,26 @@ param(
$package = "C:\Windows\temp\python-$version.exe"
# check bit version
-if ( $archVer -eq 64 ) {
- Write-Host "Installing 64 bit Python"
- $externalUrl = "https://www.python.org/ftp/python/$version/python-$version-amd64.exe"
- $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version-amd64.exe"
-} else {
- $externalUrl = "https://www.python.org/ftp/python/$version/python-$version.exe"
- $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version.exe"
+$cpu_arch = Get-CpuArchitecture
+Write-Host "Installing $cpu_arch Python"
+switch ($cpu_arch) {
+ arm64 {
+ $externalUrl = "https://www.python.org/ftp/python/$version/python-$version-arm64.exe"
+ $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version-arm64.exe"
+ Break
+ }
+ x64 {
+ if ($archVer -eq "64") {
+ $externalUrl = "https://www.python.org/ftp/python/$version/python-$version-amd64.exe"
+ $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version-amd64.exe"
+ } else {
+ $externalUrl = "https://www.python.org/ftp/python/$version/python-$version.exe"
+ $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version.exe"
+ }
+ }
+ default {
+ throw "Unknown architecture $cpu_arch"
+ }
}
Write-Host "Fetching from URL..."
diff --git a/coin/provisioning/common/windows/qnx710.ps1 b/coin/provisioning/common/windows/qnx710.ps1
index 3c8f2257..c720619c 100644
--- a/coin/provisioning/common/windows/qnx710.ps1
+++ b/coin/provisioning/common/windows/qnx710.ps1
@@ -28,10 +28,10 @@ $folderName = "qnx710"
$targetPath = "$targetFolder$folderName"
# QNX SDP
-$cachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\qnx\qnx710-windows-linux-20220405.tar.xz"
-$sourceFile = "http://ci-files01-hki.ci.qt.io/input/qnx/qnx710-windows-linux-20220405.tar.xz"
+$cachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\qnx\qnx710-windows-linux-20240417.tar.xz"
+$sourceFile = "http://ci-files01-hki.ci.qt.io/input/qnx/qnx710-windows-linux-20240417.tar.xz"
$targetFile = "qnx710.tar.xz"
-$sha1 = "134af2e0f75d7b7c516f824fafee265b89e51d48"
+$sha1 = "cd2d35004fb2798089e29d9e1226691426632da0"
DownloadAndExtract $sourceFile $sha1 $targetFile $targetFolder $cachedUrl
Copy-Item $aarch64le_toolchain $targetPath
diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh
index b7919fe1..2ce4aef9 100755
--- a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh
+++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh
@@ -78,6 +78,12 @@ installPackages+=(libasound2-dev)
installPackages+=(libgstreamer1.0-dev)
installPackages+=(libgstreamer-plugins-base1.0-dev)
installPackages+=(libgstreamer-plugins-bad1.0-dev)
+installPackages+=(gstreamer1.0-libav)
+installPackages+=(gstreamer1.0-plugins-base)
+installPackages+=(gstreamer1.0-plugins-good)
+installPackages+=(gstreamer1.0-plugins-bad)
+installPackages+=(gstreamer1.0-plugins-rtp)
+installPackages+=(gstreamer1.0-plugins-ugly)
installPackages+=(libgstreamer-gl1.0-0)
installPackages+=(gir1.2-gst-plugins-base-1.0)
installPackages+=(gir1.2-gst-plugins-bad-1.0)
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh
index b0eaebb0..d1d600da 100755
--- a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh
@@ -87,7 +87,7 @@ installPackages+=(python3-html5lib)
installPackages+=(libatomic)
installPackages+=(mesa-libgbm-devel-21.3.4-1.el8.x86_64)
# For Android builds
-installPackages+=(java-11-openjdk-devel-11.0.19.0.7)
+installPackages+=(java-17-openjdk-devel-17.0.9.0.9)
# For receiving shasum
installPackages+=(perl-Digest-SHA)
# INTEGRITY requirements
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh
index c843bbd0..79c3476a 100755
--- a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh
@@ -80,7 +80,7 @@ installPackages+=(python3-html5lib)
installPackages+=(mesa-libgbm-devel-21.3.4-2.el9)
installPackages+=(libstdc++-static)
# For Android builds
-installPackages+=(java-11-openjdk-devel-11.0.19.0.7)
+installPackages+=(java-17-openjdk-devel-17.0.9.0.9)
# For receiving shasum
installPackages+=(perl-Digest-SHA)
# INTEGRITY requirements
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/02-install-xcb_util_cursor.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/02-install-xcb_util_cursor.sh
new file mode 100755
index 00000000..353297db
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/02-install-xcb_util_cursor.sh
@@ -0,0 +1,10 @@
+#!/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
+
+# Install xcb-util-cursor* libraries before updating repos. In updated repos these libraries are no longer available.
+# QTQAINFRA-6325
+sudo yum -y install xcb-util-cursor
+sudo yum -y install xcb-util-cursor-devel
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh
index dda345ac..279d66a5 100755
--- a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh
@@ -93,7 +93,7 @@ installPackages+=(python3-html5lib)
installPackages+=(libstdc++-static)
installPackages+=(mesa-libgbm-devel-21.3.4-2.el9.x86_64)
# For Android builds
-installPackages+=(java-11-openjdk-devel)
+installPackages+=(java-17-openjdk-devel-17.0.9.0.9)
# For receiving shasum
installPackages+=(perl-Digest-SHA)
# INTEGRITY requirements
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh
index d0c1a9fc..df016116 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh
@@ -80,6 +80,12 @@ installPackages+=(libgstreamer1.0-dev)
installPackages+=(libgstreamer-plugins-base1.0-dev)
installPackages+=(libgstreamer-plugins-good1.0-dev)
installPackages+=(libgstreamer-plugins-bad1.0-dev)
+installPackages+=(gstreamer1.0-libav)
+installPackages+=(gstreamer1.0-plugins-base)
+installPackages+=(gstreamer1.0-plugins-good)
+installPackages+=(gstreamer1.0-plugins-bad)
+installPackages+=(gstreamer1.0-plugins-rtp)
+installPackages+=(gstreamer1.0-plugins-ugly)
installPackages+=(yasm)
installPackages+=(libva-dev)
# for QtMultimedia streaming tests
@@ -91,6 +97,7 @@ installPackages+=(g++-multilib)
# python3 development package
installPackages+=(python3-dev)
installPackages+=(python3-pip)
+installPackages+=(python3-venv)
installPackages+=(virtualenv)
installPackages+=(python3-wheel)
# python2 development package
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh
index 148a6357..aac229a2 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh
@@ -96,6 +96,12 @@ installPackages+=(libgstreamer1.0-dev)
installPackages+=(libgstreamer-plugins-base1.0-dev)
installPackages+=(libgstreamer-plugins-good1.0-dev)
installPackages+=(libgstreamer-plugins-bad1.0-dev)
+installPackages+=(gstreamer1.0-libav)
+installPackages+=(gstreamer1.0-plugins-base)
+installPackages+=(gstreamer1.0-plugins-good)
+installPackages+=(gstreamer1.0-plugins-bad)
+installPackages+=(gstreamer1.0-plugins-rtp)
+installPackages+=(gstreamer1.0-plugins-ugly)
installPackages+=(libgstreamer-gl1.0-0)
installPackages+=(gir1.2-gst-plugins-base-1.0)
installPackages+=(gir1.2-gst-plugins-bad-1.0)
@@ -110,6 +116,7 @@ installPackages+=(g++-multilib)
# python3 development package
installPackages+=(python3-dev)
installPackages+=(python3-pip)
+installPackages+=(python3-venv)
installPackages+=(virtualenv)
installPackages+=(python3-wheel)
# python2 development package
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh
index 26430c71..a764dc7e 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh
@@ -113,8 +113,9 @@ sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARM64/sysroots/$sysrootARM64/et
# Fix mdns to support both docker and network tests
# See also https://bugreports.qt.io/browse/QTBUG-106013
-sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf"
-sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf"
+sudo sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] mdns4 dns/' \
+ $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf \
+ $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf
# Install qemu binfmt for 32bit and 64bit arm architectures
sudo update-binfmts --package qemu-arm --install arm $yoctoLocationARMv7/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-arm \
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh
index bd689a41..3bd4750e 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh
@@ -98,6 +98,12 @@ installPackages+=(libgstreamer-plugins-base1.0-dev)
installPackages+=(libgstreamer-plugins-good1.0-dev)
installPackages+=(libgstreamer-plugins-bad1.0-dev)
installPackages+=(libgstreamer-gl1.0-0)
+installPackages+=(gstreamer1.0-libav)
+installPackages+=(gstreamer1.0-plugins-base)
+installPackages+=(gstreamer1.0-plugins-good)
+installPackages+=(gstreamer1.0-plugins-bad)
+installPackages+=(gstreamer1.0-plugins-rtp)
+installPackages+=(gstreamer1.0-plugins-ugly)
installPackages+=(gir1.2-gst-plugins-base-1.0)
installPackages+=(gir1.2-gst-plugins-bad-1.0)
installPackages+=(yasm)
@@ -111,6 +117,7 @@ installPackages+=(g++-multilib)
# python3 development package
installPackages+=(python3-dev)
installPackages+=(python3-pip)
+installPackages+=(python3-venv)
installPackages+=(virtualenv)
installPackages+=(python3-wheel)
installPackages+=(python-is-python3)
@@ -133,8 +140,8 @@ installPackages+=(libicu-dev)
installPackages+=(zlib1g-dev)
installPackages+=(zlib1g)
installPackages+=(openjdk-8-jdk)
-#Java 11 for Android
-installPackages+=(openjdk-11-jdk)
+#Java 17 for Android, needed by RTA
+installPackages+=(openjdk-17-jdk)
installPackages+=(libgtk-3-dev)
installPackages+=(ninja-build)
installPackages+=(libssl-dev)
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh
index 26430c71..a764dc7e 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh
@@ -113,8 +113,9 @@ sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARM64/sysroots/$sysrootARM64/et
# Fix mdns to support both docker and network tests
# See also https://bugreports.qt.io/browse/QTBUG-106013
-sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf"
-sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf"
+sudo sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] mdns4 dns/' \
+ $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf \
+ $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf
# Install qemu binfmt for 32bit and 64bit arm architectures
sudo update-binfmts --package qemu-arm --install arm $yoctoLocationARMv7/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-arm \
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-qnx800.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-qnx800.sh
new file mode 100755
index 00000000..45d9e43e
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-qnx800.sh
@@ -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"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/01-systemsetup.sh
new file mode 100644
index 00000000..98744822
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/01-systemsetup.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+# 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 modifies system settings for automated use
+
+set -ex
+
+# shellcheck source=../common/unix/check_and_set_proxy.sh
+source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
+
+NTS_IP=10.212.2.216
+
+echo "Set timezone to UTC."
+sudo timedatectl set-timezone Etc/UTC
+echo "Timeout for blanking the screen (0 = never)"
+gsettings set org.gnome.desktop.session idle-delay 0
+echo "Prevents screen lock when screesaver goes active."
+gsettings set org.gnome.desktop.screensaver lock-enabled false
+echo "Set grub timeout to 0"
+sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub
+sudo update-grub
+
+# https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624320
+# Checking if Ubuntu 20.04 works without this
+#echo "Setting up workaround for Ubuntu systemd resolve bug"
+#sudo rm -f /etc/resolv.conf
+#sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
+
+# remove hostname to get unique based on IP address
+sudo rm /etc/hostname
+
+echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
+echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+
+echo 'LC_ALL=en_US.UTF8' | sudo tee /etc/default/locale
+
+if [ "$http_proxy" != "" ]; then
+ echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf
+fi
+
+# This script diverts qtlogging.ini file so we don't get debugging related auto-test failures.
+sudo dpkg-divert --divert /etc/xdg/QtProject/qtlogging.ini.foo --rename /etc/xdg/QtProject/qtlogging.ini
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh
new file mode 100644
index 00000000..8796ad26
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh
@@ -0,0 +1,243 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 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
+
+# Install required packages with APT
+
+# shellcheck source=../common/linux/apt_wait_loop.sh
+source "${BASH_SOURCE%/*}/../common/linux/apt_wait_loop.sh"
+
+echo "Disabling auto update"
+sudo sed -i 's/APT::Periodic::Update-Package-Lists "1";/APT::Periodic::Update-Package-Lists "0";/' /etc/apt/apt.conf.d/10periodic
+for service in apt-daily.timer apt-daily-upgrade.timer apt-daily.service apt-daily-upgrade.service; do
+ sudo systemctl stop $service
+ sudo systemctl disable $service
+done
+
+function set_internal_repo {
+
+ # Stop fetching the dep-11 metadata, since our mirrors do not handle them well
+ sudo mv /etc/apt/apt.conf.d/50appstream{,.disabled}
+
+ sudo tee "/etc/apt/sources.list.d/ubuntu.list" > /dev/null <<-EOC
+ deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble main restricted universe multiverse
+ deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-updates main restricted universe multiverse
+ deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-backports main restricted universe
+ deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-security main restricted universe multiverse
+EOC
+}
+
+#(ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories."
+echo "Internal package repository not loading Translation en package (QTQAINFRA-6297). Using public repositories."
+
+# Make sure needed ca-certificates are available
+sudo apt-get install --reinstall ca-certificates
+
+# Git is not needed by builds themselves, but is nice to have
+# immediately as one starts debugging
+installPackages+=(git)
+# 7zip is a needed decompressing tool
+installPackages+=(p7zip-full)
+# To be able to mount yocto-cache during builds
+installPackages+=(nfs-common)
+# libssl-dev provides headers for OpenSSL
+installPackages+=(libssl-dev)
+# Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git
+installPackages+=("^libxcb.*")
+installPackages+=(libxkbcommon-dev)
+installPackages+=(libxkbcommon-x11-dev)
+installPackages+=(libx11-xcb-dev)
+installPackages+=(libglu1-mesa-dev)
+installPackages+=(libxrender-dev)
+installPackages+=(libxi-dev)
+# Enable linking to system dbus
+installPackages+=(libdbus-1-dev)
+# Needed libraries for WebEngine
+installPackages+=(udev)
+installPackages+=(libudev-dev)
+installPackages+=(libdrm-dev)
+installPackages+=(libegl1-mesa-dev)
+installPackages+=(libfontconfig1-dev)
+installPackages+=(libgbm-dev)
+installPackages+=(liblcms2-dev)
+installPackages+=(libpci-dev)
+installPackages+=(libre2-dev)
+installPackages+=(libsnappy-dev)
+installPackages+=(libva-dev)
+installPackages+=(libvpx-dev)
+installPackages+=(libxkbfile-dev)
+installPackages+=(libxshmfence-dev)
+installPackages+=(libxss-dev)
+# installPackages+=(nodejs) too old
+installPackages+=(python3-html5lib)
+
+# Common event loop handling
+installPackages+=(libglib2.0-dev)
+# MySQL support
+installPackages+=(libmysqlclient-dev)
+# PostgreSQL support
+installPackages+=(libpq-dev)
+# SQLite support
+installPackages+=(libsqlite3-dev)
+# ODBC support
+installPackages+=(unixodbc-dev)
+# Support for FreeType font engine
+installPackages+=(libfreetype6-dev)
+# Enable the usage of system jpeg libraries
+installPackages+=(libjpeg-dev)
+# Enable support for printer driver
+installPackages+=(libcups2-dev)
+# Enable support for printer test
+installPackages+=(cups-pdf)
+# Install libraries needed for QtMultimedia to be able to support all plugins
+installPackages+=(libasound2-dev)
+installPackages+=(libgstreamer1.0-dev)
+installPackages+=(libgstreamer-plugins-base1.0-dev)
+installPackages+=(libgstreamer-plugins-good1.0-dev)
+installPackages+=(libgstreamer-plugins-bad1.0-dev)
+installPackages+=(gstreamer1.0-libav)
+installPackages+=(gstreamer1.0-plugins-base)
+installPackages+=(gstreamer1.0-plugins-good)
+installPackages+=(gstreamer1.0-plugins-bad)
+installPackages+=(gstreamer1.0-plugins-rtp)
+installPackages+=(gstreamer1.0-plugins-ugly)
+installPackages+=(libgstreamer-gl1.0-0)
+installPackages+=(gir1.2-gst-plugins-base-1.0)
+installPackages+=(gir1.2-gst-plugins-bad-1.0)
+installPackages+=(yasm)
+installPackages+=(libva-dev)
+# for QtMultimedia streaming tests
+installPackages+=(vlc-bin)
+installPackages+=(vlc-plugin-base)
+
+# Support for cross-building to x86 (needed by WebEngine boot2qt builds)
+#installPackages+=(g++-multilib)
+installPackages+=(g++-multilib-powerpc-linux-gnu)
+
+# python3 development package
+installPackages+=(python3-dev)
+installPackages+=(python3-pip)
+installPackages+=(python3-venv)
+installPackages+=(virtualenv)
+installPackages+=(python3-wheel)
+installPackages+=(python-is-python3)
+
+# Automates interactive applications (Needed by RTA to automate configure testing)
+installPackages+=(expect)
+installPackages+=(mesa-common-dev)
+
+# TODO: Ubuntu 24.04 Replacement
+#installPackages+=(libgl1-mesa-glx)
+installPackages+=(libglx-mesa0)
+
+installPackages+=(libgl1-mesa-dev)
+installPackages+=(libegl1-mesa-dev)
+installPackages+=(libegl1)
+installPackages+=(libegl-mesa0)
+installPackages+=(libegl-dev)
+installPackages+=(libglvnd-dev)
+installPackages+=(libgles2-mesa-dev)
+installPackages+=(curl)
+installPackages+=(libcurl4-openssl-dev)
+installPackages+=(libicu-dev)
+installPackages+=(zlib1g-dev)
+installPackages+=(zlib1g)
+installPackages+=(openjdk-8-jdk)
+#Java 11 for Android
+installPackages+=(openjdk-11-jdk)
+installPackages+=(libgtk-3-dev)
+installPackages+=(ninja-build)
+installPackages+=(libssl-dev)
+installPackages+=(libxcursor-dev)
+installPackages+=(libxcomposite-dev)
+installPackages+=(libxdamage-dev)
+installPackages+=(libxrandr-dev)
+installPackages+=(libfontconfig1-dev)
+installPackages+=(libsrtp2-dev)
+installPackages+=(libwebp-dev)
+installPackages+=(libjsoncpp-dev)
+installPackages+=(libopus-dev)
+installPackages+=(libminizip-dev)
+installPackages+=(libavutil-dev)
+installPackages+=(libavformat-dev)
+installPackages+=(libavcodec-dev)
+installPackages+=(libevent-dev)
+installPackages+=(bison)
+installPackages+=(flex)
+installPackages+=(gperf)
+installPackages+=(libasound2-dev)
+installPackages+=(libpulse-dev)
+installPackages+=(libxtst-dev)
+installPackages+=(libnspr4-dev)
+installPackages+=(libnss3-dev)
+installPackages+=(libnss3)
+installPackages+=(libopenal-dev)
+installPackages+=(libbluetooth-dev)
+# Needed for qtspeech
+installPackages+=(libspeechd-dev)
+#Pypdf for PDF reading in RTA tests
+installPackages+=(python3-pypdf2)
+# Needed for b2qt
+installPackages+=(git-lfs)
+installPackages+=(chrpath)
+installPackages+=(gawk)
+installPackages+=(texinfo)
+# Needed for Poppler test in QtWebEngine
+installPackages+=(libpoppler-cpp-dev)
+# Needed for QtCore
+installPackages+=(libdouble-conversion-dev)
+installPackages+=(libpcre2-dev)
+# Needed for testlib selftests
+installPackages+=(valgrind)
+# Needed for qtgampepad
+installPackages+=(libsdl2-2.0)
+installPackages+=(libsdl2-dev)
+# Needed for qtwebkit
+installPackages+=(ruby)
+installPackages+=(libxslt1-dev)
+installPackages+=(libxml2-dev)
+installPackages+=(libhyphen-dev)
+# For remote access
+installPackages+=(ssh)
+# For bitbake
+installPackages+=(diffstat)
+installPackages+=(binfmt-support)
+installPackages+=(zstd)
+installPackages+=(lz4)
+# Vulkan is needed for examples
+installPackages+=(libvulkan-dev)
+# Needed for qtdltlogging
+installPackages+=(libdlt-dev)
+# For QNX
+installPackages+=(nfs-kernel-server)
+installPackages+=(net-tools)
+installPackages+=(bridge-utils)
+# For Debian packaging
+installPackages+=(sbuild)
+installPackages+=(ubuntu-dev-tools)
+# cifs-utils, for mounting smb drive
+installPackages+=(keyutils)
+installPackages+=(cifs-utils)
+# VxWorks QEMU network setup (tunctl)
+installPackages+=(uml-utilities)
+# used for reading vcpkg packages version, from vcpkg.json
+installPackages+=(jq)
+# For building
+installPackages+=(cmake)
+
+echo "Running update for apt"
+waitLoop
+sudo apt-get update
+echo "Installing packages"
+waitLoop
+sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 install "${installPackages[@]}"
+
+# Configure pip
+pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
+pip config --user set global.extra-index-url https://pypi.org/simple/
+
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+# SetEnvVar "PATH" "/usr/lib/nodejs-mozilla/bin:\$PATH"
+
+OpenSSLVersion="$(openssl version |cut -b 9-14)"
+echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-notifications.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-notifications.sh
new file mode 100644
index 00000000..1b9ed6c9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-notifications.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 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
+
+# shellcheck source=../common/linux/disable-notifications.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-ntp.sh
new file mode 100644
index 00000000..1995aa14
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-ntp.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 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
+
+# shellcheck source=../common/linux/disable-ntp_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-apport.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-apport.sh
new file mode 100644
index 00000000..879f3ffb
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-apport.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 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
+
+# shellcheck source=../common/linux/remove-apport.sh
+source "${BASH_SOURCE%/*}/../common/linux/remove-apport.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-update_notifier.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-update_notifier.sh
new file mode 100644
index 00000000..f4a5119f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-update_notifier.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 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
+
+# shellcheck source=../common/linux/remove-update_notifier.sh
+source "${BASH_SOURCE%/*}/../common/linux/remove-update_notifier.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/03-fix-bwrap-apparmor.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/03-fix-bwrap-apparmor.sh
new file mode 100644
index 00000000..e155338a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/03-fix-bwrap-apparmor.sh
@@ -0,0 +1,6 @@
+#!/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
+
+# shellcheck source=../common/linux/fix-bwrap-apparmor.sh
+source "${BASH_SOURCE%/*}/../common/linux/fix-bwrap-apparmor.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-cleanup.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-cleanup.sh
new file mode 100644
index 00000000..4d6e16ea
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-cleanup.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 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
+
+"$(dirname "$0")"/../common/linux/cleanup_cache.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-version.sh
new file mode 100644
index 00000000..31821f6b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-version.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+#Copyright (C) 2023 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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/ubuntu-version.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable-updates.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable-updates.sh
new file mode 100644
index 00000000..4c9adc5f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable-updates.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 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
+
+# Disalbe updates
+echo "Disabling auto-upgrades"
+sudo sed -i 's/"1"/"0"/g' /etc/apt/apt.conf.d/20auto-upgrades
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable_net_lso.sh
new file mode 100644
index 00000000..81e7d137
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-disable_net_lso.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+#Copyright (C) 2023 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
+
+echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off
+sudo chmod +x /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-install_telegraf.sh
new file mode 100644
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-set-ulimit.sh
new file mode 100644
index 00000000..e951e82a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-set-ulimit.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/set_ulimit.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-systemsetup.sh
new file mode 100644
index 00000000..98744822
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/01-systemsetup.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+# 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 modifies system settings for automated use
+
+set -ex
+
+# shellcheck source=../common/unix/check_and_set_proxy.sh
+source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
+
+NTS_IP=10.212.2.216
+
+echo "Set timezone to UTC."
+sudo timedatectl set-timezone Etc/UTC
+echo "Timeout for blanking the screen (0 = never)"
+gsettings set org.gnome.desktop.session idle-delay 0
+echo "Prevents screen lock when screesaver goes active."
+gsettings set org.gnome.desktop.screensaver lock-enabled false
+echo "Set grub timeout to 0"
+sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub
+sudo update-grub
+
+# https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624320
+# Checking if Ubuntu 20.04 works without this
+#echo "Setting up workaround for Ubuntu systemd resolve bug"
+#sudo rm -f /etc/resolv.conf
+#sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
+
+# remove hostname to get unique based on IP address
+sudo rm /etc/hostname
+
+echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
+echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+
+echo 'LC_ALL=en_US.UTF8' | sudo tee /etc/default/locale
+
+if [ "$http_proxy" != "" ]; then
+ echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf
+fi
+
+# This script diverts qtlogging.ini file so we don't get debugging related auto-test failures.
+sudo dpkg-divert --divert /etc/xdg/QtProject/qtlogging.ini.foo --rename /etc/xdg/QtProject/qtlogging.ini
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-apt.sh
new file mode 100644
index 00000000..cf108d72
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-apt.sh
@@ -0,0 +1,254 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 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
+
+# Install required packages with APT
+
+# shellcheck source=../common/linux/apt_wait_loop.sh
+source "${BASH_SOURCE%/*}/../common/linux/apt_wait_loop.sh"
+
+echo "Disabling auto update"
+sudo sed -i 's/APT::Periodic::Update-Package-Lists "1";/APT::Periodic::Update-Package-Lists "0";/' /etc/apt/apt.conf.d/10periodic
+for service in apt-daily.timer apt-daily-upgrade.timer apt-daily.service apt-daily-upgrade.service; do
+ sudo systemctl stop $service
+ sudo systemctl disable $service
+done
+
+function set_internal_repo {
+
+ # Stop fetching the dep-11 metadata, since our mirrors do not handle them well
+ sudo mv /etc/apt/apt.conf.d/50appstream{,.disabled}
+
+ sudo tee "/etc/apt/sources.list.d/ubuntu.list" > /dev/null <<-EOC
+ deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble main restricted universe multiverse
+ deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-updates main restricted universe multiverse
+ deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-backports main restricted universe
+ deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-security main restricted universe multiverse
+ deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble main restricted
+ deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-updates main restricted
+ deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble universe
+EOC
+}
+
+#(ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories."
+echo "Internal package repository not loading Translation en package (QTQAINFRA-6297). Using public repositories."
+
+# Make sure needed ca-certificates are available
+sudo apt-get install --reinstall ca-certificates
+
+# Git is not needed by builds themselves, but is nice to have
+# immediately as one starts debugging
+installPackages+=(git)
+# 7zip is a needed decompressing tool
+installPackages+=(p7zip-full)
+# To be able to mount yocto-cache during builds
+installPackages+=(nfs-common)
+# libssl-dev provides headers for OpenSSL
+installPackages+=(libssl-dev)
+# Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git
+installPackages+=("^libxcb.*")
+installPackages+=(libxkbcommon-dev)
+installPackages+=(libxkbcommon-x11-dev)
+installPackages+=(libx11-xcb-dev)
+installPackages+=(libglu1-mesa-dev)
+installPackages+=(libxrender-dev)
+installPackages+=(libxi-dev)
+# Enable linking to system dbus
+installPackages+=(libdbus-1-dev)
+# Needed libraries for WebEngine
+installPackages+=(udev)
+installPackages+=(libudev-dev)
+installPackages+=(libdrm-dev)
+installPackages+=(libegl1-mesa-dev)
+installPackages+=(libfontconfig1-dev)
+installPackages+=(libgbm-dev)
+installPackages+=(liblcms2-dev)
+installPackages+=(libpci-dev)
+installPackages+=(libre2-dev)
+installPackages+=(libsnappy-dev)
+installPackages+=(libva-dev)
+installPackages+=(libvpx-dev)
+installPackages+=(libxkbfile-dev)
+installPackages+=(libxshmfence-dev)
+installPackages+=(libxss-dev)
+# installPackages+=(nodejs) too old
+installPackages+=(python3-html5lib)
+
+# Common event loop handling
+installPackages+=(libglib2.0-dev)
+# MySQL support
+installPackages+=(libmysqlclient-dev)
+# PostgreSQL support
+installPackages+=(libpq-dev)
+# SQLite support
+installPackages+=(libsqlite3-dev)
+# ODBC support
+installPackages+=(unixodbc-dev)
+# Support for FreeType font engine
+installPackages+=(libfreetype6-dev)
+# Enable the usage of system jpeg libraries
+installPackages+=(libjpeg-dev)
+# Enable support for printer driver
+installPackages+=(libcups2-dev)
+# Enable support for printer test
+installPackages+=(cups-pdf)
+# Install libraries needed for QtMultimedia to be able to support all plugins
+installPackages+=(libasound2-dev)
+installPackages+=(libgstreamer1.0-dev)
+installPackages+=(libgstreamer-plugins-base1.0-dev)
+installPackages+=(libgstreamer-plugins-good1.0-dev)
+installPackages+=(libgstreamer-plugins-bad1.0-dev)
+installPackages+=(libgstreamer-gl1.0-0)
+installPackages+=(gir1.2-gst-plugins-base-1.0)
+installPackages+=(gir1.2-gst-plugins-bad-1.0)
+installPackages+=(yasm)
+installPackages+=(libva-dev)
+# for QtMultimedia streaming tests
+installPackages+=(vlc-bin)
+installPackages+=(vlc-plugin-base)
+
+# Support for cross-building to x86 (needed by WebEngine boot2qt builds)
+installPackages+=(g++-multilib)
+# python3 development package
+installPackages+=(python3-dev)
+installPackages+=(python3-pip)
+installPackages+=(python3-venv)
+installPackages+=(virtualenv)
+installPackages+=(python3-wheel)
+installPackages+=(python-is-python3)
+# TODO: Ubuntu 24.04 Removal - not available
+# python2 development package
+#installPackages+=(python2-dev)
+
+# Automates interactive applications (Needed by RTA to automate configure testing)
+installPackages+=(expect)
+installPackages+=(mesa-common-dev)
+
+# TODO: Ubuntu 24.04 Replacement
+#installPackages+=(libgl1-mesa-glx)
+installPackages+=(libglx-mesa0)
+
+installPackages+=(libgl1-mesa-dev)
+installPackages+=(libegl1-mesa-dev)
+installPackages+=(libegl1)
+installPackages+=(libegl-mesa0)
+installPackages+=(libegl-dev)
+installPackages+=(libglvnd-dev)
+installPackages+=(libgles2-mesa-dev)
+installPackages+=(curl)
+installPackages+=(libcurl4-openssl-dev)
+installPackages+=(libicu-dev)
+installPackages+=(zlib1g-dev)
+installPackages+=(zlib1g)
+installPackages+=(openjdk-8-jdk)
+#Java 17 for Android, needed by RTA
+installPackages+=(openjdk-17-jdk)
+installPackages+=(libgtk-3-dev)
+installPackages+=(ninja-build)
+installPackages+=(libssl-dev)
+installPackages+=(libxcursor-dev)
+installPackages+=(libxcomposite-dev)
+installPackages+=(libxdamage-dev)
+installPackages+=(libxrandr-dev)
+installPackages+=(libfontconfig1-dev)
+installPackages+=(libsrtp2-dev)
+installPackages+=(libwebp-dev)
+installPackages+=(libjsoncpp-dev)
+installPackages+=(libopus-dev)
+installPackages+=(libminizip-dev)
+installPackages+=(libavutil-dev)
+installPackages+=(libavformat-dev)
+installPackages+=(libavcodec-dev)
+installPackages+=(libevent-dev)
+installPackages+=(bison)
+installPackages+=(flex)
+installPackages+=(gperf)
+installPackages+=(libasound2-dev)
+installPackages+=(libpulse-dev)
+installPackages+=(libxtst-dev)
+installPackages+=(libnspr4-dev)
+installPackages+=(libnss3-dev)
+installPackages+=(libnss3)
+installPackages+=(libopenal-dev)
+installPackages+=(libbluetooth-dev)
+#VirtualBox for RTA
+installPackages+=(virtualbox)
+installPackages+=(dkms)
+# Needed for qtspeech
+installPackages+=(libspeechd-dev)
+#Pypdf for PDF reading in RTA tests
+installPackages+=(python3-pypdf2)
+# Needed for b2qt
+installPackages+=(git-lfs)
+installPackages+=(chrpath)
+installPackages+=(gawk)
+installPackages+=(texinfo)
+# Needed for Poppler test in QtWebEngine
+installPackages+=(libpoppler-cpp-dev)
+# Needed for QtCore
+installPackages+=(libdouble-conversion-dev)
+installPackages+=(libpcre2-dev)
+# Needed for testlib selftests
+installPackages+=(valgrind)
+# Needed for qtgampepad
+installPackages+=(libsdl2-2.0)
+installPackages+=(libsdl2-dev)
+# Needed for qtwebkit
+installPackages+=(ruby)
+installPackages+=(libxslt1-dev)
+installPackages+=(libxml2-dev)
+installPackages+=(libhyphen-dev)
+# For remote access
+installPackages+=(ssh)
+# For bitbake
+installPackages+=(diffstat)
+installPackages+=(binfmt-support)
+installPackages+=(zstd)
+installPackages+=(lz4)
+# Vulkan is needed for examples
+installPackages+=(libvulkan-dev)
+# Needed for qtdltlogging
+installPackages+=(libdlt-dev)
+# For integrity
+installPackages+=(libc6:i386)
+# TODO: Ubuntu 24.04 Removal - not available
+#installPackages+=(libncurses5:i386)
+
+installPackages+=(libstdc++6:i386)
+installPackages+=(libx11-6:i386)
+installPackages+=(lib32z1)
+installPackages+=(linux-libc-dev:i386)
+installPackages+=(libxcursor1:i386)
+installPackages+=(libc6-dev-i386)
+sudo dpkg --add-architecture i386
+# For QNX
+installPackages+=(nfs-kernel-server)
+installPackages+=(net-tools)
+installPackages+=(bridge-utils)
+# For Debian packaging
+installPackages+=(sbuild)
+installPackages+=(ubuntu-dev-tools)
+# cifs-utils, for mounting smb drive
+installPackages+=(keyutils)
+installPackages+=(cifs-utils)
+# VxWorks QEMU network setup (tunctl)
+installPackages+=(uml-utilities)
+# used for reading vcpkg packages version, from vcpkg.json
+installPackages+=(jq)
+
+echo "Running update for apt"
+waitLoop
+sudo apt-get update
+echo "Installing packages"
+waitLoop
+sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 install "${installPackages[@]}"
+
+# Configure pip
+pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
+pip config --user set global.extra-index-url https://pypi.org/simple/
+
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+# SetEnvVar "PATH" "/usr/lib/nodejs-mozilla/bin:\$PATH"
+
+OpenSSLVersion="$(openssl version |cut -b 9-14)"
+echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-notifications.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-notifications.sh
new file mode 100644
index 00000000..1b9ed6c9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-notifications.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 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
+
+# shellcheck source=../common/linux/disable-notifications.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-ntp.sh
new file mode 100644
index 00000000..1995aa14
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-disable-ntp.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 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
+
+# shellcheck source=../common/linux/disable-ntp_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-apport.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-apport.sh
new file mode 100644
index 00000000..879f3ffb
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-apport.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 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
+
+# shellcheck source=../common/linux/remove-apport.sh
+source "${BASH_SOURCE%/*}/../common/linux/remove-apport.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-update_notifier.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-update_notifier.sh
new file mode 100644
index 00000000..f4a5119f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-remove-update_notifier.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 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
+
+# shellcheck source=../common/linux/remove-update_notifier.sh
+source "${BASH_SOURCE%/*}/../common/linux/remove-update_notifier.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-install-nodejs.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-install-nodejs.sh
new file mode 100644
index 00000000..07121a36
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-install-nodejs.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 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
+
+# shellcheck source=../common/linux/install-nodejs.sh
+source "${BASH_SOURCE%/*}/../common/linux/install-nodejs.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-mount-vcpkg-cache-drive.sh
new file mode 100644
index 00000000..ed49b3a5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-mount-vcpkg-cache-drive.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 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/mount-vcpkg-cache-drive.sh
+source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-qemu.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-qemu.sh
new file mode 100644
index 00000000..5ed06f29
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/03-qemu.sh
@@ -0,0 +1,19 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 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/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+# First test using QFont fails if fonts-noto-cjk is installed. This happens because
+# running fontcache for that font takes > 5 mins when run on QEMU. Running fc-cache
+# doesn't help since host version creates cache for a wrong architecture and running
+# armv7 fc-cache segfaults on QEMU.
+sudo DEBIAN_FRONTEND=noninteractive apt-get -y remove fonts-noto-cjk
+
+# Disable QtWayland window decorations, as they cause flakiness when used inside qemu (QTBUG-66173)
+qemu_env="QT_WAYLAND_DISABLE_WINDOWDECORATION=1"
+
+SetEnvVar "QEMU_SET_ENV" "\"${qemu_env}\""
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang-v100-dyn.sh
new file mode 100644
index 00000000..85c261ee
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang-v100-dyn.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang.sh
new file mode 100644
index 00000000..fac8d4e7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-libclang.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-yocto.sh
new file mode 100644
index 00000000..26430c71
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/04-yocto.sh
@@ -0,0 +1,125 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 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 installs the Yocto toolchain
+
+set -ex
+
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+primaryBaseUrlPath="http://ci-files01-hki.ci.qt.io/input/boot2qt/gatesgarth"
+altBaseUrlPath="http://download.qt.io/development_releases/prebuilt/boot2qt/gatesgarth"
+
+echo "Installing Yocto toolchain for 32-bit b2qt ARMV7..."
+
+versionARM="3.2"
+package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemuarm-a9d5156a.sh"
+PrimaryUrl="$primaryBaseUrlPath/$package"
+AltUrl="$altBaseUrlPath/$package"
+SHA1="f9f7d51656067a1cc9d7ab92ddcddb219886ab22"
+yoctoInstaller="/tmp/yocto-toolchain-ARMv7.sh"
+yoctoLocationARMv7="/opt/b2qt/$versionARM"
+sysrootARMv7="armv7vet2hf-neon-poky-linux-gnueabi"
+crosscompileARMv7="sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-"
+envSetupARMv7="environment-setup-$sysrootARMv7"
+toolchainFileARMv7="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake"
+
+DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
+chmod +x "$yoctoInstaller"
+
+/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARMv7"
+rm -rf "$yoctoInstaller"
+
+echo "Installing Yocto toolchain for 64-bit b2qt ARM64..."
+
+versionARM64="3.2"
+package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemuarm64-a9d5156a.sh"
+PrimaryUrl="$primaryBaseUrlPath/$package"
+AltUrl="$altBaseUrlPath/$package"
+SHA1="f490cbcc4e0d5a87f4e07607a71013aeeabce94a"
+yoctoInstaller="/tmp/yocto-toolchain-ARM64.sh"
+yoctoLocationARM64="/opt/b2qt/$versionARM64"
+sysrootARM64="cortexa57-poky-linux"
+crosscompileARM64="sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-"
+envSetupARM64="environment-setup-$sysrootARM64"
+toolchainFileARM64="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake"
+
+DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
+chmod +x "$yoctoInstaller"
+
+/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARM64"
+rm -rf "$yoctoInstaller"
+
+echo "Installing Yocto toolchain for 64-bit b2qt MIPS64..."
+
+versionMIPS64="3.2"
+package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemumips64-a9d5156a.sh"
+PrimaryUrl="$primaryBaseUrlPath/$package"
+AltUrl="$altBaseUrlPath/$package"
+SHA1="5d3a8bb4384de273937286d275d1dab36f969951"
+yoctoInstaller="/tmp/yocto-toolchain-mips64.sh"
+yoctoLocationMIPS64="/opt/b2qt/$versionMIPS64"
+sysrootMIPS64="mips64r2-poky-linux"
+crosscompileMIPS64="sysroots/x86_64-pokysdk-linux/usr/bin/mips64-poky-linux/mips64-poky-linux-"
+envSetupMIPS64="environment-setup-$sysrootMIPS64"
+toolchainFileMIPS64="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake"
+
+DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
+chmod +x "$yoctoInstaller"
+
+/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationMIPS64"
+rm -rf "$yoctoInstaller"
+
+
+
+if [ -e "$yoctoLocationARMv7/sysroots/$sysrootARMv7" ] && [ -e "$yoctoLocationARMv7/${crosscompileARMv7}g++" ] && \
+ [ -e "$yoctoLocationARMv7/$envSetupARMv7" ] && [ -e "$yoctoLocationARMv7/$toolchainFileARMv7" ] && \
+ [ -e "$yoctoLocationARM64/sysroots/$sysrootARM64" ] && [ -e "$yoctoLocationARM64/${crosscompileARM64}g++" ] && \
+ [ -e "$yoctoLocationARM64/$envSetupARM64" ] && [ -e "$yoctoLocationARM64/$toolchainFileARM64" ] && \
+ [ -e "$yoctoLocationMIPS64/sysroots/$sysrootMIPS64" ] && [ -e "$yoctoLocationMIPS64/${crosscompileMIPS64}g++" ] && \
+ [ -e "$yoctoLocationMIPS64/$envSetupMIPS64" ] && [ -e "$yoctoLocationMIPS64/$toolchainFileMIPS64" ]; then
+ SetEnvVar "QEMUARMV7_TOOLCHAIN_SYSROOT" "$yoctoLocationARMv7/sysroots/$sysrootARMv7"
+ SetEnvVar "QEMUARMV7_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARMv7/$crosscompileARMv7"
+ SetEnvVar "QEMUARMV7_TOOLCHAIN_ENVSETUP" "$yoctoLocationARMv7/$envSetupARMv7"
+ SetEnvVar "QEMUARMV7_TOOLCHAIN_FILE" "$yoctoLocationARMv7/$toolchainFileARMv7"
+ SetEnvVar "QEMUARM64_TOOLCHAIN_SYSROOT" "$yoctoLocationARM64/sysroots/$sysrootARM64"
+ SetEnvVar "QEMUARM64_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARM64/$crosscompileARM64"
+ SetEnvVar "QEMUARM64_TOOLCHAIN_ENVSETUP" "$yoctoLocationARM64/$envSetupARM64"
+ SetEnvVar "QEMUARM64_TOOLCHAIN_FILE" "$yoctoLocationARM64/$toolchainFileARM64"
+ SetEnvVar "QEMUMIPS64_TOOLCHAIN_SYSROOT" "$yoctoLocationMIPS64/sysroots/$sysrootMIPS64"
+ SetEnvVar "QEMUMIPS64_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationMIPS64/$crosscompileMIPS64"
+ SetEnvVar "QEMUMIPS64_TOOLCHAIN_ENVSETUP" "$yoctoLocationMIPS64/$envSetupMIPS64"
+ SetEnvVar "QEMUMIPS64_TOOLCHAIN_FILE" "$yoctoLocationMIPS64/$toolchainFileMIPS64"
+else
+ echo "Error! Couldn't find installation paths for Yocto toolchain. Aborting provisioning." 1>&2
+ exit 1
+fi
+
+cat << EOB >> ~/versions.txt
+Yocto ARMv7 toolchain = $versionARM
+Yocto ARM64 toolchain = $versionARM64
+Yocto MIPS64 toolchain = $versionMIPS64
+EOB
+
+# List qt user in qemu toolchain sysroots
+sudo sh -c "grep ^qt /etc/passwd >> $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/passwd"
+sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/group"
+sudo sh -c "grep ^qt /etc/passwd >> $yoctoLocationARM64/sysroots/$sysrootARM64/etc/passwd"
+sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARM64/sysroots/$sysrootARM64/etc/group"
+
+# Fix mdns to support both docker and network tests
+# See also https://bugreports.qt.io/browse/QTBUG-106013
+sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf"
+sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf"
+
+# Install qemu binfmt for 32bit and 64bit arm architectures
+sudo update-binfmts --package qemu-arm --install arm $yoctoLocationARMv7/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-arm \
+--magic "\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00" \
+--mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
+sudo update-binfmts --package qemu-aarch64 --install aarch64 $yoctoLocationARM64/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-aarch64 \
+--magic "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00" \
+--mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/08-integrity.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/08-integrity.sh
new file mode 100644
index 00000000..0e8dbb39
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/08-integrity.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# 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
+
+set -ex
+
+# shellcheck source=../common/linux/integrity.sh
+source "${BASH_SOURCE%/*}/../common/linux/integrity.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/20-sccache.sh
new file mode 100644
index 00000000..b371d947
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/20-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/22-mqtt_broker.sh
new file mode 100644
index 00000000..b0791cb1
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/22-mqtt_broker.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 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/unix/mqtt_broker.sh
+source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-fbx.sh
new file mode 100644
index 00000000..16a9bda8
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-fbx.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/fbx_linux.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install-conan.sh
new file mode 100644
index 00000000..d24cb242
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh" "linux" "--break-system-packages"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install_icu.sh
new file mode 100644
index 00000000..260dc55a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/30-install_icu.sh
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 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
+
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+set -ex
+
+# This script will install ICU
+
+icuVersion="73.2"
+icuLocationLib="/opt/icu/lib64"
+icuLocationInclude="/opt/icu/include"
+sha1="5699987afcceb0390e52fb860bb3b4ab8b39cabe"
+baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu22.04-x64.7z"
+baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Ubuntu22.04-x64.7z"
+
+sha1Dev="6b9da2fa5fd88db88e9957ee5e3cf9dbcd08fe6b"
+develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu22.04-x64-devel.7z"
+develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Ubuntu22.04-x64-devel.7z"
+
+echo "Installing custom ICU $icuVersion $sha1 packages on CentOS to $icuLocationLib"
+
+targetFile=$(mktemp)
+sudo mkdir -p "$icuLocationLib"
+sudo mkdir -p "$icuLocationInclude"
+DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile"
+sudo 7z x -y -o$icuLocationLib "$targetFile"
+sudo rm "$targetFile"
+
+echo "Installing custom ICU devel packages on CentOS"
+
+tempDir=$(mktemp -d)
+
+targetFile=$(mktemp)
+DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile"
+7z x -y -o"$tempDir" "$targetFile"
+
+sudo cp -a "$tempDir"/lib/* "$icuLocationLib"
+sudo cp -a "$tempDir"/* /opt/icu/
+
+sudo rm "$targetFile"
+sudo rm -fr "$tempDir"
+
+sudo /sbin/ldconfig
+
+echo "ICU = $icuVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/35-install-breakpad.sh
new file mode 100644
index 00000000..8a9dde56
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/35-install-breakpad.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 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/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-android_linux.sh
new file mode 100644
index 00000000..2526bc6d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-android_linux.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+# 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
+
+set -ex
+
+# shellcheck source=../common/linux/android_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-install-cmake.sh
new file mode 100644
index 00000000..a418e4c5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/40-install-cmake.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+#Copyright (C) 2023 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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/cmake_linux.sh"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/41-install-vcpkg.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/41-install-vcpkg.sh
new file mode 100644
index 00000000..aa88364d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/41-install-vcpkg.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-vcpkg.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/42-install-vcpkg-ports.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/42-install-vcpkg-ports.sh
new file mode 100644
index 00000000..71a46f9a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/42-install-vcpkg-ports.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-vcpkg-ports.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/45-install-cpdb.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/45-install-cpdb.sh
new file mode 100644
index 00000000..40497ee0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/45-install-cpdb.sh
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 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 install cpdb from sources.
+# Requires GCC and Perl to be in PATH.
+set -ex
+
+# Install the dependencies
+sudo apt install -y make autoconf autopoint libglib2.0-dev libdbus-1-dev libtool
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-cpdb.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/50-openssl_for_android_linux.sh
new file mode 100644
index 00000000..fd1151d9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/50-openssl_for_android_linux.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+# Copyright (C) 2021 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/unix/openssl_for_android.sh
+source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/60-install_protobuf.sh
new file mode 100644
index 00000000..3e2b8921
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/60-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 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/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/61-install_grpc.sh
new file mode 100644
index 00000000..ecd6a51f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/61-install_grpc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 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/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-install_QemuGA.sh
new file mode 100644
index 00000000..9a80fc0b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-install_QemuGA.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 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 installs QEMU Guest Agent
+
+set -ex
+
+sudo apt -y install qemu-guest-agent
+sudo systemctl start qemu-guest-agent
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-qnx710.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-qnx710.sh
new file mode 100644
index 00000000..08eeb57b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-qnx710.sh
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 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_710.sh
+source "${BASH_SOURCE%/*}/../common/linux/qnx_710.sh"
+
+# setup NFS
+sudo bash -c "echo '/home/qt/work ${qemuNetwork}/24(rw,sync,root_squash,no_subtree_check,anonuid=1000,anongid=1000)' >> /etc/exports"
+sudo exportfs -a
+sudo systemctl restart nfs-kernel-server
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-vxworks.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-vxworks.sh
new file mode 100644
index 00000000..3bb48d11
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/70-vxworks.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 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/vx_works.sh
+source "${BASH_SOURCE%/*}/../common/linux/vx_works.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/80-docker.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/80-docker.sh
new file mode 100644
index 00000000..049e61f6
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/80-docker.sh
@@ -0,0 +1,59 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 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 -e
+
+PROVISIONING_DIR="$(dirname "$0")/../"
+# shellcheck source=../common/unix/common.sourced.sh
+source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
+# shellcheck source=../common/unix/DownloadURL.sh
+source "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
+
+localRepo=http://ci-files01-hki.ci.qt.io/input/docker
+# upstreamRepo=https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64
+#upstreamRepo=https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64
+upstreamRepo=https://download.docker.com/linux/ubuntu/dists/noble/pool/stable/amd64
+echo '
+ 57c62933ad2dc07a3a79efd5b464ea84fa80c773 containerd.io_1.6.31-1_amd64.deb
+ cbcd536345e052b9221a0240caa451e1b687a05e docker-ce_26.1.0-1~ubuntu.24.04~noble_amd64.deb
+ 6f0989763692b88b748444174e70b6069c781533 docker-ce-cli_26.1.0-1~ubuntu.24.04~noble_amd64.deb
+' \
+ | xargs -n2 | while read -r sha f
+do
+ DownloadURL "$localRepo/$f" "$upstreamRepo/$f" "$sha"
+done
+
+sudo apt-get -y install ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb
+rm -f ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb
+
+sudo usermod -a -G docker "$USER"
+sudo docker --version
+
+# Download and install the docker-compose extension from https://github.com/docker/compose/releases
+f=docker-compose-$(uname -s)-$(uname -m)
+DownloadURL \
+ "$localRepo/$f-1.24.1" \
+ "https://github.com/docker/compose/releases/download/1.24.1/$f" \
+ cfb3439956216b1248308141f7193776fcf4b9c9b49cbbe2fb07885678e2bb8a
+sudo install -m 755 ./docker-compose* /usr/local/bin/docker-compose
+sudo docker-compose --version
+rm ./docker-compose*
+
+# Install Avahi to discover Docker containers in the test network
+sudo apt-get install avahi-daemon -y
+
+# Add registry mirror for docker images
+sudo tee -a /etc/docker/daemon.json <<"EOF"
+{
+ "registry-mirrors": ["http://repo-clones.ci.qt.io:5000"]
+}
+EOF
+
+echo "Restart Docker"
+sudo systemctl daemon-reload
+sudo systemctl restart docker
+
+# Start testserver provisioning
+sudo "$(readlink -f "$(dirname "${BASH_SOURCE[0]}")")/../common/shared/testserver/docker_testserver.sh"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/81-fix_mdns_docker_resolution.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/81-fix_mdns_docker_resolution.sh
new file mode 100644
index 00000000..30fe71ca
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/81-fix_mdns_docker_resolution.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 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
+
+# The new version of libnss-mdns resolver library automatically rejects all
+# hostnames with more than two labels (i.e. subdomains deep), for example
+# vsftpd.test-net.qt.local is automatically rejected. The changes here fix
+# this, see also https://github.com/lathiat/nss-mdns#etcmdnsallow
+
+cat <<EOT | sudo tee /etc/mdns.allow
+.local.
+.local
+EOT
+
+sudo sed -i '/^hosts:/s/.*/hosts: files mdns_minimal [NOTFOUND=return] mdns4 dns/' /etc/nsswitch.conf
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/85-qdoc_qtattributionsscanner.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/85-qdoc_qtattributionsscanner.sh
new file mode 100644
index 00000000..fd2a3afd
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/85-qdoc_qtattributionsscanner.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 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
+
+# Provisions qdoc and qtattributionsscanner binaries; these are used for
+# documentation testing without the need for a dependency to qttools.
+
+set -e
+
+# shellcheck source=../common/unix/check_and_set_proxy.sh
+"${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+version="68bdc5764da2d4e442181b408751b6572f36fa74"
+sha1="dac76e8f6cb69990661e7d814bea6f32fea29bf4"
+url="https://download.qt.io/development_releases/prebuilt/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu22.04-gcc11.4-x86_64.7z"
+url_cached="http://ci-files01-hki.ci.qt.io/input/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu22.04-gcc11.4-x86_64.7z"
+
+zip="/tmp/qdoc-qtattributionsscanner.7z"
+destination="/opt/qt-doctools"
+
+sudo mkdir -p "$destination"
+sudo chmod 755 "$destination"
+DownloadURL "$url_cached" "$url" "$sha1" "$zip"
+if command -v 7zr &> /dev/null; then
+ sudo 7zr x "$zip" "-o$destination/"
+else
+ sudo 7z x "$zip" "-o$destination/"
+fi
+sudo chown -R qt:users "$destination"
+rm -rf "$zip"
+
+echo -e "qdoc = $version\nqtattributionsscanner = $version" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-bootstrap-autostart.sh
new file mode 100644
index 00000000..1ff43850
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-bootstrap-autostart.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-install-ffmpeg.sh
new file mode 100644
index 00000000..61da9b7b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-install-ffmpeg.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-mimer.sh
new file mode 100644
index 00000000..f06ca1c8
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-mimer.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/mimersql.sh" "openssl-3" "deb"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-squish.sh
new file mode 100644
index 00000000..f803ccc1
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/90-squish.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 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
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/91-squish-coco.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/91-squish-coco.sh
new file mode 100644
index 00000000..e42a5373
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/91-squish-coco.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+#Copyright (C) 2023 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
+
+# shellcheck source=../common/linux/squish-coco.sh
+source "${BASH_SOURCE%/*}/../common/linux/squish-coco.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/92-sbuild.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/92-sbuild.sh
new file mode 100644
index 00000000..d538d783
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/92-sbuild.sh
@@ -0,0 +1,57 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 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
+
+# Setups sbuild environment
+
+tee ~/.sbuildrc << EOF
+##############################################################################
+# PACKAGE BUILD RELATED (additionally produce _source.changes)
+##############################################################################
+# -d
+\$distribution = 'stable';
+# -A
+\$build_arch_all = 1;
+# -s
+\$build_source = 1;
+# -v
+\$verbose = 1;
+# parallel build
+\$ENV{'DEB_BUILD_OPTIONS'} = 'parallel=8';
+##############################################################################
+# POST-BUILD RELATED (turn off functionality by setting variables to 0)
+##############################################################################
+\$run_lintian = 1;
+\$lintian_opts = ['-i', '-I'];
+\$run_piuparts = 0;
+\$piuparts_opts = ['--schroot', 'stable-amd64-sbuild', '--no-eatmydata'];
+\$run_autopkgtest = 0;
+\$autopkgtest_root_args = '';
+\$autopkgtest_opts = [ '--', 'schroot', '%r-%a-sbuild' ];
+
+##############################################################################
+# PERL MAGIC
+##############################################################################
+1;
+EOF
+
+# Add user group
+sudo sbuild-adduser "$LOGNAME"
+newgrp sbuild
+
+# Create chroot
+sudo sbuild-createchroot --include=eatmydata,ccache,gnupg,ca-certificates stable /srv/chroot/stable-amd64
+
+# For ubuntu 24.04
+echo "Create chroot for Ubuntu Noble"
+## ccache can't be found with Jammy (TODO: but now we have Noble - this should be tested)
+sudo sbuild-createchroot --include=eatmydata,gnupg,ca-certificates noble /srv/chroot/noble-amd64 http://archive.ubuntu.com/ubuntu/
+echo "Done creating chroot for Ubuntu Noble"
+
+# Update chroot.
+sudo sbuild-update -udcar stable
+
+
+
+
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-axivion-bauhaus-suite.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-axivion-bauhaus-suite.sh
new file mode 100644
index 00000000..8cecbbc3
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-axivion-bauhaus-suite.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+#Copyright (C) 2023 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
+
+# shellcheck source=../common/linux/axivion-bauhaus-suite.sh
+source "${BASH_SOURCE%/*}/../common/linux/axivion-bauhaus-suite.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-download-files-for-sbuild.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-download-files-for-sbuild.sh
new file mode 100644
index 00000000..f2192a4f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-download-files-for-sbuild.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 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
+
+# Get required deb files for sbuild to build qt debian packages for Ubuntu jammy
+mkdir -p /home/qt/debian_packages
+cd /home/qt/debian_packages || exit
+# Backported cmake 3.24
+wget https://ci-files01-hki.intra.qt.io/input/debian/cmake/amd64-jammy/cmake-3.24-deb.tar.gz
+tar xzf cmake-3.24-deb.tar.gz
+rm -rf cmake-3.24-deb.tar.gz
+# TODO: Adapt this from jammy to noble Ubuntu 24.04:
+# get rest of ready made Ubuntu jammy arm debian packages
+# so that sbuild can find those
+
+#wget http://ci-files01-hki.ci.qt.io/input/debian/icu/amd64-jammy/libicu-56.1-qt_56.1-1_amd64.deb
+#wget http://ci-files01-hki.ci.qt.io/input/debian/icu/amd64-jammy/libicu-56.1-qt-dev_56.1-1_amd64.deb
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-lcov.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-lcov.sh
new file mode 100644
index 00000000..de4a74d5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/93-lcov.sh
@@ -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
+
+# Install lcov 2.0 from 24.04/noble numbat
+
+echo "Installing lcov"
+wget https://ci-files01-hki.ci.qt.io/input/lcov/lcov_2.0-4ubuntu1_all.deb
+sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 install -f ./lcov_2.0-4ubuntu1_all.deb
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-cleanup.sh
new file mode 100644
index 00000000..4d6e16ea
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-cleanup.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 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
+
+"$(dirname "$0")"/../common/linux/cleanup_cache.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-enable_test_stacktraces.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-enable_test_stacktraces.sh
new file mode 100644
index 00000000..600b7850
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-enable_test_stacktraces.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/linux/enable_test_stacktraces.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-version.sh
new file mode 100644
index 00000000..31821f6b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/99-version.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+#Copyright (C) 2023 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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/ubuntu-version.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/36-install_grpc.sh b/coin/provisioning/qtci-macos-14-arm/36-install_grpc.sh
index ecd6a51f..d2860845 100755
--- a/coin/provisioning/qtci-macos-14-arm/36-install_grpc.sh
+++ b/coin/provisioning/qtci-macos-14-arm/36-install_grpc.sh
@@ -5,5 +5,6 @@
set -ex
# shellcheck source=../common/unix/install_grpc.sh
-source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+# Temporarily disabled due to OpenSSL linking errors
+#source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
diff --git a/coin/provisioning/qtci-windows-10-x86/02-python.ps1 b/coin/provisioning/qtci-windows-10-x86/02-python.ps1
deleted file mode 100644
index 19e64a94..00000000
--- a/coin/provisioning/qtci-windows-10-x86/02-python.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 32
diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps1
deleted file mode 100644
index bd2d52c3..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1
deleted file mode 100644
index e2e9be9c..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 64
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python-32bit.ps1
deleted file mode 100644
index bd2d52c3..00000000
--- a/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python-32bit.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python.ps1
deleted file mode 100644
index e2e9be9c..00000000
--- a/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 64
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python-32bit.ps1
deleted file mode 100644
index bd2d52c3..00000000
--- a/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python-32bit.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python.ps1
deleted file mode 100644
index e2e9be9c..00000000
--- a/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 64
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/98-git_usr_bin_to_path.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/98-git_usr_bin_to_path.ps1
deleted file mode 100644
index b3a976d3..00000000
--- a/coin/provisioning/qtci-windows-10_22H2-x86_64/98-git_usr_bin_to_path.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\git_usr_bin_to_path.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python-32bit.ps1
deleted file mode 100644
index bd2d52c3..00000000
--- a/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python-32bit.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python.ps1
deleted file mode 100644
index e2e9be9c..00000000
--- a/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 64
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/00-disable-netadapterlso.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/00-disable-netadapterlso.ps1
new file mode 100644
index 00000000..d20f1402
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/00-disable-netadapterlso.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/00-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/00-install-sevenzip.ps1
new file mode 100644
index 00000000..a9044256
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/00-install-sevenzip.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sevenzip.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-allow-remote-desktop-access.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-allow-remote-desktop-access.ps1
new file mode 100644
index 00000000..af05e838
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-allow-remote-desktop-access.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\allow-remote-desktop-access.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-change-resolution.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-change-resolution.ps1
new file mode 100644
index 00000000..c1e73a62
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-change-resolution.ps1
@@ -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"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-notifications.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-notifications.ps1
new file mode 100644
index 00000000..ada20147
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-notifications.ps1
@@ -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
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-runtimebroker.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-runtimebroker.ps1
new file mode 100644
index 00000000..8ae8190d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-runtimebroker.ps1
@@ -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
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-windows-telemetry.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-windows-telemetry.ps1
new file mode 100644
index 00000000..3f5a75f4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-disable-windows-telemetry.ps1
@@ -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
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-enable-guest-logon.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-enable-guest-logon.ps1
new file mode 100644
index 00000000..3cf989d3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-enable-guest-logon.ps1
@@ -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
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/01-set-proxy.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-set-proxy.ps1
new file mode 100644
index 00000000..13b1ec60
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/01-set-proxy.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\set-proxy.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-autoreboot.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-autoreboot.ps1
new file mode 100644
index 00000000..73430b76
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-autoreboot.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-autoreboot.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-sleep.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-sleep.ps1
new file mode 100644
index 00000000..5bf811ef
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/02-disable-sleep.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-sleep.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/03-nodejs.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/03-nodejs.ps1
new file mode 100644
index 00000000..6032e945
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/03-nodejs.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\nodejs.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/05-enable-devmode.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/05-enable-devmode.ps1
new file mode 100644
index 00000000..01e6f8b0
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/05-enable-devmode.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\win10-enable-devmode.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/05-wsearch-off.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/05-wsearch-off.ps1
new file mode 100644
index 00000000..eed6b734
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/05-wsearch-off.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\wsearch-off.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/06-longpath.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/06-longpath.ps1
new file mode 100644
index 00000000..6561d57b
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/06-longpath.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\longpath.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/06-mesa_llvmpipe.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/06-mesa_llvmpipe.ps1
new file mode 100644
index 00000000..1b1a07e9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/06-mesa_llvmpipe.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mesa_llvmpipe.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/06-ninja.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/06-ninja.ps1
new file mode 100644
index 00000000..ba571a1e
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/06-ninja.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\ninja.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/08-install-git.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/08-install-git.ps1
new file mode 100644
index 00000000..38106de7
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/08-install-git.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-git.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/08-python3.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/08-python3.ps1
new file mode 100644
index 00000000..74cb6997
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/08-python3.ps1
@@ -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
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-dependencywalker.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-dependencywalker.ps1
new file mode 100644
index 00000000..331de489
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-dependencywalker.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-dependencywalker.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-openssh.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-openssh.ps1
new file mode 100644
index 00000000..9de844da
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-openssh.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-openssh.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-sed.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-sed.ps1
new file mode 100644
index 00000000..b3c8fded
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-install-sed.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sed.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl-arm64.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl-arm64.ps1
new file mode 100644
index 00000000..c1bbf271
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl-arm64.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\openssl-arm64.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl.ps1
new file mode 100644
index 00000000..db3013e0
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-openssl.ps1
@@ -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"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-set-network-test-server.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-set-network-test-server.ps1
new file mode 100644
index 00000000..7918fabf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-set-network-test-server.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\set-network-test-server.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/09-vulkansdk.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-vulkansdk.ps1
new file mode 100644
index 00000000..54a3d563
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/09-vulkansdk.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\vulkansdk.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/22-mqtt_broker.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/22-mqtt_broker.ps1
new file mode 100644
index 00000000..71deb0d4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/22-mqtt_broker.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mqtt_broker.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/23-winrtrunner.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/23-winrtrunner.ps1
new file mode 100644
index 00000000..078f862e
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/23-winrtrunner.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\winrtrunner.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/25-llvm-mingw.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/25-llvm-mingw.ps1
new file mode 100644
index 00000000..9ce91521
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/25-llvm-mingw.ps1
@@ -0,0 +1,20 @@
+# 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
+
+. "$PSScriptRoot\..\common\windows\helpers.ps1"
+
+# This script installs LLVM-Mingw by mstorsjo
+# https://github.com/mstorsjo/llvm-mingw/releases/tag/20240320
+
+$zip = Get-DownloadLocation "llvm-mingw-20240320-ucrt-aarch64.zip"
+$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/llvm-mingw-20240320-ucrt-aarch64.zip"
+$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20240320/llvm-mingw-20240320-ucrt-aarch64.zip"
+
+Download $url_official $url_cache $zip
+Verify-Checksum $zip "1ea4870551a6aaf0d51332be1ea10ce776ee3b42"
+Extract-7Zip $zip C:\
+
+Rename-Item C:\llvm-mingw-20240320-ucrt-aarch64 C:\llvm-mingw
+
+Write-Output "llvm-mingw = 18.1.2" >> ~/versions.txt
+Remove-Item -Path $zip
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/29-libusb.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/29-libusb.ps1
new file mode 100644
index 00000000..6035912d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/29-libusb.ps1
@@ -0,0 +1,3 @@
+
+
+. "$PSScriptRoot\..\common\windows\libusb.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/35-install-breakpad.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/35-install-breakpad.ps1
new file mode 100644
index 00000000..9360a326
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/35-install-breakpad.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-breakpad.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/36-install-gnuwin32.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/36-install-gnuwin32.ps1
new file mode 100644
index 00000000..0e2abbac
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/36-install-gnuwin32.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-gnuwin32.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/60-jom.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/60-jom.ps1
new file mode 100644
index 00000000..b246ce25
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/60-jom.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\jom.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/70-cmake.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/70-cmake.ps1
new file mode 100644
index 00000000..73dc7bc2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/70-cmake.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\cmake.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/85-disable_quickedit_powershell.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/85-disable_quickedit_powershell.ps1
new file mode 100644
index 00000000..547e15a8
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/85-disable_quickedit_powershell.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-quickedit.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/90-3dstudio_3rdparty.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-3dstudio_3rdparty.ps1
new file mode 100644
index 00000000..114f52f9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-3dstudio_3rdparty.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\3dstudio_3rdparty.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-notepad++.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-notepad++.ps1
new file mode 100644
index 00000000..455d92bf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-notepad++.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-notepad++.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-stm32cubeprogrammer.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-stm32cubeprogrammer.ps1
new file mode 100644
index 00000000..25c2bb42
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-install-stm32cubeprogrammer.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-stm32cubeprogrammer.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/90-libusb.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-libusb.ps1
new file mode 100644
index 00000000..29a1cfa4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-libusb.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\libusb.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/90-python-modules.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-python-modules.ps1
new file mode 100644
index 00000000..adf9e30b
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/90-python-modules.ps1
@@ -0,0 +1,5 @@
+. "$PSScriptRoot\..\common\windows\helpers.ps1"
+
+# Needed by packaging scripts
+$scriptsPath = [System.Environment]::GetEnvironmentVariable('PIP3_PATH', [System.EnvironmentVariableTarget]::Machine)
+Run-Executable "$scriptsPath\pip3.exe" "install bs4"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/96-disable-windows-module-installer.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/96-disable-windows-module-installer.ps1
new file mode 100644
index 00000000..fb8ec541
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/96-disable-windows-module-installer.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-windows-module-installer.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/98-unset-proxy.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/98-unset-proxy.ps1
new file mode 100644
index 00000000..0c25a0fb
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/98-unset-proxy.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\unset-proxy.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/99-share-test-folders.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/99-share-test-folders.ps1
new file mode 100644
index 00000000..576fcfdc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/99-share-test-folders.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\share-test-folders.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-aarch64/99-version.ps1 b/coin/provisioning/qtci-windows-11_22H2-aarch64/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-aarch64/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/02-python-32bit.ps1
deleted file mode 100644
index bd2d52c3..00000000
--- a/coin/provisioning/qtci-windows-11_22H2-x86_64/02-python-32bit.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/02-python.ps1
deleted file mode 100644
index e2e9be9c..00000000
--- a/coin/provisioning/qtci-windows-11_22H2-x86_64/02-python.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 64
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/98-git_usr_bin_to_path.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/98-git_usr_bin_to_path.ps1
deleted file mode 100644
index b3a976d3..00000000
--- a/coin/provisioning/qtci-windows-11_22H2-x86_64/98-git_usr_bin_to_path.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\git_usr_bin_to_path.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/02-python-32bit.ps1
deleted file mode 100644
index bd2d52c3..00000000
--- a/coin/provisioning/qtci-windows-11_23H2-x86_64/02-python-32bit.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/02-python.ps1
deleted file mode 100644
index e2e9be9c..00000000
--- a/coin/provisioning/qtci-windows-11_23H2-x86_64/02-python.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 64
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/98-git_usr_bin_to_path.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/98-git_usr_bin_to_path.ps1
deleted file mode 100644
index b3a976d3..00000000
--- a/coin/provisioning/qtci-windows-11_23H2-x86_64/98-git_usr_bin_to_path.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\git_usr_bin_to_path.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/07-python2.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/07-python2.ps1
deleted file mode 100644
index e2e9be9c..00000000
--- a/coin/provisioning/qtci-windows-8.1-x86_64/07-python2.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 64
diff --git a/qt3d b/qt3d
-Subproject ea6cc11bcdac30fab1661e68403abfdfb53dd61
+Subproject 7436bbf6c57f288dea560a5eb90d8ab5b722834
diff --git a/qt5compat b/qt5compat
-Subproject b17fcdb6306d1575118250a83265fde3b0bf4f2
+Subproject 29a070f62732e14ffbdcad316f571a75e2c9b4e
diff --git a/qtactiveqt b/qtactiveqt
-Subproject 67cee14fe7ea0542ffa1d305eeb2870b600fd68
+Subproject a2e0cba59db7d7d879ed0dca5cc854e3f4bf56a
diff --git a/qtbase b/qtbase
-Subproject e7362764d4931f255d2377462df8ac7a0d4e7c8
+Subproject 244964d06a3ffcfea922f79c726ba9182149e2c
diff --git a/qtcharts b/qtcharts
-Subproject e157476c4d92161735aa765cb1d2944ee3bbce1
+Subproject 5d1e1c71de4f44b6765b2dc08624933a9e8be53
diff --git a/qtcoap b/qtcoap
-Subproject 2b07ae2cb3f475df63d3ace109e8a74204debd3
+Subproject c110a072cf63fc1f6a54b2333696e60b18ca8ae
diff --git a/qtconnectivity b/qtconnectivity
-Subproject 300af80d22c149fca9fe443ea191a5dec0915c6
+Subproject 3676fe7bede8cae706d58db15ceb38ef80d0e2c
diff --git a/qtdatavis3d b/qtdatavis3d
-Subproject 1da76a04536dadcbe282cd6df5f4896334e7c77
+Subproject 97bf08196865d742ce1e032ec50b6b10e44cb1a
diff --git a/qtdeclarative b/qtdeclarative
-Subproject 330fa93d6e9003c0ea188b9e703f2b3f0448f8c
+Subproject 4ad3d0c6096e6caefec74681eed86c2fa92149f
diff --git a/qtdoc b/qtdoc
-Subproject 83ccee427058d2574624d54bca634a66a73b22c
+Subproject b395157ee6e932ccb3bd05e64e9e4a5fffe779b
diff --git a/qtgraphs b/qtgraphs
-Subproject 93220511230aad52f4cd3c08eebcb1b2bcebeac
+Subproject 0569f02599f25d705898de0c673140765b99988
diff --git a/qtgrpc b/qtgrpc
-Subproject 3a586f45e009a0d63f4c1e033becdd3f227cbee
+Subproject 4e619fc2fcd6dc4d7d0928e9a2db034c8b68223
diff --git a/qthttpserver b/qthttpserver
-Subproject 1b72902310451c1e2acbdd85413bfdc18e3b6ba
+Subproject 9472e2b3de6427648d4af82ac4c5f9138531131
diff --git a/qtimageformats b/qtimageformats
-Subproject 490c1efee3c58ff7439530e21c5fd0dd86c3846
+Subproject 14970083d0702de4f2ec162a07c8d97717c392f
diff --git a/qtlanguageserver b/qtlanguageserver
-Subproject 1cfd21c3b08f79c294f2257e983425a776df163
+Subproject 70898fe27b8c28e41d38b46b68049d278ef3162
diff --git a/qtlocation b/qtlocation
-Subproject e1125cf831ec61e14457444dd85655f92ec1dab
+Subproject c9f12395bac82d0f0f2aa45caec765d1ed3bb5f
diff --git a/qtlottie b/qtlottie
-Subproject 3f0cf7fb092084834a3b813f07cbc44d8984d2f
+Subproject 2d6ec04ddd0567c901239a54fe7f909ba8b8aaa
diff --git a/qtmqtt b/qtmqtt
-Subproject 724b5a12aef6a6482b5d6382ab9e85a82b34156
+Subproject 22cc223fa0e3bf2b6def5ae01c3744fb475efc5
diff --git a/qtmultimedia b/qtmultimedia
-Subproject 18f699b667982b60fbd7d3adc539cde81e742c2
+Subproject c8ba076f80d1c100d237343a19887db51e09111
diff --git a/qtnetworkauth b/qtnetworkauth
-Subproject e43647ce8b5488a9d7c8501a29ad1ee74b063a9
+Subproject b0e6658743494e097257a3c1b619abd116aaed9
diff --git a/qtopcua b/qtopcua
-Subproject 4623f47c1589752db56052f1600be5f55f3bc0f
+Subproject f5d9e4116be209b22ba812744178fe7a068e817
diff --git a/qtpositioning b/qtpositioning
-Subproject 21bbe4ee94c3a81b91610c2cc374415fdfdd338
+Subproject 413ede61f32da23c446654a98f285ce06ef035c
diff --git a/qtqa b/qtqa
-Subproject 1305349e71b772f48d683d78844695b4db608ed
+Subproject b77c911a9c68d9c2956130e8c108dad8052573e
diff --git a/qtquick3d b/qtquick3d
-Subproject 9653f92bc1cf129940c2159acac35481324ba53
+Subproject cf8859dcdc2aede907dc36a138a527719dca016
diff --git a/qtquick3dphysics b/qtquick3dphysics
-Subproject 45b8b8455da4a8ca688617a5f78b34899611e3e
+Subproject 4cce79cd1594770dfcb280aabcb91ff360da38d
diff --git a/qtquickeffectmaker b/qtquickeffectmaker
-Subproject ed4b5dbc2252c2a39eb7a9267d586a685f59e7b
+Subproject 1173eb435a6033453f2e49fca0c9d81c77ee629
diff --git a/qtquicktimeline b/qtquicktimeline
-Subproject 428b4cfc7dac9b319229c74dda5f3440c0064b1
+Subproject dae240097b0dc1749e038565f56406efd646855
diff --git a/qtremoteobjects b/qtremoteobjects
-Subproject a24e4482dd0dd1d1939fc88422617785f5724bd
+Subproject dcacf5c7aa5b9ada58d256e206a8792294ce546
diff --git a/qtscxml b/qtscxml
-Subproject bf685529c776e329d223ecbd590219cb3ecea7c
+Subproject a5c6c03fb27e00ce8155ab774808b585ccb70bb
diff --git a/qtsensors b/qtsensors
-Subproject dbde1971bc2759364601dfb48477b29d98a0e62
+Subproject 03368c437aebb46968635cbd5ea1f754e69297b
diff --git a/qtserialbus b/qtserialbus
-Subproject 52c3f5d96e4fc42d242017ff3dd1f865a08840b
+Subproject d2ef492af98c8cc25951e4d049742ea44cfa19f
diff --git a/qtserialport b/qtserialport
-Subproject e06c8f943d6e8762c7345ca698b8889cd5daec7
+Subproject fbf728e58909a3952f3ba5d283db1ada7f46388
diff --git a/qtshadertools b/qtshadertools
-Subproject 626be35fe558e5d5d8337cc64fc8a8854ec6eff
+Subproject 50f1193245c47cadef4e74ee6d261c038d9796d
diff --git a/qtspeech b/qtspeech
-Subproject 50e4b3f126cf8c8d085924ad253a2aefbeb04fc
+Subproject 4d7355d6da376d84b377034d514b259a9a65064
diff --git a/qtsvg b/qtsvg
-Subproject b5a9711109774baed6ea14079ff87802d191d2a
+Subproject 7c255093fa41d9885767a276e5a344c8780b950
diff --git a/qttools b/qttools
-Subproject 70f1c85c0a60ac80f088abdff08edfa902cca38
+Subproject 49438275bdf6b08ba46e2ea2d89753f1f9c63d7
diff --git a/qttranslations b/qttranslations
-Subproject 3190e96e5e182bee91b68a905bffbfe6f73595a
+Subproject 937ab6d3d95aec88f80d72432f7cf07fc582e63
diff --git a/qtvirtualkeyboard b/qtvirtualkeyboard
-Subproject 2b75c7fd4acb8354c1a8f29b0e564e95c9aa596
+Subproject fe318ca5eada301d8bc19d2eebc23679607c970
diff --git a/qtwayland b/qtwayland
-Subproject 2c2763760bcdd8894cfe9d9a1c07f7b02269289
+Subproject d72cd58a3f1e97a4e9be78d16536821c969c356
diff --git a/qtwebchannel b/qtwebchannel
-Subproject 733ab7219390133a0cd6a22bfb6ff35eee15c6d
+Subproject 9f1ca1c6bdde6adedeb215e487ebdb05a17ad2d
diff --git a/qtwebengine b/qtwebengine
-Subproject 967a54e1a87d2e65cb427e6bea1749fd48784f1
+Subproject ebf9ad043daa53c310ea2d5ee9987afbc615e4c
diff --git a/qtwebsockets b/qtwebsockets
-Subproject 3be45ae54e4e732280cd5c8d5690513dbec1ea9
+Subproject 9ee34de492ef99c518b5db34877cdc5ae652a88
diff --git a/qtwebview b/qtwebview
-Subproject 6cf31ed99c78f838bcd49ebc6203c7a05754e9d
+Subproject 3c5af32f1534f60ab2fc028fd02bb7c71b46404