aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmake/QtIRCommandLineHelpers.cmake1
-rw-r--r--cmake/QtIRHelpers.cmake2
-rw-r--r--cmake/QtIRProcessHelpers.cmake24
-rw-r--r--coin/platform_configs/cmake_platforms.yaml53
-rw-r--r--coin/platform_configs/cmake_platforms_qemu.yaml4
-rw-r--r--coin/platform_configs/cmake_platforms_qemu_vxworks.yaml2
-rw-r--r--coin/platform_configs/cmake_platforms_target_android.yaml4
-rw-r--r--coin/platform_configs/linux_android_tests_developer.yaml2
-rw-r--r--coin/platform_configs/linux_android_tests_multi_abi.yaml6
-rw-r--r--coin/platform_configs/macos.yaml48
-rw-r--r--coin/platform_configs/nightly_ubuntu_24_04_arm64_documentation.yaml18
-rw-r--r--coin/platform_configs/qtlite.yaml3
-rw-r--r--coin/platform_configs/qtsaferenderer-runtime.yaml7
-rw-r--r--coin/platform_configs/tqtc-android-automotive.yaml2
-rw-r--r--coin/platform_configs/tqtc-qt-rta.yaml18
-rw-r--r--coin/pre-provisioning/qtci-linux-Ubuntu-24.04-aarch64/README_MANUAL_INSTALLATIONS60
-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-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
-rwxr-xr-xcoin/provisioning/common/linux/android_linux.sh21
-rwxr-xr-xcoin/provisioning/common/linux/axivion-bauhaus-suite.sh4
-rwxr-xr-xcoin/provisioning/common/linux/enable_test_stacktraces.sh4
-rwxr-xr-xcoin/provisioning/common/linux/install-vcpkg-ports-android.sh12
-rwxr-xr-xcoin/provisioning/common/linux/install-vcpkg-ports.sh6
-rwxr-xr-xcoin/provisioning/common/linux/install-vcpkg.sh8
-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/fix_relative_dependencies.sh4
-rwxr-xr-xcoin/provisioning/common/unix/DownloadURL.sh2
-rwxr-xr-xcoin/provisioning/common/unix/install-ffmpeg-ios.sh5
-rwxr-xr-xcoin/provisioning/common/unix/install-ffmpeg.sh2
-rwxr-xr-xcoin/provisioning/common/unix/install-openssl.sh14
-rwxr-xr-xcoin/provisioning/common/unix/install_protobuf.sh30
-rwxr-xr-xcoin/provisioning/common/unix/libclang-v100-dyn.sh2
-rwxr-xr-xcoin/provisioning/common/unix/libclang.sh2
-rwxr-xr-xcoin/provisioning/common/unix/squishInstall.sh4
-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.ps134
-rw-r--r--coin/provisioning/common/windows/install-ffmpeg.ps128
-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/mysql.ps119
-rw-r--r--coin/provisioning/common/windows/ninja.ps138
-rw-r--r--coin/provisioning/common/windows/nodejs.ps127
-rw-r--r--coin/provisioning/common/windows/openssl-arm64.ps127
-rw-r--r--coin/provisioning/common/windows/python.ps187
-rw-r--r--coin/provisioning/common/windows/python3.ps127
-rw-r--r--coin/provisioning/common/windows/qnx710.ps16
-rw-r--r--coin/provisioning/qtci-linux-Debian-11.6-aarch64/09-openssl.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-Debian-11.6-aarch64/92-sbuild.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/02-install-xcb_util_cursor.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh1
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh1
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-disable-notifications.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-disable-ntp.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-disable_auto_suspend.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-remove-apport.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-remove-update_notifier.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-systemsetup.sh43
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/02-apt.sh60
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/99-cleanup.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/99-version.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh1
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-qnx800.sh9
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/01-systemsetup.sh43
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh236
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-notifications.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-ntp.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-apport.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-update_notifier.sh6
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-cleanup.sh7
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-version.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/24-pyenv.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/35-openssl.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/24-pyenv.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/35-openssl.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/24-pyenv.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/35-openssl.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/24-pyenv.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/35-openssl.sh2
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/36-install_grpc.sh3
-rw-r--r--coin/provisioning/qtci-windows-10-x86/02-python.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/02-python.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/02-python-32bit.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/02-python.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/02-python-32bit.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/02-python.ps11
-rw-r--r--coin/provisioning/qtci-windows-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-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-8.1-x86_64/07-python2.ps11
m---------qt3d0
m---------qt5compat0
m---------qtactiveqt0
m---------qtbase0
m---------qtcharts0
m---------qtcoap0
m---------qtconnectivity0
m---------qtdatavis3d0
m---------qtdeclarative0
m---------qtdoc0
m---------qtgraphs0
m---------qtgrpc0
m---------qthttpserver0
m---------qtimageformats0
m---------qtlanguageserver0
m---------qtlocation0
m---------qtlottie0
m---------qtmqtt0
m---------qtmultimedia0
m---------qtnetworkauth0
m---------qtopcua0
m---------qtpositioning0
m---------qtqa0
m---------qtquick3d0
m---------qtquick3dphysics0
m---------qtquickeffectmaker0
m---------qtquicktimeline0
m---------qtremoteobjects0
m---------qtrepotools0
m---------qtscxml0
m---------qtsensors0
m---------qtserialbus0
m---------qtserialport0
m---------qtshadertools0
m---------qtspeech0
m---------qtsvg0
m---------qttools0
m---------qttranslations0
m---------qtvirtualkeyboard0
m---------qtwayland0
m---------qtwebchannel0
m---------qtwebengine0
m---------qtwebsockets0
m---------qtwebview0
201 files changed, 1689 insertions, 302 deletions
diff --git a/cmake/QtIRCommandLineHelpers.cmake b/cmake/QtIRCommandLineHelpers.cmake
index 465a994b..65c5d6aa 100644
--- a/cmake/QtIRCommandLineHelpers.cmake
+++ b/cmake/QtIRCommandLineHelpers.cmake
@@ -244,6 +244,7 @@ endfunction()
# Reads the command line arguments from the optfile_path.
function(qt_ir_get_raw_args_from_optfile optfile_path out_var)
file(STRINGS "${optfile_path}" args)
+ qt_ir_escape_semicolons(args "${args}")
set(${out_var} "${args}" PARENT_SCOPE)
endfunction()
diff --git a/cmake/QtIRHelpers.cmake b/cmake/QtIRHelpers.cmake
index 9f372932..8e2af7f8 100644
--- a/cmake/QtIRHelpers.cmake
+++ b/cmake/QtIRHelpers.cmake
@@ -225,7 +225,7 @@ endfunction()
# to run the perly script manually.
function(qt_ir_show_error_how_to_run_perl opt_file unsupported_option_name)
qt_ir_get_raw_args_from_optfile("${opt_file}" args)
- string(REPLACE ";" " " args "${args}")
+ qt_ir_prettify_command_args(args "${args}")
set(perl_cmd "perl ./init-repository.pl ${args}")
diff --git a/cmake/QtIRProcessHelpers.cmake b/cmake/QtIRProcessHelpers.cmake
index db7bf2cb..cddd2736 100644
--- a/cmake/QtIRProcessHelpers.cmake
+++ b/cmake/QtIRProcessHelpers.cmake
@@ -53,10 +53,11 @@ function(qt_ir_execute_process)
endif()
endif()
- string(REPLACE ";" " " command_args_string "${arg_COMMAND_ARGS}")
+ qt_ir_prettify_command_args(command_args_string "${arg_COMMAND_ARGS}")
message("+ ${command_args_string}${working_dir_message}")
endif()
+ qt_ir_unescape_semicolons(arg_COMMAND_ARGS "${arg_COMMAND_ARGS}")
execute_process(
COMMAND ${arg_COMMAND_ARGS}
${working_dir}
@@ -76,6 +77,25 @@ function(qt_ir_execute_process)
endif()
endfunction()
+# Guards the escaped semicolon sequences with square brackets.
+function(qt_ir_escape_semicolons out_var input_string)
+ string(REPLACE "\;" "[[;]]" ${out_var} "${input_string}")
+ set(${out_var} "${${out_var}}" PARENT_SCOPE)
+endfunction()
+
+# Removes the square bracket guards around semicolons and escape them.
+function(qt_ir_unescape_semicolons out_var input_string)
+ string(REPLACE "[[;]]" "\;" ${out_var} "${input_string}")
+ set(${out_var} "${${out_var}}" PARENT_SCOPE)
+endfunction()
+
+# Converts the command line arguments to a nice bash runnable string
+function(qt_ir_prettify_command_args output args)
+ list(JOIN args " " ${output})
+ qt_ir_unescape_semicolons(${output} "${${output}}")
+ set(${output} "${${output}}" PARENT_SCOPE)
+endfunction()
+
# A higher level execute_process wrapper that can be used to execute a single command
# that is a bit more opinionated and expects options related to init-repository
# functionality.
@@ -142,7 +162,7 @@ function(qt_ir_execute_process_and_log_and_handle_error)
set(error_message "${arg_ERROR_MESSAGE}\n")
endif()
- string(REPLACE ";" " " cmd "${arg_COMMAND_ARGS}")
+ qt_ir_prettify_command_args(cmd "${arg_COMMAND_ARGS}")
string(APPEND error_message "${cmd} exited with status: ${proc_result}\n")
if(proc_output)
string(APPEND error_message "stdout: ${proc_output}\n")
diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml
index 1ed9d620..dee0fd2c 100644
--- a/coin/platform_configs/cmake_platforms.yaml
+++ b/coin/platform_configs/cmake_platforms.yaml
@@ -38,6 +38,24 @@ 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
+-
+ Id: 'ubuntu-24.04-arm64'
+ Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
+ Compiler: 'GCC'
+ Features: ['UseConfigure', 'DoNotRunTests']
+ Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
+ ]
+# Test on Ubuntu 24.04 ARM64 X11
+-
+ Id: 'ubuntu-24.04-arm64-x11-tests'
+ Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
+ Compiler: 'GCC'
+ Features: ['TestOnly', 'InsignificantTests']
+ Platform dependency: 'ubuntu-24.04-arm64'
-
Id: 'opensuse-15.5-developer-build'
Template: 'qtci-linux-openSUSE-15.5-x86_64-52'
@@ -63,7 +81,7 @@ Configurations:
Id: 'windows-10_22h2-msvc2019'
Template: 'qtci-windows-10_22H2-x86_64-51'
Compiler: 'MSVC2019'
- Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure']
+ Features: ['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}}\..',
@@ -75,7 +93,7 @@ Configurations:
Id: 'windows-11_23H2-msvc2019'
Template: 'qtci-windows-11_23H2-x86_64-52'
Compiler: 'MSVC2019'
- Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure']
+ Features: ['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}}\..',
@@ -108,13 +126,24 @@ Configurations:
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
+ Id: 'windows-11_22h2-arm64-msvc2022'
+ Template: 'qtci-windows-11_22H2-aarch64-51'
+ Compiler: 'MSVC2022'
+ Features: ['DebugAndRelease', 'UseConfigure', 'InsignificantTests']
+ Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -c++std c++20 -no-sql-psql'
+ Environment variables: [
+ '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}}',
+ ]
+-
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}}\..',
+ '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}}',
@@ -124,12 +153,12 @@ Configurations:
Template: 'qtci-windows-10_22H2-x86_64-51'
Compiler: 'MSVC2019'
Target arch: 'arm64'
- Features: ['Sccache', 'DisableTests', 'TargetBuildOnly', 'Packaging', 'UseConfigure']
+ Features: ['Sccache', 'DisableTests', 'TargetBuildOnly', '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',
+ '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}}',
@@ -142,7 +171,7 @@ Configurations:
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}}\..',
+ '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}}',
@@ -152,12 +181,12 @@ Configurations:
Template: 'qtci-windows-11_23H2-x86_64-52'
Compiler: 'MSVC2019'
Target arch: 'arm64'
- Features: ['Sccache', 'DisableTests', 'TargetBuildOnly', 'Packaging', 'UseConfigure']
+ Features: ['Sccache', 'DisableTests', 'TargetBuildOnly', 'UseConfigure']
Platform dependency: 'windows-11_23H2-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',
- 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
]
-
@@ -188,7 +217,7 @@ Configurations:
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'
Environment variables: [
- 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY'
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
]
# Test on Debian-11.6 offscreen
-
@@ -235,7 +264,7 @@ Configurations:
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',
+ '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}}',
@@ -261,7 +290,7 @@ Configurations:
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',
+ '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}}',
@@ -274,7 +303,7 @@ Configurations:
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',
+ '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}}',
diff --git a/coin/platform_configs/cmake_platforms_qemu.yaml b/coin/platform_configs/cmake_platforms_qemu.yaml
index c23676f1..891a19df 100644
--- a/coin/platform_configs/cmake_platforms_qemu.yaml
+++ b/coin/platform_configs/cmake_platforms_qemu.yaml
@@ -7,7 +7,7 @@ Configurations:
Target arch: 'armv7'
Compiler: 'GCC'
Platform dependency: 'ubuntu-22.04'
- Features: ['Sccache', 'UseConfigure']
+ Features: ['Sccache', 'UseConfigure', 'Insignificant']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -developer-build -no-warnings-are-errors -make examples -qt-harfbuzz -device linux-imx7-g++ -device-option "CROSS_COMPILE={{.Env.QEMUARMV7_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=hard-float boot2qt" -no-feature-forkfd_pidfd',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARMV7_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
@@ -24,7 +24,7 @@ Configurations:
Target arch: 'arm64'
Compiler: 'GCC'
Platform dependency: 'ubuntu-22.04'
- Features: ['Sccache', 'UseConfigure']
+ Features: ['Sccache', 'UseConfigure', 'Insignificant']
Environment variables: [
'TARGET_CONFIGURE_ARGS=-release -force-debug-info -developer-build -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',
'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUARM64_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
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 89f85eb1..b3c940c2 100644
--- a/coin/platform_configs/cmake_platforms_target_android.yaml
+++ b/coin/platform_configs/cmake_platforms_target_android.yaml
@@ -32,7 +32,7 @@ Configurations:
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}'
]
-
- Id: 'android-6-x86-on-linux'
+ Id: 'android-9-x86-on-linux'
Template: 'qtci-linux-RHEL-8.8-x86_64-50'
Target os: 'Android_ANY'
Target arch: 'x86'
@@ -45,7 +45,7 @@ Configurations:
'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86}} -DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}',
- 'ANDROID_EMULATOR=emulator_x86_api_23'
+ 'ANDROID_EMULATOR=emulator_x86_api_28'
]
-
Id: 'android-14-x86_64-on-linux'
diff --git a/coin/platform_configs/linux_android_tests_developer.yaml b/coin/platform_configs/linux_android_tests_developer.yaml
index a5f373fa..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_23']
+ '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 9a68ea6f..95966de6 100644
--- a/coin/platform_configs/linux_android_tests_multi_abi.yaml
+++ b/coin/platform_configs/linux_android_tests_multi_abi.yaml
@@ -9,7 +9,7 @@ Configurations:
Target compiler: 'Clang'
Platform dependency: [
'rhel-8.8',
- 'android-6-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-6-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_23'
+ 'ANDROID_EMULATOR=emulator_x86_api_28'
]
diff --git a/coin/platform_configs/macos.yaml b/coin/platform_configs/macos.yaml
index dc33e00e..9af04ac8 100644
--- a/coin/platform_configs/macos.yaml
+++ b/coin/platform_configs/macos.yaml
@@ -9,7 +9,7 @@ Configurations:
-
Id: 'macos-universal-on-x86_64'
- Template: 'qtci-macos-13-x86_64-103'
+ Template: 'qtci-macos-14-x86_64-105'
Compiler: 'Clang'
Target arch: 'x86_64-arm64'
Features: ['Packaging', 'Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
@@ -22,7 +22,7 @@ Configurations:
-
Id: 'macos-universal-on-arm64'
- Template: 'qtci-macos-13-arm64'
+ Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Target arch: 'x86_64-arm64'
Features: ['DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
@@ -65,12 +65,24 @@ Configurations:
Features: ['TestOnly', 'Packaging']
Platform dependency: 'macos-universal-on-x86_64'
-
+ Id: 'macos-12-arm64-tart-tests'
+ Template: 'qtci-macos-12-arm-102'
+ Compiler: 'Clang'
+ Features: ['TestOnly', 'InsignificantTests']
+ 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', 'InsignificantTests']
+ 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', 'InsignificantTests']
+ Platform dependency: 'macos-universal-on-arm64'
+ -
Id: 'macos-12-arm-on-x86_64-tests'
Template: 'qtci-macos-12-x86_64-106'
Compiler: 'Clang'
@@ -111,8 +129,8 @@ Configurations:
# Build on recent macOS version with latest Xcode
-
- Id: 'macos-13-x86_64-developer-build'
- Template: 'qtci-macos-13-x86_64-103'
+ Id: 'macos-14-x86_64-developer-build'
+ Template: 'qtci-macos-14-x86_64-105'
Compiler: 'Clang'
Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-developer-build -release -force-debug-info -no-pch -no-framework -qtnamespace TestNamespace -make examples'
@@ -122,8 +140,8 @@ Configurations:
'Protobuf_ROOT=/usr/local/lib/cmake/protobuf',
]
-
- Id: 'macos-13-arm64-developer-build'
- Template: 'qtci-macos-13-arm64'
+ Id: 'macos-14-arm64-developer-build'
+ Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Features: ['DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
Configure arguments: '-developer-build -nomake examples -release -force-debug-info -separate-debug-info -framework'
@@ -139,16 +157,28 @@ Configurations:
Template: 'qtci-macos-12-arm64'
Compiler: 'Clang'
Features: ['TestOnly']
- Platform dependency: 'macos-13-arm64-developer-build'
+ Platform dependency: 'macos-14-arm64-developer-build'
+ -
+ Id: 'macos-12-arm64-tart-developer-build-tests'
+ Template: 'qtci-macos-12-arm-102'
+ Compiler: 'Clang'
+ Features: ['TestOnly', 'InsignificantTests']
+ Platform dependency: 'macos-14-arm64-developer-build'
-
Id: 'macos-13-arm64-developer-build-tests'
Template: 'qtci-macos-13-arm64'
Compiler: 'Clang'
Features: ['TestOnly']
- Platform dependency: 'macos-13-arm64-developer-build'
+ Platform dependency: 'macos-14-arm64-developer-build'
+ -
+ Id: 'macos-13-arm64-tart-developer-build-tests'
+ Template: 'qtci-macos-13-arm-107'
+ Compiler: 'Clang'
+ Features: ['TestOnly', 'InsignificantTests']
+ Platform dependency: 'macos-14-arm64-developer-build'
-
Id: 'macos-14-arm64-developer-build-tests'
Template: 'qtci-macos-14-arm-106'
Compiler: 'Clang'
Features: ['TestOnly']
- Platform dependency: 'macos-13-arm64-developer-build'
+ Platform dependency: 'macos-14-arm64-developer-build'
diff --git a/coin/platform_configs/nightly_ubuntu_24_04_arm64_documentation.yaml b/coin/platform_configs/nightly_ubuntu_24_04_arm64_documentation.yaml
new file mode 100644
index 00000000..da7a8c17
--- /dev/null
+++ b/coin/platform_configs/nightly_ubuntu_24_04_arm64_documentation.yaml
@@ -0,0 +1,18 @@
+Version: 2
+Configurations:
+# cmake_platforms.yaml
+# Build on Ubuntu 24.04 ARM64 and test on both X11 and Wayland later
+-
+ Id: 'ubuntu-24.04-arm64-documentation'
+ Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
+ Compiler: 'GCC'
+ Features: ['Documentation', 'UseConfigure', 'DoNotRunTests']
+ Configure arguments: '-make examples -developer-build -c++std c++20 -linker gold -qtlibinfix TestInfix -qtnamespace TestNamespace'
+ Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}']
+# Test on Ubuntu 24.04 ARM64 X11
+-
+ Id: 'ubuntu-24.04-arm64-documentation-x11-tests'
+ Template: 'qtci-linux-Ubuntu-24.04-aarch64-50'
+ Compiler: 'GCC'
+ Features: ['TestDocs', 'TestOnly', 'InsignificantTests']
+ Platform dependency: 'ubuntu-24.04-arm64-documentation'
diff --git a/coin/platform_configs/qtlite.yaml b/coin/platform_configs/qtlite.yaml
index 34686a14..b339c0e6 100644
--- a/coin/platform_configs/qtlite.yaml
+++ b/coin/platform_configs/qtlite.yaml
@@ -4,7 +4,7 @@ Configurations:
Id: 'debian-11.6-static-qtlite-arm64'
Template: 'qtci-linux-Debian-11.6-aarch64-50'
Compiler: 'GCC'
- Features: ['Packaging', 'UseConfigure', 'DisableTests', 'Insignificant']
+ Features: ['UseConfigure', 'DisableTests']
Configure arguments: >
-nomake examples
-release
@@ -14,6 +14,7 @@ Configurations:
-reduce-exports
-gc-binaries
-feature-linuxfb
+ -disable-deprecated-up-to 0x070000
-no-feature-abstractbutton
-no-feature-abstractslider
-no-feature-accessibility
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/tqtc-android-automotive.yaml b/coin/platform_configs/tqtc-android-automotive.yaml
index 84746b6b..0f45f161 100644
--- a/coin/platform_configs/tqtc-android-automotive.yaml
+++ b/coin/platform_configs/tqtc-android-automotive.yaml
@@ -12,7 +12,7 @@ Include: [
cmake_platforms_target_android.yaml: [
'android-arm64-on-macos',
'android-armv7-on-windows',
- 'android-6-x86-on-linux',
+ 'android-9-x86-on-linux',
'android-14-x86_64-on-linux'
]
]
diff --git a/coin/platform_configs/tqtc-qt-rta.yaml b/coin/platform_configs/tqtc-qt-rta.yaml
index c89d890f..31874ccf 100644
--- a/coin/platform_configs/tqtc-qt-rta.yaml
+++ b/coin/platform_configs/tqtc-qt-rta.yaml
@@ -12,3 +12,21 @@ Configurations:
'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
]
+-
+ Id: 'Ubuntu-22.04-arm64-x11'
+ Template: 'qtci-linux-Ubuntu-22.04-aarch64-50'
+ Compiler: 'GCC'
+ Features: ['UseConfigure', 'DoNotRunTests']
+ Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -no-libudev -bundled-xcb-xinput'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY'
+ ]
+-
+ Id: 'Ubuntu-22.04-arm64-wayland'
+ Template: 'qtci-linux-Ubuntu-22.04-aarch64-51'
+ Compiler: 'GCC'
+ Features: ['UseConfigure', 'DoNotRunTests']
+ Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -no-libudev -bundled-xcb-xinput'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY'
+ ]
diff --git a/coin/pre-provisioning/qtci-linux-Ubuntu-24.04-aarch64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-Ubuntu-24.04-aarch64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..4b581d78
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-Ubuntu-24.04-aarch64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,60 @@
+### Ubuntu 24.04 ###
+Hard Disk: 1TB
+
+Language: English (United States)
+Time & Date: Etc/Coordinated Universal Time
+Software Selection: Desktop image, minimal install
+
+Language: English (US)
+Typing: English (US)
+Privacy: Location Services: OFF
+Connect Your Online Accounts: Skip
+
+
+# Configure Settings
+ Notifications:
+ * Notification Popups: OFF
+ * Lock Screen Notifications: OFF
+ Privacy:
+ * Screen Lock: OFF
+ * File History & Rubbish Bin:
+ * File History: Off
+ * Diagnostics:
+ * Send error reports to Canonical: Never
+ Power:
+ * Blank screen: Never
+ * Automatic suspend: Off
+ Appearance:
+ * Auto-hide the dock: Off
+ Devices:
+ * Displays: Resolution 1280 x 800 (found 1280 x 768)
+ Details:
+ * Time Zone: UTC
+ * run "sudo timedatectl set-timezone UTC"
+ * Users: Automatic login on
+
+ Software & Updates:
+ * Updates:
+ * Subscribed to: Security updates only
+ * Automatically check for updates: Never
+ * Notify me of a new Ubuntu version: Never
+
+# Add user to sudoers
+Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
+
+Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub (Now it's 1280x768 - is that OK?)
+run 'sudo grub-mkconfig'
+
+# Install ssh server
+run 'sudo apt install openssh-server'
+
+# Disable firewall
+run 'sudo ufw disable'
+
+# Fetch and run coin-setup (in Opennebula)
+Download http://coin/coin/binary/linux_arm64/coin-setup
+run 'chmod +x ./coin-setup' to make it executable
+run './coin-setup'
+
+Reboot
+
diff --git a/coin/pre-provisioning/qtci-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-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/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh
index fc1a10a4..98961077 100755
--- a/coin/provisioning/common/linux/android_linux.sh
+++ b/coin/provisioning/common/linux/android_linux.sh
@@ -147,9 +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-23;google_apis;x86" \
- | eval "$sdkmanager_no_progress_bar_cmd"
-echo "y" | ./sdkmanager --install "system-images;android-33;google_apis;x86_64" \
+echo "y" | ./sdkmanager --install "system-images;android-28;google_apis;x86" \
| eval "$sdkmanager_no_progress_bar_cmd"
echo "Extract stored Android 14 Beta $android14SystemZipName"
@@ -160,11 +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_23 -c 2048M -f \
- -k "system-images;android-23;google_apis;x86"
-
-echo "no" | ./avdmanager create avd -n emulator_x86_64_api_33 -c 2048M -f \
- -k "system-images;android-33;google_apis;x86_64"
+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"
@@ -199,12 +194,12 @@ 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"
-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
+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
mkdir -p gradle/wrapper
-curl "$qtbaseGradleUrl"/gradle/wrapper/gradle-wrapper.jar\?h\=$commit_sha > gradle/wrapper/gradle-wrapper.jar
-curl "$qtbaseGradleUrl"/gradle/wrapper/gradle-wrapper.properties\?h\=$commit_sha > gradle/wrapper/gradle-wrapper.properties
+curl "$qtbaseGradleUrl/gradle/wrapper/gradle-wrapper.jar?h=$commit_sha" > gradle/wrapper/gradle-wrapper.jar
+curl "$qtbaseGradleUrl/gradle/wrapper/gradle-wrapper.properties?h=$commit_sha" > gradle/wrapper/gradle-wrapper.properties
# Run Gradle
chmod +x gradlew
ANDROID_SDK_ROOT="$sdkTargetFolder" sh gradlew build
diff --git a/coin/provisioning/common/linux/axivion-bauhaus-suite.sh b/coin/provisioning/common/linux/axivion-bauhaus-suite.sh
index 1fad17fe..ab4ce5ef 100755
--- a/coin/provisioning/common/linux/axivion-bauhaus-suite.sh
+++ b/coin/provisioning/common/linux/axivion-bauhaus-suite.sh
@@ -27,10 +27,10 @@ DownloadAndExtract () {
sourceFile="http://ci-files01-hki.ci.qt.io/input/axivion/bauhaus-suite-7_7_4-x86_64-gnu_linux.tar.gz"
targetFile="bauhaus-suite-7_7_4-x86_64-gnu_linux.tar.gz"
sha1="df17ac0521864a7f1c0b5b3bfded1817cbf47bae"
-cd $HOME
+cd "$HOME"
DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$HOME"
-mkdir $HOME/.bauhaus
+mkdir "$HOME/.bauhaus"
cd "$HOME/.bauhaus"
wget http://ci-files01-hki.ci.qt.io/input/axivion/Qt_Evaluation_QSR_INTERN_20250118.key
cd "$HOME"
diff --git a/coin/provisioning/common/linux/enable_test_stacktraces.sh b/coin/provisioning/common/linux/enable_test_stacktraces.sh
index ee9d4d23..7b5871db 100755
--- a/coin/provisioning/common/linux/enable_test_stacktraces.sh
+++ b/coin/provisioning/common/linux/enable_test_stacktraces.sh
@@ -8,6 +8,7 @@
PROVISIONING_DIR="$(dirname "$0")/../.."
+# shellcheck source=../unix/common.sourced.sh
source "$PROVISIONING_DIR/common/unix/common.sourced.sh"
@@ -21,8 +22,7 @@ then
fi
# Verify that yama.ptrace_scope = 0, if it's supported by the kernel.
-ptrace_scope_value=`sudo sysctl kernel.yama.ptrace_scope 2>/dev/null \
- | sed -E 's/.*([0-9])$/\1/'`
+ptrace_scope_value=$(sudo sysctl kernel.yama.ptrace_scope 2>/dev/null | sed -E 's/.*([0-9])$/\1/')
if [ -n "$ptrace_scope_value" ] && [ "$ptrace_scope_value" != 0 ]
then
fatal "kernel.yama.ptrace_scope = $ptrace_scope_value \
diff --git a/coin/provisioning/common/linux/install-vcpkg-ports-android.sh b/coin/provisioning/common/linux/install-vcpkg-ports-android.sh
index 5aafc012..4733e9aa 100755
--- a/coin/provisioning/common/linux/install-vcpkg-ports-android.sh
+++ b/coin/provisioning/common/linux/install-vcpkg-ports-android.sh
@@ -7,16 +7,16 @@ echo "Installing vcpkg android ports"
pushd "${BASH_SOURCE%/*}/vcpkg" || exit
cp "${BASH_SOURCE%/*}/../shared/vcpkg-configuration.json" .
-$VCPKG_ROOT/vcpkg install --triplet x86-android-qt --x-install-root x86-android-qt-tmp --debug
-$VCPKG_ROOT/vcpkg install --triplet x86_64-android-qt --x-install-root x86_64-android-qt-tmp --debug
+"$VCPKG_ROOT/vcpkg" install --triplet x86-android-qt --x-install-root x86-android-qt-tmp --debug
+"$VCPKG_ROOT/vcpkg" install --triplet x86_64-android-qt --x-install-root x86_64-android-qt-tmp --debug
-mkdir -p $VCPKG_ROOT/installed
-cp -R x86-android-qt-tmp/* $VCPKG_ROOT/installed/
-cp -R x86_64-android-qt-tmp/* $VCPKG_ROOT/installed/
+mkdir -p "$VCPKG_ROOT/installed"
+cp -R x86-android-qt-tmp/* "$VCPKG_ROOT/installed/"
+cp -R x86_64-android-qt-tmp/* "$VCPKG_ROOT/installed/"
versions=$(jq -r '.overrides[] | "vcpkg \(.name) for android = \(.version)"' vcpkg.json)
versions="${versions//vcpkg/\\nvcpkg}"
-echo $versions >> ~/versions.txt
+echo "$versions" >> ~/versions.txt
rm -rf x86-android-qt-tmp
rm -rf x86_64-android-qt-tmp
diff --git a/coin/provisioning/common/linux/install-vcpkg-ports.sh b/coin/provisioning/common/linux/install-vcpkg-ports.sh
index 853f4131..90257841 100755
--- a/coin/provisioning/common/linux/install-vcpkg-ports.sh
+++ b/coin/provisioning/common/linux/install-vcpkg-ports.sh
@@ -7,14 +7,14 @@ echo "Installing vcpkg ports"
pushd "${BASH_SOURCE%/*}/vcpkg" || exit
cp "${BASH_SOURCE%/*}/../shared/vcpkg-configuration.json" .
-$VCPKG_ROOT/vcpkg install --triplet x64-linux-qt --x-install-root x64-linux-qt-tmp --debug
+"$VCPKG_ROOT/vcpkg" install --triplet x64-linux-qt --x-install-root x64-linux-qt-tmp --debug
mkdir -p "$VCPKG_ROOT/installed"
-cp -R x64-linux-qt-tmp/* $VCPKG_ROOT/installed/
+cp -R x64-linux-qt-tmp/* "$VCPKG_ROOT/installed/"
versions=$(jq -r '.overrides[] | "vcpkg \(.name) = \(.version)"' vcpkg.json)
versions="${versions//vcpkg/\\nvcpkg}"
-echo $versions >> ~/versions.txt
+echo "$versions" >> ~/versions.txt
rm -rf x64-linux-qt-tmp
diff --git a/coin/provisioning/common/linux/install-vcpkg.sh b/coin/provisioning/common/linux/install-vcpkg.sh
index 70b069ae..80917beb 100755
--- a/coin/provisioning/common/linux/install-vcpkg.sh
+++ b/coin/provisioning/common/linux/install-vcpkg.sh
@@ -28,11 +28,11 @@ vcpkgToolSourceFolder="$HOME/vcpkg-tool-$vcpkgToolReleaseTag"
vcpkgToolBuildFolder="$HOME/vcpkg-tool-$vcpkgToolReleaseTag/build"
InstallFromCompressedFileFromURL "$vcpkgToolCacheUrl" "$vcpkgToolOfficialUrl" "$vcpkgToolSHA1" "$HOME" ""
-cmake -S $vcpkgToolSourceFolder -B $vcpkgToolBuildFolder -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=OFF
-cmake --build $vcpkgToolBuildFolder --parallel
+cmake -S "$vcpkgToolSourceFolder" -B "$vcpkgToolBuildFolder" -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DVCPKG_DEVELOPMENT_WARNINGS=OFF
+cmake --build "$vcpkgToolBuildFolder" --parallel
-cp $vcpkgToolBuildFolder/vcpkg $vcpkgRoot/
-rm -rf $vcpkgToolSourceFolder
+cp "$vcpkgToolBuildFolder/vcpkg" "$vcpkgRoot/"
+rm -rf "$vcpkgToolSourceFolder"
if [ ! -f "$vcpkgRoot/vcpkg" ]
then
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/fix_relative_dependencies.sh b/coin/provisioning/common/macos/fix_relative_dependencies.sh
index 930fc110..e67a00c4 100755
--- a/coin/provisioning/common/macos/fix_relative_dependencies.sh
+++ b/coin/provisioning/common/macos/fix_relative_dependencies.sh
@@ -12,13 +12,13 @@ dir_length=${#dir}
dylib_regex="^$dir/.*\.dylib$"
find "$dir" -type f -name '*.dylib' | while read -r library_path; do
- install_name=$(otool -D "$library_path" | sed -n '2p' | egrep "$dylib_regex" )
+ install_name=$(otool -D "$library_path" | sed -n '2p' | grep -E "$dylib_regex" )
if [ -n "$install_name" ]; then
fixed_install_name="@rpath${install_name:dir_length}"
install_name_tool -id "$fixed_install_name" "$library_path"
fi
- otool -L "$library_path" | awk '/\t/ {print $1}' | egrep "$dylib_regex" | while read -r dependency_path; do
+ otool -L "$library_path" | awk '/\t/ {print $1}' | grep -E "$dylib_regex" | while read -r dependency_path; do
fixed_dependency_path="@loader_path${dependency_path:dir_length}"
install_name_tool -change "$dependency_path" "$fixed_dependency_path" "$library_path"
done
diff --git a/coin/provisioning/common/unix/DownloadURL.sh b/coin/provisioning/common/unix/DownloadURL.sh
index c1c27cbb..455d65d3 100755
--- a/coin/provisioning/common/unix/DownloadURL.sh
+++ b/coin/provisioning/common/unix/DownloadURL.sh
@@ -50,7 +50,7 @@ VerifyHash () {
*) echo "FATAL! Unknown hash length: $hashLength" 1>&2 ;;
esac | cut -d ' ' -f 1`
- if [ -z $hash ] || [ ! "$expectedHash" = "$hash" ]
+ if [ -z "$hash" ] || [ ! "$expectedHash" = "$hash" ]
then
echo "FAIL! wrong file hash: $file $hash" 1>&2
return 1
diff --git a/coin/provisioning/common/unix/install-ffmpeg-ios.sh b/coin/provisioning/common/unix/install-ffmpeg-ios.sh
index d3d59849..e2a401a5 100755
--- a/coin/provisioning/common/unix/install-ffmpeg-ios.sh
+++ b/coin/provisioning/common/unix/install-ffmpeg-ios.sh
@@ -22,7 +22,7 @@ prefix="/usr/local/ios/ffmpeg"
if [ ! -d "$ffmpeg_source_dir" ];
then
- InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$target_dir" "$app_prefix"
+ InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$target_dir"
fi
ffmpeg_config_options=$(cat "${BASH_SOURCE%/*}/../shared/ffmpeg_config_options.txt")
@@ -44,7 +44,8 @@ build_ffmpeg_ios() {
sudo mkdir -p "$build_dir"
pushd "$build_dir"
- sudo $ffmpeg_source_dir/configure $ffmpeg_config_options \
+ # shellcheck disable=SC2086
+ sudo "$ffmpeg_source_dir/configure" $ffmpeg_config_options \
--sysroot="$(xcrun --sdk "$target_sdk" --show-sdk-path)" \
--enable-cross-compile \
--enable-optimizations \
diff --git a/coin/provisioning/common/unix/install-ffmpeg.sh b/coin/provisioning/common/unix/install-ffmpeg.sh
index 11495b6b..94d032ed 100755
--- a/coin/provisioning/common/unix/install-ffmpeg.sh
+++ b/coin/provisioning/common/unix/install-ffmpeg.sh
@@ -86,7 +86,7 @@ elif [ "$os" == "macos" ] || [ "$os" == "macos-universal" ]; then
fix_relative_dependencies="${BASH_SOURCE%/*}/../macos/fix_relative_dependencies.sh"
xcode_major_version=$(xcodebuild -version | awk 'NR==1 {split($2, a, "."); print a[1]}')
- if [ $xcode_major_version -ge 15 ]; then
+ if [ "$xcode_major_version" -ge 15 ]; then
# fix the error: duplicate symbol '_av_ac3_parse_header'
ffmpeg_config_options+=" --extra-ldflags=-Wl,-ld_classic"
fi
diff --git a/coin/provisioning/common/unix/install-openssl.sh b/coin/provisioning/common/unix/install-openssl.sh
index d9b44784..3b3353fb 100755
--- a/coin/provisioning/common/unix/install-openssl.sh
+++ b/coin/provisioning/common/unix/install-openssl.sh
@@ -25,16 +25,20 @@ cd "$opensslSource"
pwd
if [[ "$os" == "linux" ]]; then
- ./Configure --prefix="$opensslHome" shared enable-ec_nistp_64_gcc_128 linux-x86_64 "-Wa,--noexecstack"
+ if [ $(uname -m) = aarch64 ]; then
+ arch=$(uname -m)
+ else
+ arch="x86_64"
+ fi
+ ./Configure --prefix="$opensslHome" shared enable-ec_nistp_64_gcc_128 "linux-$arch" "-Wa,--noexecstack"
make && make install_sw install_ssldirs
SetEnvVar "OPENSSL_HOME" "$opensslHome"
SetEnvVar "PATH" "\"$opensslHome/bin:\$PATH\""
- if uname -a |grep -q "Ubuntu"; then
- echo "export LD_LIBRARY_PATH=$opensslHome/lib64:$LD_LIBRARY_PATH" >> ~/.bash_profile
+ if uname -a |grep -q "Debian"; then
+ SetEnvVar "LD_LIBRARY_PATH" "\"$opensslHome/lib:$LD_LIBRARY_PATH\""
else
- echo "export LD_LIBRARY_PATH=$opensslHome/lib64:$LD_LIBRARY_PATH" >> ~/.bashrc
+ SetEnvVar "LD_LIBRARY_PATH" "\"$opensslHome/lib64:$LD_LIBRARY_PATH\""
fi
-
elif [ "$os" == "macos" ] || [ "$os" == "macos-universal" ]; then
# Below target location has been hard coded into Coin.
# QTQAINFRA-1195
diff --git a/coin/provisioning/common/unix/install_protobuf.sh b/coin/provisioning/common/unix/install_protobuf.sh
index 7ace4eae..110d8b9c 100755
--- a/coin/provisioning/common/unix/install_protobuf.sh
+++ b/coin/provisioning/common/unix/install_protobuf.sh
@@ -31,6 +31,36 @@ DownloadURL "$internalUrl" "$externalUrl" "$sha1" "$targetFile"
unzip "$targetFile" -d "$HOME"
sudo rm "$targetFile"
+cd $targetDir
+
+if uname -a |grep -q "Ubuntu"; then
+ echo 'diff --git a/cmake/conformance.cmake b/cmake/conformance.cmake
+index d6c435ac3..d6fb3a7df 100644
+--- a/cmake/conformance.cmake
++++ b/cmake/conformance.cmake
+@@ -24,6 +24,8 @@ add_executable(conformance_test_runner
+ ${protobuf_SOURCE_DIR}/conformance/conformance.pb.cc
+ ${protobuf_SOURCE_DIR}/conformance/conformance_test.cc
+ ${protobuf_SOURCE_DIR}/conformance/conformance_test_runner.cc
++ ${protobuf_SOURCE_DIR}/conformance/conformance_test_main.cc
++ ${protobuf_SOURCE_DIR}/conformance/text_format_conformance_suite.cc
+ ${protobuf_SOURCE_DIR}/conformance/third_party/jsoncpp/json.h
+ ${protobuf_SOURCE_DIR}/conformance/third_party/jsoncpp/jsoncpp.cpp
+ ${protobuf_SOURCE_DIR}/src/google/protobuf/test_messages_proto2.pb.cc
+@@ -36,6 +38,10 @@ add_executable(conformance_cpp
+ ${protobuf_SOURCE_DIR}/src/google/protobuf/test_messages_proto2.pb.cc
+ ${protobuf_SOURCE_DIR}/src/google/protobuf/test_messages_proto3.pb.cc
+ )
++install(TARGETS conformance_test_runner
++ RUNTIME DESTINATION COMPONENT conformance
++ LIBRARY DESTINATION COMPONENT conformance
++ ARCHIVE DESTINATION COMPONENT conformance)
+
+ target_include_directories(
+ conformance_test_runner' | patch -p1
+ extraCMakeArgs=("-Dprotobuf_BUILD_CONFORMANCE=ON")
+fi
+
# devtoolset is needed when running configuration
if uname -a |grep -qv "Darwin"; then
export PATH="/opt/rh/devtoolset-7/root/usr/bin:$PATH"
diff --git a/coin/provisioning/common/unix/libclang-v100-dyn.sh b/coin/provisioning/common/unix/libclang-v100-dyn.sh
index f73903c7..14194f55 100755
--- a/coin/provisioning/common/unix/libclang-v100-dyn.sh
+++ b/coin/provisioning/common/unix/libclang-v100-dyn.sh
@@ -48,5 +48,5 @@ sudo mv /usr/local/libclang "$destination"
rm -rf $zip
-echo "export LLVM_DYNAMIC_LIBS_100=$destination" >> ~/.bash_profile
+SetEnvVar "LLVM_DYNAMIC_LIBS_100" "$destination"
echo "libClang for QtForPython= $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/unix/libclang.sh b/coin/provisioning/common/unix/libclang.sh
index 9a442d2e..5f75d7e4 100755
--- a/coin/provisioning/common/unix/libclang.sh
+++ b/coin/provisioning/common/unix/libclang.sh
@@ -62,5 +62,5 @@ sudo mv /usr/local/libclang "$destination"
rm -rf $zip
-echo "export LLVM_INSTALL_DIR=$destination" >> ~/.bash_profile
+SetEnvVar "LLVM_INSTALL_DIR" "$destination"
echo "libClang = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/unix/squishInstall.sh b/coin/provisioning/common/unix/squishInstall.sh
index c5f5004b..0195d84a 100755
--- a/coin/provisioning/common/unix/squishInstall.sh
+++ b/coin/provisioning/common/unix/squishInstall.sh
@@ -36,16 +36,12 @@ sudo mkdir "$testSuiteLocal"
# Check which platform
if uname -a |grep -q Darwin; then
usersGroup="staff"
- squishLicenseDir="/Users/qt"
elif uname -a |grep -q "el7"; then
usersGroup="qt"
- squishLicenseDir="/root"
elif uname -a |grep -q "Ubuntu"; then
usersGroup="users"
- squishLicenseDir="/home/qt"
else
usersGroup="users"
- squishLicenseDir="/root"
fi
targetFileMount="$mountFolder"/"$compressedFolder"
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 8f29d121..9fbf27aa 100644
--- a/coin/provisioning/common/windows/helpers.ps1
+++ b/coin/provisioning/common/windows/helpers.ps1
@@ -196,6 +196,28 @@ function Is64BitWinHost
return [environment]::Is64BitOperatingSystem
}
+enum CpuArch {
+ x64
+ x86
+ arm64
+ unknown
+}
+
+function Get-CpuArchitecture
+{
+ # Possible values are "AMD64", "IA64", "ARM64", and "x86"
+ $arch = [System.Environment]::GetEnvironmentVariable('PROCESSOR_ARCHITECTURE', 'Machine')
+ if ($arch -eq "AMD64") {
+ return [CpuArch]::x64
+ } elseif ($arch -eq "x86") {
+ return [CpuArch]::x86
+ } elseif ($arch -eq "ARM64") {
+ return [CpuArch]::arm64
+ }
+
+ return [CpuArch]::unknown
+}
+
function IsProxyEnabled {
return (Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').proxyEnable
}
@@ -285,10 +307,10 @@ function GetVSPath {
}
function EnterVSDevShell {
- # Add cl to path if it is not already there.
- if (Get-Command cl.exe -ErrorAction SilentlyContinue) {
- return $true
- }
+ Param (
+ [string]$HostArch = "amd64",
+ [string]$Arch = "amd64"
+ )
$vsWere = "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe"
$vcComponent = "Microsoft.VisualStudio.Component.VC.CoreIde"
@@ -296,10 +318,10 @@ function EnterVSDevShell {
# 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)
- Write-Host "Enter VisualStudio developer shell"
+ Write-Host "Enter VisualStudio developer shell (-host_arch=$HostArch -arch=$Arch)"
try {
Import-Module "$VSPath\Common7\Tools\Microsoft.VisualStudio.DevShell.dll"
- Enter-VsDevShell -VsInstallPath $VSPath -DevCmdArguments "-arch=x64 -no_logo"
+ Enter-VsDevShell -VsInstallPath $VSPath -DevCmdArguments "-host_arch=$HostArch -arch=$Arch -no_logo"
} catch {
Write-Host "Failed to enter VisualStudio DevShell"
return $false
diff --git a/coin/provisioning/common/windows/install-ffmpeg.ps1 b/coin/provisioning/common/windows/install-ffmpeg.ps1
index 2ac93e7d..f8ad9f15 100644
--- a/coin/provisioning/common/windows/install-ffmpeg.ps1
+++ b/coin/provisioning/common/windows/install-ffmpeg.ps1
@@ -25,7 +25,6 @@ Remove $download_location
$config = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt"
Write-Host "FFmpeg configuration $config"
-
function InstallFfmpeg {
Param (
[string]$buildSystem,
@@ -73,12 +72,29 @@ function InstallMingwFfmpeg {
function InstallMsvcFfmpeg {
- $result = EnterVSDevShell
+ Param (
+ [bool]$isArm64
+ )
+
+ $arch = "amd64"
+ $buildSystem = "msvc"
+ $ffmpegDirEnvVar = "FFMPEG_DIR_MSVC"
+
+ $config = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt"
+
+ if ($isArm64) {
+ $arch = "arm64"
+ $buildSystem += "-arm64"
+ $ffmpegDirEnvVar += "_ARM64"
+ $config += " --enable-cross-compile --arch=arm64 --disable-asm"
+ }
+
+ $result = EnterVSDevShell -Arch $arch
if (-Not $result) {
return $false
}
- $result = InstallFfmpeg -buildSystem "msvc" -msystem "MSYS" -toolchain "msvc" -ffmpegDirEnvVar "FFMPEG_DIR_MSVC" -shared $true
+ $result = InstallFfmpeg -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
@@ -138,14 +154,16 @@ function InstallAndroidArmv7 {
}
$mingwRes = InstallMingwFfmpeg
-$msvcRes = InstallMsvcFfmpeg
$llvmMingwRes = InstallLlvmMingwFfmpeg
$androidArmV7Res = InstallAndroidArmv7
+$msvcRes = InstallMsvcFfmpeg -isArm64 $false
+$msvcArm64Res = InstallMsvcFfmpeg -isArm64 $true
Write-Host "Ffmpeg installation results:"
Write-Host " mingw:" $(if ($mingwRes) { "OK" } else { "FAIL" })
Write-Host " msvc:" $(if ($msvcRes) { "OK" } else { "FAIL" })
+Write-Host " msvc-arm64:" $(if ($msvcArm64Res) { "OK" } else { "FAIL" })
Write-Host " llvm-mingw:" $(if ($llvmMingwRes) { "OK" } else { "FAIL" })
Write-Host " android-armv7:" $(if ($androidArmV7Res) { "OK" } else { "FAIL" })
-exit $(if ($mingwRes -and $msvcRes -and $llvmMingwRes -and $androidArmV7Res) { 0 } else { 1 })
+exit $(if ($mingwRes -and $msvcRes -and $msvcArm64Res -and $llvmMingwRes -and $androidArmV7Res) { 0 } else { 1 })
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/mysql.ps1 b/coin/provisioning/common/windows/mysql.ps1
index 82037166..10a8b633 100644
--- a/coin/provisioning/common/windows/mysql.ps1
+++ b/coin/provisioning/common/windows/mysql.ps1
@@ -6,16 +6,12 @@
# This script installs MySQL $version.
# Both x86 and x64 versions needed when x86 integrations are done on x64 machine
-$version = "6.1.11"
+$version = "8.0.36"
$installFolder = "C:\Utils"
-$officialUrl = "https://downloads.mysql.com/archives/get/p/19/file/mysql-connector-c-${version}-winx64.zip"
-$officialUrlDebug = "https://downloads.mysql.com/archives/get/p/19/file/mysql-connector-${version}-winx64-debug.zip"
-$cacheURl = "http://ci-files01-hki.ci.qt.io/input/windows/mysql-connector-c-${version}-winx64.zip"
-$cacheURlDebug = "http://ci-files01-hki.ci.qt.io/input/windows/mysql-connector-c-${version}-winx64-debug.zip"
-$sha = "93e22a1ba3944a6c8e01d3ea04c1bfb005b238f9"
-$shaDebug = "d54088a9182e2f03b4d6f44c327e341eeab16367"
-$zip = Get-DownloadLocation ("mysql-connector-c-" + $version + "-winx64.zip")
-$zipDebug = Get-DownloadLocation ("mysql-connector-c-" + $version + "-winx64-debug.zip")
+$officialUrl = "https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-${version}-winx64.zip"
+$cacheURl = "http://ci-files01-hki.ci.qt.io/input/windows/mysql-${version}-winx64.zip"
+$sha = "e5003569386006ccde9000c98e28e28073c1433d"
+$zip = Get-DownloadLocation ("mysql-" + $version + "-winx64.zip")
function Install {
param(
@@ -32,11 +28,10 @@ function Install {
}
Install $officialUrl $cacheURl $zip $sha
-Install $officialUrlDebug $cacheURlDebug $zipDebug $shaDebug
# Can't set MySQL_ROOT & MySQL_LIBRARY_DIR variables. Those will enable mysql in every windows target.
# Let's use ENV_MySQL_* and use it in platform_configs
-Set-EnvironmentVariable "ENV_MySQL_ROOT" "${installFolder}\mysql-connector-c-${version}-winx64"
-Set-EnvironmentVariable "ENV_MySQL_LIBRARY_DIR" "${installFolder}\mysql-connector-c-${version}-winx64\lib\vs14"
+Set-EnvironmentVariable "ENV_MySQL_ROOT" "${installFolder}\mysql-${version}-winx64"
+Set-EnvironmentVariable "ENV_MySQL_LIBRARY_DIR" "${installFolder}\mysql-${version}-winx64\lib"
Write-Output "MySQL = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/ninja.ps1 b/coin/provisioning/common/windows/ninja.ps1
index d5557d82..956e7835 100644
--- a/coin/provisioning/common/windows/ninja.ps1
+++ b/coin/provisioning/common/windows/ninja.ps1
@@ -1,17 +1,43 @@
. "$PSScriptRoot\helpers.ps1"
-$zip = Get-DownloadLocation "ninja-1.10.2-win-x86.zip"
-
-Download http://master.qt.io/development_releases/prebuilt/ninja/v1.10.2/ninja-win-x86.zip \\ci-files01-hki.ci.qt.io\provisioning\ninja\ninja-1.10.2-win-really-x86.zip $zip
-Verify-Checksum $zip "1a22ee9269df8ed69c4600d7ee4ccd8841bb99ca"
+$cpu_arch = Get-CpuArchitecture
+switch ($cpu_arch) {
+ arm64 {
+ $arch = "arm64"
+ $version = "1.12.0"
+ $longPathFixed = $true # fixed https://github.com/ninja-build/ninja/pull/2225 in 1.12.0
+ $zip = Get-DownloadLocation "ninja-$version-win-$arch.zip"
+ $internalUrl = "https://ci-files01-hki.ci.qt.io/input/ninja/v$version/ninja-win$arch.zip"
+ $externalUrl = "https://github.com/ninja-build/ninja/releases/download/v$version/ninja-win$arch.zip"
+ $sha1 = "51bf1bac149ae1e3d1572fa9fa87d6431dbddc8b"
+ Break
+ }
+ x64 {
+ $arch = "amd64"
+ $version = "1.10.2"
+ $longPathFixed = $false
+ $zip = Get-DownloadLocation "ninja-$version-win-x86.zip"
+ # TODO: Fix this QTQAINFRA-6296
+ $internalUrl = "http://master.qt.io/development_releases/prebuilt/ninja/v$version/ninja-win-x86.zip"
+ $externalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\ninja\ninja-$version-win-really-x86.zip"
+ $sha1 = "1a22ee9269df8ed69c4600d7ee4ccd8841bb99ca"
+ Break
+ }
+ default {
+ throw "Unknown architecture $cpu_arch"
+ }
+}
+Download $internalUrl $externalUrl $zip
+Verify-Checksum $zip $sha1
Extract-7Zip $zip C:\Utils\Ninja
Remove "$zip"
Add-Path "C:\Utils\Ninja"
-Write-Output "Ninja = 1.10.2" >> ~/versions.txt
+Write-Output "Ninja ($arch) = $version" >> ~/versions.txt
+if ( -Not $longPathFixed ) {
$manifest = @"
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
@@ -33,3 +59,5 @@ Invoke-MtCommand "C:\Program Files (x86)\Microsoft Visual Studio\2019\Profession
} else {
Invoke-MtCommand "C:\Program Files (x86)\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64 $manifest "C:\Utils\Ninja\ninja.exe"
}
+
+}
diff --git a/coin/provisioning/common/windows/nodejs.ps1 b/coin/provisioning/common/windows/nodejs.ps1
index 5e9b8a0c..3dc6ffe5 100644
--- a/coin/provisioning/common/windows/nodejs.ps1
+++ b/coin/provisioning/common/windows/nodejs.ps1
@@ -7,12 +7,27 @@
# Needed by QtWebengine
$version = "20.7.0"
-if (Is64BitWinHost) {
- $arch = "x64"
- $sha256 = "b3e5cbf8e247c75f9ddd235d49cfe40f25dde65bdd0eec4cefbca2805d80376b"
-} else {
- $arch = "x86"
- $sha256 = "d6a3c63a5ae71374c144a33c418ab96be497b08df0e9f51861a78127db03aeb5"
+$cpu_arch = Get-CpuArchitecture
+switch ($cpu_arch) {
+ arm64 {
+ $arch = "arm64"
+ $sha256 = "ab4b990c2c1d4a55d565813e7a2f71669dc4d1005faa47185d30bde4416975ab"
+ $version = "20.12.2" # TODO: ARM starts with newer, LTS
+ Break
+ }
+ x64 {
+ $arch = "x64"
+ $sha256 = "b3e5cbf8e247c75f9ddd235d49cfe40f25dde65bdd0eec4cefbca2805d80376b"
+ Break
+ }
+ x86 {
+ $arch = "x86"
+ $sha256 = "d6a3c63a5ae71374c144a33c418ab96be497b08df0e9f51861a78127db03aeb5"
+ Break
+ }
+ default {
+ throw "Unknown architecture $cpu_arch"
+ }
}
$package = "C:\Windows\temp\nodejs-$version.7z"
diff --git a/coin/provisioning/common/windows/openssl-arm64.ps1 b/coin/provisioning/common/windows/openssl-arm64.ps1
index 2a3de12d..16627039 100644
--- a/coin/provisioning/common/windows/openssl-arm64.ps1
+++ b/coin/provisioning/common/windows/openssl-arm64.ps1
@@ -35,10 +35,29 @@ Verify-Checksum $zip_package $sha1
Extract-7Zip $zip_package C:\
Remove $zip_package
-Set-EnvironmentVariable "OPENSSL_ROOT_DIR_x64_arm64" "$installFolder"
-Set-EnvironmentVariable "OPENSSL_CONF_x64_arm64" "$installFolder\bin\openssl.cfg"
-Set-EnvironmentVariable "OPENSSL_INCLUDE_x64_arm64" "$installFolder\include"
-Set-EnvironmentVariable "OPENSSL_LIB_x64_arm64" "$installFolder\lib"
+$cpu_arch = Get-CpuArchitecture
+switch ($cpu_arch) {
+ arm64 {
+ # For native arm64
+ Set-EnvironmentVariable "OPENSSL_ROOT_DIR_arm64" "$installFolder"
+ Set-EnvironmentVariable "OPENSSL_CONF_arm64" "$installFolder\bin\openssl.cfg"
+ Set-EnvironmentVariable "OPENSSL_INCLUDE_arm64" "$installFolder\include"
+ Set-EnvironmentVariable "OPENSSL_LIB_arm64" "$installFolder\lib"
+ Break
+ }
+ x64 {
+ # For cross-compiling x64_arm64
+ Set-EnvironmentVariable "OPENSSL_ROOT_DIR_x64_arm64" "$installFolder"
+ Set-EnvironmentVariable "OPENSSL_CONF_x64_arm64" "$installFolder\bin\openssl.cfg"
+ Set-EnvironmentVariable "OPENSSL_INCLUDE_x64_arm64" "$installFolder\include"
+ Set-EnvironmentVariable "OPENSSL_LIB_x64_arm64" "$installFolder\lib"
+ }
+ default {
+ throw "Unknown architecture $cpu_arch"
+ }
+}
+
+Prepend-Path "$installFolder\bin"
# Store version information to ~/versions.txt, which is used to print version information to provision log.
Write-Output "OpenSSL ARM= $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/python.ps1 b/coin/provisioning/common/windows/python.ps1
deleted file mode 100644
index d403a834..00000000
--- a/coin/provisioning/common/windows/python.ps1
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright (C) 2020 The Qt Company Ltd.
-# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-
-# This script installs Python $version.
-# Python is required for building Qt 5 from source.
-param(
- [Int32]$archVer=32,
- [string]$targetDir="C:\Python27"
-)
-. "$PSScriptRoot\helpers.ps1"
-
-$version = "2.7.13"
-if ( $archVer -eq 64 ) {
- $arch = ".amd64"
- $sha1 = "d9113142bae8829365c595735e1ad1f9f5e2894c"
-} else {
- $arch = ""
- $sha1 = "7e3b54236dbdbea8fe2458db501176578a4d59c0"
-}
-$package = "C:\Windows\temp\python-$version.msi"
-$externalUrl = "https://www.python.org/ftp/python/$version/python-$version" + $arch + ".msi"
-$internalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\windows\python-$version" + $arch + ".msi"
-
-Write-Host "Fetching from URL..."
-Download $externalUrl $internalUrl $package
-Verify-Checksum $package $sha1
-
-# Python installation is flaky, but seems to pass with second run if error occurs.
-$stop = $false
-[int]$retry = "0"
-do {
- try {
- # /levx = e:'All error messages' v:'Verbose' x:'Extra debugging info'
- Run-Executable "msiexec" "/passive /i $package /levx C:\Windows\Temp\Python_log.log TARGETDIR=$targetDir ALLUSERS=1"
- $stop = $true
- }
- catch {
- Get-Content C:\Windows\Temp\Python_log.log -Tail 50
- if ($retry -gt 2) {
- Write-Host "Python installation failed!"
- throw
- }
- else {
- Write-Host "Couldn't install python, retrying in 30 seconds"
- Start-Sleep -s 30
- $retry = $retry + 1
- }
- }
-}
-while ($stop -ne $true)
-
-# We need to change allowZip64 from 'False' to 'True' to be able to create ZIP files that use the ZIP64 extensions when the zipfile is larger than 2 GB
-Write-Host "Changing allowZip64 value to 'True'..."
-(Get-Content $targetDir\lib\zipfile.py) | ForEach-Object { $_ -replace "allowZip64=False", "allowZip64=True" } | Set-Content $targetDir\lib\zipfile.py
-Remove "$package"
-
-# When installing 32 bit python to 64 bit host, we want to keep only default python in path
-# For cross-compilation we export some helper env variable
-if (($archVer -eq 32) -And (Is64BitWinHost)) {
- Set-EnvironmentVariable "PYTHON2_32_PATH" "$targetDir"
- Set-EnvironmentVariable "PIP2_32_PATH" "$targetDir\Scripts"
-} else {
- Add-Path "$targetDir;$targetDir\Scripts"
-}
-
-
-Run-Executable "$targetDir\python.exe" "-m ensurepip"
-
-Write-Host "Upgrade pip to the latest version available."
-Run-Executable "$targetDir\python.exe" "-m pip install --upgrade pip"
-
-Write-Host "Configure pip"
-Run-Executable "$targetDir\python.exe" "-m pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache"
-Run-Executable "$targetDir\python.exe" "-m pip config --user set global.extra-index-url https://pypi.org/simple/"
-
-# Install python virtual env
-if (IsProxyEnabled) {
- $proxy = Get-Proxy
- Write-Host "Using proxy ($proxy) with pip"
- $pip_args = "--proxy=$proxy"
-}
-Run-Executable "$targetDir\Scripts\pip.exe" "$pip_args install virtualenv"
-
-# Install PyPDF2 for QSR documentation
-Run-Executable "$targetDir\Scripts\pip.exe" "$pip_args install PyPDF2"
-
-Write-Output "Python-$archVer = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/python3.ps1 b/coin/provisioning/common/windows/python3.ps1
index a714da16..46f75d7c 100644
--- a/coin/provisioning/common/windows/python3.ps1
+++ b/coin/provisioning/common/windows/python3.ps1
@@ -16,13 +16,26 @@ param(
$package = "C:\Windows\temp\python-$version.exe"
# check bit version
-if ( $archVer -eq 64 ) {
- Write-Host "Installing 64 bit Python"
- $externalUrl = "https://www.python.org/ftp/python/$version/python-$version-amd64.exe"
- $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version-amd64.exe"
-} else {
- $externalUrl = "https://www.python.org/ftp/python/$version/python-$version.exe"
- $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version.exe"
+$cpu_arch = Get-CpuArchitecture
+Write-Host "Installing $cpu_arch Python"
+switch ($cpu_arch) {
+ arm64 {
+ $externalUrl = "https://www.python.org/ftp/python/$version/python-$version-arm64.exe"
+ $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version-arm64.exe"
+ Break
+ }
+ x64 {
+ if ($archVer -eq "64") {
+ $externalUrl = "https://www.python.org/ftp/python/$version/python-$version-amd64.exe"
+ $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version-amd64.exe"
+ } else {
+ $externalUrl = "https://www.python.org/ftp/python/$version/python-$version.exe"
+ $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version.exe"
+ }
+ }
+ default {
+ throw "Unknown architecture $cpu_arch"
+ }
}
Write-Host "Fetching from URL..."
diff --git a/coin/provisioning/common/windows/qnx710.ps1 b/coin/provisioning/common/windows/qnx710.ps1
index 3c8f2257..c720619c 100644
--- a/coin/provisioning/common/windows/qnx710.ps1
+++ b/coin/provisioning/common/windows/qnx710.ps1
@@ -28,10 +28,10 @@ $folderName = "qnx710"
$targetPath = "$targetFolder$folderName"
# QNX SDP
-$cachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\qnx\qnx710-windows-linux-20220405.tar.xz"
-$sourceFile = "http://ci-files01-hki.ci.qt.io/input/qnx/qnx710-windows-linux-20220405.tar.xz"
+$cachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\qnx\qnx710-windows-linux-20240417.tar.xz"
+$sourceFile = "http://ci-files01-hki.ci.qt.io/input/qnx/qnx710-windows-linux-20240417.tar.xz"
$targetFile = "qnx710.tar.xz"
-$sha1 = "134af2e0f75d7b7c516f824fafee265b89e51d48"
+$sha1 = "cd2d35004fb2798089e29d9e1226691426632da0"
DownloadAndExtract $sourceFile $sha1 $targetFile $targetFolder $cachedUrl
Copy-Item $aarch64le_toolchain $targetPath
diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/09-openssl.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/09-openssl.sh
new file mode 100644
index 00000000..3a65360e
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/09-openssl.sh
@@ -0,0 +1,7 @@
+#!/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
+
+"$(dirname "$0")/../common/unix/install-openssl.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/92-sbuild.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/92-sbuild.sh
index 82ca4884..8991bcca 100755
--- a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/92-sbuild.sh
+++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/92-sbuild.sh
@@ -2,6 +2,8 @@
# 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
+
# Setups sbuild environment
tee ~/.sbuildrc << EOF
@@ -44,8 +46,8 @@ sudo sbuild-createchroot --include=eatmydata,ccache,gnupg,ca-certificates stable
echo "Create chroot for Ubuntu Jammy"
# First we need update the deboostrap scripts
-mkdir -p $HOME/deboot
-cd $HOME/deboot
+mkdir -p "$HOME"/deboot
+cd "$HOME"/deboot
# Orig url http://ftp.fi.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.134~bpo12+1.tar.gz
# we have to update the debootstrap so that sbuild-createroot will recognize jammy code name
wget http://ci-files01-hki.ci.qt.io/input/debian/debootstrap/debootstrap_1.0.134~bpo12+1.tar.gz
@@ -53,7 +55,7 @@ tar xzvf debootstrap_1.0.134~bpo12+1.tar.gz
cd debootstrap
sudo make install
cd
-rm -rf $HOME/deboot
+rm -rf "$HOME"/deboot
sudo sbuild-createchroot --include=gnupg,ca-certificates jammy /srv/chroot/jammy-arm64 http://ports.ubuntu.com/ubuntu-ports/
echo "Done creating chroot for Ubuntu Jammy"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh
index b0eaebb0..d1d600da 100755
--- a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh
@@ -87,7 +87,7 @@ installPackages+=(python3-html5lib)
installPackages+=(libatomic)
installPackages+=(mesa-libgbm-devel-21.3.4-1.el8.x86_64)
# For Android builds
-installPackages+=(java-11-openjdk-devel-11.0.19.0.7)
+installPackages+=(java-17-openjdk-devel-17.0.9.0.9)
# For receiving shasum
installPackages+=(perl-Digest-SHA)
# INTEGRITY requirements
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh
index c843bbd0..79c3476a 100755
--- a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh
@@ -80,7 +80,7 @@ installPackages+=(python3-html5lib)
installPackages+=(mesa-libgbm-devel-21.3.4-2.el9)
installPackages+=(libstdc++-static)
# For Android builds
-installPackages+=(java-11-openjdk-devel-11.0.19.0.7)
+installPackages+=(java-17-openjdk-devel-17.0.9.0.9)
# For receiving shasum
installPackages+=(perl-Digest-SHA)
# INTEGRITY requirements
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/02-install-xcb_util_cursor.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/02-install-xcb_util_cursor.sh
new file mode 100755
index 00000000..353297db
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/02-install-xcb_util_cursor.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# Install xcb-util-cursor* libraries before updating repos. In updated repos these libraries are no longer available.
+# QTQAINFRA-6325
+sudo yum -y install xcb-util-cursor
+sudo yum -y install xcb-util-cursor-devel
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh
index dda345ac..279d66a5 100755
--- a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh
@@ -93,7 +93,7 @@ installPackages+=(python3-html5lib)
installPackages+=(libstdc++-static)
installPackages+=(mesa-libgbm-devel-21.3.4-2.el9.x86_64)
# For Android builds
-installPackages+=(java-11-openjdk-devel)
+installPackages+=(java-17-openjdk-devel-17.0.9.0.9)
# For receiving shasum
installPackages+=(perl-Digest-SHA)
# INTEGRITY requirements
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh
index d0c1a9fc..5fed6690 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
@@ -91,6 +91,7 @@ installPackages+=(g++-multilib)
# python3 development package
installPackages+=(python3-dev)
installPackages+=(python3-pip)
+installPackages+=(python3-venv)
installPackages+=(virtualenv)
installPackages+=(python3-wheel)
# python2 development package
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh
index 148a6357..72d32e8f 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
@@ -110,6 +110,7 @@ installPackages+=(g++-multilib)
# python3 development package
installPackages+=(python3-dev)
installPackages+=(python3-pip)
+installPackages+=(python3-venv)
installPackages+=(virtualenv)
installPackages+=(python3-wheel)
# python2 development package
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh
index 26430c71..a764dc7e 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh
@@ -113,8 +113,9 @@ sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARM64/sysroots/$sysrootARM64/et
# Fix mdns to support both docker and network tests
# See also https://bugreports.qt.io/browse/QTBUG-106013
-sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf"
-sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf"
+sudo sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] mdns4 dns/' \
+ $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf \
+ $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf
# Install qemu binfmt for 32bit and 64bit arm architectures
sudo update-binfmts --package qemu-arm --install arm $yoctoLocationARMv7/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-arm \
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-disable-notifications.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-disable-notifications.sh
new file mode 100755
index 00000000..1b9ed6c9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-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-22.04-aarch64/01-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-disable-ntp.sh
new file mode 100755
index 00000000..1995aa14
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-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-22.04-aarch64/01-disable_auto_suspend.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-disable_auto_suspend.sh
new file mode 100755
index 00000000..8ad69bfa
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-disable_auto_suspend.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
+
+sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-remove-apport.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-remove-apport.sh
new file mode 100755
index 00000000..879f3ffb
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-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-22.04-aarch64/01-remove-update_notifier.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-remove-update_notifier.sh
new file mode 100755
index 00000000..f4a5119f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-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-22.04-aarch64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-systemsetup.sh
new file mode 100755
index 00000000..98744822
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/01-systemsetup.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script modifies system settings for automated use
+
+set -ex
+
+# shellcheck source=../common/unix/check_and_set_proxy.sh
+source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
+
+NTS_IP=10.212.2.216
+
+echo "Set timezone to UTC."
+sudo timedatectl set-timezone Etc/UTC
+echo "Timeout for blanking the screen (0 = never)"
+gsettings set org.gnome.desktop.session idle-delay 0
+echo "Prevents screen lock when screesaver goes active."
+gsettings set org.gnome.desktop.screensaver lock-enabled false
+echo "Set grub timeout to 0"
+sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub
+sudo update-grub
+
+# https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624320
+# Checking if Ubuntu 20.04 works without this
+#echo "Setting up workaround for Ubuntu systemd resolve bug"
+#sudo rm -f /etc/resolv.conf
+#sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
+
+# remove hostname to get unique based on IP address
+sudo rm /etc/hostname
+
+echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
+echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+
+echo 'LC_ALL=en_US.UTF8' | sudo tee /etc/default/locale
+
+if [ "$http_proxy" != "" ]; then
+ echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf
+fi
+
+# This script diverts qtlogging.ini file so we don't get debugging related auto-test failures.
+sudo dpkg-divert --divert /etc/xdg/QtProject/qtlogging.ini.foo --rename /etc/xdg/QtProject/qtlogging.ini
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/02-apt.sh
new file mode 100755
index 00000000..b04190ae
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/02-apt.sh
@@ -0,0 +1,60 @@
+#!/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" > /dev/null <<-EOC
+ deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy main restricted universe multiverse
+ deb [arch=aarch64 http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy-updates main restricted universe multiverse
+ deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy-backports main restricted universe
+ deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy-security main restricted universe multiverse
+EOC
+}
+
+#repo-clones not set up for aarch64 yet
+#(ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories."
+
+# Make sure needed ca-certificates are available
+sudo apt-get install --reinstall ca-certificates
+
+## Tools
+# 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)
+
+# Packages needed for RTA and Squish
+installPackages+=(default-jdk)
+installPackages+=(gcc)
+
+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[@]}"
+
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+# SetEnvVar "PATH" "/usr/lib/nodejs-mozilla/bin:\$PATH"
+
+OpenSSLVersion="$(openssl version |cut -b 9-14)"
+echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/99-cleanup.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/99-cleanup.sh
new file mode 100755
index 00000000..4d6e16ea
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/99-cleanup.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+"$(dirname "$0")"/../common/linux/cleanup_cache.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/99-version.sh
new file mode 100755
index 00000000..31821f6b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-aarch64/99-version.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/ubuntu-version.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh
index bd689a41..9a9a5ef2 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
@@ -111,6 +111,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)
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh
index 26430c71..a764dc7e 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh
@@ -113,8 +113,9 @@ sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARM64/sysroots/$sysrootARM64/et
# Fix mdns to support both docker and network tests
# See also https://bugreports.qt.io/browse/QTBUG-106013
-sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf"
-sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf"
+sudo sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] mdns4 dns/' \
+ $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf \
+ $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf
# Install qemu binfmt for 32bit and 64bit arm architectures
sudo update-binfmts --package qemu-arm --install arm $yoctoLocationARMv7/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-arm \
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-qnx800.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-qnx800.sh
new file mode 100755
index 00000000..45d9e43e
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-qnx800.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/qnx_800.sh
+source "${BASH_SOURCE%/*}/../common/linux/qnx_800.sh"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/01-systemsetup.sh
new file mode 100644
index 00000000..98744822
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/01-systemsetup.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script modifies system settings for automated use
+
+set -ex
+
+# shellcheck source=../common/unix/check_and_set_proxy.sh
+source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
+
+NTS_IP=10.212.2.216
+
+echo "Set timezone to UTC."
+sudo timedatectl set-timezone Etc/UTC
+echo "Timeout for blanking the screen (0 = never)"
+gsettings set org.gnome.desktop.session idle-delay 0
+echo "Prevents screen lock when screesaver goes active."
+gsettings set org.gnome.desktop.screensaver lock-enabled false
+echo "Set grub timeout to 0"
+sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub
+sudo update-grub
+
+# https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624320
+# Checking if Ubuntu 20.04 works without this
+#echo "Setting up workaround for Ubuntu systemd resolve bug"
+#sudo rm -f /etc/resolv.conf
+#sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
+
+# remove hostname to get unique based on IP address
+sudo rm /etc/hostname
+
+echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
+echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+
+echo 'LC_ALL=en_US.UTF8' | sudo tee /etc/default/locale
+
+if [ "$http_proxy" != "" ]; then
+ echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf
+fi
+
+# This script diverts qtlogging.ini file so we don't get debugging related auto-test failures.
+sudo dpkg-divert --divert /etc/xdg/QtProject/qtlogging.ini.foo --rename /etc/xdg/QtProject/qtlogging.ini
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh
new file mode 100644
index 00000000..6c4b86a4
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-apt.sh
@@ -0,0 +1,236 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Install required packages with APT
+
+# shellcheck source=../common/linux/apt_wait_loop.sh
+source "${BASH_SOURCE%/*}/../common/linux/apt_wait_loop.sh"
+
+echo "Disabling auto update"
+sudo sed -i 's/APT::Periodic::Update-Package-Lists "1";/APT::Periodic::Update-Package-Lists "0";/' /etc/apt/apt.conf.d/10periodic
+for service in apt-daily.timer apt-daily-upgrade.timer apt-daily.service apt-daily-upgrade.service; do
+ sudo systemctl stop $service
+ sudo systemctl disable $service
+done
+
+function set_internal_repo {
+
+ # Stop fetching the dep-11 metadata, since our mirrors do not handle them well
+ sudo mv /etc/apt/apt.conf.d/50appstream{,.disabled}
+
+ sudo tee "/etc/apt/sources.list.d/ubuntu.list" > /dev/null <<-EOC
+ deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble main restricted universe multiverse
+ deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-updates main restricted universe multiverse
+ deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-backports main restricted universe
+ deb [arch=aarch64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ noble-security main restricted universe multiverse
+EOC
+}
+
+#(ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories."
+echo "Internal package repository not loading Translation en package (QTQAINFRA-6297). Using public repositories."
+
+# Make sure needed ca-certificates are available
+sudo apt-get install --reinstall ca-certificates
+
+# Git is not needed by builds themselves, but is nice to have
+# immediately as one starts debugging
+installPackages+=(git)
+# 7zip is a needed decompressing tool
+installPackages+=(p7zip-full)
+# To be able to mount yocto-cache during builds
+installPackages+=(nfs-common)
+# libssl-dev provides headers for OpenSSL
+installPackages+=(libssl-dev)
+# Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git
+installPackages+=("^libxcb.*")
+installPackages+=(libxkbcommon-dev)
+installPackages+=(libxkbcommon-x11-dev)
+installPackages+=(libx11-xcb-dev)
+installPackages+=(libglu1-mesa-dev)
+installPackages+=(libxrender-dev)
+installPackages+=(libxi-dev)
+# Enable linking to system dbus
+installPackages+=(libdbus-1-dev)
+# Needed libraries for WebEngine
+installPackages+=(udev)
+installPackages+=(libudev-dev)
+installPackages+=(libdrm-dev)
+installPackages+=(libegl1-mesa-dev)
+installPackages+=(libfontconfig1-dev)
+installPackages+=(libgbm-dev)
+installPackages+=(liblcms2-dev)
+installPackages+=(libpci-dev)
+installPackages+=(libre2-dev)
+installPackages+=(libsnappy-dev)
+installPackages+=(libva-dev)
+installPackages+=(libvpx-dev)
+installPackages+=(libxkbfile-dev)
+installPackages+=(libxshmfence-dev)
+installPackages+=(libxss-dev)
+# installPackages+=(nodejs) too old
+installPackages+=(python3-html5lib)
+
+# Common event loop handling
+installPackages+=(libglib2.0-dev)
+# MySQL support
+installPackages+=(libmysqlclient-dev)
+# PostgreSQL support
+installPackages+=(libpq-dev)
+# SQLite support
+installPackages+=(libsqlite3-dev)
+# ODBC support
+installPackages+=(unixodbc-dev)
+# Support for FreeType font engine
+installPackages+=(libfreetype6-dev)
+# Enable the usage of system jpeg libraries
+installPackages+=(libjpeg-dev)
+# Enable support for printer driver
+installPackages+=(libcups2-dev)
+# Enable support for printer test
+installPackages+=(cups-pdf)
+# Install libraries needed for QtMultimedia to be able to support all plugins
+installPackages+=(libasound2-dev)
+installPackages+=(libgstreamer1.0-dev)
+installPackages+=(libgstreamer-plugins-base1.0-dev)
+installPackages+=(libgstreamer-plugins-good1.0-dev)
+installPackages+=(libgstreamer-plugins-bad1.0-dev)
+installPackages+=(libgstreamer-gl1.0-0)
+installPackages+=(gir1.2-gst-plugins-base-1.0)
+installPackages+=(gir1.2-gst-plugins-bad-1.0)
+installPackages+=(yasm)
+installPackages+=(libva-dev)
+# for QtMultimedia streaming tests
+installPackages+=(vlc-bin)
+installPackages+=(vlc-plugin-base)
+
+# Support for cross-building to x86 (needed by WebEngine boot2qt builds)
+#installPackages+=(g++-multilib)
+installPackages+=(g++-multilib-powerpc-linux-gnu)
+
+# python3 development package
+installPackages+=(python3-dev)
+installPackages+=(python3-pip)
+installPackages+=(virtualenv)
+installPackages+=(python3-wheel)
+installPackages+=(python-is-python3)
+
+# Automates interactive applications (Needed by RTA to automate configure testing)
+installPackages+=(expect)
+installPackages+=(mesa-common-dev)
+
+# TODO: Ubuntu 24.04 Replacement
+#installPackages+=(libgl1-mesa-glx)
+installPackages+=(libglx-mesa0)
+
+installPackages+=(libgl1-mesa-dev)
+installPackages+=(libegl1-mesa-dev)
+installPackages+=(libegl1)
+installPackages+=(libegl-mesa0)
+installPackages+=(libegl-dev)
+installPackages+=(libglvnd-dev)
+installPackages+=(libgles2-mesa-dev)
+installPackages+=(curl)
+installPackages+=(libcurl4-openssl-dev)
+installPackages+=(libicu-dev)
+installPackages+=(zlib1g-dev)
+installPackages+=(zlib1g)
+installPackages+=(openjdk-8-jdk)
+#Java 11 for Android
+installPackages+=(openjdk-11-jdk)
+installPackages+=(libgtk-3-dev)
+installPackages+=(ninja-build)
+installPackages+=(libssl-dev)
+installPackages+=(libxcursor-dev)
+installPackages+=(libxcomposite-dev)
+installPackages+=(libxdamage-dev)
+installPackages+=(libxrandr-dev)
+installPackages+=(libfontconfig1-dev)
+installPackages+=(libsrtp2-dev)
+installPackages+=(libwebp-dev)
+installPackages+=(libjsoncpp-dev)
+installPackages+=(libopus-dev)
+installPackages+=(libminizip-dev)
+installPackages+=(libavutil-dev)
+installPackages+=(libavformat-dev)
+installPackages+=(libavcodec-dev)
+installPackages+=(libevent-dev)
+installPackages+=(bison)
+installPackages+=(flex)
+installPackages+=(gperf)
+installPackages+=(libasound2-dev)
+installPackages+=(libpulse-dev)
+installPackages+=(libxtst-dev)
+installPackages+=(libnspr4-dev)
+installPackages+=(libnss3-dev)
+installPackages+=(libnss3)
+installPackages+=(libopenal-dev)
+installPackages+=(libbluetooth-dev)
+# Needed for qtspeech
+installPackages+=(libspeechd-dev)
+#Pypdf for PDF reading in RTA tests
+installPackages+=(python3-pypdf2)
+# Needed for b2qt
+installPackages+=(git-lfs)
+installPackages+=(chrpath)
+installPackages+=(gawk)
+installPackages+=(texinfo)
+# Needed for Poppler test in QtWebEngine
+installPackages+=(libpoppler-cpp-dev)
+# Needed for QtCore
+installPackages+=(libdouble-conversion-dev)
+installPackages+=(libpcre2-dev)
+# Needed for testlib selftests
+installPackages+=(valgrind)
+# Needed for qtgampepad
+installPackages+=(libsdl2-2.0)
+installPackages+=(libsdl2-dev)
+# Needed for qtwebkit
+installPackages+=(ruby)
+installPackages+=(libxslt1-dev)
+installPackages+=(libxml2-dev)
+installPackages+=(libhyphen-dev)
+# For remote access
+installPackages+=(ssh)
+# For bitbake
+installPackages+=(diffstat)
+installPackages+=(binfmt-support)
+installPackages+=(zstd)
+installPackages+=(lz4)
+# Vulkan is needed for examples
+installPackages+=(libvulkan-dev)
+# Needed for qtdltlogging
+installPackages+=(libdlt-dev)
+# For QNX
+installPackages+=(nfs-kernel-server)
+installPackages+=(net-tools)
+installPackages+=(bridge-utils)
+# For Debian packaging
+installPackages+=(sbuild)
+installPackages+=(ubuntu-dev-tools)
+# cifs-utils, for mounting smb drive
+installPackages+=(keyutils)
+installPackages+=(cifs-utils)
+# VxWorks QEMU network setup (tunctl)
+installPackages+=(uml-utilities)
+# used for reading vcpkg packages version, from vcpkg.json
+installPackages+=(jq)
+# For building
+installPackages+=(cmake)
+
+echo "Running update for apt"
+waitLoop
+sudo apt-get update
+echo "Installing packages"
+waitLoop
+sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 install "${installPackages[@]}"
+
+# Configure pip
+pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
+pip config --user set global.extra-index-url https://pypi.org/simple/
+
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+# SetEnvVar "PATH" "/usr/lib/nodejs-mozilla/bin:\$PATH"
+
+OpenSSLVersion="$(openssl version |cut -b 9-14)"
+echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-notifications.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-notifications.sh
new file mode 100644
index 00000000..1b9ed6c9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-notifications.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/linux/disable-notifications.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-ntp.sh
new file mode 100644
index 00000000..1995aa14
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-disable-ntp.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/linux/disable-ntp_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-apport.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-apport.sh
new file mode 100644
index 00000000..879f3ffb
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-apport.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/linux/remove-apport.sh
+source "${BASH_SOURCE%/*}/../common/linux/remove-apport.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-update_notifier.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-update_notifier.sh
new file mode 100644
index 00000000..f4a5119f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/02-remove-update_notifier.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/linux/remove-update_notifier.sh
+source "${BASH_SOURCE%/*}/../common/linux/remove-update_notifier.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-cleanup.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-cleanup.sh
new file mode 100644
index 00000000..4d6e16ea
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-cleanup.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+"$(dirname "$0")"/../common/linux/cleanup_cache.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-version.sh
new file mode 100644
index 00000000..31821f6b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-24.04-aarch64/99-version.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/ubuntu-version.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/24-pyenv.sh b/coin/provisioning/qtci-macos-11-arm/24-pyenv.sh
index 52a6ebd1..3a7a8f77 100755
--- a/coin/provisioning/qtci-macos-11-arm/24-pyenv.sh
+++ b/coin/provisioning/qtci-macos-11-arm/24-pyenv.sh
@@ -42,7 +42,7 @@
# This script installs python3
-# shellcheck source=../unix/SetEnvVar.sh
+# shellcheck source=../common/unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
# Try with default
diff --git a/coin/provisioning/qtci-macos-11-arm/35-openssl.sh b/coin/provisioning/qtci-macos-11-arm/35-openssl.sh
index c67c0aaf..c86788db 100755
--- a/coin/provisioning/qtci-macos-11-arm/35-openssl.sh
+++ b/coin/provisioning/qtci-macos-11-arm/35-openssl.sh
@@ -5,5 +5,5 @@
set -ex
# shellcheck source=../common/unix/install-openssl.sh
-source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos"
+source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-12-arm/24-pyenv.sh b/coin/provisioning/qtci-macos-12-arm/24-pyenv.sh
index 52a6ebd1..3a7a8f77 100755
--- a/coin/provisioning/qtci-macos-12-arm/24-pyenv.sh
+++ b/coin/provisioning/qtci-macos-12-arm/24-pyenv.sh
@@ -42,7 +42,7 @@
# This script installs python3
-# shellcheck source=../unix/SetEnvVar.sh
+# shellcheck source=../common/unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
# Try with default
diff --git a/coin/provisioning/qtci-macos-12-arm/35-openssl.sh b/coin/provisioning/qtci-macos-12-arm/35-openssl.sh
index c67c0aaf..c86788db 100755
--- a/coin/provisioning/qtci-macos-12-arm/35-openssl.sh
+++ b/coin/provisioning/qtci-macos-12-arm/35-openssl.sh
@@ -5,5 +5,5 @@
set -ex
# shellcheck source=../common/unix/install-openssl.sh
-source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos"
+source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-13-arm/24-pyenv.sh b/coin/provisioning/qtci-macos-13-arm/24-pyenv.sh
index 52a6ebd1..3a7a8f77 100755
--- a/coin/provisioning/qtci-macos-13-arm/24-pyenv.sh
+++ b/coin/provisioning/qtci-macos-13-arm/24-pyenv.sh
@@ -42,7 +42,7 @@
# This script installs python3
-# shellcheck source=../unix/SetEnvVar.sh
+# shellcheck source=../common/unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
# Try with default
diff --git a/coin/provisioning/qtci-macos-13-arm/35-openssl.sh b/coin/provisioning/qtci-macos-13-arm/35-openssl.sh
index c67c0aaf..c86788db 100755
--- a/coin/provisioning/qtci-macos-13-arm/35-openssl.sh
+++ b/coin/provisioning/qtci-macos-13-arm/35-openssl.sh
@@ -5,5 +5,5 @@
set -ex
# shellcheck source=../common/unix/install-openssl.sh
-source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos"
+source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-14-arm/24-pyenv.sh b/coin/provisioning/qtci-macos-14-arm/24-pyenv.sh
index 52a6ebd1..3a7a8f77 100755
--- a/coin/provisioning/qtci-macos-14-arm/24-pyenv.sh
+++ b/coin/provisioning/qtci-macos-14-arm/24-pyenv.sh
@@ -42,7 +42,7 @@
# This script installs python3
-# shellcheck source=../unix/SetEnvVar.sh
+# shellcheck source=../common/unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
# Try with default
diff --git a/coin/provisioning/qtci-macos-14-arm/35-openssl.sh b/coin/provisioning/qtci-macos-14-arm/35-openssl.sh
index c67c0aaf..c86788db 100755
--- a/coin/provisioning/qtci-macos-14-arm/35-openssl.sh
+++ b/coin/provisioning/qtci-macos-14-arm/35-openssl.sh
@@ -5,5 +5,5 @@
set -ex
# shellcheck source=../common/unix/install-openssl.sh
-source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos"
+source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-14-arm/36-install_grpc.sh b/coin/provisioning/qtci-macos-14-arm/36-install_grpc.sh
index ecd6a51f..d2860845 100755
--- a/coin/provisioning/qtci-macos-14-arm/36-install_grpc.sh
+++ b/coin/provisioning/qtci-macos-14-arm/36-install_grpc.sh
@@ -5,5 +5,6 @@
set -ex
# shellcheck source=../common/unix/install_grpc.sh
-source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+# Temporarily disabled due to OpenSSL linking errors
+#source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
diff --git a/coin/provisioning/qtci-windows-10-x86/02-python.ps1 b/coin/provisioning/qtci-windows-10-x86/02-python.ps1
deleted file mode 100644
index 19e64a94..00000000
--- a/coin/provisioning/qtci-windows-10-x86/02-python.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 32
diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps1
deleted file mode 100644
index bd2d52c3..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/02-python-32bit.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1
deleted file mode 100644
index e2e9be9c..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/02-python.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 64
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python-32bit.ps1
deleted file mode 100644
index bd2d52c3..00000000
--- a/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python-32bit.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python.ps1
deleted file mode 100644
index e2e9be9c..00000000
--- a/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 64
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python-32bit.ps1
deleted file mode 100644
index bd2d52c3..00000000
--- a/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python-32bit.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python.ps1
deleted file mode 100644
index e2e9be9c..00000000
--- a/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 64
diff --git a/coin/provisioning/qtci-windows-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..5ca36491
--- /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.12.3/python-3.12.3-arm64.exe
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "a7fe973fd406c0db2b982d83e9feb30f8fde704f" "C:\Python312_64" "3.12.3" $true
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-8.1-x86_64/07-python2.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/07-python2.ps1
deleted file mode 100644
index e2e9be9c..00000000
--- a/coin/provisioning/qtci-windows-8.1-x86_64/07-python2.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 64
diff --git a/qt3d b/qt3d
-Subproject b0c34c08c2be22d3b5f27652d22ba1ae88ae069
+Subproject 0f02e785424c45021546198568d235e90206b87
diff --git a/qt5compat b/qt5compat
-Subproject 26503dd6dc3ab59cd4d50c21ebe591317432d3c
+Subproject 11aa77ed73d7c7952f92da28a6605cd66d8d4b1
diff --git a/qtactiveqt b/qtactiveqt
-Subproject cf0d8bf57bffb9b1009085cf7dcf8bf9acf99bb
+Subproject c54632ad769bd75eae343fabef458cbd8698ed5
diff --git a/qtbase b/qtbase
-Subproject 66dd00dcfd8a715ff6bc736e6beb5f2d3b2c69c
+Subproject 70a2e7f32b9f9ce19d1538f14fbde7b0d1e77ff
diff --git a/qtcharts b/qtcharts
-Subproject 97704d1a88d4ce0df5fcf78fa2a334d70f5cf89
+Subproject 1bc68a8ee047bbd1d2ed7600560509ad484d94b
diff --git a/qtcoap b/qtcoap
-Subproject 02fd76ed867066d95ccfb130058b1937296665e
+Subproject 8d5347bfef278fef5fc29182d7652b9646cdbcd
diff --git a/qtconnectivity b/qtconnectivity
-Subproject 635a3f51a8224809d00efdbb5ab74eb9b97f82c
+Subproject b6061138bf90f16c967591d6a79487a6e34eb52
diff --git a/qtdatavis3d b/qtdatavis3d
-Subproject 23a7c7e140599b2283fe98631ddaf3101efa86b
+Subproject 0728cb0e5459ea74df4f20572307d92ea68366f
diff --git a/qtdeclarative b/qtdeclarative
-Subproject 2bc1c820902261a46d35d8f7c0eefa7adc2be90
+Subproject 757bfef221654d5aeee72086393bd67b2c8554e
diff --git a/qtdoc b/qtdoc
-Subproject 82aa532d10ae163430d6d16849d2b42a8c728d2
+Subproject f199cdd9ec3ff832c786a18de8a0156fb5f0061
diff --git a/qtgraphs b/qtgraphs
-Subproject 1656542ee0115365be6a2dbc93c63318cc08b65
+Subproject 9bbb23743b20c683bda98df95d25325c277fb2e
diff --git a/qtgrpc b/qtgrpc
-Subproject 28600c2287a5131c64ec8919e4bd9007047a8e6
+Subproject 8d83970d7b0a82a54a2372b4a1d13f3a4043f39
diff --git a/qthttpserver b/qthttpserver
-Subproject 587376e4457d5694fa107c145cef234c0f9a2c8
+Subproject 6f9d2fd90e86713921d4f854f53cb53b47747b0
diff --git a/qtimageformats b/qtimageformats
-Subproject b4a10c66e5c8536a1b8320988c41882c54908b3
+Subproject 8212cbad566b0f322c48f91ead18fcf71dc4435
diff --git a/qtlanguageserver b/qtlanguageserver
-Subproject eae44bc8ecbd3359855691a432791cd00b92703
+Subproject 8390983807cb14439e97260538c75ad764cd925
diff --git a/qtlocation b/qtlocation
-Subproject 463ca6e4dd801fd49c1cae3c2276fd6316092f4
+Subproject d11deaebb80f7cd78bfc16d2343cac42f6be9c2
diff --git a/qtlottie b/qtlottie
-Subproject 6b07f646fcec6fd2b050850af7de3b1c3c2f73f
+Subproject 8b1c733b3bee8e809dc866e0a43d0b7e7df8700
diff --git a/qtmqtt b/qtmqtt
-Subproject 11ee7a10f7495a135389002be49a33fd11ab9bd
+Subproject 375df78c68da05fa218f551c0fa39f6b654a4b9
diff --git a/qtmultimedia b/qtmultimedia
-Subproject 85be606748ae15addb03bd497b0bfc646d28f9c
+Subproject 2a62ea4b690366dee31aa16e15723b3dbc4908e
diff --git a/qtnetworkauth b/qtnetworkauth
-Subproject d7c566b67a88413fb826ff8b8a81c18ecf86d7e
+Subproject 1a216f8dfcd92ae50ea09caa283d53a973c96dc
diff --git a/qtopcua b/qtopcua
-Subproject 4b9164cccd2652ee9cb02de6a4e814e7b18a9b5
+Subproject e359968430500481d32a67f447fbb7cdbfb70de
diff --git a/qtpositioning b/qtpositioning
-Subproject c2b7e636e77e6f48a953f8602fa12580492da7f
+Subproject 59261c78cd25e5179abd7a0854cf771b13e3ef9
diff --git a/qtqa b/qtqa
-Subproject df20477f200cee62657bcdac8f328a2cb36e3c1
+Subproject 04625fb088264beae583c4d770e920f43672793
diff --git a/qtquick3d b/qtquick3d
-Subproject 6ed58025880fb55d848de5eef6ab692f2ba0a77
+Subproject 3b5f7d0391cb2f86b15353f4168c71d11e27944
diff --git a/qtquick3dphysics b/qtquick3dphysics
-Subproject 4241bd0e150d6bee738483a04252721b232feea
+Subproject 3d084a22e4a733dc9fd6e31f43d240a6404c005
diff --git a/qtquickeffectmaker b/qtquickeffectmaker
-Subproject 199142b8116c483a3f56a9c32ce34dac7b11889
+Subproject 4378310df63aae70942f8b198d0cd1252aff22a
diff --git a/qtquicktimeline b/qtquicktimeline
-Subproject bbdb3404f576f36f2cd1b0c065d46bb2d2078f3
+Subproject df154472f59e90c1c90f7c7ee96f63c5e10b072
diff --git a/qtremoteobjects b/qtremoteobjects
-Subproject 74bca563636f141200570c8b6089f35be4b308b
+Subproject 1ace75b5c31ece2fd8e920927a9f550fc1d6fa1
diff --git a/qtrepotools b/qtrepotools
-Subproject 130826c46e393ce5a07140533cf5c75b6d58383
+Subproject 141876182b9431a7f847f877188bd5e1c0407de
diff --git a/qtscxml b/qtscxml
-Subproject c1f2aac58606ad6035815df7e52d262a9ba6bc5
+Subproject 39d018872963c600afc94d8a888af287943c299
diff --git a/qtsensors b/qtsensors
-Subproject e7860ce1a216b57a652e4dac5e7797c88b4cb19
+Subproject afd45d598dd17a4f60110f855920ad5319dffce
diff --git a/qtserialbus b/qtserialbus
-Subproject 3ceb9038949e69da35d879054ea073784a066bf
+Subproject 23d464b34b9dc77d3c0e40f897e4b052aa0c1cc
diff --git a/qtserialport b/qtserialport
-Subproject 584d0cf335c2c56bfc1cf9f10aa21ea927efae1
+Subproject 67999e658e4cf25d155cee6260e55aea13aa15d
diff --git a/qtshadertools b/qtshadertools
-Subproject 891b23b90241412f2b29e1b8c5d49135ad6e0c2
+Subproject 808fd4bd176f0504a084abad5dd1dd47a2a3cf2
diff --git a/qtspeech b/qtspeech
-Subproject ec473fef47d0f89ea6d6d2f1b5df8ed52419541
+Subproject 3e8dd327c65490b2f5c113823c3f9c6f9542b10
diff --git a/qtsvg b/qtsvg
-Subproject b91081f3ab51d35f75a0e22d48d0adc6cbe832f
+Subproject f116f5753b0d8bf995d7e4efee70bf7346f89ad
diff --git a/qttools b/qttools
-Subproject 5645f0b8a5c580f5500779c271f8539ca5d9049
+Subproject f668ec434ae3c8621b2e27af98a129f6bd676c7
diff --git a/qttranslations b/qttranslations
-Subproject 9e5ea42d2df583966c8137e1cb53f4c59dd2ca7
+Subproject 84709e13da8d40618c71f534b8a00cdc1d5ef56
diff --git a/qtvirtualkeyboard b/qtvirtualkeyboard
-Subproject 8caaa707b863a6acb2b3c0471a3212817fe065d
+Subproject 321008c03232c507cdf77896173017d3c9ffc33
diff --git a/qtwayland b/qtwayland
-Subproject c33b0ac7c086246414bfba5cb6b47de54b38f5f
+Subproject f76e21eb74a472bfa56bd7432a82917435f3ae7
diff --git a/qtwebchannel b/qtwebchannel
-Subproject b8f728d481c2bc38f3372b1f7e277b0940d45e9
+Subproject 2366411a5684535c45af03f53f09361afa433fc
diff --git a/qtwebengine b/qtwebengine
-Subproject 1e98d027a07347ae62398ac7f16638fac60f756
+Subproject 013499c4dc8fe8775fb1918c9d28c1a7c60a17b
diff --git a/qtwebsockets b/qtwebsockets
-Subproject 1a436d3dc6918a61964518f1a583f16d694c719
+Subproject 31fa5385f20ca4e64a0ab5a099c4661a714b872
diff --git a/qtwebview b/qtwebview
-Subproject d2a7e74828781e948e319a25805be4c3eba4bdb
+Subproject 8bf4444ded64813f40d5dae386201f49bcc1121