aboutsummaryrefslogtreecommitdiffstats
path: root/coin
diff options
context:
space:
mode:
Diffstat (limited to 'coin')
-rw-r--r--coin/platform_configs/address_sanitizer_platforms.yaml2
-rw-r--r--coin/platform_configs/cmake_platforms.yaml163
-rw-r--r--coin/platform_configs/cmake_platforms_qemu_vxworks.yaml2
-rw-r--r--coin/platform_configs/cmake_platforms_target_android.yaml12
-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.yaml30
-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.yaml10
-rw-r--r--coin/platform_configs/precheck.yaml4
-rw-r--r--coin/platform_configs/qt-creator.yaml10
-rw-r--r--coin/platform_configs/qtbase-new-compiler-testing.yaml12
-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.yaml6
-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.sh16
-rw-r--r--coin/provisioning/common/linux/fix-bwrap-apparmor.sh21
-rwxr-xr-xcoin/provisioning/common/linux/install-patchelf.sh26
-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/disable_spotlight.sh33
-rwxr-xr-xcoin/provisioning/common/macos/python3.sh23
-rwxr-xr-xcoin/provisioning/common/shared/fix_ffmpeg_dependencies.sh50
-rw-r--r--coin/provisioning/common/shared/sbom_requirements.txt5
-rwxr-xr-xcoin/provisioning/common/unix/install-conan.sh3
-rwxr-xr-xcoin/provisioning/common/unix/install-ffmpeg-android.sh28
-rwxr-xr-xcoin/provisioning/common/unix/install-ffmpeg-ios.sh4
-rwxr-xr-xcoin/provisioning/common/unix/install-ffmpeg.sh23
-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/helpers.ps153
-rw-r--r--coin/provisioning/common/windows/install-dependencywalker.ps130
-rw-r--r--coin/provisioning/common/windows/install-ffmpeg.ps179
-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/mimersql.ps12
-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.ps133
-rw-r--r--coin/provisioning/common/windows/qnx710.ps16
-rwxr-xr-xcoin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-install-patchelf.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-install-patchelf.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-install-patchelf.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-install-patchelf.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-install-patchelf.sh5
-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.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-install-patchelf.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-pythondev.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-install-ffmpeg.sh2
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-pythondev.sh5
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/02-apt.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh14
-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/02-apt.sh14
-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-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.sh261
-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-linux-openSUSE-15.5-x86_64/08-pythondev.sh1
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/01-set_tcc_permissions.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/25-python.sh1
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/27-binutils.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/28-patchelf.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/01-set_tcc_permissions.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/25-python.sh1
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/27-binutils.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/28-patchelf.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/25-python.sh1
-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-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_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/40-qnx710.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/07-python2.ps11
207 files changed, 2532 insertions, 400 deletions
diff --git a/coin/platform_configs/address_sanitizer_platforms.yaml b/coin/platform_configs/address_sanitizer_platforms.yaml
index 0db6392b..8878d439 100644
--- a/coin/platform_configs/address_sanitizer_platforms.yaml
+++ b/coin/platform_configs/address_sanitizer_platforms.yaml
@@ -8,5 +8,5 @@ Configurations:
Configure arguments: '-nomake examples -developer-build'
Environment variables: [
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
- 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE'
]
diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml
index a7602bd4..c6c6d43c 100644
--- a/coin/platform_configs/cmake_platforms.yaml
+++ b/coin/platform_configs/cmake_platforms.yaml
@@ -14,7 +14,7 @@ Configurations:
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}}']
+ Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE']
-
Id: 'ubuntu-22.04'
Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
@@ -23,7 +23,7 @@ Configurations:
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'
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON -DQT_DEPLOY_FFMPEG=TRUE'
]
# Test on Ubuntu 22.04 X11
-
@@ -38,24 +38,60 @@ Configurations:
Compiler: 'GCC'
Features: ['Sccache', 'TestOnly']
Platform dependency: 'ubuntu-22.04'
-# Build on Ubuntu 24.04 ARM64 and test on both X11 and Wayland later
+# 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'
+ 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 -qpa offscreen\;xcb'
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 X11
+# Test on Ubuntu 24.04 ARM64 offscreen
-
- Id: 'ubuntu-24.04-arm64-x11-tests'
+ 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_OFFSCREEN_NO_GLX=1',
+ '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}} -DQT_DEPLOY_FFMPEG=TRUE']
+-
+ 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}} -DQT_DEPLOY_FFMPEG=TRUE -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'
@@ -65,7 +101,7 @@ Configurations:
Environment variables: [
'PATH={{.Env.CMAKE_MIN_SUPPORTED_BIN_PATH}}:{{.Env.PATH}}',
'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
- 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE'
]
-
Id: 'sles-15_sp5-static'
@@ -78,30 +114,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'
@@ -126,56 +138,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 +156,7 @@ Configurations:
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
- 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DFEATURE_native_grpc=OFF -DINPUT_headersclean=ON'
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DINPUT_headersclean=ON'
]
-
Id: 'rhel-9.2'
@@ -196,7 +166,7 @@ Configurations:
Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -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'
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON'
]
# Build on Debian-11.6 and split test on Wayland and offscreen later
-
@@ -204,7 +174,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}}',
]
@@ -216,6 +186,7 @@ Configurations:
Features: ['Sccache', 'InsignificantTests', 'TestOnly']
Environment variables: [
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
+ 'QT_QPA_OFFSCREEN_NO_GLX=1',
'QT_QPA_PLATFORM=offscreen'
]
Platform dependency: 'debian-11.6-arm64'
@@ -246,19 +217,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'
@@ -272,19 +230,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..12f0a335 100644
--- a/coin/platform_configs/cmake_platforms_target_android.yaml
+++ b/coin/platform_configs/cmake_platforms_target_android.yaml
@@ -12,7 +12,7 @@ Configurations:
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis arm64-v8a',
'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=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARM64}} -DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}'
]
-
@@ -28,11 +28,11 @@ Configurations:
'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis armeabi-v7a -no-feature-pkg-config',
'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=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARMV7}} -DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR={{.Env.Protobuf_ROOT_msvc}}/include',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARMV7}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR={{.Env.Protobuf_ROOT_msvc}}/include',
'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'
@@ -43,9 +43,9 @@ Configurations:
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
'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',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86}} -DQT_DEPLOY_FFMPEG=TRUE -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'
@@ -59,7 +59,7 @@ Configurations:
Environment variables: [
'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
- 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64}}',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64}} -DQT_DEPLOY_FFMPEG=TRUE',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}',
'ANDROID_EMULATOR=emulator_x86_64_api_34'
]
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 ff2645d4..76052c54 100644
--- a/coin/platform_configs/macos.yaml
+++ b/coin/platform_configs/macos.yaml
@@ -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'
@@ -141,12 +159,24 @@ Configurations:
Features: ['TestOnly']
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-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'
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
index da7a8c17..00113341 100644
--- a/coin/platform_configs/nightly_ubuntu_24_04_arm64_documentation.yaml
+++ b/coin/platform_configs/nightly_ubuntu_24_04_arm64_documentation.yaml
@@ -1,7 +1,7 @@
Version: 2
Configurations:
# cmake_platforms.yaml
-# Build on Ubuntu 24.04 ARM64 and test on both X11 and Wayland later
+# 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'
@@ -9,10 +9,14 @@ Configurations:
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 X11
+# Test on Ubuntu 24.04 ARM64 offscreen
-
- Id: 'ubuntu-24.04-arm64-documentation-x11-tests'
+ 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..daf51dea 100644
--- a/coin/platform_configs/precheck.yaml
+++ b/coin/platform_configs/precheck.yaml
@@ -5,11 +5,11 @@ Include: [
"ubuntu-22.04",
"ubuntu-22.04-documentation",
"ubuntu-22.04-documentation-x11-tests",
- "windows-10_22h2-msvc2019-developer-build",
+ "windows-11_23H2-msvc2022",
"ios-universal"
],
macos.yaml: [
- "macos-12-x86_64-tests",
+ "macos-14-arm64-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/qtbase-new-compiler-testing.yaml b/coin/platform_configs/qtbase-new-compiler-testing.yaml
index 19361ff9..09e0d54a 100644
--- a/coin/platform_configs/qtbase-new-compiler-testing.yaml
+++ b/coin/platform_configs/qtbase-new-compiler-testing.yaml
@@ -12,3 +12,15 @@ Configurations:
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
]
+# Test gcc-14 on Ubuntu 24.04 ARM64 Wayland
+-
+ Id: 'ubuntu-24.04-arm64-gcc14'
+ Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
+ Compiler: 'GCC'
+ Features: ['UseConfigure', 'DoNotRunTests']
+ Configure arguments: '-developer-build -nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-pcre -no-libudev -bundled-xcb-xinput'
+ Environment variables: [
+ 'COMMON_CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc-14 -DCMAKE_CXX_COMPILER=g++-14',
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
+ ]
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..06b3c8c0 100644
--- a/coin/platform_configs/tqtc-android-automotive.yaml
+++ b/coin/platform_configs/tqtc-android-automotive.yaml
@@ -12,13 +12,13 @@ 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'
]
]
Configurations:
-
- Id: "automotive-android-13-x86_64-on-linux"
+ Id: "automotive-android-14-x86_64-on-linux"
Template: 'qtci-linux-RHEL-8.8-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86_64'
@@ -31,7 +31,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}}',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
- 'ANDROID_EMULATOR=automotive_emulator_x86_64_api_33'
+ 'ANDROID_EMULATOR=automotive_emulator_x86_64_api_34'
]
-
Id: "automotive-android-10-x86_64-on-linux"
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..7fb7bf08 100755
--- a/coin/provisioning/common/linux/android_linux.sh
+++ b/coin/provisioning/common/linux/android_linux.sh
@@ -39,9 +39,9 @@ android14SystemZipSha="ede80c6901e8fad1895c97a86542b8e072bb1ee5"
android14SystemPath="$basePath/$android14SystemZipName"
# Android Automotive max SDK level image
-sdkApiLevelAutomotiveMax="android-33"
+sdkApiLevelAutomotiveMax="android-34"
androidAutomotiveMaxUrl="$basePath/${sdkApiLevelAutomotiveMax}_automotive.tar.gz"
-androidAutomotiveMaxSha="b020a938ec46af2510047284406e9bed608cad03"
+androidAutomotiveMaxSha="2cc5dae4fd0bdefb188a3b84019d0d1e65501519"
# Android Automotive min SDK level image
sdkApiLevelAutomotiveMin="android-29"
androidAutomotiveMinUrl="$basePath/${sdkApiLevelAutomotiveMin}_automotive.tar.gz"
@@ -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"
@@ -168,7 +168,7 @@ echo "Install maximum supported SDK level image for Android Automotive $sdkApiLe
DownloadURL "$androidAutomotiveMaxUrl" "$androidAutomotiveMaxUrl" "$androidAutomotiveMaxSha" \
"/tmp/${sdkApiLevelAutomotiveMax}_automotive.tar.gz"
sudo tar -xzf "/tmp/${sdkApiLevelAutomotiveMax}_automotive.tar.gz" -C "$sdkTargetFolder/system-images"
-echo "no" | ./avdmanager create avd -n automotive_emulator_x86_64_api_33 -c 2048M -f \
+echo "no" | ./avdmanager create avd -n automotive_emulator_x86_64_api_34 -c 2048M -f \
-k "system-images;${sdkApiLevelAutomotiveMax};android-automotive;x86_64"
echo "Install minimum supported SDK level image for Android Automotive $sdkApiLevelAutomotiveMin"
@@ -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/install-patchelf.sh b/coin/provisioning/common/linux/install-patchelf.sh
new file mode 100755
index 00000000..6600795c
--- /dev/null
+++ b/coin/provisioning/common/linux/install-patchelf.sh
@@ -0,0 +1,26 @@
+#!/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
+
+
+source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
+patchelf_version="0.18.0"
+
+url_cached="http://ci-files01-hki.ci.qt.io/input/patchelf/$patchelf_version.tar.gz"
+url_public="https://github.com/NixOS/patchelf/archive/refs/tags/$patchelf_version.tar.gz"
+sha1="7eb974172de73b7b452ee376237ad78601603c45"
+
+target_source_dir="$HOME/patchelf-$patchelf_version"
+
+if [ ! -d "$target_source_dir" ]; then
+ InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$HOME" ""
+fi
+
+pushd "$target_source_dir"
+
+./bootstrap.sh
+./configure
+make
+sudo make install
+
+popd
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/disable_spotlight.sh b/coin/provisioning/common/macos/disable_spotlight.sh
index a404d3e7..b4907ca0 100755
--- a/coin/provisioning/common/macos/disable_spotlight.sh
+++ b/coin/provisioning/common/macos/disable_spotlight.sh
@@ -2,10 +2,29 @@
# 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
-# Disable spotlight and and stop indexing
-sudo mdutil -a -i off
-sudo mdutil -a -i off /
-# Disable spotlight indexing /Volumes
-sudo mdutil -i off /Volumes
-# Erase spotlight index
-sudo mdutil -E /
+disableSpotlight() {
+ # Disable spotlight and and stop indexing
+ sudo mdutil -a -i off
+ sudo mdutil -a -i off /
+ # Disable spotlight indexing /Volumes
+ sudo mdutil -i off /Volumes
+ # Erase spotlight index
+ sudo mdutil -E /
+}
+
+# Disabling spotlight tends to be flaky, add some retry
+for i in $(seq 1 5)
+do
+ disableSpotlight
+ res=$?
+ if [[ $res -eq 0 ]]
+ then
+ echo "Spotlight disabled"
+ break
+ else
+ echo "Failed to disable spotlight, $i retry..."
+ sleep 2
+ fi
+done
+
+exit $res
diff --git a/coin/provisioning/common/macos/python3.sh b/coin/provisioning/common/macos/python3.sh
index 925a4925..ff74bd4a 100755
--- a/coin/provisioning/common/macos/python3.sh
+++ b/coin/provisioning/common/macos/python3.sh
@@ -12,25 +12,24 @@ 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
+/Library/Frameworks/Python.framework/Versions/3.11/bin/pip3 install -r ${BASH_SOURCE%/*}/../shared/sbom_requirements.txt
-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/shared/fix_ffmpeg_dependencies.sh b/coin/provisioning/common/shared/fix_ffmpeg_dependencies.sh
new file mode 100755
index 00000000..54d566a1
--- /dev/null
+++ b/coin/provisioning/common/shared/fix_ffmpeg_dependencies.sh
@@ -0,0 +1,50 @@
+#!/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 -x
+
+lib_dir="$1/lib"
+additional_suffix="${2:-}"
+set_rpath="${3:-yes}"
+
+if uname -a |grep -q "Darwin"; then
+ readelf() {
+ /usr/local/opt/binutils/bin/readelf "$@"
+ }
+fi
+
+ffmpeg_libs=("avcodec" "avdevice" "avfilter" "avformat" "avutil" "swresample" "swscale")
+
+for lib_name in "${ffmpeg_libs[@]}"; do
+ lib_path="$lib_dir/lib$lib_name.so"
+ pkg_config_file_path="$lib_dir/pkgconfig/lib$lib_name.pc"
+
+ if [ ! -f "$lib_path" ]; then
+ echo "FFmpeg lib $lib_path hasn't been found"
+ exit 1
+ fi
+
+ if [ ! -f "$pkg_config_file_path" ]; then
+ echo "FFmpeg pc file $pkg_config_file_path hasn't been found"
+ exit 1
+ fi
+
+ while read -r line; do
+ if [[ $line =~ .*\[(lib((ssl|crypto|va|va-x11|va-drm)(_3)?\.so(\.[0-9]+)*))\].* ]]; then
+ stub_name="libQt6FFmpegStub-${BASH_REMATCH[2]}"
+ if [[ ${BASH_REMATCH[4]} == "_3" ]]; then
+ stub_name="${stub_name/_3/}" # Remove "_3" from stub_name
+ fi
+ if [[ -n "$additional_suffix" ]]; then
+ stub_name="${stub_name%%.*}${additional_suffix}.${stub_name#*.}" # Add additional_suffix
+ fi
+ patchelf --replace-needed "${BASH_REMATCH[1]}" "${stub_name}" $lib_path
+ fi
+ done <<< "$(readelf -d $lib_path | grep '(NEEDED)' )"
+
+ sed -i.bak -E '/^Libs.private:/s/ -l(va|va-x11|va-drm|ssl|crypto)/ -lQt6FFmpegStub-\1/g;' $pkg_config_file_path && rm -f ${pkg_config_file_path}.bak
+ if [[ "$set_rpath" == "yes" ]]; then
+ patchelf --set-rpath '$ORIGIN' $lib_path
+ fi
+done
diff --git a/coin/provisioning/common/shared/sbom_requirements.txt b/coin/provisioning/common/shared/sbom_requirements.txt
new file mode 100644
index 00000000..0c72d654
--- /dev/null
+++ b/coin/provisioning/common/shared/sbom_requirements.txt
@@ -0,0 +1,5 @@
+# Python packages used to validate and audit Qt SBOM informaiton
+spdx-tools>=0.8.0
+ntia-conformance-checker
+sbomaudit
+sbom2doc
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-ffmpeg-android.sh b/coin/provisioning/common/unix/install-ffmpeg-android.sh
index 05d0b681..fc0084da 100755
--- a/coin/provisioning/common/unix/install-ffmpeg-android.sh
+++ b/coin/provisioning/common/unix/install-ffmpeg-android.sh
@@ -2,7 +2,7 @@
# 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
-# This script will build and install FFmpeg static libs
+# This script will build and install FFmpeg shared libs
set -ex
os="$1"
@@ -11,9 +11,9 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-version="n6.1.1"
+version="n7.0"
url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
-sha1="59e0c3c4cc48e9c60073495f8c045329bb21f446"
+sha1="042260ec5013eb29c89c13443a0f42cbe6fbceaa"
url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
ffmpeg_name="FFmpeg-$version"
@@ -30,28 +30,36 @@ build_ffmpeg_android() {
target_arch=$1
target_dir=$2
+ shared="${3:-no}"
sudo mkdir -p "$target_dir"
openssl_include="$OPENSSL_ANDROID_HOME_DEFAULT/include"
openssl_libs=""
+ libs_prefix=""
if [ "$target_arch" == "x86_64" ]; then
target_toolchain_arch="x86_64-linux-android"
target_arch=x86_64
target_cpu=x86-64
openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/x86_64"
+ libs_prefix="_x86_64"
elif [ "$target_arch" == "x86" ]; then
target_toolchain_arch="i686-linux-android"
target_arch=x86
target_cpu=i686
openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/x86"
+ libs_prefix="_x86"
elif [ "$target_arch" == "arm64" ]; then
target_toolchain_arch="aarch64-linux-android"
target_arch=aarch64
target_cpu=armv8-a
openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/arm64-v8a"
+ libs_prefix="_arm64-v8a"
fi
+ ln -s "${openssl_libs}/libcrypto_3.so" "${openssl_libs}/libcrypto.so"
+ ln -s "${openssl_libs}/libssl_3.so" "${openssl_libs}/libssl.so"
+
api_version=24
ndk_root=$ANDROID_NDK_ROOT_DEFAULT
@@ -71,6 +79,9 @@ build_ffmpeg_android() {
ffmpeg_config_options=$(cat "${BASH_SOURCE%/*}/../shared/ffmpeg_config_options.txt")
ffmpeg_config_options+=" --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-openssl --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera"
+ if [[ "$shared" == "yes" ]]; then
+ ffmpeg_config_options+=" --enable-shared --disable-static"
+ fi
ffmpeg_config_options+=" --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/"
ffmpeg_config_options+=" --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}"
ffmpeg_config_options+=" --extra-cflags=-I${openssl_include} --extra-ldflags=-L${openssl_libs}"
@@ -83,6 +94,15 @@ build_ffmpeg_android() {
sudo "$ffmpeg_source_dir/configure" $ffmpeg_config_options --prefix="$target_dir"
sudo make install -j4
+
+ rm -f "${openssl_libs}/libcrypto.so"
+ rm -f "${openssl_libs}/libssl.so"
+
+ if [[ "$shared" == "yes" ]]; then
+ fix_dependencies="${BASH_SOURCE%/*}/../shared/fix_ffmpeg_dependencies.sh"
+ sudo "${fix_dependencies}" "${target_dir}" "${libs_prefix}" "no"
+ fi
+
popd
}
@@ -103,4 +123,4 @@ elif [ "$os" == "android-arm64" ]; then
SetEnvVar "FFMPEG_DIR_ANDROID_ARM64" "$target_dir"
fi
-build_ffmpeg_android "$target_arch" "$target_dir"
+build_ffmpeg_android "$target_arch" "$target_dir" "yes"
diff --git a/coin/provisioning/common/unix/install-ffmpeg-ios.sh b/coin/provisioning/common/unix/install-ffmpeg-ios.sh
index e2a401a5..d8238294 100755
--- a/coin/provisioning/common/unix/install-ffmpeg-ios.sh
+++ b/coin/provisioning/common/unix/install-ffmpeg-ios.sh
@@ -10,8 +10,8 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-version="n6.1.1"
-sha1="59e0c3c4cc48e9c60073495f8c045329bb21f446"
+version="n7.0"
+sha1="042260ec5013eb29c89c13443a0f42cbe6fbceaa"
url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
ffmpeg_name="FFmpeg-$version"
diff --git a/coin/provisioning/common/unix/install-ffmpeg.sh b/coin/provisioning/common/unix/install-ffmpeg.sh
index 94d032ed..67255e3c 100755
--- a/coin/provisioning/common/unix/install-ffmpeg.sh
+++ b/coin/provisioning/common/unix/install-ffmpeg.sh
@@ -11,9 +11,9 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-version="n6.1.1"
+version="n7.0"
url_public="https://github.com/FFmpeg/FFmpeg/archive/$version.tar.gz"
-sha1="59e0c3c4cc48e9c60073495f8c045329bb21f446"
+sha1="042260ec5013eb29c89c13443a0f42cbe6fbceaa"
url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
ffmpeg_name="FFmpeg-$version"
@@ -71,11 +71,26 @@ build_ffmpeg() {
}
if [ "$os" == "linux" ]; then
+ build_type="$2"
+
install_ff_nvcodec_headers
ffmpeg_config_options+=" --enable-openssl"
+
+ if [ "$build_type" != "static" ]; then
+ ffmpeg_config_options+=" --enable-shared --disable-static"
+ fi
+
build_ffmpeg
- sudo mv "$ffmpeg_source_dir/build/installed/usr/local/$ffmpeg_name" "/usr/local"
+
+ output_dir="$ffmpeg_source_dir/build/installed/usr/local/$ffmpeg_name"
+
+ if [ "$build_type" != "static" ]; then
+ fix_dependencies="${BASH_SOURCE%/*}/../shared/fix_ffmpeg_dependencies.sh"
+ "$fix_dependencies" "$output_dir"
+ fi
+
+ sudo mv "$output_dir" "/usr/local"
SetEnvVar "FFMPEG_DIR" "/usr/local/$ffmpeg_name"
elif [ "$os" == "macos" ] || [ "$os" == "macos-universal" ]; then
@@ -111,3 +126,5 @@ elif [ "$os" == "macos" ] || [ "$os" == "macos-universal" ]; then
SetEnvVar "FFMPEG_DIR" "/usr/local/$ffmpeg_name"
fi
+
+
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/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..487e4552 100644
--- a/coin/provisioning/common/windows/install-ffmpeg.ps1
+++ b/coin/provisioning/common/windows/install-ffmpeg.ps1
@@ -6,9 +6,9 @@
# This script will install FFmpeg
$msys = "C:\Utils\msys64\usr\bin\bash"
-$version = "n6.1.1"
+$version = "n7.0"
$ffmpeg_name = "ffmpeg-" + $version;
-$sha1 = "7AECCED8A0366BE407329B4E176167534233DA12"
+$sha1 = "CC948A547113469E284CA085B9A236F1ECC50843"
$url_cached = "https://ci-files01-hki.ci.qt.io/input/ffmpeg/" + $version + ".zip"
$url_public = "https://github.com/FFmpeg/FFmpeg/archive/refs/tags/" +$version + ".zip"
@@ -22,12 +22,16 @@ Verify-Checksum $download_location $sha1
Extract-7Zip $download_location $unzip_location
Remove $download_location
-$config = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt"
-Write-Host "FFmpeg configuration $config"
+function GetFfmpegDefaultConfiguration {
+ $defaultConfiguration = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt"
+ Write-Host "FFmpeg default configuration: $defaultConfiguration"
+ return $defaultConfiguration
+}
function InstallFfmpeg {
Param (
+ [string]$config,
[string]$buildSystem,
[string]$msystem,
[string]$additionalPath,
@@ -36,19 +40,25 @@ function InstallFfmpeg {
[bool]$shared
)
- Write-Host "Configure and compile ffmpeg for $buildSystem"
+ Write-Host "Configure and compile FFmpeg for $buildSystem with configuration: $config"
$oldPath = $env:PATH
- if ($additionalPath) { $env:PATH = "$additionalPath;$env:PATH" }
+ if ($additionalPath) {
+ $env:PATH = "$additionalPath;$env:PATH"
+ }
$env:MSYS2_PATH_TYPE = "inherit"
$env:MSYSTEM = $msystem
$cmd = "cd /c/$ffmpeg_name"
$cmd += " && mkdir -p build/$buildSystem && cd build/$buildSystem"
$cmd += " && ../../configure --prefix=installed $config"
- if ($toolchain) { $cmd += " --toolchain=$toolchain" }
- if ($shared) { $cmd += " --enable-shared --disable-static" }
+ if ($toolchain) {
+ $cmd += " --toolchain=$toolchain"
+ }
+ if ($shared) {
+ $cmd += " --enable-shared --disable-static"
+ }
$cmd += " && make install -j"
Write-Host "MSYS cmd:"
@@ -58,7 +68,7 @@ function InstallFfmpeg {
$env:PATH = $oldPath
if ($buildResult.ExitCode) {
- Write-Host "Failed to build ffmpeg for $buildSystem"
+ Write-Host "Failed to build FFmpeg for $buildSystem"
return $false
}
@@ -67,8 +77,9 @@ function InstallFfmpeg {
}
function InstallMingwFfmpeg {
+ $config = GetFfmpegDefaultConfiguration
$mingwPath = [System.Environment]::GetEnvironmentVariable("MINGW_PATH", [System.EnvironmentVariableTarget]::Machine)
- return InstallFfmpeg -buildSystem "mingw" -msystem "MINGW" -additionalPath "$mingwPath\bin" -ffmpegDirEnvVar "FFMPEG_DIR_MINGW" -shared $true
+ return InstallFfmpeg -config $config -buildSystem "mingw" -msystem "MINGW" -additionalPath "$mingwPath\bin" -ffmpegDirEnvVar "FFMPEG_DIR_MINGW" -shared $true
}
@@ -81,7 +92,7 @@ function InstallMsvcFfmpeg {
$buildSystem = "msvc"
$ffmpegDirEnvVar = "FFMPEG_DIR_MSVC"
- $config = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt"
+ $config = GetFfmpegDefaultConfiguration
if ($isArm64) {
$arch = "arm64"
@@ -95,7 +106,7 @@ function InstallMsvcFfmpeg {
return $false
}
- $result = InstallFfmpeg -buildSystem $buildSystem -msystem "MSYS" -toolchain "msvc" -ffmpegDirEnvVar $ffmpegDirEnvVar -shared $true
+ $result = InstallFfmpeg -config $config -buildSystem $buildSystem -msystem "MSYS" -toolchain "msvc" -ffmpegDirEnvVar $ffmpegDirEnvVar -shared $true
if ($result) {
# As ffmpeg build system creates lib*.a file we have to rename them to *.lib files to be recognized by WIN32
@@ -118,11 +129,12 @@ function InstallMsvcFfmpeg {
function InstallLlvmMingwFfmpeg {
- return InstallFfmpeg -buildSystem "llvm-mingw" -msystem "CLANG64" -ffmpegDirEnvVar "FFMPEG_DIR_LLVM_MINGW" -additionalPath "C:\llvm-mingw\bin" -shared $true
+ $config = GetFfmpegDefaultConfiguration
+ return InstallFfmpeg -config $config -buildSystem "llvm-mingw" -msystem "CLANG64" -ffmpegDirEnvVar "FFMPEG_DIR_LLVM_MINGW" -additionalPath "C:\llvm-mingw\bin" -shared $true
}
function InstallAndroidArmv7 {
-
+ $shared=$true
$target_toolchain_arch="armv7a-linux-androideabi"
$target_arch="armv7-a"
$target_cpu="armv7-a"
@@ -144,14 +156,49 @@ function InstallAndroidArmv7 {
$openssl_path = [System.Environment]::GetEnvironmentVariable("OPENSSL_ANDROID_HOME_DEFAULT", [System.EnvironmentVariableTarget]::Machine)
$openssl_path = $openssl_path.Replace("\", "/")
- $config = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt"
+ New-Item -ItemType SymbolicLink -Path ${openssl_path}/armeabi-v7a/libcrypto.so -Target ${openssl_path}/armeabi-v7a/libcrypto_3.so
+ New-Item -ItemType SymbolicLink -Path ${openssl_path}/armeabi-v7a/libssl.so -Target ${openssl_path}/armeabi-v7a/libssl_3.so
+
+ $config = GetFfmpegDefaultConfiguration
$config += " --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-openssl --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera"
$config += " --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/"
$config += " --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}"
$config += " --extra-cflags=-I$envOPENSSL_ANDROID_HOME_DEFAULT/include --extra-ldflags=-L$env:OPENSSL_ANDROID_HOME_DEFAULT/armeabi-v7a"
$config += " --extra-cflags=-I${openssl_path}/include --extra-ldflags=-L${openssl_path}/armeabi-v7a"
+ $config += " --strip=$strip"
+
+
+ $result= InstallFfmpeg -config $config -buildSystem "android-arm" -msystem "ANDROID_CLANG" -ffmpegDirEnvVar "FFMPEG_DIR_ANDROID_ARMV7" -shared $shared
+
+ Remove-Item -Path ${openssl_path}/armeabi-v7a/libcrypto.so
+ Remove-Item -Path ${openssl_path}/armeabi-v7a/libssl.so
- return InstallFfmpeg -buildSystem "android-arm" -msystem "ANDROID_CLANG" -ffmpegDirEnvVar "FFMPEG_DIR_ANDROID_ARMV7"
+ if (-not $shared) {
+ return $result
+ }
+
+ # For Shared ffmpeg we need to change dependencies to stubs
+ Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"pacman -Sy --noconfirm binutils`"")
+ Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"pacman -Sy --noconfirm autoconf`"")
+ Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"pacman -Sy --noconfirm automake`"")
+ Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"pacman -Sy --noconfirm libtool`"")
+
+ $patchelf_sha1 = "7EB974172DE73B7B452EE376237AD78601603C45"
+ $patchelf_sources = "https://ci-files01-hki.intra.qt.io/input/android/patchelf/0.18.0.tar.gz"
+ $patchelf_download_location = "C:\Windows\Temp\0.18.0.tar.gz"
+
+ Invoke-WebRequest -UseBasicParsing $patchelf_sources -OutFile $patchelf_download_location
+ Verify-Checksum $patchelf_download_location $patchelf_sha1
+ Extract-tar_gz $patchelf_download_location $unzip_location
+ Remove $patchelf_download_location
+
+ Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"cd C:/patchelf-0.18.0 && ./bootstrap.sh && ./configure && make install`"")
+
+ $command = "${PSScriptRoot}/../shared/fix_ffmpeg_dependencies.sh C:/${ffmpeg_name}/build/android-arm/installed/ _armeabi-v7a no"
+ $command = $command.Replace("\", "/")
+ Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath $msys -ArgumentList ("-lc", "`"$command`"")
+
+ return $result
}
$mingwRes = InstallMingwFfmpeg
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/mimersql.ps1 b/coin/provisioning/common/windows/mimersql.ps1
index b5e041d0..d7535c81 100644
--- a/coin/provisioning/common/windows/mimersql.ps1
+++ b/coin/provisioning/common/windows/mimersql.ps1
@@ -16,7 +16,7 @@ $mimer_dir="c:\MimerSQL"
Download $url_official $url_cache $mimersqlPackage
Verify-Checksum $mimersqlPackage $sha1
-Run-Executable "$mimersqlPackage" "/install InstallFolder=$mimer_dir /passive"
+Run-Executable "$mimersqlPackage" "/install InstallFolder=$mimer_dir /passive ExcludeDbVisualizer=1 ExcludeJava=1 ExcludeServer=1 ExcludeDocumentation=1 ExcludeReplication=1"
Set-EnvironmentVariable "MIMERSQL_DEV_ROOT" "$mimer_dir\dev"
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..13637c6c 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..."
@@ -65,6 +78,12 @@ Run-Executable "$install_path\python.exe" "-m pip config --user set global.index
Run-Executable "$install_path\python.exe" "-m pip config --user set global.extra-index-url https://pypi.org/simple/"
Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install virtualenv wheel html5lib"
+# Check if python version is higher than 3.8.
+# ntia-conformance-checker requires at least 3.8
+if ([version]::Parse($version) -gt [version]::Parse("3.8")) {
+ Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install -r $PSScriptRoot\..\shared\sbom_requirements.txt"
+}
+
# Install PyPDF2 for QSR documentation
Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install PyPDF2"
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..2f175f47 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)
@@ -250,6 +256,8 @@ sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install cmake apt-cacher-ng -t
# Disable keyring password prompt
keyring --disable
+pip install --user -r "${BASH_SOURCE%/*}/../common/shared/sbom_requirements.txt"
+
# SetEnvVar "PATH" "/usr/lib/nodejs-mozilla/bin:\$PATH"
#OpenSSLVersion="$(openssl version |cut -b 9-14)"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-install-patchelf.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-install-patchelf.sh
new file mode 100755
index 00000000..14813160
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-install-patchelf.sh
@@ -0,0 +1,5 @@
+#!/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
+
+source "${BASH_SOURCE%/*}/../common/linux/install-patchelf.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-install-patchelf.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-install-patchelf.sh
new file mode 100755
index 00000000..14813160
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-install-patchelf.sh
@@ -0,0 +1,5 @@
+#!/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
+
+source "${BASH_SOURCE%/*}/../common/linux/install-patchelf.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-install-patchelf.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-install-patchelf.sh
new file mode 100755
index 00000000..14813160
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-install-patchelf.sh
@@ -0,0 +1,5 @@
+#!/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
+
+source "${BASH_SOURCE%/*}/../common/linux/install-patchelf.sh"
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..e6912724 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
@@ -164,9 +164,11 @@ sudo pip config --user set global.extra-index-url https://pypi.org/simple/
sudo pip3 install virtualenv wheel
# Just make sure we have virtualenv to run with python3.8 -m virtualenv
sudo python3.11 -m pip install virtualenv wheel
+sudo python3.11 -m pip install -r "${BASH_SOURCE%/*}/../common/shared/sbom_requirements.txt"
sudo /usr/bin/pip3 install wheel
sudo /usr/bin/pip3 install dataclasses
+# No sbom_requirements.txt, because it requires Python 3.9 for poetry_core -> spdx_tools and we have 3.8
OpenSSLVersion="$(openssl3 version |cut -b 9-14)"
echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-install-patchelf.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-install-patchelf.sh
new file mode 100755
index 00000000..14813160
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-install-patchelf.sh
@@ -0,0 +1,5 @@
+#!/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
+
+source "${BASH_SOURCE%/*}/../common/linux/install-patchelf.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh
index 06e28f34..18d46d7e 100755
--- a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh
@@ -2,6 +2,7 @@
#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
-source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
+# TODO: investigate why the FFmpeg plugin can't find shared FFmpeg on rhel-8.8
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" "static"
source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64"
source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86"
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.0-x86_64/05-install-patchelf.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-install-patchelf.sh
new file mode 100755
index 00000000..14813160
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-install-patchelf.sh
@@ -0,0 +1,5 @@
+#!/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
+
+source "${BASH_SOURCE%/*}/../common/linux/install-patchelf.sh"
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..fd454ed2 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
@@ -176,8 +176,10 @@ sudo pip config --user set global.extra-index-url https://pypi.org/simple/
sudo pip3 install virtualenv wheel
# Just make sure we have virtualenv to run with python3.8 -m virtualenv
sudo python -m pip install virtualenv wheel
+sudo python -m pip install -r "${BASH_SOURCE%/*}/../common/shared/sbom_requirements.txt"
sudo /usr/bin/pip3 install wheel
+sudo /usr/bin/pip3 install -r "${BASH_SOURCE%/*}/../common/shared/sbom_requirements.txt"
# Make FindPython3.cmake to find python3
sudo ln -s /usr/bin/python3 /usr/local/bin/python3
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-install-patchelf.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-install-patchelf.sh
new file mode 100755
index 00000000..14813160
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-install-patchelf.sh
@@ -0,0 +1,5 @@
+#!/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
+
+source "${BASH_SOURCE%/*}/../common/linux/install-patchelf.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-pythondev.sh
index 74a34847..bbe03989 100755
--- a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-pythondev.sh
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-pythondev.sh
@@ -18,9 +18,9 @@ source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
# https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/Python3/build_python3.sh
export PACKAGE_NAME="python"
python2Version="2.7.18"
-python3Version="3.8.16"
+python3Version="3.12.3"
python2Sha="678d4cf483a1c92efd347ee8e1e79326dc82810b"
-python3Sha="d85dbb3774132473d8081dcb158f34a10ccad7a90b96c7e50ea4bb61f5ce4562"
+python3Sha="56bfef1fdfc1221ce6720e43a661e3eb41785dd914ce99698d8c7896af4bdaa1"
function InstallPython {
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-install-ffmpeg.sh
index 61da9b7b..27ff04dc 100755
--- a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-install-ffmpeg.sh
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-install-ffmpeg.sh
@@ -1,3 +1,3 @@
#!/usr/bin/env bash
-source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" "static"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-pythondev.sh
index 79e172ee..79d0f1b2 100644
--- a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-pythondev.sh
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-pythondev.sh
@@ -18,9 +18,9 @@ source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
# https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/Python3/build_python3.sh
export PACKAGE_NAME="python"
python2Version="2.7.18"
-python3Version="3.8.16"
+python3Version="3.12.3"
python2Sha="678d4cf483a1c92efd347ee8e1e79326dc82810b"
-python3Sha="d85dbb3774132473d8081dcb158f34a10ccad7a90b96c7e50ea4bb61f5ce4562"
+python3Sha="56bfef1fdfc1221ce6720e43a661e3eb41785dd914ce99698d8c7896af4bdaa1"
function InstallPython {
@@ -71,6 +71,7 @@ python3 --version | grep -F "$python3Version"
pip3 install --user wheel
pip3 install --user virtualenv
+pip3 install --user -r "${BASH_SOURCE%/*}/../common/shared/sbom_requirements.txt"
# shellcheck source=../common/unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh
index 2a0d7258..cd65475b 100644
--- a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh
@@ -2,4 +2,4 @@
# 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
-source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" "static"
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..e0bec3e5 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
@@ -161,6 +168,8 @@ installPackages+=(ruby)
installPackages+=(libxslt1-dev)
installPackages+=(libxml2-dev)
installPackages+=(libhyphen-dev)
+# Fix dependencies in shared ffmpeg libs
+installPackages+=(patchelf)
echo "Running update for apt"
waitLoop
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..fad3dd41 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
@@ -210,6 +217,8 @@ sudo dpkg --add-architecture i386
installPackages+=(nfs-kernel-server)
installPackages+=(net-tools)
installPackages+=(bridge-utils)
+# Fix dependencies in shared ffmpeg libs
+installPackages+=(patchelf)
echo "Running update for apt"
waitLoop
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/02-apt.sh
index b04190ae..c3a94a5a 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/02-apt.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/02-apt.sh
@@ -44,6 +44,12 @@ installPackages+=(p7zip-full)
# Packages needed for RTA and Squish
installPackages+=(default-jdk)
installPackages+=(gcc)
+installPackages+=(curl)
+installPackages+=(libicu-dev)
+installPackages+=(python3-dev)
+installPackages+=(python3-pip)
+installPackages+=(python3-venv)
+installPackages+=(virtualenv)
echo "Running update for apt"
waitLoop
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..11b34572 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)
@@ -226,6 +233,8 @@ installPackages+=(uml-utilities)
# used for reading vcpkg packages version, from vcpkg.json
installPackages+=(jq)
+installPackages+=(patchelf)
+
echo "Running update for apt"
waitLoop
sudo apt-get update
@@ -236,6 +245,7 @@ sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 ins
# 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/
+pip install --user -r "${BASH_SOURCE%/*}/../common/shared/sbom_requirements.txt"
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
# SetEnvVar "PATH" "/usr/lib/nodejs-mozilla/bin:\$PATH"
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/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh
index 6c4b86a4..c9106f88 100644
--- a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh
@@ -95,6 +95,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)
@@ -103,14 +109,19 @@ installPackages+=(libva-dev)
# for QtMultimedia streaming tests
installPackages+=(vlc-bin)
installPackages+=(vlc-plugin-base)
+# for tst_qfloat16format, see also QTQAINFRA-6390
+installPackages+=(locales-all)
# Support for cross-building to x86 (needed by WebEngine boot2qt builds)
#installPackages+=(g++-multilib)
installPackages+=(g++-multilib-powerpc-linux-gnu)
+installPackages+=(gcc-14)
+installPackages+=(g++-14)
# python3 development package
installPackages+=(python3-dev)
installPackages+=(python3-pip)
+installPackages+=(python3-venv)
installPackages+=(virtualenv)
installPackages+=(python3-wheel)
installPackages+=(python-is-python3)
@@ -228,6 +239,9 @@ sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 ins
# 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/
+# Ubuntu 24.04 comes with a newer pip that disallows installing into the system site-packages,
+# so we explicitly ask it to allow it.
+pip install --user -r "${BASH_SOURCE%/*}/../common/shared/sbom_requirements.txt" --break-system-packages
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
# SetEnvVar "PATH" "/usr/lib/nodejs-mozilla/bin:\$PATH"
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-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..f128e095
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-x86_64/02-apt.sh
@@ -0,0 +1,261 @@
+#!/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)
+# for tst_qfloat16format, see also QTQAINFRA-6390
+installPackages+=(locales-all)
+
+# 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)
+
+installPackages+=(patchelf)
+
+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/
+# Ubuntu 24.04 comes with a newer pip that disallows installing into the system site-packages,
+# so we explicitly ask it to allow it.
+pip install --user -r "${BASH_SOURCE%/*}/../common/shared/sbom_requirements.txt" --break-system-packages
+
+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-linux-openSUSE-15.5-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-pythondev.sh
index 82101c9b..7f7d867a 100755
--- a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-pythondev.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-pythondev.sh
@@ -14,5 +14,6 @@ sudo zypper -nq install python-devel python-xml
# install python3
sudo zypper -nq install python311-base python311-devel python311-pip python311-virtualenv python311-wheel
python3.11 -m pip install selenium netifaces scache webdriver-manager
+python3.11 -m pip install -r "${BASH_SOURCE%/*}/../common/shared/sbom_requirements.txt"
SetEnvVar "PYTHON3_EXECUTABLE" "/usr/bin/python3.11"
diff --git a/coin/provisioning/qtci-macos-12-arm/01-set_tcc_permissions.sh b/coin/provisioning/qtci-macos-12-arm/01-set_tcc_permissions.sh
new file mode 100755
index 00000000..da38f582
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/01-set_tcc_permissions.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
+
+set -ex
+source "${BASH_SOURCE%/*}/../common/macos/set_tcc_permissions.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/25-python.sh b/coin/provisioning/qtci-macos-12-arm/25-python.sh
index 9bfb6384..0e05f593 100755
--- a/coin/provisioning/qtci-macos-12-arm/25-python.sh
+++ b/coin/provisioning/qtci-macos-12-arm/25-python.sh
@@ -11,6 +11,7 @@ source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
pyenv install 3.9.7
/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user install virtualenv wheel html5lib
+/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user -r ${BASH_SOURCE%/*}/../common/shared/sbom_requirements.txt
SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/"
SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/27-binutils.sh b/coin/provisioning/qtci-macos-12-x86_64/27-binutils.sh
new file mode 100755
index 00000000..04d3c5bf
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/27-binutils.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
+
+# binutlis is installed with an error: The formula built, but is not symlinked into /usr/local
+# To avoid stopping the configuration due to this problem, "|| true" is added.
+brew install binutils || true
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/28-patchelf.sh b/coin/provisioning/qtci-macos-12-x86_64/28-patchelf.sh
new file mode 100755
index 00000000..0710f483
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/28-patchelf.sh
@@ -0,0 +1,8 @@
+#!/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
+
+brew install patchelf
+
diff --git a/coin/provisioning/qtci-macos-13-arm/01-set_tcc_permissions.sh b/coin/provisioning/qtci-macos-13-arm/01-set_tcc_permissions.sh
new file mode 100755
index 00000000..da38f582
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/01-set_tcc_permissions.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
+
+set -ex
+source "${BASH_SOURCE%/*}/../common/macos/set_tcc_permissions.sh"
diff --git a/coin/provisioning/qtci-macos-13-arm/25-python.sh b/coin/provisioning/qtci-macos-13-arm/25-python.sh
index 9bfb6384..0e05f593 100755
--- a/coin/provisioning/qtci-macos-13-arm/25-python.sh
+++ b/coin/provisioning/qtci-macos-13-arm/25-python.sh
@@ -11,6 +11,7 @@ source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
pyenv install 3.9.7
/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user install virtualenv wheel html5lib
+/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user -r ${BASH_SOURCE%/*}/../common/shared/sbom_requirements.txt
SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/"
SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/27-binutils.sh b/coin/provisioning/qtci-macos-13-x86_64/27-binutils.sh
new file mode 100755
index 00000000..04d3c5bf
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/27-binutils.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
+
+# binutlis is installed with an error: The formula built, but is not symlinked into /usr/local
+# To avoid stopping the configuration due to this problem, "|| true" is added.
+brew install binutils || true
+
diff --git a/coin/provisioning/qtci-macos-13-x86_64/28-patchelf.sh b/coin/provisioning/qtci-macos-13-x86_64/28-patchelf.sh
new file mode 100755
index 00000000..0710f483
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/28-patchelf.sh
@@ -0,0 +1,8 @@
+#!/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
+
+brew install patchelf
+
diff --git a/coin/provisioning/qtci-macos-14-arm/25-python.sh b/coin/provisioning/qtci-macos-14-arm/25-python.sh
index 5a0df739..761fcf01 100755
--- a/coin/provisioning/qtci-macos-14-arm/25-python.sh
+++ b/coin/provisioning/qtci-macos-14-arm/25-python.sh
@@ -11,6 +11,7 @@ source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
pyenv install 3.9.7
/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user install virtualenv wheel html5lib
+/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user -r ${BASH_SOURCE%/*}/../common/shared/sbom_requirements.txt
SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/"
SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/"
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-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_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/40-qnx710.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/40-qnx710.ps1
new file mode 100644
index 00000000..826cc5b2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/40-qnx710.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\qnx710.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