aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.commit-template4
-rw-r--r--.github/pull_request_template.md9
-rw-r--r--.gitignore9
-rw-r--r--.gitmodules259
-rw-r--r--CMakeLists.txt120
-rw-r--r--CONTRIBUTING.md8
-rw-r--r--LICENSE.FDL450
-rw-r--r--LICENSE.GPLv2292
-rw-r--r--LICENSE.GPLv3686
-rw-r--r--LICENSE.LGPLv21514
-rw-r--r--LICENSE.LGPLv3175
-rw-r--r--LICENSE.QT-LICENSE-AGREEMENT-4.0913
-rw-r--r--LICENSES/GPL-2.0-only.txt339
-rw-r--r--LICENSES/GPL-3.0-only.txt674
-rw-r--r--LICENSES/LGPL-3.0-only.txt165
-rw-r--r--LICENSES/LicenseRef-Qt-Commercial.txt8
-rw-r--r--LICENSES/Qt-GPL-exception-1.0.txt22
-rw-r--r--README134
-rw-r--r--README.git14
-rw-r--r--README.md127
-rw-r--r--README.md.template39
-rw-r--r--_clang-format46
-rw-r--r--cmake/3rdparty/cmake/Copyright.txt136
-rw-r--r--cmake/3rdparty/cmake/QtIRRunCMake.cmake349
-rw-r--r--cmake/3rdparty/cmake/QtIRTestHelpers.cmake39
-rw-r--r--cmake/3rdparty/cmake/qt_attribution.json16
-rw-r--r--cmake/ECMOptionalAddSubdirectory.cmake73
-rw-r--r--cmake/QtIRCommandLineHelpers.cmake404
-rw-r--r--cmake/QtIRGitHelpers.cmake1151
-rw-r--r--cmake/QtIRHelp.txt134
-rw-r--r--cmake/QtIRHelpers.cmake367
-rw-r--r--cmake/QtIROptionsHelpers.cmake48
-rw-r--r--cmake/QtIRParsingHelpers.cmake237
-rw-r--r--cmake/QtIRProcessHelpers.cmake165
-rw-r--r--cmake/QtIRScript.cmake17
-rw-r--r--cmake/QtSortModuleDependencies.cmake16
-rw-r--r--cmake/QtSynchronizeRepo.cmake15
-rw-r--r--cmake/QtTopLevelConfigureScript.cmake17
-rw-r--r--cmake/QtTopLevelHelpers.cmake701
-rw-r--r--cmake/QtWriteArgsFile.cmake92
-rw-r--r--coin/instructions/coin_bic_tests.yaml32
-rw-r--r--coin/instructions/coin_qt_build_docs.yaml33
-rw-r--r--coin/instructions/coin_qt_build_template.yaml8
-rw-r--r--coin/instructions/coin_qt_configure.yaml49
-rw-r--r--coin/instructions/prepare_configure_executable.yaml37
-rw-r--r--coin/module_config.yaml12
-rw-r--r--coin/platform_configs/address_sanitizer_platforms.yaml12
-rw-r--r--coin/platform_configs/boot2qt-manifest.yaml4
-rw-r--r--coin/platform_configs/cmake_platforms.yaml307
-rw-r--r--coin/platform_configs/cmake_platforms_qemu.yaml53
-rw-r--r--coin/platform_configs/cmake_platforms_qemu_qnx710.yaml46
-rw-r--r--coin/platform_configs/cmake_platforms_qemu_vxworks.yaml15
-rw-r--r--coin/platform_configs/cmake_platforms_static_tests.yaml29
-rw-r--r--coin/platform_configs/cmake_platforms_target_android.yaml65
-rw-r--r--coin/platform_configs/cmake_platforms_wasm.yaml42
-rw-r--r--coin/platform_configs/default.txt28
-rw-r--r--coin/platform_configs/default.yaml7
-rw-r--r--coin/platform_configs/doc.yaml4
-rw-r--r--coin/platform_configs/flashing-wizard.yaml39
-rw-r--r--coin/platform_configs/integrity.yaml20
-rw-r--r--coin/platform_configs/ios-tests.yaml14
-rw-r--r--coin/platform_configs/linux_android_tests_developer.yaml17
-rw-r--r--coin/platform_configs/linux_android_tests_multi_abi.yaml28
-rw-r--r--coin/platform_configs/macos.yaml154
-rw-r--r--coin/platform_configs/meta-boot2qt-aws.yaml4
-rw-r--r--coin/platform_configs/meta-boot2qt-qcom.yaml4
-rw-r--r--coin/platform_configs/meta-boot2qt-renesas.yaml4
-rw-r--r--coin/platform_configs/meta-boot2qt-riscv.yaml4
-rw-r--r--coin/platform_configs/meta-boot2qt-st.yaml4
-rw-r--r--coin/platform_configs/meta-boot2qt-ti.yaml4
-rw-r--r--coin/platform_configs/meta-boot2qt-toradex.yaml4
-rw-r--r--coin/platform_configs/meta-boot2qt.yaml4
-rw-r--r--coin/platform_configs/meta-qsr.yaml4
-rw-r--r--coin/platform_configs/meta-qt5.yaml4
-rw-r--r--coin/platform_configs/meta-qt6.yaml4
-rw-r--r--coin/platform_configs/nightly_macos14_arm.yaml20
-rw-r--r--coin/platform_configs/nightly_qnx710_host_windows.yaml21
-rw-r--r--coin/platform_configs/nightly_qt5_axivion.yaml13
-rw-r--r--coin/platform_configs/nightly_qtapplicationmanager_axivion.yaml14
-rw-r--r--coin/platform_configs/nightly_ubuntu_20.04_c++17.yaml13
-rw-r--r--coin/platform_configs/nightly_ubuntu_22_04_lcov.yaml14
-rw-r--r--coin/platform_configs/nightly_ubuntu_22_04_xwayland.yaml23
-rw-r--r--coin/platform_configs/nightly_vxworks.yaml11
-rw-r--r--coin/platform_configs/ogl-runtime.yaml1
-rw-r--r--coin/platform_configs/precheck.yaml24
-rw-r--r--coin/platform_configs/pyside-setup.yaml9
-rw-r--r--coin/platform_configs/qdb.yaml3
-rw-r--r--coin/platform_configs/qmake2cmake.yaml19
-rw-r--r--coin/platform_configs/qt-conan-common.yaml3
-rw-r--r--coin/platform_configs/qt-creator.yaml39
-rw-r--r--coin/platform_configs/qt3d-runtime.txt22
-rw-r--r--coin/platform_configs/qt3d-runtime.yaml1
-rw-r--r--coin/platform_configs/qt3d.yaml6
-rw-r--r--coin/platform_configs/qt5.txt21
-rw-r--r--coin/platform_configs/qt5.yaml16
-rw-r--r--coin/platform_configs/qt5compat.yaml5
-rw-r--r--coin/platform_configs/qtactiveqt.yaml6
-rw-r--r--coin/platform_configs/qtapplicationmanager.yaml6
-rw-r--r--coin/platform_configs/qtbase-new-compiler-testing.yaml14
-rw-r--r--coin/platform_configs/qtbase.txt5
-rw-r--r--coin/platform_configs/qtbase.yaml14
-rw-r--r--coin/platform_configs/qtcharts.yaml6
-rw-r--r--coin/platform_configs/qtcoap.yaml6
-rw-r--r--coin/platform_configs/qtconnectivity.txt3
-rw-r--r--coin/platform_configs/qtconnectivity.yaml6
-rw-r--r--coin/platform_configs/qtdatavis3d.yaml6
-rw-r--r--coin/platform_configs/qtdeclarative.yaml11
-rw-r--r--coin/platform_configs/qtdeviceutilities.yaml6
-rw-r--r--coin/platform_configs/qtdltlogging.yaml6
-rw-r--r--coin/platform_configs/qtdoc.yaml6
-rw-r--r--coin/platform_configs/qtgraphs.yaml7
-rw-r--r--coin/platform_configs/qtgrpc.yaml7
-rw-r--r--coin/platform_configs/qthttpserver.yaml6
-rw-r--r--coin/platform_configs/qtimageformats.yaml8
-rw-r--r--coin/platform_configs/qtinterfaceframework.yaml16
-rw-r--r--coin/platform_configs/qtivi.yaml6
-rw-r--r--coin/platform_configs/qtlanguageserver.yaml8
-rw-r--r--coin/platform_configs/qtlite.yaml205
-rw-r--r--coin/platform_configs/qtlocation.yaml6
-rw-r--r--coin/platform_configs/qtlottie.yaml6
-rw-r--r--coin/platform_configs/qtmqtt.yaml6
-rw-r--r--coin/platform_configs/qtmultimedia.yaml7
-rw-r--r--coin/platform_configs/qtnetworkauth.yaml6
-rw-r--r--coin/platform_configs/qtopcua.yaml6
-rw-r--r--coin/platform_configs/qtpositioning.yaml6
-rw-r--r--coin/platform_configs/qtqa.yaml5
-rw-r--r--coin/platform_configs/qtquick3d.yaml8
-rw-r--r--coin/platform_configs/qtquick3dphysics.yaml6
-rw-r--r--coin/platform_configs/qtquickeffectmaker.yaml6
-rw-r--r--coin/platform_configs/qtquicktimeline.yaml7
-rw-r--r--coin/platform_configs/qtremoteobjects.yaml7
-rw-r--r--coin/platform_configs/qtsaferenderer-runtime.yaml82
-rw-r--r--coin/platform_configs/qtsaferenderer.txt5
-rw-r--r--coin/platform_configs/qtsaferenderer.yaml58
-rw-r--r--coin/platform_configs/qtscxml.yaml6
-rw-r--r--coin/platform_configs/qtsdk.txt4
-rw-r--r--coin/platform_configs/qtsdk.yaml6
-rw-r--r--coin/platform_configs/qtsensors.yaml6
-rw-r--r--coin/platform_configs/qtserialbus.yaml6
-rw-r--r--coin/platform_configs/qtserialport.yaml6
-rw-r--r--coin/platform_configs/qtshadertools.yaml8
-rw-r--r--coin/platform_configs/qtspeech.yaml6
-rw-r--r--coin/platform_configs/qtsvg.yaml8
-rw-r--r--coin/platform_configs/qttools.yaml6
-rw-r--r--coin/platform_configs/qttranslations.yaml6
-rw-r--r--coin/platform_configs/qtvehicleservices.yaml3
-rw-r--r--coin/platform_configs/qtvirtualkeyboard.yaml7
-rw-r--r--coin/platform_configs/qtwayland.yaml29
-rw-r--r--coin/platform_configs/qtwebchannel.yaml6
-rw-r--r--coin/platform_configs/qtwebengine.yaml6
-rw-r--r--coin/platform_configs/qtwebkit.txt4
-rw-r--r--coin/platform_configs/qtwebkit.yaml9
-rw-r--r--coin/platform_configs/qtwebsockets.yaml6
-rw-r--r--coin/platform_configs/qtwebview.yaml6
-rw-r--r--coin/platform_configs/tqtc-android-automotive.yaml51
-rw-r--r--coin/platform_configs/tqtc-meta-qt6-prereleases.yaml4
-rw-r--r--coin/platform_configs/tqtc-pyside-setup.yaml9
-rw-r--r--coin/platform_configs/tqtc-qmlcompilerplus.yaml3
-rw-r--r--coin/platform_configs/tqtc-qt-rta.txt6
-rw-r--r--coin/platform_configs/tqtc-qt-rta.yaml32
-rw-r--r--coin/platform_configs/tqtc-qtdigitaladvertising.yaml3
-rw-r--r--coin/platform_configs/tqtc-qtinsighttracker.yaml3
-rw-r--r--coin/platform_configs/tqtc-qtpip.yaml12
-rw-r--r--coin/platform_configs/tqtc-qtsdk.yaml6
-rw-r--r--coin/platform_configs/tqtc-qtvncserver.yaml3
-rw-r--r--coin/platform_configs/wasm_qtbase_tests.yaml9
-rw-r--r--coin/platform_configs/webos.yaml54
-rw-r--r--coin/platform_configs/yocto.yaml58
-rw-r--r--coin/pre-provisioning/qtci-linux-CentOS-8.3-x86_64/README_MANUAL_INSTALLATIONS50
-rw-r--r--coin/pre-provisioning/qtci-linux-RHEL-8.2-x86_64/README_MANUAL_INSTALLATIONS48
-rw-r--r--coin/pre-provisioning/qtci-linux-RHEL-8.4-x86_64/README_MANUAL_INSTALLATIONS62
-rw-r--r--coin/pre-provisioning/qtci-linux-RHEL-8.6-x86_64/README_MANUAL_INSTALLATIONS63
-rw-r--r--coin/pre-provisioning/qtci-linux-RHEL-8.8-x86_64/README_MANUAL_INSTALLATIONS62
-rwxr-xr-xcoin/pre-provisioning/qtci-linux-RHEL-9.0-x86_64/01-disable-automounting.sh14
-rw-r--r--coin/pre-provisioning/qtci-linux-RHEL-9.0-x86_64/README_MANUAL_INSTALLATIONS58
-rw-r--r--coin/pre-provisioning/qtci-linux-RHEL-9.2-x86_64/01-disable-automounting.sh14
-rw-r--r--coin/pre-provisioning/qtci-linux-RHEL-9.2-x86_64/README_MANUAL_INSTALLATIONS60
-rw-r--r--coin/pre-provisioning/qtci-linux-SLES-15_SP3-x86_64/README_MANUAL_INSTALLATIONS56
-rw-r--r--coin/pre-provisioning/qtci-linux-SLES-15_SP4-x86_64/README_MANUAL_INSTALLATIONS64
-rw-r--r--coin/pre-provisioning/qtci-linux-SLES-15_SP5-x86_64/README_MANUAL_INSTALLATIONS75
-rw-r--r--coin/pre-provisioning/qtci-linux-Ubuntu-20.04-x86_64/README_MANUAL_INSTALLATIONS59
-rw-r--r--coin/pre-provisioning/qtci-linux-openSUSE-15.4-x86_64/README_MANUAL_INSTALLATIONS42
-rw-r--r--coin/pre-provisioning/qtci-linux-openSUSE-15.5-x86_64/README_MANUAL_INSTALLATIONS35
-rw-r--r--coin/pre-provisioning/qtci-macos-10.15-x86_64/README7
-rw-r--r--coin/pre-provisioning/qtci-macos-11.0-x86_64/README8
-rw-r--r--coin/pre-provisioning/qtci-macos-12.0-x86_64/README38
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/06-msvc_2017_build_tools.ps148
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/README_MANUAL_INSTALLATIONS47
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-defragment.ps142
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-ntp.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-schedule-tasks.ps188
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-update-orchestrator.ps116
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-windefender.ps133
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-windows-file-protector.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-windows-update-medic.ps125
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/disable-windows-updates.ps124
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/msvc2015.txt14
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/msvc2015_update.ps158
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/msvc2017.ps149
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/msvc2017.txt61
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/msvc2017_build_tools.txt10
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86/msvc2019.txt69
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/01-enable-dotnet-framework.ps1 (renamed from coin/provisioning/qtci-windows-10-x86_64/02-enable-dotnet-framework.ps1)0
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/06-msvc_2017_build_tools.ps148
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/README_MANUAL_INSTALLATIONS52
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/disable-clean-manager.ps18
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/disable-defragment.ps142
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/disable-ntp.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/disable-schedule-tasks.ps188
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/disable-update-orchestrator.ps114
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/disable-windefender.ps121
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-file-protector.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-update-medic.ps125
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-updates.ps124
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps158
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.txt18
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/msvc2017.ps149
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/msvc2019.txt70
-rw-r--r--coin/pre-provisioning/qtci-windows-10-x86_64/virtio.txt31
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H1-x86_64/01-enable-dotnet-framework.ps122
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H1-x86_64/README_MANUAL_INSTALLATIONS53
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-clean-manager.ps18
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-defragment.ps142
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-ntp.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-schedule-tasks.ps186
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-update-orchestrator.ps114
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-windefender.ps121
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-windows-file-protector.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-windows-update-medic.ps125
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-windows-updates.ps124
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H1-x86_64/msvc2015_update.txt15
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H1-x86_64/msvc2019.txt76
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H1-x86_64/msvc2020_preview.txt70
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H1-x86_64/virtio.txt31
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/01-enable-dotnet-framework.ps122
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/README_MANUAL_INSTALLATIONS51
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-clean-manager.ps18
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-defragment.ps142
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-ntp.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-schedule-tasks.ps186
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-update-orchestrator.ps114
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-windefender.ps121
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-windows-file-protector.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-windows-update-medic.ps125
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-windows-updates.ps124
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2015_update.txt15
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2019.txt77
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2022.txt72
-rw-r--r--coin/pre-provisioning/qtci-windows-10_21H2-x86_64/virtio.txt31
-rw-r--r--coin/pre-provisioning/qtci-windows-10_22H2-x86_64/01-enable-dotnet-framework.ps123
-rw-r--r--coin/pre-provisioning/qtci-windows-10_22H2-x86_64/README_MANUAL_INSTALLATIONS86
-rw-r--r--coin/pre-provisioning/qtci-windows-10_22H2-x86_64/disable-clean-manager.ps18
-rw-r--r--coin/pre-provisioning/qtci-windows-10_22H2-x86_64/disable-ntp.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-10_22H2-x86_64/disable-schedule-tasks.ps172
-rw-r--r--coin/pre-provisioning/qtci-windows-10_22H2-x86_64/disable-update-orchestrator.ps114
-rw-r--r--coin/pre-provisioning/qtci-windows-10_22H2-x86_64/disable-windefender.ps121
-rw-r--r--coin/pre-provisioning/qtci-windows-10_22H2-x86_64/disable-windows-file-protector.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-10_22H2-x86_64/disable-windows-update-medic.ps125
-rw-r--r--coin/pre-provisioning/qtci-windows-10_22H2-x86_64/disable-windows-updates.ps124
-rw-r--r--coin/pre-provisioning/qtci-windows-10_22H2-x86_64/msvc2015_update.txt16
-rw-r--r--coin/pre-provisioning/qtci-windows-10_22H2-x86_64/msvc2019.txt77
-rw-r--r--coin/pre-provisioning/qtci-windows-10_22H2-x86_64/msvc2022.txt73
-rw-r--r--coin/pre-provisioning/qtci-windows-11_21H2-x86_64/01-enable-dotnet-framework.ps122
-rw-r--r--coin/pre-provisioning/qtci-windows-11_21H2-x86_64/README_MANUAL_INSTALLATIONS72
-rw-r--r--coin/pre-provisioning/qtci-windows-11_21H2-x86_64/create_windows-11_image_with_virtio_drivers.txt42
-rw-r--r--coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-clean-manager.ps18
-rw-r--r--coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-defragment.ps142
-rw-r--r--coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-ntp.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-schedule-tasks.ps172
-rw-r--r--coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-update-orchestrator.ps114
-rw-r--r--coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-windefender.ps121
-rw-r--r--coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-windows-file-protector.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-windows-update-medic.ps125
-rw-r--r--coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-windows-updates.ps124
-rw-r--r--coin/pre-provisioning/qtci-windows-11_21H2-x86_64/msvc2015_update.txt15
-rw-r--r--coin/pre-provisioning/qtci-windows-11_21H2-x86_64/msvc2019.txt77
-rw-r--r--coin/pre-provisioning/qtci-windows-11_21H2-x86_64/msvc2022.txt77
-rw-r--r--coin/pre-provisioning/qtci-windows-11_21H2-x86_64/virtio.txt31
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-x86_64/01-enable-dotnet-framework.ps122
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-x86_64/README_MANUAL_INSTALLATIONS93
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-clean-manager.ps18
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-defragment.ps142
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-ntp.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-schedule-tasks.ps172
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-update-orchestrator.ps113
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-windefender.ps121
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-windows-file-protector.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-windows-update-medic.ps125
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-windows-updates.ps124
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-x86_64/msvc2019.txt79
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-x86_64/msvc2022.txt76
-rw-r--r--coin/pre-provisioning/qtci-windows-11_22H2-x86_64/virtio.txt31
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-x86_64/01-enable-dotnet-framework.ps122
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-x86_64/README_MANUAL_INSTALLATIONS140
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-ntp.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-schedule-tasks.ps172
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-update-orchestrator.ps113
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-windefender.ps121
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-windows-file-protector.ps14
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-windows-update-medic.ps125
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-windows-updates.ps124
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-x86_64/msvc2019.txt77
-rw-r--r--coin/pre-provisioning/qtci-windows-11_23H2-x86_64/msvc2022.txt74
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/.gitignore15
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/README.md20
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/app/.gitignore1
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/app/build.gradle26
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/app/src/main/AndroidManifest.xml20
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/app/src/main/java/com/example/gradle_project/MainActivity.java16
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/app/src/main/res/layout/activity_main.xml18
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/build.gradle4
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml16
-rw-r--r--coin/provisioning/common/linux/android/gradle_project/settings.gradle17
-rwxr-xr-xcoin/provisioning/common/linux/android_emulator_launcher.sh120
-rwxr-xr-xcoin/provisioning/common/linux/android_linux.sh211
-rwxr-xr-xcoin/provisioning/common/linux/apt_wait_loop.sh35
-rwxr-xr-xcoin/provisioning/common/linux/axivion-bauhaus-suite.sh44
-rwxr-xr-xcoin/provisioning/common/linux/bootstrap-autostart.sh89
-rwxr-xr-xcoin/provisioning/common/linux/cleanup_cache.sh58
-rwxr-xr-xcoin/provisioning/common/linux/cmake_linux.sh48
-rwxr-xr-xcoin/provisioning/common/linux/cmake_min_supported.sh25
-rw-r--r--coin/provisioning/common/linux/cmake_toolchain_files/integrity_toolchain.cmake116
-rw-r--r--coin/provisioning/common/linux/devel_languages_go.SUSE_repo_key.pub19
-rwxr-xr-xcoin/provisioning/common/linux/disable-cracklib.sh2
-rwxr-xr-xcoin/provisioning/common/linux/disable-notifications.sh6
-rwxr-xr-xcoin/provisioning/common/linux/disable-ntp_linux.sh43
-rwxr-xr-xcoin/provisioning/common/linux/disable_kwin_overview.sh43
-rwxr-xr-xcoin/provisioning/common/linux/disable_selinux.sh2
-rwxr-xr-xcoin/provisioning/common/linux/docker.sh92
-rwxr-xr-xcoin/provisioning/common/linux/emsdk.sh81
-rwxr-xr-xcoin/provisioning/common/linux/enable_test_stacktraces.sh35
-rwxr-xr-xcoin/provisioning/common/linux/fbx_linux.sh37
-rwxr-xr-xcoin/provisioning/common/linux/gcc.sh66
-rwxr-xr-xcoin/provisioning/common/linux/install-cpdb.sh26
-rwxr-xr-xcoin/provisioning/common/linux/install-flite.sh26
-rwxr-xr-xcoin/provisioning/common/linux/install-git.sh33
-rwxr-xr-xcoin/provisioning/common/linux/install-nodejs.sh42
-rwxr-xr-xcoin/provisioning/common/linux/install-vcpkg-ports-android.sh24
-rwxr-xr-xcoin/provisioning/common/linux/install-vcpkg-ports.sh21
-rwxr-xr-xcoin/provisioning/common/linux/install-vcpkg.sh59
-rwxr-xr-xcoin/provisioning/common/linux/install_dwz.sh42
-rwxr-xr-xcoin/provisioning/common/linux/integrity.sh66
-rwxr-xr-xcoin/provisioning/common/linux/mimersql.sh42
-rwxr-xr-xcoin/provisioning/common/linux/mount-vcpkg-cache-drive.sh21
-rwxr-xr-xcoin/provisioning/common/linux/openssl_for_android_linux.sh67
-rwxr-xr-xcoin/provisioning/common/linux/qnx_660.sh66
-rwxr-xr-xcoin/provisioning/common/linux/qnx_700.sh67
-rwxr-xr-xcoin/provisioning/common/linux/qnx_710.sh89
-rw-r--r--coin/provisioning/common/linux/qnx_qemu_build_files/local/misc_files/etc/hosts19
-rw-r--r--coin/provisioning/common/linux/qnx_qemu_build_files/local/misc_files/etc/resolv.conf2
-rwxr-xr-xcoin/provisioning/common/linux/qnx_qemu_build_files/local/opt_scripts/opt_nfs_qt46
-rw-r--r--coin/provisioning/common/linux/qnx_qemu_build_files/local/options88
-rw-r--r--coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/data_files.custom25
-rw-r--r--coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/ifs_env.custom12
-rw-r--r--coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/passwd_file.builtin3
-rw-r--r--coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/post_start.custom25
-rw-r--r--coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/shadow_file.builtin2
-rw-r--r--coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/system_files.custom64
-rw-r--r--coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/uids.custom1
-rwxr-xr-xcoin/provisioning/common/linux/remove-update_notifier.sh14
-rwxr-xr-xcoin/provisioning/common/linux/remove_update-manager.sh3
-rwxr-xr-xcoin/provisioning/common/linux/sccache.sh12
-rwxr-xr-xcoin/provisioning/common/linux/set_ulimit.sh32
-rwxr-xr-xcoin/provisioning/common/linux/squish-coco.sh37
-rw-r--r--coin/provisioning/common/linux/telegraf-coin.conf47
-rw-r--r--coin/provisioning/common/linux/testserver/apache2/Dockerfile7
-rw-r--r--coin/provisioning/common/linux/testserver/danted/Dockerfile10
-rwxr-xr-xcoin/provisioning/common/linux/testserver/docker_testserver.sh69
-rw-r--r--coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile4
-rw-r--r--coin/provisioning/common/linux/testserver/squid/Dockerfile4
-rw-r--r--coin/provisioning/common/linux/testserver/vsftpd/Dockerfile7
-rwxr-xr-xcoin/provisioning/common/linux/ubuntu-version.sh35
-rw-r--r--coin/provisioning/common/linux/vcpkg/vcpkg.json12
-rwxr-xr-xcoin/provisioning/common/linux/version.sh41
-rwxr-xr-xcoin/provisioning/common/linux/vx_works.sh51
-rwxr-xr-xcoin/provisioning/common/linux/vxworks_qemu_launcher.sh39
-rwxr-xr-xcoin/provisioning/common/macos/InstallAppFromCompressedFileFromURL.sh35
-rwxr-xr-xcoin/provisioning/common/macos/InstallPKGFromURL.sh49
-rwxr-xr-xcoin/provisioning/common/macos/android.sh78
-rwxr-xr-xcoin/provisioning/common/macos/cmake.sh47
-rwxr-xr-xcoin/provisioning/common/macos/disable-app-reopen.sh12
-rwxr-xr-xcoin/provisioning/common/macos/disable-notifications_and_warnings.sh9
-rwxr-xr-xcoin/provisioning/common/macos/disable_net_lso.sh34
-rwxr-xr-xcoin/provisioning/common/macos/disable_spotlight.sh41
-rwxr-xr-xcoin/provisioning/common/macos/docker.sh37
-rwxr-xr-xcoin/provisioning/common/macos/enable_zsh_history_and_viminfo.sh12
-rwxr-xr-xcoin/provisioning/common/macos/fbx_macos.sh40
-rwxr-xr-xcoin/provisioning/common/macos/fix_relative_dependencies.sh25
-rwxr-xr-xcoin/provisioning/common/macos/homebrew.sh26
-rwxr-xr-xcoin/provisioning/common/macos/homebrew_for_arm_mac.sh30
-rwxr-xr-xcoin/provisioning/common/macos/increase_limits.sh39
-rwxr-xr-xcoin/provisioning/common/macos/install-commandlinetools.sh37
-rwxr-xr-xcoin/provisioning/common/macos/install-git.sh7
-rwxr-xr-xcoin/provisioning/common/macos/install_openssl.sh81
-rwxr-xr-xcoin/provisioning/common/macos/install_xcode.sh49
-rwxr-xr-xcoin/provisioning/common/macos/java.sh56
-rwxr-xr-xcoin/provisioning/common/macos/java_arm.sh33
-rw-r--r--coin/provisioning/common/macos/libiodbc.rb33
-rwxr-xr-xcoin/provisioning/common/macos/libiodbc.sh40
-rwxr-xr-xcoin/provisioning/common/macos/libusb.sh35
-rw-r--r--coin/provisioning/common/macos/limit.maxfiles.plist20
-rw-r--r--coin/provisioning/common/macos/limit.maxproc.plist20
-rwxr-xr-xcoin/provisioning/common/macos/macos-version.sh57
-rwxr-xr-xcoin/provisioning/common/macos/makeuniversal.sh34
-rwxr-xr-xcoin/provisioning/common/macos/mimersql.sh56
-rwxr-xr-xcoin/provisioning/common/macos/mount-vcpkg-cache-drive.sh28
-rwxr-xr-xcoin/provisioning/common/macos/ninja.sh18
-rwxr-xr-xcoin/provisioning/common/macos/nodejs.sh19
-rwxr-xr-xcoin/provisioning/common/macos/pip.sh11
-rwxr-xr-xcoin/provisioning/common/macos/pkgconfig.sh12
-rwxr-xr-xcoin/provisioning/common/macos/postgresql.sh41
-rwxr-xr-xcoin/provisioning/common/macos/python2.sh47
-rwxr-xr-xcoin/provisioning/common/macos/python3.sh61
-rwxr-xr-xcoin/provisioning/common/macos/sccache.sh12
-rwxr-xr-xcoin/provisioning/common/macos/screenresolution.sh43
-rwxr-xr-xcoin/provisioning/common/macos/set-locale.sh17
-rwxr-xr-xcoin/provisioning/common/macos/set_tcc_permissions.sh31
-rwxr-xr-xcoin/provisioning/common/macos/sha1sum-compatibility.sh35
-rwxr-xr-xcoin/provisioning/common/macos/system_updates.sh38
-rw-r--r--coin/provisioning/common/macos/telegraf-coin.conf57
-rwxr-xr-xcoin/provisioning/common/macos/telegraf-ioping.sh28
-rwxr-xr-xcoin/provisioning/common/macos/telegraf_install.sh68
-rwxr-xr-xcoin/provisioning/common/macos/version.sh41
-rw-r--r--coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake28
-rw-r--r--coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-armv7le.cmake28
-rw-r--r--coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-x8664.cmake28
-rw-r--r--coin/provisioning/common/shared/ffmpeg_config_options.txt1
-rw-r--r--coin/provisioning/common/shared/requirements.txt19
-rw-r--r--coin/provisioning/common/shared/telegraf/influxdb.repo_key.pub52
-rwxr-xr-xcoin/provisioning/common/shared/telegraf/telegraf-ioping.sh28
-rw-r--r--coin/provisioning/common/shared/telegraf/telegraf_packages.sha256.txt4
-rw-r--r--coin/provisioning/common/shared/testserver/.gitattributes1
-rw-r--r--coin/provisioning/common/shared/testserver/apache2/Dockerfile8
-rw-r--r--coin/provisioning/common/shared/testserver/apache2_18.04/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/californium/Dockerfile15
-rw-r--r--coin/provisioning/common/shared/testserver/californium/qt_changes.patch43
-rw-r--r--coin/provisioning/common/shared/testserver/cyrus/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/cyrus_18.04/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/danted/Dockerfile11
-rwxr-xr-xcoin/provisioning/common/shared/testserver/danted/danted (renamed from coin/provisioning/common/linux/testserver/danted/danted)0
-rwxr-xr-xcoin/provisioning/common/shared/testserver/danted/danted-authenticating (renamed from coin/provisioning/common/linux/testserver/danted/danted-authenticating)0
-rw-r--r--coin/provisioning/common/shared/testserver/danted_18.04/Dockerfile4
-rwxr-xr-xcoin/provisioning/common/shared/testserver/docker_images.sh96
-rwxr-xr-xcoin/provisioning/common/shared/testserver/docker_machine.sh22
-rwxr-xr-xcoin/provisioning/common/shared/testserver/docker_testserver.sh26
-rw-r--r--coin/provisioning/common/shared/testserver/echo/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/echo_18.04/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/freecoap/Dockerfile14
-rw-r--r--coin/provisioning/common/shared/testserver/ftp-proxy/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/ftp-proxy_18.04/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/iptables/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/iptables_18.04/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/qt_ubuntu_16.04/Dockerfile5
-rw-r--r--coin/provisioning/common/shared/testserver/qt_ubuntu_18.04/Dockerfile5
-rwxr-xr-xcoin/provisioning/common/shared/testserver/settings.sh9
-rw-r--r--coin/provisioning/common/shared/testserver/squid/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/squid_18.04/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/testserver/vsftpd/Dockerfile7
-rw-r--r--coin/provisioning/common/shared/testserver/vsftpd_18.04/Dockerfile4
-rw-r--r--coin/provisioning/common/shared/triplets/arm64-windows-qt.cmake7
-rw-r--r--coin/provisioning/common/shared/triplets/armeabi-v7a-android-qt.cmake15
-rw-r--r--coin/provisioning/common/shared/triplets/x64-linux-qt.cmake13
-rw-r--r--coin/provisioning/common/shared/triplets/x64-windows-qt.cmake7
-rw-r--r--coin/provisioning/common/shared/triplets/x86-android-qt.cmake15
-rw-r--r--coin/provisioning/common/shared/triplets/x86_64-android-qt.cmake15
-rw-r--r--coin/provisioning/common/shared/vcpkg-configuration.json9
-rw-r--r--coin/provisioning/common/shared/vcpkg_registry_mirror.txt1
-rw-r--r--coin/provisioning/common/shared/vcpkg_tool_release_tag.txt1
-rw-r--r--coin/provisioning/common/shared/vcpkg_version.txt1
-rwxr-xr-xcoin/provisioning/common/unix/DownloadURL.sh149
-rwxr-xr-xcoin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh38
-rwxr-xr-xcoin/provisioning/common/unix/SetEnvVar.sh47
-rwxr-xr-xcoin/provisioning/common/unix/check_and_set_proxy.sh34
-rwxr-xr-xcoin/provisioning/common/unix/common.sourced.sh137
-rwxr-xr-xcoin/provisioning/common/unix/disable-ntp_macos.sh35
-rwxr-xr-xcoin/provisioning/common/unix/emsdk.sh54
-rwxr-xr-xcoin/provisioning/common/unix/install-breakpad.sh39
-rwxr-xr-xcoin/provisioning/common/unix/install-conan.sh23
-rwxr-xr-xcoin/provisioning/common/unix/install-ffmpeg-android.sh106
-rwxr-xr-xcoin/provisioning/common/unix/install-ffmpeg-ios.sh76
-rwxr-xr-xcoin/provisioning/common/unix/install-ffmpeg.sh113
-rwxr-xr-xcoin/provisioning/common/unix/install-openssl.sh108
-rwxr-xr-xcoin/provisioning/common/unix/install_grpc.sh84
-rwxr-xr-xcoin/provisioning/common/unix/install_protobuf.sh71
-rwxr-xr-xcoin/provisioning/common/unix/install_protobuff.sh75
-rwxr-xr-xcoin/provisioning/common/unix/libclang-v100-dyn.sh52
-rwxr-xr-xcoin/provisioning/common/unix/libclang.sh82
-rwxr-xr-x[-rw-r--r--]coin/provisioning/common/unix/mqtt_broker.sh41
-rwxr-xr-xcoin/provisioning/common/unix/openssl_3_for_android.sh76
-rwxr-xr-xcoin/provisioning/common/unix/openssl_for_android.sh73
-rw-r--r--coin/provisioning/common/unix/pyenv.rb80
-rwxr-xr-xcoin/provisioning/common/unix/python_modules.sh8
-rwxr-xr-xcoin/provisioning/common/unix/sccache.sh35
-rwxr-xr-xcoin/provisioning/common/unix/sccache_wrapper14
-rwxr-xr-xcoin/provisioning/common/unix/squishInstall.sh227
-rwxr-xr-xcoin/provisioning/common/unix/telegraf_install.sh77
-rwxr-xr-xcoin/provisioning/common/unix/telegraf_password.sh29
-rw-r--r--coin/provisioning/common/windows/03-conan.ps160
-rw-r--r--coin/provisioning/common/windows/3dstudio_3rdparty.ps14
-rw-r--r--coin/provisioning/common/windows/allow-remote-desktop-access.ps134
-rw-r--r--coin/provisioning/common/windows/android-openssl.ps1139
-rw-r--r--coin/provisioning/common/windows/android.ps1111
-rw-r--r--coin/provisioning/common/windows/change-language-settings.ps14
-rw-r--r--coin/provisioning/common/windows/cmake.ps150
-rw-r--r--coin/provisioning/common/windows/conan.ps137
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/57.1/annulen/stable/export/conanmanifest.txt2
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/57.1/annulen/stable/package/df887949b128f2725c575258bd175fe4d30ba476/conanmanifest.txt257
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/export/conanmanifest.txt2
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/package/970e773c5651dc2560f86200a4ea56c23f568ff9/conanmanifest.txt187
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/package/c85f9b402dd4d46acdf074e1c63b768a41181d7a/conanmanifest.txt187
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/package/c97b9e1abccf18d0aefcbcdef01d2c4689917df6/conanmanifest.txt187
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/package/ca0c09cfa678fd91b04c82824988c42e9ac40ddf/conanmanifest.txt187
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/export/conanmanifest.txt3
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/488cd5989854dc1a08e31f9977289ed30f65b0f0/conanmanifest.txt250
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/5a523494e1f78e9c3900ce2f09380672c297a203/conanmanifest.txt250
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/5df173d8cb73784907692ca167e7d2e8316b10c7/conanmanifest.txt250
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/a4f43a91306db32ecaa845a88306f02b0613c925/conanmanifest.txt250
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/ab841b0a4eaa947ac9d6b85f19b13aaf18c6911d/conanmanifest.txt250
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/b78a3590f375c283e83a188d891b97d04832121e/conanmanifest.txt250
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/c55d3669e198b38f9cbd3031c1943896d7bcdad9/conanmanifest.txt250
-rw-r--r--coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/cd2d3d20ffbb190b9b990f98e6dedc2be0228764/conanmanifest.txt250
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/export/conanmanifest.txt4
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/1655126cc73fa38b3abf5795b2008935595969ae/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/1c8544b57637b92dcdfce760b76b459bde0ce701/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/4985763cfece81b148d7c11f16d564e42ee2756c/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/6fe55a250d22d4408ba9c4b99015260e933b58f0/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/793aa46df280f94646f5e993f5e3553e18ec8ae9/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/7fbb66ade701b46f34dff2e121edef66968608b5/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/9b721b63e452039565ba8417e25a183d1bbcb4df/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/acb703d92685c00a6f85ed3ca8225725f0e186c1/conanmanifest.txt12
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/export/conanmanifest.txt3
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/12ee02550ebaf136555a7f3bbc8cc25cfb8bb72b/conanmanifest.txt56
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/1955c51c7e0a6365c20c2d798832186de95c0213/conanmanifest.txt58
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/3c8e91368468fdcd96258c1b561b15aca6819857/conanmanifest.txt56
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/52cf7dbd8248b3f021f6d94e6a16c70823093916/conanmanifest.txt56
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/6950736270999084f676eb62bcb88ece1b8351b7/conanmanifest.txt56
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/852e73d42d44dff3fe4b6ed5d6a4546250ec180e/conanmanifest.txt58
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/c32d851699c84c9ca05d351cd671598c4b2b7ea5/conanmanifest.txt56
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/eae1effa51b2513b93fde5c749bae61b6203abfa/conanmanifest.txt56
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/annulen/stable/export/conanmanifest.txt2
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/annulen/stable/package/357fb491ae867cbbfe369d54132f4f21c3f13f7d/conanmanifest.txt320
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/export/conanmanifest.txt2
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/package/3c9b592a3dd15507b8a6d90a8fcc34d2b4de2260/conanmanifest.txt55
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/package/61c4f21bb72fcb92afb46571ac7caaa967c09c5d/conanmanifest.txt55
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/package/8ec39b27fb5828ba512b3f2dafe88cc0962c29b9/conanmanifest.txt55
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/package/e08083f0910e4ba3ae89c4298d94b672829af1fe/conanmanifest.txt55
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/annulen/stable/export/conanmanifest.txt2
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/annulen/stable/package/30620cba1eaf28add40f441a20f7d1be9a5c636c/conanmanifest.txt136
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/export/conanmanifest.txt2
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/package/19663639a14063d996b277c7fac0e00264689c20/conanmanifest.txt38
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/package/466fc39fa8b7a19ee2095aa945fff98630acdd12/conanmanifest.txt38
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/package/8c83c725f7fefe466a2c6c18ff17d3b0b91202c6/conanmanifest.txt38
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/package/f8cbe39e2f6584ea05b56c1f3dd9b0a99f522727/conanmanifest.txt38
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/export/conanmanifest.txt4
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/19663639a14063d996b277c7fac0e00264689c20/conanmanifest.txt37
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/466fc39fa8b7a19ee2095aa945fff98630acdd12/conanmanifest.txt37
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/7e451536519482997336e237346b93d95b87eb32/conanmanifest.txt130
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/8c83c725f7fefe466a2c6c18ff17d3b0b91202c6/conanmanifest.txt37
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/a19b1f00428920c59efe23b98acbe83d331049b4/conanmanifest.txt37
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/d4099b870b7e1ab748c13f5751cb2d32f893a78f/conanmanifest.txt130
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/d9686cd1257700d08189681d9907564e4a9147cb/conanmanifest.txt37
-rw-r--r--coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/f8cbe39e2f6584ea05b56c1f3dd9b0a99f522727/conanmanifest.txt37
-rw-r--r--coin/provisioning/common/windows/conan_manifests/zlib/1.2.8/annulen/stable/export/conanmanifest.txt4
-rw-r--r--coin/provisioning/common/windows/conan_manifests/zlib/1.2.8/annulen/stable/package/a990f14748d35a55b067140a0973ea7204f67350/conanmanifest.txt56
-rw-r--r--coin/provisioning/common/windows/disable-autoreboot.ps134
-rw-r--r--coin/provisioning/common/windows/disable-clean-manager.ps18
-rw-r--r--coin/provisioning/common/windows/disable-defragment.ps174
-rw-r--r--coin/provisioning/common/windows/disable-netadapterlso.ps13
-rw-r--r--coin/provisioning/common/windows/disable-sleep.ps134
-rw-r--r--coin/provisioning/common/windows/disable-uac.ps134
-rw-r--r--coin/provisioning/common/windows/disable-windefender.ps121
-rw-r--r--coin/provisioning/common/windows/disable-windows-module-installer.ps14
-rw-r--r--coin/provisioning/common/windows/disable-windows-updates.ps138
-rw-r--r--coin/provisioning/common/windows/dxsdk.ps14
-rw-r--r--coin/provisioning/common/windows/emsdk.ps158
-rw-r--r--coin/provisioning/common/windows/exceutequeueditems.ps134
-rw-r--r--coin/provisioning/common/windows/fbx_windows.ps136
-rw-r--r--coin/provisioning/common/windows/grpc.ps1122
-rw-r--r--coin/provisioning/common/windows/helpers.ps1173
-rw-r--r--coin/provisioning/common/windows/icu.ps147
-rw-r--r--coin/provisioning/common/windows/install-azure-tool.ps110
-rw-r--r--coin/provisioning/common/windows/install-breakpad.ps142
-rw-r--r--coin/provisioning/common/windows/install-dependencywalker.ps142
-rw-r--r--coin/provisioning/common/windows/install-dotnet.ps129
-rw-r--r--coin/provisioning/common/windows/install-ffmpeg.ps1170
-rw-r--r--coin/provisioning/common/windows/install-git.ps144
-rw-r--r--coin/provisioning/common/windows/install-gnuwin32.ps137
-rw-r--r--coin/provisioning/common/windows/install-jdk.ps184
-rw-r--r--coin/provisioning/common/windows/install-jq.ps131
-rw-r--r--coin/provisioning/common/windows/install-mcuxpresso.ps116
-rw-r--r--coin/provisioning/common/windows/install-mingw.ps163
-rw-r--r--coin/provisioning/common/windows/install-msys2.ps152
-rw-r--r--coin/provisioning/common/windows/install-notepad++.ps138
-rw-r--r--coin/provisioning/common/windows/install-openssh.ps136
-rw-r--r--coin/provisioning/common/windows/install-protobuf.ps164
-rw-r--r--coin/provisioning/common/windows/install-ruby.ps138
-rw-r--r--coin/provisioning/common/windows/install-sccache.ps135
-rw-r--r--coin/provisioning/common/windows/install-sed.ps130
-rw-r--r--coin/provisioning/common/windows/install-sevenzip.ps146
-rw-r--r--coin/provisioning/common/windows/install-stm32cubeprogrammer.ps120
-rw-r--r--coin/provisioning/common/windows/install-strawberry-perl.ps146
-rw-r--r--coin/provisioning/common/windows/install-vcpkg-ports-android.ps123
-rw-r--r--coin/provisioning/common/windows/install-vcpkg-ports.ps126
-rw-r--r--coin/provisioning/common/windows/install-vcpkg.ps158
-rw-r--r--coin/provisioning/common/windows/install_telegraf.ps138
-rw-r--r--coin/provisioning/common/windows/jom.ps12
-rw-r--r--coin/provisioning/common/windows/libclang-v100-dyn.ps150
-rw-r--r--coin/provisioning/common/windows/libclang.ps153
-rw-r--r--coin/provisioning/common/windows/libusb.ps141
-rw-r--r--coin/provisioning/common/windows/longpath.ps12
-rw-r--r--coin/provisioning/common/windows/mesa_llvmpipe.ps148
-rw-r--r--coin/provisioning/common/windows/mimersql.ps131
-rw-r--r--coin/provisioning/common/windows/mount-vcpkg-cache-drive.ps120
-rw-r--r--coin/provisioning/common/windows/mqtt_broker.ps138
-rw-r--r--coin/provisioning/common/windows/msvc-2013-update5.ps138
-rw-r--r--coin/provisioning/common/windows/msvc_2015_update3_patch.ps167
-rw-r--r--coin/provisioning/common/windows/msys.ps16
-rw-r--r--coin/provisioning/common/windows/mysql.ps194
-rw-r--r--coin/provisioning/common/windows/ninja.ps132
-rw-r--r--coin/provisioning/common/windows/nodejs.ps131
-rw-r--r--coin/provisioning/common/windows/opcua_unifiedautomation.ps140
-rw-r--r--coin/provisioning/common/windows/openssl-arm64.ps144
-rw-r--r--coin/provisioning/common/windows/openssl.ps149
-rw-r--r--coin/provisioning/common/windows/postgresql.ps154
-rw-r--r--coin/provisioning/common/windows/protobuf.ps1118
-rw-r--r--coin/provisioning/common/windows/python.ps172
-rw-r--r--coin/provisioning/common/windows/python3.ps181
-rw-r--r--coin/provisioning/common/windows/qnx710.ps156
-rw-r--r--coin/provisioning/common/windows/set-network-test-server.ps134
-rw-r--r--coin/provisioning/common/windows/set-proxy.ps134
-rw-r--r--coin/provisioning/common/windows/share-test-folders.ps140
-rw-r--r--coin/provisioning/common/windows/squish-coco.ps136
-rw-r--r--coin/provisioning/common/windows/squishInstall.ps1170
-rw-r--r--coin/provisioning/common/windows/telegraf-coin.conf41
-rw-r--r--coin/provisioning/common/windows/telegraf_password.ps118
-rw-r--r--coin/provisioning/common/windows/unset-proxy.ps143
-rw-r--r--coin/provisioning/common/windows/update-msvc2019.ps1102
-rw-r--r--coin/provisioning/common/windows/vc_redist.ps140
-rw-r--r--coin/provisioning/common/windows/vcpkg/vcpkg.json12
-rw-r--r--coin/provisioning/common/windows/version.ps16
-rw-r--r--coin/provisioning/common/windows/vulkansdk.ps144
-rw-r--r--coin/provisioning/common/windows/win10sdk.ps138
-rw-r--r--coin/provisioning/common/windows/winrtrunner.ps14
-rwxr-xr-xcoin/provisioning/qtci-linux-CentOS-8.3-x86_64/90-mimer.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Debian-11.6-aarch64/01-disable_auto_suspend.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Debian-11.6-aarch64/01-systemsetup.sh43
-rwxr-xr-xcoin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh257
-rwxr-xr-xcoin/provisioning/qtci-linux-Debian-11.6-aarch64/02-disable-notifications.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Debian-11.6-aarch64/02-disable-ntp.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Debian-11.6-aarch64/02-remove-apport.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Debian-11.6-aarch64/02-remove-update_notifier.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Debian-11.6-aarch64/03-install-nodejs.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Debian-11.6-aarch64/04-libclang.sh6
-rw-r--r--coin/provisioning/qtci-linux-Debian-11.6-aarch64/09-openssl.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-Debian-11.6-aarch64/30-install_icu.sh35
-rw-r--r--coin/provisioning/qtci-linux-Debian-11.6-aarch64/60-install_protobuf.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-Debian-11.6-aarch64/92-sbuild.sh64
-rwxr-xr-xcoin/provisioning/qtci-linux-Debian-11.6-aarch64/93-download-files-for-sbuild.sh21
-rwxr-xr-xcoin/provisioning/qtci-linux-Debian-11.6-aarch64/99-enable_test_stacktraces.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-disable-mlocate.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-refresh-subscription-manager.sh43
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh46
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/02-disable-ntp.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh49
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/04-install-packages.sh46
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/05-subscription-manager-tooling.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/06-odbc.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh51
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/20-libusb.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/22-mqtt_broker.sh37
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh74
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-6.6-x86_64/99-version.sh48
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-disable-mlocate.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-refresh-subscription-manager.sh43
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-systemsetup.sh52
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/02-enable-repos.sh76
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/03-install-devtoolset.sh41
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/03-install-rhel-epel.sh51
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh134
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-p7zip.sh46
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/05-libclang.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/06-cmake.sh43
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/07-qnx_700.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/08-integrity.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/09-disable_selinux.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/10-openssl_for_android_linux.sh43
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/22-mqtt_broker.sh37
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-fbx.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-install_icu.sh76
-rw-r--r--coin/provisioning/qtci-linux-RHEL-7.4-x86_64/35-install-breakpad.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/40-android_linux.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/60-install_protobuff.sh40
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-7.4-x86_64/99-version.sh48
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-disable-automounting.sh14
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-disable_net_lso.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-refresh-subscription-manager.sh17
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-remove_network_manager_secret_key.sh11
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-remove_stable-privacy.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-set-ulimit.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-systemsetup.sh30
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-enable-repos.sh29
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-install-gcc-toolset.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/04-install-packages.sh143
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/04-p7zip.sh15
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-libclang-v100-dyn.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-libclang.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/09-disable_selinux.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/20-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/22-mqtt_broker.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-fbx.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install-git.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install_icu.sh45
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/35-install-breakpad.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/40-android_linux.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/40-install-cmake.sh12
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/50-openssl_for_android_linux.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/60-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/70-install_QemuGA.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/70-install_dwz.sh11
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-install-ffmpeg.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-mimer.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-squish.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/99-cleanup.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.2-x86_64/99-version.sh17
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-disable-automounting.sh14
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-disable_net_lso.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-refresh-subscription-manager.sh18
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_network_manager_secret_key.sh11
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_stable-privacy.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-set-ulimit.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-systemsetup.sh28
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-enable-repos.sh29
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-install-gcc-toolset.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-install-packages.sh155
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-p7zip.sh15
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-libclang-v100-dyn.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-libclang.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/09-disable_selinux.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/09-openssl.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/20-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/22-mqtt_broker.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-fbx.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install-git.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install_icu.sh45
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/35-install-breakpad.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-android_linux.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-install-cmake.sh12
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/50-openssl_for_android_linux.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/60-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/61-install_grpc.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_QemuGA.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_dwz.sh11
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-bootstrap-autostart.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-install-ffmpeg.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-mimer.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-squish.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/99-cleanup.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.4-x86_64/99-version.sh17
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-disable-automounting.sh15
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-disable_net_lso.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-refresh-subscription-manager.sh18
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-remove_network_manager_secret_key.sh11
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-remove_stable-privacy.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-set-ulimit.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-systemsetup.sh29
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/03-enable-repos.sh34
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/03-install-gcc-toolset.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/04-install-packages.sh165
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/04-p7zip.sh17
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-libclang-v100-dyn.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-libclang.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/09-disable_selinux.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/09-openssl.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/20-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/22-mqtt_broker.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-fbx.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install-git.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install_icu.sh46
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/35-install-breakpad.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/40-android_linux.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/40-install-cmake.sh13
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/50-openssl_for_android_linux.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/60-install_protobuf.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/61-install_grpc.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/70-install_QemuGA.sh11
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/70-install_dwz.sh12
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-bootstrap-autostart.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-install-ffmpeg.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-mimer.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-squish.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/99-cleanup.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.6-x86_64/99-version.sh18
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable-automounting.sh15
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable_net_lso.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-refresh-subscription-manager.sh18
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_network_manager_secret_key.sh11
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_stable-privacy.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-set-ulimit.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-systemsetup.sh29
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-enable-repos.sh34
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-install-gcc-toolset.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh175
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-p7zip.sh17
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang-v100-dyn.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-mount-vcpkg-cache-drive.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-disable_selinux.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-openssl.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/20-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/22-mqtt_broker.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-fbx.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-git.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install_icu.sh46
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/35-install-breakpad.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-android_linux.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-install-cmake.sh13
-rw-r--r--coin/provisioning/qtci-linux-RHEL-8.8-x86_64/41-install-vcpkg.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/42-install-vcpkg-ports.sh14
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/50-openssl_for_android_linux.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/60-install_protobuf.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/61-install_grpc.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_QemuGA.sh11
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_dwz.sh12
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-bootstrap-autostart.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-mimer.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-squish.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-cleanup.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-enable_test_stacktraces.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-version.sh18
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-disable_net_lso.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-refresh-subscription-manager.sh18
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-remove_network_manager_secret_key.sh11
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-set-ulimit.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-systemsetup.sh31
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/03-enable-repos.sh33
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh167
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-p7zip.sh15
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-libclang-v100-dyn.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-libclang.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-mount-vcpkg-cache-drive.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/09-disable_selinux.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/20-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/22-mqtt_broker.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-fbx.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install-git.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install_icu.sh45
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/35-install-breakpad.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/40-android_linux.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/40-install-cmake.sh12
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/50-openssl_for_android_linux.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/60-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/61-install_grpc.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/70-install_QemuGA.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/70-install_dwz.sh11
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-bootstrap-autostart.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-install-ffmpeg.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-mimer.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-squish.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/99-cleanup.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.0-x86_64/99-version.sh17
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-disable_net_lso.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-refresh-subscription-manager.sh18
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-remove_network_manager_secret_key.sh11
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-set-ulimit.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-systemsetup.sh31
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/03-enable-repos.sh34
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh189
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-p7zip.sh15
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-libclang-v100-dyn.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-libclang.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-mount-vcpkg-cache-drive.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/09-disable_selinux.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/20-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/22-mqtt_broker.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-fbx.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install-git.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install_icu.sh45
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/35-install-breakpad.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/40-android_linux.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/40-install-cmake.sh12
-rw-r--r--coin/provisioning/qtci-linux-RHEL-9.2-x86_64/41-install-vcpkg.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/42-install-vcpkg-ports.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/50-openssl_for_android_linux.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/60-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/61-install_grpc.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/70-install_QemuGA.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/70-install_dwz.sh11
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-bootstrap-autostart.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-install-ffmpeg.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-mimer.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-squish.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-cleanup.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-enable_test_stacktraces.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-version.sh17
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-btrfs-balance.sh11
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-coredump.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-fstrim_timer.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable_net_lso.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-set-ulimit.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-systemsetup.sh42
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-disable-gnome-notifications.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-disable-ntp.sh (renamed from coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-disable-ntp.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-enable-modules.sh23
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-zypperpackages.sh103
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang-v100-dyn.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-pythondev.sh81
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/09-cmake.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/09-openssl.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/20-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/22-mqtt_broker.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/30-install-git.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/55-emsdk.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/60-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/61-install_grpc.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/70-install_QemuGA.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-bootstrap-autostart.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-install-ffmpeg.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-mimer.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-squish.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-unset-proxy.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-version.sh17
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-btrfs-balance.sh11
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-coredump.sh8
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-fstrim_timer.sh9
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable_net_lso.sh8
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-install_telegraf.sh5
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-set-ulimit.sh8
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-systemsetup.sh49
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-gnome-notifications.sh6
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-ntp.sh5
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-enable-modules.sh23
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-zypperpackages.sh113
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP5-x86_64/03-mount-vcpkg-cache-drive.sh8
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang-v100-dyn.sh9
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang.sh9
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-pythondev.sh77
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-cmake.sh7
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-openssl.sh7
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/20-sccache.sh5
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/22-mqtt_broker.sh6
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-conan.sh8
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-git.sh8
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/41-install-vcpkg.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP5-x86_64/42-install-vcpkg-ports.sh6
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/55-emsdk.sh8
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/60-install_protobuf.sh9
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/61-install_grpc.sh9
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/70-install_QemuGA.sh9
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-bootstrap-autostart.sh5
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh5
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-mimer.sh8
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-squish.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-enable_test_stacktraces.sh8
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-unset-proxy.sh9
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-version.sh17
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-cracklib.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-mlocate.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-remove_update-manager4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-systemsetup.sh59
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86/02-apt.sh55
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86/90-squish.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-cracklib.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-mlocate.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-remove_update-manager4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh65
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh185
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-disable-ntp.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-git_lfs.sh43
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-libclang.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/22-mqtt_broker.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/30-fbx.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/35-install-breakpad.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-android_linux.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-cmake.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/60-qnx660.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/70-qnx700.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/90-squish.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh38
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-apt.sh89
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-notifications.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-ntp.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-git_lfs.sh12
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-apport.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-update_notifier.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh178
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang-v100-dyn.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh98
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto_ssh_configurations.sh56
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/10-openssl_for_android_linux.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/20-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh35
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-fbx.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-install-git.sh8
-rwxr-xr-x[-rw-r--r--]coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/35-install-breakpad.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-android_linux.sh35
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-cmake.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-install-cmake.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-qnx660.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/70-qnx700.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-install-ffmpeg.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-mimer.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-squish.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/91-squish-coco.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-cleanup.sh7
-rwxr-xr-x[-rw-r--r--]coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh2
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-disable_net_lso.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-set-ulimit.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-systemsetup.sh43
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh229
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-disable-notifications.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-disable-ntp.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-git_lfs.sh12
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-remove-apport.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-remove-update_notifier.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-gcc.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-qemu.sh19
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang-v100-dyn.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh125
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/08-integrity.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/20-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/22-mqtt_broker.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-fbx.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install-git.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install_icu.sh48
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/35-install-breakpad.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/40-android_linux.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/40-install-cmake.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/50-openssl_for_android_linux.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/60-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/61-install_grpc.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/70-install_QemuGA.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/70-qnx710.sh13
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/80-docker.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/81-fix_mdns_docker_resolution.sh15
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/85-qdoc_qtattributionsscanner.sh34
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-bootstrap-autostart.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-install-ffmpeg.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-mimer.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-squish.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/91-squish-coco.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/99-cleanup.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/99-version.sh6
-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/01-disable-updates.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-disable_net_lso.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-set-ulimit.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-systemsetup.sh43
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh244
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-disable-notifications.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-disable-ntp.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-git_lfs.sh12
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-remove-apport.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-remove-update_notifier.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-install-nodejs.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-mount-vcpkg-cache-drive.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-qemu.sh19
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-libclang-v100-dyn.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-libclang.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh125
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/08-integrity.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/20-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/22-mqtt_broker.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-fbx.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-install_icu.sh48
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/35-install-breakpad.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/40-android_linux.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/40-install-cmake.sh7
-rw-r--r--coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/41-install-vcpkg.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/42-install-vcpkg-ports.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/45-install-cpdb.sh13
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/50-openssl_for_android_linux.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/60-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/61-install_grpc.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-install_QemuGA.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-qnx710.sh13
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-vxworks.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/80-docker.sh58
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/81-fix_mdns_docker_resolution.sh15
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/85-qdoc_qtattributionsscanner.sh33
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-bootstrap-autostart.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-install-ffmpeg.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-mimer.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-squish.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/91-squish-coco.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/92-sbuild.sh57
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-axivion-bauhaus-suite.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-download-files-for-sbuild.sh16
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-lcov.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-cleanup.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-enable_test_stacktraces.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-version.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-disable_net_lso.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-set-ulimit.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-systemsetup.sh43
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/02-disable-ntp.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/03-enable-repos.sh12
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/04-zypperpackages.sh73
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/05-disable_kwin_overview.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-libclang-v100-dyn.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-libclang.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-pythondev.sh17
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/09-cmake.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/10-cmake-min-supported.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/20-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/22-mqtt_broker.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/30-install-git.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/40-install-flite.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/55-emsdk.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/60-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/70-install_QemuGA.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/80-install-chrome.sh25
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-install-ffmpeg.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-mimer.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-squish.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-cleanup.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-unset-proxy.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-version.sh17
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-disable_net_lso.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-set-ulimit.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-systemsetup.sh44
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/02-disable-ntp.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/03-enable-repos.sh12
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/04-zypperpackages.sh79
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/05-disable_kwin_overview.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-libclang-v100-dyn.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-libclang.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-pythondev.sh18
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/09-cmake.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/09-openssl.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/10-cmake-min-supported.sh10
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/20-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/22-mqtt_broker.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/30-install-git.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/40-install-flite.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/55-emsdk.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/60-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/61-install_grpc.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/70-install_QemuGA.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/80-install-chrome.sh25
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-bootstrap-autostart.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-install-ffmpeg.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-mimer.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-squish.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-cleanup.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-unset-proxy.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-version.sh17
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-disable_net_lso.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-set-ulimit.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-systemsetup.sh42
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/02-disable-ntp.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/03-enable-repos.sh12
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/04-zypperpackages.sh85
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/05-disable_kwin_overview.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/05-mount-vcpkg-cache-drive.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-libclang-v100-dyn.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-libclang.sh (renamed from coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-libclang.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-pythondev.sh18
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/09-cmake.sh (renamed from coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/09-cmake.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/09-openssl.sh5
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/10-cmake-min-supported.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/20-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/22-mqtt_broker.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/30-install-conan.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/30-install-git.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/40-install-flite.sh6
-rw-r--r--coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/41-install-vcpkg.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/42-install-vcpkg-ports.sh6
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/55-emsdk.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/60-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/61-install_grpc.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/70-install_QemuGA.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/80-install-chrome.sh24
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-bootstrap-autostart.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-install-ffmpeg.sh3
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-mimer.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-squish.sh (renamed from coin/provisioning/qtci-linux-RHEL-7.4-x86_64/90-squish.sh)0
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/91-install-dummy-sound.sh60
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-cleanup.sh7
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-enable_test_stacktraces.sh8
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-unset-proxy.sh9
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-version.sh17
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh36
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-zypperpackages.sh69
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-pythondev.sh19
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-42.3-x86_64/18-icc.sh86
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-42.3-x86_64/22-mqtt_broker.sh37
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-42.3-x86_64/55-emsdk.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-42.3-x86_64/90-squish.sh4
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-unset-proxy.sh39
-rwxr-xr-xcoin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-version.sh48
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/01-sha1sum-compatibility.sh41
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/02-disable-ntp.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/03-bashprofile.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/05-systemsetup.sh91
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/06-crashreporter.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/06-disable_spotlight.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/06-disable_update_downloads.sh4
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/07-SSL_keychain.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/15-xz.sh52
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/20-java.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/20-xcode.sh50
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh47
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/25-cmake.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/25-homebrew.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/25-mysql.sh58
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/25-postgresql.sh57
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/25-python2.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/25-python3.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/26-odbc.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/26-p7zip.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/26-virtualenv.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/27-libclang.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/30-fbx.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/55-signtools.sh138
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/90-squish.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.12-x86_64/99-mac-version.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/01-sha1sum-compatibility.sh41
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/02-disable-ntp.sh4
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/03-bashprofile.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh91
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/06-crashreporter.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/06-disable_spotlight.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/06-disable_update_downloads.sh4
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/07-SSL_keychain.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/15-xz.sh52
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/20-java.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/20-xcode.sh53
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/21-install-commandlinetools.sh47
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/25-cmake.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/25-mysql.sh58
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/25-pip.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/25-postgresql.sh57
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/25-python2.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/25-python3.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/26-odbc.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/26-virtualenv.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/27-libclang.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/30-android.sh85
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/30-fbx.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/35-install-breakpad.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/35-install_protobuff.sh40
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/40-qnx700.sh57
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh138
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/90-squish.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.13-x86_64/99-mac-version.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/01-disable-net-lso.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/01-disable-notifications_and_warnings.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/01-disable-updates.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/01-enable_zsh_history_and_viminfo.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/01-increase_limits.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/01-sha1sum-compatibility.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/03-bashprofile.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/05-systemsetup.sh80
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/06-crashreporter.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/06-disable_spotlight.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/06-disable_update_downloads.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/07-SSL_keychain.sh11
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/15-xz.sh21
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/20-java.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/20-xcode.sh22
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/21-install-commandlinetools.sh15
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/24-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/25-cmake.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/25-homebrew.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/25-mysql.sh27
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/25-pip.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/25-postgresql.sh26
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/25-python2.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/25-python3.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/26-freetype.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/26-ninja.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/26-odbc.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/26-p7zip.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/26-pcre2.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/27-libclang.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/28-libclang-v100-dyn.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/30-android.sh64
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/30-fbx.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/30-install-git.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/30-nodejs.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/35-install-breakpad.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/35-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/35-openssl.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/36-emsdk.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/80-screenresolution.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/81-bluetooth.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/90-docker.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/90-install-ffmpeg.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/90-squish.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/97-set-locale.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/98-mimersql.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-10.15-x86_64/99-mac-version.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/01-disable-app-reopen.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/01-disable-net-lso.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/01-disable-notifications_and_warnings.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/01-disable-updates.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/01-increase_limits.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/01-mount-vcpkg-cache-drive.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/01-sha1sum-compatibility.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/03-bashprofile.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/05-systemsetup.sh80
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/06-crashreporter.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/06-disable_spotlight.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/06-disable_update_downloads.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/07-SSL_keychain.sh11
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/15-xz.sh32
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/20-java.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/20-xcode.sh22
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/21-install-commandlinetools.sh14
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/23-homebrew.sh12
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/24-pyenv.sh49
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/24-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/25-cmake.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/25-mysql.sh27
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/25-pip.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/25-postgresql.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/25-python2.sh22
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/25-python3.sh20
-rw-r--r--coin/provisioning/qtci-macos-11-arm/26-brew_packages.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/26-freetype.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/26-jq.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/26-ninja.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/26-odbc.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/26-p7zip.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/26-pcre2.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/27-libclang.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/28-libclang-v100-dyn.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/29-install-pkgconfig.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/30-android.sh64
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/30-fbx.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/30-nodejs.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/35-install-breakpad.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/35-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/35-openssl.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/36-emsdk.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/36-install_grpc.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/40-qnx700.sh25
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/55-signtools.sh107
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/80-screenresolution.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/81-bluetooth.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/90-install-ffmpeg.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/97-set-locale.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/98-mimersql.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-11-arm/99-mac-version.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/01-disable-net-lso.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/01-disable-notifications_and_warnings.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/01-disable-updates.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/01-enable_zsh_history_and_viminfo.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/01-increase_limits.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/01-mount-vcpkg-cache-drive.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/01-sha1sum-compatibility.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/03-bashprofile.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/05-systemsetup.sh80
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/06-crashreporter.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/06-disable_spotlight.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/06-disable_update_downloads.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/07-SSL_keychain.sh11
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/15-xz.sh21
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/20-java.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/20-xcode.sh22
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/21-install-commandlinetools.sh14
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/24-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/25-cmake.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/25-homebrew.sh28
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/25-mysql.sh27
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/25-pip.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/25-postgresql.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/25-python2.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/25-python3.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/26-freetype.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/26-jq.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/26-ninja.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/26-odbc.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/26-p7zip.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/26-pcre2.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/27-libclang.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/28-libclang-v100-dyn.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/29-install-pkgconfig.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/29-libusb.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/30-android.sh65
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/30-fbx.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/30-nodejs.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/35-install-breakpad.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/35-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/35-openssl.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/36-emsdk.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/36-install_grpc.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/80-screenresolution.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/81-bluetooth.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/90-install-ffmpeg.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/90-squish.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/97-set-locale.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/98-mimersql.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-11-x86_64/99-mac-version.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/01-disable-app-reopen.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/01-disable-net-lso.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/01-disable-notifications_and_warnings.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/01-disable-updates.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/01-increase_limits.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/01-mount-vcpkg-cache-drive.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/01-sha1sum-compatibility.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/03-bashprofile.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/05-systemsetup.sh80
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/06-crashreporter.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/06-disable_spotlight.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/06-disable_update_downloads.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/07-SSL_keychain.sh11
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/15-xz.sh32
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/20-java.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/20-xcode.sh22
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/21-install-commandlinetools.sh14
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/23-homebrew.sh12
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/24-pyenv.sh49
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/24-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/25-cmake.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/25-mysql.sh27
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/25-pip.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/25-postgresql.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/25-python.sh25
-rw-r--r--coin/provisioning/qtci-macos-12-arm/26-brew_packages.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/26-freetype.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/26-jq.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/26-ninja.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/26-odbc.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/26-p7zip.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/26-pcre2.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/27-libclang.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/28-libclang-v100-dyn.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/29-install-pkgconfig.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/29-libusb.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/30-android.sh64
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/30-fbx.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/30-nodejs.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/35-install-breakpad.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/35-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/35-openssl.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/36-emsdk.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/36-install_grpc.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/40-qnx700.sh25
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/50-openssl_for_android_darwin.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/55-signtools.sh107
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/80-screenresolution.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/81-bluetooth.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/90-docker.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/90-install-ffmpeg.sh7
-rw-r--r--coin/provisioning/qtci-macos-12-arm/90-vlc.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/97-set-locale.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/98-mimersql.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-12-arm/99-mac-version.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/01-disable-net-lso.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/01-disable-notifications_and_warnings.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/01-disable-updates.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/01-enable_zsh_history_and_viminfo.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/01-increase_limits.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/01-mount-vcpkg-cache-drive.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/01-sha1sum-compatibility.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/03-bashprofile.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/05-systemsetup.sh80
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/06-crashreporter.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/06-disable_spotlight.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/06-disable_update_downloads.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/07-SSL_keychain.sh11
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/15-xz.sh21
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/20-java.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/20-xcode.sh22
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/21-install-commandlinetools.sh14
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/24-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/25-cmake.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/25-homebrew.sh28
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/25-mysql.sh27
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/25-pip.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/25-postgresql.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/25-python2.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/25-python3.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/26-freetype.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/26-jq.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/26-ninja.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/26-odbc.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/26-p7zip.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/26-pcre2.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/27-libclang.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/28-libclang-v100-dyn.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/29-install-pkgconfig.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/29-libusb.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/30-android.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/30-fbx.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/30-nodejs.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/35-install-breakpad.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/35-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/35-openssl.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/36-emsdk.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/36-install_grpc.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/50-openssl_for_android_darwin.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/80-screenresolution.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/81-bluetooth.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/90-docker.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/90-install-ffmpeg.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/90-squish.sh8
-rw-r--r--coin/provisioning/qtci-macos-12-x86_64/90-vlc.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/97-set-locale.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/98-mimersql.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-12-x86_64/99-mac-version.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/01-disable-app-reopen.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/01-disable-net-lso.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/01-disable-notifications_and_warnings.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/01-disable-updates.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/01-increase_limits.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/01-mount-vcpkg-cache-drive.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/01-sha1sum-compatibility.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/03-bashprofile.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/05-systemsetup.sh84
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/06-crashreporter.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/06-disable_spotlight.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/06-disable_update_downloads.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/07-SSL_keychain.sh11
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/15-xz.sh32
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/20-java.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/20-xcode.sh22
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/21-install-commandlinetools.sh14
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/23-homebrew.sh16
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/24-pyenv.sh49
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/24-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/25-cmake.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/25-mysql.sh27
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/25-pip.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/25-postgresql.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/25-python.sh25
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/26-freetype.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/26-jq.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/26-ninja.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/26-odbc.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/26-p7zip.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/26-pcre2.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/27-libclang.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/28-libclang-v100-dyn.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/29-install-pkgconfig.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/30-android.sh64
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/30-fbx.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/30-nodejs.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/35-install-breakpad.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/35-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/35-openssl.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/36-emsdk.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/36-install_grpc.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/40-qnx700.sh25
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/55-signtools.sh107
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/80-screenresolution.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/81-bluetooth.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/90-docker.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/90-install-ffmpeg.sh7
-rw-r--r--coin/provisioning/qtci-macos-13-arm/90-vlc.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/97-set-locale.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/98-mimersql.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-13-arm/99-mac-version.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/01-disable-net-lso.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/01-disable-notifications_and_warnings.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/01-disable-updates.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/01-enable_zsh_history_and_viminfo.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/01-increase_limits.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/01-mount-vcpkg-cache-drive.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/01-sha1sum-compatibility.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/03-bashprofile.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/05-systemsetup.sh80
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/06-crashreporter.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/06-disable_spotlight.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/06-disable_update_downloads.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/07-SSL_keychain.sh11
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/15-xz.sh21
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/20-java.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/20-xcode.sh22
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/21-install-commandlinetools.sh14
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/24-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/25-cmake.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/25-homebrew.sh28
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/25-mysql.sh27
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/25-pip.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/25-postgresql.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/25-python2.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/25-python3.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/26-freetype.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/26-jq.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/26-ninja.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/26-odbc.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/26-p7zip.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/26-pcre2.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/27-libclang.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/28-libclang-v100-dyn.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/29-install-pkgconfig.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/29-libusb.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/30-android.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/30-fbx.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/30-nodejs.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/35-install-breakpad.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/35-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/35-openssl.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/36-emsdk.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/36-install_grpc.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/50-openssl_for_android_darwin.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/80-screenresolution.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/81-bluetooth.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/90-install-ffmpeg.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/90-squish.sh8
-rw-r--r--coin/provisioning/qtci-macos-13-x86_64/90-vlc.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/97-set-locale.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/98-mimersql.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-13-x86_64/99-mac-version.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/01-disable-app-reopen.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/01-disable-net-lso.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/01-disable-notifications_and_warnings.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/01-disable-updates.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/01-increase_limits.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/01-mount-vcpkg-cache-drive.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/01-set_tcc_permissions.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/01-sha1sum-compatibility.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/03-bashprofile.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/05-systemsetup.sh80
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/06-crashreporter.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/06-disable_spotlight.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/06-disable_update_downloads.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/07-SSL_keychain.sh11
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/15-xz.sh32
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/20-java.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/20-xcode.sh22
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/21-install-commandlinetools.sh14
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/23-homebrew.sh16
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/24-pyenv.sh49
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/24-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/25-cmake.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/25-mysql.sh27
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/25-pip.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/25-postgresql.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/25-python.sh20
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/26-freetype.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/26-jq.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/26-ninja.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/26-odbc.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/26-p7zip.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/26-pcre2.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/27-libclang.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/28-libclang-v100-dyn.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/29-install-pkgconfig.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/30-android.sh64
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/30-fbx.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/30-nodejs.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/35-install-breakpad.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/35-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/35-openssl.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/36-emsdk.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/36-install_grpc.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/40-qnx700.sh25
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/55-signtools.sh107
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/80-screenresolution.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/81-bluetooth.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/90-docker.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/90-install-ffmpeg.sh7
-rw-r--r--coin/provisioning/qtci-macos-14-arm/90-vlc.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/97-set-locale.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/98-mimersql.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-14-arm/99-mac-version.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/01-disable-net-lso.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/01-disable-notifications_and_warnings.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/01-disable-updates.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/01-enable_zsh_history_and_viminfo.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/01-increase_limits.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/01-install_telegraf.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/01-mount-vcpkg-cache-drive.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/01-sha1sum-compatibility.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/03-bashprofile.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/05-systemsetup.sh84
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/06-crashreporter.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/06-disable_spotlight.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/06-disable_update_downloads.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/07-SSL_keychain.sh11
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/15-xz.sh21
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/20-java.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/20-xcode.sh22
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/21-install-commandlinetools.sh14
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/24-sccache.sh3
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/25-cmake.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/25-homebrew.sh26
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/25-mysql.sh27
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/25-pip.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/25-postgresql.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/25-python2.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/25-python3.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/26-freetype.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/26-jq.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/26-ninja.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/26-odbc.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/26-p7zip.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/26-pcre2.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/27-libclang.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/28-libclang-v100-dyn.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/29-install-pkgconfig.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/29-libusb.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/30-android.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/30-fbx.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/30-install-conan.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/30-nodejs.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/35-install-breakpad.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/35-install_protobuf.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/35-openssl.sh9
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/36-emsdk.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/50-openssl_for_android_darwin.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/80-screenresolution.sh6
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/81-bluetooth.sh10
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/90-install-ffmpeg.sh7
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/90-squish.sh8
-rw-r--r--coin/provisioning/qtci-macos-14-x86_64/90-vlc.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/97-set-locale.sh8
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/98-mimersql.sh5
-rwxr-xr-xcoin/provisioning/qtci-macos-14-x86_64/99-mac-version.sh8
-rw-r--r--coin/provisioning/qtci-windows-10-x86/00-disable-clean-manager.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/00-disable-netadapterlso.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/00-install-sevenzip.ps1 (renamed from coin/provisioning/qtci-windows-10-x86/03-install-sevenzip.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10-x86/01-disable-notifications.ps19
-rw-r--r--coin/provisioning/qtci-windows-10-x86/01-disable-windows-telemetry.ps17
-rw-r--r--coin/provisioning/qtci-windows-10-x86/01-enable-guest-logon.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/02-change-language-settings.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/02-disable-ntp.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/03-conan.ps117
-rw-r--r--coin/provisioning/qtci-windows-10-x86/04-disable-windows-updates.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/05-msvc.ps134
-rw-r--r--coin/provisioning/qtci-windows-10-x86/06-longpath.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86/08-install-git.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/08-install-git.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10-x86/08-libclang.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/08-python3.ps19
-rw-r--r--coin/provisioning/qtci-windows-10-x86/09-install-openssh.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/10-icu.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/11-conan.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/20-install-sccache.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/90-signing-tools.ps140
-rw-r--r--coin/provisioning/qtci-windows-10-x86/99-share-test-folders.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86/conanfiles/qtwebkit.txt21
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/00-disable-netadapterlso.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/00-install-sevenzip.ps1 (renamed from coin/provisioning/qtci-windows-10-x86_64/03-install-sevenzip.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/01-change-resolution.ps128
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/01-disable-notifications.ps19
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/01-disable-runtimebroker.ps14
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/01-disable-windows-telemetry.ps17
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/01-enable-guest-logon.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/01-remove-ms-zune.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/02-change-language-settings.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/02-disable-defragment.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/02-disable-ntp.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/03-conan.ps133
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/03-nodejs.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/04-disable-windows-updates.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/05-msvc.ps143
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/05-qnx_700.ps147
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/06-longpath.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/08-libclang-v100-dyn.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/08-libclang.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/08-python3-32.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/08-python3.ps115
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/09-install-mingw1120_64.ps111
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/09-install-mingw530.ps110
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/09-install-mingw630.ps18
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/09-install-mingw730.ps111
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/09-install-mingw730_64.ps19
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/09-install-openssh.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/09-install-sed.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/09-openssl-arm64.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/10-icu.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/10-install-msys2.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/10-msvc_2015_update3_patch.ps134
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/11-conan.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/20-install-sccache.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/25-llvm-mingw.ps119
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/29-libusb.ps13
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/50-openssl_for_android.ps1 (renamed from coin/provisioning/qtci-windows-10-x86_64/10-openssl_for_android.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/80-emsdk.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/90-install-dotnet.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/90-install-ffmpeg.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/90-install-mcuxpresso.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/90-install-stm32cubeprogrammer.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/90-install-virtualbox.ps138
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/90-mimersql.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/90-python-modules.ps13
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/90-signing-tools.ps144
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/91-install-azure-tool.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/92-install-protobuf.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/92-protobuf.ps12
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/96-disable-windows-module-installer.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/97-msvc2015.ps110
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/97-msvc2019.ps16
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/98-unset-proxy.ps1 (renamed from coin/provisioning/qtci-windows-10-x86_64/99-unset-proxy.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/99-share-test-folders.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-10-x86_64/conanfiles/qtwebkit.txt23
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/00-disable-netadapterlso.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/00-install-sevenzip.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/03-install-sevenzip.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/01-allow-remote-desktop-access.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/01-allow-remote-desktop-access.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/01-change-resolution.ps128
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/01-disable-notifications.ps19
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/01-disable-runtimebroker.ps14
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/01-disable-windows-telemetry.ps17
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/01-enable-guest-logon.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/01-mount-vcpkg-cache-drive.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/01-msvc2019.ps16
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/01-set-proxy.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/01-set-proxy.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/02-disable-autoreboot.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/02-disable-autoreboot.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/02-disable-sleep.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/02-disable-sleep.ps1)0
-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.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/02-python.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/03-nodejs.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/04-msys.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/05-enable-devmode.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/05-wsearch-off.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/05-wsearch-off.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/06-longpath.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/06-mesa_llvmpipe.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/08-mesa_llvmpipe.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/06-ninja.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/08-ninja.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/08-install-git.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/08-install-git.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/08-install-jdk.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/08-install-jdk.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/08-install-jq.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/08-libclang-v100-dyn.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/08-libclang.ps13
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/08-python3.ps111
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-dependencywalker.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/09-install-dependencywalker.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-mingw1120_64.ps111
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-ruby.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/09-install-ruby.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-sed.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-strawberry-perl.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/09-install-strawberry-perl.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/09-openssl-arm64.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/09-openssl.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/09-openssl.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/09-set-network-test-server.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/09-set-network-test-server.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/09-vulkansdk.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/10-dxsdk.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/10-dxsdk.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/10-install-msys2.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/11-conan.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/20-install-sccache.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/22-mqtt_broker.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/22-mqtt_broker.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/23-winrtrunner.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/25-llvm-mingw.ps120
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/29-libusb.ps13
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/30-fbx.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/35-install-breakpad.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/35-install-breakpad.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/36-install-gnuwin32.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/36-install-gnuwin32.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/40-android.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/40-qnx710.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/50-openssl_for_android.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/60-jom.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/09-jom.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/70-cmake.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/09-cmake.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/79-opcua_unifiedautomation.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/80-emsdk.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/85-disable_quickedit_powershell.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/90-3dstudio_3rdparty.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/90-exceutequeueditems.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/90-exceutequeueditems.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-dotnet.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-ffmpeg.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-mcuxpresso.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-notepad++.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/90-install-notepad++.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-stm32cubeprogrammer.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-virtualbox.ps121
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/90-libusb.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/90-mimersql.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/90-mysql.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/90-postgresql.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/90-python-modules.ps14
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/90-squish.ps1 (renamed from coin/provisioning/qtci-windows-10-x86/90-squish.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/90-vclibs_debug.ps13
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/91-install-azure-tool.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/91-squish-coco.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/92-protobuf.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/93-grpc.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/93-install-vcpkg.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/94-install-vcpkg-ports.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/96-disable-windows-module-installer.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/97-msvc2015.ps110
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/98-unset-proxy.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/99-unset-proxy.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/99-share-test-folders.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_21H2-x86_64/conanfiles/qtwebkit.txt31
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/00-disable-netadapterlso.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/00-install-sevenzip.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/03-install-sevenzip.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/01-allow-remote-desktop-access.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/01-allow-remote-desktop-access.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/01-change-resolution.ps128
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/01-disable-notifications.ps19
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/01-disable-runtimebroker.ps14
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/01-disable-windows-telemetry.ps17
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/01-enable-guest-logon.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/01-mount-vcpkg-cache-drive.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/01-set-proxy.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/02-disable-autoreboot.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/02-disable-autoreboot.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/02-disable-sleep.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/02-disable-sleep.ps1)0
-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.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/25-python.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/03-nodejs.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/04-msys.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/05-enable-devmode.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/05-wsearch-off.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/05-wsearch-off.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/06-longpath.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/06-mesa_llvmpipe.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/08-mesa_llvmpipe.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/06-ninja.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/08-ninja.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-git.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-jdk.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/08-install-jdk.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-jq.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/08-libclang-v100-dyn.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/08-libclang.ps13
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/08-python3.ps111
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-dependencywalker.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/09-install-dependencywalker.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-mingw1310_64.ps111
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-openssh.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-ruby.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/09-install-ruby.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-sed.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-strawberry-perl.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/09-install-strawberry-perl.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/09-openssl-arm64.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/09-openssl.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/09-openssl.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/09-set-network-test-server.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/09-set-network-test-server.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/09-vulkansdk.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/10-dxsdk.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/10-dxsdk.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/10-install-msys2.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/11-conan.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/20-install-sccache.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/22-mqtt_broker.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/23-winrtrunner.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/25-llvm-mingw.ps120
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/29-libusb.ps13
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/30-fbx.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/35-install-breakpad.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/35-install-breakpad.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/36-install-gnuwin32.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/36-install-gnuwin32.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/40-android.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/40-qnx710.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/50-openssl_for_android.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/60-jom.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/09-jom.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/70-cmake.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/09-cmake.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/79-opcua_unifiedautomation.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/80-emsdk.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/85-disable_quickedit_powershell.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/90-3dstudio_3rdparty.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/90-exceutequeueditems.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/90-exceutequeueditems.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-dotnet.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-ffmpeg.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-mcuxpresso.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-notepad++.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/02-install-notepad++.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-stm32cubeprogrammer.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-virtualbox.ps121
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/90-libusb.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/90-mimersql.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/90-mysql.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/90-postgresql.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/90-python-modules.ps14
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/90-squish.ps1 (renamed from coin/provisioning/qtci-windows-7-x86/90-squish.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/90-vclibs_debug.ps13
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/91-install-azure-tool.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/91-squish-coco.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/92-protobuf.ps12
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/93-grpc.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/93-install-vcpkg.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/94-install-vcpkg-ports.ps13
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/96-disable-windows-module-installer.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/97-msvc2015.ps110
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/98-unset-proxy.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/99-share-test-folders.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-10_22H2-x86_64/conanfiles/qtwebkit.txt31
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/00-disable-netadapterlso.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/00-install-sevenzip.ps1 (renamed from coin/provisioning/qtci-windows-8.1-x86/03-install-sevenzip.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/01-allow-remote-desktop-access.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/01-change-resolution.ps128
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/01-disable-notifications.ps19
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/01-disable-runtimebroker.ps14
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/01-disable-windows-telemetry.ps17
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/01-enable-guest-logon.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/01-mount-vcpkg-cache-drive.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/01-set-proxy.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/02-disable-autoreboot.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/02-disable-sleep.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_21H2-x86_64/03-nodejs.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/04-msys.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/05-enable-devmode.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/05-wsearch-off.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/06-longpath.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/06-mesa_llvmpipe.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/06-ninja.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-git.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-jdk.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-jq.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/08-libclang-v100-dyn.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/08-libclang.ps13
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/08-python3.ps112
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-dependencywalker.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-mingw1120_64.ps111
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-ruby.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-sed.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-strawberry-perl.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/09-openssl-arm64.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/09-openssl.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/09-set-network-test-server.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/09-vulkansdk.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/10-dxsdk.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/10-install-msys2.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/11-conan.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/20-install-sccache.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/22-mqtt_broker.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/23-winrtrunner.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/25-llvm-mingw.ps120
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/29-libusb.ps13
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/30-fbx.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/35-install-breakpad.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/36-install-gnuwin32.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/40-android.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/50-openssl_for_android.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/60-jom.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/70-cmake.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/79-opcua_unifiedautomation.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/80-emsdk.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/85-disable_quickedit_powershell.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/90-3dstudio_3rdparty.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/90-exceutequeueditems.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-dotnet.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-ffmpeg.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-mcuxpresso.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-notepad++.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-stm32cubeprogrammer.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-virtualbox.ps121
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/90-libusb.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/90-mimersql.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/90-mysql.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/90-postgresql.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/90-python-modules.ps14
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/90-squish.ps1 (renamed from coin/provisioning/qtci-windows-7-x86_64/27-squish.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/90-vclibs_debug.ps13
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/91-install-azure-tool.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/91-squish-coco.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/92-protobuf.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/93-grpc.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/93-install-vcpkg.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/94-install-vcpkg-ports.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/96-disable-windows-module-installer.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/97-msvc2015.ps110
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/98-unset-proxy.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/99-share-test-folders.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_21H2-x86_64/conanfiles/qtwebkit.txt31
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/00-disable-netadapterlso.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/00-install-sevenzip.ps1 (renamed from coin/provisioning/qtci-windows-8.1-x86_64/03-install-sevenzip.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/01-allow-remote-desktop-access.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/01-change-resolution.ps128
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/01-disable-notifications.ps19
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/01-disable-runtimebroker.ps14
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/01-disable-windows-telemetry.ps17
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/01-enable-guest-logon.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/01-mount-vcpkg-cache-drive.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/01-set-proxy.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/02-disable-autoreboot.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/02-disable-sleep.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/02-python-32bit.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/02-python.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/03-nodejs.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/04-msys.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/05-enable-devmode.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/05-wsearch-off.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/06-longpath.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/06-mesa_llvmpipe.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/06-ninja.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-git.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-jdk.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-jq.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/08-libclang-v100-dyn.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/08-libclang.ps13
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/08-python3.ps112
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-dependencywalker.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-mingw1310_64.ps111
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-openssh.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-ruby.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-sed.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-strawberry-perl.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/09-openssl-arm64.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/09-openssl.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/09-set-network-test-server.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/09-vulkansdk.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/10-dxsdk.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/10-install-msys2.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/11-conan.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/20-install-sccache.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/22-mqtt_broker.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/23-winrtrunner.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/25-llvm-mingw.ps120
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/29-libusb.ps13
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/30-fbx.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/35-install-breakpad.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/36-install-gnuwin32.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/40-android.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/50-openssl_for_android.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/60-jom.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/70-cmake.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/79-opcua_unifiedautomation.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/80-emsdk.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/85-disable_quickedit_powershell.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/90-3dstudio_3rdparty.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/90-exceutequeueditems.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-dotnet.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-ffmpeg.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-mcuxpresso.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-notepad++.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-stm32cubeprogrammer.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-virtualbox.ps121
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/90-libusb.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/90-mimersql.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/90-mysql.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/90-postgresql.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/90-python-modules.ps14
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/90-squish.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/91-install-azure-tool.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/91-squish-coco.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/92-protobuf.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/93-grpc.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/93-install-vcpkg.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/94-install-vcpkg-ports.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/96-disable-windows-module-installer.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/97-msvc2015.ps110
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/98-unset-proxy.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/99-share-test-folders.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_22H2-x86_64/conanfiles/qtwebkit.txt31
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/00-disable-netadapterlso.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/00-install-sevenzip.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/01-allow-remote-desktop-access.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/01-change-resolution.ps128
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/01-disable-notifications.ps19
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/01-disable-runtimebroker.ps14
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/01-disable-windows-telemetry.ps17
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/01-enable-guest-logon.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/01-mount-vcpkg-cache-drive.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/01-set-proxy.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/02-disable-autoreboot.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/02-disable-sleep.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/02-python-32bit.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/02-python.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/03-nodejs.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/04-msys.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/05-enable-devmode.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/05-wsearch-off.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/06-longpath.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/06-mesa_llvmpipe.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/06-ninja.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-git.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-jdk.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-jq.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/08-libclang-v100-dyn.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/08-libclang.ps13
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/08-python3.ps112
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-dependencywalker.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-mingw1310_64.ps111
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-openssh.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-ruby.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-sed.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-strawberry-perl.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/09-openssl-arm64.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/09-openssl.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/09-set-network-test-server.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/09-vulkansdk.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/10-dxsdk.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/10-install-msys2.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/11-conan.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/20-install-sccache.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/22-mqtt_broker.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/23-winrtrunner.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/25-llvm-mingw.ps120
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/29-libusb.ps13
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/30-fbx.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/35-install-breakpad.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/36-install-gnuwin32.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/40-android.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/50-openssl_for_android.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/60-jom.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/70-cmake.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/79-opcua_unifiedautomation.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/80-emsdk.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/85-disable_quickedit_powershell.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/90-3dstudio_3rdparty.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/90-exceutequeueditems.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-dotnet.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-ffmpeg.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-mcuxpresso.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-notepad++.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-stm32cubeprogrammer.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-virtualbox.ps121
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/90-libusb.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/90-mimersql.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/90-mysql.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/90-postgresql.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/90-python-modules.ps14
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/90-squish.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/91-install-azure-tool.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/91-squish-coco.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/92-protobuf.ps12
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/93-grpc.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/93-install-vcpkg.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/94-install-vcpkg-ports.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/96-disable-windows-module-installer.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/98-unset-proxy.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/99-share-test-folders.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-11_23H2-x86_64/conanfiles/qtwebkit.txt31
-rw-r--r--coin/provisioning/qtci-windows-7-x86/01-disable-uac.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/02-disable-defragment.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/02-disable-ntp.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/02-memorypershell.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/02-python.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/03-conan.ps19
-rw-r--r--coin/provisioning/qtci-windows-7-x86/04-disable-windefender.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/04-disable-windows-updates.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/07-vc_redist.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/08-libclang.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/08-python3.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/09-install-mingw730.ps110
-rw-r--r--coin/provisioning/qtci-windows-7-x86/09-mysql.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/09-postgresql.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/10-icu.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86/conanfiles/qtwebkit.txt22
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/01-disable-uac.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/02-disable-defragment.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/02-disable-ntp.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/04-disable-windefender.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/04-disable-windows-updates.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/07-vc_redist.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/09-mysql.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/09-postgresql.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/12-icu.ps11
-rw-r--r--coin/provisioning/qtci-windows-7-x86_64/25-python3.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86/00-disable-netadapterlso.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86/00-disable-windefender.ps1 (renamed from coin/provisioning/qtci-windows-10-x86/04-disable-windefender.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86/00-install-sevenzip.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86/04-disable-windefender.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86/20-install-sccache.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86/99-version.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/00-disable-netadapterlso.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/00-disable-windefender.ps1 (renamed from coin/provisioning/qtci-windows-10-x86_64/01-disable-windefender.ps1)0
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/00-install-sevenzip.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/01-install_telegraf.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/04-disable-windefender.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/20-install-sccache.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/90-mimersql.ps11
-rw-r--r--coin/provisioning/qtci-windows-8.1-x86_64/99-version.ps11
-rwxr-xr-xconfigure61
-rw-r--r--configure.bat68
-rw-r--r--gnuwin32/README9
-rwxr-xr-xgnuwin32/bin/bison.exebin539648 -> 0 bytes
-rw-r--r--gnuwin32/bin/data/README70
-rw-r--r--gnuwin32/bin/data/bison.m41063
-rw-r--r--gnuwin32/bin/data/c++-skel.m426
-rw-r--r--gnuwin32/bin/data/c++.m4544
-rw-r--r--gnuwin32/bin/data/c-like.m465
-rw-r--r--gnuwin32/bin/data/c-skel.m426
-rw-r--r--gnuwin32/bin/data/c.m4839
-rw-r--r--gnuwin32/bin/data/glr.c2563
-rw-r--r--gnuwin32/bin/data/glr.cc345
-rw-r--r--gnuwin32/bin/data/java-skel.m426
-rw-r--r--gnuwin32/bin/data/java.m4342
-rw-r--r--gnuwin32/bin/data/lalr1.cc1161
-rw-r--r--gnuwin32/bin/data/lalr1.java1065
-rw-r--r--gnuwin32/bin/data/local.mk45
-rw-r--r--gnuwin32/bin/data/location.cc335
-rw-r--r--gnuwin32/bin/data/m4sugar/foreach.m4362
-rw-r--r--gnuwin32/bin/data/m4sugar/m4sugar.m43307
-rw-r--r--gnuwin32/bin/data/stack.hh154
-rw-r--r--gnuwin32/bin/data/variant.hh362
-rw-r--r--gnuwin32/bin/data/xslt/bison.xsl105
-rw-r--r--gnuwin32/bin/data/xslt/xml2dot.xsl397
-rw-r--r--gnuwin32/bin/data/xslt/xml2text.xsl569
-rw-r--r--gnuwin32/bin/data/xslt/xml2xhtml.xsl745
-rw-r--r--gnuwin32/bin/data/yacc.c1915
-rwxr-xr-xgnuwin32/bin/flex.exebin546816 -> 0 bytes
-rw-r--r--gnuwin32/bin/gperf.exebin103424 -> 0 bytes
-rw-r--r--gnuwin32/bin/iconv.exebin16896 -> 0 bytes
-rw-r--r--gnuwin32/bin/libcharset1.dllbin11776 -> 0 bytes
-rw-r--r--gnuwin32/bin/libiconv2.dllbin1008128 -> 0 bytes
-rw-r--r--gnuwin32/bin/libintl3.dllbin103424 -> 0 bytes
-rw-r--r--gnuwin32/bin/m4.exebin179200 -> 0 bytes
-rw-r--r--gnuwin32/bin/regex2.dllbin79360 -> 0 bytes
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/depends-GnuWin32.lst3
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-GnuWin32.README54
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/AUTHORS2
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/COPYING340
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/ChangeLog3185
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/INSTALL183
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/NEWS80
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/README28
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1/check.log156
-rw-r--r--gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1/check_err.log21
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/depends-GnuWin32.lst9
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-1-GnuWin32.README54
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/ABOUT-NLS477
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/AUTHORS1
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/ChangeLog2633
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/DESIGN64
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/NEWS119
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/NOTES392
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/PORTS46
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/README149
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/THANKS13
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/djgpp/README122
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/extras/ChangeLog64
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/AUTHORS1
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/ChangeLog322
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/NEWS2
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/README60
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/djgpp/README123
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/lib/ChangeLog302
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/m4/ChangeLog18
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/tools/README25
-rw-r--r--gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/po/ChangeLog148
-rw-r--r--gnuwin32/lib/charset.alias4
-rw-r--r--gnuwin32/lib/libcharset.la35
-rw-r--r--gnuwin32/lib/libcharset.la.orig35
-rw-r--r--gnuwin32/lib/libiconv.la35
-rw-r--r--gnuwin32/lib/libiconv.la.orig35
-rw-r--r--gnuwin32/man/cat1/gperf.1.txt226
-rw-r--r--gnuwin32/man/cat1/iconv.1.txt48
-rw-r--r--gnuwin32/man/cat1/yacc.1.txt42
-rw-r--r--gnuwin32/man/cat1p/yacc.1p.txt1269
-rw-r--r--gnuwin32/man/cat3/iconv.3.txt97
-rw-r--r--gnuwin32/man/cat3/iconv_close.3.txt32
-rw-r--r--gnuwin32/man/cat3/iconv_open.3.txt152
-rw-r--r--gnuwin32/manifest/gperf-3.0.1-bin.mft14
-rw-r--r--gnuwin32/manifest/gperf-3.0.1-bin.ver2
-rw-r--r--gnuwin32/manifest/libiconv-1.9.2-1-bin.mft0
-rw-r--r--gnuwin32/manifest/libiconv-1.9.2-1-bin.ver2
-rw-r--r--gnuwin32/manifest/libiconv-1.9.2-1-dep.mft0
-rw-r--r--gnuwin32/manifest/libiconv-1.9.2-1-dep.ver2
-rw-r--r--gnuwin32/patches/win_flex.patch47
-rw-r--r--gnuwin32/share/aclocal/bison-i18n.m448
-rw-r--r--gnuwin32/share/locale/ca/LC_MESSAGES/libiconv.mobin1803 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/da/LC_MESSAGES/bison-runtime.mobin1268 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/da/LC_MESSAGES/bison.mobin9458 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/da/LC_MESSAGES/libiconv.mobin1728 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/de/LC_MESSAGES/bison-runtime.mobin1347 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/de/LC_MESSAGES/bison.mobin18417 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/de/LC_MESSAGES/libiconv.mobin1847 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/el/LC_MESSAGES/bison-runtime.mobin1545 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/el/LC_MESSAGES/bison.mobin23536 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/eo/LC_MESSAGES/libiconv.mobin1739 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/es/LC_MESSAGES/bison-runtime.mobin514 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/es/LC_MESSAGES/bison.mobin10645 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/es/LC_MESSAGES/libiconv.mobin1758 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/et/LC_MESSAGES/bison-runtime.mobin1248 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/et/LC_MESSAGES/bison.mobin10820 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/et/LC_MESSAGES/libiconv.mobin1723 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/fi/LC_MESSAGES/bison-runtime.mobin1303 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/fi/LC_MESSAGES/libiconv.mobin1862 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/fr/LC_MESSAGES/bison-runtime.mobin1296 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/fr/LC_MESSAGES/bison.mobin11517 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/fr/LC_MESSAGES/libiconv.mobin1778 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ga/LC_MESSAGES/bison-runtime.mobin1324 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ga/LC_MESSAGES/bison.mobin18930 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ga/LC_MESSAGES/libiconv.mobin1704 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/gl/LC_MESSAGES/libiconv.mobin1752 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/hr/LC_MESSAGES/bison-runtime.mobin529 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/hr/LC_MESSAGES/bison.mobin4127 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/hr/LC_MESSAGES/libiconv.mobin1783 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/hu/LC_MESSAGES/libiconv.mobin1876 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/id/LC_MESSAGES/bison-runtime.mobin1393 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/id/LC_MESSAGES/bison.mobin10896 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/id/LC_MESSAGES/libiconv.mobin1767 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/it/LC_MESSAGES/bison-runtime.mobin1232 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/it/LC_MESSAGES/bison.mobin9864 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/it/LC_MESSAGES/libiconv.mobin1913 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ja/LC_MESSAGES/bison-runtime.mobin505 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ja/LC_MESSAGES/bison.mobin4346 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ky/LC_MESSAGES/bison-runtime.mobin1582 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/lt/LC_MESSAGES/bison-runtime.mobin1407 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ms/LC_MESSAGES/bison-runtime.mobin1362 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ms/LC_MESSAGES/bison.mobin16368 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/nb/LC_MESSAGES/bison-runtime.mobin1302 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/nb/LC_MESSAGES/bison.mobin9579 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/nl/LC_MESSAGES/bison-runtime.mobin1275 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/nl/LC_MESSAGES/bison.mobin18338 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/nl/LC_MESSAGES/libiconv.mobin1719 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/pl/LC_MESSAGES/bison-runtime.mobin1438 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/pl/LC_MESSAGES/bison.mobin18475 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/pl/LC_MESSAGES/libiconv.mobin1831 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/pt_BR/LC_MESSAGES/bison-runtime.mobin1284 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/pt_BR/LC_MESSAGES/bison.mobin9241 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/pt_BR/LC_MESSAGES/libiconv.mobin1810 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ro/LC_MESSAGES/bison-runtime.mobin1366 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ro/LC_MESSAGES/bison.mobin9948 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ro/LC_MESSAGES/libiconv.mobin1408 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ru/LC_MESSAGES/bison-runtime.mobin571 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ru/LC_MESSAGES/bison.mobin7718 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/ru/LC_MESSAGES/libiconv.mobin1793 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/sk/LC_MESSAGES/libiconv.mobin1780 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/sl/LC_MESSAGES/bison-runtime.mobin1513 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/sl/LC_MESSAGES/libiconv.mobin1808 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/sr/LC_MESSAGES/libiconv.mobin1989 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/sv/LC_MESSAGES/bison-runtime.mobin1238 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/sv/LC_MESSAGES/bison.mobin17501 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/sv/LC_MESSAGES/libiconv.mobin1716 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/th/LC_MESSAGES/bison-runtime.mobin1936 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/tr/LC_MESSAGES/bison-runtime.mobin509 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/tr/LC_MESSAGES/bison.mobin9654 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/tr/LC_MESSAGES/libiconv.mobin1778 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/uk/LC_MESSAGES/bison-runtime.mobin1781 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/uk/LC_MESSAGES/bison.mobin14418 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/uk/LC_MESSAGES/libiconv.mobin1809 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/vi/LC_MESSAGES/bison-runtime.mobin1423 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/vi/LC_MESSAGES/bison.mobin18090 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/wa/LC_MESSAGES/libiconv.mobin2007 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/zh_CN/LC_MESSAGES/bison-runtime.mobin1243 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/zh_CN/LC_MESSAGES/libiconv.mobin1743 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/zh_TW/LC_MESSAGES/bison-runtime.mobin1294 -> 0 bytes
-rw-r--r--gnuwin32/share/locale/zh_TW/LC_MESSAGES/bison.mobin10645 -> 0 bytes
-rwxr-xr-xinit-repository671
-rw-r--r--init-repository.bat23
-rwxr-xr-xinit-repository.pl653
-rw-r--r--qt.pro103
m---------qt3d0
m---------qt5compat0
m---------qtactiveqt0
m---------qtandroidextras0
m---------qtbase0
m---------qtcanvas3d0
m---------qtcharts0
m---------qtcoap0
m---------qtconnectivity0
m---------qtdatavis3d0
m---------qtdeclarative0
m---------qtdoc0
m---------qtdocgallery0
m---------qtgamepad0
m---------qtgraphicaleffects0
m---------qtgraphs0
m---------qtgrpc0
m---------qthttpserver0
m---------qtimageformats0
m---------qtlanguageserver0
m---------qtlocation0
m---------qtlottie0
m---------qtmacextras0
m---------qtmqtt0
m---------qtmultimedia0
m---------qtnetworkauth0
m---------qtopcua0
m---------qtpositioning0
m---------qtpurchasing0
m---------qtqa0
m---------qtquick3d0
m---------qtquick3dphysics0
m---------qtquickcontrols0
m---------qtquickcontrols20
m---------qtquickeffectmaker0
m---------qtquicktimeline0
m---------qtremoteobjects0
m---------qtrepotools0
m---------qtscript0
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---------qtwebglplugin0
m---------qtwebsockets0
m---------qtwebview0
m---------qtwinextras0
m---------qtx11extras0
m---------qtxmlpatterns0
-rw-r--r--tests/manual/RunCMake/CMakeLists.txt12
-rw-r--r--tests/manual/RunCMake/Common.cmake20
-rw-r--r--tests/manual/RunCMake/InitRepository/0030_ir_qtsvg-stdout.txt13
-rw-r--r--tests/manual/RunCMake/InitRepository/0040_ir_qtsvg_again-stdout.txt1
-rw-r--r--tests/manual/RunCMake/InitRepository/0050_ir_existing-stdout.txt12
-rw-r--r--tests/manual/RunCMake/InitRepository/0060_ir_shadertools_and_svg-stdout.txt19
-rw-r--r--tests/manual/RunCMake/InitRepository/0070_ir_qttools_with_deps-stdout.txt44
-rw-r--r--tests/manual/RunCMake/InitRepository/RunCMakeTest.cmake153
2543 files changed, 38907 insertions, 42979 deletions
diff --git a/.commit-template b/.commit-template
index 36687ee0..81c72bb7 100644
--- a/.commit-template
+++ b/.commit-template
@@ -17,6 +17,10 @@
#Task-number:
#Coverity-Id:
#
+# Add a space-separated list of target branches that the change should
+# be cherry-picked to automatically.
+#Pick-to:
+#
# ==[ Please wrap at 72 characters ]===================================|
#
# Remember to read http://wiki.qt.io/Commit_Policy
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
new file mode 100644
index 00000000..a276b15c
--- /dev/null
+++ b/.github/pull_request_template.md
@@ -0,0 +1,9 @@
+## Qt contribution guidelines
+
+We welcome contributions to Qt!
+
+Note that all contributions to the Qt project are exclusively handled through the [Gerrit code review system](https://codereview.qt-project.org).
+
+Read the
+[Qt Contribution Guidelines](https://wiki.qt.io/Qt_Contribution_Guidelines) to learn more.
+
diff --git a/.gitignore b/.gitignore
index 9b8015da..a0f1959d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,12 @@ Makefile
.qmake.cache
.qmake.super
*.pro.user*
+CMakeLists.txt.user*
+CMakeUserPresets.json
+.vscode
+build
+build-*
+.DS_Store
+init-repository.opt
+init-repository.opt.in
+config.tl.opt
diff --git a/.gitmodules b/.gitmodules
index 7657f30f..fd6cf6e8 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,68 +1,61 @@
[submodule "qtbase"]
path = qtbase
url = ../qtbase.git
- branch = 5.12
+ branch = dev
status = essential
[submodule "qtsvg"]
depends = qtbase
path = qtsvg
url = ../qtsvg.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtdeclarative"]
depends = qtbase
- recommends = qtsvg
+ recommends = qtimageformats qtshadertools qtsvg qtlanguageserver
path = qtdeclarative
url = ../qtdeclarative.git
- branch = 5.12
+ branch = dev
status = essential
[submodule "qtactiveqt"]
depends = qtbase
path = qtactiveqt
url = ../qtactiveqt.git
- branch = 5.12
+ branch = dev
status = addon
-[submodule "qtscript"]
- depends = qtbase
- recommends = qttools
- path = qtscript
- url = ../qtscript.git
- branch = 5.12
- status = deprecated
[submodule "qtmultimedia"]
- depends = qtbase
- recommends = qtdeclarative
+ depends = qtbase qtshadertools
+ recommends = qtdeclarative qtquick3d
path = qtmultimedia
url = ../qtmultimedia.git
- branch = 5.12
- status = essential
+ branch = dev
+ status = addon
[submodule "qttools"]
depends = qtbase
recommends = qtdeclarative qtactiveqt
path = qttools
url = ../qttools.git
- branch = 5.12
+ branch = dev
status = essential
[submodule "qtxmlpatterns"]
depends = qtbase
recommends = qtdeclarative
path = qtxmlpatterns
url = ../qtxmlpatterns.git
- branch = 5.12
- status = addon
+ branch = dev
+ status = ignore
[submodule "qttranslations"]
depends = qttools
path = qttranslations
url = ../qttranslations.git
- branch = 5.12
+ branch = dev
status = essential
priority = 30
[submodule "qtdoc"]
depends = qtdeclarative qttools
- recommends = qtmultimedia qtquickcontrols qtquickcontrols2
+ recommends = qtmultimedia qtshadertools qtwebengine
path = qtdoc
url = ../qtdoc.git
- branch = 5.12
+ branch = dev
status = essential
priority = 40
[submodule "qtrepotools"]
@@ -75,22 +68,29 @@
depends = qtbase
path = qtqa
url = ../qtqa.git
- branch = master
+ branch = dev
status = essential
priority = 50
[submodule "qtlocation"]
- depends = qtbase
- recommends = qtdeclarative qtquickcontrols qtquickcontrols2 qtserialport
+ depends = qtbase qtpositioning
+ recommends = qtdeclarative
path = qtlocation
url = ../qtlocation.git
- branch = 5.12
+ branch = dev
+ status = preview
+[submodule "qtpositioning"]
+ depends = qtbase
+ recommends = qtdeclarative qtserialport
+ path = qtpositioning
+ url = ../qtpositioning.git
+ branch = dev
status = addon
[submodule "qtsensors"]
depends = qtbase
recommends = qtdeclarative
path = qtsensors
url = ../qtsensors.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtsystems"]
depends = qtbase
@@ -106,12 +106,6 @@
url = ../qtfeedback.git
branch = master
status = ignore
-[submodule "qtdocgallery"]
- depends = qtdeclarative
- path = qtdocgallery
- url = ../qtdocgallery.git
- branch = master
- status = ignore
[submodule "qtpim"]
depends = qtdeclarative
path = qtpim
@@ -120,188 +114,225 @@
status = ignore
[submodule "qtconnectivity"]
depends = qtbase
- recommends = qtdeclarative qtandroidextras
+ recommends = qtdeclarative
path = qtconnectivity
url = ../qtconnectivity.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtwayland"]
depends = qtbase
recommends = qtdeclarative
path = qtwayland
url = ../qtwayland.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qt3d"]
depends = qtbase
- recommends = qtdeclarative qtimageformats qtgamepad
+ recommends = qtdeclarative qtshadertools qtmultimedia
path = qt3d
url = ../qt3d.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtimageformats"]
depends = qtbase
path = qtimageformats
url = ../qtimageformats.git
- branch = 5.12
- status = addon
-[submodule "qtgraphicaleffects"]
- depends = qtdeclarative
- path = qtgraphicaleffects
- url = ../qtgraphicaleffects.git
- branch = 5.12
- status = addon
-[submodule "qtquickcontrols"]
- depends = qtdeclarative
- recommends = qtgraphicaleffects
- path = qtquickcontrols
- url = ../qtquickcontrols.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtserialbus"]
- depends = qtserialport
+ depends = qtbase
+ recommends = qtserialport
path = qtserialbus
url = ../qtserialbus.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtserialport"]
depends = qtbase
path = qtserialport
url = ../qtserialport.git
- branch = 5.12
- status = addon
-[submodule "qtx11extras"]
- depends = qtbase
- path = qtx11extras
- url = ../qtx11extras.git
- branch = 5.12
- status = addon
-[submodule "qtmacextras"]
- depends = qtbase
- path = qtmacextras
- url = ../qtmacextras.git
- branch = 5.12
- status = addon
-[submodule "qtwinextras"]
- depends = qtbase
- recommends = qtdeclarative qtmultimedia
- path = qtwinextras
- url = ../qtwinextras.git
- branch = 5.12
- status = addon
-[submodule "qtandroidextras"]
- depends = qtbase
- path = qtandroidextras
- url = ../qtandroidextras.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtwebsockets"]
depends = qtbase
recommends = qtdeclarative
path = qtwebsockets
url = ../qtwebsockets.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtwebchannel"]
depends = qtbase
recommends = qtdeclarative qtwebsockets
path = qtwebchannel
url = ../qtwebchannel.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtwebengine"]
depends = qtdeclarative
- recommends = qtquickcontrols qtquickcontrols2 qtlocation qtwebchannel qttools
+ recommends = qtwebchannel qttools qtpositioning
path = qtwebengine
url = ../qtwebengine.git
- branch = 5.12
+ branch = dev
status = addon
priority = 10
[submodule "qtcanvas3d"]
depends = qtdeclarative
path = qtcanvas3d
url = ../qtcanvas3d.git
- branch = 5.12
- status = addon
+ branch = dev
+ status = ignore
[submodule "qtwebview"]
depends = qtdeclarative
recommends = qtwebengine
path = qtwebview
url = ../qtwebview.git
- branch = 5.12
- status = addon
-[submodule "qtquickcontrols2"]
- depends = qtgraphicaleffects
- recommends = qtimageformats
- path = qtquickcontrols2
- url = ../qtquickcontrols2.git
- branch = 5.12
- status = essential
-[submodule "qtpurchasing"]
- depends = qtbase
- recommends = qtdeclarative qtandroidextras
- path = qtpurchasing
- url = ../qtpurchasing.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtcharts"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtcharts
url = ../qtcharts.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtdatavis3d"]
depends = qtbase
recommends = qtdeclarative qtmultimedia
path = qtdatavis3d
url = ../qtdatavis3d.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtvirtualkeyboard"]
depends = qtbase qtdeclarative qtsvg
- recommends = qtmultimedia qtquickcontrols
+ recommends = qtmultimedia
path = qtvirtualkeyboard
url = ../qtvirtualkeyboard.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtgamepad"]
depends = qtbase
recommends = qtdeclarative
path = qtgamepad
url = ../qtgamepad.git
- branch = 5.12
- status = addon
+ branch = dev
+ status = ignore
[submodule "qtscxml"]
depends = qtbase qtdeclarative
path = qtscxml
url = ../qtscxml.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtspeech"]
- depends = qtbase
- recommends = qtdeclarative qtmultimedia
+ depends = qtbase qtmultimedia
+ recommends = qtdeclarative
path = qtspeech
url = ../qtspeech.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtnetworkauth"]
depends = qtbase
path = qtnetworkauth
url = ../qtnetworkauth.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtremoteobjects"]
depends = qtbase
recommends = qtdeclarative
path = qtremoteobjects
url = ../qtremoteobjects.git
- branch = 5.12
+ branch = dev
status = addon
[submodule "qtwebglplugin"]
depends = qtbase qtwebsockets
recommends = qtdeclarative
path = qtwebglplugin
url = ../qtwebglplugin.git
- branch = 5.12
+ branch = dev
+ status = ignore
+[submodule "qtlottie"]
+ depends = qtbase qtdeclarative
+ path = qtlottie
+ url = ../qtlottie.git
+ branch = dev
+ status = addon
+[submodule "qtquicktimeline"]
+ depends = qtbase qtdeclarative
+ path = qtquicktimeline
+ url = ../qtquicktimeline
+ branch = dev
+ status = addon
+[submodule "qtquick3d"]
+ depends = qtbase qtdeclarative qtshadertools
+ recommends = qtquicktimeline
+ path = qtquick3d
+ url = ../qtquick3d.git
+ branch = dev
status = addon
+[submodule "qtshadertools"]
+ depends = qtbase
+ path = qtshadertools
+ url = ../qtshadertools.git
+ branch = dev
+ status = addon
+[submodule "qt5compat"]
+ depends = qtbase qtdeclarative
+ path = qt5compat
+ url = ../qt5compat.git
+ branch = dev
+ status = deprecated
+[submodule "qtcoap"]
+ depends = qtbase
+ path = qtcoap
+ url = ../qtcoap.git
+ branch = dev
+ status = addon
+[submodule "qtmqtt"]
+ depends = qtbase qtdeclarative
+ path = qtmqtt
+ url = ../qtmqtt.git
+ branch = dev
+ status = addon
+[submodule "qtopcua"]
+ depends = qtbase qtdeclarative
+ path = qtopcua
+ url = ../qtopcua.git
+ branch = dev
+ status = addon
+[submodule "qtlanguageserver"]
+ depends = qtbase
+ path = qtlanguageserver
+ url = ../qtlanguageserver.git
+ branch = dev
+ status = preview
+[submodule "qthttpserver"]
+ depends = qtbase
+ recommends = qtwebsockets
+ path = qthttpserver
+ url = ../qthttpserver.git
+ branch = dev
+ status = preview
+[submodule "qtquick3dphysics"]
+ depends = qtbase qtdeclarative qtquick3d qtshadertools
+ path = qtquick3dphysics
+ url = ../qtquick3dphysics.git
+ branch = dev
+ status = addon
+[submodule "qtgrpc"]
+ depends = qtbase
+ recommends = qtdeclarative
+ path = qtgrpc
+ url = ../qtgrpc.git
+ branch = dev
+ status = preview
+[submodule "qtquickeffectmaker"]
+ depends = qtbase qtdeclarative qtshadertools
+ recommends = qtquick3d
+ path = qtquickeffectmaker
+ url = ../qtquickeffectmaker.git
+ branch = dev
+ status = addon
+[submodule "qtgraphs"]
+ depends = qtbase qtdeclarative qtquick3d
+ path = qtgraphs
+ url = ../qtgraphs.git
+ branch = dev
+ status = preview
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 00000000..b163500c
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,120 @@
+# The real minimum version will be checked by the qtbase project.
+# 3.16 is the absolute minimum though.
+cmake_minimum_required(VERSION 3.16...3.21)
+
+# set QT_SUPERBUILD early, so that qtbase/.cmake.conf can check it
+set(QT_SUPERBUILD TRUE)
+
+# Include qtbase's .cmake.conf for access to QT_REPO_MODULE_VERSION
+set(__qt6_qtbase_src_path "${CMAKE_CURRENT_SOURCE_DIR}/qtbase")
+include("${__qt6_qtbase_src_path}/.cmake.conf")
+include("${__qt6_qtbase_src_path}/cmake/QtBaseTopLevelHelpers.cmake")
+
+qt_internal_top_level_setup_autodetect()
+
+project(Qt
+ VERSION "${QT_REPO_MODULE_VERSION}"
+ DESCRIPTION "Qt Libraries"
+ HOMEPAGE_URL "https://qt.io/"
+ LANGUAGES CXX C ASM
+)
+
+qt_internal_top_level_setup_after_project()
+
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+qt_internal_top_level_setup_cmake_module_path()
+
+include(QtTopLevelHelpers)
+include(ECMOptionalAddSubdirectory)
+
+qt_internal_top_level_before_build_submodules()
+
+qt_internal_find_modules(known_submodules)
+# Get submodule list if not already defined
+if(NOT QT_BUILD_SUBMODULES)
+ if(DEFINED ENV{QT_BUILD_SUBMODULES})
+ set(QT_BUILD_SUBMODULES "$ENV{QT_BUILD_SUBMODULES}")
+ else()
+ set(QT_BUILD_SUBMODULES "${known_submodules}")
+ endif()
+endif()
+set(QT_BUILD_SUBMODULES "${QT_BUILD_SUBMODULES}" CACHE STRING "Submodules to build")
+
+# Preliminary check if module should be skipped since -skip <module> or BUILD_<module>
+# are provided.
+set(explicitly_skipped_modules "")
+foreach(module IN LISTS known_submodules)
+ if(DEFINED BUILD_${module} AND NOT BUILD_${module})
+ list(APPEND explicitly_skipped_modules ${module})
+ endif()
+endforeach()
+
+foreach(module IN LISTS QT_BUILD_SUBMODULES)
+ if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${module}/CMakeLists.txt)
+ message(FATAL_ERROR
+ "Module '${module}' cannot be found. Please double-check the "
+ "spelling and try again. Or run\n"
+ "`./configure -init-submodules -submodules ${module}` "
+ "to clone the submodule and its dependencies.")
+ endif()
+endforeach()
+
+qt_internal_sort_module_dependencies("${QT_BUILD_SUBMODULES}" QT_BUILD_SUBMODULES
+ SKIP_MODULES ${explicitly_skipped_modules})
+
+foreach(module IN LISTS QT_BUILD_SUBMODULES)
+ # Check for unmet dependencies
+ if(NOT DEFINED BUILD_${module} OR BUILD_${module})
+ message(STATUS "Checking dependencies of submodule '${module}'")
+ get_property(required_deps GLOBAL PROPERTY QT_REQUIRED_DEPS_FOR_${module})
+ get_property(dependencies GLOBAL PROPERTY QT_DEPS_FOR_${module})
+ foreach(dep IN LISTS dependencies)
+ if (dep STREQUAL "qtbase")
+ # Always available skip
+ continue()
+ endif()
+
+ set(required FALSE)
+ if(dep IN_LIST required_deps)
+ set(required TRUE)
+ endif()
+
+ set(error_reason "")
+ if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${dep}/CMakeLists.txt")
+ set(error_reason "${dep}'s CMakeLists.txt couldn't be found")
+ elseif(DEFINED BUILD_${dep} AND NOT BUILD_${dep})
+ set(error_reason "building '${dep}' was explicitly disabled")
+ endif()
+
+ if(NOT error_reason STREQUAL "")
+ if(required)
+ if(QT_INTERNAL_CALLED_FROM_CONFIGURE)
+ set(skip_argument "-skip ${module}")
+ else()
+ set(skip_argument "-DBUILD_${module}=OFF")
+ endif()
+
+ message(FATAL_ERROR "Module '${module}' depends on '${dep}', "
+ "but ${error_reason}.\n"
+ "Note: Use '${skip_argument}' to exclude it from the build.")
+ else()
+ message(STATUS "Skipping optional dependency '${dep}' of '${module}', "
+ "because ${error_reason}.")
+ endif()
+ endif()
+ endforeach()
+ endif()
+endforeach()
+
+if(NOT DEFINED CMAKE_MESSAGE_CONTEXT_SHOW)
+ set(CMAKE_MESSAGE_CONTEXT_SHOW TRUE)
+endif()
+
+foreach(module IN LISTS QT_BUILD_SUBMODULES)
+ message(STATUS "Configuring submodule '${module}'")
+ ecm_optional_add_subdirectory("${module}")
+
+ qt_internal_top_level_after_add_subdirectory()
+endforeach()
+
+qt_internal_top_level_end()
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 00000000..3a0c3bd4
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,8 @@
+## Qt contribution guidelines
+
+We welcome contributions to Qt!
+
+Note that we cannot accept pull requests on GitHub. All contributions to the Qt project are exclusively handled through the [Gerrit code review system](https://codereview.qt-project.org).
+
+Read the
+[Qt Contribution Guidelines](https://wiki.qt.io/Qt_Contribution_Guidelines) to learn more.
diff --git a/LICENSE.FDL b/LICENSE.FDL
deleted file mode 100644
index 938bb8da..00000000
--- a/LICENSE.FDL
+++ /dev/null
@@ -1,450 +0,0 @@
- GNU Free Documentation License
- Version 1.3, 3 November 2008
-
-
- Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
- <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-0. PREAMBLE
-
-The purpose of this License is to make a manual, textbook, or other
-functional and useful document "free" in the sense of freedom: to
-assure everyone the effective freedom to copy and redistribute it,
-with or without modifying it, either commercially or noncommercially.
-Secondarily, this License preserves for the author and publisher a way
-to get credit for their work, while not being considered responsible
-for modifications made by others.
-
-This License is a kind of "copyleft", which means that derivative
-works of the document must themselves be free in the same sense. It
-complements the GNU General Public License, which is a copyleft
-license designed for free software.
-
-We have designed this License in order to use it for manuals for free
-software, because free software needs free documentation: a free
-program should come with manuals providing the same freedoms that the
-software does. But this License is not limited to software manuals;
-it can be used for any textual work, regardless of subject matter or
-whether it is published as a printed book. We recommend this License
-principally for works whose purpose is instruction or reference.
-
-
-1. APPLICABILITY AND DEFINITIONS
-
-This License applies to any manual or other work, in any medium, that
-contains a notice placed by the copyright holder saying it can be
-distributed under the terms of this License. Such a notice grants a
-world-wide, royalty-free license, unlimited in duration, to use that
-work under the conditions stated herein. The "Document", below,
-refers to any such manual or work. Any member of the public is a
-licensee, and is addressed as "you". You accept the license if you
-copy, modify or distribute the work in a way requiring permission
-under copyright law.
-
-A "Modified Version" of the Document means any work containing the
-Document or a portion of it, either copied verbatim, or with
-modifications and/or translated into another language.
-
-A "Secondary Section" is a named appendix or a front-matter section of
-the Document that deals exclusively with the relationship of the
-publishers or authors of the Document to the Document's overall
-subject (or to related matters) and contains nothing that could fall
-directly within that overall subject. (Thus, if the Document is in
-part a textbook of mathematics, a Secondary Section may not explain
-any mathematics.) The relationship could be a matter of historical
-connection with the subject or with related matters, or of legal,
-commercial, philosophical, ethical or political position regarding
-them.
-
-The "Invariant Sections" are certain Secondary Sections whose titles
-are designated, as being those of Invariant Sections, in the notice
-that says that the Document is released under this License. If a
-section does not fit the above definition of Secondary then it is not
-allowed to be designated as Invariant. The Document may contain zero
-Invariant Sections. If the Document does not identify any Invariant
-Sections then there are none.
-
-The "Cover Texts" are certain short passages of text that are listed,
-as Front-Cover Texts or Back-Cover Texts, in the notice that says that
-the Document is released under this License. A Front-Cover Text may
-be at most 5 words, and a Back-Cover Text may be at most 25 words.
-
-A "Transparent" copy of the Document means a machine-readable copy,
-represented in a format whose specification is available to the
-general public, that is suitable for revising the document
-straightforwardly with generic text editors or (for images composed of
-pixels) generic paint programs or (for drawings) some widely available
-drawing editor, and that is suitable for input to text formatters or
-for automatic translation to a variety of formats suitable for input
-to text formatters. A copy made in an otherwise Transparent file
-format whose markup, or absence of markup, has been arranged to thwart
-or discourage subsequent modification by readers is not Transparent.
-An image format is not Transparent if used for any substantial amount
-of text. A copy that is not "Transparent" is called "Opaque".
-
-Examples of suitable formats for Transparent copies include plain
-ASCII without markup, Texinfo input format, LaTeX input format, SGML
-or XML using a publicly available DTD, and standard-conforming simple
-HTML, PostScript or PDF designed for human modification. Examples of
-transparent image formats include PNG, XCF and JPG. Opaque formats
-include proprietary formats that can be read and edited only by
-proprietary word processors, SGML or XML for which the DTD and/or
-processing tools are not generally available, and the
-machine-generated HTML, PostScript or PDF produced by some word
-processors for output purposes only.
-
-The "Title Page" means, for a printed book, the title page itself,
-plus such following pages as are needed to hold, legibly, the material
-this License requires to appear in the title page. For works in
-formats which do not have any title page as such, "Title Page" means
-the text near the most prominent appearance of the work's title,
-preceding the beginning of the body of the text.
-
-The "publisher" means any person or entity that distributes copies of
-the Document to the public.
-
-A section "Entitled XYZ" means a named subunit of the Document whose
-title either is precisely XYZ or contains XYZ in parentheses following
-text that translates XYZ in another language. (Here XYZ stands for a
-specific section name mentioned below, such as "Acknowledgements",
-"Dedications", "Endorsements", or "History".) To "Preserve the Title"
-of such a section when you modify the Document means that it remains a
-section "Entitled XYZ" according to this definition.
-
-The Document may include Warranty Disclaimers next to the notice which
-states that this License applies to the Document. These Warranty
-Disclaimers are considered to be included by reference in this
-License, but only as regards disclaiming warranties: any other
-implication that these Warranty Disclaimers may have is void and has
-no effect on the meaning of this License.
-
-2. VERBATIM COPYING
-
-You may copy and distribute the Document in any medium, either
-commercially or noncommercially, provided that this License, the
-copyright notices, and the license notice saying this License applies
-to the Document are reproduced in all copies, and that you add no
-other conditions whatsoever to those of this License. You may not use
-technical measures to obstruct or control the reading or further
-copying of the copies you make or distribute. However, you may accept
-compensation in exchange for copies. If you distribute a large enough
-number of copies you must also follow the conditions in section 3.
-
-You may also lend copies, under the same conditions stated above, and
-you may publicly display copies.
-
-
-3. COPYING IN QUANTITY
-
-If you publish printed copies (or copies in media that commonly have
-printed covers) of the Document, numbering more than 100, and the
-Document's license notice requires Cover Texts, you must enclose the
-copies in covers that carry, clearly and legibly, all these Cover
-Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
-the back cover. Both covers must also clearly and legibly identify
-you as the publisher of these copies. The front cover must present
-the full title with all words of the title equally prominent and
-visible. You may add other material on the covers in addition.
-Copying with changes limited to the covers, as long as they preserve
-the title of the Document and satisfy these conditions, can be treated
-as verbatim copying in other respects.
-
-If the required texts for either cover are too voluminous to fit
-legibly, you should put the first ones listed (as many as fit
-reasonably) on the actual cover, and continue the rest onto adjacent
-pages.
-
-If you publish or distribute Opaque copies of the Document numbering
-more than 100, you must either include a machine-readable Transparent
-copy along with each Opaque copy, or state in or with each Opaque copy
-a computer-network location from which the general network-using
-public has access to download using public-standard network protocols
-a complete Transparent copy of the Document, free of added material.
-If you use the latter option, you must take reasonably prudent steps,
-when you begin distribution of Opaque copies in quantity, to ensure
-that this Transparent copy will remain thus accessible at the stated
-location until at least one year after the last time you distribute an
-Opaque copy (directly or through your agents or retailers) of that
-edition to the public.
-
-It is requested, but not required, that you contact the authors of the
-Document well before redistributing any large number of copies, to
-give them a chance to provide you with an updated version of the
-Document.
-
-
-4. MODIFICATIONS
-
-You may copy and distribute a Modified Version of the Document under
-the conditions of sections 2 and 3 above, provided that you release
-the Modified Version under precisely this License, with the Modified
-Version filling the role of the Document, thus licensing distribution
-and modification of the Modified Version to whoever possesses a copy
-of it. In addition, you must do these things in the Modified Version:
-
-A. Use in the Title Page (and on the covers, if any) a title distinct
- from that of the Document, and from those of previous versions
- (which should, if there were any, be listed in the History section
- of the Document). You may use the same title as a previous version
- if the original publisher of that version gives permission.
-B. List on the Title Page, as authors, one or more persons or entities
- responsible for authorship of the modifications in the Modified
- Version, together with at least five of the principal authors of the
- Document (all of its principal authors, if it has fewer than five),
- unless they release you from this requirement.
-C. State on the Title page the name of the publisher of the
- Modified Version, as the publisher.
-D. Preserve all the copyright notices of the Document.
-E. Add an appropriate copyright notice for your modifications
- adjacent to the other copyright notices.
-F. Include, immediately after the copyright notices, a license notice
- giving the public permission to use the Modified Version under the
- terms of this License, in the form shown in the Addendum below.
-G. Preserve in that license notice the full lists of Invariant Sections
- and required Cover Texts given in the Document's license notice.
-H. Include an unaltered copy of this License.
-I. Preserve the section Entitled "History", Preserve its Title, and add
- to it an item stating at least the title, year, new authors, and
- publisher of the Modified Version as given on the Title Page. If
- there is no section Entitled "History" in the Document, create one
- stating the title, year, authors, and publisher of the Document as
- given on its Title Page, then add an item describing the Modified
- Version as stated in the previous sentence.
-J. Preserve the network location, if any, given in the Document for
- public access to a Transparent copy of the Document, and likewise
- the network locations given in the Document for previous versions
- it was based on. These may be placed in the "History" section.
- You may omit a network location for a work that was published at
- least four years before the Document itself, or if the original
- publisher of the version it refers to gives permission.
-K. For any section Entitled "Acknowledgements" or "Dedications",
- Preserve the Title of the section, and preserve in the section all
- the substance and tone of each of the contributor acknowledgements
- and/or dedications given therein.
-L. Preserve all the Invariant Sections of the Document,
- unaltered in their text and in their titles. Section numbers
- or the equivalent are not considered part of the section titles.
-M. Delete any section Entitled "Endorsements". Such a section
- may not be included in the Modified Version.
-N. Do not retitle any existing section to be Entitled "Endorsements"
- or to conflict in title with any Invariant Section.
-O. Preserve any Warranty Disclaimers.
-
-If the Modified Version includes new front-matter sections or
-appendices that qualify as Secondary Sections and contain no material
-copied from the Document, you may at your option designate some or all
-of these sections as invariant. To do this, add their titles to the
-list of Invariant Sections in the Modified Version's license notice.
-These titles must be distinct from any other section titles.
-
-You may add a section Entitled "Endorsements", provided it contains
-nothing but endorsements of your Modified Version by various
-parties--for example, statements of peer review or that the text has
-been approved by an organization as the authoritative definition of a
-standard.
-
-You may add a passage of up to five words as a Front-Cover Text, and a
-passage of up to 25 words as a Back-Cover Text, to the end of the list
-of Cover Texts in the Modified Version. Only one passage of
-Front-Cover Text and one of Back-Cover Text may be added by (or
-through arrangements made by) any one entity. If the Document already
-includes a cover text for the same cover, previously added by you or
-by arrangement made by the same entity you are acting on behalf of,
-you may not add another; but you may replace the old one, on explicit
-permission from the previous publisher that added the old one.
-
-The author(s) and publisher(s) of the Document do not by this License
-give permission to use their names for publicity for or to assert or
-imply endorsement of any Modified Version.
-
-
-5. COMBINING DOCUMENTS
-
-You may combine the Document with other documents released under this
-License, under the terms defined in section 4 above for modified
-versions, provided that you include in the combination all of the
-Invariant Sections of all of the original documents, unmodified, and
-list them all as Invariant Sections of your combined work in its
-license notice, and that you preserve all their Warranty Disclaimers.
-
-The combined work need only contain one copy of this License, and
-multiple identical Invariant Sections may be replaced with a single
-copy. If there are multiple Invariant Sections with the same name but
-different contents, make the title of each such section unique by
-adding at the end of it, in parentheses, the name of the original
-author or publisher of that section if known, or else a unique number.
-Make the same adjustment to the section titles in the list of
-Invariant Sections in the license notice of the combined work.
-
-In the combination, you must combine any sections Entitled "History"
-in the various original documents, forming one section Entitled
-"History"; likewise combine any sections Entitled "Acknowledgements",
-and any sections Entitled "Dedications". You must delete all sections
-Entitled "Endorsements".
-
-
-6. COLLECTIONS OF DOCUMENTS
-
-You may make a collection consisting of the Document and other
-documents released under this License, and replace the individual
-copies of this License in the various documents with a single copy
-that is included in the collection, provided that you follow the rules
-of this License for verbatim copying of each of the documents in all
-other respects.
-
-You may extract a single document from such a collection, and
-distribute it individually under this License, provided you insert a
-copy of this License into the extracted document, and follow this
-License in all other respects regarding verbatim copying of that
-document.
-
-
-7. AGGREGATION WITH INDEPENDENT WORKS
-
-A compilation of the Document or its derivatives with other separate
-and independent documents or works, in or on a volume of a storage or
-distribution medium, is called an "aggregate" if the copyright
-resulting from the compilation is not used to limit the legal rights
-of the compilation's users beyond what the individual works permit.
-When the Document is included in an aggregate, this License does not
-apply to the other works in the aggregate which are not themselves
-derivative works of the Document.
-
-If the Cover Text requirement of section 3 is applicable to these
-copies of the Document, then if the Document is less than one half of
-the entire aggregate, the Document's Cover Texts may be placed on
-covers that bracket the Document within the aggregate, or the
-electronic equivalent of covers if the Document is in electronic form.
-Otherwise they must appear on printed covers that bracket the whole
-aggregate.
-
-
-8. TRANSLATION
-
-Translation is considered a kind of modification, so you may
-distribute translations of the Document under the terms of section 4.
-Replacing Invariant Sections with translations requires special
-permission from their copyright holders, but you may include
-translations of some or all Invariant Sections in addition to the
-original versions of these Invariant Sections. You may include a
-translation of this License, and all the license notices in the
-Document, and any Warranty Disclaimers, provided that you also include
-the original English version of this License and the original versions
-of those notices and disclaimers. In case of a disagreement between
-the translation and the original version of this License or a notice
-or disclaimer, the original version will prevail.
-
-If a section in the Document is Entitled "Acknowledgements",
-"Dedications", or "History", the requirement (section 4) to Preserve
-its Title (section 1) will typically require changing the actual
-title.
-
-
-9. TERMINATION
-
-You may not copy, modify, sublicense, or distribute the Document
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense, or distribute it is void, and
-will automatically terminate your rights under this License.
-
-However, if you cease all violation of this License, then your license
-from a particular copyright holder is reinstated (a) provisionally,
-unless and until the copyright holder explicitly and finally
-terminates your license, and (b) permanently, if the copyright holder
-fails to notify you of the violation by some reasonable means prior to
-60 days after the cessation.
-
-Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, receipt of a copy of some or all of the same material does
-not give you any rights to use it.
-
-
-10. FUTURE REVISIONS OF THIS LICENSE
-
-The Free Software Foundation may publish new, revised versions of the
-GNU Free Documentation License from time to time. Such new versions
-will be similar in spirit to the present version, but may differ in
-detail to address new problems or concerns. See
-http://www.gnu.org/copyleft/.
-
-Each version of the License is given a distinguishing version number.
-If the Document specifies that a particular numbered version of this
-License "or any later version" applies to it, you have the option of
-following the terms and conditions either of that specified version or
-of any later version that has been published (not as a draft) by the
-Free Software Foundation. If the Document does not specify a version
-number of this License, you may choose any version ever published (not
-as a draft) by the Free Software Foundation. If the Document
-specifies that a proxy can decide which future versions of this
-License can be used, that proxy's public statement of acceptance of a
-version permanently authorizes you to choose that version for the
-Document.
-
-11. RELICENSING
-
-"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
-World Wide Web server that publishes copyrightable works and also
-provides prominent facilities for anybody to edit those works. A
-public wiki that anybody can edit is an example of such a server. A
-"Massive Multiauthor Collaboration" (or "MMC") contained in the site
-means any set of copyrightable works thus published on the MMC site.
-
-"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
-license published by Creative Commons Corporation, a not-for-profit
-corporation with a principal place of business in San Francisco,
-California, as well as future copyleft versions of that license
-published by that same organization.
-
-"Incorporate" means to publish or republish a Document, in whole or in
-part, as part of another Document.
-
-An MMC is "eligible for relicensing" if it is licensed under this
-License, and if all works that were first published under this License
-somewhere other than this MMC, and subsequently incorporated in whole or
-in part into the MMC, (1) had no cover texts or invariant sections, and
-(2) were thus incorporated prior to November 1, 2008.
-
-The operator of an MMC Site may republish an MMC contained in the site
-under CC-BY-SA on the same site at any time before August 1, 2009,
-provided the MMC is eligible for relicensing.
-
-
-ADDENDUM: How to use this License for your documents
-
-To use this License in a document you have written, include a copy of
-the License in the document and put the following copyright and
-license notices just after the title page:
-
- Copyright (c) YEAR YOUR NAME.
- Permission is granted to copy, distribute and/or modify this document
- under the terms of the GNU Free Documentation License, Version 1.3
- or any later version published by the Free Software Foundation;
- with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
- A copy of the license is included in the section entitled "GNU
- Free Documentation License".
-
-If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
-replace the "with...Texts." line with this:
-
- with the Invariant Sections being LIST THEIR TITLES, with the
- Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
-
-If you have Invariant Sections without Cover Texts, or some other
-combination of the three, merge those two alternatives to suit the
-situation.
-
-If your document contains nontrivial examples of program code, we
-recommend releasing these examples in parallel under your choice of
-free software license, such as the GNU General Public License,
-to permit their use in free software.
diff --git a/LICENSE.GPLv2 b/LICENSE.GPLv2
deleted file mode 100644
index a4244777..00000000
--- a/LICENSE.GPLv2
+++ /dev/null
@@ -1,292 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
-
- The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd.
- Contact: http://www.qt.io/licensing/
-
- You may use, distribute and copy the Qt Toolkit under the terms of
- GNU General Public License version 2, which is displayed below.
-
--------------------------------------------------------------------------
-
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
-51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
-
-Everyone is permitted to copy and distribute verbatim copies of this
-license document, but changing it is not allowed.
-
-Preamble
-
- The licenses for most software are designed to take away your freedom
-to share and change it. By contrast, the GNU General Public License is
-intended to guarantee your freedom to share and change free software
---to make sure the software is free for all its users. This General
-Public License applies to most of the Free Software Foundation's
-software and to any other program whose authors commit to using it.
-(Some other Free Software Foundation software is covered by the GNU
-Lesser General Public License instead.) You can apply it to your
-programs, too.
-
-When we speak of free software, we are referring to freedom, not price.
-Our General Public Licenses are designed to make sure that you have the
-freedom to distribute copies of free software (and charge for this
-service if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs; and that you know you can do these things.
-
-To protect your rights, we need to make restrictions that forbid anyone
-to deny you these rights or to ask you to surrender the rights. These
-restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-For example, if you distribute copies of such a program, whether gratis
- or for a fee, you must give the recipients all the rights that you
-have. You must make sure that they, too, receive or can get the source
-code. And you must show them these terms so they know their rights.
-
-We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-Finally, any free program is threatened constantly by software patents.
-We wish to avoid the danger that redistributors of a free program will
-individually obtain patent licenses, in effect making the program
-proprietary. To prevent this, we have made it clear that any patent
-must be licensed for everyone's free use or not licensed at all.
-
-The precise terms and conditions for copying, distribution and
-modification follow.
-
-TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-0. This License applies to any program or other work which contains a
-notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of running
-the Program is not restricted, and the output from the Program is
-covered only if its contents constitute a work based on the Program
-(independent of having been made by running the Program). Whether that
-is true depends on what the Program does.
-
-1. You may copy and distribute verbatim copies of the Program's source
-code as you receive it, in any medium, provided that you conspicuously
-and appropriately publish on each copy an appropriate copyright notice
-and disclaimer of warranty; keep intact all the notices that refer to
-this License and to the absence of any warranty; and give any other
-recipients of the Program a copy of this License along with the
-Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-2. You may modify your copy or copies of the Program or any portion of
-it, thus forming a work based on the Program, and copy and distribute
-such modifications or work under the terms of Section 1 above, provided
-that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but does
- not normally print such an announcement, your work based on the
- Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of a
-storage or distribution medium does not bring the other work under the
-scope of this License.
-
-3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software
- interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your cost
- of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to control
-compilation and installation of the executable. However, as a special
-exception, the source code distributed need not include anything that
-is normally distributed (in either source or binary form) with the
-major components (compiler, kernel, and so on) of the operating system
-on which the executable runs, unless that component itself accompanies
-the executable.
-
-If distribution of executable or object code is made by offering access
-to copy from a designated place, then offering equivalent access to
-copy the source code from the same place counts as distribution of the
-source code, even though third parties are not compelled to copy the
-source along with the object code.
-
-4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt otherwise
-to copy, modify, sublicense or distribute the Program is void, and will
-automatically terminate your rights under this License. However,
-parties who have received copies, or rights, from you under this License
-will not have their licenses terminated so long as such parties remain
-in full compliance.
-
-5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further restrictions
-on the recipients' exercise of the rights granted herein. You are not
-responsible for enforcing compliance by third parties to this License.
-
-7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent license
-would not permit royalty-free redistribution of the Program by all
-those who receive copies directly or indirectly through you, then the
-only way you could satisfy both it and this License would be to refrain
-entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License may
-add an explicit geographical distribution limitation excluding those
-countries, so that distribution is permitted only in or among countries
-not thus excluded. In such case, this License incorporates the limitation
-as if written in the body of this License.
-
-9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail
-to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Program does not specify a version
-number of this License, you may choose any version ever published by
-the Free Software Foundation.
-
-10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the
-author to ask for permission. For software which is copyrighted by
-the Free Software Foundation, write to the Free Software Foundation;
-we sometimes make exceptions for this. Our decision will be guided by
-the two goals of preserving the free status of all derivatives of our
-free software and of promoting the sharing and reuse of software
-generally.
-
-NO WARRANTY
-
-11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
-EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE
-ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH
-YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
-NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
-MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE
-TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-END OF TERMS AND CONDITIONS
diff --git a/LICENSE.GPLv3 b/LICENSE.GPLv3
deleted file mode 100644
index 71c4ad49..00000000
--- a/LICENSE.GPLv3
+++ /dev/null
@@ -1,686 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
-
- The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd.
- Contact: http://www.qt.io/licensing/
-
- You may use, distribute and copy the Qt Toolkit under the terms of
- GNU Lesser General Public License version 3. That license references
- the General Public License version 3, that is displayed below. Other
- portions of the Qt Toolkit may be licensed directly under this license.
-
--------------------------------------------------------------------------
-
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- <program> Copyright (C) <year> <name of author>
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/LICENSE.LGPLv21 b/LICENSE.LGPLv21
deleted file mode 100644
index dfcab5e2..00000000
--- a/LICENSE.LGPLv21
+++ /dev/null
@@ -1,514 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
-
- The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd.
- Contact: http://www.qt.io/licensing/
-
- You may use, distribute and copy the Qt Toolkit under the terms of
- GNU Lesser General Public License version 2.1, which is displayed below.
-
--------------------------------------------------------------------------
-
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Libraries
-
- If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change. You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
- To apply these terms, attach the following notices to the library. It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
- <one line to give the library's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this library; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the
- library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
- <signature of Ty Coon>, 1 April 1990
- Ty Coon, President of Vice
-
-That's all there is to it!
-
-
diff --git a/LICENSE.LGPLv3 b/LICENSE.LGPLv3
deleted file mode 100644
index 6bf924cd..00000000
--- a/LICENSE.LGPLv3
+++ /dev/null
@@ -1,175 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
-
- The Qt Toolkit is Copyright (C) 2015 The Qt Company Ltd.
- Contact: http://www.qt.io/licensing/
-
- You may use, distribute and copy the Qt Toolkit under the terms of
- GNU Lesser General Public License version 3, which is displayed below.
- This license makes reference to the version 3 of the GNU General
- Public License, which you can find in the LICENSE.GPLv3 file.
-
--------------------------------------------------------------------------
-
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright © 2007 Free Software Foundation, Inc. <http://fsf.org/>
-Everyone is permitted to copy and distribute verbatim copies of this
-licensedocument, but changing it is not allowed.
-
-This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
-0. Additional Definitions.
-
- As used herein, “this License†refers to version 3 of the GNU Lesser
-General Public License, and the “GNU GPL†refers to version 3 of the
-GNU General Public License.
-
- “The Library†refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
- An “Application†is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
- A “Combined Work†is a work produced by combining or linking an
-Application with the Library. The particular version of the Library
-with which the Combined Work was made is also called the “Linked
-Versionâ€.
-
- The “Minimal Corresponding Source†for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
- The “Corresponding Application Code†for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
-1. Exception to Section 3 of the GNU GPL.
-
- You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
-2. Conveying Modified Versions.
-
- If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
- a) under this License, provided that you make a good faith effort
- to ensure that, in the event an Application does not supply the
- function or data, the facility still operates, and performs
- whatever part of its purpose remains meaningful, or
-
- b) under the GNU GPL, with none of the additional permissions of
- this License applicable to that copy.
-
-3. Object Code Incorporating Material from Library Header Files.
-
- The object code form of an Application may incorporate material from
-a header file that is part of the Library. You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
- a) Give prominent notice with each copy of the object code that
- the Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the object code with a copy of the GNU GPL and this
- license document.
-
-4. Combined Works.
-
- You may convey a Combined Work under terms of your choice that, taken
-together, effectively do not restrict modification of the portions of
-the Library contained in the Combined Work and reverse engineering for
-debugging such modifications, if you also do each of the following:
-
- a) Give prominent notice with each copy of the Combined Work that
- the Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the Combined Work with a copy of the GNU GPL and this
- license document.
-
- c) For a Combined Work that displays copyright notices during
- execution, include the copyright notice for the Library among
- these notices, as well as a reference directing the user to the
- copies of the GNU GPL and this license document.
-
- d) Do one of the following:
-
- 0) Convey the Minimal Corresponding Source under the terms of
- this License, and the Corresponding Application Code in a form
- suitable for, and under terms that permit, the user to
- recombine or relink the Application with a modified version of
- the Linked Version to produce a modified Combined Work, in the
- manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.
-
- 1) Use a suitable shared library mechanism for linking with
- the Library. A suitable mechanism is one that (a) uses at run
- time a copy of the Library already present on the user's
- computer system, and (b) will operate properly with a modified
- version of the Library that is interface-compatible with the
- Linked Version.
-
- e) Provide Installation Information, but only if you would
- otherwise be required to provide such information under section 6
- of the GNU GPL, and only to the extent that such information is
- necessary to install and execute a modified version of the
- Combined Work produced by recombining or relinking the Application
- with a modified version of the Linked Version. (If you use option
- 4d0, the Installation Information must accompany the Minimal
- Corresponding Source and Corresponding Application Code. If you
- use option 4d1, you must provide the Installation Information in
- the manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.)
-
-5. Combined Libraries.
-
- You may place library facilities that are a work based on the Library
-side by side in a single library together with other library
-facilities that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities, conveyed under the terms of this License.
-
- b) Give prominent notice with the combined library that part of
- it is a work based on the Library, and explaining where to find
- the accompanying uncombined form of the same work.
-
-6. Revised Versions of the GNU Lesser General Public License.
-
- The Free Software Foundation may publish revised and/or new versions
-of the GNU Lesser General Public License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-as you received it specifies that a certain numbered version of the
-GNU Lesser General Public License “or any later version†applies to
-it, you have the option of following the terms and conditions either
-of that published version or of any later version published by the
-Free Software Foundation. If the Library as you received it does not
-specify a version number of the GNU Lesser General Public License,
-you may choose any version of the GNU Lesser General Public License
-ever published by the Free Software Foundation.
-
-If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the Library.
-
diff --git a/LICENSE.QT-LICENSE-AGREEMENT-4.0 b/LICENSE.QT-LICENSE-AGREEMENT-4.0
deleted file mode 100644
index 74bd6bb4..00000000
--- a/LICENSE.QT-LICENSE-AGREEMENT-4.0
+++ /dev/null
@@ -1,913 +0,0 @@
-QT LICENSE AGREEMENT
-Agreement version 4.0
-
-This License Agreement ("Agreement") is a legal agreement between The Qt
-Company (as defined below) and the Licensee (as defined below) for the license
-of Licensed Software (as defined below). Capitalized terms used herein are
-defined in Section 1.
-
-WHEREAS:
-
-(A). Licensee wishes to use the Licensed Software for the purpose of developing
-and distributing Applications and/or Devices; and
-
-(B). The Qt Company is willing to grant the Licensee a right to use Licensed
-Software for such purpose pursuant to term and conditions of this Agreement.
-
-NOW, THEREFORE, THE PARTIES HEREBY AGREE AS FOLLOWS:
-
-1. DEFINITIONS
-
-"Affiliate" of a Party shall mean an entity (i) which is directly or indirectly
-controlling such Party; (ii) which is under the same direct or indirect
-ownership or control as such Party; or (iii) which is directly or indirectly
-owned or controlled by such Party. For these purposes, an entity shall be
-treated as being controlled by another if that other entity has fifty percent
-(50 %) or more of the votes in such entity, is able to direct its affairs
-and/or to control the composition of its board of directors or equivalent body.
-
-"Applications" shall mean Licensee's software products created using the
-Licensed Software, which may include the Redistributables, or part
-thereof.
-
-"Contractor(s)" shall mean third party consultants, distributors and
-contractors performing services to a Party under applicable contractual
-arrangement.
-
-"Customer(s)" shall mean Licensee's end users to whom Licensee, directly or
-indirectly, distributes copies of the Redistributables.
-
-"Deployment Platforms" shall mean operating systems specified in the License
-Certificate, in which the Redistributables can be distributed pursuant to the
-terms and conditions of this Agreement.
-
-"Designated User(s)" shall mean the employee(s) of Licensee or Licensee's
-Affiliates acting within the scope of their employment or Licensee's
-Contractors acting within the scope of their services for Licensee and on
-behalf of Licensee. Designated Users shall be named in the License Certificate.
-
-"Development License" shall mean the license needed by the Licensee for each
-Designated User to use the Licensed Software under the license grant described
-in Section 3.1 of this Agreement.
-
-"Development Platforms" shall mean those operating systems specified in the
-License Certificate, in which the Licensed Software can be used under the
-Development License, but not distributed in any form or used for any other
-purpose.
-
-"Devices" shall mean hardware devices or products that 1) are manufactured
-and/or distributed by the Licensee or its Affiliates or Contractors, and
-(2)(i) incorporate or integrate the Redistributables or parts thereof; or (ii)
-do not incorporate or integrate the Redistributables at the time of
-distribution, but where, when used by a Customer, the main user interface or
-substantial functionality of such device is provided by Application(s) or
-otherwise depends on the Licensed Software.
-
-"Distribution License(s)" shall mean the license required for distribution of
-Redistributables in connection with Devices pursuant to license grant described
-in Section 3.3 of this Agreement.
-
-"Distribution License Packs" shall mean set of prepaid Distribution Licenses
-for distribution of Redistributables, as defined in The Qt Company's standard
-price list, quote, Purchase Order confirmation or in an appendix hereto,
-as the case may be.
-
-"Intellectual Property Rights" shall mean patents (including utility models),
-design patents, and designs (whether or not capable of registration), chip
-topography rights and other like protection, copyrights, trademarks, service
-marks, trade names, logos or other words or symbols and any other form of
-statutory protection of any kind and applications for any of the foregoing as
-well as any trade secrets.
-
-"License Certificate" shall mean a certificate generated by The Qt Company for
-each Designated User respectively upon them downloading the licensed Software.
-License Certificate will be available under respective Designated User's Qt
-Account at account.qt.io and it will specify the Designated User, the
-Development Platforms, Deployment Platforms and the License Term. The terms of
-the License Certificate are considered part of this Agreement and shall be
-updated from time to time to reflect any agreed changes to the foregoing terms
-relating to Designated User's rights to the Licensed Software.
-
-"License Fee" shall mean the fee charged to the Licensee for rights granted
-under the terms of this Agreement.
-
-"License Term" shall mean the agreed validity period of the Development
-License of the respective Designated User, during which time the
-Designated User is entitled to use the Licensed Software, as set forth in the
-respective License Certificate.
-
-"Licensed Software" shall mean all versions of the
-
-(i) Qt Toolkit (including Qt Essentials, Qt Add-Ons and Value-Add modules) as
-described in http://doc.qt.io/qt-5/qtmodules.html,
-
-(ii) Qt Creator (including Creator IDE tool) as described in
-http://doc.qt.io/qtcreator/index.html,
-
-(iii) Qt 3D Studio as described in http://doc.qt.io/qt3dstudio/index.html, and
-
-as well as corresponding online or electronic documentation, associated media
-and printed materials, including the source code, example programs and the
-documentation, licensed to the Licensee under this Agreement. Licensed Software
-does not include Third Party Software (as defined in Section 4), Open Source
-Qt, or other software products of The Qt Company (for example Qt Safe Renderer
-and Qt for Automation), unless such other software products of The Qt Company
-are separately agreed in writing to be included in scope of the Licensed
-Software.
-
-"Licensee" shall mean the individual or legal entity that is party to this
-Agreement, as identified on the signature page hereof.
-
-"Licensee's Records" shall mean books and records that are likely to contain
-information bearing on Licensee's compliance with this Agreement or the
-payments due to The Qt Company under this Agreement, including, but not limited
-to: assembly logs, sales records and distribution records.
-
-"Modified Software" shall have the meaning as set forth in Section 2.3.
-
-"Online Services" shall mean any services or access to systems made available
-by The Qt Company to the Licensee over the Internet relating to the Licensed
-Software or for the purpose of use by the Licensee of the Licensed Software or
-Support. Use of any such Online Services is discretionary for the Licensee and
-some of them may be subject to additional fees.
-
-"Open Source Qt" shall mean the non-commercial Qt computer software products,
-licensed under the terms of the GNU Lesser General Public License, version
-2.1 or later ("LGPL") or the GNU General Public License, version 2.0 or later
-("GPL"). For clarity, Open Source Qt shall not be provided nor governed under
-this Agreement.
-
-"Party" or "Parties" shall mean Licensee and/or The Qt Company.
-
-"Redistributables" shall mean the portions of the Licensed Software set forth
-in Appendix 1, Section 1 that may be distributed pursuant to the terms of this
-Agreement in object code form only, including any relevant documentation.
-Where relevant, any reference to Licensed Software in this Agreement shall
-include and refer also to Redistributables.
-
-"Renewal Term" shall mean an extension of previous License Term as agreed
-between the Parties.
-
-"Submitted Modified Software" shall have the meaning as set forth in
-Section 2.3.
-
-"Support" shall mean standard developer support that is provided by The Qt
-Company to assist Designated Users in using the Licensed Software in
-accordance with The Qt Company's standard support terms and as further
-defined in Section 8 hereunder.
-
-"Taxes" shall have the meaning set forth in Section 10.5.
-
-"Term" shall have the meaning set forth in Section 12.
-
-"The Qt Company" shall mean:
-
-(i) in the event Licensee is an individual residing in the United States or a
-legal entity incorporated in the United States or having its headquarters in
-the United States, The Qt Company Inc., a Delaware corporation with its office
-at 2350 Mission College Blvd., Suite 1020, Santa Clara, CA 95054, USA.; or
-
-(ii) in the event the Licensee is an individual residing outside of the United
-States or a legal entity incorporated outside of the United States or having
-its registered office outside of the United States, The Qt Company Ltd., a
-Finnish company with its registered office at Bertel Jungin aukio D3A, 02600
-Espoo, Finland.
-
-"Third Party Software " shall have the meaning set forth in Section 4.
-
-"Updates" shall mean a release or version of the Licensed Software containing
-bug fixes, error corrections and other changes that are generally made
-available to users of the Licensed Software that have contracted for Support.
-Updates are generally depicted as a change to the digits following the decimal
-in the Licensed Software version number. The Qt Company shall make Updates
-available to the Licensee under the Support. Updates shall be considered as
-part of the Licensed Software hereunder.
-
-"Upgrades" shall mean a release or version of the Licensed Software containing
-enhancements and new features and are generally depicted as a change to the
-first digit of the Licensed Software version number. In the event Upgrades are
-provided to the Licensee under this Agreement, they shall be considered as
-part of the Licensed Software hereunder.
-
-2. OWNERSHIP
-
-2.1 Ownership of The Qt Company
-
-The Licensed Software is protected by copyright laws and international
-copyright treaties, as well as other intellectual property laws and treaties.
-The Licensed Software is licensed, not sold.
-
-All The Qt Company's Intellectual Property Rights are and shall remain the
-exclusive property of The Qt Company or its licensors respectively.
-
-2.2 Ownership of Licensee
-
-All the Licensee's Intellectual Property Rights are and shall remain the
-exclusive property of the Licensee or its licensors respectively.
-
-All Intellectual Property Rights to the Modified Software, Applications and
-Devices shall remain with the Licensee and no rights thereto shall be granted
-by the Licensee to The Qt Company under this Agreement (except as set forth in
-Section 2.3 below).
-
-2.3 Modified Software
-
-Licensee may create bug-fixes, error corrections, patches or modifications to
-the Licensed Software ("Modified Software"). Such Modified Software may break
-the source or binary compatibility with the Licensed Software (including
-without limitation through changing the application programming interfaces
-("API") or by adding, changing or deleting any variable, method, or class
-signature in the Licensed Software and/or any inter-process protocols, services
-or standards in the Licensed Software libraries). To the extent that Licensee's
-Modified Software so breaks source or binary compatibility with the Licensed
-Software, Licensee acknowledges that The Qt Company's ability to provide
-Support may be prevented or limited and Licensee's ability to make use of
-Updates may be restricted.
-
-Licensee may, at its sole and absolute discretion, choose to submit Modified
-Software to The Qt Company ("Submitted Modified Software") in connection with
-Licensee's Support request, service request or otherwise. In the event Licensee
-does so, then, Licensee hereby grants The Qt Company a sublicensable,
-assignable, irrevocable, perpetual, worldwide, non-exclusive, royalty-free and
-fully paid-up license, under all of Licensee's Intellectual Property Rights, to
-reproduce, adapt, translate, modify, and prepare derivative works of, publicly
-display, publicly perform, sublicense, make available and distribute such
-Submitted Modified Software as The Qt Company sees fit at its free and absolute
-discretion.
-
-3. LICENSES GRANTED
-
-3.1 Development with Licensed Software
-
-Subject to the terms of this Agreement, The Qt Company grants to Licensee a
-personal, worldwide, non-exclusive, non-transferable license, valid for the
-License Term, to use, modify and copy the Licensed Software by Designated Users
-on the Development Platforms for the sole purposes of designing, developing,
-demonstrating and testing Application(s) and/or Devices, and to provide thereto
-related support and other related services to end-user Customers.
-
-Licensee may install copies of the Licensed Software on an unlimited number of
-computers provided that (i) only the Designated Users may use the Licensed
-Software, and (ii) all Designated Users must have a valid Development License
-to use Licensed Software.
-
-Licensee may at any time designate another Designated User to replace a then-
-current Designated User by notifying The Qt Company in writing, provided that
-any Designated User may be replaced only once during any six-month period.
-
-Upon expiry of the initially agreed License Term, the respective License Terms
-shall be automatically extended to one or more Renewal Term(s), unless and
-until either Party notifies the other Party in writing that it does not wish to
-continue the License Term, such notification to be provided to the other Party
-no less than ninety (90) days before expiry of the respective License Term.
-Unless otherwise agreed between the Parties, Renewal Term shall be of equal
-length with the initial Term.
-
-Any such Renewal Term shall be subject to License Fees agreed between the
-Parties or, if no advance agreement exists, subject to The Qt Company's
-standard pricing applicable at the commencement date of any such Renewal Term.
-
-3.2 Distribution of Applications
-
-Subject to the terms of this Agreement, The Qt Company grants to Licensee a
-personal, worldwide, non-exclusive, non-transferable, revocable (for cause
-pursuant to this Agreement) right and license, valid for the Term, to
-
-(i) distribute, by itself or through its Contractors, Redistributables as
-installed, incorporated or integrated into Applications for execution on the
-Deployment Platforms, and
-
-(ii) grant sublicenses to Redistributables, as distributed hereunder, for
-Customers solely for Customer's internal use and to the extent necessary in
-order for the Customers to use the Applications for their respective intended
-purposes.
-
-Right to distribute the Redistributables as part of an Application as provided
-herein is not royalty-bearing but is conditional upon the Licensee having paid
-the agreed Development Licenses from The Qt Company before distributing any
-Redistributables to Customers.
-
-3.3 Distribution of Devices
-
-Subject to the terms of this Agreement, The Qt Company grants to Licensee a
-personal, worldwide, non-exclusive, non-transferable, revocable (for cause
-pursuant to this Agreement) right and license, valid for the Term, to
-
-(i) distribute, by itself or through one or more tiers of Contractors,
-Redistributables as installed, incorporated or integrated, or intended to be
-installed, incorporated or integrated into Devices for execution on the
-Deployment Platforms, and
-
-(ii) grant sublicenses to Redistributables, as distributed hereunder, for
-Customers solely for Customer's internal use and to the extent necessary in
-order for the Customers to use the Devices for their respective intended
-purposes.
-
-Right to distribute the Redistributables with Devices as provided herein is
-conditional upon the Licensee having purchased and paid the appropriate amount
-of Development and Distribution Licenses from The Qt Company before
-distributing any Redistributables to Customers.
-
-3.4 Further Requirements
-
-The licenses granted above in this Section 3 by The Qt Company to Licensee are
-conditional and subject to Licensee's compliance with the following terms:
-
-(i) Licensee shall not remove or alter any copyright, trademark or other
-proprietary rights notice contained in any portion of the Licensed Software;
-
-(ii) Applications must add primary and substantial functionality to the
-Licensed Software;
-
-(iii) Applications may not pass on functionality which in any way makes it
-possible for others to create software with the Licensed Software; provided
-however that Licensee may use the Licensed Software's scripting and QML ("Qt
-Quick") functionality solely in order to enable scripting, themes and styles
-that augment the functionality and appearance of the Application(s) without
-adding primary and substantial functionality to the Application(s);
-
-(iv) Applications must not compete with the Licensed Software;
-
-(v) Licensee shall not use The Qt Company's or any of its suppliers' names,
-logos, or trademarks to market Applications, except that Licensee may use
-"Built with Qt" logo to indicate that Application(s) was developed using the
-Licensed Software;
-
-(vi) Licensee shall not distribute, sublicense or disclose source code of
-Licensed Software to any third party (provided however that Licensee may
-appoint employee(s) of Contractors as Designated Users to use Licensed
-Software pursuant to this Agreement). Such right may be available for the
-Licensee subject to a separate software development kit ("SDK") license
-agreement to be concluded with The Qt Company;
-
-(vii) Licensee shall not grant the Customers a right to (i) make copies of the
-Redistributables except when and to the extent required to use the Applications
-and/or Devices for their intended purpose, (ii) modify the Redistributables or
-create derivative works thereof, (iii) decompile, disassemble or otherwise
-reverse engineer Redistributables, or (iv) redistribute any copy or portion of
-the Redistributables to any third party, except as part of the onward sale of
-the Device on which the Redistributables are installed;
-
-(viii) Licensee shall not and shall cause that its Affiliates or Contractors
-shall not a) in any way combine, incorporate or integrate Licensed Software
-with, or use Licensed Software for creation of, any software created with or
-incorporating Open Source Qt, or b) incorporate or integrate Applications
-into a hardware device or product other than a Device, unless Licensee has
-received an advance written permission from The Qt Company to do so. Absent
-such written permission, any and all distribution by the Licensee during the
-Term of a hardware device or product a) which incorporate or integrate any
-part of Licensed Software or Open Source Qt; or b) where the main user
-interface or substantial functionality is provided by software build with
-Licensed Software or Open Source Qt or otherwise depends on the Licensed
-Software or Open Source Qt, shall be considered as a Device distribution under
-this Agreement and dependent on compliance thereof (including but not limited
-to obligation to pay applicable License Fees for such distribution);
-
-(ix) Licensee shall cause all of its Affiliates and Contractors entitled to
-make use of the licenses granted under this Agreement, to be contractually
-bound to comply with the relevant terms of this Agreement and not to use the
-Licensed Software beyond the terms hereof and for any purposes other than
-operating within the scope of their services for Licensee. Licensee shall be
-responsible for any and all actions and omissions of its Affiliates and
-Contractors relating to the Licensed Software and use thereof (including but
-not limited to payment of all applicable License Fees);
-
-(x) Except when and to the extent explicitly provided in this Section 3,
-Licensee shall not transfer, publish, disclose, display or otherwise make
-available the Licensed Software;
-
-; and
-
-(xi) Licensee shall not attempt or enlist a third party to conduct or attempt
-to conduct any of the above.
-
-Above terms shall not be applicable if and to the extent they conflict with any
-mandatory provisions of any applicable laws.
-
-Any use of Licensed Software beyond the provisions of this Agreement is
-strictly prohibited and requires an additional license from The Qt Company.
-
-4. THIRD PARTY SOFTWARE
-
-The Licensed Software may provide links to third party libraries or code
-(collectively "Third Party Software") to implement various functions. Third
-Party Software does not comprise part of the Licensed Software. In some cases,
-access to Third Party Software may be included in the Licensed Software. Such
-Third Party Software will be listed in the ".../src/3rdparty" source tree
-delivered with the Licensed Software or documented in the Licensed Software, as
-such may be amended from time to time. Licensee acknowledges that use or
-distribution of Third Party Software is in all respects subject to applicable
-license terms of applicable third party right holders.
-
-5. PRE-RELEASE CODE
-
-The Licensed Software may contain pre-release code and functionality marked or
-otherwise stated as "Technology Preview", "Alpha", "Beta" or similar
-designation. Such pre-release code may be present in order to provide
-experimental support for new platforms or preliminary versions of one or more
-new functionalities. The pre-release code may not be at the level of
-performance and compatibility of a final, generally available, product
-offering of the Licensed Software. The pre-release parts of the Licensed
-Software may not operate correctly, may contain errors and may be substantially
-modified by The Qt Company prior to the first commercial product release, if
-any. The Qt Company is under no obligation to make pre-release code
-commercially available, or provide any Support or Updates relating thereto. The
-Qt Company assumes no liability whatsoever regarding any pre-release code, but
-any use thereof is exclusively at Licensee's own risk and expense.
-
-6. LIMITED WARRANTY AND WARRANTY DISCLAIMER
-
-The Qt Company hereby represents and warrants that it has the power and
-authority to grant the rights and licenses granted to Licensee under this
-Agreement.
-
-Except as set forth above, the Licensed Software is licensed to Licensee
-"as is" and Licensee's exclusive remedy and The Qt Company's entire liability
-for errors in the Licensed Software shall be limited, at The Qt Company's
-option, to correction of the error, replacement of the Licensed Software or
-return of the applicable fees paid for the defective Licensed Software for the
-time period during which the License is not able to utilize the Licensed
-Software under the terms of this Agreement.
-
-TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE QT COMPANY ON BEHALF OF
-ITSELF AND ITS LICENSORS, SUPPLIERS AND AFFILIATES, DISCLAIMS ALL OTHER
-WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, ANY IMPLIED
-WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-
-INFRINGEMENT WITH REGARD TO THE LICENSED SOFTWARE. THE QT COMPANY DOES NOT
-WARRANT THAT THE LICENSED SOFTWARE WILL SATISFY LICENSEE'S REQUIREMENTS OR THAT
-IT WILL OPERATE WITHOUT DEFECT OR ERROR OR THAT THE OPERATION THEREOF WILL BE
-UNINTERRUPTED. ALL USE OF AND RELIANCE ON THE LICENSED SOFTWARE IS AT THE SOLE
-RISK OF AND RESPONSIBILITY OF LICENSEE.
-
-7. INDEMNIFICATION AND LIMITATION OF LIABILITY
-
-7.1 Limitation of Liability
-
-EXCEPT FOR (I) CASES OF GROSS NEGLIGENCE OR INTENTIONAL MISCONDUCT, AND (II)
-BREACH OF CONFIDENTIALITY, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, IN NO
-EVENT SHALL EITHER PARTY BE LIABLE TO THE OTHER PARTY FOR ANY LOSS OF PROFIT,
-LOSS OF DATA, LOSS OF BUSINESS OR GOODWILL OR ANY OTHER INDIRECT, SPECIAL,
-CONSEQUENTIAL, INCIDENTAL OR PUNITIVE COST, DAMAGES OR EXPENSE OF ANY KIND,
-HOWSOEVER ARISING UNDER OR IN CONNECTION WITH THIS AGREEMENT. PARTIES
-SPECIFICALLY AGREE THAT LICENSEE'S OBLIGATION TO PAY LICENSE AND OTHER FEES
-CORRESPONDING TO ACTUAL USAGE OF LICENSED SOFTWARE HEREUNDER SHALL BE
-CONSIDERED AS A DIRECT DAMAGE.
-
-EXCEPT FOR (I) CASES OF GROSS NEGLIGENCE OR INTENTIONAL MISCONDUCT, AND (II)
-BREACH OF CONFIDENTIALITY, AND TO THE EXTENT PERMITTED BY APPLICABLE LAW, IN
-NO EVENT SHALL EITHER PARTY'S TOTAL AGGREGATE LIABILITY UNDER THIS AGREEMENT
-EXCEED THE AGGREGATE LICENSE FEES PAID OR PAYABLE TO THE QT COMPANY FROM
-LICENSEE DURING THE PERIOD OF TWELVE (12) MONTHS IMMEDIATELY PRECEDING THE
-EVENT RESULTING IN SUCH LIABILITY.
-
-THE PROVISIONS OF THIS SECTION 7 ALLOCATE THE RISKS UNDER THIS AGREEMENT
-BETWEEN THE QT COMPANY AND LICENSEE AND THE PARTIES HAVE RELIED UPON THE
-LIMITATIONS SET FORTH HEREIN IN DETERMINING WHETHER TO ENTER INTO THIS AGREEMENT.
-
-7.2 Licensee's Indemnification
-
-Licensee shall indemnify and hold harmless The Qt Company from and against any
-claim, injury, judgment, settlement, loss or expense, including attorneys' fees
-related to: (a) Licensee's misrepresentation in connection with The Qt Company
-or the Licensed Software or breach of this Agreement, (b) the Application or
-Device (except where such cause of liability is solely attributable to the
-Licensed Software).
-
-8. SUPPORT, UPDATES AND ONLINE SERVICES
-
-Upon due payment of the agreed License Fees the Licensee will be eligible to
-receive Support and Updates and to use the Online Services during the License
-Term, provided, however, that in the event the License Term is longer than 36
-months, Support is provided only for the first 12 months, unless the Parties
-specifically otherwise agree.
-
-Unless otherwise decided by The Company at its free and absolute discretion,
-Upgrades will not be included in the Support but may be available subject to
-additional fees.
-
-From time to time The Qt Company may change the Support terms, provided that
-during the respective ongoing License Term the level of Support provided by The
-Qt Company may not be reduced without the consent of the Licensee.
-
-Unless otherwise agreed, The Qt Company shall not be responsible for providing
-any service or support to Customers.
-
-9. CONFIDENTIALITY
-
-Each Party acknowledges that during the Term of this Agreement each Party may
-receive information about the other Party's business, business methods,
-business plans, customers, business relations, technology, and other
-information, including the terms of this Agreement, that is confidential and
-of great value to the other Party, and the value of which would be
-significantly reduced if disclosed to third parties ("Confidential
-Information"). Accordingly, when a Party (the "Receiving Party") receives
-Confidential Information from the other Party (the "Disclosing Party"), the
-Receiving Party shall only disclose such information to employees and
-Contractors on a need to know basis, and shall cause its employees and
-employees of its Affiliates to: (i) maintain any and all Confidential
-Information in confidence; (ii) not disclose the Confidential Information to a
-third party without the Disclosing Party's prior written approval; and (iii)
-not, directly or indirectly, use the Confidential Information for any purpose
-other than for exercising its rights and fulfilling its responsibilities
-pursuant to this Agreement. Each Party shall take reasonable measures to
-protect the Confidential Information of the other Party, which measures shall
-not be less than the measures taken by such Party to protect its own
-confidential and proprietary information.
-
-Obligation of confidentiality shall not apply to information that (i) is or
-becomes generally known to the public through no act or omission of the
-Receiving Party; (ii) was in the Receiving Party's lawful possession prior to
-the disclosure hereunder and was not subject to limitations on disclosure or
-use; (iii) is developed independently by employees or Contractors of the
-Receiving Party or other persons working for the Receiving Party who have not
-had access to the Confidential Information of the Disclosing Party, as proven
-by the written records of the Receiving Party; (iv) is lawfully disclosed to
-the Receiving Party without restrictions, by a third party not under an
-obligation of confidentiality; or (v) the Receiving Party is legally compelled
-to disclose, in which case the Receiving Party shall notify the Disclosing
-Party of such compelled disclosure and assert the privileged and confidential
-nature of the information and cooperate fully with the Disclosing Party to
-limit the scope of disclosure and the dissemination of disclosed Confidential
-Information to the minimum extent necessary.
-
-The obligations under this Section 9 shall continue to remain in force for a
-period of five (5) years after the last disclosure, and, with respect to trade
-secrets, for so long as such trade secrets are protected under applicable trade
-secret laws.
-
-10. FEES, DELIVERY AND PAYMENT
-
-10.1 License Fees
-
-License Fees are described in The Qt Company's standard price list, quote or
-Purchase Order confirmation or in an appendix hereto, as the case may be.
-
-The License Fees shall not be refunded or claimed as a credit in any event or
-for any reason whatsoever.
-
-10.2 Ordering Licenses
-
-Licensee may purchase Development Licenses and Distribution Licenses pursuant
-to agreed pricing terms or, if no specific pricing terms have been agreed upon,
-at The Qt Company's standard pricing terms applicable at the time of purchase.
-
-Licensee shall submit all purchase orders for Development Licenses and
-Distribution Licenses to The Qt Company by email or any other method acceptable
-to The Qt Company (each such order is referred to herein as a "Purchase Order")
-for confirmation, whereupon the Purchase Order shall become binding between the
-Parties.
-
-10.3 Distribution License Packs
-
-Unless otherwise agreed, Distribution Licenses shall be purchased by way of
-Distribution License Packs.
-
-Upon due payment of the ordered Distribution License Pack(s), the Licensee will
-have an account of Distribution Licenses available for installing, bundling or
-integrating (all jointly "installing") the Redistributables with the Devices or
-for otherwise distributing the Redistributables in accordance with this
-Agreement.
-
-Each time Licensee "installs" or distributes a copy of Redistributables, then
-one Distribution License is used, and Licensee's account of available
-Distribution Licenses is decreased accordingly.
-
-Licensee may "install" copies of the Redistributables so long as Licensee has
-Distribution Licenses remaining on its account.
-
-Redistributables will be deemed to have been "installed" into a Device when one
-of the following circumstances shall have occurred: a) the Redistributables
-have been loaded onto the Device and used outside of the Licensee's premises or
-b) the Device has been fully tested and placed into Licensee's inventory
-(or sold) for the first time (i.e., Licensee will not be required to use
-(or pay for) more than one Distribution License for each individual Device,
-e.g. in a situation where a Device is returned to Licensee's inventory after
-delivery to a distributor or sale to a Customer). In addition, if Licensee
-includes a back-up copy of the Redistributables on a CD-ROM or other storage
-medium along with the product, that backup copy of the Redistributables will
-not be deemed to have been "installed" and will not require an additional
-Distribution License.
-
-10.4 Payment Terms
-
-License Fees and any other charges under this Agreement shall be paid by
-Licensee no later than thirty (30) days from the date of the applicable invoice
-from The Qt Company.
-
-The Qt Company will submit an invoice to Licensee after the date of this
-Agreement and/or after The Qt Company receives a Purchase Order from
-Licensee.
-
-A late payment charge of the lower of (a) one percent per month; or (b) the
-interest rate stipulated by applicable law, shall be charged on any unpaid
-balances that remain past due.
-
-The Qt Company shall have the right to suspend, terminate or withhold grants
-of all rights to the Licensed Software hereunder, including but not limited to
-the Developer License, Distribution License, and Support, should Licensee fail
-to make payment in timely fashion.
-
-10.5 Taxes
-
-All License Fees and other charges payable hereunder are gross amounts but
-exclusive of any value added tax, use tax, sales tax and other taxes, duties or
-tariffs ("Taxes"). Such applicable Taxes shall be paid by Licensee, or, where
-applicable, in lieu of payment of such Taxes, Licensee shall provide an
-exemption certificate to The Qt Company and any applicable authority.
-
-11 RECORD-KEEPING AND REPORTING OBLIGATIONS; AUDIT RIGHTS
-
-11.1 Licensee's Record-keeping
-
-Licensee shall at all times maintain accurate and up-to-date written records of
-Licensee's activities related to the use of Licensed Software and distribution
-of Redistributables. The records shall be adequate to determine Licensee's
-compliance with the provisions of this Agreement and to demonstrate the number
-of Designated Users and Redistributables distributed by Licensee. The records
-shall conform to good accounting practices reasonably acceptable to The Qt
-Company.
-
-Licensee shall, within thirty (30) days from receiving The Qt Company's request
-to that effect, deliver to The Qt Company a report on Licensee's usage of
-Licensed Software, such report to copies of Redistributables distributed by
-Licensee during that calendar quarter, and also detailing the number of
-undistributed copies of Redistributables made by Licensee and remaining in its
-account contain information, in sufficient detail, on (i) amount of users
-working with Licensed Software, (ii) copies of Redistributables distributed by
-Licensee during that calendar quarter, (iii) number of undistributed copies of
-Redistributables and corresponding number of unused Distribution Licenses
-remaining on Licensee's account, and (iv) any other information as The Qt
-Company may reasonably require from time to time.
-
-11.2. The Qt Company's Audit Rights
-
-The Qt Company or an independent auditor acting on behalf of The Qt Company's,
-may, upon at least five (5) business days' prior written notice and at its
-expense, audit Licensee with respect to the use of the Redistributables, but
-not more frequently than once during each 6-month period. Such audit may be
-conducted by mail, electronic means or through an in-person visit to Licensee's
-place of business. Any such in-person audit shall be conducted during regular
-business hours at Licensee's facilities and shall not unreasonably interfere
-with Licensee's business activities. The Qt Company or the independent auditor
-acting on behalf of The Qt Company shall be entitled to inspect Licensee's
-Records. All such Licensee's Records and use thereof shall be subject to an
-obligation of confidentiality under this Agreement.
-
-If an audit reveals that Licensee is using the Licensed Software beyond scope
-of the licenses Licensee has paid for, Licensee agrees to immediately pay The
-Qt Company any amounts owed for such unauthorized use.
-
-In addition, in the event the audit reveals a material violation of the terms
-of this Agreement (underpayment of more than 5% of License Fees shall always be
-deemed a material violation for purposes of this section), then the Licensee
-shall pay The Qt Company's reasonable cost of conducting such audit.
-
-12 TERM AND TERMINATION
-
-12.1 Term
-
-This Agreement shall enter into force upon due acceptance by both Parties and
-remain in force for as long as there is any Development License(s) in force
-("Term"), unless and until terminated pursuant to the terms of this Section 12.
-
-12.2 Termination by The Qt Company
-
-The Qt Company shall have the right to terminate this Agreement upon thirty
-(30) days prior written notice if the Licensee is in material breach of any
-obligation of this Agreement and fails to remedy such breach within such notice
-period.
-
-12.3 Mutual Right to Terminate
-
-Either Party shall have the right to terminate this Agreement immediately upon
-written notice in the event that the other Party becomes insolvent, files for
-any form of bankruptcy, makes any assignment for the benefit of creditors, has
-a receiver, administrative receiver or officer appointed over the whole or a
-substantial part of its assets, ceases to conduct business, or an act
-equivalent to any of the above occurs under the laws of the jurisdiction of the
-other Party.
-
-12.4 Parties' Rights and Duties upon Termination
-
-Upon expiry or termination of the Agreement Licensee shall cease and shall
-cause all Designated Users (including those of its Affiliates' and
-Contractors') to cease using the Licensed Software and distribution of the
-Redistributables under this Agreement.
-
-Notwithstanding the above, in the event the Agreement expires or is terminated:
-
-(i) as a result of The Qt Company choosing not to renew the Development
-License(s) as set forth in Section 3.1, then all valid licenses possessed by
-the Licensee at such date shall be extended to be valid in perpetuity under the
-terms of this Agreement and Licensee is entitled to purchase additional
-licenses as set forth in Section 10.2; or
-
-(ii) for reason other than by The Qt Company pursuant to item (i) above or
-pursuant to Section 12.2, then the Licensee is entitled, for a period of six
-(6) months after the effective date of termination, to continue distribution of
-Devices under the Distribution Licenses paid but unused at such effective date
-of termination.
-
-Upon any such termination the Licensee shall destroy or return to The Qt
-Company all copies of the Licensed Software and all related materials and will
-certify the same to The Qt Company upon its request, provided however that
-Licensee may retain and exploit such copies of the Licensed Software as it may
-reasonably require in providing continued support to Customers.
-
-Expiry or termination of this Agreement for any reason whatsoever shall not
-relieve Licensee of its obligation to pay any License Fees accrued or payable
-to The Qt Company prior to the effective date of termination, and Licensee
-shall immediately pay to The Qt Company all such fees upon the effective date
-of termination. Termination of this Agreement shall not affect any rights of
-Customers to continue use of Applications and Devices (and therein incorporated
-Redistributables).
-
-12.5 Extension in case of bankruptcy
-
-In the event The Qt Company is declared bankrupt under a final, non-cancellable
-decision by relevant court of law, and this Agreement is not, at the date of
-expiry of the Development License(s) pursuant to Section 3.1, assigned to
-party, who has assumed The Qt Company's position as a legitimate licensor of
-Licensed Software under this Agreement, then all valid licenses possessed by
-the Licensee at such date of expiry, and which the Licensee has not notified
-for expiry, shall be extended to be valid in perpetuity under the terms of
-this Agreement.
-
-13. GOVERNING LAW AND LEGAL VENUE
-
-In the event this Agreement is in the name of The Qt Company Inc., a Delaware
-Corporation, then:
-
-(i) this Agreement shall be construed and interpreted in accordance with the
-laws of the State of California, USA, excluding its choice of law provisions;
-
-(ii) the United Nations Convention on Contracts for the International Sale of
-Goods will not apply to this Agreement; and
-
-(iii) any dispute, claim or controversy arising out of or relating to this
-Agreement or the breach, termination, enforcement, interpretation or validity
-thereof, including the determination of the scope or applicability of this
-Agreement to arbitrate, shall be determined by arbitration in San Francisco,
-USA, before one arbitrator. The arbitration shall be administered by JAMS
-pursuant to JAMS' Streamlined Arbitration Rules and Procedures. Judgment on the
-Award may be entered in any court having jurisdiction. This Section shall not
-preclude parties from seeking provisional remedies in aid of arbitration from a
-court of appropriate jurisdiction.
-
-In the event this Agreement is in the name of The Qt Company Ltd., a Finnish
-Company, then:
-
-(i) this Agreement shall be construed and interpreted in accordance with the
-laws of Finland, excluding its choice of law provisions;
-
-(ii) the United Nations Convention on Contracts for the International Sale of
-Goods will not apply to this Agreement; and
-
-(iii) any disputes, controversy or claim arising out of or relating to this
-Agreement, or the breach, termination or validity thereof shall be shall be
-finally settled by arbitration in accordance with the Arbitration Rules of
-Finland Chamber of Commerce. The arbitration tribunal shall consist of one (1),
-or if either Party so requires, of three (3), arbitrators. The award shall be
-final and binding and enforceable in any court of competent jurisdiction. The
-arbitration shall be held in Helsinki, Finland and the process shall be
-conducted in the English language. This Section shall not preclude parties from
-seeking provisional remedies in aid of arbitration from a court of appropriate
-jurisdiction.
-
-14. GENERAL PROVISIONS
-
-14.1 No Assignment
-
-Except in the case of a merger or sale of substantially all of its corporate
-assets, Licensee shall not be entitled to assign or transfer all or any of its
-rights, benefits and obligations under this Agreement without the prior written
-consent of The Qt Company, which shall not be unreasonably withheld or delayed.
-The Qt Company shall be entitled to freely assign or transfer any of its
-rights, benefits or obligations under this Agreement.
-
-14.2 No Third Party Representations
-
-Licensee shall make no representations or warranties concerning the Licensed
-Software on behalf of The Qt Company. Any representation or warranty Licensee
-makes or purports to make on The Qt Company's behalf shall be void as to The
-Qt Company.
-
-14.3 Surviving Sections
-
-Any terms and conditions that by their nature or otherwise reasonably should
-survive termination of this Agreement shall so be deemed to survive.
-
-14.4 Entire Agreement
-
-This Agreement, the exhibits hereto, the License Certificate and any applicable
-Purchase Order constitute the complete agreement between the Parties and
-supersedes all prior or contemporaneous discussions, representations, and
-proposals, written or oral, with respect to the subject matters discussed
-herein.
-
-In the event of any conflict or inconsistency between this Agreement and any
-Purchase Order, the terms of this Agreement will prevail over the terms of the
-Purchase Order with respect to such conflict or inconsistency.
-
-Parties specifically acknowledge and agree that this Agreement prevails over
-any click-to-accept or similar agreements the Designated Users may need to
-accept online upon download of the Licensed Software, as may be required by
-The Qt Company's applicable processes relating to Licensed Software.
-
-14.5 Modifications
-
-No modification of this Agreement shall be effective unless contained in a
-writing executed by an authorized representative of each Party. No term or
-condition contained in Licensee's Purchase Order shall apply unless expressly
-accepted by The Qt Company in writing.
-
-14.6 Force Majeure
-
-Except for the payment obligations hereunder, neither Party shall be liable to
-the other for any delay or non-performance of its obligations hereunder in the
-event and to the extent that such delay or non-performance is due to an event
-of act of God, terrorist attack or other similar unforeseeable catastrophic
-event that prevents either Party for fulfilling its obligations under this
-Agreement and which such Party cannot avoid or circumvent ("Force Majeure
-Event"). If the Force Majeure Event results in a delay or non-performance of a
-Party for a period of three (3) months or longer, then either Party shall have
-the right to terminate this Agreement with immediate effect without any
-liability (except for the obligations of payment arising prior to the event of
-Force Majeure) towards the other Party.
-
-14.7 Notices
-
-Any notice given by one Party to the other shall be deemed properly given and
-deemed received if specifically acknowledged by the receiving Party in writing
-or when successfully delivered to the recipient by hand, fax, or special
-courier during normal business hours on a business day to the addresses
-specified for each Party on the signature page. Each communication and document
-made or delivered by one Party to the other Party pursuant to this Agreement
-shall be in the English language.
-
-14.8 Export Control
-
-Licensee acknowledges that the Redistributables may be subject to export
-control restrictions under the applicable laws of respective countries.
-Licensee shall fully comply with all applicable export license restrictions
-and requirements as well as with all laws and regulations relating to the
-Redistributables and exercise of licenses hereunder and shall procure all
-necessary governmental authorizations, including without limitation, all
-necessary licenses, approvals, permissions or consents, where necessary for the
-re-exportation of the Redistributables, Applications and/or Devices.
-
-14.9 No Implied License
-
-There are no implied licenses or other implied rights granted under this
-Agreement, and all rights, save for those expressly granted hereunder, shall
-remain with The Qt Company and its licensors. In addition, no licenses or
-immunities are granted to the combination of the Licensed Software with any
-other software or hardware not delivered by The Qt Company under this Agreement.
-
-14.10 Attorney Fees
-
-The prevailing Party in any action to enforce this Agreement shall be entitled
-to recover its attorney's fees and costs in connection with such action.
-
-14.11 Severability
-
-If any provision of this Agreement shall be adjudged by any court of competent
-jurisdiction to be unenforceable or invalid, that provision shall be limited or
-eliminated to the minimum extent necessary so that this Agreement shall
-otherwise remain in full force and effect and enforceable.
-
-
-IN WITNESS WHEREOF, the Parties hereto, intending to be legally bound hereby,
-have caused this Agreement to be executed by Licensee's authorized
-representative installing the Licensed Software and accepting the terms
-hereof in connection therewith.
-
-
-Appendix 1
-
-1. Parts of the Licensed Software that are permitted for distribution in
-object code form only ("Redistributables") under this Agreement:
-
-- The Licensed Software's Qt Essentials and Qt Add-on libraries
-- The Licensed Software's configuration tool ("qtconfig")
-- The Licensed Software's help tool ("Qt Assistant")
-- The Licensed Software's internationalization tools ("Qt Linguist", "lupdate",
- "lrelease")
-- The Licensed Software's QML ("Qt Quick") launcher tool ("qmlscene" or
- "qmlviewer")
-- The Licensed Software's installer framework
-
-2. Parts of the Licensed Software that are not permitted for distribution
-include, but are not limited to:
-
-- The Licensed Software's source code and header files
-- The Licensed Software's documentation
-- The Licensed Software's documentation generation tool ("qdoc")
-- The Licensed Software's tool for writing makefiles ("qmake")
-- The Licensed Software's Meta Object Compiler ("moc")
-- The Licensed Software's User Interface Compiler ("uic")
-- The Licensed Software's Resource Compiler ("rcc")
-- The Licensed Software's parts of the IDE tool ("Qt Creator")
-- The Licensed Software's parts of the Design tools ("Qt 3D Studio" or
- "Qt Quick Designer")
-- The Licensed Software's Emulator
diff --git a/LICENSES/GPL-2.0-only.txt b/LICENSES/GPL-2.0-only.txt
new file mode 100644
index 00000000..d159169d
--- /dev/null
+++ b/LICENSES/GPL-2.0-only.txt
@@ -0,0 +1,339 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it. (Some other Free Software Foundation software is covered by
+the GNU Lesser General Public License instead.) You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must show them these terms so they know their
+rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary. To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License. The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language. (Hereinafter, translation is included without limitation in
+the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+ 1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+ 2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in
+ whole or in part contains or is derived from the Program or any
+ part thereof, to be licensed as a whole at no charge to all third
+ parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively
+ when run, you must cause it, when started running for such
+ interactive use in the most ordinary way, to print or display an
+ announcement including an appropriate copyright notice and a
+ notice that there is no warranty (or else, saying that you provide
+ a warranty) and that users may redistribute the program under
+ these conditions, and telling the user how to view a copy of this
+ License. (Exception: if the Program itself is interactive but
+ does not normally print such an announcement, your work based on
+ the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of Sections
+ 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three
+ years, to give any third party, for a charge no more than your
+ cost of physically performing source distribution, a complete
+ machine-readable copy of the corresponding source code, to be
+ distributed under the terms of Sections 1 and 2 above on a medium
+ customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer
+ to distribute corresponding source code. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form with such
+ an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it. For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable. However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+ 5. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Program or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all. For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded. In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+ 9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+ 10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along
+ with this program; if not, write to the Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs. If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/LICENSES/GPL-3.0-only.txt b/LICENSES/GPL-3.0-only.txt
new file mode 100644
index 00000000..94a9ed02
--- /dev/null
+++ b/LICENSES/GPL-3.0-only.txt
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/LICENSES/LGPL-3.0-only.txt b/LICENSES/LGPL-3.0-only.txt
new file mode 100644
index 00000000..65c5ca88
--- /dev/null
+++ b/LICENSES/LGPL-3.0-only.txt
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/LICENSES/LicenseRef-Qt-Commercial.txt b/LICENSES/LicenseRef-Qt-Commercial.txt
new file mode 100644
index 00000000..825b1f35
--- /dev/null
+++ b/LICENSES/LicenseRef-Qt-Commercial.txt
@@ -0,0 +1,8 @@
+Licensees holding valid commercial Qt licenses may use this software in
+accordance with the the terms contained in a written agreement between
+you and The Qt Company. Alternatively, the terms and conditions that were
+accepted by the licensee when buying and/or downloading the
+software do apply.
+
+For the latest licensing terms and conditions, see https://www.qt.io/terms-conditions.
+For further information use the contact form at https://www.qt.io/contact-us.
diff --git a/LICENSES/Qt-GPL-exception-1.0.txt b/LICENSES/Qt-GPL-exception-1.0.txt
new file mode 100644
index 00000000..d0322bf0
--- /dev/null
+++ b/LICENSES/Qt-GPL-exception-1.0.txt
@@ -0,0 +1,22 @@
+The Qt Company GPL Exception 1.0
+
+Exception 1:
+
+As a special exception you may create a larger work which contains the
+output of this application and distribute that work under terms of your
+choice, so long as the work is not otherwise derived from or based on
+this application and so long as the work does not in itself generate
+output that contains the output from this application in its original
+or modified form.
+
+Exception 2:
+
+As a special exception, you have permission to combine this application
+with Plugins licensed under the terms of your choice, to produce an
+executable, and to copy and distribute the resulting executable under
+the terms of your choice. However, the executable must be accompanied
+by a prominent notice offering all users of the executable the entire
+source code to this application, excluding the source code of the
+independent modules, but including any changes you have made to this
+application, under the terms of this license.
+
diff --git a/README b/README
deleted file mode 100644
index dd4af0d5..00000000
--- a/README
+++ /dev/null
@@ -1,134 +0,0 @@
-HOW TO BUILD QT5
-================
-
-
- Synopsis
- ========
-
- System requirements
- ------------------
-
- - Perl 5.8 or later
- - Python 2.7 or later
- - C++ compiler supporting the C++11 standard
-
- For other platform specific requirements,
- please see section "Setting up your machine" on:
- http://wiki.qt.io/Get_The_Source
-
- Licensing:
- ----------
-
- Opensource users:
-
- <license> = -opensource
-
- Commercial users:
-
- <license> = -commercial
-
- Linux, Mac:
- -----------
-
- cd <path>/<source_package>
- ./configure -prefix $PWD/qtbase <license> -nomake tests
- make -j 4
-
- Windows:
- --------
-
- Open a command prompt.
- Ensure that the following tools can be found in the path:
- * Supported compiler (Visual Studio 2012 or later,
- MinGW-builds gcc 4.9 or later)
- * Perl version 5.12 or later [http://www.activestate.com/activeperl/]
- * Python version 2.7 or later [http://www.activestate.com/activepython/]
- * Ruby version 1.9.3 or later [http://rubyinstaller.org/]
-
- cd <path>\<source_package>
- configure -prefix %CD%\qtbase <license> -nomake tests
- nmake // jom // mingw32-make
-
- To accelerate the bootstrap of qmake with MSVC, it may be useful to pass
- "-make-tool jom" on the configure command line. If you do not use jom,
- adding "/MP" to the CL environment variable is a good idea.
-
- More details follow.
-
- Build!
- ======
-
- A typical `configure; make' build process is used.
-
- Some relevant configure options (see configure -help):
-
- -release Compile and link Qt with debugging turned off.
- -debug Compile and link Qt with debugging turned on.
- -nomake tests Disable building of tests to speed up compilation
- -nomake examples Disable building of examples to speed up compilation
- -confirm-license Automatically acknowledge the LGPL 2.1 license.
-
- Example for a release build:
- (adjust the `-jN' parameter as appropriate for your system)
-
- ./configure -prefix $PWD/qtbase <license>
- make -j4
-
- Example for a developer build:
- (enables more autotests, builds debug version of libraries, ...)
-
- ./configure -developer-build <license>
- make -j4
-
- See output of `./configure -help' for documentation on various options to
- configure.
-
- The above examples will build whatever Qt5 modules have been enabled by
- default in the build system.
-
- It is possible to build selected modules with their dependencies by doing
- a `make module-<foo>'. For example, to build only qtdeclarative,
- and the modules it depends on:
-
- ./configure -prefix $PWD/qtbase <license>
- make -j4 module-qtdeclarative
-
- This can save a lot of time if you are only interested in a subset of Qt5.
-
-
- Hints
- =====
-
- The submodule repository qtrepotools contains useful scripts for
- developers and release engineers. Consider adding qtrepotools/bin
- to your PATH environment variable to access them.
-
- The qt5_tool in qtrepotools has some more features which may be of interest.
- Try `qt5_tool --help'.
-
-
- Building Qt5 from git
- =====================
- See http://wiki.qt.io/Building_Qt_5_from_Git and README.git
- for more information.
- See http://wiki.qt.io/Qt_5 for the reference platforms.
-
-
- Documentation
- =============
-
- After configuring and compiling Qt, building the documentation is possible by running
- "make docs".
-
- After having built the documentation, you need to install it with the following
- command:
-
- make install_docs
-
- The documentation is installed in the path set to $QT_INSTALL_DOCS.
- Running "qmake -query" will list the value of QT_INSTALL_DOCS.
-
- Information about Qt 5's documentation is located in qtbase/doc/README
- or in the following page: http://wiki.qt.io/Qt5DocumentationProject
-
- Note: Building the documentation is only tested on desktop platforms.
diff --git a/README.git b/README.git
index 201612be..3bed88d9 100644
--- a/README.git
+++ b/README.git
@@ -1,17 +1,19 @@
-OBTAINING QT5 FROM GIT
-======================
+OBTAINING QT 6 FROM GIT
+=======================
Synopsis
========
- For a more in-depth description on how to build Qt5 from git,
- please see: http://wiki.qt.io/Building_Qt_5_from_Git
+ For a more in-depth description on how to build Qt 6 from git,
+ please see: http://wiki.qt.io/Building_Qt_6_from_Git
+ Note that, although the git module is called qt5.git, the dev and 6.x branches
+ do contain Qt 6!
Get The Submodules
==================
- Cloning Qt5 does not automatically clone all submodules.
+ Cloning qt5.git does not automatically clone all submodules.
To get the submodules, it is recommended to use the `init-repository' script.
./init-repository
@@ -49,7 +51,7 @@ OBTAINING QT5 FROM GIT
Developing and Contributing to Qt
- ================================
+ =================================
For more information on how to develop and contribute to Qt, please see:
http://wiki.qt.io/Category:Developing_Qt
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..ccf35c37
--- /dev/null
+++ b/README.md
@@ -0,0 +1,127 @@
+HOW TO BUILD Qt 6
+=================
+
+
+Synopsis
+========
+
+System requirements
+-------------------
+
+* C++ compiler supporting the C++17 standard
+* CMake
+* Ninja
+* Python 3
+
+For more details, see also https://doc.qt.io/qt-6/build-sources.html
+
+Linux, Mac:
+-----------
+
+```
+cd <path>/<source_package>
+./configure -prefix $PWD/qtbase
+cmake --build .
+```
+
+Windows:
+--------
+
+1. Open a command prompt.
+2. Ensure that the following tools can be found in the path:
+ * Supported compiler (Visual Studio 2019 or later, or MinGW-builds gcc 11.2 or later)
+ * Python 3 ([https://www.python.org/downloads/windows/] or from Microsoft Store)
+
+```
+cd <path>\<source_package>
+configure -prefix %CD%\qtbase
+cmake --build .
+```
+
+More details follow.
+
+
+Build!
+======
+
+Qt is built with CMake, and a typical
+`configure && cmake --build .` build process is used.
+
+If Ninja is installed, it is automatically chosen as CMake generator.
+
+Some relevant configure options (see configure -help):
+
+* `-release` Compile and link Qt with debugging turned off.
+* `-debug` Compile and link Qt with debugging turned on.
+
+Example for a release build:
+
+```
+./configure -prefix $PWD/qtbase
+cmake --build .
+```
+
+Example for a developer build:
+(enables more autotests, builds debug version of libraries, ...)
+
+```
+./configure -developer-build
+cmake --build .
+```
+
+ See output of `./configure -help` for documentation on various options to
+ configure.
+
+ The above examples will build whatever Qt modules have been enabled
+ by default in the build system.
+
+ It is possible to build selected repositories with their dependencies by doing
+ a `ninja <repo-name>/all`. For example, to build only qtdeclarative,
+ and the modules it depends on:
+
+```
+./configure
+ninja qtdeclarative/all
+```
+
+This can save a lot of time if you are only interested in a subset of Qt.
+
+
+Hints
+=====
+
+The submodule repository `qtrepotools` contains useful scripts for
+developers and release engineers. Consider adding qtrepotools/bin
+to your `PATH` environment variable to access them.
+
+
+Building Qt from git
+====================
+
+See http://wiki.qt.io/Building_Qt_6_from_Git and [README.git](README.git)
+for more information.
+See http://wiki.qt.io/Qt_6 for the reference platforms.
+
+
+Documentation
+=============
+
+After configuring and compiling Qt, building the documentation is possible by running
+
+```
+cmake --build . --target docs
+```
+
+After having built the documentation, you need to install it with the following
+command:
+
+```
+cmake --build . --target install_docs
+```
+
+The documentation is installed in the path specified with the
+configure argument `-docdir`.
+
+Information about Qt's documentation is located in qtbase/doc/README
+
+Note: Building the documentation is only tested on desktop platforms.
diff --git a/README.md.template b/README.md.template
new file mode 100644
index 00000000..0b757877
--- /dev/null
+++ b/README.md.template
@@ -0,0 +1,39 @@
+## Qt Package/Repository Name
+
+### Package Brief
+
+### Documentation
+The documentation can be found in the following places:
+* The online Qt documentation:
+ * [<Qt module> documentation](https://doc.qt.io/qt-6/<qtmodule>-index.html)
+* Build from source:
+ * [Building Qt Documentation](https://wiki.qt.io/Building_Qt_Documentation)
+
+*Note that the documentation links in this document will always be for the
+latest Qt 6 version. If you need to browse the documentation for a specific
+version, you can [browse the archives](https://doc.qt.io/archives/).*
+
+### Build Process
+Building the package/repository does depend on the Qt packages listed in dependencies.yaml.
+Further dependencies to system packages are listed in the configure output.
+
+See the [documentation](https://doc.qt.io/qt-6/build-sources.html) for general
+advice on building the Qt framework and its modules from sources. Further
+information on how to build from source is also available in the
+[wiki](https://wiki.qt.io/Building_Qt_6_from_Git).
+
+### Report an Issue
+If you spot a bug, follow [these](https://doc.qt.io/qt-6/bughowto.html)
+steps to report it.
+
+### Contribute to Qt
+We welcome contributions to Qt! If you'd like to contribute, read the
+[Qt Contribution Guidelines](https://wiki.qt.io/Qt_Contribution_Guidelines).
+
+### Licensing
+Qt is available under various licenses. For details, check out the
+[license documentation](https://doc.qt.io/qt-6/licensing.html).
+
+*Note that this README.md.template serves as a guideline for README.md files,
+and that further sections can be added to individual README.md files if
+necessary.*
diff --git a/_clang-format b/_clang-format
index c64ae331..2fa7c0b0 100644
--- a/_clang-format
+++ b/_clang-format
@@ -11,7 +11,7 @@
# Webkit style was loosely based on the Qt style
BasedOnStyle: WebKit
-Standard: Cpp11
+Standard: c++17
# Column width is limited to 100 in accordance with Qt Coding Style.
# https://wiki.qt.io/Qt_Coding_Style
@@ -20,15 +20,16 @@ ColumnLimit: 100
# How much weight do extra characters after the line length limit have.
# PenaltyExcessCharacter: 4
-# Disable reflow of qdoc comments: indentation rules are different.
-# Translation comments are also excluded.
-CommentPragmas: "^!|^:"
+# Disable reflow of some specific comments
+# qdoc comments: indentation rules are different.
+# Translation comments and SPDX license identifiers are also excluded.
+CommentPragmas: "^!|^:|^ SPDX-License-Identifier:"
# We want a space between the type and the star for pointer types.
PointerBindsToType: false
-# We use template< without space.
-SpaceAfterTemplateKeyword: false
+# We generally use "template <" with space.
+SpaceAfterTemplateKeyword: true
# We want to break before the operators, but not before a '='.
BreakBeforeBinaryOperators: NonAssignment
@@ -42,7 +43,7 @@ BraceWrapping:
AfterFunction: true
AfterNamespace: false
AfterObjCDeclaration: false
- AfterStruct: false
+ AfterStruct: true
AfterUnion: false
BeforeCatch: false
BeforeElse: false
@@ -59,6 +60,11 @@ ContinuationIndentWidth: 8
# No indentation for namespaces.
NamespaceIndentation: None
+# Allow indentation for preprocessing directives (if/ifdef/endif). https://reviews.llvm.org/rL312125
+IndentPPDirectives: AfterHash
+# We only indent with 2 spaces for preprocessor directives
+PPIndentWidth: 2
+
# Horizontally align arguments after an open bracket.
# The coding style does not specify the following, but this is what gives
# results closest to the existing code.
@@ -80,3 +86,29 @@ ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH, forever, Q_FOREVER, QBENCH
# Break constructor initializers before the colon and after the commas.
BreakConstructorInitializers: BeforeColon
+
+# Add "// namespace <namespace>" comments on closing brace for a namespace
+# Ignored for namespaces that qualify as a short namespace,
+# see 'ShortNamespaceLines'
+FixNamespaceComments: true
+
+# Definition of how short a short namespace is, default 1
+ShortNamespaceLines: 1
+
+# When escaping newlines in a macro attach the '\' as far left as possible, e.g.
+##define a \
+# something; \
+# other; \
+# thelastlineislong;
+AlignEscapedNewlines: Left
+
+# Avoids the addition of a space between an identifier and the
+# initializer list in list-initialization.
+SpaceBeforeCpp11BracedList: false
+
+---
+# Use the Google-based style for .proto files.
+Language: Proto
+BasedOnStyle: Google
+IndentWidth: 4
+ColumnLimit: 100
diff --git a/cmake/3rdparty/cmake/Copyright.txt b/cmake/3rdparty/cmake/Copyright.txt
new file mode 100644
index 00000000..2074109b
--- /dev/null
+++ b/cmake/3rdparty/cmake/Copyright.txt
@@ -0,0 +1,136 @@
+CMake - Cross Platform Makefile Generator
+Copyright 2000-2024 Kitware, Inc. and Contributors
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+* Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+* Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+* Neither the name of Kitware, Inc. nor the names of Contributors
+ may be used to endorse or promote products derived from this
+ software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+------------------------------------------------------------------------------
+
+The following individuals and institutions are among the Contributors:
+
+* Aaron C. Meadows <cmake@shadowguarddev.com>
+* Adriaan de Groot <groot@kde.org>
+* Aleksey Avdeev <solo@altlinux.ru>
+* Alexander Neundorf <neundorf@kde.org>
+* Alexander Smorkalov <alexander.smorkalov@itseez.com>
+* Alexey Sokolov <sokolov@google.com>
+* Alex Merry <alex.merry@kde.org>
+* Alex Turbov <i.zaufi@gmail.com>
+* Andreas Pakulat <apaku@gmx.de>
+* Andreas Schneider <asn@cryptomilk.org>
+* André Rigland Brodtkorb <Andre.Brodtkorb@ifi.uio.no>
+* Axel Huebl, Helmholtz-Zentrum Dresden - Rossendorf
+* Benjamin Eikel
+* Bjoern Ricks <bjoern.ricks@gmail.com>
+* Brad Hards <bradh@kde.org>
+* Christopher Harvey
+* Christoph Grüninger <foss@grueninger.de>
+* Clement Creusot <creusot@cs.york.ac.uk>
+* Daniel Blezek <blezek@gmail.com>
+* Daniel Pfeifer <daniel@pfeifer-mail.de>
+* Dawid Wróbel <me@dawidwrobel.com>
+* Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+* Eran Ifrah <eran.ifrah@gmail.com>
+* Esben Mose Hansen, Ange Optimization ApS
+* Geoffrey Viola <geoffrey.viola@asirobots.com>
+* Google Inc
+* Gregor Jasny
+* Helio Chissini de Castro <helio@kde.org>
+* Ilya Lavrenov <ilya.lavrenov@itseez.com>
+* Insight Software Consortium <insightsoftwareconsortium.org>
+* Intel Corporation <www.intel.com>
+* Jan Woetzel
+* Jordan Williams <jordan@jwillikers.com>
+* Julien Schueller
+* Kelly Thompson <kgt@lanl.gov>
+* Konstantin Podsvirov <konstantin@podsvirov.pro>
+* Laurent Montel <montel@kde.org>
+* Mario Bensi <mbensi@ipsquad.net>
+* Martin Gräßlin <mgraesslin@kde.org>
+* Mathieu Malaterre <mathieu.malaterre@gmail.com>
+* Matthaeus G. Chajdas
+* Matthias Kretz <kretz@kde.org>
+* Matthias Maennich <matthias@maennich.net>
+* Michael Hirsch, Ph.D. <www.scivision.co>
+* Michael Stürmer
+* Miguel A. Figueroa-Villanueva
+* Mike Durso <rbprogrammer@gmail.com>
+* Mike Jackson
+* Mike McQuaid <mike@mikemcquaid.com>
+* Nicolas Bock <nicolasbock@gmail.com>
+* Nicolas Despres <nicolas.despres@gmail.com>
+* Nikita Krupen'ko <krnekit@gmail.com>
+* NVIDIA Corporation <www.nvidia.com>
+* OpenGamma Ltd. <opengamma.com>
+* Patrick Stotko <stotko@cs.uni-bonn.de>
+* Per Øyvind Karlsen <peroyvind@mandriva.org>
+* Peter Collingbourne <peter@pcc.me.uk>
+* Petr Gotthard <gotthard@honeywell.com>
+* Philip Lowman <philip@yhbt.com>
+* Philippe Proulx <pproulx@efficios.com>
+* Raffi Enficiaud, Max Planck Society
+* Raumfeld <raumfeld.com>
+* Roger Leigh <rleigh@codelibre.net>
+* Rolf Eike Beer <eike@sf-mail.de>
+* Roman Donchenko <roman.donchenko@itseez.com>
+* Roman Kharitonov <roman.kharitonov@itseez.com>
+* Ruslan Baratov
+* Sebastian Holtermann <sebholt@xwmw.org>
+* Stephen Kelly <steveire@gmail.com>
+* Sylvain Joubert <joubert.sy@gmail.com>
+* The Qt Company Ltd.
+* Thomas Sondergaard <ts@medical-insight.com>
+* Tobias Hunger <tobias.hunger@qt.io>
+* Todd Gamblin <tgamblin@llnl.gov>
+* Tristan Carel
+* University of Dundee
+* Vadim Zhukov
+* Will Dicharry <wdicharry@stellarscience.com>
+
+See version control history for details of individual contributions.
+
+The above copyright and license notice applies to distributions of
+CMake in source and binary form. Third-party software packages supplied
+with CMake under compatible licenses provide their own copyright notices
+documented in corresponding subdirectories or source files.
+
+------------------------------------------------------------------------------
+
+CMake was initially developed by Kitware with the following sponsorship:
+
+ * National Library of Medicine at the National Institutes of Health
+ as part of the Insight Segmentation and Registration Toolkit (ITK).
+
+ * US National Labs (Los Alamos, Livermore, Sandia) ASC Parallel
+ Visualization Initiative.
+
+ * National Alliance for Medical Image Computing (NAMIC) is funded by the
+ National Institutes of Health through the NIH Roadmap for Medical Research,
+ Grant U54 EB005149.
+
+ * Kitware, Inc.
diff --git a/cmake/3rdparty/cmake/QtIRRunCMake.cmake b/cmake/3rdparty/cmake/QtIRRunCMake.cmake
new file mode 100644
index 00000000..dd6a10de
--- /dev/null
+++ b/cmake/3rdparty/cmake/QtIRRunCMake.cmake
@@ -0,0 +1,349 @@
+# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+#
+# Original file location was Tests/RunCMake/RunCMake.cmake
+
+foreach(
+ arg
+ IN ITEMS
+ RunCMake_GENERATOR
+ RunCMake_SOURCE_DIR
+ RunCMake_BINARY_DIR
+ )
+ if(NOT DEFINED ${arg})
+ message(FATAL_ERROR "${arg} not given!")
+ endif()
+endforeach()
+
+function(run_cmake test)
+ if(DEFINED ENV{RunCMake_TEST_FILTER})
+ set(test_and_variant "${test}${RunCMake_TEST_VARIANT_DESCRIPTION}")
+ if(NOT test_and_variant MATCHES "$ENV{RunCMake_TEST_FILTER}")
+ return()
+ endif()
+ unset(test_and_variant)
+ endif()
+
+ set(top_src "${RunCMake_SOURCE_DIR}")
+ set(top_bin "${RunCMake_BINARY_DIR}")
+ if(EXISTS ${top_src}/${test}-result.txt)
+ file(READ ${top_src}/${test}-result.txt expect_result)
+ string(REGEX REPLACE "\n+$" "" expect_result "${expect_result}")
+ elseif(DEFINED RunCMake_TEST_EXPECT_RESULT)
+ set(expect_result "${RunCMake_TEST_EXPECT_RESULT}")
+ else()
+ set(expect_result 0)
+ endif()
+
+ string(TOLOWER ${CMAKE_HOST_SYSTEM_NAME} platform_name)
+ #remove all additional bits from cygwin/msys name
+ if(platform_name MATCHES cygwin)
+ set(platform_name cygwin)
+ endif()
+ if(platform_name MATCHES msys)
+ set(platform_name msys)
+ endif()
+
+ foreach(o IN ITEMS stdout stderr config)
+ if(RunCMake-${o}-file AND EXISTS ${top_src}/${RunCMake-${o}-file})
+ file(READ ${top_src}/${RunCMake-${o}-file} expect_${o})
+ string(REGEX REPLACE "\n+$" "" expect_${o} "${expect_${o}}")
+ elseif(EXISTS ${top_src}/${test}-${o}-${platform_name}.txt)
+ file(READ ${top_src}/${test}-${o}-${platform_name}.txt expect_${o})
+ string(REGEX REPLACE "\n+$" "" expect_${o} "${expect_${o}}")
+ elseif(EXISTS ${top_src}/${test}-${o}.txt)
+ file(READ ${top_src}/${test}-${o}.txt expect_${o})
+ string(REGEX REPLACE "\n+$" "" expect_${o} "${expect_${o}}")
+ elseif(DEFINED RunCMake_TEST_EXPECT_${o})
+ string(REGEX REPLACE "\n+$" "" expect_${o} "${RunCMake_TEST_EXPECT_${o}}")
+ else()
+ unset(expect_${o})
+ endif()
+ endforeach()
+ foreach(o IN ITEMS stdout stderr config)
+ if(DEFINED RunCMake_TEST_NOT_EXPECT_${o})
+ string(REGEX REPLACE "\n+$" "" not_expect_${o} "${RunCMake_TEST_NOT_EXPECT_${o}}")
+ endif()
+ endforeach()
+ if (NOT expect_stderr)
+ if (NOT RunCMake_DEFAULT_stderr)
+ set(RunCMake_DEFAULT_stderr "^$")
+ endif()
+ set(expect_stderr ${RunCMake_DEFAULT_stderr})
+ endif()
+
+ if (NOT RunCMake_TEST_SOURCE_DIR)
+ set(RunCMake_TEST_SOURCE_DIR "${top_src}")
+ endif()
+ if(NOT RunCMake_TEST_BINARY_DIR)
+ set(RunCMake_TEST_BINARY_DIR "${top_bin}/${test}-build")
+ endif()
+ if(NOT RunCMake_TEST_NO_CLEAN)
+ file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
+ endif()
+ file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
+ if(RunCMake-prep-file AND EXISTS ${top_src}/${RunCMake-prep-file})
+ include(${top_src}/${RunCMake-prep-file})
+ else()
+ include(${top_src}/${test}-prep.cmake OPTIONAL)
+ endif()
+ if(RunCMake_TEST_OUTPUT_MERGE)
+ set(actual_stderr_var actual_stdout)
+ set(actual_stderr "")
+ else()
+ set(actual_stderr_var actual_stderr)
+ endif()
+ if(DEFINED RunCMake_TEST_TIMEOUT)
+ set(maybe_timeout TIMEOUT ${RunCMake_TEST_TIMEOUT})
+ else()
+ set(maybe_timeout "")
+ endif()
+ if(RunCMake-stdin-file AND EXISTS ${top_src}/${RunCMake-stdin-file})
+ set(maybe_input_file INPUT_FILE ${top_src}/${RunCMake-stdin-file})
+ elseif(EXISTS ${top_src}/${test}-stdin.txt)
+ set(maybe_input_file INPUT_FILE ${top_src}/${test}-stdin.txt)
+ else()
+ set(maybe_input_file "")
+ endif()
+ if(NOT RunCMake_TEST_COMMAND)
+ if(NOT DEFINED RunCMake_TEST_OPTIONS)
+ set(RunCMake_TEST_OPTIONS "")
+ endif()
+ if(APPLE)
+ list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_POLICY_DEFAULT_CMP0025=NEW)
+ endif()
+ if(RunCMake_TEST_LCC AND NOT RunCMake_TEST_NO_CMP0129)
+ list(APPEND RunCMake_TEST_OPTIONS -DCMAKE_POLICY_DEFAULT_CMP0129=NEW)
+ endif()
+ if(RunCMake_MAKE_PROGRAM)
+ list(APPEND RunCMake_TEST_OPTIONS "-DCMAKE_MAKE_PROGRAM=${RunCMake_MAKE_PROGRAM}")
+ endif()
+ set(RunCMake_TEST_COMMAND ${CMAKE_COMMAND})
+ if(NOT RunCMake_TEST_NO_SOURCE_DIR)
+ list(APPEND RunCMake_TEST_COMMAND "${RunCMake_TEST_SOURCE_DIR}")
+ endif()
+ list(APPEND RunCMake_TEST_COMMAND -G "${RunCMake_GENERATOR}")
+ if(RunCMake_GENERATOR_PLATFORM)
+ list(APPEND RunCMake_TEST_COMMAND -A "${RunCMake_GENERATOR_PLATFORM}")
+ endif()
+ if(RunCMake_GENERATOR_TOOLSET)
+ list(APPEND RunCMake_TEST_COMMAND -T "${RunCMake_GENERATOR_TOOLSET}")
+ endif()
+ if(RunCMake_GENERATOR_INSTANCE)
+ list(APPEND RunCMake_TEST_COMMAND "-DCMAKE_GENERATOR_INSTANCE=${RunCMake_GENERATOR_INSTANCE}")
+ endif()
+ list(APPEND RunCMake_TEST_COMMAND
+ -DRunCMake_TEST=${test}
+ --no-warn-unused-cli
+ )
+ else()
+ set(RunCMake_TEST_OPTIONS "")
+ endif()
+ if(NOT DEFINED RunCMake_TEST_RAW_ARGS)
+ set(RunCMake_TEST_RAW_ARGS "")
+ endif()
+ if(NOT RunCMake_TEST_COMMAND_WORKING_DIRECTORY)
+ set(RunCMake_TEST_COMMAND_WORKING_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
+ endif()
+ string(CONCAT _code [[execute_process(
+ COMMAND ${RunCMake_TEST_COMMAND}
+ ${RunCMake_TEST_OPTIONS}
+ ]] "${RunCMake_TEST_RAW_ARGS}\n" [[
+ WORKING_DIRECTORY "${RunCMake_TEST_COMMAND_WORKING_DIRECTORY}"
+ OUTPUT_VARIABLE actual_stdout
+ ERROR_VARIABLE ${actual_stderr_var}
+ RESULT_VARIABLE actual_result
+ ENCODING UTF8
+ ${maybe_timeout}
+ ${maybe_input_file}
+ )]])
+ if(DEFINED ENV{PWD})
+ set(old_pwd "$ENV{PWD}")
+ else()
+ set(old_pwd)
+ endif()
+ # Emulate a shell using this directory.
+ set(ENV{PWD} "${RunCMake_TEST_COMMAND_WORKING_DIRECTORY}")
+ cmake_language(EVAL CODE "${_code}")
+ if(DEFINED old_pwd)
+ set(ENV{PWD} "${old_pwd}")
+ else()
+ set(ENV{PWD})
+ endif()
+ set(msg "")
+ if(NOT "${actual_result}" MATCHES "${expect_result}")
+ string(APPEND msg "Result is [${actual_result}], not [${expect_result}].\n")
+ endif()
+ set(config_file "${RunCMake_TEST_COMMAND_WORKING_DIRECTORY}/CMakeFiles/CMakeConfigureLog.yaml")
+ if(EXISTS "${config_file}")
+ file(READ "${config_file}" actual_config)
+ else()
+ set(actual_config "")
+ endif()
+
+ # Special case: remove ninja no-op line from stderr, but not stdout.
+ # Test cases that look for it should use RunCMake_TEST_OUTPUT_MERGE.
+ string(REGEX REPLACE "(^|\r?\n)ninja: no work to do\\.\r?\n" "\\1" actual_stderr "${actual_stderr}")
+
+ # Remove incidental content from both stdout and stderr.
+ string(CONCAT ignore_line_regex
+ "(^|\n)((==[0-9]+=="
+ "|BullseyeCoverage"
+ "|[a-z]+\\([0-9]+\\) malloc:"
+ "|clang[^:]*: warning: the object size sanitizer has no effect at -O0, but is explicitly enabled:"
+ "|flang-new: warning: argument unused during compilation: .-flang-experimental-exec."
+ "|icp?x: remark: Note that use of .-g. without any optimization-level option will turn off most compiler optimizations"
+ "|ifx: remark #10440: Note that use of a debug option without any optimization-level option will turnoff most compiler optimizations"
+ "|lld-link: warning: procedure symbol record for .* refers to PDB item index [0-9A-Fa-fx]+ which is not a valid function ID record"
+ "|Error kstat returned"
+ "|Hit xcodebuild bug"
+ "|Recompacting log\\.\\.\\."
+
+ "|LICENSE WARNING:"
+ "|Your license to use PGI[^\n]*expired"
+ "|Please obtain a new version at"
+ "|contact PGI Sales at"
+ "|ic(p?c|l): remark #10441: The Intel\\(R\\) C\\+\\+ Compiler Classic \\(ICC\\) is deprecated"
+
+ "|[^\n]*install_name_tool: warning: changes being made to the file will invalidate the code signature in:"
+ "|[^\n]*(createItemModels|_NSMainThread|Please file a bug at)"
+ "|[^\n]*xcodebuild[^\n]*DVTAssertions: Warning"
+ "|[^\n]*xcodebuild[^\n]*DVTCoreDeviceEnabledState: DVTCoreDeviceEnabledState_Disabled set via user default"
+ "|[^\n]*xcodebuild[^\n]*DVTPlugInManager"
+ "|[^\n]*xcodebuild[^\n]*DVTSDK: Warning: SDK path collision for path"
+ "|[^\n]*xcodebuild[^\n]*Requested but did not find extension point with identifier"
+ "|[^\n]*xcodebuild[^\n]*nil host used in call to allows.*HTTPSCertificateForHost"
+ "|[^\n]*xcodebuild[^\n]*warning: file type[^\n]*is based on missing file type"
+ "|[^\n]*objc[^\n]*: Class [^\n]* One of the two will be used. Which one is undefined."
+ "|[^\n]*is a member of multiple groups"
+ "|[^\n]*offset in archive not a multiple of 8"
+ "|[^\n]*from Time Machine by path"
+ "|[^\n]*Bullseye Testing Technology"
+ ${RunCMake_TEST_EXTRA_IGNORE_LINE_REGEX}
+ ")[^\n]*\n)+"
+ )
+ if(RunCMake_IGNORE_POLICY_VERSION_DEPRECATION)
+ string(REGEX REPLACE [[
+^CMake Deprecation Warning at [^
+]*CMakeLists.txt:1 \(cmake_minimum_required\):
+ Compatibility with CMake < 3\.5 will be removed from a future version of
+ CMake.
+
+ Update the VERSION argument <min> value or use a \.\.\.<max> suffix to tell
+ CMake that the project does not need compatibility with older versions\.
++
+]] "" actual_stderr "${actual_stderr}")
+ endif()
+ foreach(o IN ITEMS stdout stderr config)
+ string(REGEX REPLACE "\r\n" "\n" actual_${o} "${actual_${o}}")
+ string(REGEX REPLACE "${ignore_line_regex}" "\\1" actual_${o} "${actual_${o}}")
+ string(REGEX REPLACE "\n+$" "" actual_${o} "${actual_${o}}")
+ if(DEFINED expect_${o})
+ if(NOT "${actual_${o}}" MATCHES "${expect_${o}}")
+ string(APPEND msg "${o} does not match that expected.\n")
+ endif()
+ endif()
+ if(DEFINED not_expect_${o})
+ if("${actual_${o}}" MATCHES "${not_expect_${o}}")
+ string(APPEND msg "${o} matches that not expected.\n")
+ endif()
+ endif()
+ endforeach()
+ unset(RunCMake_TEST_FAILED)
+ if(RunCMake-check-file AND EXISTS ${top_src}/${RunCMake-check-file})
+ include(${top_src}/${RunCMake-check-file})
+ else()
+ include(${top_src}/${test}-check.cmake OPTIONAL)
+ endif()
+ if(RunCMake_TEST_FAILED)
+ set(msg "${RunCMake_TEST_FAILED}\n${msg}")
+ endif()
+ if(msg)
+ string(REPLACE ";" "\" \"" command "\"${RunCMake_TEST_COMMAND}\"")
+ if(RunCMake_TEST_OPTIONS)
+ string(REPLACE ";" "\" \"" options "\"${RunCMake_TEST_OPTIONS}\"")
+ string(APPEND command " ${options}")
+ endif()
+ if(RunCMake_TEST_RAW_ARGS)
+ string(APPEND command " ${RunCMake_TEST_RAW_ARGS}")
+ endif()
+ string(APPEND msg "Command was:\n command> ${command}\n")
+ endif()
+ if(msg)
+ foreach(o IN ITEMS stdout stderr config)
+ if(DEFINED expect_${o})
+ string(REGEX REPLACE "\n" "\n expect-${o}> " expect_${o} " expect-${o}> ${expect_${o}}")
+ string(APPEND msg "Expected ${o} to match:\n${expect_${o}}\n")
+ endif()
+ if(NOT o STREQUAL "config" OR DEFINED expect_${o})
+ string(REGEX REPLACE "\n" "\n actual-${o}> " actual_${o} " actual-${o}> ${actual_${o}}")
+ string(APPEND msg "Actual ${o}:\n${actual_${o}}\n")
+ endif()
+ endforeach()
+ message(SEND_ERROR "${test}${RunCMake_TEST_VARIANT_DESCRIPTION} - FAILED:\n${msg}")
+ else()
+ message(STATUS "${test}${RunCMake_TEST_VARIANT_DESCRIPTION} - PASSED")
+ endif()
+endfunction()
+
+function(run_cmake_command test)
+ set(RunCMake_TEST_COMMAND "${ARGN}")
+ run_cmake(${test})
+endfunction()
+
+function(run_cmake_script test)
+ set(RunCMake_TEST_COMMAND ${CMAKE_COMMAND} ${ARGN} -P ${RunCMake_SOURCE_DIR}/${test}.cmake)
+ run_cmake(${test})
+endfunction()
+
+function(run_cmake_with_options test)
+ set(RunCMake_TEST_OPTIONS "${ARGN}")
+ run_cmake(${test})
+endfunction()
+
+function(run_cmake_with_raw_args test args)
+ set(RunCMake_TEST_RAW_ARGS "${args}")
+ run_cmake(${test})
+endfunction()
+
+function(ensure_files_match expected_file actual_file)
+ if(NOT EXISTS "${expected_file}")
+ message(FATAL_ERROR "Expected file does not exist:\n ${expected_file}")
+ endif()
+ if(NOT EXISTS "${actual_file}")
+ message(FATAL_ERROR "Actual file does not exist:\n ${actual_file}")
+ endif()
+ file(READ "${expected_file}" expected_file_content)
+ file(READ "${actual_file}" actual_file_content)
+ if(NOT "${expected_file_content}" STREQUAL "${actual_file_content}")
+ message(FATAL_ERROR "Actual file content does not match expected:\n
+ \n
+ expected file: ${expected_file}\n
+ expected content:\n
+ ${expected_file_content}\n
+ \n
+ actual file: ${actual_file}\n
+ actual content:\n
+ ${actual_file_content}\n
+ ")
+ endif()
+endfunction()
+
+# Get the user id on unix if possible.
+function(get_unix_uid var)
+ set("${var}" "" PARENT_SCOPE)
+ if(UNIX)
+ set(ID "id")
+ if(CMAKE_SYSTEM_NAME STREQUAL "SunOS" AND EXISTS "/usr/xpg4/bin/id")
+ set (ID "/usr/xpg4/bin/id")
+ endif()
+ execute_process(COMMAND ${ID} -u $ENV{USER} OUTPUT_VARIABLE uid ERROR_QUIET
+ RESULT_VARIABLE status OUTPUT_STRIP_TRAILING_WHITESPACE)
+ if(status EQUAL 0)
+ set("${var}" "${uid}" PARENT_SCOPE)
+ endif()
+ endif()
+endfunction()
+
+# Protect RunCMake tests from calling environment.
+unset(ENV{MAKEFLAGS})
diff --git a/cmake/3rdparty/cmake/QtIRTestHelpers.cmake b/cmake/3rdparty/cmake/QtIRTestHelpers.cmake
new file mode 100644
index 00000000..804e20f0
--- /dev/null
+++ b/cmake/3rdparty/cmake/QtIRTestHelpers.cmake
@@ -0,0 +1,39 @@
+# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
+# file Copyright.txt or https://cmake.org/licensing for details.
+#
+# Original file location was Tests/RunCMake/CMakeLists.txt
+
+macro(add_RunCMake_test test)
+ set(TEST_ARGS ${ARGN})
+ if ("${ARGV1}" STREQUAL "TEST_DIR")
+ if ("${ARGV2}" STREQUAL "")
+ message(FATAL_ERROR "Invalid args")
+ endif()
+ set(Test_Dir ${ARGV2})
+ list(REMOVE_AT TEST_ARGS 0)
+ list(REMOVE_AT TEST_ARGS 0)
+ else()
+ set(Test_Dir ${test})
+ endif()
+ if(CMAKE_C_COMPILER_ID STREQUAL "LCC")
+ list(APPEND TEST_ARGS -DRunCMake_TEST_LCC=1)
+ endif()
+ add_test(NAME RunCMake.${test} COMMAND ${CMAKE_CMAKE_COMMAND}
+ -DCMAKE_MODULE_PATH=${CMAKE_CURRENT_SOURCE_DIR}
+ -DRunCMake_GENERATOR_IS_MULTI_CONFIG=${_isMultiConfig}
+ -DRunCMake_GENERATOR=${CMAKE_GENERATOR}
+ -DRunCMake_GENERATOR_INSTANCE=${CMAKE_GENERATOR_INSTANCE}
+ -DRunCMake_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
+ -DRunCMake_GENERATOR_TOOLSET=${CMAKE_GENERATOR_TOOLSET}
+ -DRunCMake_MAKE_PROGRAM=${CMake_TEST_EXPLICIT_MAKE_PROGRAM}
+ -DRunCMake_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}/${Test_Dir}
+ -DRunCMake_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}/${test}
+ ${${test}_ARGS}
+ ${TEST_ARGS}
+ -P "${CMAKE_CURRENT_SOURCE_DIR}/${Test_Dir}/RunCMakeTest.cmake"
+ )
+ set_tests_properties("RunCMake.${test}" PROPERTIES LABELS "CMake;run")
+ if(${test} MATCHES ^CMP)
+ set_property(TEST "RunCMake.${test}" APPEND PROPERTY LABELS "policy")
+ endif()
+endmacro()
diff --git a/cmake/3rdparty/cmake/qt_attribution.json b/cmake/3rdparty/cmake/qt_attribution.json
new file mode 100644
index 00000000..8ba8a1e7
--- /dev/null
+++ b/cmake/3rdparty/cmake/qt_attribution.json
@@ -0,0 +1,16 @@
+{
+ "Id": "cmake-test-modules",
+ "Name": "cmake-test-modules",
+ "QDocModule": "qtcore",
+ "QtUsage": "Used as part of the build system.",
+ "QtParts" : [ "tests" ],
+
+ "Description": "CMake helpers for running CMake tests.",
+ "Homepage": "https://cmake.org/",
+ "Version": "3.29.0",
+
+ "License": "BSD 3-Clause \"New\" or \"Revised\" License",
+ "LicenseId": "BSD-3-Clause",
+ "LicenseFile": "Copyright.txt",
+ "Copyright": "Copyright © 2000-2024 Kitware, Inc. and Contributors"
+}
diff --git a/cmake/ECMOptionalAddSubdirectory.cmake b/cmake/ECMOptionalAddSubdirectory.cmake
new file mode 100644
index 00000000..79a533d4
--- /dev/null
+++ b/cmake/ECMOptionalAddSubdirectory.cmake
@@ -0,0 +1,73 @@
+#.rst:
+# ECMOptionalAddSubdirectory
+# --------------------------
+#
+# Make subdirectories optional.
+#
+# ::
+#
+# ecm_optional_add_subdirectory(<dir>)
+#
+# This behaves like add_subdirectory(), except that it does not complain if the
+# directory does not exist. Additionally, if the directory does exist, it
+# creates an option to allow the user to skip it. The option will be named
+# BUILD_<dir>.
+#
+# This is useful for "meta-projects" that combine several mostly-independent
+# sub-projects.
+#
+# If the CMake variable DISABLE_ALL_OPTIONAL_SUBDIRECTORIES is set to TRUE for
+# the first CMake run on the project, all optional subdirectories will be
+# disabled by default (but can of course be enabled via the respective options).
+# For example, the following will disable all optional subdirectories except the
+# one named "foo":
+#
+# .. code-block:: sh
+#
+# cmake -DDISABLE_ALL_OPTIONAL_SUBDIRECTORIES=TRUE -DBUILD_foo=TRUE myproject
+#
+# Since pre-1.0.0.
+
+#=============================================================================
+# Copyright 2007 Alexander Neundorf <neundorf@kde.org>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+function(ECM_OPTIONAL_ADD_SUBDIRECTORY _dir)
+ get_filename_component(_fullPath ${_dir} ABSOLUTE)
+ if(EXISTS ${_fullPath}/CMakeLists.txt)
+ if(DISABLE_ALL_OPTIONAL_SUBDIRECTORIES)
+ set(_DEFAULT_OPTION_VALUE FALSE)
+ else()
+ set(_DEFAULT_OPTION_VALUE TRUE)
+ endif()
+ if(DISABLE_ALL_OPTIONAL_SUBDIRS AND NOT DEFINED BUILD_${_dir})
+ set(_DEFAULT_OPTION_VALUE FALSE)
+ endif()
+ option(BUILD_${_dir} "Build directory ${_dir}" ${_DEFAULT_OPTION_VALUE})
+ if(BUILD_${_dir})
+ add_subdirectory(${_dir})
+ endif()
+ endif()
+endfunction()
diff --git a/cmake/QtIRCommandLineHelpers.cmake b/cmake/QtIRCommandLineHelpers.cmake
new file mode 100644
index 00000000..465a994b
--- /dev/null
+++ b/cmake/QtIRCommandLineHelpers.cmake
@@ -0,0 +1,404 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# This file contains a modified subset of the qtbase/QtProcessConfigureArgs.cmake commands
+# with renamed functions, because we need similar logic for init-repository, but
+# we can't access qtbase before we clone it.
+
+# Call a function with the given arguments.
+function(qt_ir_call_function func)
+ set(call_code "${func}(")
+ math(EXPR n "${ARGC} - 1")
+ foreach(i RANGE 1 ${n})
+ string(APPEND call_code "\"${ARGV${i}}\" ")
+ endforeach()
+ string(APPEND call_code ")")
+ string(REPLACE "\\" "\\\\" call_code "${call_code}")
+ if(${CMAKE_VERSION} VERSION_LESS "3.18.0")
+ set(incfile qt_tmp_func_call.cmake)
+ file(WRITE "${incfile}" "${call_code}")
+ include(${incfile})
+ file(REMOVE "${incfile}")
+ else()
+ cmake_language(EVAL CODE "${call_code}")
+ endif()
+endfunction()
+
+# Show an error.
+function(qt_ir_add_error)
+ message(FATAL_ERROR ${ARGV})
+endfunction()
+
+# Check if there are still unhandled command line arguments.
+function(qt_ir_args_has_next_command_line_arg out_var)
+ qt_ir_get_unhandled_args(args)
+
+ list(LENGTH args n)
+ if(n GREATER 0)
+ set(result TRUE)
+ else()
+ set(result FALSE)
+ endif()
+ set(${out_var} ${result} PARENT_SCOPE)
+endfunction()
+
+# Get the next unhandled command line argument without popping it.
+function(qt_ir_args_peek_next_command_line_arg out_var)
+ qt_ir_get_unhandled_args(args)
+ list(GET args 0 result)
+ set(${out_var} ${result} PARENT_SCOPE)
+endfunction()
+
+# Get the next unhandled command line argument.
+function(qt_ir_args_get_next_command_line_arg out_var)
+ qt_ir_get_unhandled_args(args)
+ list(POP_FRONT args result)
+ qt_ir_set_unhandled_args("${args}")
+ set(${out_var} ${result} PARENT_SCOPE)
+endfunction()
+
+# Helper macro to parse the arguments for the command line options.
+macro(qt_ir_commandline_option_parse_arguments)
+ set(options UNSUPPORTED)
+ set(oneValueArgs TYPE NAME SHORT_NAME ALIAS VALUE DEFAULT_VALUE)
+ set(multiValueArgs VALUES MAPPING)
+ cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+endmacro()
+
+# We use this to define the command line options that init-repository accepts.
+# Arguments
+# name - name of the long form option
+# e.g. 'module-subset' will parse '--module-subset'
+# UNSUPPORTED - mark the option as unsupported in the cmake port of init-repository,
+# which means we will fall back to calling the perl script instead
+# TYPE - the type of the option, currently we support boolean, string and void
+# VALUE - the value to be set for a 'void' type option
+# VALUES - the valid values for an option
+# MAPPING - currently unused
+# SHORT_NAME - an alternative short name flag,
+# e.g. 'f' will parse -f for --force
+# ALIAS - mark the option as an alias of another option, both will have the
+# same value when retrieved.
+# DEFAULT_VALUE - the default value to be set for the option when it's not specified
+# on the command line
+#
+# NOTE: Make sure to update the SHORT_NAME code path when adding new options.
+function(qt_ir_commandline_option_helper name)
+ qt_ir_commandline_option_parse_arguments(${ARGN})
+
+ set(unsupported_options "${commandline_known_unsupported_options}")
+ if(arg_UNSUPPORTED)
+ set(commandline_option_${name}_unsupported
+ "${arg_UNSUPPORTED}" PARENT_SCOPE)
+ list(APPEND unsupported_options "${name}")
+ endif()
+ set(commandline_known_unsupported_options "${unsupported_options}" PARENT_SCOPE)
+
+ set(commandline_known_options
+ "${commandline_known_options};${name}" PARENT_SCOPE)
+
+ set(commandline_option_${name}_type "${arg_TYPE}" PARENT_SCOPE)
+
+ if(NOT "${arg_VALUE}" STREQUAL "")
+ set(commandline_option_${name}_value "${arg_VALUE}" PARENT_SCOPE)
+ endif()
+
+ if(arg_VALUES)
+ set(commandline_option_${name}_values ${arg_VALUES} PARENT_SCOPE)
+ elseif(arg_MAPPING)
+ set(commandline_option_${name}_mapping ${arg_MAPPING} PARENT_SCOPE)
+ endif()
+
+ if(NOT "${arg_SHORT_NAME}" STREQUAL "")
+ set(commandline_option_${name}_short_name "${arg_SHORT_NAME}" PARENT_SCOPE)
+ endif()
+
+ if(NOT "${arg_ALIAS}" STREQUAL "")
+ set(commandline_option_${name}_alias "${arg_ALIAS}" PARENT_SCOPE)
+ endif()
+
+ # Should be last, in case alias was specified
+ if(NOT "${arg_DEFAULT_VALUE}" STREQUAL "")
+ set(commandline_option_${name}_default_value "${arg_DEFAULT_VALUE}" PARENT_SCOPE)
+ qt_ir_command_line_set_input("${name}" "${arg_DEFAULT_VALUE}")
+ endif()
+endfunction()
+
+# Defines an option that init-repository understands.
+# Uses qt_ir_commandline_option_helper to define both long and short option names.
+macro(qt_ir_commandline_option name)
+ # Define the main option
+ qt_ir_commandline_option_helper("${name}" ${ARGN})
+
+ qt_ir_commandline_option_parse_arguments(${ARGN})
+
+ # Define the short name option if it's requested
+ if(NOT "${arg_SHORT_NAME}" STREQUAL ""
+ AND "${commandline_option_${arg_SHORT_NAME}_type}" STREQUAL "")
+ set(unsupported "")
+ if(arg_UNSUPPORTED)
+ set(unsupported "${arg_UNSUPPORTED}")
+ endif()
+
+ qt_ir_commandline_option_helper("${arg_SHORT_NAME}"
+ TYPE "${arg_TYPE}"
+ ALIAS "${name}"
+ VALUE "${arg_VALUE}"
+ VALUES ${arg_VALUES}
+ MAPPING ${arg_MAPPING}
+ DEFAULT_VALUE ${arg_DEFAULT_VALUE}
+ ${unsupported}
+ )
+ endif()
+endmacro()
+
+# Saves the value of a command line option into a global property.
+function(qt_ir_command_line_set_input name val)
+ if(NOT "${commandline_option_${name}_alias}" STREQUAL "")
+ set(name "${commandline_option_${name}_alias}")
+ endif()
+
+ set_property(GLOBAL PROPERTY _qt_ir_input_${name} "${val}")
+ set_property(GLOBAL APPEND PROPERTY _qt_ir_inputs ${name})
+endfunction()
+
+# Appends a value of a command line option into a global property.
+# Currently unused
+function(qt_ir_command_line_append_input name val)
+ if(NOT "${commandline_option_${name}_alias}" STREQUAL "")
+ set(name "${commandline_option_${name}_alias}")
+ endif()
+
+ get_property(oldval GLOBAL PROPERTY _qt_ir_input_${name})
+ if(NOT "${oldval}" STREQUAL "")
+ string(PREPEND val "${oldval};")
+ endif()
+ qt_ir_command_line_set_input(${name} "${val}" )
+endfunction()
+
+# Checks if the value of a command line option is valid.
+function(qt_ir_validate_value opt val out_var)
+ set(${out_var} TRUE PARENT_SCOPE)
+
+ set(valid_values ${commandline_option_${arg}_values})
+ list(LENGTH valid_values n)
+ if(n EQUAL 0)
+ return()
+ endif()
+
+ foreach(v ${valid_values})
+ if(val STREQUAL v)
+ return()
+ endif()
+ endforeach()
+
+ set(${out_var} FALSE PARENT_SCOPE)
+ list(JOIN valid_values " " valid_values_str)
+ qt_ir_add_error("Invalid value '${val}' supplied to command line option '${opt}'."
+ "\nAllowed values: ${valid_values_str}\n")
+endfunction()
+
+# Sets / handles the value of a command line boolean option.
+function(qt_ir_commandline_boolean arg val nextok)
+ if("${val}" STREQUAL "")
+ set(val "yes")
+ endif()
+ if(NOT val STREQUAL "yes" AND NOT val STREQUAL "no")
+ message(FATAL_ERROR
+ "Invalid value '${val}' given for boolean command line option '${arg}'.")
+ endif()
+ qt_ir_command_line_set_input("${arg}" "${val}")
+endfunction()
+
+# Sets / handles the value of a command line string option.
+function(qt_ir_commandline_string arg val nextok)
+ if(nextok)
+ qt_ir_args_get_next_command_line_arg(val)
+
+ if("${val}" MATCHES "^-")
+ qt_ir_add_error("No value supplied to command line options '${arg}'.")
+ endif()
+ endif()
+ qt_ir_validate_value("${arg}" "${val}" success)
+ if(success)
+ qt_ir_command_line_set_input("${arg}" "${val}")
+ endif()
+endfunction()
+
+# Sets / handles the value of a command line void option.
+# This is an option like --force, which doesn't take any arguments.
+# Currently unused
+function(qt_ir_commandline_void arg val nextok)
+ if(NOT "${val}" STREQUAL "")
+ qt_i_add_error("Command line option '${arg}' expects no argument ('${val}' given).")
+ endif()
+ if(DEFINED commandline_option_${arg}_value)
+ set(val ${commandline_option_${arg}_value})
+ endif()
+ if("${val}" STREQUAL "")
+ set(val yes)
+ endif()
+ qt_ir_command_line_set_input("${arg}" "${val}")
+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)
+ set(${out_var} "${args}" PARENT_SCOPE)
+endfunction()
+
+# Reads the optfile_path, iterates over the given command line arguments,
+# sets the input for recongized options.
+#
+# Handles the following styles of CLI arguments:
+# --no-foo / --disable-foo
+# -no-foo / -disable-foo
+# --foo=<values>
+# --foo <values>
+# -foo <values>
+# --foo
+# -foo
+# --f
+# -f
+#
+# Currently handles the following types of CLI arguments:
+# string
+# boolean
+# void
+#
+# IGNORE_UNKNOWN_ARGS tells the function not to fail if it encounters an unknown
+# option, and instead append it to a global list of unknown options.
+# It is needed when the script is called from the configure script with
+# configure-only-known options.
+function(qt_ir_process_args_from_optfile optfile_path)
+ set(options IGNORE_UNKNOWN_ARGS)
+ set(oneValueArgs "")
+ set(multiValueArgs "")
+ cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ qt_ir_get_raw_args_from_optfile("${optfile_path}" configure_args)
+ qt_ir_set_unhandled_args("${configure_args}")
+
+ while(1)
+ qt_ir_args_has_next_command_line_arg(has_next)
+ if(NOT has_next)
+ break()
+ endif()
+ qt_ir_args_get_next_command_line_arg(arg)
+
+ # parse out opt and val
+ set(nextok FALSE)
+ if(arg MATCHES "^--?(disable|no)-(.*)")
+ set(opt "${CMAKE_MATCH_2}")
+ set(val "no")
+ elseif(arg MATCHES "^--([^=]+)=(.*)")
+ set(opt "${CMAKE_MATCH_1}")
+ set(val "${CMAKE_MATCH_2}")
+ elseif(arg MATCHES "^--(.*)")
+ set(nextok TRUE)
+ set(opt "${CMAKE_MATCH_1}")
+ unset(val)
+ elseif(arg MATCHES "^-(.*)")
+ set(nextok TRUE)
+ set(opt "${CMAKE_MATCH_1}")
+ unset(val)
+ else()
+ if(NOT arg_IGNORE_UNKNOWN_ARGS)
+ qt_ir_add_error("Invalid command line parameter '${arg}'.")
+ else()
+ message(DEBUG "Unknown command line parameter '${arg}'. Collecting.")
+ qt_ir_append_unknown_args("${arg}")
+ continue()
+ endif()
+ endif()
+
+ set(type "${commandline_option_${opt}_type}")
+
+ if("${type}" STREQUAL "")
+ if(NOT arg_IGNORE_UNKNOWN_ARGS)
+ qt_ir_add_error("Unknown command line option '${arg}'.")
+ else()
+ message(DEBUG "Unknown command line option '${arg}'. Collecting.")
+ qt_ir_append_unknown_args("${arg}")
+ continue()
+ endif()
+ endif()
+
+ if(NOT COMMAND "qt_ir_commandline_${type}")
+ qt_ir_add_error("Unknown type '${type}' for command line option '${opt}'.")
+ endif()
+ qt_ir_call_function("qt_ir_commandline_${type}" "${opt}" "${val}" "${nextok}")
+ endwhile()
+endfunction()
+
+# Shows help for the command line options.
+function(qt_ir_show_help)
+ set(help_file "${CMAKE_CURRENT_LIST_DIR}/QtIRHelp.txt")
+ if(EXISTS "${help_file}")
+ file(READ "${help_file}" content)
+ message("${content}")
+ endif()
+
+ message([[
+General Options:
+-help, -h ............ Display this help screen
+]])
+endfunction()
+
+# Gets the unhandled command line args.
+function(qt_ir_get_unhandled_args out_var)
+ get_property(args GLOBAL PROPERTY _qt_ir_unhandled_args)
+ set(${out_var} "${args}" PARENT_SCOPE)
+endfunction()
+
+# Sets the unhandled command line args.
+function(qt_ir_set_unhandled_args args)
+ set_property(GLOBAL PROPERTY _qt_ir_unhandled_args "${args}")
+endfunction()
+
+# Adds to the unknown command line args.
+function(qt_ir_append_unknown_args args)
+ set_property(GLOBAL APPEND PROPERTY _qt_ir_unknown_args ${args})
+endfunction()
+
+# Gets the unhandled command line args.
+function(qt_ir_get_unknown_args out_var)
+ get_property(args GLOBAL PROPERTY _qt_ir_unknown_args)
+ set(${out_var} "${args}" PARENT_SCOPE)
+endfunction()
+
+# Gets the unsupported options that init-repository.pl supports, but the cmake port does
+# not support.
+function(qt_ir_get_unsupported_options out_var)
+ set(${out_var} "${commandline_known_unsupported_options}" PARENT_SCOPE)
+endfunction()
+
+# Get the value of a command line option.
+function(qt_ir_get_option_value name out_var)
+ if(NOT "${commandline_option_${name}_alias}" STREQUAL "")
+ set(name "${commandline_option_${name}_alias}")
+ endif()
+
+ get_property(value GLOBAL PROPERTY _qt_ir_input_${name})
+ set(${out_var} "${value}" PARENT_SCOPE)
+endfunction()
+
+# Set the value of a command line option manually.
+function(qt_ir_set_option_value name value)
+ if(NOT "${commandline_option_${name}_alias}" STREQUAL "")
+ set(name "${commandline_option_${name}_alias}")
+ endif()
+
+ qt_ir_command_line_set_input("${name}" "${value}")
+endfunction()
+
+# Get the value of a command line option as a cmakke flag option, to be passed
+# to functions that use cmake_parse_arguments.
+function(qt_ir_get_option_as_cmake_flag_option cli_name cmake_option_name out_var)
+ qt_ir_get_option_value("${cli_name}" bool_value)
+ set(cmake_option "")
+ if(bool_value)
+ set(cmake_option "${cmake_option_name}")
+ endif()
+ set(${out_var} "${cmake_option}" PARENT_SCOPE)
+endfunction()
diff --git a/cmake/QtIRGitHelpers.cmake b/cmake/QtIRGitHelpers.cmake
new file mode 100644
index 00000000..288f4ac7
--- /dev/null
+++ b/cmake/QtIRGitHelpers.cmake
@@ -0,0 +1,1151 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Returns the git version.
+function(qt_ir_get_git_version out_var)
+ qt_ir_get_option_value(perl-identical-output perl_identical_output_for_tests)
+
+ set(extra_args "")
+ if(perl_identical_output_for_tests)
+ set(extra_args FORCE_QUIET)
+ endif()
+
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS git version ${extra_args}
+ OUT_OUTPUT_VAR git_output
+ ERROR_MESSAGE "Failed to retrieve git version")
+
+ string(REGEX REPLACE "^git version ([0-9]+)\\.([0-9]+)\\.([0-9]+).*$" "\\1.\\2.\\3"
+ version "${git_output}")
+ if(NOT version)
+ message(FATAL_ERROR "Failed to parse git version: ${git_output}, expected [d]+.[d]+.[d]+")
+ endif()
+
+ set(${out_var} "${version}" PARENT_SCOPE)
+endfunction()
+
+# Returns the git version, but caches the result in a global property.
+function(qt_ir_get_git_version_cached out_var)
+ get_property(version GLOBAL PROPERTY _qt_git_version)
+ if(NOT version)
+ qt_ir_get_git_version(version)
+ endif()
+
+ set_property(GLOBAL PROPERTY _qt_git_version "${version}")
+
+ set(${out_var} "${version}" PARENT_SCOPE)
+endfunction()
+
+# Returns whether git supports the git submodule --progress option.
+function(qt_ir_is_git_progress_supported out_var)
+ qt_ir_get_git_version_cached(version)
+ if(version VERSION_GREATER_EQUAL "2.11")
+ set(${out_var} TRUE PARENT_SCOPE)
+ else()
+ set(${out_var} FALSE PARENT_SCOPE)
+ endif()
+endfunction()
+
+# Get the mirror with trailing slashes removed.
+function(qt_ir_get_mirror out_var)
+ qt_ir_get_option_value(mirror mirror)
+ qt_ir_get_option_value(berlin berlin)
+ qt_ir_get_option_value(oslo oslo)
+
+ if(berlin)
+ set(mirror "git://hegel/qt/")
+ elseif(oslo)
+ set(mirror "git://qilin/qt/")
+ endif()
+
+ # Replace any double trailing slashes from end of mirror
+ string(REGEX REPLACE "//+$" "/" mirror "${mirror}")
+
+ set(${out_var} "${mirror}" PARENT_SCOPE)
+endfunction()
+
+# Sets up the commit template for a submodule.
+function(qt_ir_setup_commit_template commit_template_dir working_directory)
+ set(template "${commit_template_dir}/.commit-template")
+ if(NOT EXISTS "${template}")
+ return()
+ endif()
+
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS git config commit.template "${template}"
+ ERROR_MESSAGE "Failed to setup commit template"
+ WORKING_DIRECTORY "${working_directory}")
+endfunction()
+
+# Initializes a list of submodules. This does not them, but just
+# sets up the .git/config file submodule.$submodule_name.url based on the .gitmodules template file.
+function(qt_ir_run_git_submodule_init submodules working_directory)
+ set(submodule_dirs "")
+ foreach(submodule_name IN LISTS submodules)
+ set(submodule_path "${${prefix}_${submodule_name}_path}")
+ list(APPEND submodule_dirs "${submodule_name}")
+ endforeach()
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS git submodule init ${submodule_dirs}
+ ERROR_MESSAGE "Failed to git submodule init ${submodule_dirs}"
+ WORKING_DIRECTORY "${working_directory}")
+
+ qt_ir_setup_commit_template("${working_directory}" "${working_directory}")
+endfunction()
+
+# Add gerrit remotes to the repository.
+function(qt_ir_add_git_remotes repo_name working_directory)
+ set(gerrit_ssh_base "ssh://@USER@codereview.qt-project.org@PORT@/qt/")
+ set(gerrit_repo_url "${gerrit_ssh_base}")
+
+ qt_ir_get_option_value(codereview-username username)
+
+ # If given a username, make a "verbose" remote.
+ # Otherwise, rely on proper SSH configuration.
+ if(username)
+ string(REPLACE "@USER@" "${username}@" gerrit_repo_url "${gerrit_repo_url}")
+ string(REPLACE "@PORT@" ":29418" gerrit_repo_url "${gerrit_repo_url}")
+ else()
+ string(REPLACE "@USER@" "" gerrit_repo_url "${gerrit_repo_url}")
+ string(REPLACE "@PORT@" "" gerrit_repo_url "${gerrit_repo_url}")
+ endif()
+
+ string(APPEND gerrit_repo_url "${repo_name}")
+
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS git config remote.gerrit.url "${gerrit_repo_url}"
+ ERROR_MESSAGE "Failed to set gerrit repo url"
+ WORKING_DIRECTORY "${working_directory}")
+
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS
+ git config remote.gerrit.fetch "+refs/heads/*:refs/remotes/gerrit/*" "/heads/"
+ ERROR_MESSAGE "Failed to set gerrit repo fetch refspec"
+ WORKING_DIRECTORY "${working_directory}")
+endfunction()
+
+# Handles the copy-objects option, which is used to detach alternates.
+# A copy of all git objects are made from the alternate repository to the current repository.
+# Then the alternates reference is removed.
+function(qt_ir_handle_detach_alternates working_directory)
+ qt_ir_get_option_value(copy-objects should_detach)
+ if(NOT should_detach)
+ return()
+ endif()
+
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS git repack -a
+ ERROR_MESSAGE "Failed to repack objects to detach alternates"
+ WORKING_DIRECTORY "${working_directory}")
+
+ set(alternates_path "${working_directory}/.git/objects/info/alternates")
+ if(EXISTS "${alternates_path}")
+ file(REMOVE "${alternates_path}")
+ if(EXISTS "${alternates_path}")
+ message(FATAL_ERROR "Failed to remove alternates file: ${alternates_path}")
+ endif()
+ endif()
+endfunction()
+
+# Clones a submodule, unless it was previously cloned.
+# When cloning, checks out a specific branch if requested, otherwise does not
+# checkout any files yet, mimicking a bare repo.
+# Sets up an alternates link if requested.
+# Detaches alternates if requested.
+# Fetches refs if requested.
+# Adds a gerrit git remote.
+# Sets up the commit template for the submodule.
+function(qt_ir_clone_one_submodule submodule_name)
+ set(options
+ CHECKOUT_BRANCH
+ FETCH
+ )
+ set(oneValueArgs
+ ALTERNATES
+ BASE_URL
+ WORKING_DIRECTORY
+ )
+ set(multiValueArgs "")
+ cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ qt_ir_get_working_directory_from_arg(working_directory)
+
+ set(clone_args "")
+ set(submodule_path "${${prefix}_${submodule_name}_path}")
+
+ if(arg_ALTERNATES)
+ # alternates is a qt5 repo, so the submodule will be under that.
+ set(alternates_dir "${arg_ALTERNATES}/${submodule_path}/.git")
+ if(EXISTS "${alternates_dir}")
+ list(APPEND clone_args --reference "${arg_ALTERNATES}/${submodule_path}")
+ else()
+ message(WARNING "'${arg_ALTERNATES}/${submodule_path}' not found, "
+ "ignoring alternate for this submodule")
+ endif()
+ endif()
+
+ if(NOT EXISTS "${working_directory}/${submodule_path}/.git")
+ set(should_clone TRUE)
+ else()
+ set(should_clone FALSE)
+ endif()
+
+ set(submodule_base_git_path "${${prefix}_${submodule_name}_base_git_path}")
+
+ set(submodule_url "${submodule_base_git_path}")
+ qt_ir_has_url_scheme("${submodule_url}" has_url_scheme)
+ if(NOT has_url_scheme AND arg_BASE_URL)
+ set(submodule_url "${arg_BASE_URL}${submodule_url}")
+ endif()
+
+ qt_ir_get_mirror(mirror_url)
+ set(mirror "")
+ if(NOT has_url_scheme AND mirror_url AND (should_clone OR arg_FETCH))
+ set(mirror "${mirror_url}${submodule_base_git_path}")
+ endif()
+
+ set(mirror_or_original_url "${submodule_url}")
+ if(mirror)
+ # Only use the mirror if it can be reached.
+ # Access a non-existing ref so no output is shown. It should still
+ # succeed if the mirror is accessible.
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS git ls-remote "${mirror}" "test/if/mirror/exists"
+ WORKING_DIRECTORY "${working_directory}"
+ NO_HANDLE_ERROR
+ OUT_RESULT_VAR proc_result)
+ if(NOT proc_result EQUAL 0)
+ message("mirror [${mirror}] is not accessible; ${submodule_url} will be used")
+ set(mirror "")
+ else()
+ set(mirror_or_original_url "${mirror}")
+ endif()
+ endif()
+
+ set(submodule_branch "${${prefix}_${submodule_name}_branch}")
+
+ qt_ir_is_git_progress_supported(is_git_progress_supported)
+ qt_ir_get_option_value(quiet quiet)
+ qt_ir_get_option_value(perl-identical-output perl_identical_output_for_tests)
+
+ set(progress_args "")
+ if(is_git_progress_supported AND NOT quiet AND NOT perl_identical_output_for_tests)
+ set(progress_args --progress)
+ endif()
+
+ if(should_clone)
+ if(arg_CHECKOUT_BRANCH)
+ list(APPEND clone_args --branch "${submodule_branch}")
+ else()
+ list(APPEND clone_args --no-checkout)
+ endif()
+ list(APPEND clone_args ${progress_args})
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS git clone ${clone_args} "${mirror_or_original_url}" "${submodule_path}"
+ ERROR_MESSAGE "Failed to clone submodule '${submodule_name}'"
+ WORKING_DIRECTORY "${working_directory}")
+ endif()
+
+ set(submodule_working_dir "${working_directory}/${submodule_path}")
+
+ if(mirror)
+ # This is only for the user's convenience - we make no use of it.
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS git config "remote.mirror.url" "${mirror}"
+ ERROR_MESSAGE "Failed to set git config remote.mirror.url to ${mirror}"
+ WORKING_DIRECTORY "${submodule_working_dir}")
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS git config "remote.mirror.fetch" "+refs/heads/*:refs/remotes/mirror/*"
+ ERROR_MESSAGE "Failed to set git config remote.mirror.fetch"
+ WORKING_DIRECTORY "${submodule_working_dir}")
+ endif()
+
+ if(NOT should_clone AND arg_FETCH)
+ # If we didn't clone, fetch from the right location. We always update
+ # the origin remote, so that submodule update --remote works.
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS git config remote.origin.url "${mirror_or_original_url}"
+ ERROR_MESSAGE "Failed to set remote origin url"
+ WORKING_DIRECTORY "${submodule_working_dir}")
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS git fetch origin ${progress_args}
+ ERROR_MESSAGE "Failed to fetch origin"
+ WORKING_DIRECTORY "${submodule_working_dir}")
+ endif()
+
+ if(NOT (should_clone OR arg_FETCH) OR mirror)
+ # Leave the origin configured to the canonical URL. It's already correct
+ # if we cloned/fetched without a mirror; otherwise it may be anything.
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS git config remote.origin.url "${submodule_url}"
+ ERROR_MESSAGE "Failed to set remote origin url"
+ WORKING_DIRECTORY "${submodule_working_dir}")
+endif()
+
+ set(commit_template_dir "${working_directory}")
+ qt_ir_setup_commit_template("${commit_template_dir}" "${submodule_working_dir}")
+
+ if(NOT has_url_scheme)
+ qt_ir_add_git_remotes("${submodule_base_git_path}" "${submodule_working_dir}")
+ endif()
+
+ qt_ir_handle_detach_alternates("${submodule_working_dir}")
+endfunction()
+
+# Get list of submodules that were previously initialized, by looking at the .git/config file.
+function(qt_ir_get_already_initialized_submodules prefix
+ out_var_already_initialized_submodules
+ parent_repo_base_git_path
+ working_directory
+ )
+
+ qt_ir_parse_git_config_file_contents("${prefix}"
+ READ_GIT_CONFIG
+ PARENT_REPO_BASE_GIT_PATH "${parent_repo_base_git_path}"
+ WORKING_DIRECTORY "${working_directory}"
+ )
+
+ set(${out_var_already_initialized_submodules} "${${prefix}_submodules}" PARENT_SCOPE)
+endfunction()
+
+# If init-repository --force is called with a different subset, remove
+# previously initialized submodules from the .git/config file.
+# Also mark submodules as ignored if requested.
+function(qt_ir_handle_submodule_removal_and_ignoring prefix
+ included_submodules
+ parent_repo_base_git_path
+ working_directory
+ )
+
+ qt_ir_get_option_value(ignore-submodules ignore_submodules)
+
+ qt_ir_get_already_initialized_submodules("${prefix}"
+ already_initialized_submodules
+ "${parent_repo_base_git_path}"
+ "${working_directory}")
+
+ foreach(submodule_name IN LISTS already_initialized_submodules)
+ if(NOT submodule_name IN_LIST included_submodules)
+ # If a submodule is not included in the list of submodules to be initialized,
+ # and it was previously initialized, then remove it from the config.
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS git config --remove-section "submodule.${submodule_name}"
+ ERROR_MESSAGE "Failed to deinit submodule '${submodule_name}'"
+ WORKING_DIRECTORY "${working_directory}")
+ continue()
+ endif()
+ if(ignore_submodules)
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS git config "submodule.${submodule_name}.ignore" all
+ ERROR_MESSAGE "Failed to ignore submodule '${submodule_name}'"
+ WORKING_DIRECTORY "${working_directory}")
+ endif()
+ endforeach()
+endfunction()
+
+# Checks if the submodule is dirty (has uncommited changes).
+function(qt_ir_check_if_dirty_submodule submodule_name working_directory out_is_dirty)
+ set(submodule_path "${working_directory}/${${prefix}_${submodule_name}_path}")
+ if(NOT EXISTS "${submodule_path}/.git")
+ return()
+ endif()
+
+ qt_ir_execute_process_and_log_and_handle_error(
+ FORCE_QUIET
+ COMMAND_ARGS git status --porcelain --untracked=no --ignore-submodules=all
+ WORKING_DIRECTORY "${submodule_path}"
+ ERROR_MESSAGE "Failed to get dirty status for '${submodule_name}'"
+ OUT_OUTPUT_VAR git_output)
+
+ string(STRIP "${git_output}" git_output)
+ string(REPLACE "\n" ";" git_lines "${git_output}")
+
+ # After a git clone --no-checkout, git status reports all files as
+ # staged for deletion, but we still want to update the submodule.
+ # It's unlikely that a genuinely dirty index would have _only_ this
+ # type of modifications, and it doesn't seem like a horribly big deal
+ # to lose them anyway, so ignore them.
+ # @sts = grep(!/^D /, @sts);
+ # Filter list that starts with the regex
+ list(FILTER git_lines EXCLUDE REGEX "^D ")
+
+ if(git_lines)
+ message(STATUS "${submodule_name} is dirty.")
+ set(is_dirty TRUE)
+ else()
+ set(is_dirty FALSE)
+ endif()
+
+ set(${out_is_dirty} "${is_dirty}" PARENT_SCOPE)
+endfunction()
+
+# Checks if any submodules are dirty and exits early if any are.
+function(qt_ir_handle_dirty_submodule submodules working_directory)
+ set(any_is_dirty FALSE)
+ foreach(submodule_name IN LISTS submodules)
+ qt_ir_check_if_dirty_submodule("${submodule_name}" "${working_directory}" is_dirty)
+ if(is_dirty)
+ set(any_is_dirty TRUE)
+ endif()
+ endforeach()
+
+ if(any_is_dirty)
+ message(FATAL_ERROR "Dirty submodule(s) present; cannot proceed.")
+ endif()
+endfunction()
+
+# If the branch option is set, checkout the branch specified in the .gitmodules file.
+function(qt_ir_handle_branch_option prefix submodule_name working_directory)
+ set(branch_name "${${prefix}_${submodule_name}_branch}")
+ if(NOT branch_name)
+ message(FATAL_ERROR "No branch defined for submodule '${submodule_name}'")
+ endif()
+
+ set(repo_dir "${working_directory}/${${prefix}_${submodule_name}_path}")
+ qt_ir_execute_process_and_log_and_handle_error(
+ FORCE_QUIET
+ COMMAND_ARGS git rev-parse -q --verify ${branch_name}
+ WORKING_DIRECTORY "${repo_dir}"
+ NO_HANDLE_ERROR
+ OUT_RESULT_VAR proc_result)
+
+ # If the branch exists locally, check it out.
+ # Otherwise check it out from origin and create a local branch.
+ if(proc_result EQUAL 0)
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS git checkout ${branch_name}
+ WORKING_DIRECTORY "${repo_dir}"
+ ERROR_MESSAGE
+ "Failed to checkout branch '${branch_name}' in submodule '${submodule_name}'")
+ else()
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS git checkout -b ${branch_name} origin/${branch_name}
+ WORKING_DIRECTORY "${repo_dir}"
+ ERROR_MESSAGE
+ "Failed to checkout branch '${branch_name}' in submodule '${submodule_name}'")
+ endif()
+endfunction()
+
+# If the update option is set, update the submodules, without fetching.
+function(qt_ir_handle_update_option will_checkout_branch working_directory)
+ set(extra_args "")
+ if(will_checkout_branch)
+ list(APPEND extra_args --remote --rebase)
+ endif()
+
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS git submodule update --force --no-fetch ${extra_args}
+ ERROR_MESSAGE "Failed to update submodule '${submodule_name}'"
+ WORKING_DIRECTORY "${working_directory}")
+endfunction()
+
+# Looks for the 'default' and 'existing' keys, and replaces them with appropriate
+# values, while making sure to prepend '-' to the values if the original key had it.
+function(qt_ir_handle_dash_in_module_subset_expansion out_var
+ module_subset already_initialized_submodules)
+
+ set(expanded_module_subset "")
+ foreach(submodule_name IN LISTS module_subset)
+ set(has_dash FALSE)
+ string(REGEX REPLACE "^(-)" "" submodule_name "${submodule_name}")
+ if(CMAKE_MATCH_1)
+ set(has_dash TRUE)
+ endif()
+
+ # Replace the default keyword in the input, with the the list of default submodules types,
+ # which will be further replaced.
+ if(submodule_name STREQUAL "default")
+ set(replacement "preview;essential;addon;deprecated")
+ # Replace the existing keyword, with the list of already initialized submodules
+ # from a previous run.
+ elseif(submodule_name STREQUAL "existing")
+ set(replacement "${already_initialized_submodules}")
+
+ if(has_dash)
+ # We can't properly support this with the existing algorithm, because we will
+ # then exclude it also after dependency resolution, and it can cause an empty list
+ # of submodules in certain situations.
+ message(FATAL_ERROR "Excluding existing submodules with '-existing' "
+ "is not supported, just don't include them.")
+ endif()
+ else()
+ set(replacement "${submodule_name}")
+ endif()
+
+ # Prepend dash to all expanded values
+ if(has_dash)
+ list(TRANSFORM replacement PREPEND "-")
+ endif()
+
+ list(APPEND expanded_module_subset "${replacement}")
+ endforeach()
+
+ set(${out_var} "${expanded_module_subset}" PARENT_SCOPE)
+endfunction()
+
+# Processes the given module subset using values that were set by parsing the .gitmodules file.
+#
+# The module subset is a comma-separated list of module names, with an optional '-' at the start.
+# If a - is present, the module (or special expanded keyword) is excluded from the subset.
+# If the value is empty, the default subset is used on initial runs, or the previously
+# existing submodules are used on subsequent runs.
+# If the value is "all", all known submodules are included.
+# If the value is a status like 'addon' or 'essential', only submodules with that status are
+# included.
+# If the value is 'existing', only submodules that were previously initialized are included.
+# This evaluates to an empty list for the first script run.
+# If the value is a module name, only that module is included.
+# The modules to exclude are also set separately, so they can be excluded even after dependency
+# resolution which is done later.
+function(qt_ir_process_module_subset_values prefix)
+ set(options
+ PREVIOUSLY_INITIALIZED
+ )
+ set(oneValueArgs
+ OUT_VAR_INCLUDE
+ OUT_VAR_EXCLUDE
+ )
+ set(multiValueArgs
+ ALREADY_INITIALIZED_SUBMODULES
+ EXTRA_IMPLICIT_SUBMODULES
+ MODULE_SUBSET
+ )
+ cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ string(REPLACE "," ";" module_subset "${arg_MODULE_SUBSET}")
+
+ # If a module subset is not specified, either use the default list for the very first run,
+ # or use the previously initialized submodules for a subsequent run.
+ #
+ # If the are no previously initialized submodules, and 'existing' is specified, default
+ # to 'default'. This handles the case when someone runs git submodule deinit --all --force,
+ # where git initrepository.initialized config key is still true, and then runs
+ # configure -init-submodules. Without defaulting to default, we would end up with an empty
+ # subset and configure would fail.
+ if(NOT module_subset)
+ if(arg_PREVIOUSLY_INITIALIZED)
+ if(arg_ALREADY_INITIALIZED_SUBMODULES)
+ set(module_subset "existing")
+ else()
+ message(DEBUG "No previously initialized submodules detected even though "
+ "'existing' was specified, defaulting to 'default'")
+ set(module_subset "default")
+ endif()
+ else()
+ set(module_subset "default")
+ endif()
+ endif()
+
+
+ qt_ir_handle_dash_in_module_subset_expansion(
+ expanded_module_subset "${module_subset}" "${arg_ALREADY_INITIALIZED_SUBMODULES}")
+
+ set(include_modules "")
+ set(exclude_modules "")
+
+ if(arg_EXTRA_IMPLICIT_SUBMODULES)
+ list(APPEND include_modules ${arg_EXTRA_IMPLICIT_SUBMODULES})
+ endif()
+
+ foreach(value IN LISTS expanded_module_subset ${prefix}_submodules_to_remove)
+ # An '-' at the start means we should exclude those modules.
+ string(REGEX REPLACE "^(-)" "" value "${value}")
+ set(list_op "APPEND")
+ if(CMAKE_MATCH_1)
+ set(list_op "REMOVE_ITEM")
+ endif()
+
+ if(value STREQUAL "all")
+ list(${list_op} include_modules "${${prefix}_submodules}")
+ if("${list_op}" STREQUAL "REMOVE_ITEM")
+ list(APPEND exclude_modules "${${prefix}_submodules}")
+ endif()
+ elseif(value IN_LIST ${prefix}_statuses)
+ list(${list_op} include_modules "${${prefix}_status_${value}_submodules}")
+ if("${list_op}" STREQUAL "REMOVE_ITEM")
+ list(APPEND exclude_modules "${${prefix}_status_${value}_submodules}")
+ endif()
+ elseif(NOT "${${prefix}_${value}_path}" STREQUAL "")
+ list(${list_op} include_modules "${value}")
+ if("${list_op}" STREQUAL "REMOVE_ITEM")
+ list(APPEND exclude_modules "${value}")
+ endif()
+ else()
+ if(list_op STREQUAL "REMOVE_ITEM")
+ message(WARNING "Excluding non-existent module: ${value}")
+ else()
+ message(FATAL_ERROR
+ "Invalid module subset specified, module name is non-existent: ${value}")
+ endif()
+ endif()
+ endforeach()
+
+ set(${arg_OUT_VAR_INCLUDE} "${include_modules}" PARENT_SCOPE)
+ set(${arg_OUT_VAR_EXCLUDE} "${exclude_modules}" PARENT_SCOPE)
+endfunction()
+
+# Sort the modules and add dependencies if dependency resolving is enabled.
+function(qt_ir_get_module_subset_including_deps prefix out_var initial_modules)
+ qt_ir_get_option_value(resolve-deps resolve_deps)
+ qt_ir_get_option_value(optional-deps include_optional_deps)
+ if(resolve_deps)
+ set(exclude_optional_deps "")
+ if(NOT include_optional_deps)
+ set(exclude_optional_deps EXCLUDE_OPTIONAL_DEPS)
+ endif()
+
+ qt_internal_sort_module_dependencies("${initial_modules}" out_repos
+ ${exclude_optional_deps}
+ PARSE_GITMODULES
+ GITMODULES_PREFIX_VAR "${prefix}"
+ )
+ else()
+ set(out_repos "${initial_modules}")
+ endif()
+
+ qt_ir_get_option_value(perl-identical-output perl_identical_output_for_tests)
+ if(NOT perl_identical_output_for_tests)
+ message(DEBUG "repos that will be initialized after dependency handling: ${out_repos}")
+ endif()
+
+ set(${out_var} "${out_repos}" PARENT_SCOPE)
+endfunction()
+
+# Check whether init-repository has been run before, perl style.
+# We assume that if the submodule qtbase has been initialized, then init-repository has been run.
+function(qt_ir_check_if_already_initialized_perl_style out_var_is_initialized working_directory)
+ set(cmd git config --get submodule.qtbase.url)
+
+ set(extra_args "")
+ qt_ir_get_option_value(perl-identical-output perl_identical_output_for_tests)
+ if(perl_identical_output_for_tests)
+ list(APPEND extra_args FORCE_QUIET)
+ endif()
+
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS ${cmd}
+ OUT_RESULT_VAR git_result
+ OUT_OUTPUT_VAR git_output
+ OUT_ERROR_VAR git_error
+ ${extra_args}
+ NO_HANDLE_ERROR
+ WORKING_DIRECTORY "${working_directory}")
+
+ if(git_result EQUAL 1 AND NOT git_output)
+ set(is_initialized FALSE)
+ elseif(git_result EQUAL 0 AND git_output)
+ set(is_initialized TRUE)
+ else()
+ message(FATAL_ERROR "Failed to get result of ${cmd}: ${git_output}")
+ endif()
+
+ set(${out_var_is_initialized} "${is_initialized}" PARENT_SCOPE)
+endfunction()
+
+# Check whether init-repository has been run before, cmake style.
+# Check for the presence of the initrepository.initialized git config key.
+function(qt_ir_check_if_already_initialized_cmake_style out_var_is_initialized working_directory)
+ set(options
+ FORCE_QUIET
+ )
+ set(oneValueArgs "")
+ set(multiValueArgs "")
+ cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ set(cmd git config --get initrepository.initialized)
+
+ set(extra_args "")
+ if(arg_FORCE_QUIET)
+ list(APPEND extra_args FORCE_QUIET)
+ endif()
+
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS ${cmd}
+ OUT_RESULT_VAR git_result
+ OUT_OUTPUT_VAR git_output
+ OUT_ERROR_VAR git_error
+ ${extra_args}
+ NO_HANDLE_ERROR
+ WORKING_DIRECTORY "${working_directory}")
+
+ if(git_result EQUAL 1 AND NOT git_output)
+ set(is_initialized FALSE)
+ elseif(git_result EQUAL 0 AND git_output)
+ set(is_initialized TRUE)
+ else()
+ message(FATAL_ERROR "Failed to get result of ${cmd}: ${git_output}")
+ endif()
+
+ set(${out_var_is_initialized} "${is_initialized}" PARENT_SCOPE)
+endfunction()
+
+# Check whether init-repository has been run before.
+# The CMake and perl script do it differently, choose which way to do it based
+# on the active options.
+function(qt_ir_check_if_already_initialized out_var_is_initialized working_directory)
+ qt_ir_get_option_value(perl-init-check perl_init_check)
+ if(perl_init_check)
+ qt_ir_check_if_already_initialized_perl_style(is_initialized "${working_directory}")
+ else()
+ qt_ir_check_if_already_initialized_cmake_style(is_initialized "${working_directory}")
+ endif()
+
+ set(${out_var_is_initialized} "${is_initialized}" PARENT_SCOPE)
+endfunction()
+
+# Marks the repository as initialized.
+# The perl script used to determine this by checking whether the qtbase submodule was initialized.
+# In the CMake script, we instead opt to set an explicit marker in the repository.
+function(qt_ir_set_is_initialized working_directory)
+ # If emulating perl style initialization check, don't set the marker and exit early.
+ qt_ir_get_option_value(perl-init-check perl_init_check)
+ if(perl_init_check)
+ return()
+ endif()
+
+ set(cmd git config initrepository.initialized true)
+
+ set(extra_args "")
+ qt_ir_get_option_value(perl-identical-output perl_identical_output_for_tests)
+ if(perl_identical_output_for_tests)
+ list(APPEND extra_args FORCE_QUIET)
+ endif()
+
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS ${cmd}
+ ERROR_MESSAGE "Failed to mark repository as initialized"
+ ${extra_args}
+ WORKING_DIRECTORY "${working_directory}")
+endfunction()
+
+# If the repository has already been initialized, exit early.
+function(qt_ir_handle_if_already_initialized out_var_should_exit working_directory)
+ set(should_exit FALSE)
+
+ qt_ir_check_if_already_initialized(is_initialized "${working_directory}")
+ qt_ir_get_option_value(force force)
+ qt_ir_get_option_value(quiet quiet)
+ qt_ir_is_called_from_configure(is_called_from_configure)
+
+ if(is_initialized)
+ if(NOT force)
+ set(should_exit TRUE)
+ if(NOT quiet AND NOT is_called_from_configure)
+ message(
+ "Will not reinitialize already initialized repository (use -f to force)!")
+ endif()
+ endif()
+ endif()
+
+ set(${out_var_should_exit} ${should_exit} PARENT_SCOPE)
+endfunction()
+
+# Parses git remote.origin.url and extracts the base url and the repository name.
+#
+# base_url example: git://code.qt.io/qt
+# repo name example: qt5 or tqtc-qt5
+function(qt_ir_get_qt5_repo_name_and_base_url)
+ set(options "")
+ set(oneValueArgs
+ OUT_VAR_QT5_REPO_NAME
+ OUT_VAR_BASE_URL
+ WORKING_DIRECTORY
+ )
+ set(multiValueArgs "")
+ cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ if(NOT arg_WORKING_DIRECTORY)
+ message(FATAL_ERROR "qt_ir_get_qt5_repo_name_and_base_url: No working directory specified")
+ endif()
+ set(working_directory "${arg_WORKING_DIRECTORY}")
+
+ qt_ir_get_option_value(perl-identical-output perl_identical_output_for_tests)
+
+ set(extra_args "")
+ if(perl_identical_output_for_tests)
+ set(extra_args FORCE_QUIET)
+ endif()
+
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS git config remote.origin.url ${extra_args}
+ ERROR_MESSAGE "No origin remote found for qt5 repository"
+ OUT_OUTPUT_VAR git_output
+ WORKING_DIRECTORY "${working_directory}")
+
+ string(STRIP "${git_output}" git_output)
+
+ # Remove the .git at the end, with an optional slash
+ string(REGEX REPLACE ".git/?$" "" qt5_repo_name "${git_output}")
+
+ # Remove the tqtc- prefix, if it exists, and the qt5 suffix and that will be the base_url
+ # The qt5_repo_name is qt5 or tqtc-qt5.
+ string(REGEX REPLACE "((tqtc-)?qt5)$" "" base_url "${qt5_repo_name}")
+ set(qt5_repo_name "${CMAKE_MATCH_1}")
+
+ if(NOT qt5_repo_name)
+ set(qt5_repo_name "qt5")
+ endif()
+
+ if(NOT base_url)
+ message(FATAL_ERROR "Failed to parse base url from origin remote: ${git_output}")
+ endif()
+
+ set(${arg_OUT_VAR_QT5_REPO_NAME} "${qt5_repo_name}" PARENT_SCOPE)
+ set(${arg_OUT_VAR_BASE_URL} "${base_url}" PARENT_SCOPE)
+endfunction()
+
+# Creates a symlink or a forwarding script to the target path.
+# Use for setting up git hooks.
+function(qt_ir_ensure_link source_path target_path)
+ qt_ir_get_option_value(force-hooks force_hooks)
+ if(EXISTS "${target_path}" AND NOT force_hooks)
+ return()
+ endif()
+
+ # In case we have a dead symlink or pre-existing hook
+ file(REMOVE "${target_path}")
+
+ qt_ir_get_option_value(quiet quiet)
+ if(NOT quiet)
+ message("Aliasing ${source_path}\n as ${target_path} ...")
+ endif()
+
+ if(NOT CMAKE_HOST_WIN32)
+ file(CREATE_LINK "${source_path}" "${target_path}" RESULT result SYMBOLIC)
+ # Don't continue upon success. If symlinking failed, fallthrough to creating
+ # a forwarding script.
+ if(result EQUAL 0)
+ return()
+ endif()
+ endif()
+
+ # Windows doesn't do (proper) symlinks. As the post_commit script needs
+ # them to locate itself, we write a forwarding script instead.
+
+ # Make the path palatable for MSYS.
+ string(REGEX REPLACE "^(.):/" "/\\1/" source_path "${source_path}")
+
+ set(contents "#!/bin/sh\nexec ${source_path} \"$@\"\n")
+ file(WRITE "${target_path}" "${contents}")
+endfunction()
+
+# Installs the git hooks from the qtrepotools module.
+function(qt_ir_install_git_hooks)
+ set(options "")
+ set(oneValueArgs
+ PARENT_REPO_BASE_GIT_PATH
+ TOP_LEVEL_SRC_PATH
+ WORKING_DIRECTORY
+ )
+ set(multiValueArgs "")
+ cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ if(NOT arg_WORKING_DIRECTORY)
+ message(FATAL_ERROR "qt_ir_install_git_hooks: No working directory specified")
+ endif()
+ set(working_directory "${arg_WORKING_DIRECTORY}")
+
+ if(NOT arg_PARENT_REPO_BASE_GIT_PATH)
+ message(FATAL_ERROR "qt_ir_install_git_hooks: No PARENT_REPO_BASE_GIT_PATH specified")
+ endif()
+ set(parent_repo_base_git_path "${arg_PARENT_REPO_BASE_GIT_PATH}")
+
+ if(NOT arg_TOP_LEVEL_SRC_PATH)
+ message(FATAL_ERROR "qt_ir_install_git_hooks: No TOP_LEVEL_SRC_PATH specified")
+ endif()
+ set(top_level_src_path "${arg_TOP_LEVEL_SRC_PATH}")
+
+ set(hooks_dir "${top_level_src_path}/qtrepotools/git-hooks")
+ if(NOT EXISTS "${hooks_dir}")
+ message("Warning: cannot find Git hooks, qtrepotools module might be absent")
+ return()
+ endif()
+
+ set(prefix ir_hooks)
+ qt_ir_parse_git_config_file_contents("${prefix}"
+ READ_GIT_CONFIG_LOCAL
+ PARENT_REPO_BASE_GIT_PATH "${parent_repo_base_git_path}"
+ WORKING_DIRECTORY "${working_directory}"
+ )
+
+ foreach(submodule_name IN LISTS ${prefix}_submodules)
+ set(submodule_git_dir "${working_directory}/${submodule_name}/.git")
+ if(NOT IS_DIRECTORY "${submodule_git_dir}")
+ # Get first line
+ file(STRINGS "${submodule_git_dir}" submodule_git_dir_contents LIMIT_COUNT 1)
+
+ # Remove the gitdir: prefix
+ string(REGEX REPLACE "^(gitdir: )" "" submodule_git_dir
+ "${submodule_git_dir_contents}")
+ if("${CMAKE_MATCH_1}" STREQUAL "")
+ message(FATAL_ERROR "Malformed .git file ${submodule_git_dir}")
+ endif()
+
+ # Make it an absolute path, because gitdir: is usually relative to the submodule
+ get_filename_component(submodule_git_dir "${submodule_git_dir}"
+ ABSOLUTE BASE_DIR "${working_directory}/${submodule_name}")
+
+ # Untested
+ set(common_dir "${submodule_git_dir}/commondir")
+ if(EXISTS "${common_dir}")
+ file(STRINGS "${common_dir}" common_dir_contents LIMIT_COUNT 1)
+ string(STRIP "${common_dir_contents}" common_dir_path)
+ set(submodule_git_dir "${submodule_git_dir}/${common_dir_path}")
+ get_filename_component(submodule_git_dir "${submodule_git_dir}" ABSOLUTE)
+ endif()
+ endif()
+ qt_ir_ensure_link("${hooks_dir}/gerrit_commit_msg_hook"
+ "${submodule_git_dir}/hooks/commit-msg")
+ qt_ir_ensure_link("${hooks_dir}/git_post_commit_hook"
+ "${submodule_git_dir}/hooks/post-commit")
+ qt_ir_ensure_link("${hooks_dir}/clang-format-pre-commit"
+ "${submodule_git_dir}/hooks/pre-commit")
+ endforeach()
+endfunction()
+
+# Saves the list of top-level submodules that should be included and excluded.
+# Will be used to pass these values to the top-level configure script.
+function(qt_ir_set_top_level_submodules included_submodules excluded_submodules)
+ set_property(GLOBAL PROPERTY _qt_ir_top_level_included_submodules "${included_submodules}")
+ set_property(GLOBAL PROPERTY _qt_ir_top_level_excluded_submodules "${excluded_submodules}")
+endfunction()
+
+# Gets the list of top-level submodules that should be included and excluded.
+function(qt_ir_get_top_level_submodules out_included_submodules out_excluded_submodules)
+ get_property(included GLOBAL PROPERTY _qt_ir_top_level_included_submodules)
+ get_property(excluded GLOBAL PROPERTY _qt_ir_top_level_excluded_submodules)
+
+ set(${out_included_submodules} "${included}" PARENT_SCOPE)
+ set(${out_excluded_submodules} "${excluded}" PARENT_SCOPE)
+endfunction()
+
+# Parses the .gitmodules file and proceses the submodules based on the module-subset option
+# or the given SUBMODULES argument.
+# Also adds dependencies if requested.
+#
+# This is a macro because we want the variables set by
+# qt_ir_parse_gitmodules_file_contents to be available in the calling scope, because it's
+# essentially setting a dictionarty, and we don't want to propagate all the variables manually.
+macro(qt_ir_get_submodules prefix out_var_submodules)
+ set(options
+ PREVIOUSLY_INITIALIZED
+ PROCESS_SUBMODULES_FROM_COMMAND_LINE
+ )
+ set(oneValueArgs
+ PARENT_REPO_BASE_GIT_PATH
+ WORKING_DIRECTORY
+ )
+ set(multiValueArgs
+ ALREADY_INITIALIZED_SUBMODULES
+ SUBMODULES
+ )
+ cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ qt_ir_get_working_directory_from_arg(working_directory)
+
+ # Parse the .gitmodules content here, so the parsed data is available downstream
+ # in other functions and recursive calls of the same function.
+ qt_ir_parse_git_config_file_contents("${prefix}"
+ READ_GITMODULES
+ PARENT_REPO_BASE_GIT_PATH "${arg_PARENT_REPO_BASE_GIT_PATH}"
+ WORKING_DIRECTORY "${working_directory}"
+ )
+
+ qt_ir_get_option_value(perl-identical-output perl_identical_output_for_tests)
+ set(extra_implict_submodules "")
+
+ # Get which modules should be initialized, based on the module-subset option.
+ if(arg_PROCESS_SUBMODULES_FROM_COMMAND_LINE)
+ qt_ir_get_option_value(module-subset initial_module_subset)
+
+ # Implicitly add qtrepotools, so we can install git hooks and don't get the
+ # missing qtrepotools warning.
+ if(NOT perl_identical_output_for_tests)
+ list(APPEND extra_implict_submodules "qtrepotools")
+ qt_ir_is_verbose(verbose)
+ if(verbose)
+ message("Implicitly adding qtrepotools to the list of submodules "
+ "to initialize for access to git commit hooks, etc. "
+ "(use --module-subset=<values>,-qtrepotools to exclude it)")
+ endif()
+ endif()
+
+ if(NOT perl_identical_output_for_tests)
+ message(DEBUG "module-subset from command line: ${initial_module_subset}")
+ endif()
+ elseif(arg_SUBMODULES)
+ set(initial_module_subset "${arg_SUBMODULES}")
+ if(NOT perl_identical_output_for_tests)
+ message(DEBUG "module-subset from args: ${initial_module_subset}")
+ endif()
+ else()
+ message(FATAL_ERROR "No submodules specified")
+ endif()
+
+ qt_ir_get_cmake_flag(PREVIOUSLY_INITIALIZED previously_initialized_opt)
+ qt_ir_process_module_subset_values("${prefix}"
+ ${previously_initialized_opt}
+ ${perl_identical_output_opt}
+ ALREADY_INITIALIZED_SUBMODULES ${arg_ALREADY_INITIALIZED_SUBMODULES}
+ EXTRA_IMPLICIT_SUBMODULES ${extra_implict_submodules}
+ MODULE_SUBSET "${initial_module_subset}"
+ OUT_VAR_INCLUDE processed_module_subset
+ OUT_VAR_EXCLUDE modules_to_exclude
+ )
+ if(NOT perl_identical_output_for_tests)
+ message(DEBUG "Processed module subset: ${processed_module_subset}")
+ endif()
+
+ # We only resolve dependencies for the top-level call, not for recursive calls.
+ if(arg_PROCESS_SUBMODULES_FROM_COMMAND_LINE)
+ # Resolve which submodules should be initialized, including dependencies.
+ qt_ir_get_module_subset_including_deps("${prefix}"
+ submodules_with_deps "${processed_module_subset}")
+
+ # Then remove any explicitly specified submodules.
+ set(submodules_with_deps_and_excluded "${submodules_with_deps}")
+ if(modules_to_exclude)
+ list(REMOVE_ITEM submodules_with_deps_and_excluded ${modules_to_exclude})
+ endif()
+
+ if(NOT perl_identical_output_for_tests AND modules_to_exclude)
+ message(DEBUG "Repos that will be excluded after dependency handling: ${modules_to_exclude}")
+ endif()
+
+ set(submodules "${submodules_with_deps_and_excluded}")
+ qt_ir_set_top_level_submodules("${submodules}" "${modules_to_exclude}")
+ else()
+ set(submodules "${processed_module_subset}")
+ endif()
+
+ # Remove duplicates
+ set(submodules_maybe_duplicates "${submodules}")
+ list(REMOVE_DUPLICATES submodules)
+ if(NOT perl_identical_output_for_tests AND NOT submodules STREQUAL submodules_maybe_duplicates)
+ message(DEBUG "Removed duplicates from submodules, final list: ${submodules}")
+ endif()
+
+ set(${out_var_submodules} "${submodules}" PARENT_SCOPE)
+endmacro()
+
+# Recursively initialize submodules starting from the given current working directory.
+# This is the equivalent of the perl script's git_clone_all_submodules function.
+function(qt_ir_handle_init_submodules prefix)
+ set(options
+ CHECKOUT_BRANCH
+ PREVIOUSLY_INITIALIZED
+ PROCESS_SUBMODULES_FROM_COMMAND_LINE
+ )
+ set(oneValueArgs
+ ALTERNATES
+ BASE_URL
+ PARENT_REPO_BASE_GIT_PATH
+ WORKING_DIRECTORY
+ )
+ set(multiValueArgs
+ ALREADY_INITIALIZED_SUBMODULES
+ SUBMODULES
+ )
+ cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ qt_ir_get_working_directory_from_arg(working_directory)
+
+ # Get the submodules that should be initialized.
+ qt_ir_get_cmake_flag(PROCESS_SUBMODULES_FROM_COMMAND_LINE
+ process_submodules_from_command_line_opt)
+ qt_ir_get_cmake_flag(PREVIOUSLY_INITIALIZED
+ previously_initialized_opt)
+ qt_ir_get_submodules(${prefix} submodules
+ ${process_submodules_from_command_line_opt}
+ ${previously_initialized_opt}
+ ALREADY_INITIALIZED_SUBMODULES ${arg_ALREADY_INITIALIZED_SUBMODULES}
+ PARENT_REPO_BASE_GIT_PATH "${arg_PARENT_REPO_BASE_GIT_PATH}"
+ SUBMODULES "${arg_SUBMODULES}"
+ WORKING_DIRECTORY "${working_directory}"
+ )
+
+ qt_ir_get_option_value(perl-identical-output perl_identical_output_for_tests)
+ if(NOT submodules AND NOT perl_identical_output_for_tests)
+ message("No submodules were given to initialize or they were all excluded.")
+ return()
+ endif()
+
+ # Initialize the submodules, but don't clone them yet.
+ qt_ir_run_git_submodule_init("${submodules}" "${working_directory}")
+
+ # Deinit submodules that are not in the list of submodules to be initialized.
+ qt_ir_handle_submodule_removal_and_ignoring("${prefix}"
+ "${submodules}" "${arg_PARENT_REPO_BASE_GIT_PATH}" "${working_directory}")
+
+ # Check for dirty submodules.
+ qt_ir_handle_dirty_submodule("${submodules}" "${working_directory}")
+
+ qt_ir_get_cmake_flag(CHECKOUT_BRANCH branch_flag)
+ qt_ir_get_option_as_cmake_flag_option(fetch "FETCH" fetch_flag)
+
+ # Manually clone each submodule if it was not previously cloned, so we can easily
+ # use reference (alternates) repos, mirrors, etc.
+ # If already cloned, just fetch new data.
+ #
+ # Note that manually cloning the submodules, as opposed to running git submodule update,
+ # places the .git directories inside the submodule directories, but latest git versions
+ # expect it in $super_repo/.git/modules.
+ # When de-initializing submodules manually, git will absorb the .git directories into the super
+ # repo.
+ # In case if the super repo already has a copy of the submodule .git dir, git will fail
+ # to absorb the .git dir and error out. In that case the already existing .git dir needs to be
+ # removed manually, there is no git command to do it afaik.
+ foreach(submodule_name IN LISTS submodules)
+ qt_ir_clone_one_submodule(${submodule_name}
+ ALTERNATES ${arg_ALTERNATES}
+ BASE_URL ${arg_BASE_URL}
+ WORKING_DIRECTORY "${working_directory}"
+ ${branch_flag}
+ ${fetch_flag}
+ )
+ endforeach()
+
+ # Checkout branches instead of the default detached HEAD.
+ if(branch_flag)
+ foreach(submodule_name IN LISTS submodules)
+ qt_ir_handle_branch_option("${prefix}" ${submodule_name} "${working_directory}")
+ endforeach()
+ endif()
+
+ qt_ir_get_option_value(update will_update)
+ if(will_update)
+
+ # Update the checked out refs without fetching.
+ qt_ir_handle_update_option("${branch_flag}" "${working_directory}")
+
+ # Recursively initialize submodules of submodules.
+ foreach(submodule_name IN LISTS submodules)
+ set(submodule_path "${${prefix}_${submodule_name}_path}")
+ set(submodule_gitmodules_path "${working_directory}/${submodule_path}/.gitmodules")
+
+ if(EXISTS "${submodule_gitmodules_path}")
+ set(alternates_option "")
+ if(arg_ALTERNATES)
+ set(alternates_option ALTERNATES "${arg_ALTERNATES}/${submodule_name}")
+ endif()
+
+ set(submodule_base_git_path "${${prefix}_${submodule_name}_base_git_path}")
+
+ qt_ir_handle_init_submodules(
+ # Use a different prefix to store new gitmodules data
+ ir_sub_${submodule_name}
+
+ # Check out all submodules recursively
+ SUBMODULES "all"
+
+ BASE_URL "${base_url}"
+ PARENT_REPO_BASE_GIT_PATH "${submodule_base_git_path}"
+ WORKING_DIRECTORY "${working_directory}/${submodule_name}"
+
+ # The CHECKOUT_BRANCH option is not propagated on purpose
+ ${alternates_option}
+ )
+ endif()
+ endforeach()
+ endif()
+endfunction()
diff --git a/cmake/QtIRHelp.txt b/cmake/QtIRHelp.txt
new file mode 100644
index 00000000..9d6f5749
--- /dev/null
+++ b/cmake/QtIRHelp.txt
@@ -0,0 +1,134 @@
+Usage:
+ ./init-repository [options]
+
+ This script may be run after an initial `git clone' of the Qt supermodule
+ in order to check out all submodules. It fetches them from canonical URLs
+ inferred from the clone's origin.
+
+Options:
+ Global options:
+
+ --force, -f
+ Force initialization (even if the submodules are already checked
+ out).
+
+ --force-hooks
+ Force initialization of hooks (even if there are already hooks in
+ checked out submodules).
+
+ --quiet, -q
+ Be quiet. Will exit cleanly if the repository is already
+ initialized.
+
+ --verbose
+ Adds a bit more output when executing processes
+
+ --no-resolve-deps
+ By default, each submodule specified via the module-subset option
+ will have its required and optional dependencies also initialized.
+ This option can be passed to disable automatic initialization of
+ dependencies, so that the exact list passed to module-subset is
+ initialized.
+
+ --no-optional-deps
+ By default, each submodule specified via the module-subset option
+ will have its optional dependencies also initialized.
+ This option can be passed to initialize only required dependencies of
+ the given module-subset.
+
+ Module options:
+
+ --module-subset=<module1>,<module2>... / -submodules <module1>,<module2>...
+ Only initialize the specified subset of modules given as the
+ argument. Specified modules must already exist in .gitmodules. The
+ string "all" results in cloning all known modules. The strings
+ "essential", "addon", "preview", "deprecated", "obsolete",
+ "additionalLibrary", and "ignore" refer to classes of modules
+ identified by "status=" lines in the .gitmodules file.
+ You can use "existing" to to reference already initialized submodules.
+ Additionally, "qtrepotools" is implicitly always added to ensure
+ relevant git commit hooks are available. It can be excluded as described
+ below.
+ You can use "default" in the subset as a short-hand for
+ "essential,addon,preview,deprecated", which corresponds to the set of
+ maintained modules included in standard Qt releases; this is also the
+ default module subset when this option is not given when first running
+ init-repositoy. If init-repository is rerun a second time (with --force)
+ the default is to initialize the "existing" submodules, rather than the
+ default subset. Entries may be prefixed with a dash to exclude them
+ from a bigger set, e.g. "all,-ignore" or "existing,-qttools".
+ For compatibility with qt's configure script, -submodules is an alias
+ of --module-subset. Note the difference in dashes and the equal sign.
+
+ --no-update
+ Skip the `git submodule update' command.
+
+ --no-fetch
+ Skip the `git fetch' commands. Implied by --no-update.
+
+ --branch
+ Instead of checking out specific SHA1s, check out the submodule
+ branches that correspond with the current supermodule commit. By
+ default, this option will cause local commits in the submodules to
+ be rebased. With --no-update, the branches will be checked out, but
+ their heads will not move.
+
+ --ignore-submodules
+ Set git config to ignore submodules by default when doing operations
+ on the qt5 repo, such as `pull', `fetch', `diff' etc.
+
+ After using this option, pass `--ignore-submodules=none' to git to
+ override it as needed.
+
+ Repository options:
+
+ --berlin
+ Switch to internal URLs and make use of the Berlin git mirrors.
+ (Implies `--mirror').
+
+ --oslo
+ Switch to internal URLs and make use of the Oslo git mirrors.
+ (Implies `--mirror').
+
+ --codereview-username <Gerrit/JIRA username>
+ Specify the user name for the (potentially) writable `gerrit' remote
+ for each module, for use with the Gerrit code review tool.
+
+ If this option is omitted, the gerrit remote is created without a
+ username and port number, and thus relies on a correct SSH
+ configuration.
+
+ --alternates <path to other Qt5 repo>
+ Adds alternates for each submodule to another full qt5 checkout.
+ This makes this qt5 checkout very small, as it will use the object
+ store of the alternates before unique objects are stored in its own
+ object store.
+
+ This option has no effect when using `--no-update'.
+
+ NOTE: This will make this repo dependent on the alternate, which is
+ potentially dangerous! The dependency can be broken by also using
+ the `--copy-objects' option, or by running "git repack -a" in each
+ submodule, where required. Please read the note about the `--shared'
+ option in the documentation of `git clone' for more information.
+
+ --copy-objects
+ When `--alternates' is used, automatically do a "git repack -a" in
+ each submodule after cloning, to ensure that the repositories are
+ independent from the source used as a reference for cloning.
+
+ Note that this negates the disk usage benefits gained from the use
+ of `--alternates'.
+ --mirror <url-base>
+ Uses <url-base> as the base URL for submodule git mirrors.
+
+ For example:
+
+ --mirror user\@machine:/foo/bar/qt/
+
+ ...will use the following as a mirror for qtbase:
+
+ user\@machine:/foo/bar/qt/qtbase.git
+
+ The mirror is permitted to contain a subset of the submodules; any
+ missing modules will fall back to the canonical URLs.
diff --git a/cmake/QtIRHelpers.cmake b/cmake/QtIRHelpers.cmake
new file mode 100644
index 00000000..9f372932
--- /dev/null
+++ b/cmake/QtIRHelpers.cmake
@@ -0,0 +1,367 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Includes all helper files for access to necessary functions.
+macro(qt_ir_include_all_helpers)
+ include(QtIRCommandLineHelpers)
+ include(QtIRGitHelpers)
+ include(QtIROptionsHelpers)
+ include(QtIRParsingHelpers)
+ include(QtIRProcessHelpers)
+ include(QtIRTestHelpers)
+ include(QtTopLevelHelpers)
+endmacro()
+
+# Convenience macro to get the working directory from the arguments passed to
+# cmake_parse_arguments. Saves a few lines and makes reading the code slightly
+# easier.
+macro(qt_ir_get_working_directory_from_arg out_var)
+ if(NOT arg_WORKING_DIRECTORY)
+ message(FATAL_ERROR "No working directory specified")
+ endif()
+ set(${out_var} "${arg_WORKING_DIRECTORY}")
+endmacro()
+
+# Convenience function to set the variable to the name of cmake_parse_arguments
+# flag option if it is active.
+function(qt_ir_get_cmake_flag flag_name out_var)
+ if(arg_${flag_name})
+ set(${out_var} "${flag_name}" PARENT_SCOPE)
+ else()
+ set(${out_var} "" PARENT_SCOPE)
+ endif()
+endfunction()
+
+# There are some init-repository options that we do not want to allow when called from
+# configure. Make sure we error out when they are set by the user.
+function(qt_ir_validate_options_for_configure)
+ set(disallowed_options
+ # Disallow mirror options, because users should set up a proper git mirror manually,
+ # not via configure.
+ mirror
+ oslo
+ berlin
+ )
+ foreach(disallowed_option IN LISTS disallowed_options)
+ qt_ir_get_option_value(${disallowed_option} value)
+ if(value)
+ set(msg
+ "Initialization option '${disallowed_option}' is not supported by configure. "
+ "If you think this option should be supported, please let us know at "
+ "https://bugreports.qt.io/"
+ )
+ message(FATAL_ERROR ${msg})
+ endif()
+ endforeach()
+endfunction()
+
+# Handle the case when init-repository is called from the configure script.
+function(qt_ir_handle_called_from_configure top_level_src_path out_var_exit_reason)
+ # Nothing special to do if we're not called from configure.
+ qt_ir_is_called_from_configure(is_called_from_configure)
+ if(NOT is_called_from_configure)
+ set(${out_var_exit_reason} FALSE PARENT_SCOPE)
+ return()
+ endif()
+
+ # Check whether qtbase was cloned, if not, tell the user how to initialize
+ # the repos as part of the configure script.
+ qt_ir_get_option_value(init-submodules init_submodules)
+ set(configure_script "${top_level_src_path}/qtbase/configure")
+ if(NOT EXISTS "${configure_script}" AND NOT init_submodules)
+ set(msg "Oops. It looks like you didn't initialize any submodules yet.\nCall configure "
+ "with the -init-submodules option to automatically clone a default set of "
+ "submodules before configuring Qt.\nYou can also pass "
+ "-submodules submodule2,submodule3 to clone a particular set of submodules "
+ "and their dependencies. See ./init-repository --help for more information on values "
+ "accepted by --module-subset (which gets its values from -submodules).")
+ message(${msg})
+ set(${out_var_exit_reason} NEED_INIT_SUBMODULES PARENT_SCOPE)
+ return()
+ endif()
+
+ # Don't do init-repository things when called from configure, qtbase exists and the
+ # -init-submodules option is not passed. We assume the repo was already
+ # initialized.
+ if(NOT init_submodules)
+ set(${out_var_exit_reason} ALREADY_INITIALIZED PARENT_SCOPE)
+ return()
+ endif()
+
+ qt_ir_validate_options_for_configure()
+
+ # -init_submodules implies --force
+ qt_ir_set_option_value(force TRUE)
+
+ set(${out_var_exit_reason} FALSE PARENT_SCOPE)
+endfunction()
+
+# Returns a list of command line arguments with the init-repository specific
+# options removed, which are not recognized by configure.
+# It also handles -submodules values like 'essential', 'existing' and '-qtsvg' and transforms them
+# into the final list of submodules to be included and excluded, which are then translated
+# to configure -submodules and -skip options.
+function(qt_ir_get_args_from_optfile_configure_filtered optfile_path out_var)
+ cmake_parse_arguments(arg "ALREADY_INITIALIZED" "" "" ${ARGV})
+
+ # Get args unknown to init-repository, and pass them to configure as-is.
+ qt_ir_get_unknown_args(unknown_args)
+
+ set(filtered_args ${unknown_args})
+ set(extra_configure_args "")
+ set(extra_cmake_args "")
+
+ # If the -submodules or --module-subset options were specified, transform
+ # the values into something configure understands and pass them to configure.
+ qt_ir_get_option_value(module-subset submodules)
+ if(submodules)
+ qt_ir_get_top_level_submodules(include_submodules exclude_submodules)
+ if(NOT include_submodules AND arg_ALREADY_INITIALIZED)
+ set(include_submodules "${submodules}")
+ endif()
+
+ # qtrepotools is always implicitly cloned, but it doesn't actually
+ # have a CMakeLists.txt, so remove it.
+ list(REMOVE_ITEM include_submodules "qtrepotools")
+
+ # Make sure to explicitly pass -DBUILD_<module>=ON, in case they were
+ # skipped before, otherwise configure might fail.
+ if(include_submodules)
+ set(explicit_build_submodules "${include_submodules}")
+ list(TRANSFORM explicit_build_submodules PREPEND "-DBUILD_")
+ list(TRANSFORM explicit_build_submodules APPEND "=ON")
+ list(APPEND extra_cmake_args ${explicit_build_submodules})
+ endif()
+
+ list(JOIN include_submodules "," include_submodules)
+ list(JOIN exclude_submodules "," exclude_submodules)
+
+ # Handle case when the -skip argument is already passed.
+ # In that case read the passed values, merge with new ones,
+ # remove both the -skip and its values, and re-add it later.
+ list(FIND filtered_args "-skip" skip_index)
+ if(exclude_submodules AND skip_index GREATER -1)
+ list(LENGTH filtered_args filtered_args_length)
+ math(EXPR skip_args_index "${skip_index} + 1")
+
+ if(skip_args_index LESS filtered_args_length)
+ list(GET filtered_args "${skip_args_index}" skip_args)
+ string(REPLACE "," ";" skip_args "${skip_args}")
+ list(APPEND skip_args ${exclude_submodules})
+ list(REMOVE_DUPLICATES skip_args)
+ list(JOIN skip_args "," exclude_submodules)
+ list(REMOVE_AT filtered_args "${skip_args_index}")
+ list(REMOVE_AT filtered_args "${skip_index}")
+ endif()
+ endif()
+
+ # Handle case when only '-submodules existing' is passed and the
+ # subset ends up empty.
+ if(include_submodules)
+ list(APPEND extra_configure_args "-submodules" "${include_submodules}")
+ endif()
+ if(exclude_submodules)
+ list(APPEND extra_configure_args "-skip" "${exclude_submodules}")
+ endif()
+ endif()
+
+ # Insert the extra arguments into the proper positions before and after '--'.
+ list(FIND filtered_args "--" cmake_args_index)
+
+ # -- is not found
+ if(cmake_args_index EQUAL -1)
+ # Append extra configure args if present
+ if(extra_configure_args)
+ list(APPEND filtered_args ${extra_configure_args})
+ endif()
+ # Append extra cmake args if present, but make sure to add -- first at the end
+ if(extra_cmake_args)
+ list(APPEND filtered_args "--")
+ list(APPEND filtered_args ${extra_cmake_args})
+ endif()
+ else()
+ # -- is found, that means we probably have cmake args
+ # Insert extra configure args if present, before the -- index.
+ if(extra_configure_args)
+ list(INSERT filtered_args "${cmake_args_index}" ${extra_configure_args})
+ endif()
+ # Find the -- index again, because it might have moved
+ list(FIND filtered_args "--" cmake_args_index)
+ # Compute the index of the argument after the --.
+ math(EXPR cmake_args_index "${cmake_args_index} + 1")
+ # Insert extra cmake args if present, after the -- index.
+ if(extra_cmake_args)
+ list(INSERT filtered_args "${cmake_args_index}" ${extra_cmake_args})
+ endif()
+ endif()
+
+ # Pass --help if it was requested.
+ qt_ir_is_help_requested(show_help)
+ if(show_help)
+ list(APPEND filtered_args "-help")
+ endif()
+
+ set(${out_var} "${filtered_args}" PARENT_SCOPE)
+endfunction()
+
+# Checks whether any of the arguments passed on the command line are options
+# that are marked as unsupported in the cmake port of init-repository.
+function(qt_ir_check_if_unsupported_options_used out_var out_var_option_name)
+ qt_ir_get_unsupported_options(unsupported_options)
+
+ set(unsupported_options_used FALSE)
+ foreach(unsupported_option IN LISTS unsupported_options)
+ qt_ir_get_option_value(${unsupported_option} value)
+ if(value)
+ set(${out_var_option_name} "${unsupported_option}" PARENT_SCOPE)
+ set(unsupported_options_used TRUE)
+ break()
+ endif()
+ endforeach()
+ set(${out_var} "${unsupported_options_used}" PARENT_SCOPE)
+endfunction()
+
+# When an unsupported option is used, show an error message and tell the user
+# 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}")
+
+ set(perl_cmd "perl ./init-repository.pl ${args}")
+
+ message(FATAL_ERROR
+ "Option '${unsupported_option_name}' is not implemented in the cmake "
+ "port of init-repository. Please let us know if this option is really "
+ "important for you at https://bugreports.qt.io/. Meanwhile, you can "
+ "still run the perl script directly. \n ${perl_cmd}")
+endfunction()
+
+# Check whether help was requested.
+function(qt_ir_is_help_requested out_var)
+ qt_ir_get_option_value(help value)
+ set(${out_var} "${value}" PARENT_SCOPE)
+endfunction()
+
+# Check whether the verbose option was used.
+function(qt_ir_is_verbose out_var)
+ qt_ir_get_option_value(verbose value)
+ set(${out_var} "${value}" PARENT_SCOPE)
+endfunction()
+
+function(qt_ir_is_called_from_configure out_var)
+ qt_ir_get_option_value(from-configure value)
+ set(${out_var} "${value}" PARENT_SCOPE)
+endfunction()
+
+# Main logic of the script.
+function(qt_ir_run_after_args_parsed top_level_src_path out_var_exit_reason)
+ set(${out_var_exit_reason} FALSE PARENT_SCOPE)
+
+ qt_ir_is_called_from_configure(is_called_from_configure)
+
+ qt_ir_is_help_requested(show_help)
+ if(show_help AND NOT is_called_from_configure)
+ qt_ir_show_help()
+ set(${out_var_exit_reason} SHOWED_HELP PARENT_SCOPE)
+ return()
+ endif()
+
+ set(working_directory "${top_level_src_path}")
+
+ qt_ir_handle_if_already_initialized(already_initialized "${working_directory}")
+ if(already_initialized)
+ set(${out_var_exit_reason} ALREADY_INITIALIZED PARENT_SCOPE)
+ return()
+ endif()
+
+ # This will be used by the module subset processing to determine whether we
+ # should re-initialize the previously initialized (existing) subset.
+ qt_ir_check_if_already_initialized_cmake_style(is_initialized
+ "${working_directory}" FORCE_QUIET)
+ set(previously_initialized_option "")
+ if(is_initialized)
+ set(previously_initialized_option PREVIOUSLY_INITIALIZED)
+ endif()
+
+
+ # Ge the name of the qt5 repo (tqtc- or not) and the base url for all other repos
+ qt_ir_get_qt5_repo_name_and_base_url(
+ OUT_VAR_QT5_REPO_NAME qt5_repo_name
+ OUT_VAR_BASE_URL base_url
+ WORKING_DIRECTORY "${working_directory}")
+
+ qt_ir_get_already_initialized_submodules("${prefix}"
+ already_initialized_submodules
+ "${qt5_repo_name}"
+ "${working_directory}")
+
+ # Get some additional options to pass down.
+ qt_ir_get_option_value(alternates alternates)
+ qt_ir_get_option_as_cmake_flag_option(branch "CHECKOUT_BRANCH" checkout_branch_option)
+
+ # The prefix for the cmake-style 'dictionary' that will be used by various functions.
+ set(prefix "ir_top")
+
+ # Initialize and clone the submodules
+ qt_ir_handle_init_submodules("${prefix}"
+ ALTERNATES "${alternates}"
+ ALREADY_INITIALIZED_SUBMODULES "${already_initialized_submodules}"
+ BASE_URL "${base_url}"
+ PARENT_REPO_BASE_GIT_PATH "${qt5_repo_name}"
+ PROCESS_SUBMODULES_FROM_COMMAND_LINE
+ WORKING_DIRECTORY "${working_directory}"
+ ${checkout_branch_option}
+ ${previously_initialized_option}
+ )
+
+ # Add gerrit remotes.
+ qt_ir_add_git_remotes("${qt5_repo_name}" "${working_directory}")
+
+ # Install commit and other various hooks.
+ qt_ir_install_git_hooks(
+ PARENT_REPO_BASE_GIT_PATH "${qt5_repo_name}"
+ TOP_LEVEL_SRC_PATH "${top_level_src_path}"
+ WORKING_DIRECTORY "${working_directory}"
+ )
+
+ # Mark the repo as being initialized.
+ qt_ir_set_is_initialized("${working_directory}")
+endfunction()
+
+# Entrypoint of the init-repository script.
+function(qt_ir_run_main_script top_level_src_path out_var_exit_reason)
+ set(${out_var_exit_reason} FALSE PARENT_SCOPE)
+
+ # Windows passes backslash paths.
+ file(TO_CMAKE_PATH "${top_level_src_path}" top_level_src_path)
+
+ qt_ir_set_known_command_line_options()
+
+ # If called from configure, there might be arguments that init-repository doesn't know about
+ # because they are meant for configure. In that case ignore unknown arguments.
+ qt_ir_get_option_value(from-configure from_configure)
+ if(from_configure)
+ set(ignore_unknown_args "IGNORE_UNKNOWN_ARGS")
+ else()
+ set(ignore_unknown_args "")
+ endif()
+
+ qt_ir_process_args_from_optfile("${OPTFILE}" "${ignore_unknown_args}")
+
+ qt_ir_handle_called_from_configure("${top_level_src_path}" exit_reason)
+ if(exit_reason)
+ set(${out_var_exit_reason} "${exit_reason}" PARENT_SCOPE)
+ return()
+ endif()
+
+ qt_ir_check_if_unsupported_options_used(
+ unsupported_options_used option_name)
+ if(unsupported_options_used)
+ qt_ir_show_error_how_to_run_perl("${OPTFILE}" "${option_name}")
+ endif()
+
+ qt_ir_run_after_args_parsed("${top_level_src_path}" exit_reason)
+ set(${out_var_exit_reason} "${exit_reason}" PARENT_SCOPE)
+
+ # TODO: Consider using cmake_language(EXIT <exit-code>) when cmake 3.29 is released.
+endfunction()
diff --git a/cmake/QtIROptionsHelpers.cmake b/cmake/QtIROptionsHelpers.cmake
new file mode 100644
index 00000000..d87c7463
--- /dev/null
+++ b/cmake/QtIROptionsHelpers.cmake
@@ -0,0 +1,48 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Declare command line options known to init-repository.
+macro(qt_ir_set_known_command_line_options)
+ # Implemented options
+
+ # Note alternates is a qt specific option name, but it uses
+ # git submodule's --reference option underneath which also implies --shared.
+ # It essentially uses the git object storage of another repo, to avoid
+ # cloning the same objects and thus saving space.
+ qt_ir_commandline_option(alternates TYPE string)
+
+ qt_ir_commandline_option(berlin TYPE boolean)
+ qt_ir_commandline_option(branch TYPE boolean)
+ qt_ir_commandline_option(codereview-username TYPE string)
+ qt_ir_commandline_option(copy-objects TYPE boolean)
+ qt_ir_commandline_option(fetch TYPE boolean DEFAULT_VALUE yes)
+ qt_ir_commandline_option(force SHORT_NAME f TYPE boolean)
+ qt_ir_commandline_option(force-hooks TYPE boolean)
+ qt_ir_commandline_option(help SHORT_NAME h TYPE boolean)
+ qt_ir_commandline_option(ignore-submodules TYPE boolean)
+ qt_ir_commandline_option(mirror TYPE string)
+ qt_ir_commandline_option(module-subset TYPE string)
+ qt_ir_commandline_option(optional-deps TYPE boolean DEFAULT_VALUE yes)
+ qt_ir_commandline_option(oslo TYPE boolean)
+ qt_ir_commandline_option(perl-identical-output TYPE boolean)
+ qt_ir_commandline_option(perl-init-check TYPE boolean)
+ qt_ir_commandline_option(quiet SHORT_NAME q TYPE boolean)
+ qt_ir_commandline_option(resolve-deps TYPE boolean DEFAULT_VALUE yes)
+ qt_ir_commandline_option(update TYPE boolean DEFAULT_VALUE yes)
+ qt_ir_commandline_option(verbose TYPE boolean)
+
+ # These are used when init-repository is called from configure.
+ qt_ir_commandline_option(from-configure TYPE boolean)
+ # Implies force.
+ qt_ir_commandline_option(init-submodules TYPE boolean)
+ # We alias qtbase's submodules option to init-repository module-subset.
+ qt_ir_commandline_option(submodules ALIAS module-subset TYPE string)
+
+ set_property(GLOBAL PROPERTY _qt_ir_known_command_line_options "${commandline_known_options}")
+endmacro()
+
+# Gets list of known command line options.
+function(qt_ir_get_known_command_line_options out_var)
+ get_property(values GLOBAL PROPERTY _qt_ir_known_command_line_options)
+ set(${out_var} "${values}" PARENT_SCOPE)
+endfunction()
diff --git a/cmake/QtIRParsingHelpers.cmake b/cmake/QtIRParsingHelpers.cmake
new file mode 100644
index 00000000..d7d3f20e
--- /dev/null
+++ b/cmake/QtIRParsingHelpers.cmake
@@ -0,0 +1,237 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Retrieves the contents of either .git/config or .gitmodules files for further parsing.
+function(qt_ir_get_git_config_contents out_var)
+ set(options
+ READ_GITMODULES
+ READ_GIT_CONFIG
+ READ_GIT_CONFIG_LOCAL
+ )
+ set(oneValueArgs
+ WORKING_DIRECTORY
+ )
+ set(multiValueArgs "")
+ cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ if(arg_READ_GITMODULES)
+ set(args -f .gitmodules)
+ set(file_message ".gitmodules")
+ elseif(arg_READ_GIT_CONFIG)
+ set(args "")
+ set(file_message ".git/config")
+ elseif(arg_READ_GIT_CONFIG_LOCAL)
+ set(args "--local")
+ set(file_message ".local .git/config")
+ else()
+ message(FATAL_ERROR "qt_ir_get_git_config_contents: No option specified")
+ endif()
+
+ qt_ir_get_working_directory_from_arg(working_directory)
+
+ qt_ir_execute_process_and_log_and_handle_error(
+ FORCE_QUIET
+ COMMAND_ARGS git config --list ${args}
+ OUT_OUTPUT_VAR git_output
+ WORKING_DIRECTORY "${working_directory}"
+ ERROR_MESSAGE "Failed to get ${file_message} contents for parsing")
+
+ string(STRIP "${git_output}" git_output)
+ set(${out_var} "${git_output}" PARENT_SCOPE)
+endfunction()
+
+# Checks whether the given url has a scheme like https:// or is just a
+# relative path.
+function(qt_ir_has_url_scheme url out_var)
+ string(REGEX MATCH "^[a-z][a-z0-9+\-.]*://" has_url_scheme "${url}")
+
+ if(has_url_scheme)
+ set(${out_var} TRUE PARENT_SCOPE)
+ else()
+ set(${out_var} FALSE PARENT_SCOPE)
+ endif()
+endfunction()
+
+# Parses a key-value line from a .git/config or .gitmodules file
+macro(qt_ir_parse_git_key_value)
+ string(REGEX REPLACE "^submodule\\.([^.=]+)\\.([^.=]+)=(.*)$" "\\1;\\2;\\3"
+ parsed_line "${line}")
+
+ list(LENGTH parsed_line parsed_line_length)
+ set(submodule_name "")
+ set(key "")
+ set(value "")
+ if(parsed_line_length EQUAL 3)
+ list(GET parsed_line 0 submodule_name)
+ list(GET parsed_line 1 key)
+ list(GET parsed_line 2 value)
+ endif()
+endmacro()
+
+# Parses a url line from a .gitmodules file
+# e.g. line - 'submodule.qtbase.url=../qtbase.git'
+#
+# Arguments
+#
+# submodule_name
+# submodule name, the key in 'submodule.${submodule_name}.url'
+# e.g. 'qtbase'
+# url_value
+# the url where to clone a repo from
+# in perl script it was called $base
+# e.g. '../qtbase.git', 'https://code.qt.io/playground/qlitehtml.git'
+# parent_repo_base_git_path
+# the base git path of the parent of the submodule
+# it is either a relative dir or a full url
+# in the perl script it was called $my_repo_base,
+# it was passed as first arg to git_clone_all_submodules,
+# it was passed the value of $subbases{$module} when doing recursive submodule cloning
+# e.g. 'qt5', 'tqtc-qt5', 'qtdeclarative.git', 'https://code.qt.io/playground/qlitehtml.git'
+#
+# Outputs
+#
+# ${out_var_prefix}_${submodule_name}_url
+# just the value of ${url_value}
+# ${out_var_prefix}_${submodule_name}_base_git_path
+# the whole url if it has a scheme, otherwise it's the value of
+# ${url_value} relative to ${parent_repo_base_git_path}, so all the ../ are collapsed
+# e.g. 'qtdeclarative.git'
+# 'https://code.qt.io/playground/qlitehtml.git',
+macro(qt_ir_parse_git_url_key out_var_prefix submodule_name url_value parent_repo_base_git_path)
+ qt_ir_has_url_scheme("${url_value}" has_url_scheme)
+ if(NOT has_url_scheme)
+ set(base_git_path "${parent_repo_base_git_path}/${url_value}")
+
+ # The exact code perl code was while ($base =~ s,(?!\.\./)[^/]+/\.\./,,g) {}
+ # That got rid of ../ and ../../ in the path, but it broke down
+ # when more than two ../ were present.
+ # We just use ABSOLUTE to resolve the path and get rid of all ../
+ # Note the empty BASE_DIR is important, otherwise the path is relative to
+ # ${CMAKE_CURRENT_SOURCE_DIR}.
+ get_filename_component(base_git_path "${base_git_path}" ABSOLUTE BASE_DIR "")
+ else()
+ set(base_git_path "${url_value}")
+ endif()
+
+ set(${out_var_prefix}_${submodule_name}_url "${url_value}" PARENT_SCOPE)
+ set(${out_var_prefix}_${submodule_name}_base_git_path "${base_git_path}" PARENT_SCOPE)
+endmacro()
+
+# Parses a .git/config or .gitmodules file contents and sets variables for each submodule
+# starting with ${out_var_prefix}_
+# These include:
+# ${out_var_prefix}_${submodule_name}_path
+# the path to the submodule relative to the parent repo
+# ${out_var_prefix}_${submodule_name}_branch
+# the branch that should be checked out when the branch option is used
+# ${out_var_prefix}_${submodule_name}_url
+# the url key as encountered in the config
+# ${out_var_prefix}_${submodule_name}_base_git_path
+# the git base path of the submodule, either a full url or a relative path
+# ${out_var_prefix}_${submodule_name}_update
+# the status of the submodule, can be 'none'
+# ${out_var_prefix}_${submodule_name}_status
+# the status of the submodule, can be 'essential', 'addon', etc
+# ${out_var_prefix}_${submodule_name}_depends
+# the list of submodules that this submodule depends on
+# ${out_var_prefix}_${submodule_name}_recommends
+# the list of submodules that this submodule recommends to be used with
+# ${out_var_prefix}_submodules
+# a list of all known submodule names encountered in the file
+# ${out_var_prefix}_submodules_to_remove
+# a list of all submodules to remove due to update == 'none'
+# ${out_var_prefix}_statuses to
+# a list of all known submodule statuses like 'essential', 'addon', etc
+# ${out_var_prefix}_status_${status}_submodules
+# a list of all submodules with the specific status
+function(qt_ir_parse_git_config_file_contents out_var_prefix)
+ set(options
+ READ_GITMODULES
+ READ_GIT_CONFIG
+ READ_GIT_CONFIG_LOCAL
+ )
+ set(oneValueArgs
+ PARENT_REPO_BASE_GIT_PATH
+ WORKING_DIRECTORY
+ )
+ set(multiValueArgs "")
+ cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ qt_ir_get_working_directory_from_arg(working_directory)
+
+ if(NOT arg_PARENT_REPO_BASE_GIT_PATH)
+ message(FATAL_ERROR
+ "qt_ir_parse_git_config_file_contents: No base PARENT_REPO_BASE_GIT_PATH specified")
+ endif()
+ set(parent_repo_base_git_path "${arg_PARENT_REPO_BASE_GIT_PATH}")
+
+ if(arg_READ_GITMODULES)
+ set(read_git_config READ_GITMODULES)
+ elseif(arg_READ_GIT_CONFIG)
+ set(read_git_config READ_GIT_CONFIG)
+ elseif(arg_READ_GIT_CONFIG_LOCAL)
+ set(read_git_config READ_GIT_CONFIG_LOCAL)
+ else()
+ message(FATAL_ERROR
+ "qt_ir_parse_gitmodules_file_contents: No valid git config file specified")
+ endif()
+
+ qt_ir_get_git_config_contents(contents
+ ${read_git_config}
+ WORKING_DIRECTORY "${working_directory}"
+ )
+ string(REPLACE "\n" ";" lines "${contents}")
+
+ set(known_submodules "")
+ set(statuses "")
+ set(submodules_to_remove "")
+
+ foreach(line IN LISTS lines)
+ qt_ir_parse_git_key_value()
+ if(NOT submodule_name OR NOT key OR value STREQUAL "")
+ continue()
+ endif()
+
+ list(APPEND known_submodules "${submodule_name}")
+
+ if(key STREQUAL "path")
+ set(${out_var_prefix}_${submodule_name}_path "${value}" PARENT_SCOPE)
+ elseif(key STREQUAL "branch")
+ set(${out_var_prefix}_${submodule_name}_branch "${value}" PARENT_SCOPE)
+ elseif(key STREQUAL "url")
+ qt_ir_parse_git_url_key(
+ "${out_var_prefix}" "${submodule_name}" "${value}" "${parent_repo_base_git_path}")
+ elseif(key STREQUAL "update")
+ # Some repo submodules had a update = none key in their .gitmodules
+ # in which case we're supposed to skip initialzing those submodules,
+ # which the perl script did by adding -${submodule_name} to the subset.
+ # See qtdeclarative Change-Id: I633404f1c00d83dcbdca06a1d287623190323028
+ set(${out_var_prefix}_${submodule_name}_update "${value}" PARENT_SCOPE)
+ if(value STREQUAL "none")
+ list(APPEND submodules_to_remove "-${submodule_name}")
+ endif()
+ elseif(key STREQUAL "status")
+ set(status_submodules "${${out_var_prefix}_status_${value}_submodules}")
+ list(APPEND status_submodules "${submodule_name}")
+ list(REMOVE_DUPLICATES status_submodules)
+ list(APPEND statuses "${value}")
+
+ set(${out_var_prefix}_status_${value}_submodules "${status_submodules}")
+ set(${out_var_prefix}_status_${value}_submodules "${status_submodules}" PARENT_SCOPE)
+ set(${out_var_prefix}_${submodule_name}_status "${value}" PARENT_SCOPE)
+ elseif(key STREQUAL "depends")
+ string(REPLACE " " ";" value "${value}")
+ set(${out_var_prefix}_${submodule_name}_depends "${value}" PARENT_SCOPE)
+ elseif(key STREQUAL "recommends")
+ string(REPLACE " " ";" value "${value}")
+ set(${out_var_prefix}_${submodule_name}_recommends "${value}" PARENT_SCOPE)
+ endif()
+ endforeach()
+
+ list(REMOVE_DUPLICATES known_submodules)
+ list(REMOVE_DUPLICATES submodules_to_remove)
+ list(REMOVE_DUPLICATES statuses)
+ set(${out_var_prefix}_submodules "${known_submodules}" PARENT_SCOPE)
+ set(${out_var_prefix}_submodules_to_remove "${submodules_to_remove}" PARENT_SCOPE)
+ set(${out_var_prefix}_statuses "${statuses}" PARENT_SCOPE)
+endfunction()
diff --git a/cmake/QtIRProcessHelpers.cmake b/cmake/QtIRProcessHelpers.cmake
new file mode 100644
index 00000000..db7bf2cb
--- /dev/null
+++ b/cmake/QtIRProcessHelpers.cmake
@@ -0,0 +1,165 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# A low-level execute_process wrapper that can be used to execute a single command
+# while controlling the verbosity and error handling.
+function(qt_ir_execute_process)
+ set(options
+ QUIET
+ )
+ set(oneValueArgs
+ WORKING_DIRECTORY
+ OUT_RESULT_VAR
+ OUT_OUTPUT_VAR
+ OUT_ERROR_VAR
+ )
+ set(multiValueArgs
+ COMMAND_ARGS
+ EP_EXTRA_ARGS
+ )
+ cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ if(NOT arg_COMMAND_ARGS)
+ message(FATAL_ERROR "Missing arguments to qt_ir_execute_process")
+ endif()
+
+ if(arg_WORKING_DIRECTORY)
+ set(working_dir_value "${arg_WORKING_DIRECTORY}")
+ else()
+ set(working_dir_value ".")
+ endif()
+ set(working_dir WORKING_DIRECTORY "${working_dir_value}")
+
+ set(result_variable "")
+ if(arg_OUT_RESULT_VAR)
+ set(result_variable RESULT_VARIABLE proc_result)
+ endif()
+
+ set(swallow_output "")
+ if(arg_OUT_OUTPUT_VAR OR arg_QUIET)
+ list(APPEND swallow_output OUTPUT_VARIABLE proc_output)
+ endif()
+ if(arg_OUT_ERROR_VAR OR arg_QUIET)
+ list(APPEND swallow_output ERROR_VARIABLE proc_error)
+ endif()
+ if(NOT arg_QUIET)
+ set(working_dir_message "")
+
+ qt_ir_is_verbose(verbose)
+ if(verbose)
+ set(working_dir_message " current working dir: ")
+ if(NOT working_dir_value STREQUAL ".")
+ string(APPEND working_dir_message "${working_dir_value}")
+ endif()
+ endif()
+
+ string(REPLACE ";" " " command_args_string "${arg_COMMAND_ARGS}")
+ message("+ ${command_args_string}${working_dir_message}")
+ endif()
+
+ execute_process(
+ COMMAND ${arg_COMMAND_ARGS}
+ ${working_dir}
+ ${result_variable}
+ ${swallow_output}
+ ${arg_EP_EXTRA_ARGS}
+ )
+
+ if(arg_OUT_RESULT_VAR)
+ set(${arg_OUT_RESULT_VAR} "${proc_result}" PARENT_SCOPE)
+ endif()
+ if(arg_OUT_OUTPUT_VAR)
+ set(${arg_OUT_OUTPUT_VAR} "${proc_output}" PARENT_SCOPE)
+ endif()
+ if(arg_OUT_ERROR_VAR)
+ set(${arg_OUT_ERROR_VAR} "${proc_error}" PARENT_SCOPE)
+ endif()
+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.
+# It handles queietness, error handling and logging.
+# It also allows for slightly more compact syntax for calling processes.
+function(qt_ir_execute_process_and_log_and_handle_error)
+ set(options
+ NO_HANDLE_ERROR
+ FORCE_VERBOSE
+ FORCE_QUIET
+ )
+ set(oneValueArgs
+ WORKING_DIRECTORY
+ OUT_RESULT_VAR
+ OUT_OUTPUT_VAR
+ OUT_ERROR_VAR
+ ERROR_MESSAGE
+ )
+ set(multiValueArgs
+ COMMAND_ARGS
+ EP_EXTRA_ARGS
+ )
+ cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ qt_ir_get_option_value(quiet quiet)
+ set(quiet_option "")
+ if((quiet OR arg_FORCE_QUIET) AND NOT arg_FORCE_VERBOSE)
+ set(quiet_option "QUIET")
+ endif()
+
+ set(working_dir "")
+ if(arg_WORKING_DIRECTORY)
+ set(working_dir WORKING_DIRECTORY "${arg_WORKING_DIRECTORY}")
+ endif()
+
+ set(extra_args "")
+ if(arg_EP_EXTRA_ARGS)
+ set(extra_args EP_EXTRA_ARGS "${arg_EP_EXTRA_ARGS}")
+ endif()
+
+ set(out_output_var "")
+ if(arg_OUT_OUTPUT_VAR OR quiet)
+ set(out_output_var OUT_OUTPUT_VAR proc_output)
+ endif()
+
+ set(out_error_var "")
+ if(arg_OUT_ERROR_VAR OR quiet)
+ set(out_error_var OUT_ERROR_VAR proc_error)
+ endif()
+
+ qt_ir_execute_process(
+ ${quiet_option}
+ COMMAND_ARGS ${arg_COMMAND_ARGS}
+ OUT_RESULT_VAR proc_result
+ ${extra_args}
+ ${working_dir}
+ ${out_output_var}
+ ${out_error_var}
+ )
+
+ if(NOT proc_result EQUAL 0 AND NOT arg_NO_HANDLE_ERROR)
+ set(error_message "")
+ if(arg_ERROR_MESSAGE)
+ set(error_message "${arg_ERROR_MESSAGE}\n")
+ endif()
+
+ string(REPLACE ";" " " 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")
+ endif()
+ if(proc_error)
+ string(APPEND error_message "stderr: ${proc_error}\n")
+ endif()
+ message(FATAL_ERROR "${error_message}")
+ endif()
+
+ if(arg_OUT_RESULT_VAR)
+ set(${arg_OUT_RESULT_VAR} "${proc_result}" PARENT_SCOPE)
+ endif()
+ if(arg_OUT_OUTPUT_VAR)
+ set(${arg_OUT_OUTPUT_VAR} "${proc_output}" PARENT_SCOPE)
+ endif()
+ if(arg_OUT_ERROR_VAR)
+ set(${arg_OUT_ERROR_VAR} "${proc_error}" PARENT_SCOPE)
+ endif()
+endfunction()
diff --git a/cmake/QtIRScript.cmake b/cmake/QtIRScript.cmake
new file mode 100644
index 00000000..fc5ffba9
--- /dev/null
+++ b/cmake/QtIRScript.cmake
@@ -0,0 +1,17 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+cmake_minimum_required(VERSION 3.16)
+
+# Sets up the include paths for all the helpers init-repository uses.
+macro(qt_ir_setup_include_paths)
+ list(APPEND CMAKE_MODULE_PATH
+ "${CMAKE_CURRENT_LIST_DIR}"
+ "${CMAKE_CURRENT_LIST_DIR}/3rdparty/cmake"
+ )
+ include(QtIRHelpers)
+endmacro()
+
+qt_ir_setup_include_paths()
+qt_ir_include_all_helpers()
+qt_ir_run_main_script("${CMAKE_CURRENT_SOURCE_DIR}" exit_reason)
diff --git a/cmake/QtSortModuleDependencies.cmake b/cmake/QtSortModuleDependencies.cmake
new file mode 100644
index 00000000..2f8cdb59
--- /dev/null
+++ b/cmake/QtSortModuleDependencies.cmake
@@ -0,0 +1,16 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# The script produces the list of qt submodules that are required to build the submodules listed
+# in the QT_BUILD_SUBMODULES variable. The resulting list preserves the required build order.
+# Usage:
+# cmake [-DQT_BUILD_SUBMODULES="<repo;..>"] [-BUILD_<repo>=<TRUE|FALSE>] \
+# -P <path/to>/qt6/cmake/QtSortModuleDependencies.cmake
+cmake_minimum_required(VERSION 3.16)
+
+include(${CMAKE_CURRENT_LIST_DIR}/QtTopLevelHelpers.cmake)
+
+qt_internal_collect_modules_only(result "${QT_BUILD_SUBMODULES}")
+
+list(JOIN result " " result)
+message("${result}")
diff --git a/cmake/QtSynchronizeRepo.cmake b/cmake/QtSynchronizeRepo.cmake
new file mode 100644
index 00000000..eabd5c7c
--- /dev/null
+++ b/cmake/QtSynchronizeRepo.cmake
@@ -0,0 +1,15 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# This script is to be called (ideally from a git-sync-to alias script):
+# cmake -DSYNC_TO_MODULE="$1" -DSYNC_TO_BRANCH="$2" -P cmake/QtSynchronizeRepo.cmake
+# Or as follows (ideally from a git-qt-foreach alias script):
+# cmake -DQT_FOREACH=TRUE "-DARGS=$*" -P cmake/QtSynchronizeRepo.cmake
+
+cmake_policy(VERSION 3.16)
+include(cmake/QtTopLevelHelpers.cmake)
+if(QT_FOREACH)
+ qt_internal_foreach_repo_run(ARGS ${ARGS})
+else()
+ qt_internal_sync_to(${SYNC_TO_MODULE} ${SYNC_TO_BRANCH})
+endif()
diff --git a/cmake/QtTopLevelConfigureScript.cmake b/cmake/QtTopLevelConfigureScript.cmake
new file mode 100644
index 00000000..304bf7b7
--- /dev/null
+++ b/cmake/QtTopLevelConfigureScript.cmake
@@ -0,0 +1,17 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+cmake_minimum_required(VERSION 3.16)
+
+# Sets up the include paths for all the helpers configure uses.
+macro(qt_tl_setup_include_paths)
+ list(APPEND CMAKE_MODULE_PATH
+ "${CMAKE_CURRENT_LIST_DIR}"
+ "${CMAKE_CURRENT_LIST_DIR}/3rdparty/cmake"
+ )
+ include(QtTopLevelHelpers)
+endmacro()
+
+qt_tl_setup_include_paths()
+qt_tl_include_all_helpers()
+qt_tl_run_main_script()
diff --git a/cmake/QtTopLevelHelpers.cmake b/cmake/QtTopLevelHelpers.cmake
new file mode 100644
index 00000000..7fe21e4f
--- /dev/null
+++ b/cmake/QtTopLevelHelpers.cmake
@@ -0,0 +1,701 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+macro(qt_tl_include_all_helpers)
+ include(QtIRHelpers)
+ qt_ir_include_all_helpers()
+endmacro()
+
+function(qt_tl_run_toplevel_configure top_level_src_path)
+ cmake_parse_arguments(arg "ALREADY_INITIALIZED" "" "" ${ARGV})
+
+ qt_ir_get_cmake_flag(ALREADY_INITIALIZED arg_ALREADY_INITIALIZED)
+
+ # Filter out init-repository specific arguments before passing them to
+ # configure.
+ qt_ir_get_args_from_optfile_configure_filtered("${OPTFILE}" configure_args
+ ${arg_ALREADY_INITIALIZED})
+ # Get the path to the qtbase configure script.
+ set(qtbase_dir_name "qtbase")
+ set(configure_path "${top_level_src_path}/${qtbase_dir_name}/configure")
+ if(CMAKE_HOST_WIN32)
+ string(APPEND configure_path ".bat")
+ endif()
+
+ if(NOT EXISTS "${configure_path}")
+ message(FATAL_ERROR
+ "The required qtbase/configure script was not found: ${configure_path}\n"
+ "Try re-running configure with --init-submodules")
+ endif()
+
+ # Make a build directory for qtbase in the current build directory.
+ set(qtbase_build_dir "${CMAKE_CURRENT_BINARY_DIR}/${qtbase_dir_name}")
+ file(MAKE_DIRECTORY "${qtbase_build_dir}")
+
+ qt_ir_execute_process_and_log_and_handle_error(
+ COMMAND_ARGS "${configure_path}" -top-level ${configure_args}
+ WORKING_DIRECTORY "${qtbase_build_dir}"
+ FORCE_VERBOSE
+ )
+endfunction()
+
+function(qt_tl_run_main_script)
+ if(NOT TOP_LEVEL_SRC_PATH)
+ message(FATAL_ERROR "Assertion: configure TOP_LEVEL_SRC_PATH is not set")
+ endif()
+
+ # Tell init-repository it is called from configure.
+ qt_ir_set_option_value(from-configure TRUE)
+
+ # Run init-repository in-process.
+ qt_ir_run_main_script("${TOP_LEVEL_SRC_PATH}" exit_reason)
+ if(exit_reason AND NOT exit_reason STREQUAL "ALREADY_INITIALIZED")
+ return()
+ endif()
+
+ # Then run configure out-of-process.
+ qt_tl_run_toplevel_configure("${TOP_LEVEL_SRC_PATH}" ${exit_reason})
+endfunction()
+
+# Populates $out_module_list with all subdirectories that have a CMakeLists.txt file
+function(qt_internal_find_modules out_module_list)
+ set(module_list "")
+ file(GLOB directories LIST_DIRECTORIES true RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" *)
+ foreach(directory IN LISTS directories)
+ if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/${directory}"
+ AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${directory}/CMakeLists.txt")
+ list(APPEND module_list "${directory}")
+ endif()
+ endforeach()
+ message(DEBUG "qt_internal_find_modules: ${module_list}")
+ set(${out_module_list} "${module_list}" PARENT_SCOPE)
+endfunction()
+
+# poor man's yaml parser, populating $out_dependencies with all dependencies
+# in the $depends_file
+# Each entry will be in the format dependency/sha1/required
+function(qt_internal_parse_dependencies_yaml depends_file out_dependencies)
+ file(STRINGS "${depends_file}" lines)
+ set(eof_marker "---EOF---")
+ list(APPEND lines "${eof_marker}")
+ set(required_default TRUE)
+ set(dependencies "")
+ set(dependency "")
+ set(revision "")
+ set(required "${required_default}")
+ foreach(line IN LISTS lines)
+ if(line MATCHES "^ (.+):$" OR line STREQUAL "${eof_marker}")
+ # Found a repo entry or end of file. Add the last seen dependency.
+ if(NOT dependency STREQUAL "")
+ if(revision STREQUAL "")
+ message(FATAL_ERROR "Format error in ${depends_file} - ${dependency} does not specify revision!")
+ endif()
+ list(APPEND dependencies "${dependency}/${revision}/${required}")
+ endif()
+ # Remember the current dependency
+ if(NOT line STREQUAL "${eof_marker}")
+ set(dependency "${CMAKE_MATCH_1}")
+ set(revision "")
+ set(required "${required_default}")
+ # dependencies are specified with relative path to this module
+ string(REPLACE "../" "" dependency ${dependency})
+ endif()
+ elseif(line MATCHES "^ ref: (.+)$")
+ set(revision "${CMAKE_MATCH_1}")
+ elseif(line MATCHES "^ required: (.+)$")
+ string(TOUPPER "${CMAKE_MATCH_1}" required)
+ endif()
+ endforeach()
+ message(DEBUG
+ "qt_internal_parse_dependencies_yaml for ${depends_file}\n dependencies: ${dependencies}")
+ set(${out_dependencies} "${dependencies}" PARENT_SCOPE)
+endfunction()
+
+# Helper macro for qt_internal_resolve_module_dependencies.
+macro(qt_internal_resolve_module_dependencies_set_skipped value)
+ if(DEFINED arg_SKIPPED_VAR)
+ set(${arg_SKIPPED_VAR} ${value} PARENT_SCOPE)
+ endif()
+endmacro()
+
+# Strips tqtc- prefix from a repo name.
+function(qt_internal_normalize_repo_name repo_name out_var)
+ string(REGEX REPLACE "^tqtc-" "" normalized "${repo_name}")
+ set(${out_var} "${normalized}" PARENT_SCOPE)
+endfunction()
+
+# Checks if a directory with the given repo name exists in the current
+# source / working directory. If it doesn't, it strips the tqtc- prefix.
+function(qt_internal_use_normalized_repo_name_if_needed repo_name out_var)
+ set(base_dir "${CMAKE_CURRENT_SOURCE_DIR}")
+ set(repo_dir "${base_dir}/${repo_name}")
+ if(NOT IS_DIRECTORY "${repo_dir}")
+ qt_internal_normalize_repo_name("${repo_name}" repo_name)
+ endif()
+ set(${out_var} "${repo_name}" PARENT_SCOPE)
+endfunction()
+
+
+# Resolve the dependencies of the given module.
+# "Module" in the sense of Qt repository.
+#
+# Side effects: Sets the global properties QT_DEPS_FOR_${module} and QT_REQUIRED_DEPS_FOR_${module}
+# with the direct (required) dependencies of module.
+#
+#
+# Positional arguments:
+#
+# module is the Qt repository.
+#
+# out_ordered is where the result is stored. This is a list of all dependencies, including
+# transitive ones, in topologically sorted order. Note that ${module} itself is also part of
+# out_ordered.
+#
+# out_revisions is a list of git commit IDs for each of the dependencies in ${out_ordered}. This
+# list has the same length as ${out_ordered}.
+#
+#
+# Keyword arguments:
+#
+# PARSED_DEPENDENCIES is a list of dependencies of module in the format that
+# qt_internal_parse_dependencies_yaml returns.
+# If this argument is not provided, either a module's dependencies.yaml or .gitmodules file is
+# used as the source of dependencies, depending on whether PARSE_GITMODULES option is enabled.
+#
+# PARSE_GITMODULES is a boolean that controls whether the .gitmodules or the dependencies.yaml
+# file of the repo are used for extracting dependencies. Defaults to FALSE, so uses
+# dependencies.yaml by default.
+#
+# EXCLUDE_OPTIONAL_DEPS is a boolean that controls whether optional dependencies are excluded from
+# the final result.
+#
+# GITMODULES_PREFIX_VAR is the prefix of all the variables containing dependencies for the
+# PARSE_GITMODULES mode.
+# The function expects the following variables to be set in the parent scope
+# ${arg_GITMODULES_PREFIX_VAR}_${submodule_name}_depends
+# ${arg_GITMODULES_PREFIX_VAR}_${submodule_name}_recommends
+#
+# IN_RECURSION is an internal option that is set when the function is in recursion.
+#
+# REVISION is an internal value with the git commit ID that belongs to ${module}.
+#
+# SKIPPED_VAR is an output variable name that is set to TRUE if the module was skipped, to FALSE
+# otherwise.
+#
+# NORMALIZE_REPO_NAME_IF_NEEDED Will remove 'tqtc-' from the beginning of submodule dependencies
+# if a tqtc- named directory does not exist.
+#
+# SKIP_MODULES Modules that should be skipped from evaluation completely.
+function(qt_internal_resolve_module_dependencies module out_ordered out_revisions)
+ set(options IN_RECURSION NORMALIZE_REPO_NAME_IF_NEEDED PARSE_GITMODULES
+ EXCLUDE_OPTIONAL_DEPS)
+ set(oneValueArgs REVISION SKIPPED_VAR GITMODULES_PREFIX_VAR)
+ set(multiValueArgs PARSED_DEPENDENCIES SKIP_MODULES)
+ cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ # Clear the property that stores the repositories we've already seen.
+ if(NOT arg_IN_RECURSION)
+ set_property(GLOBAL PROPERTY _qt_internal_seen_repos)
+ endif()
+
+ # Bail out if we've seen the module already or it was skipped explicitly from command line.
+ qt_internal_resolve_module_dependencies_set_skipped(FALSE)
+ get_property(seen GLOBAL PROPERTY _qt_internal_seen_repos)
+ if(module IN_LIST seen OR module IN_LIST arg_SKIP_MODULES)
+ qt_internal_resolve_module_dependencies_set_skipped(TRUE)
+ return()
+ endif()
+
+ set_property(GLOBAL APPEND PROPERTY _qt_internal_seen_repos ${module})
+
+ # Set a default REVISION.
+ if("${arg_REVISION}" STREQUAL "")
+ set(arg_REVISION HEAD)
+ endif()
+
+ # Retrieve the dependencies.
+ if(DEFINED arg_PARSED_DEPENDENCIES)
+ set(dependencies "${arg_PARSED_DEPENDENCIES}")
+ else()
+ set(dependencies "")
+
+ if(NOT arg_PARSE_GITMODULES)
+ set(depends_file "${CMAKE_CURRENT_SOURCE_DIR}/${module}/dependencies.yaml")
+ if(EXISTS "${depends_file}")
+ qt_internal_parse_dependencies_yaml("${depends_file}" dependencies)
+
+ if(arg_EXCLUDE_OPTIONAL_DEPS)
+ set(filtered_dependencies "")
+ foreach(dependency IN LISTS dependencies)
+ string(REPLACE "/" ";" dependency_split "${dependency}")
+ list(GET dependency_split 2 required)
+ if(required)
+ list(APPEND filtered_dependencies "${dependency}")
+ endif()
+ endforeach()
+ set(dependencies "${filtered_dependencies}")
+ endif()
+ endif()
+ else()
+ set(depends "${${arg_GITMODULES_PREFIX_VAR}_${dependency}_depends}")
+ foreach(dependency IN LISTS depends)
+ if(dependency)
+ # The HEAD value is not really used, but we need to add something.
+ list(APPEND dependencies "${dependency}/HEAD/TRUE")
+ endif()
+ endforeach()
+
+ set(recommends "${${arg_GITMODULES_PREFIX_VAR}_${dependency}_recommends}")
+ if(NOT arg_EXCLUDE_OPTIONAL_DEPS)
+ foreach(dependency IN LISTS recommends)
+ if(dependency)
+ list(APPEND dependencies "${dependency}/HEAD/FALSE")
+ endif()
+ endforeach()
+ endif()
+ endif()
+ endif()
+
+ # Traverse the dependencies.
+ set(ordered)
+ set(revisions)
+ foreach(dependency IN LISTS dependencies)
+ if(dependency MATCHES "(.*)/([^/]+)/([^/]+)")
+ set(dependency "${CMAKE_MATCH_1}")
+ set(revision "${CMAKE_MATCH_2}")
+ set(required "${CMAKE_MATCH_3}")
+ else()
+ message(FATAL_ERROR "Internal Error: wrong dependency format ${dependency}")
+ endif()
+
+ set(normalize_arg "")
+ if(arg_NORMALIZE_REPO_NAME_IF_NEEDED)
+ qt_internal_use_normalized_repo_name_if_needed("${dependency}" dependency)
+ set(normalize_arg "NORMALIZE_REPO_NAME_IF_NEEDED")
+ endif()
+
+ set_property(GLOBAL APPEND PROPERTY QT_DEPS_FOR_${module} ${dependency})
+ if(required)
+ set_property(GLOBAL APPEND PROPERTY QT_REQUIRED_DEPS_FOR_${module} ${dependency})
+ endif()
+
+ set(parse_gitmodules "")
+ if(arg_PARSE_GITMODULES)
+ set(parse_gitmodules "PARSE_GITMODULES")
+ endif()
+
+ set(exclude_optional_deps "")
+ if(arg_EXCLUDE_OPTIONAL_DEPS)
+ set(exclude_optional_deps "EXCLUDE_OPTIONAL_DEPS")
+ endif()
+
+ set(extra_options "")
+ if(arg_SKIP_MODULES)
+ list(APPEND extra_options SKIP_MODULES ${arg_SKIP_MODULES})
+ endif()
+
+ qt_internal_resolve_module_dependencies(${dependency} dep_ordered dep_revisions
+ REVISION "${revision}"
+ SKIPPED_VAR skipped
+ IN_RECURSION
+ ${normalize_arg}
+ ${parse_gitmodules}
+ ${exclude_optional_deps}
+ GITMODULES_PREFIX_VAR ${arg_GITMODULES_PREFIX_VAR}
+ ${extra_options}
+ )
+ if(NOT skipped)
+ list(APPEND ordered ${dep_ordered})
+ list(APPEND revisions ${dep_revisions})
+ endif()
+ endforeach()
+
+ list(APPEND ordered ${module})
+ list(APPEND revisions ${arg_REVISION})
+ set(${out_ordered} "${ordered}" PARENT_SCOPE)
+ set(${out_revisions} "${revisions}" PARENT_SCOPE)
+endfunction()
+
+# Resolves the dependencies of the given modules.
+# "Module" is here used in the sense of Qt repository.
+#
+# Returns all dependencies, including transitive ones, in topologically sorted order.
+#
+# Arguments:
+# modules is the initial list of repos.
+# out_all_ordered is the variable name where the result is stored.
+# PARSE_GITMODULES and GITMODULES_PREFIX_VAR are keyowrd arguments that change the
+# source of dependencies parsing from dependencies.yaml to .gitmodules.
+# EXCLUDE_OPTIONAL_DEPS is a keyword argument that excludes optional dependencies from the result.
+# See qt_internal_resolve_module_dependencies for details.
+#
+# SKIP_MODULES Modules that should be skipped from evaluation completely.
+#
+# See qt_internal_resolve_module_dependencies for side effects.
+function(qt_internal_sort_module_dependencies modules out_all_ordered)
+ set(options PARSE_GITMODULES EXCLUDE_OPTIONAL_DEPS)
+ set(oneValueArgs GITMODULES_PREFIX_VAR)
+ set(multiValueArgs SKIP_MODULES)
+ cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ set(parse_gitmodules "")
+ if(arg_PARSE_GITMODULES)
+ set(parse_gitmodules "PARSE_GITMODULES")
+ endif()
+
+ set(exclude_optional_deps "")
+ if(arg_EXCLUDE_OPTIONAL_DEPS)
+ set(exclude_optional_deps "EXCLUDE_OPTIONAL_DEPS")
+ endif()
+
+ # Create a fake repository "all_selected_repos" that has all repositories from the input as
+ # required dependency. The format must match what qt_internal_parse_dependencies_yaml produces.
+ set(all_selected_repos_as_parsed_dependencies)
+ foreach(module IN LISTS modules)
+ list(APPEND all_selected_repos_as_parsed_dependencies "${module}/HEAD/FALSE")
+ endforeach()
+
+ set(extra_args "")
+ if(arg_SKIP_MODULES)
+ set(extra_args SKIP_MODULES ${arg_SKIP_MODULES})
+ endif()
+
+ qt_internal_resolve_module_dependencies(all_selected_repos ordered unused_revisions
+ PARSED_DEPENDENCIES ${all_selected_repos_as_parsed_dependencies}
+ NORMALIZE_REPO_NAME_IF_NEEDED
+ ${exclude_optional_deps}
+ ${parse_gitmodules}
+ GITMODULES_PREFIX_VAR ${arg_GITMODULES_PREFIX_VAR}
+ ${extra_args}
+ )
+
+ # Drop "all_selected_repos" from the output. It depends on all selected repos, thus it must be
+ # the last element in the topologically sorted list.
+ list(REMOVE_AT ordered -1)
+
+ message(DEBUG
+ "qt_internal_sort_module_dependencies
+ input modules: ${modules}\n topo-sorted: ${ordered}")
+ set(${out_all_ordered} "${ordered}" PARENT_SCOPE)
+endfunction()
+
+# does what it says, but also updates submodules
+function(qt_internal_checkout module revision)
+ set(swallow_output "") # unless VERBOSE, eat git output, show it in case of error
+ if (NOT VERBOSE)
+ list(APPEND swallow_output "OUTPUT_VARIABLE" "git_output" "ERROR_VARIABLE" "git_output")
+ endif()
+ message(NOTICE "Checking '${module}' out to revision '${revision}'")
+ execute_process(
+ COMMAND "git" "checkout" "${revision}"
+ WORKING_DIRECTORY "./${module}"
+ RESULT_VARIABLE git_result
+ ${swallow_output}
+ )
+ if (git_result EQUAL 128)
+ message(WARNING "${git_output}, trying detached checkout")
+ execute_process(
+ COMMAND "git" "checkout" "--detach" "${revision}"
+ WORKING_DIRECTORY "./${module}"
+ RESULT_VARIABLE git_result
+ ${swallow_output}
+ )
+ endif()
+ if (git_result)
+ message(FATAL_ERROR "Failed to check '${module}' out to '${revision}': ${git_output}")
+ endif()
+ execute_process(
+ COMMAND "git" "submodule" "update"
+ WORKING_DIRECTORY "./${module}"
+ RESULT_VARIABLE git_result
+ OUTPUT_VARIABLE git_stdout
+ ERROR_VARIABLE git_stderr
+ )
+endfunction()
+
+# clones or creates a worktree for $dependency, using the source of $dependent
+function(qt_internal_get_dependency dependent dependency)
+ set(swallow_output "") # unless VERBOSE, eat git output, show it in case of error
+ if (NOT VERBOSE)
+ list(APPEND swallow_output "OUTPUT_VARIABLE" "git_output" "ERROR_VARIABLE" "git_output")
+ endif()
+
+ set(gitdir "")
+ set(remote "")
+
+ # try to read the worktree source
+ execute_process(
+ COMMAND "git" "rev-parse" "--git-dir"
+ WORKING_DIRECTORY "./${dependent}"
+ RESULT_VARIABLE git_result
+ OUTPUT_VARIABLE git_stdout
+ ERROR_VARIABLE git_stderr
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ string(FIND "${git_stdout}" "${module}" index)
+ string(SUBSTRING "${git_stdout}" 0 ${index} gitdir)
+ string(FIND "${gitdir}" ".git/modules" index)
+ if(index GREATER -1) # submodules have not been absorbed
+ string(SUBSTRING "${gitdir}" 0 ${index} gitdir)
+ endif()
+ message(DEBUG "Will look for clones in ${gitdir}")
+
+ execute_process(
+ COMMAND "git" "remote" "get-url" "origin"
+ WORKING_DIRECTORY "./${dependent}"
+ RESULT_VARIABLE git_result
+ OUTPUT_VARIABLE git_stdout
+ ERROR_VARIABLE git_stderr
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ string(FIND "${git_stdout}" "${dependent}.git" index)
+ string(SUBSTRING "${git_stdout}" 0 ${index} remote)
+ message(DEBUG "Will clone from ${remote}")
+
+ if(EXISTS "${gitdir}.gitmodules" AND NOT EXISTS "${gitdir}${dependency}/.git")
+ # super repo exists, but the submodule we need does not - try to initialize
+ message(NOTICE "Initializing submodule '${dependency}' from ${gitdir}")
+ execute_process(
+ COMMAND "git" "submodule" "update" "--init" "${dependency}"
+ WORKING_DIRECTORY "${gitdir}"
+ RESULT_VARIABLE git_result
+ ${swallow_output}
+ )
+ if (git_result)
+ # ignore errors, fall back to an independent clone instead
+ message(WARNING "Failed to initialize submodule '${dependency}' from ${gitdir}")
+ endif()
+ endif()
+
+ if(EXISTS "${gitdir}${dependency}")
+ # for the module we want, there seems to be a clone parallel to what we have
+ message(NOTICE "Adding worktree for ${dependency} from ${gitdir}${dependency}")
+ execute_process(
+ COMMAND "git" "worktree" "add" "--detach" "${CMAKE_CURRENT_SOURCE_DIR}/${dependency}"
+ WORKING_DIRECTORY "${gitdir}/${dependency}"
+ RESULT_VARIABLE git_result
+ ${swallow_output}
+ )
+ if (git_result)
+ message(FATAL_ERROR "Failed to check '${module}' out to '${revision}': ${git_output}")
+ endif()
+ else()
+ # we don't find the existing clone, so clone from the same remote
+ message(NOTICE "Cloning ${dependency} from ${remote}${dependency}.git")
+ execute_process(
+ COMMAND "git" "clone" "${remote}${dependency}.git"
+ WORKING_DIRECTORY "."
+ RESULT_VARIABLE git_result
+ ${swallow_output}
+ )
+ if (git_result)
+ message(FATAL_ERROR "Failed to check '${module}' out to '${revision}': ${git_output}")
+ endif()
+ endif()
+endfunction()
+
+# evaluates the dependencies for $module, and checks all dependencies
+# out so that it is a consistent set
+function(qt_internal_sync_to module)
+ if(ARGN)
+ set(revision "${ARGV1}")
+ # special casing "." as the target module - checkout all out to $revision
+ if("${module}" STREQUAL ".")
+ qt_internal_find_modules(modules)
+ foreach(module IN LISTS modules)
+ qt_internal_checkout("${module}" "${revision}")
+ endforeach()
+ return()
+ endif()
+ else()
+ set(revision "HEAD")
+ endif()
+ qt_internal_checkout("${module}" "${revision}")
+
+ qt_internal_resolve_module_dependencies(${module} initial_dependencies initial_revisions)
+ if(initial_dependencies)
+ foreach(dependency ${initial_dependencies})
+ if(dependency MATCHES "^tqtc-")
+ message(WARNING
+ "Handling of tqtc- repos will likely fail. Fixing this is non-trivial.")
+ break()
+ endif()
+ endforeach()
+ endif()
+
+ set(revision "")
+ set(checkedout "1")
+ # Load all dependencies for $module, then iterate over the dependencies in reverse order,
+ # and check out the first that isn't already at the required revision.
+ # Repeat everything (we need to reload dependencies after each checkout) until no more checkouts
+ # are done.
+ while(${checkedout})
+ qt_internal_resolve_module_dependencies(${module} dependencies revisions)
+ message(DEBUG "${module} dependencies: ${dependencies}")
+ message(DEBUG "${module} revisions : ${revisions}")
+
+ list(LENGTH dependencies count)
+ if (count EQUAL "0")
+ message(NOTICE "Module ${module} has no dependencies")
+ return()
+ endif()
+
+ math(EXPR count "${count} - 1")
+ set(checkedout 0)
+ foreach(i RANGE ${count} 0 -1 )
+ list(GET dependencies ${i} dependency)
+ list(GET revisions ${i} revision)
+ if ("${revision}" STREQUAL "HEAD")
+ message(DEBUG "Not changing checked out revision of ${dependency}")
+ continue()
+ endif()
+
+ if(NOT EXISTS "./${dependency}")
+ message(DEBUG "No worktree for '${dependency}' found in '${CMAKE_CURRENT_SOURCE_DIR}'")
+ qt_internal_get_dependency("${module}" "${dependency}")
+ endif()
+
+ execute_process(
+ COMMAND "git" "rev-parse" "HEAD"
+ WORKING_DIRECTORY "./${dependency}"
+ RESULT_VARIABLE git_result
+ OUTPUT_VARIABLE git_stdout
+ ERROR_VARIABLE git_stderr
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+ if (git_result)
+ message(WARNING "${git_stdout}")
+ message(FATAL_ERROR "Failed to get current HEAD of '${dependency}': ${git_stderr}")
+ endif()
+ if ("${git_stdout}" STREQUAL "${revision}")
+ continue()
+ endif()
+
+ qt_internal_checkout("${dependency}" "${revision}")
+ set(checkedout 1)
+ break()
+ endforeach()
+ endwhile()
+endfunction()
+
+# Runs user specified command for all qt repositories in qt directory.
+# Similar to git submodule foreach, except without relying on .gitmodules existing.
+# Useful for worktree checkouts.
+function(qt_internal_foreach_repo_run)
+ cmake_parse_arguments(PARSE_ARGV 0 arg
+ ""
+ ""
+ "ARGS"
+ )
+ if(NOT arg_ARGS)
+ message(FATAL_ERROR "No arguments specified to qt_internal_foreach_repo_run")
+ endif()
+ separate_arguments(args NATIVE_COMMAND "${arg_ARGS}")
+
+ # Find the qt repos
+ qt_internal_find_modules(modules)
+
+ # Hack to support color output on unix systems
+ # https://stackoverflow.com/questions/18968979/how-to-make-colorized-message-with-cmake
+ execute_process(COMMAND
+ /usr/bin/tty
+ OUTPUT_VARIABLE tty_name
+ RESULT_VARIABLE tty_exit_code
+ OUTPUT_STRIP_TRAILING_WHITESPACE
+ )
+
+ set(color_supported FALSE)
+ set(output_goes_where "")
+ if(NOT tty_exit_CODE AND tty_name)
+ set(color_supported TRUE)
+ set(output_goes_where "OUTPUT_FILE" "${tty_name}")
+ endif()
+
+ # Count successes and failures.
+ set(count_success "0")
+ set(count_failure "0")
+
+ # Show colored error markers.
+ set(color "--normal")
+ if(color_supported)
+ set(color "--red")
+ endif()
+
+ foreach(module IN LISTS modules)
+ message("Entering '${module}'")
+ execute_process(
+ COMMAND ${args}
+ WORKING_DIRECTORY "${module}"
+ ${output_goes_where}
+ RESULT_VARIABLE cmd_result
+ )
+ if(cmd_result)
+ math(EXPR count_failure "${count_failure}+1")
+ # cmake_echo_color is undocumented, but lets us output colors and control newlines.
+ execute_process(
+ COMMAND
+ ${CMAKE_COMMAND} -E env CLICOLOR_FORCE=1
+ ${CMAKE_COMMAND} -E cmake_echo_color "${color}"
+ "Process execution failed here ^^^^^^^^^^^^^^^^^^^^"
+ )
+ else()
+ math(EXPR count_success "${count_success}+1")
+ endif()
+ endforeach()
+
+ # Show summary with colors.
+ set(color "--normal")
+ if(count_failure AND color_supported)
+ set(color "--red")
+ endif()
+
+ message("\nSummary\n=======\n")
+ execute_process(
+ COMMAND
+ ${CMAKE_COMMAND} -E cmake_echo_color --normal --no-newline "Failures: "
+ )
+ execute_process(
+ COMMAND
+ ${CMAKE_COMMAND} -E env CLICOLOR_FORCE=1
+ ${CMAKE_COMMAND} -E cmake_echo_color "${color}" "${count_failure}"
+ )
+ message("Successes: ${count_success}")
+endfunction()
+
+# The function collects repos and dependencies that are required to build
+# repos listed in ARGN. If the BUILD_<repo> is defined the 'repo' will be
+# excluded from the list.
+function(qt_internal_collect_modules_only out_repos)
+ set(initial_modules "${ARGN}")
+ get_filename_component(qt5_repo_dir "${CMAKE_CURRENT_LIST_DIR}/.." ABSOLUTE)
+
+ # Overriding CMAKE_CURRENT_SOURCE_DIR is ugly but works
+ set(CMAKE_CURRENT_SOURCE_DIR "${qt5_repo_dir}")
+ if(NOT initial_modules)
+ qt_internal_find_modules(initial_modules)
+ endif()
+
+ qt_internal_sort_module_dependencies("${initial_modules}" ${out_repos})
+ foreach(module IN LISTS ${out_repos})
+ # Check for unmet dependencies
+ if(DEFINED BUILD_${module} AND NOT BUILD_${module})
+ list(REMOVE_ITEM ${out_repos} ${module})
+ continue()
+ endif()
+ get_property(required_deps GLOBAL PROPERTY QT_REQUIRED_DEPS_FOR_${module})
+ get_property(dependencies GLOBAL PROPERTY QT_DEPS_FOR_${module})
+ foreach(dep IN LISTS dependencies)
+ set(required FALSE)
+ if(dep IN_LIST required_deps)
+ set(required TRUE)
+ endif()
+ if(required AND DEFINED BUILD_${dep} AND NOT BUILD_${dep})
+ set(BUILD_${module} FALSE)
+ list(REMOVE_ITEM ${out_repos} ${module})
+ break()
+ endif()
+ endforeach()
+ endforeach()
+
+ set(${out_repos} "${${out_repos}}" PARENT_SCOPE)
+endfunction()
diff --git a/cmake/QtWriteArgsFile.cmake b/cmake/QtWriteArgsFile.cmake
new file mode 100644
index 00000000..336f8550
--- /dev/null
+++ b/cmake/QtWriteArgsFile.cmake
@@ -0,0 +1,92 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# This script writes its arguments to the file determined by OUT_FILE.
+# Each argument appears on a separate line.
+# This is used for writing the init-repository.opt file.
+#
+# This script takes the following arguments:
+# IN_FILE: The input file. The whole command line as one string, or one argument per line.
+# REDO_FILE: A file containing extra commands to be joined with IN_FILE.
+# OUT_FILE: The output file. One argument per line.
+# SKIP_ARGS: Number of arguments to skip from the front of the arguments list.
+# IGNORE_ARGS: List of arguments to be ignored, i.e. that are not written.
+#
+# If the REDO_FILE is given, its parameters will be merged with IN_FILE parameters
+# and be written into the OUT_FILE.
+
+cmake_minimum_required(VERSION 3.16)
+
+# Read arguments from IN_FILE and separate them.
+file(READ "${IN_FILE}" raw_args)
+# To catch cases where the path ends with an `\`, e.g., `-prefix "C:\Path\"`
+string(REPLACE "\\\"" "\"" raw_args "${raw_args}")
+string(REPLACE ";" "[[;]]" raw_args "${raw_args}")
+
+separate_arguments(args NATIVE_COMMAND "${raw_args}")
+
+string(REPLACE "\;" ";" args "${args}")
+string(REPLACE "[[;]]" "\;" args "${args}")
+
+if(DEFINED REDO_FILE)
+ file(READ "${REDO_FILE}" raw_redo_args)
+ separate_arguments(redo_args NATIVE_COMMAND "${raw_redo_args}")
+
+ if(args)
+ list(FIND args "--" args_ddash_loc)
+ list(FIND redo_args "--" redo_ddash_loc)
+ if("${redo_ddash_loc}" STREQUAL "-1")
+ if("${args_ddash_loc}" STREQUAL "-1")
+ list(LENGTH args args_ddash_loc)
+ endif()
+ # Avoid adding an empty line for an empty -redo
+ if(NOT "${redo_args}" STREQUAL "")
+ list(INSERT args ${args_ddash_loc} "${redo_args}")
+ endif()
+ else()
+ # Handling redo's configure options
+ list(SUBLIST redo_args 0 ${redo_ddash_loc} redo_config_args)
+ if(redo_config_args)
+ if("${args_ddash_loc}" STREQUAL "-1")
+ list(APPEND args "${redo_config_args}")
+ else()
+ list(INSERT args ${args_ddash_loc} "${redo_config_args}")
+ endif()
+ endif()
+
+ # Handling redo's CMake options
+ list(LENGTH redo_args redo_args_len)
+ math(EXPR redo_ddash_loc "${redo_ddash_loc} + 1")
+ # Catch an unlikely case of -redo being called with an empty --, ie., `-redo --`
+ if(NOT ${redo_ddash_loc} STREQUAL ${redo_args_len})
+ list(SUBLIST redo_args ${redo_ddash_loc} -1 redo_cmake_args)
+ endif()
+
+ if(DEFINED redo_cmake_args)
+ if("${args_ddash_loc}" STREQUAL "-1")
+ list(APPEND args "--")
+ endif()
+ list(APPEND args "${redo_cmake_args}")
+ endif()
+ endif()
+ else()
+ list(APPEND args "${redo_args}")
+ endif()
+endif()
+
+# Skip arguments if requested
+if(DEFINED SKIP_ARGS)
+ foreach(i RANGE 1 ${SKIP_ARGS})
+ list(POP_FRONT args)
+ endforeach()
+endif()
+
+# Write config.opt
+set(content "")
+foreach(arg IN LISTS args)
+ if(NOT arg IN_LIST IGNORE_ARGS)
+ string(APPEND content "${arg}\n")
+ endif()
+endforeach()
+
+file(WRITE "${OUT_FILE}" "${content}")
diff --git a/coin/instructions/coin_bic_tests.yaml b/coin/instructions/coin_bic_tests.yaml
new file mode 100644
index 00000000..bfdb3012
--- /dev/null
+++ b/coin/instructions/coin_bic_tests.yaml
@@ -0,0 +1,32 @@
+type: Group
+instructions:
+ - type: EnvironmentVariable
+ variableName: QT_MODULE_TO_TEST
+ variableValue: "qt=QtConcurrent,QtCore,QtDBus,QtDesigner,QtGui,QtHelp,QtNetwork,QtOpenGL,QtPrintSupport,QtQml,QtQuick,QtQuickTest,QtSql,QtSvg,QtTest,QtWidgets,QtXml;{{.SourceDir}}/qtbase"
+ - type: EnvironmentVariable
+ variableName: QTDIR
+ variableValue: "{{.InstallDir}}"
+ - type: PrependToEnvironmentVariable
+ variableName: PATH
+ variableValue: "{{.InstallDir}}/bin:"
+ - type: ChangeDirectory
+ directory: "{{.SourceDir}}/qtqa/tests/postbuild/bic"
+ - type: ExecuteCommand
+ command: ["{{.InstallDir}}/bin/qmake"]
+ maxTimeInSeconds: 3600
+ maxTimeBetweenOutput: 300
+ userMessageOnFailure: "Failed to execute qmake for bic tests"
+ - type: ExecuteCommand
+ command: ["make", "check", "-j1"]
+ maxTimeInSeconds: 7200
+ maxTimeBetweenOutput: 300
+ userMessageOnFailure: "Failed to execute bic tests"
+enable_if:
+ condition: and
+ conditions:
+ - condition: property
+ property: features
+ contains_value: Packaging
+ - condition: property
+ property: target.os
+ equals_value: Linux
diff --git a/coin/instructions/coin_qt_build_docs.yaml b/coin/instructions/coin_qt_build_docs.yaml
new file mode 100644
index 00000000..6f554816
--- /dev/null
+++ b/coin/instructions/coin_qt_build_docs.yaml
@@ -0,0 +1,33 @@
+type: Group
+instructions:
+ - type: ExecuteCommand
+ command: "{{.Env.ENV_PREFIX}} cmake --build . --target qtbase/src/plugins/platforms/all qtbase/src/plugins/sqldrivers/all qttools/all --parallel -v"
+ maxTimeInSeconds: 12000
+ maxTimeBetweenOutput: 1200
+ userMessageOnFailure: >
+ Failed to build sources.
+ - type: ExecuteCommand
+ command: "{{.Env.ENV_PREFIX}} cmake --build . --target docs -v"
+ maxTimeInSeconds: 12000
+ maxTimeBetweenOutput: 1200
+ userMessageOnFailure: >
+ Failed to generate docs.
+ - type: ExecuteCommand
+ command: "cp -r {{.BuildDir}}/qtbase/doc/config {{.BuildDir}}/doc"
+ maxTimeInSeconds: 12000
+ maxTimeBetweenOutput: 1200
+ userMessageOnFailure: "Failed to copy qtbase/doc/config to documentation directory."
+ - type: ExecuteCommand
+ command: "cp -r {{.BuildDir}}/qtbase/doc/global {{.BuildDir}}/doc"
+ maxTimeInSeconds: 12000
+ maxTimeBetweenOutput: 1200
+ userMessageOnFailure: "Failed to copy qtbase/doc/global to documentation directory."
+ - type: UploadArtifact
+ archiveDirectory: '{{.BuildDir}}/doc'
+ transferType: UploadModuleDocumentation
+ maxTimeInSeconds: 1800
+ maxTimeBetweenOutput: 1800
+enable_if:
+ condition: property
+ property: features
+ contains_value: "Documentation"
diff --git a/coin/instructions/coin_qt_build_template.yaml b/coin/instructions/coin_qt_build_template.yaml
new file mode 100644
index 00000000..b263ea8e
--- /dev/null
+++ b/coin/instructions/coin_qt_build_template.yaml
@@ -0,0 +1,8 @@
+type: Group
+instructions:
+ - !include "{{qt/qt5}}/coin_qt_configure.yaml"
+ - !include "{{qt/qt5}}/coin_qt_build_docs.yaml"
+disable_if:
+ condition: property
+ property: features
+ contains_value: "TargetBuildOnly"
diff --git a/coin/instructions/coin_qt_configure.yaml b/coin/instructions/coin_qt_configure.yaml
new file mode 100644
index 00000000..c1650256
--- /dev/null
+++ b/coin/instructions/coin_qt_configure.yaml
@@ -0,0 +1,49 @@
+type: Group
+instructions:
+ - !include "{{qt/qtbase}}/prepare_building_env.yaml"
+ - type: MakeDirectory
+ directory: .git
+ - type: SetBuildDirectory
+ directory: "{{.SourceDir}}"
+ - type: ChangeDirectory
+ directory: "{{.BuildDir}}"
+
+ - !include "{{qt/qt5}}/prepare_configure_executable.yaml"
+
+ - type: EnvironmentVariable
+ variableName: COIN_CONFIGURE_ARGS
+ variableValue: "{{.Env.CONFIGURE_ARGS}}"
+ - type: EnvironmentVariable
+ variableName: COIN_CMAKE_ARGS
+ # Use unix separators even on Windows, to avoid escaping issues in the configure script.
+ variableValue: "{{.Env.CMAKE_ARGS}} {{.Env.COMMON_CMAKE_ARGS}} -DCMAKE_INSTALL_PREFIX:PATH={{unixPathSeparators .InstallDir}}"
+ - type: EnvironmentVariable
+ variableName: CONFIGURE_ENV_PREFIX
+ variableValue: "{{.Env.ENV_PREFIX}}"
+
+ - type: ExecuteCommand
+ # There is no SourceDir on purpose, because configure is called directly from qtbase,
+ # so the script knows it's own source dir.
+ # TODO: Consider removing these instructions, and using the ones in qtbase/call_configure_qtbase.yaml
+ # once all dependencies are propagated.
+ command: "{{.Env.CONFIGURE_ENV_PREFIX}} {{.Env.CONFIGURE_EXECUTABLE}} {{.Env.COIN_CONFIGURE_ARGS}} -- {{.Env.COIN_CMAKE_ARGS}}"
+ executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
+ maxTimeInSeconds: 6000
+ maxTimeBetweenOutput: 1200
+ userMessageOnFailure: >
+ Failed to call cmake.
+ enable_if:
+ condition: property
+ property: features
+ contains_value: UseConfigure
+ - type: ExecuteCommand
+ command: "{{.Env.CONFIGURE_ENV_PREFIX}} {{.Env.CONFIGURE_EXECUTABLE}} {{.SourceDir}} {{.Env.COIN_CONFIGURE_ARGS}} {{.Env.COIN_CMAKE_ARGS}}"
+ executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
+ maxTimeInSeconds: 6000
+ maxTimeBetweenOutput: 1200
+ userMessageOnFailure: >
+ Failed to call cmake.
+ disable_if:
+ condition: property
+ property: features
+ contains_value: UseConfigure
diff --git a/coin/instructions/prepare_configure_executable.yaml b/coin/instructions/prepare_configure_executable.yaml
new file mode 100644
index 00000000..50474cc5
--- /dev/null
+++ b/coin/instructions/prepare_configure_executable.yaml
@@ -0,0 +1,37 @@
+# Call either cmake or configure depending on whether the
+# UseConfigure platform configuration feature is set.
+# We should remove the cmake branch, once all platform configurations
+# are ported to use configure.
+# TODO: Remove this file, and reference the one in qtbase, once all
+# all dependencies are propagated.
+type: Group
+instructions:
+ - type: Group
+ enable_if:
+ condition: property
+ property: features
+ contains_value: UseConfigure
+ instructions:
+ - type: EnvironmentVariable
+ variableName: CONFIGURE_EXECUTABLE
+ variableValue: "{{.SourceDir}}/configure"
+ disable_if:
+ condition: property
+ property: host.os
+ equals_value: Windows
+ - type: EnvironmentVariable
+ variableName: CONFIGURE_EXECUTABLE
+ variableValue: "{{.SourceDir}}\\configure.bat"
+ enable_if:
+ condition: property
+ property: host.os
+ equals_value: Windows
+ - type: Group
+ disable_if:
+ condition: property
+ property: features
+ contains_value: UseConfigure
+ instructions:
+ - type: EnvironmentVariable
+ variableName: CONFIGURE_EXECUTABLE
+ variableValue: "cmake"
diff --git a/coin/module_config.yaml b/coin/module_config.yaml
new file mode 100644
index 00000000..3de784a2
--- /dev/null
+++ b/coin/module_config.yaml
@@ -0,0 +1,12 @@
+version: 2
+accept_configuration:
+ condition: property
+ property: features
+ not_contains_value: Disable
+
+instructions:
+ Build:
+ - !include "{{qt/qt5}}/coin_qt_build_template.yaml"
+
+ Test:
+ - !include "{{qt/qt5}}/coin_bic_tests.yaml"
diff --git a/coin/platform_configs/address_sanitizer_platforms.yaml b/coin/platform_configs/address_sanitizer_platforms.yaml
new file mode 100644
index 00000000..0db6392b
--- /dev/null
+++ b/coin/platform_configs/address_sanitizer_platforms.yaml
@@ -0,0 +1,12 @@
+Version: 2
+Configurations:
+-
+ Id: 'opensuse-15.5-host-asan'
+ Template: 'qtci-linux-openSUSE-15.5-x86_64-52'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure', 'UseAddressSanitizer']
+ Configure arguments: '-nomake examples -developer-build'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
+ ]
diff --git a/coin/platform_configs/boot2qt-manifest.yaml b/coin/platform_configs/boot2qt-manifest.yaml
new file mode 100644
index 00000000..8eec64a3
--- /dev/null
+++ b/coin/platform_configs/boot2qt-manifest.yaml
@@ -0,0 +1,4 @@
+Version: 2
+Module only: True
+Include: [yocto.yaml]
+Configurations: []
diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml
new file mode 100644
index 00000000..82b93c0d
--- /dev/null
+++ b/coin/platform_configs/cmake_platforms.yaml
@@ -0,0 +1,307 @@
+Version: 2
+Include: [
+ cmake_platforms_qemu.yaml,
+ cmake_platforms_qemu_qnx710.yaml,
+ cmake_platforms_target_android.yaml,
+ cmake_platforms_wasm.yaml,
+ macos.yaml
+ ]
+Configurations:
+# Build on Ubuntu 22.04 and test on both X11 and Wayland later
+-
+ Id: 'ubuntu-22.04-documentation'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'Documentation', 'UseConfigure', 'DoNotRunTests']
+ Configure arguments: '-make examples -developer-build -c++std c++20 -linker gold -qtlibinfix TestInfix -qtnamespace TestNamespace'
+ Environment variables: ['NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}']
+-
+ Id: 'ubuntu-22.04'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'UseConfigure', 'DoNotRunTests']
+ Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
+ ]
+# Test on Ubuntu 22.04 X11
+-
+ Id: 'ubuntu-22.04-documentation-x11-tests'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'TestDocs', 'TestOnly']
+ Platform dependency: 'ubuntu-22.04-documentation'
+-
+ Id: 'ubuntu-22.04-x11-tests'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'TestOnly']
+ Platform dependency: 'ubuntu-22.04'
+-
+ Id: 'opensuse-15.5-developer-build'
+ Template: 'qtci-linux-openSUSE-15.5-x86_64-52'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure']
+ Configure arguments: '-nomake examples -developer-build'
+ Environment variables: [
+ 'PATH={{.Env.CMAKE_MIN_SUPPORTED_BIN_PATH}}:{{.Env.PATH}}',
+ 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
+ ]
+-
+ Id: 'sles-15_sp5-static'
+ Template: 'qtci-linux-SLES-15_SP5-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'DisableTests', 'UseConfigure']
+ Configure arguments: '-nomake examples -static -no-sql-mysql'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
+ ]
+-
+ Id: 'windows-10_22h2-msvc2019'
+ Template: 'qtci-windows-10_22H2-x86_64-51'
+ Compiler: 'MSVC2019'
+ Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure']
+ Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib'
+ Environment variables: [
+ 'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
+ 'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DINPUT_headersclean=ON',
+ 'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
+ ]
+-
+ Id: 'windows-11_23H2-msvc2019'
+ Template: 'qtci-windows-11_23H2-x86_64-52'
+ Compiler: 'MSVC2019'
+ Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure']
+ Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib'
+ Environment variables: [
+ 'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DINPUT_headersclean=ON',
+ 'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
+ 'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
+ ]
+-
+ Id: 'windows-10_22h2-msvc2022'
+ Template: 'qtci-windows-10_22H2-x86_64-51'
+ Compiler: 'MSVC2022'
+ 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}}\.. -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 -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON',
+ 'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
+ 'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
+ ]
+-
+ Id: 'windows-11_23H2-msvc2022'
+ Template: 'qtci-windows-11_23H2-x86_64-52'
+ Compiler: 'MSVC2022'
+ Features: ['Sccache', "DebugAndRelease", 'UseConfigure', 'Packaging']
+ Configure arguments: '-debug-and-release -force-debug-info -headersclean -nomake examples -qt-zlib -c++std c++20'
+ Environment variables: [
+ 'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\..',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON',
+ 'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
+ 'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
+ ]
+-
+ Id: 'windows-10_22h2-msvc2019-developer-build'
+ Template: 'qtci-windows-10_22H2-x86_64-51'
+ Compiler: 'MSVC2019'
+ Features: ['Sccache', "DebugAndRelease", 'WarningsAreErrors', 'UseConfigure']
+ Configure arguments: '-debug-and-release -make examples -developer-build -force-debug-info -qt-zlib'
+ Environment variables: [
+ 'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DMySQL_ROOT={{.Env.ENV_MySQL_ROOT}} -DMySQL_LIBRARY_DIR={{.Env.ENV_MySQL_LIBRARY_DIR}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE',
+ 'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
+ 'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
+ ]
+-
+ Id: 'windows-10_22h2-msvc2019-arm64'
+ Template: 'qtci-windows-10_22H2-x86_64-51'
+ Compiler: 'MSVC2019'
+ Target arch: 'arm64'
+ Features: ['Sccache', 'DisableTests', 'TargetBuildOnly', 'Packaging', 'UseConfigure']
+ Platform dependency: 'windows-10_22h2-msvc2019-developer-build'
+ Environment variables: [
+ 'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc',
+ 'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ROOT_DIR_x64_arm64}}',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
+ 'OPENSSL_CONF_x64={{.Env.OPENSSL_CONF_x64_arm64}}',
+ 'OPENSSL_INCLUDE_x64={{.Env.OPENSSL_INCLUDE_x64_arm64}}',
+ 'OPENSSL_LIB_x64={{.Env.OPENSSL_LIB_x64_arm64}}',
+ 'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
+ ]
+-
+ Id: 'windows-11_23H2-msvc2019-developer-build'
+ Template: 'qtci-windows-11_23H2-x86_64-52'
+ Compiler: 'MSVC2019'
+ Features: ['Sccache', "DebugAndRelease", 'WarningsAreErrors', 'UseConfigure']
+ Configure arguments: '-debug-and-release -make examples -developer-build -force-debug-info -qt-zlib'
+ Environment variables: [
+ 'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DMySQL_ROOT={{.Env.ENV_MySQL_ROOT}} -DMySQL_LIBRARY_DIR={{.Env.ENV_MySQL_LIBRARY_DIR}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC}} -DQT_DEPLOY_FFMPEG=TRUE',
+ 'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
+ 'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
+ ]
+-
+ Id: 'windows-11_23H2-msvc2019-arm64'
+ Template: 'qtci-windows-11_23H2-x86_64-52'
+ Compiler: 'MSVC2019'
+ Target arch: 'arm64'
+ Features: ['Sccache', 'DisableTests', 'TargetBuildOnly', 'Packaging', 'UseConfigure']
+ Platform dependency: 'windows-11_23H2-msvc2019-developer-build'
+ Environment variables: [
+ 'TARGET_CONFIGURE_ARGS=-debug-and-release -force-debug-info -platform win32-arm64-msvc',
+ 'TARGET_CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR_MSVC_ARM64}} -DQT_DEPLOY_FFMPEG=TRUE',
+ 'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
+ ]
+-
+ Id: 'rhel-8.8'
+ Template: 'qtci-linux-RHEL-8.8-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['Packaging', 'Sccache', 'UseConfigure', 'InstallQt5Dependencies']
+ Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DFEATURE_native_grpc=OFF -DINPUT_headersclean=ON'
+ ]
+-
+ Id: 'rhel-9.2'
+ Template: 'qtci-linux-RHEL-9.2-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies']
+ Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
+ ]
+# Build on Debian-11.6 and split test on Wayland and offscreen later
+-
+ Id: 'debian-11.6-arm64'
+ Template: 'qtci-linux-Debian-11.6-aarch64-50'
+ Compiler: 'GCC'
+ Features: ['Packaging', 'UseConfigure', 'InstallQt5Dependencies', 'DoNotRunTests']
+ Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-doubleconversion -qt-harfbuzz -no-libudev -bundled-xcb-xinput'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
+ ]
+# Test on Debian-11.6 offscreen
+-
+ Id: 'debian-11.6-arm64-offscreen-tests'
+ Template: 'qtci-linux-Debian-11.6-aarch64-50'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'InsignificantTests', 'TestOnly']
+ Environment variables: [
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
+ 'QT_QPA_PLATFORM=offscreen'
+ ]
+ Platform dependency: 'debian-11.6-arm64'
+-
+ Id: 'ios-universal'
+ Template: 'qtci-macos-13-x86_64-103'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Platform dependency: 'macos-universal-on-x86_64'
+ Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests', 'UseConfigure', 'WarningsAreErrors']
+ Environment variables: [
+ 'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include -DFFMPEG_DIR={{.Env.FFMPEG_DIR_IOS}}'
+ ]
+-
+ Id: 'windows-10_22h2-mingw13'
+ Template: 'qtci-windows-10_22H2-x86_64-51'
+ Compiler: 'Mingw'
+ Features: ['Packaging', 'Sccache', 'UseConfigure']
+ Configure arguments: '-release -force-debug-info -separate-debug-info -nomake 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}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
+ 'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}',
+ 'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}',
+ ]
+-
+ Id: 'windows-10_22h2-llvm'
+ Template: 'qtci-windows-10_22H2-x86_64-51'
+ Compiler: 'Clang'
+ Features: ['Sccache', 'UseConfigure']
+ Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
+ Environment variables: [
+ 'Path=C:\llvm-mingw\bin;{{.Env.Path}}',
+ 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c -DMySQL_ROOT={{.Env.ENV_MySQL_ROOT}} -DMySQL_LIBRARY_DIR={{.Env.ENV_MySQL_LIBRARY_DIR}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_LLVM_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
+ 'LLVM_INSTALL_DIR=C:\llvm-mingw',
+ 'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}',
+ ]
+-
+ Id: 'windows-11_23H2-llvm'
+ Template: 'qtci-windows-11_23H2-x86_64-52'
+ Compiler: 'Clang'
+ Features: ['Packaging','Sccache', 'UseConfigure']
+ Configure arguments: '-release -force-debug-info -separate-debug-info -nomake examples'
+ Environment variables: [
+ 'Path=C:\llvm-mingw\bin;{{.Env.Path}}',
+ 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DPostgreSQL_ROOT={{.Env.POSTGRESQL_LIB_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_LLVM_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c',
+ 'LLVM_INSTALL_DIR=C:\llvm-mingw',
+ 'Protobuf_ROOT={{.Env.Protobuf_ROOT_llvm_mingw}}',
+ ]
+-
+ Id: 'windows-10_22h2-mingw13-developer-build'
+ Template: 'qtci-windows-10_22H2-x86_64-51'
+ Compiler: 'Mingw'
+ Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure']
+ Configure arguments: '-developer-build -release -force-debug-info -separate-debug-info -make examples'
+ Environment variables: [
+ 'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
+ 'CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c -DMySQL_ROOT={{.Env.ENV_MySQL_ROOT}} -DMySQL_LIBRARY_DIR={{.Env.ENV_MySQL_LIBRARY_DIR}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c -DFEATURE_native_grpc=OFF',
+ 'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}',
+ 'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}',
+ ]
+-
+ Id: 'windows-11_23H2-mingw13-developer-build'
+ Template: 'qtci-windows-11_23H2-x86_64-52'
+ Compiler: 'Mingw'
+ Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure']
+ Configure arguments: '-developer-build -release -force-debug-info -separate-debug-info -make examples'
+ Environment variables: [
+ 'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
+ 'CMAKE_ARGS=-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\.. -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c -DMySQL_ROOT={{.Env.ENV_MySQL_ROOT}} -DMySQL_LIBRARY_DIR={{.Env.ENV_MySQL_LIBRARY_DIR}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_MINGW}} -DQT_DEPLOY_FFMPEG=TRUE -DCMAKE_IGNORE_PREFIX_PATH=C:/strawberry/c -DFEATURE_native_grpc=OFF',
+ 'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_mingw}}',
+ 'Protobuf_ROOT={{.Env.Protobuf_ROOT_mingw}}',
+ ]
+-
+ Id: 'jammy-arm64-debian-pkg-packaging'
+ Template: 'qtci-linux-Debian-11.6-aarch64-50'
+ Compiler: 'GCC'
+ Features: ['Packaging','DebianPackaging','DisableTests', 'Insignificant']
+ Environment variables: [
+ 'DEBIAN_RULES_REF=6.8_dev',
+ 'COIN_TARGET_DIST=tqtc-jammy',
+ 'COIN_EXTRA_DEBIAN_PACKAGES={{.Env.HOME}}/debian_packages/',
+ 'COIN_SBUILD_CHROOT=jammy-arm64-sbuild',
+ 'COIN_EXTRA_DEBIAN_REPO=deb http://ports.ubuntu.com/ubuntu-ports/ jammy main universe multiverse',
+ 'COIN_SKIP_DEBIAN_MODULES=qt5 qtqa qtactiveqt qtdoc qtwebengine qtwebview',
+ ]
+-
+ Id: 'jammy-amd64-debian-pkg-packaging'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['Packaging','DebianPackaging','DisableTests', 'Insignificant']
+ Environment variables: [
+ 'DEBIAN_RULES_REF=6.8_dev',
+ 'COIN_TARGET_DIST=tqtc-jammy',
+ 'COIN_EXTRA_DEBIAN_PACKAGES={{.Env.HOME}}/debian_packages/',
+ 'COIN_SBUILD_CHROOT=jammy-amd64-sbuild',
+ 'COIN_EXTRA_DEBIAN_REPO=deb http://archive.ubuntu.com/ubuntu/ jammy main universe multiverse',
+ 'COIN_SKIP_DEBIAN_MODULES=qt5 qtqa qtactiveqt qtdoc qtwebengine qtwebview',
+ ]
diff --git a/coin/platform_configs/cmake_platforms_qemu.yaml b/coin/platform_configs/cmake_platforms_qemu.yaml
new file mode 100644
index 00000000..891a19df
--- /dev/null
+++ b/coin/platform_configs/cmake_platforms_qemu.yaml
@@ -0,0 +1,53 @@
+Version: 2
+Configurations:
+-
+ Id: 'qemu-armv7-developer-build'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Target os: 'QEMU'
+ Target arch: 'armv7'
+ Compiler: 'GCC'
+ Platform dependency: 'ubuntu-22.04'
+ 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',
+ 'QT_YOCTO_ENVSETUP={{.Env.QEMUARMV7_TOOLCHAIN_ENVSETUP}}',
+ "QT_CMAKE_DIR=/opt/cmake-3.27.7/bin",
+ 'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUARMV7_TOOLCHAIN_SYSROOT}}',
+ 'GST_PLUGIN_SCANNER={{.Env.QEMUARMV7_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
+ 'QT_QUICK_BACKEND=software',
+ ]
+-
+ Id: 'qemu-arm64-developer-build'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Target os: 'QEMU'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Platform dependency: 'ubuntu-22.04'
+ 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',
+ '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}}',
+ 'GST_PLUGIN_SCANNER={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
+ 'QT_QUICK_BACKEND=software',
+ ]
+-
+ Id: 'qemu-mips64-developer-build'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Target os: 'QEMU'
+ Target arch: 'mips64'
+ Compiler: 'GCC'
+ Platform dependency: 'ubuntu-22.04'
+ Features: ['Sccache', 'DisableTests', 'UseConfigure']
+ 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.QEMUMIPS64_TOOLCHAIN_CROSS_COMPILE}}" -device-option "DISTRO_OPTS=boot2qt" -no-feature-forkfd_pidfd',
+ 'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QEMUMIPS64_TOOLCHAIN_FILE}} -DQT_FORCE_BUILD_TOOLS=ON',
+ 'QT_YOCTO_ENVSETUP={{.Env.QEMUMIPS64_TOOLCHAIN_ENVSETUP}}',
+ "QT_CMAKE_DIR=/opt/cmake-3.27.7/bin",
+ 'QT_SYSROOT_FOR_RUNNING_TESTS={{.Env.QEMUMIPS64_TOOLCHAIN_SYSROOT}}',
+ 'GST_PLUGIN_SCANNER={{.Env.QEMUMIPS64_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
+ 'QT_QUICK_BACKEND=software',
+ ]
diff --git a/coin/platform_configs/cmake_platforms_qemu_qnx710.yaml b/coin/platform_configs/cmake_platforms_qemu_qnx710.yaml
new file mode 100644
index 00000000..21b9b30d
--- /dev/null
+++ b/coin/platform_configs/cmake_platforms_qemu_qnx710.yaml
@@ -0,0 +1,46 @@
+Version: 2
+Configurations:
+-
+ Id: 'qnx-710-x86_64-developer-build-on-linux'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Target os: 'QNX_710'
+ Target arch: 'x86_64'
+ Compiler: 'GCC'
+ Target compiler: 'QCC'
+ Platform dependency: 'ubuntu-22.04'
+ Features: ['Packaging', 'VMSize8', 'UseConfigure']
+ Environment variables: [
+ 'TARGET_CONFIGURE_ARGS=-release -force-debug-info -developer-build -no-dbus -nomake examples',
+ 'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_710}}/qnx-toolchain-x8664.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
+ 'QT_CMAKE_DIR=/opt/cmake-3.27.7/bin',
+ 'QNX_TEST_ENV=LD_LIBRARY_PATH={{.Env.QNX_QEMU_LD_LIBRARY_PATH}} QSG_RHI_BACKEND=software QT_QPA_PLATFORM=offscreen QTEST_ENVIRONMENT=ci',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF',
+ ]
+-
+ Id: 'qnx-710-arm64-on-linux'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Target os: 'QNX_710'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'QCC'
+ Platform dependency: 'ubuntu-22.04'
+ Features: ['Packaging', 'DisableTests', 'UseConfigure']
+ Environment variables: [
+ 'TARGET_CONFIGURE_ARGS=-release -force-debug-info -no-dbus -nomake examples',
+ 'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_710}}/qnx-toolchain-aarch64le.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF',
+ ]
+-
+ Id: 'qnx-710-armv7-on-linux'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Target os: 'QNX_710'
+ Target arch: 'armv7'
+ Compiler: 'GCC'
+ Target compiler: 'QCC'
+ Platform dependency: 'ubuntu-22.04'
+ Features: ['Packaging', 'DisableTests', 'UseConfigure']
+ Environment variables: [
+ 'TARGET_CONFIGURE_ARGS=-release -force-debug-info -no-dbus -nomake examples',
+ 'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_710}}/qnx-toolchain-armv7le.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF',
+ ]
diff --git a/coin/platform_configs/cmake_platforms_qemu_vxworks.yaml b/coin/platform_configs/cmake_platforms_qemu_vxworks.yaml
new file mode 100644
index 00000000..ddc033ad
--- /dev/null
+++ b/coin/platform_configs/cmake_platforms_qemu_vxworks.yaml
@@ -0,0 +1,15 @@
+Version: 2
+Configurations:
+-
+ Id: 'vxworks-imx6'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Target os: 'VxWorks'
+ Target arch: 'ARMv7'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Platform dependency: 'ubuntu-22.04'
+ Features: ['Packaging', '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_static_tests.yaml b/coin/platform_configs/cmake_platforms_static_tests.yaml
new file mode 100644
index 00000000..e6a98abb
--- /dev/null
+++ b/coin/platform_configs/cmake_platforms_static_tests.yaml
@@ -0,0 +1,29 @@
+Version: 2
+Configurations:
+-
+ Id: 'sles-15_sp5-minimal-static'
+ Template: 'qtci-linux-SLES-15_SP5-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure']
+ Configure arguments: '-nomake examples -static -no-sql-mysql'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ ]
+-
+ Id: 'windows-10_22h2-minimal-static'
+ Template: 'qtci-windows-10_22H2-x86_64-51'
+ Compiler: 'MSVC2019'
+ Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure']
+ Configure arguments: '-release -force-debug-info -static -nomake examples -qt-zlib'
+ Environment variables: [
+ 'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..',
+ 'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
+ 'Protobuf_ROOT={{.Env.Protobuf_ROOT_msvc}}',
+ 'gRPC_ROOT={{.Env.gRPC_ROOT_msvc}}',
+ ]
+-
+ Id: 'macos-minimal-static'
+ Template: 'qtci-macos-13-x86_64-103'
+ Compiler: 'Clang'
+ Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure']
+ Configure arguments: '-nomake examples -release -force-debug-info -static -no-framework'
diff --git a/coin/platform_configs/cmake_platforms_target_android.yaml b/coin/platform_configs/cmake_platforms_target_android.yaml
new file mode 100644
index 00000000..d10bff06
--- /dev/null
+++ b/coin/platform_configs/cmake_platforms_target_android.yaml
@@ -0,0 +1,65 @@
+Version: 2
+Configurations:
+-
+ Id: 'android-arm64-on-macos'
+ Template: 'qtci-macos-13-x86_64-103'
+ Target os: 'Android_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Platform dependency: 'macos-universal-on-x86_64'
+ Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure']
+ Environment variables: [
+ 'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis arm64-v8a',
+ 'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARM64}} -DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
+ 'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}'
+ ]
+-
+ Id: 'android-armv7-on-windows'
+ Template: 'qtci-windows-10_22H2-x86_64-51'
+ Target os: 'Android_ANY'
+ Target arch: 'armv7'
+ Compiler: 'Mingw'
+ Target compiler: 'Clang'
+ Platform dependency: 'windows-10_22h2-mingw13'
+ Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'DisableTests', 'UseConfigure']
+ Environment variables: [
+ 'Path={{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
+ 'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis armeabi-v7a -no-feature-pkg-config',
+ 'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_ARMV7}} -DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR={{.Env.Protobuf_ROOT_msvc}}/include',
+ 'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}'
+ ]
+-
+ Id: 'android-8-x86-on-linux'
+ Template: 'qtci-linux-RHEL-8.8-x86_64-50'
+ Target os: 'Android_ANY'
+ Target arch: 'x86'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Platform dependency: 'rhel-8.8'
+ Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
+ Environment variables: [
+ 'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
+ 'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86}} -DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
+ 'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}',
+ 'ANDROID_EMULATOR=emulator_x86_api_26'
+ ]
+-
+ Id: 'android-14-x86_64-on-linux'
+ Template: 'qtci-linux-RHEL-8.8-x86_64-50'
+ Target os: 'Android_ANY'
+ Target arch: 'x86_64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Platform dependency: 'rhel-8.8'
+ Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
+ Environment variables: [
+ 'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
+ 'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64}}',
+ 'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}',
+ 'ANDROID_EMULATOR=emulator_x86_64_api_34'
+ ]
diff --git a/coin/platform_configs/cmake_platforms_wasm.yaml b/coin/platform_configs/cmake_platforms_wasm.yaml
new file mode 100644
index 00000000..34b26141
--- /dev/null
+++ b/coin/platform_configs/cmake_platforms_wasm.yaml
@@ -0,0 +1,42 @@
+Version: 2
+Configurations:
+-
+ Id: 'webassembly-linux-thread-asyncify'
+ Template: 'qtci-linux-openSUSE-15.5-x86_64-52'
+ Target os: 'WebAssembly'
+ Compiler: 'GCC'
+ Platform dependency: 'opensuse-15.5-developer-build'
+ Features: ['Sccache', 'DoNotRunTests', 'UseConfigure']
+ Environment variables: [
+ 'EM_CONFIG={{.Env.EMSDK}}/.emscripten',
+ "TARGET_CONFIGURE_ARGS=-release -platform wasm-emscripten -nomake examples -feature-thread \
+ -DQT_QMAKE_DEVICE_OPTIONS=\"QT_EMSCRIPTEN_ASYNCIFY=1\""
+ ]
+-
+ Id: 'webassembly-windows'
+ Template: 'qtci-windows-10_22H2-x86_64-51'
+ Target os: 'WebAssembly'
+ Compiler: 'Mingw'
+ Target compiler: 'Clang'
+ Platform dependency: 'windows-10_22h2-mingw13'
+ Features: ['Packaging', 'Sccache', 'DisableTests', 'UseConfigure']
+ Environment variables: [
+ 'Path={{.Env.EMSDK_PATH}};{{.Env.MINGW_PATH}}\bin;{{.Env.Path}}',
+ 'EM_CONFIG={{.Env.EMSDK}}/.emscripten',
+ 'TARGET_CONFIGURE_ARGS=-release -platform wasm-emscripten -nomake examples',
+ 'TARGET_CMAKE_ARGS=-DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_pkg_config=OFF -DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH={{.Env.Protobuf_ROOT_mingw}} -DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR={{.Env.Protobuf_ROOT_mingw}}/include',
+ ]
+-
+ Id: 'webassembly-linux-thread'
+ Template: 'qtci-linux-openSUSE-15.5-x86_64-52'
+ Target os: 'WebAssembly'
+ Compiler: 'GCC'
+ Platform dependency: 'opensuse-15.5-developer-build'
+ Features: ['Packaging', 'Sccache', 'DisableTests', 'UseConfigure']
+ Environment variables: [
+ 'EM_CONFIG={{.Env.EMSDK}}/.emscripten',
+ 'TARGET_CONFIGURE_ARGS=-release -platform wasm-emscripten -nomake examples -feature-thread',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DQT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH=/usr/local -DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
+ 'TARGET_CMAKE_ARGS=-DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON'
+ ]
diff --git a/coin/platform_configs/default.txt b/coin/platform_configs/default.txt
deleted file mode 100644
index da452401..00000000
--- a/coin/platform_configs/default.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-Template Target OS Target arch Compiler Target Compiler Features
------------------------------------ ------------------- ----------- ----------- --------------- -------------------------------------------------------------------------------------
-qtci-windows-10-x86_64-10 MSVC2015 DeveloperBuild Release QtNamespace QtLibInfix BuildExamples OpenGLAngle
-qtci-windows-7-x86-3 Mingw73 DeveloperBuild Release OpenGLDynamic
-qtci-windows-10-x86_64-10 x86 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
-qtci-windows-10-x86_64-10 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
-qtci-windows-10-x86_64-10 WinRT_10 x86 MSVC2015 DebugAndRelease Release ForceDebugInfo DisableTests
-qtci-windows-10-x86_64-10 WinRT_10 armv7 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
-qtci-windows-10-x86_64-10 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
-qtci-linux-Ubuntu-16.04-x86_64-2 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace BuildExamples
-qtci-linux-Ubuntu-18.04-x86_64 GCC NoWidgets ForceDebugInfo
-qtci-linux-Ubuntu-18.04-x86_64 GCC DeveloperBuild OutOfSourceBuild QtLibInfix QtNamespace BuildExamples Documentation
-qtci-linux-openSUSE-42.3-x86_64 GCC DeveloperBuild NoPch
-qtci-linux-openSUSE-42.3-x86_64 ICC_18 DeveloperBuild NoPch DisableTests SystemSQLite
-qtci-linux-openSUSE-42.3-x86_64 WebAssembly GCC Packaging DeveloperBuild NoPch DisableTests
-qtci-linux-RHEL-7.4-x86_64 GCC Packaging Release NoUseGoldLinker ForceDebugInfo SeparateDebugInfo
-qtci-macos-10.13-x86_64-2 Clang Packaging DebugAndRelease Release
-qtci-macos-10.12-x86_64-9 Clang DeveloperBuild NoFramework Release QtNamespace NoPch
-qtci-macos-10.13-x86_64-2 IOS_ANY multi Clang Packaging DebugAndRelease DisableTests Static
-qtci-macos-10.13-x86_64-2 TvOS_ANY multi Clang DebugAndRelease DisableTests
-qtci-macos-10.13-x86_64-2 WatchOS_ANY multi Clang DebugAndRelease DisableTests
-qtci-linux-RHEL-7.4-x86_64 Android_ANY armv7 Clang Clang Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
-qtci-linux-RHEL-7.4-x86_64 Android_ANY arm64 Clang Clang Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
-qtci-linux-Ubuntu-18.04-x86_64 QEMU armv7 GCC DeveloperBuild
-qtci-linux-Ubuntu-18.04-x86_64 QEMU arm64 GCC DeveloperBuild
-qtci-linux-Ubuntu-18.04-x86_64 GCC TestOnly LicenseCheck
-qtci-linux-RHEL-7.4-x86_64 INTEGRITY_11_04 armv7 GCC Release DisableTests OpenGLES2 NoUseGoldLinker
-qtci-linux-RHEL-7.4-x86_64 QNX_700 armv7 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
diff --git a/coin/platform_configs/default.yaml b/coin/platform_configs/default.yaml
new file mode 100644
index 00000000..dff4c79e
--- /dev/null
+++ b/coin/platform_configs/default.yaml
@@ -0,0 +1,7 @@
+Version: 2
+Configurations:
+-
+ Id: 'ubuntu-22.04-license-check'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']
diff --git a/coin/platform_configs/doc.yaml b/coin/platform_configs/doc.yaml
new file mode 100644
index 00000000..2fa724e9
--- /dev/null
+++ b/coin/platform_configs/doc.yaml
@@ -0,0 +1,4 @@
+Version: 2
+Module only: True
+Include: [cmake_platforms.yaml]
+Configurations: []
diff --git a/coin/platform_configs/flashing-wizard.yaml b/coin/platform_configs/flashing-wizard.yaml
new file mode 100644
index 00000000..18d281fa
--- /dev/null
+++ b/coin/platform_configs/flashing-wizard.yaml
@@ -0,0 +1,39 @@
+Version: 2
+Module only: True
+Configurations:
+ -
+ Template: 'qtci-windows-10-x86_64-52'
+ Compiler: 'MSVC2019'
+ Features: ['Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -static -no-icu'
+ -
+ Template: 'qtci-windows-10_22H2-x86_64-51'
+ Compiler: 'MSVC2019'
+ Features: ['Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -opengl dynamic -nomake examples -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -static -no-icu'
+ -
+ Template: 'qtci-windows-10-x86_64-52'
+ Compiler: 'MSVC2019'
+ Target arch: 'x86'
+ Features: ['Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -static -no-icu'
+ -
+ Template: 'qtci-windows-10_22H2-x86_64-51'
+ Compiler: 'MSVC2019'
+ Target arch: 'x86'
+ Features: ['Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -static -no-icu'
+ -
+ Template: 'qtci-linux-RHEL-8.8-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -qt-xcb -sysconfdir /etc/xdg -qt-pcre -openssl -qt-harfbuzz QMAKE_LFLAGS_APP+=-s -static -no-icu'
+ -
+ Template: 'qtci-linux-Ubuntu-18.04-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['Packaging', 'UseLegacyInstructions']
+ Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -qt-xcb -sysconfdir /etc/xdg -qt-pcre -openssl -qt-harfbuzz QMAKE_LFLAGS_APP+=-s -static -no-icu'
+ -
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']
diff --git a/coin/platform_configs/integrity.yaml b/coin/platform_configs/integrity.yaml
new file mode 100644
index 00000000..d740656d
--- /dev/null
+++ b/coin/platform_configs/integrity.yaml
@@ -0,0 +1,20 @@
+Version: 2
+Configurations:
+ -
+ Id: "integrity-arm64"
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'GCC'
+ Target os: 'INTEGRITY'
+ Platform dependency: 'ubuntu-22.04'
+ Features: ['MinimalStaticTests', 'DoNotRunTests', 'VMSize16', 'UseConfigure']
+ Environment variables: [
+ 'TARGET_CONFIGURE_ARGS=-nomake examples -device integrity-armv8-SA8155P -no-feature-library -no-feature-printdialog -no-dbus -no-feature-gtk3 -no-feature-glib -no-feature-libudev -qt-harfbuzz -qt-pcre -no-sql-mysql -no-feature-brotli',
+ 'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE=/home/qt/integrity_toolchain/toolchain.cmake -DCMAKE_C_COMPILER=cxintarm64 -DCMAKE_CXX_COMPILER=cxintarm64 -DBUILD_qtdoc=OFF -DBUILD_qttranslations=OFF -DUNIX=ON --debug-trycompile',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_system_webp=OFF -DQT_FEATURE_timezone=OFF',
+ 'INTEGRITY_DIR=/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/integrity',
+ 'INTEGRITY_BSP=platform-sa8155', 'INTEGRITY_BUILD_TARGET=rel',
+ 'QC_MULTIMEDIA_INC_DIR=/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/include/amss/multimedia',
+ 'GL_INC_DIR=/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/include/public',
+ 'GL_LIB_DIR=/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/base:/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/multimedia/display:/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/multimedia/graphics:/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/platform/:/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/opengl/esx/build/integrity/prebuilt/',
+ 'PATH=/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/comp:$PATH',
+ ]
diff --git a/coin/platform_configs/ios-tests.yaml b/coin/platform_configs/ios-tests.yaml
new file mode 100644
index 00000000..a1b6b42a
--- /dev/null
+++ b/coin/platform_configs/ios-tests.yaml
@@ -0,0 +1,14 @@
+Version: 2
+Configurations:
+-
+ Id: "ios-tests-on-macos"
+ Template: 'qtci-macos-13-x86_64-103'
+ Target os: 'IOS_ANY'
+ Target arch: 'arm64'
+ Compiler: 'Clang'
+ Target compiler: 'Clang'
+ Platform dependency: 'macos-universal-on-x86_64'
+ Features: ['Sccache', 'DebugAndRelease', 'MinimalStaticTests', 'UseConfigure']
+ Environment variables: [
+ 'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang'
+ ]
diff --git a/coin/platform_configs/linux_android_tests_developer.yaml b/coin/platform_configs/linux_android_tests_developer.yaml
new file mode 100644
index 00000000..045edd36
--- /dev/null
+++ b/coin/platform_configs/linux_android_tests_developer.yaml
@@ -0,0 +1,17 @@
+Version: 2
+Configurations:
+-
+ Id: 'android-x86-developer-build-testrun-on-linux'
+ Template: 'qtci-linux-RHEL-8.8-x86_64-50'
+ Target os: 'Android_ANY'
+ Target arch: 'x86'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Platform dependency: 'rhel-8.8'
+ Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'UseConfigure']
+ Environment variables: [
+ 'TARGET_CONFIGURE_ARGS=-nomake examples -debug -developer-build -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86',
+ 'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF',
+ 'ANDROID_EMULATOR=emulator_x86_api_26']
diff --git a/coin/platform_configs/linux_android_tests_multi_abi.yaml b/coin/platform_configs/linux_android_tests_multi_abi.yaml
new file mode 100644
index 00000000..b0443004
--- /dev/null
+++ b/coin/platform_configs/linux_android_tests_multi_abi.yaml
@@ -0,0 +1,28 @@
+Version: 2
+Configurations:
+-
+ Id: 'rhel_8.8_android_multi'
+ Template: 'qtci-linux-RHEL-8.8-x86_64-50'
+ Target os: 'Android_ANY'
+ Target arch: 'multi'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Platform dependency: [
+ 'rhel-8.8',
+ 'android-8-x86-on-linux',
+ 'android-14-x86_64-on-linux'
+ ]
+ Features: [
+ 'Sccache',
+ 'WarningsAreErrors',
+ 'AndroidTestRun',
+ 'MinimalAndroidMultiABITests',
+ 'InstallDepsPerPlatformSubdir'
+ ]
+ Environment variables: [
+ 'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-8.8',
+ 'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-8-x86-on-linux',
+ 'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-14-x86_64-on-linux',
+ 'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"',
+ 'ANDROID_EMULATOR=emulator_x86_api_26'
+ ]
diff --git a/coin/platform_configs/macos.yaml b/coin/platform_configs/macos.yaml
new file mode 100644
index 00000000..dc33e00e
--- /dev/null
+++ b/coin/platform_configs/macos.yaml
@@ -0,0 +1,154 @@
+Version: 2
+Configurations:
+
+ # =========================================================================
+ # Packaging. Universal build with both x86_64 and arm64 architectures.
+ # =========================================================================
+
+ # Build on recent macOS version with latest Xcode
+
+ -
+ Id: 'macos-universal-on-x86_64'
+ Template: 'qtci-macos-13-x86_64-103'
+ Compiler: 'Clang'
+ Target arch: 'x86_64-arm64'
+ Features: ['Packaging', 'Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
+ Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -framework'
+ Environment variables: [
+ 'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DODBC_ROOT=/usr/local/opt/libiodbc -DPostgreSQL_ROOT={{.Env.POSTGRESQLBINPATH}}/.. -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DFEATURE_gds=OFF -DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DFEATURE_native_grpc=OFF -DINPUT_headersclean=ON',
+ 'Protobuf_ROOT=/usr/local/lib/cmake/protobuf'
+ ]
+
+ -
+ Id: 'macos-universal-on-arm64'
+ Template: 'qtci-macos-13-arm64'
+ Compiler: 'Clang'
+ Target arch: 'x86_64-arm64'
+ Features: ['DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
+ Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -framework'
+ Environment variables: [
+ 'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"',
+ 'Protobuf_ROOT=/usr/local/lib/cmake/protobuf',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON',
+ ]
+
+ # Test on all supported macOS versions (deployment targets)
+
+ # On x86_64
+
+ -
+ Id: 'macos-12-x86_64-tests'
+ Template: 'qtci-macos-12-x86_64-106'
+ Compiler: 'Clang'
+ Features: ['Sccache', 'TestOnly', 'Packaging']
+ Platform dependency: 'macos-universal-on-x86_64'
+ -
+ Id: 'macos-13-x86_64-tests'
+ Template: 'qtci-macos-13-x86_64-103'
+ Compiler: 'Clang'
+ Features: ['Sccache', 'TestOnly', 'Packaging']
+ Platform dependency: 'macos-universal-on-x86_64'
+ -
+ Id: 'macos-14-x86_64-tests'
+ Template: 'qtci-macos-14-x86_64-105'
+ Compiler: 'Clang'
+ Features: ['Sccache', 'TestOnly', 'Packaging']
+ Platform dependency: 'macos-universal-on-x86_64'
+
+ # And arm64
+
+ -
+ Id: 'macos-12-arm64-tests'
+ Template: 'qtci-macos-12-arm64'
+ Compiler: 'Clang'
+ Features: ['TestOnly', 'Packaging']
+ 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-14-arm64-tests'
+ Template: 'qtci-macos-14-arm-106'
+ Compiler: 'Clang'
+ Features: ['TestOnly', 'Packaging']
+ Platform dependency: 'macos-universal-on-x86_64'
+
+ # Test the universal packaging built on arm64
+
+ -
+ Id: 'macos-12-arm-on-arm64-tests'
+ Template: 'qtci-macos-12-arm64'
+ Compiler: 'Clang'
+ Features: ['TestOnly']
+ Platform dependency: 'macos-universal-on-arm64'
+ -
+ Id: 'macos-12-arm-on-x86_64-tests'
+ Template: 'qtci-macos-12-x86_64-106'
+ Compiler: 'Clang'
+ Features: ['Sccache', 'TestOnly']
+ Platform dependency: 'macos-universal-on-arm64'
+ -
+ Id: 'macos-13-arm-on-x86_64-tests'
+ Template: 'qtci-macos-13-x86_64-103'
+ Compiler: 'Clang'
+ Features: ['Sccache', 'TestOnly']
+ Platform dependency: 'macos-universal-on-arm64'
+ -
+ Id: 'macos-14-arm-on-x86_64-tests'
+ Template: 'qtci-macos-14-x86_64-105'
+ Compiler: 'Clang'
+ Features: ['Sccache', 'TestOnly']
+ Platform dependency: 'macos-universal-on-arm64'
+
+ # =========================================================================
+ # Developer build. Single architecture builds.
+ # =========================================================================
+
+ # Build on recent macOS version with latest Xcode
+
+ -
+ Id: 'macos-13-x86_64-developer-build'
+ Template: 'qtci-macos-13-x86_64-103'
+ Compiler: 'Clang'
+ Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
+ Configure arguments: '-developer-build -release -force-debug-info -no-pch -no-framework -qtnamespace TestNamespace -make examples'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE',
+ 'Protobuf_ROOT=/usr/local/lib/cmake/protobuf',
+ ]
+ -
+ Id: 'macos-13-arm64-developer-build'
+ Template: 'qtci-macos-13-arm64'
+ Compiler: 'Clang'
+ Features: ['DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
+ Configure arguments: '-developer-build -nomake examples -release -force-debug-info -separate-debug-info -framework'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
+ 'Protobuf_ROOT=/usr/local/lib/cmake/protobuf',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE',
+ ]
+
+ # Test on all supported macOS versions (deployment targets)
+ -
+ Id: 'macos-12-arm64-developer-build-tests'
+ Template: 'qtci-macos-12-arm64'
+ Compiler: 'Clang'
+ Features: ['TestOnly']
+ Platform dependency: 'macos-13-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'
+ -
+ Id: 'macos-14-arm64-developer-build-tests'
+ Template: 'qtci-macos-14-arm-106'
+ Compiler: 'Clang'
+ Features: ['TestOnly']
+ Platform dependency: 'macos-13-arm64-developer-build'
diff --git a/coin/platform_configs/meta-boot2qt-aws.yaml b/coin/platform_configs/meta-boot2qt-aws.yaml
new file mode 100644
index 00000000..8eec64a3
--- /dev/null
+++ b/coin/platform_configs/meta-boot2qt-aws.yaml
@@ -0,0 +1,4 @@
+Version: 2
+Module only: True
+Include: [yocto.yaml]
+Configurations: []
diff --git a/coin/platform_configs/meta-boot2qt-qcom.yaml b/coin/platform_configs/meta-boot2qt-qcom.yaml
new file mode 100644
index 00000000..8eec64a3
--- /dev/null
+++ b/coin/platform_configs/meta-boot2qt-qcom.yaml
@@ -0,0 +1,4 @@
+Version: 2
+Module only: True
+Include: [yocto.yaml]
+Configurations: []
diff --git a/coin/platform_configs/meta-boot2qt-renesas.yaml b/coin/platform_configs/meta-boot2qt-renesas.yaml
new file mode 100644
index 00000000..8eec64a3
--- /dev/null
+++ b/coin/platform_configs/meta-boot2qt-renesas.yaml
@@ -0,0 +1,4 @@
+Version: 2
+Module only: True
+Include: [yocto.yaml]
+Configurations: []
diff --git a/coin/platform_configs/meta-boot2qt-riscv.yaml b/coin/platform_configs/meta-boot2qt-riscv.yaml
new file mode 100644
index 00000000..8eec64a3
--- /dev/null
+++ b/coin/platform_configs/meta-boot2qt-riscv.yaml
@@ -0,0 +1,4 @@
+Version: 2
+Module only: True
+Include: [yocto.yaml]
+Configurations: []
diff --git a/coin/platform_configs/meta-boot2qt-st.yaml b/coin/platform_configs/meta-boot2qt-st.yaml
new file mode 100644
index 00000000..8eec64a3
--- /dev/null
+++ b/coin/platform_configs/meta-boot2qt-st.yaml
@@ -0,0 +1,4 @@
+Version: 2
+Module only: True
+Include: [yocto.yaml]
+Configurations: []
diff --git a/coin/platform_configs/meta-boot2qt-ti.yaml b/coin/platform_configs/meta-boot2qt-ti.yaml
new file mode 100644
index 00000000..8eec64a3
--- /dev/null
+++ b/coin/platform_configs/meta-boot2qt-ti.yaml
@@ -0,0 +1,4 @@
+Version: 2
+Module only: True
+Include: [yocto.yaml]
+Configurations: []
diff --git a/coin/platform_configs/meta-boot2qt-toradex.yaml b/coin/platform_configs/meta-boot2qt-toradex.yaml
new file mode 100644
index 00000000..8eec64a3
--- /dev/null
+++ b/coin/platform_configs/meta-boot2qt-toradex.yaml
@@ -0,0 +1,4 @@
+Version: 2
+Module only: True
+Include: [yocto.yaml]
+Configurations: []
diff --git a/coin/platform_configs/meta-boot2qt.yaml b/coin/platform_configs/meta-boot2qt.yaml
new file mode 100644
index 00000000..8eec64a3
--- /dev/null
+++ b/coin/platform_configs/meta-boot2qt.yaml
@@ -0,0 +1,4 @@
+Version: 2
+Module only: True
+Include: [yocto.yaml]
+Configurations: []
diff --git a/coin/platform_configs/meta-qsr.yaml b/coin/platform_configs/meta-qsr.yaml
new file mode 100644
index 00000000..8eec64a3
--- /dev/null
+++ b/coin/platform_configs/meta-qsr.yaml
@@ -0,0 +1,4 @@
+Version: 2
+Module only: True
+Include: [yocto.yaml]
+Configurations: []
diff --git a/coin/platform_configs/meta-qt5.yaml b/coin/platform_configs/meta-qt5.yaml
new file mode 100644
index 00000000..8eec64a3
--- /dev/null
+++ b/coin/platform_configs/meta-qt5.yaml
@@ -0,0 +1,4 @@
+Version: 2
+Module only: True
+Include: [yocto.yaml]
+Configurations: []
diff --git a/coin/platform_configs/meta-qt6.yaml b/coin/platform_configs/meta-qt6.yaml
new file mode 100644
index 00000000..8eec64a3
--- /dev/null
+++ b/coin/platform_configs/meta-qt6.yaml
@@ -0,0 +1,4 @@
+Version: 2
+Module only: True
+Include: [yocto.yaml]
+Configurations: []
diff --git a/coin/platform_configs/nightly_macos14_arm.yaml b/coin/platform_configs/nightly_macos14_arm.yaml
new file mode 100644
index 00000000..b7c965bd
--- /dev/null
+++ b/coin/platform_configs/nightly_macos14_arm.yaml
@@ -0,0 +1,20 @@
+Version: 2
+Module only: True
+Configurations:
+-
+ Id: 'macos-14-arm64-developer-build'
+ Template: 'qtci-macos-14-arm64'
+ Compiler: 'Clang'
+ Features: ['Sccache', 'DoNotRunTests', 'WarningsAreErrors', 'UseConfigure']
+ Configure arguments: '-developer-build -release -force-debug-info -no-pch -no-framework -qtnamespace TestNamespace -make examples'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_DIR}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}',
+ 'Protobuf_ROOT=/usr/local/lib/cmake/protobuf',
+ ]
+-
+ Id: 'macos-14-arm64-developer-build-tests'
+ Template: 'qtci-macos-14-arm64'
+ Compiler: 'Clang'
+ Features: ['Sccache', 'TestOnly']
+ Platform dependency: 'macos-14-arm64-developer-build'
diff --git a/coin/platform_configs/nightly_qnx710_host_windows.yaml b/coin/platform_configs/nightly_qnx710_host_windows.yaml
new file mode 100644
index 00000000..e3fcb969
--- /dev/null
+++ b/coin/platform_configs/nightly_qnx710_host_windows.yaml
@@ -0,0 +1,21 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml: [
+ windows-10_22h2-msvc2019-developer-build
+ ]
+]
+Configurations:
+-
+ Id: 'qnx-710-arm64-on-windows'
+ Template: 'qtci-windows-10_22H2-x86_64-51'
+ Target os: 'QNX_710'
+ Target arch: 'arm64'
+ Compiler: 'MSVC2019'
+ Target compiler: 'QCC'
+ Platform dependency: 'windows-10_22h2-msvc2019-developer-build'
+ Features: ['DisableTests', 'UseConfigure']
+ Environment variables: [
+ 'TARGET_CONFIGURE_ARGS=-release -force-debug-info -no-dbus -nomake examples -no-pch',
+ 'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_710}}\qnx-toolchain-aarch64le.cmake -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -G "Ninja"',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON'
+ ]
diff --git a/coin/platform_configs/nightly_qt5_axivion.yaml b/coin/platform_configs/nightly_qt5_axivion.yaml
new file mode 100644
index 00000000..a1c871b1
--- /dev/null
+++ b/coin/platform_configs/nightly_qt5_axivion.yaml
@@ -0,0 +1,13 @@
+Version: 2
+Module only: True
+Configurations:
+-
+ Id: 'ubuntu-22.04-axivion'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['Axivion', 'DisableTests', 'UseConfigure', 'VMSize8']
+ 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'
+ ]
diff --git a/coin/platform_configs/nightly_qtapplicationmanager_axivion.yaml b/coin/platform_configs/nightly_qtapplicationmanager_axivion.yaml
new file mode 100644
index 00000000..3fa51260
--- /dev/null
+++ b/coin/platform_configs/nightly_qtapplicationmanager_axivion.yaml
@@ -0,0 +1,14 @@
+Version: 2
+Module only: True
+Configurations:
+-
+ Id: 'ubuntu-22.04-axivion'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'UseConfigure', 'DisableTests', 'Axivion_qtapplicationmanager', 'VMSize8']
+ 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'
+ ]
+
diff --git a/coin/platform_configs/nightly_ubuntu_20.04_c++17.yaml b/coin/platform_configs/nightly_ubuntu_20.04_c++17.yaml
new file mode 100644
index 00000000..6bbe3739
--- /dev/null
+++ b/coin/platform_configs/nightly_ubuntu_20.04_c++17.yaml
@@ -0,0 +1,13 @@
+Version: 2
+Configurations:
+# QTQAINFRA-5404
+-
+ Id: 'ubuntu-20.04-c++17'
+ Template: 'qtci-linux-Ubuntu-20.04-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'UseConfigure']
+ Configure arguments: '-nomake examples -release -c++std c++17 -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DFEATURE_clangcpp=OFF -DINPUT_headersclean=ON'
+ ]
diff --git a/coin/platform_configs/nightly_ubuntu_22_04_lcov.yaml b/coin/platform_configs/nightly_ubuntu_22_04_lcov.yaml
new file mode 100644
index 00000000..d2293ba5
--- /dev/null
+++ b/coin/platform_configs/nightly_ubuntu_22_04_lcov.yaml
@@ -0,0 +1,14 @@
+Version: 2
+Module only: True
+Configurations:
+-
+ Id: 'ubuntu-22.04-lcov'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'UseConfigure', 'lcov', 'VMSize8', 'DisableTests']
+ 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'
+ ]
+
diff --git a/coin/platform_configs/nightly_ubuntu_22_04_xwayland.yaml b/coin/platform_configs/nightly_ubuntu_22_04_xwayland.yaml
new file mode 100644
index 00000000..d95746e8
--- /dev/null
+++ b/coin/platform_configs/nightly_ubuntu_22_04_xwayland.yaml
@@ -0,0 +1,23 @@
+Version: 2
+Configurations:
+-
+ # cmake_platforms.yaml
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'Documentation', 'TestDocs', 'UseConfigure']
+ Configure arguments: '-make examples -developer-build -c++std c++20 -qtlibinfix TestInfix -qtnamespace TestNamespace'
+-
+ Id: 'Ubuntu-22.04-xwayland-host'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'UseConfigure', 'InsignificantTests']
+ 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=-DINPUT_headersclean=ON'
+ ]
+-
+ # default.yaml
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']
diff --git a/coin/platform_configs/nightly_vxworks.yaml b/coin/platform_configs/nightly_vxworks.yaml
new file mode 100644
index 00000000..afbf9dbb
--- /dev/null
+++ b/coin/platform_configs/nightly_vxworks.yaml
@@ -0,0 +1,11 @@
+Version: 2
+Module only: True
+Include: [
+ cmake_platforms.yaml: [
+ "ubuntu-22.04"
+ ],
+ cmake_platforms_qemu_vxworks.yaml: [
+ "vxworks-imx6"
+ ]
+]
+Configurations: []
diff --git a/coin/platform_configs/ogl-runtime.yaml b/coin/platform_configs/ogl-runtime.yaml
new file mode 100644
index 00000000..c1ec5493
--- /dev/null
+++ b/coin/platform_configs/ogl-runtime.yaml
@@ -0,0 +1 @@
+qt5.yaml
diff --git a/coin/platform_configs/precheck.yaml b/coin/platform_configs/precheck.yaml
new file mode 100644
index 00000000..68d8f9b7
--- /dev/null
+++ b/coin/platform_configs/precheck.yaml
@@ -0,0 +1,24 @@
+Version: 2
+Module only: True
+Include: [
+ cmake_platforms.yaml: [
+ "ubuntu-22.04",
+ "ubuntu-22.04-documentation",
+ "ubuntu-22.04-documentation-x11-tests",
+ "windows-10_22h2-msvc2019-developer-build",
+ "ios-universal"
+ ],
+ macos.yaml: [
+ "macos-12-x86_64-tests",
+ ],
+ cmake_platforms_target_android.yaml: [
+ "android-arm64-on-macos"
+ ],
+ cmake_platforms_qemu.yaml: [
+ "qemu-armv7-developer-build"
+ ],
+ cmake_platforms_qemu_qnx710.yaml: [
+ "qnx-710-x86_64-developer-build-on-linux"
+ ]
+]
+Configurations: []
diff --git a/coin/platform_configs/pyside-setup.yaml b/coin/platform_configs/pyside-setup.yaml
new file mode 100644
index 00000000..0c980413
--- /dev/null
+++ b/coin/platform_configs/pyside-setup.yaml
@@ -0,0 +1,9 @@
+Version: 2
+Module only: True
+Include: [cmake_platforms.yaml]
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['TestOnly', 'LicenseCheck']
+
diff --git a/coin/platform_configs/qdb.yaml b/coin/platform_configs/qdb.yaml
new file mode 100644
index 00000000..c3233842
--- /dev/null
+++ b/coin/platform_configs/qdb.yaml
@@ -0,0 +1,3 @@
+Version: 2
+Include: [cmake_platforms.yaml]
+Configurations: []
diff --git a/coin/platform_configs/qmake2cmake.yaml b/coin/platform_configs/qmake2cmake.yaml
new file mode 100644
index 00000000..73bdaff6
--- /dev/null
+++ b/coin/platform_configs/qmake2cmake.yaml
@@ -0,0 +1,19 @@
+Version: 2
+Module only: True
+Configurations:
+-
+ Template: 'qtci-windows-10_22H2-x86_64-51'
+ Compiler: 'MSVC2019'
+ Features: ['DisableTests']
+-
+ Template: 'qtci-macos-13-x86_64-103'
+ Compiler: 'Clang'
+ Features: ['DisableTests']
+-
+ Template: 'qtci-linux-RHEL-9.2-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['DisableTests']
+-
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['TestOnly', 'LicenseCheck', 'UseLegacyInstructions']
diff --git a/coin/platform_configs/qt-conan-common.yaml b/coin/platform_configs/qt-conan-common.yaml
new file mode 100644
index 00000000..c3233842
--- /dev/null
+++ b/coin/platform_configs/qt-conan-common.yaml
@@ -0,0 +1,3 @@
+Version: 2
+Include: [cmake_platforms.yaml]
+Configurations: []
diff --git a/coin/platform_configs/qt-creator.yaml b/coin/platform_configs/qt-creator.yaml
new file mode 100644
index 00000000..d6a6a63f
--- /dev/null
+++ b/coin/platform_configs/qt-creator.yaml
@@ -0,0 +1,39 @@
+Version: 2
+Module only: True
+Configurations:
+-
+ Template: 'qtci-windows-10_22H2-x86_64-51'
+ Compiler: 'MSVC2019'
+ Features: ['Packaging', 'Sccache', 'DebugAndRelease']
+ Configure arguments: ''
+ Environment variables: []
+ Environment script: ['%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'amd64']
+-
+ Template: 'qtci-windows-10-x86-4'
+ Compiler: 'MSVC2019'
+ Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests']
+ Configure arguments: ''
+ Environment variables: []
+ Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'x86']
+-
+ Template: 'qtci-linux-RHEL-8.8-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['Packaging', 'Sccache', 'DebugAndRelease']
+ Configure arguments: ''
+ Environment variables: []
+-
+ Template: 'qtci-linux-RHEL-9.2-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['Qt5', 'Sccache', 'DebugAndRelease']
+ Configure arguments: ''
+ Environment variables: []
+-
+ Template: 'qtci-macos-12-x86_64-106'
+ Compiler: 'Clang'
+ Features: ['Packaging', 'Sccache', 'DebugAndRelease']
+ Configure arguments: ''
+ Environment variables: []
+-
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['TestOnly', 'LicenseCheck']
diff --git a/coin/platform_configs/qt3d-runtime.txt b/coin/platform_configs/qt3d-runtime.txt
deleted file mode 100644
index 3de18a74..00000000
--- a/coin/platform_configs/qt3d-runtime.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-Template Target OS Target arch Compiler Target Compiler Features
---------------------------- ------------------- ----------- ----------- --------------- -------------------------------------------------------------------------------------
-qtci-windows-10-x86_64-10 WinRT_10 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
-qtci-windows-10-x86_64-10 x86 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo OpenGLDynamic
-qtci-windows-10-x86_64-10 WinRT_10 x86 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
-qtci-windows-7-x86-3 Mingw73 Packaging DebugAndRelease Release OpenGLDynamic DisableTests
-qtci-windows-10-x86_64-10 Mingw73 Packaging DebugAndRelease Release OpenGLDynamic DisableTests
-qtci-windows-10-x86_64-10 WinRT_10 armv7 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
-qtci-windows-10-x86_64-10 WinRT_10 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
-qtci-linux-RHEL-7.4-x86_64 Android_ANY x86 GCC Clang Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
-qtci-windows-10-x86_64-10 Android_ANY armv7 Mingw73 Clang Packaging Release DisableTests OpenGLES2
-qtci-windows-10-x86_64-10 Android_ANY arm64 Mingw73 Clang Packaging Release DisableTests OpenGLES2
-qtci-windows-10-x86_64-10 Android_ANY x86 Mingw73 Clang Packaging Release DisableTests OpenGLES2
-qtci-macos-10.13-x86_64-2 Android_ANY armv7 Clang Clang Packaging Release DisableTests OpenGLES2
-qtci-macos-10.13-x86_64-2 Android_ANY arm64 Clang Clang Packaging Release DisableTests OpenGLES2
-qtci-macos-10.13-x86_64-2 Android_ANY x86 Clang Clang Packaging Release DisableTests OpenGLES2
-qtci-macos-10.13-x86_64-2 QNX_700 x86 GCC Release DisableTests OpenGLES2 NoUseGoldLinker
-qtci-windows-10-x86_64-10 QNX_700 armv7 Mingw73 Packaging Release DisableTests OpenGLES2
-qtci-windows-10-x86_64-10 QNX_700 armv8 Mingw73 Packaging Release DisableTests OpenGLES2
-qtci-windows-10-x86_64-10 QNX_700 x86_64 Mingw73 Packaging Release DisableTests OpenGLES2
-qtci-linux-RHEL-7.4-x86_64 QNX_700 armv8 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
-qtci-linux-RHEL-7.4-x86_64 QNX_700 x86_64 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
diff --git a/coin/platform_configs/qt3d-runtime.yaml b/coin/platform_configs/qt3d-runtime.yaml
new file mode 100644
index 00000000..c1ec5493
--- /dev/null
+++ b/coin/platform_configs/qt3d-runtime.yaml
@@ -0,0 +1 @@
+qt5.yaml
diff --git a/coin/platform_configs/qt3d.yaml b/coin/platform_configs/qt3d.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qt3d.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qt5.txt b/coin/platform_configs/qt5.txt
deleted file mode 100644
index ce289290..00000000
--- a/coin/platform_configs/qt5.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-Template Target OS Target arch Compiler Target Compiler Features
---------------------------- ------------------- ----------- ----------- --------------- -------------------------------------------------------------------------------------
-qtci-windows-10-x86_64-10 WinRT_10 MSVC2015 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
-qtci-windows-10-x86_64-10 WinRT_10 x86 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
-qtci-windows-7-x86-3 Mingw73 Packaging DebugAndRelease Release OpenGLDynamic DisableTests
-qtci-windows-10-x86_64-10 Mingw73 Packaging DebugAndRelease Release OpenGLDynamic DisableTests
-qtci-windows-10-x86_64-10 WinRT_10 armv7 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
-qtci-windows-10-x86_64-10 WinRT_10 MSVC2017 Packaging DebugAndRelease Release ForceDebugInfo DisableTests
-qtci-linux-RHEL-7.4-x86_64 Android_ANY x86 GCC Clang Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
-qtci-windows-10-x86_64-10 Android_ANY armv7 Mingw73 Clang Packaging Release DisableTests OpenGLES2
-qtci-windows-10-x86_64-10 Android_ANY arm64 Mingw73 Clang Packaging Release DisableTests OpenGLES2
-qtci-windows-10-x86_64-10 Android_ANY x86 Mingw73 Clang Packaging Release DisableTests OpenGLES2
-qtci-macos-10.13-x86_64-2 Android_ANY armv7 Clang Clang Packaging Release DisableTests OpenGLES2
-qtci-macos-10.13-x86_64-2 Android_ANY arm64 Clang Clang Packaging Release DisableTests OpenGLES2
-qtci-macos-10.13-x86_64-2 Android_ANY x86 Clang Clang Packaging Release DisableTests OpenGLES2
-qtci-macos-10.13-x86_64-2 QNX_700 x86 GCC Release DisableTests OpenGLES2 NoUseGoldLinker
-qtci-windows-10-x86_64-10 QNX_700 armv7 Mingw73 Packaging Release DisableTests OpenGLES2
-qtci-windows-10-x86_64-10 QNX_700 armv8 Mingw73 Packaging Release DisableTests OpenGLES2
-qtci-windows-10-x86_64-10 QNX_700 x86_64 Mingw73 Packaging Release DisableTests OpenGLES2
-qtci-linux-RHEL-7.4-x86_64 QNX_700 armv8 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
-qtci-linux-RHEL-7.4-x86_64 QNX_700 x86_64 GCC Packaging Release DisableTests OpenGLES2 NoUseGoldLinker
diff --git a/coin/platform_configs/qt5.yaml b/coin/platform_configs/qt5.yaml
new file mode 100644
index 00000000..512c7051
--- /dev/null
+++ b/coin/platform_configs/qt5.yaml
@@ -0,0 +1,16 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+]
+Configurations:
+# Test on Debian-11.6 Wayland
+-
+ Id: 'debian-11.6-arm64-wayland-tests'
+ Template: 'qtci-linux-Debian-11.6-aarch64-50'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'TestOnly', 'RunDependencyTests', 'InsignificantTests']
+ Environment variables: [
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY'
+ ]
+ Platform dependency: 'debian-11.6-arm64'
diff --git a/coin/platform_configs/qt5compat.yaml b/coin/platform_configs/qt5compat.yaml
new file mode 100644
index 00000000..8e519caa
--- /dev/null
+++ b/coin/platform_configs/qt5compat.yaml
@@ -0,0 +1,5 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtactiveqt.yaml b/coin/platform_configs/qtactiveqt.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtactiveqt.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtapplicationmanager.yaml b/coin/platform_configs/qtapplicationmanager.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtapplicationmanager.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtbase-new-compiler-testing.yaml b/coin/platform_configs/qtbase-new-compiler-testing.yaml
new file mode 100644
index 00000000..19361ff9
--- /dev/null
+++ b/coin/platform_configs/qtbase-new-compiler-testing.yaml
@@ -0,0 +1,14 @@
+Version: 2
+Configurations:
+# Test gcc-12 on RHEL 9.2
+-
+ Id: 'rhel-9.2-gcc12'
+ Template: 'qtci-linux-RHEL-9.2-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'DoNotRunTests']
+ Configure arguments: '-developer-build -nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-pcre -no-libudev -bundled-xcb-xinput'
+ Environment variables: [
+ 'PATH=/opt/rh/gcc-toolset-12/root/usr/bin/:{{.Env.PATH}}',
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
+ ]
diff --git a/coin/platform_configs/qtbase.txt b/coin/platform_configs/qtbase.txt
deleted file mode 100644
index 15eb3b59..00000000
--- a/coin/platform_configs/qtbase.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Template Target OS Target arch Compiler Features
---------------------------------- ------------------- ----------- ----------- -------------------------------------------------------------------------------------
-qtci-windows-10-x86_64-10 WinRT_10 x86_64 MSVC2015 DeveloperBuild Static Release ForceDebugInfo
-qtci-linux-openSUSE-42.3-x86_64 WebAssembly GCC DeveloperBuild NoPch DisableTests
-
diff --git a/coin/platform_configs/qtbase.yaml b/coin/platform_configs/qtbase.yaml
new file mode 100644
index 00000000..0b847e1e
--- /dev/null
+++ b/coin/platform_configs/qtbase.yaml
@@ -0,0 +1,14 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ cmake_platforms_static_tests.yaml,
+ integrity.yaml,
+ ios-tests.yaml,
+ address_sanitizer_platforms.yaml,
+ linux_android_tests_multi_abi.yaml,
+ wasm_qtbase_tests.yaml,
+ cmake_platforms_qemu_vxworks.yaml,
+ qtlite.yaml,
+ qtbase-new-compiler-testing.yaml
+]
+Configurations: []
diff --git a/coin/platform_configs/qtcharts.yaml b/coin/platform_configs/qtcharts.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtcharts.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtcoap.yaml b/coin/platform_configs/qtcoap.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtcoap.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtconnectivity.txt b/coin/platform_configs/qtconnectivity.txt
deleted file mode 100644
index 4ac73c86..00000000
--- a/coin/platform_configs/qtconnectivity.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-Template Target OS Target arch Compiler Features
---------------------------------- ------------------- ----------- ----------- -------------------------------------------------------------------------------------
-qtci-windows-10-x86_64-10 WinRT_10 x86_64 MSVC2015 DeveloperBuild Static Release ForceDebugInfo
diff --git a/coin/platform_configs/qtconnectivity.yaml b/coin/platform_configs/qtconnectivity.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtconnectivity.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtdatavis3d.yaml b/coin/platform_configs/qtdatavis3d.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtdatavis3d.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtdeclarative.yaml b/coin/platform_configs/qtdeclarative.yaml
new file mode 100644
index 00000000..60fa62c8
--- /dev/null
+++ b/coin/platform_configs/qtdeclarative.yaml
@@ -0,0 +1,11 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ integrity.yaml,
+ ios-tests.yaml,
+ address_sanitizer_platforms.yaml,
+ cmake_platforms_static_tests.yaml,
+ cmake_platforms_qemu_vxworks.yaml,
+ qtlite.yaml
+]
+Configurations: []
diff --git a/coin/platform_configs/qtdeviceutilities.yaml b/coin/platform_configs/qtdeviceutilities.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtdeviceutilities.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtdltlogging.yaml b/coin/platform_configs/qtdltlogging.yaml
new file mode 100644
index 00000000..7e8e4a89
--- /dev/null
+++ b/coin/platform_configs/qtdltlogging.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+]
+Configurations: []
diff --git a/coin/platform_configs/qtdoc.yaml b/coin/platform_configs/qtdoc.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtdoc.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtgraphs.yaml b/coin/platform_configs/qtgraphs.yaml
new file mode 100644
index 00000000..1480ffd8
--- /dev/null
+++ b/coin/platform_configs/qtgraphs.yaml
@@ -0,0 +1,7 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ cmake_platforms_qemu_vxworks.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtgrpc.yaml b/coin/platform_configs/qtgrpc.yaml
new file mode 100644
index 00000000..6dd6b81e
--- /dev/null
+++ b/coin/platform_configs/qtgrpc.yaml
@@ -0,0 +1,7 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ cmake_platforms_qemu_vxworks.yaml,
+ address_sanitizer_platforms.yaml
+]
+Configurations: []
diff --git a/coin/platform_configs/qthttpserver.yaml b/coin/platform_configs/qthttpserver.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qthttpserver.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtimageformats.yaml b/coin/platform_configs/qtimageformats.yaml
new file mode 100644
index 00000000..c2aada96
--- /dev/null
+++ b/coin/platform_configs/qtimageformats.yaml
@@ -0,0 +1,8 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml,
+ integrity.yaml,
+ cmake_platforms_qemu_vxworks.yaml
+]
+Configurations: []
diff --git a/coin/platform_configs/qtinterfaceframework.yaml b/coin/platform_configs/qtinterfaceframework.yaml
new file mode 100644
index 00000000..364ae5b0
--- /dev/null
+++ b/coin/platform_configs/qtinterfaceframework.yaml
@@ -0,0 +1,16 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations:
+-
+ Id: 'ubuntu-22.04-axivion'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'UseConfigure', 'DisableTests','Axivion_qtinterfaceframework', 'Insignificant', 'VMSize8']
+ 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'
+ ]
diff --git a/coin/platform_configs/qtivi.yaml b/coin/platform_configs/qtivi.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtivi.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtlanguageserver.yaml b/coin/platform_configs/qtlanguageserver.yaml
new file mode 100644
index 00000000..c2aada96
--- /dev/null
+++ b/coin/platform_configs/qtlanguageserver.yaml
@@ -0,0 +1,8 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml,
+ integrity.yaml,
+ cmake_platforms_qemu_vxworks.yaml
+]
+Configurations: []
diff --git a/coin/platform_configs/qtlite.yaml b/coin/platform_configs/qtlite.yaml
new file mode 100644
index 00000000..b339c0e6
--- /dev/null
+++ b/coin/platform_configs/qtlite.yaml
@@ -0,0 +1,205 @@
+Version: 2
+Configurations:
+-
+ Id: 'debian-11.6-static-qtlite-arm64'
+ Template: 'qtci-linux-Debian-11.6-aarch64-50'
+ Compiler: 'GCC'
+ Features: ['UseConfigure', 'DisableTests']
+ Configure arguments: >
+ -nomake examples
+ -release
+ -optimize-size
+ -static
+ -ltcg
+ -reduce-exports
+ -gc-binaries
+ -feature-linuxfb
+ -disable-deprecated-up-to 0x070000
+ -no-feature-abstractbutton
+ -no-feature-abstractslider
+ -no-feature-accessibility
+ -no-feature-action
+ -no-feature-androiddeployqt
+ -no-feature-appstore-compliant
+ -no-feature-backtrace
+ -no-feature-batch_test_support
+ -no-feature-brotli
+ -no-feature-calendarwidget
+ -no-feature-cborstreamwriter
+ -no-feature-clipboard
+ -no-feature-colordialog
+ -no-feature-columnview
+ -no-feature-commandlinkbutton
+ -no-feature-completer
+ -no-feature-concatenatetablesproxymodel
+ -no-feature-contextmenu
+ -no-feature-cssparser
+ -no-feature-cups
+ -no-feature-datawidgetmapper
+ -no-feature-datetimeedit
+ -no-feature-datetimeparser
+ -no-feature-dbus
+ -no-feature-desktopservices
+ -no-feature-dial
+ -no-feature-dnslookup
+ -no-feature-dockwidget
+ -no-feature-dom
+ -no-feature-dtls
+ -no-feature-eglfs
+ -no-feature-errormessage
+ -no-feature-filesystemiterator
+ -no-feature-filesystemmodel
+ -no-feature-filesystemwatcher
+ -no-feature-fontcombobox
+ -no-feature-fontdialog
+ -no-feature-fscompleter
+ -no-feature-future
+ -no-feature-gestures
+ -no-feature-gif
+ -no-feature-graphicseffect
+ -no-feature-graphicsview
+ -no-feature-gssapi
+ -no-feature-harfbuzz
+ -no-feature-highdpiscaling
+ -no-feature-hijricalendar
+ -no-feature-http
+ -no-feature-ico
+ -no-feature-icu
+ -no-feature-identityproxymodel
+ -no-feature-im
+ -no-feature-imageformat_bmp
+ -no-feature-imageformat_jpeg
+ -no-feature-imageformat_ppm
+ -no-feature-imageformat_xbm
+ -no-feature-image_heuristic_mask
+ -no-feature-imageio-text-loading
+ -no-feature-image_text
+ -no-feature-inputdialog
+ -no-feature-islamiccivilcalendar
+ -no-feature-jalalicalendar
+ -no-feature-jpeg
+ -no-feature-keysequenceedit
+ -no-feature-lcdnumber
+ -no-feature-libinput
+ -no-feature-library
+ -no-feature-lineedit
+ -no-feature-linux-netlink
+ -no-feature-localserver
+ -no-feature-macdeployqt
+ -no-feature-mainwindow
+ -no-feature-mdiarea
+ -no-feature-menu
+ -no-feature-menubar
+ -no-feature-messagebox
+ -no-feature-mimetype
+ -no-feature-movie
+ -no-feature-mtdev
+ -no-feature-multiprocess
+ -no-feature-networkdiskcache
+ -no-feature-networkinterface
+ -no-feature-networkproxy
+ -no-feature-ocsp
+ -no-feature-opengl
+ -no-feature-openssl
+ -no-feature-pcre2
+ -no-feature-pdf
+ -no-feature-permissions
+ -no-feature-picture
+ -no-feature-printdialog
+ -no-feature-printer
+ -no-feature-printpreviewdialog
+ -no-feature-printpreviewwidget
+ -no-feature-printsupport
+ -no-feature-private_tests
+ -no-feature-process
+ -no-feature-processenvironment
+ -no-feature-progressbar
+ -no-feature-progressdialog
+ -no-feature-proxymodel
+ -no-feature-radiobutton
+ -no-feature-raster-64bit
+ -no-feature-raster-fp
+ -no-feature-resizehandler
+ -no-feature-rubberband
+ -no-feature-sanitize_fuzzer_no_link
+ -no-feature-schannel
+ -no-feature-scroller
+ -no-feature-securetransport
+ -no-feature-sessionmanager
+ -no-feature-settings
+ -no-feature-sha3-fast
+ -no-feature-sharedmemory
+ -no-feature-shortcut
+ -no-feature-sizegrip
+ -no-feature-socks5
+ -no-feature-sortfilterproxymodel
+ -no-feature-splashscreen
+ -no-feature-sql
+ -no-feature-sqlmodel
+ -no-feature-sql-sqlite
+ -no-feature-sspi
+ -no-feature-stackedwidget
+ -no-feature-statusbar
+ -no-feature-statustip
+ -no-feature-style-stylesheet
+ -no-feature-syntaxhighlighter
+ -no-feature-systemsemaphore
+ -no-feature-systemtrayicon
+ -no-feature-tabletevent
+ -no-feature-tablewidget
+ -no-feature-testlib
+ -no-feature-textbrowser
+ -no-feature-texthtmlparser
+ -no-feature-textmarkdownreader
+ -no-feature-textmarkdownwriter
+ -no-feature-textodfwriter
+ -no-feature-timezone
+ -no-feature-toolbar
+ -no-feature-toolbox
+ -no-feature-topleveldomain
+ -no-feature-transposeproxymodel
+ -no-feature-treewidget
+ -no-feature-udpsocket
+ -no-feature-undocommand
+ -no-feature-undogroup
+ -no-feature-undostack
+ -no-feature-undoview
+ -no-feature-valgrind
+ -no-feature-vkgen
+ -no-feature-vnc
+ -no-feature-vulkan
+ -no-feature-wasm-exceptions
+ -no-feature-wasm-simd128
+ -no-feature-whatsthis
+ -no-feature-wheelevent
+ -no-feature-widgets
+ -no-feature-widgettextcontrol
+ -no-feature-windeployqt
+ -no-feature-wizard
+ -no-feature-xkbcommon
+ -no-feature-xml
+ -qpa linuxfb
+ Environment variables: [
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
+ 'NON_QTBASE_CMAKE_ARGS=
+ -DFEATURE_qdoc=off
+ -DFEATURE_qml_debug=off
+ -DFEATURE_qml_jit=off
+ -DFEATURE_qml_locale=off
+ -DFEATURE_qml_network=off
+ -DFEATURE_qml_profiler=off
+ -DFEATURE_quickcontrols2_fusion=off
+ -DFEATURE_quickcontrols2_imagine=off
+ -DFEATURE_quickcontrols2_ios=off
+ -DFEATURE_quickcontrols2_macos=off
+ -DFEATURE_quickcontrols2_material=off
+ -DFEATURE_quickcontrols2_universal=off
+ -DFEATURE_quickcontrols2_windows=off
+ -DFEATURE_quick_designer=off
+ -DFEATURE_quick_particles=off
+ -DFEATURE_quick_pixmap_cache_threaded_download=off
+ -DFEATURE_quick_shadereffect=off
+ -DFEATURE_quicktemplates2_calendar=off
+ -DFEATURE_quicktemplates2_hover=off
+ -DFEATURE_quicktemplates2_multitouch=off'
+ ]
diff --git a/coin/platform_configs/qtlocation.yaml b/coin/platform_configs/qtlocation.yaml
new file mode 100644
index 00000000..7e8e4a89
--- /dev/null
+++ b/coin/platform_configs/qtlocation.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+]
+Configurations: []
diff --git a/coin/platform_configs/qtlottie.yaml b/coin/platform_configs/qtlottie.yaml
new file mode 100644
index 00000000..7e8e4a89
--- /dev/null
+++ b/coin/platform_configs/qtlottie.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+]
+Configurations: []
diff --git a/coin/platform_configs/qtmqtt.yaml b/coin/platform_configs/qtmqtt.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtmqtt.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtmultimedia.yaml b/coin/platform_configs/qtmultimedia.yaml
new file mode 100644
index 00000000..1480ffd8
--- /dev/null
+++ b/coin/platform_configs/qtmultimedia.yaml
@@ -0,0 +1,7 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ cmake_platforms_qemu_vxworks.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtnetworkauth.yaml b/coin/platform_configs/qtnetworkauth.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtnetworkauth.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtopcua.yaml b/coin/platform_configs/qtopcua.yaml
new file mode 100644
index 00000000..7e8e4a89
--- /dev/null
+++ b/coin/platform_configs/qtopcua.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+]
+Configurations: []
diff --git a/coin/platform_configs/qtpositioning.yaml b/coin/platform_configs/qtpositioning.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtpositioning.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtqa.yaml b/coin/platform_configs/qtqa.yaml
new file mode 100644
index 00000000..8e519caa
--- /dev/null
+++ b/coin/platform_configs/qtqa.yaml
@@ -0,0 +1,5 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtquick3d.yaml b/coin/platform_configs/qtquick3d.yaml
new file mode 100644
index 00000000..af00afb2
--- /dev/null
+++ b/coin/platform_configs/qtquick3d.yaml
@@ -0,0 +1,8 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ integrity.yaml,
+ cmake_platforms_qemu_vxworks.yaml,
+ address_sanitizer_platforms.yaml
+]
+Configurations: []
diff --git a/coin/platform_configs/qtquick3dphysics.yaml b/coin/platform_configs/qtquick3dphysics.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtquick3dphysics.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtquickeffectmaker.yaml b/coin/platform_configs/qtquickeffectmaker.yaml
new file mode 100644
index 00000000..7e8e4a89
--- /dev/null
+++ b/coin/platform_configs/qtquickeffectmaker.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+]
+Configurations: []
diff --git a/coin/platform_configs/qtquicktimeline.yaml b/coin/platform_configs/qtquicktimeline.yaml
new file mode 100644
index 00000000..1480ffd8
--- /dev/null
+++ b/coin/platform_configs/qtquicktimeline.yaml
@@ -0,0 +1,7 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ cmake_platforms_qemu_vxworks.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtremoteobjects.yaml b/coin/platform_configs/qtremoteobjects.yaml
new file mode 100644
index 00000000..6d378d5e
--- /dev/null
+++ b/coin/platform_configs/qtremoteobjects.yaml
@@ -0,0 +1,7 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml,
+ integrity.yaml
+]
+Configurations: []
diff --git a/coin/platform_configs/qtsaferenderer-runtime.yaml b/coin/platform_configs/qtsaferenderer-runtime.yaml
new file mode 100644
index 00000000..c413e5cb
--- /dev/null
+++ b/coin/platform_configs/qtsaferenderer-runtime.yaml
@@ -0,0 +1,82 @@
+Version: 2
+Include: [
+ macos.yaml: [
+ "macos-universal-on-x86_64",
+ "macos-12-x86_64-tests",
+ "macos-12-arm-on-arm64-tests"
+ ],
+ cmake_platforms.yaml: [
+ "ubuntu-22.04",
+ "ubuntu-22.04-documentation",
+ "opensuse-15.5-developer-build",
+ "sles-15_sp5-static",
+ "windows-10_22h2-msvc2019",
+ "windows-10_22h2-msvc2022",
+ "windows-10_22h2-msvc2019-developer-build",
+ "rhel-8.8",
+ "windows-10_22h2-mingw13",
+ "windows-10_22h2-mingw13-developer-build",
+ "windows-10_22h2-llvm",
+ "windows-11_23H2-msvc2019"
+ ],
+ cmake_platforms_qemu_qnx710.yaml: [
+ "qnx-710-x86_64-developer-build-on-linux",
+ "qnx-710-arm64-on-linux",
+ "qnx-710-armv7-on-linux"
+ ],
+ integrity.yaml: [
+ "integrity-arm64"
+ ]
+]
+Configurations:
+-
+ Id: 'Axivion-QEMU_build'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Target os: 'QEMU'
+ Target arch: 'arm64'
+ 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}}',
+ 'GST_PLUGIN_SCANNER={{.Env.QEMUARM64_TOOLCHAIN_SYSROOT}}/usr/libexec/gstreamer-1.0/gst-plugin-scanner',
+ 'QT_QUICK_BACKEND=software',
+ ]
+-
+ Id: 'Axivion-qnx-710-arm64-on-linux'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Target os: 'QNX_710'
+ Target arch: 'arm64'
+ Compiler: 'GCC'
+ Target compiler: 'QCC'
+ Platform dependency: 'ubuntu-22.04'
+ Features: ['UseConfigure', 'DoNotRunTests', 'DisableTests', 'Axivion_QSR']
+ Environment variables: [
+ 'TARGET_CONFIGURE_ARGS=-release -no-dbus -nomake examples -qtlibinfix TestInfix',
+ 'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE={{.Env.QNX_710}}/qnx-toolchain-aarch64le.cmake -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON',
+ ]
+-
+ Id: "Axivion-integrity-arm64"
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'GCC'
+ Target os: 'INTEGRITY'
+ Platform dependency: 'ubuntu-22.04'
+ Features: ['UseConfigure', 'DoNotRunTests', 'DisableTests', 'Axivion_QSR', 'VMSize16']
+ Environment variables: [
+ 'TARGET_CONFIGURE_ARGS=-nomake examples -device integrity-armv8-SA8155P -no-feature-library -no-feature-printdialog -no-dbus -no-feature-gtk3 -no-feature-glib -no-feature-libudev -qt-harfbuzz -qt-pcre -no-sql-mysql -no-feature-brotli',
+ 'TARGET_CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE=/home/qt/integrity_toolchain/toolchain.cmake -DCMAKE_C_COMPILER=cxintarm64 -DCMAKE_CXX_COMPILER=cxintarm64 -DBUILD_qtdoc=OFF -DBUILD_qttranslations=OFF -DUNIX=ON --debug-trycompile',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_system_webp=OFF -DQT_FEATURE_timezone=OFF',
+ 'INTEGRITY_DIR=/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/integrity',
+ 'INTEGRITY_BSP=platform-sa8155', 'INTEGRITY_BUILD_TARGET=rel',
+ 'QC_MULTIMEDIA_INC_DIR=/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/include/amss/multimedia',
+ 'GL_INC_DIR=/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/include/public',
+ 'GL_LIB_DIR=/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/base:/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/multimedia/display:/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/multimedia/graphics:/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/out/rel/libs/platform/:/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/opengl/esx/build/integrity/prebuilt/',
+ 'PATH=/home/qt/integrity_toolchain/hlos_dev_boot/apps/ghs_apps_proc/comp:$PATH',
+ ]
+
diff --git a/coin/platform_configs/qtsaferenderer.txt b/coin/platform_configs/qtsaferenderer.txt
deleted file mode 100644
index 837b331c..00000000
--- a/coin/platform_configs/qtsaferenderer.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-Template Target OS Target arch Compiler Features
------------------------------------ ------------------- ----------- ----------- -------------------------------------------------------------------------------------
-qtci-windows-10-x86_64-10 Mingw73 DeveloperBuild Release OpenGLDynamic BuildExamples
-qtci-windows-10-x86_64-10 Mingw73 DeveloperBuild Release OpenGLDynamic Static
-qtci-linux-RHEL-7.4-x86_64 GCC Release NoUseGoldLinker Static
diff --git a/coin/platform_configs/qtsaferenderer.yaml b/coin/platform_configs/qtsaferenderer.yaml
new file mode 100644
index 00000000..ec0d6832
--- /dev/null
+++ b/coin/platform_configs/qtsaferenderer.yaml
@@ -0,0 +1,58 @@
+Version: 2
+Include: [
+ macos.yaml: [
+ "macos-universal-on-x86_64",
+ "macos-12-x86_64-tests",
+ "macos-12-arm-on-arm64-tests"
+ ],
+ cmake_platforms.yaml: [
+ "ubuntu-22.04",
+ "ubuntu-22.04-documentation",
+ "opensuse-15.5-developer-build",
+ "sles-15_sp5-static",
+ "windows-10_22h2-msvc2019",
+ "windows-10_22h2-msvc2022",
+ "rhel-8.8",
+ "windows-10_22h2-mingw13",
+ "windows-10_22h2-llvm",
+ "windows-11_23H2-msvc2019"
+ ],
+ cmake_platforms_qemu_qnx710.yaml: [
+ "qnx-710-x86_64-developer-build-on-linux",
+ "qnx-710-arm64-on-linux",
+ "qnx-710-armv7-on-linux"
+ ]
+]
+# Static build configurations for tools
+Configurations:
+-
+ Id: 'macos-latest-xcode-universal-static-build'
+ Template: 'qtci-macos-12-x86_64-106'
+ Compiler: 'Clang'
+ Target arch: 'x86_64-arm64'
+ Features: ['Packaging', 'Sccache', 'UseConfigure', 'MinimalStaticTests']
+ Configure arguments: '-static -nomake examples -release -no-framework -no-icu -qt-doubleconversion -no-sql-mysql'
+ Environment variables: [
+ 'CMAKE_ARGS=-DCMAKE_OSX_ARCHITECTURES="x86_64;arm64"'
+ ]
+-
+ Id: 'Linux-RHEL_8_8_Static'
+ Template: 'qtci-linux-RHEL-8.8-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['Packaging', 'Sccache', 'UseConfigure', 'MinimalStaticTests']
+ Configure arguments: '-static -no-icu -nomake examples -release -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput -no-sql-mysql'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
+ 'NON_QTBASE_CMAKE_ARGS=-DINPUT_headersclean=ON'
+ ]
+-
+ Id: 'Windows-MSVC2019_Static'
+ Template: 'qtci-windows-10_22H2-x86_64-51'
+ Compiler: 'MSVC2019'
+ Features: ['Packaging', 'Sccache', 'UseConfigure', 'MinimalStaticTests']
+ Configure arguments: '-release -headersclean -nomake examples -qt-zlib -static -no-icu -no-sql-mysql -no-sql-odbc -no-sql-psql -plugin-sql-sqlite -plugin-sql-odbc'
+ Environment variables: [
+ 'CMAKE_ARGS=-DFEATURE_msvc_obj_debug_info=ON -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_INCLUDE_x64}}\..',
+ 'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DINPUT_headersclean=ON'
+ ]
diff --git a/coin/platform_configs/qtscxml.yaml b/coin/platform_configs/qtscxml.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtscxml.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtsdk.txt b/coin/platform_configs/qtsdk.txt
deleted file mode 100644
index 3011926d..00000000
--- a/coin/platform_configs/qtsdk.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Template Target OS Target arch Compiler Features
---------------------------- ------------------- ----------- ----------- -------------------------------------------------------------------------------------
-qtci-windows-10-x86-3 MSVC2017 Release ForceDebugInfo OpenGLDynamic
-qtci-linux-RHEL-6.6-x86_64 GCC Release ForceDebugInfo
diff --git a/coin/platform_configs/qtsdk.yaml b/coin/platform_configs/qtsdk.yaml
new file mode 100644
index 00000000..a8ee222c
--- /dev/null
+++ b/coin/platform_configs/qtsdk.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ qt-creator.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtsensors.yaml b/coin/platform_configs/qtsensors.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtsensors.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtserialbus.yaml b/coin/platform_configs/qtserialbus.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtserialbus.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtserialport.yaml b/coin/platform_configs/qtserialport.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtserialport.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtshadertools.yaml b/coin/platform_configs/qtshadertools.yaml
new file mode 100644
index 00000000..c2aada96
--- /dev/null
+++ b/coin/platform_configs/qtshadertools.yaml
@@ -0,0 +1,8 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml,
+ integrity.yaml,
+ cmake_platforms_qemu_vxworks.yaml
+]
+Configurations: []
diff --git a/coin/platform_configs/qtspeech.yaml b/coin/platform_configs/qtspeech.yaml
new file mode 100644
index 00000000..7e8e4a89
--- /dev/null
+++ b/coin/platform_configs/qtspeech.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+]
+Configurations: []
diff --git a/coin/platform_configs/qtsvg.yaml b/coin/platform_configs/qtsvg.yaml
new file mode 100644
index 00000000..c2aada96
--- /dev/null
+++ b/coin/platform_configs/qtsvg.yaml
@@ -0,0 +1,8 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml,
+ integrity.yaml,
+ cmake_platforms_qemu_vxworks.yaml
+]
+Configurations: []
diff --git a/coin/platform_configs/qttools.yaml b/coin/platform_configs/qttools.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qttools.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qttranslations.yaml b/coin/platform_configs/qttranslations.yaml
new file mode 100644
index 00000000..7e8e4a89
--- /dev/null
+++ b/coin/platform_configs/qttranslations.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+]
+Configurations: []
diff --git a/coin/platform_configs/qtvehicleservices.yaml b/coin/platform_configs/qtvehicleservices.yaml
new file mode 100644
index 00000000..c3233842
--- /dev/null
+++ b/coin/platform_configs/qtvehicleservices.yaml
@@ -0,0 +1,3 @@
+Version: 2
+Include: [cmake_platforms.yaml]
+Configurations: []
diff --git a/coin/platform_configs/qtvirtualkeyboard.yaml b/coin/platform_configs/qtvirtualkeyboard.yaml
new file mode 100644
index 00000000..1480ffd8
--- /dev/null
+++ b/coin/platform_configs/qtvirtualkeyboard.yaml
@@ -0,0 +1,7 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ cmake_platforms_qemu_vxworks.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtwayland.yaml b/coin/platform_configs/qtwayland.yaml
new file mode 100644
index 00000000..52d13a7d
--- /dev/null
+++ b/coin/platform_configs/qtwayland.yaml
@@ -0,0 +1,29 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+]
+Configurations:
+# Test on Ubuntu 22.04 Wayland
+-
+ Id: 'ubuntu-22.04-documentation-wayland-tests'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'TestDocs', 'TestOnly', 'RunDependencyTests', 'InsignificantTests']
+ Platform dependency: 'ubuntu-22.04-documentation'
+-
+ Id: 'ubuntu-22.04-wayland-tests'
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'TestOnly', 'RunDependencyTests', 'InsignificantTests']
+ Platform dependency: 'ubuntu-22.04'
+# Test on Debian-11.6 Wayland
+-
+ Id: 'debian-11.6-arm64-wayland-tests'
+ Template: 'qtci-linux-Debian-11.6-aarch64-50'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'TestOnly', 'RunDependencyTests', 'InsignificantTests']
+ Environment variables: [
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY'
+ ]
+ Platform dependency: 'debian-11.6-arm64'
diff --git a/coin/platform_configs/qtwebchannel.yaml b/coin/platform_configs/qtwebchannel.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtwebchannel.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtwebengine.yaml b/coin/platform_configs/qtwebengine.yaml
new file mode 100644
index 00000000..7e8e4a89
--- /dev/null
+++ b/coin/platform_configs/qtwebengine.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+]
+Configurations: []
diff --git a/coin/platform_configs/qtwebkit.txt b/coin/platform_configs/qtwebkit.txt
deleted file mode 100644
index a357ad5b..00000000
--- a/coin/platform_configs/qtwebkit.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-Template Target OS Target arch Compiler Features
---------------------------- ------------------- ----------- ----------- -------------------------------------------------------------------------------------
-qtci-windows-10-x86_64-10 x86 MSVC2017 DebugAndRelease Release ForceDebugInfo OpenGLDynamic DisableTests
-qtci-windows-7-x86-3 Mingw73 Packaging DebugAndRelease Release OpenGLDynamic DisableTests
diff --git a/coin/platform_configs/qtwebkit.yaml b/coin/platform_configs/qtwebkit.yaml
new file mode 100644
index 00000000..97910193
--- /dev/null
+++ b/coin/platform_configs/qtwebkit.yaml
@@ -0,0 +1,9 @@
+Version: 2
+Configurations:
+-
+ Template: 'qtci-windows-10_22H2-x86_64-51'
+ Compiler: 'Mingw'
+ Environment variables: ['PATH=C:\MINGW1120_i686\mingw32\bin;$PATH']
+ Features: ['Packaging', UseLegacyInstructions']
+ Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x64% -L %POSTGRESQL_LIB_x64% -platform win32-g++ QMAKE_LFLAGS_APP+=-s'
+
diff --git a/coin/platform_configs/qtwebsockets.yaml b/coin/platform_configs/qtwebsockets.yaml
new file mode 100644
index 00000000..781c6370
--- /dev/null
+++ b/coin/platform_configs/qtwebsockets.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/qtwebview.yaml b/coin/platform_configs/qtwebview.yaml
new file mode 100644
index 00000000..7e8e4a89
--- /dev/null
+++ b/coin/platform_configs/qtwebview.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ address_sanitizer_platforms.yaml
+]
+Configurations: []
diff --git a/coin/platform_configs/tqtc-android-automotive.yaml b/coin/platform_configs/tqtc-android-automotive.yaml
new file mode 100644
index 00000000..2539bcb7
--- /dev/null
+++ b/coin/platform_configs/tqtc-android-automotive.yaml
@@ -0,0 +1,51 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml: [
+ 'rhel-8.8',
+ 'windows-10_22h2-mingw13',
+ 'ubuntu-22.04-documentation',
+ 'ubuntu-22.04-documentation-x11-tests'
+ ],
+ macos.yaml: [
+ 'macos-universal-on-x86_64'
+ ],
+ cmake_platforms_target_android.yaml: [
+ 'android-arm64-on-macos',
+ 'android-armv7-on-windows',
+ 'android-8-x86-on-linux',
+ 'android-14-x86_64-on-linux'
+ ]
+]
+Configurations:
+-
+ Id: "automotive-android-13-x86_64-on-linux"
+ Template: 'qtci-linux-RHEL-8.8-x86_64-50'
+ Target os: 'Android_ANY'
+ Target arch: 'x86_64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Platform dependency: 'rhel-8.8'
+ Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
+ Environment variables: [
+ 'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
+ 'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
+ 'ANDROID_EMULATOR=automotive_emulator_x86_64_api_33'
+ ]
+-
+ Id: "automotive-android-10-x86_64-on-linux"
+ Template: 'qtci-linux-RHEL-8.8-x86_64-50'
+ Target os: 'Android_ANY'
+ Target arch: 'x86_64'
+ Compiler: 'GCC'
+ Target compiler: 'Clang'
+ Platform dependency: 'rhel-8.8'
+ Features: ['Packaging', 'Sccache', 'WarningsAreErrors', 'AndroidTestRun', 'VMSize8', 'UseConfigure']
+ Environment variables: [
+ 'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64',
+ 'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}',
+ 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include',
+ 'ANDROID_EMULATOR=automotive_emulator_x86_64_api_29'
+ ]
diff --git a/coin/platform_configs/tqtc-meta-qt6-prereleases.yaml b/coin/platform_configs/tqtc-meta-qt6-prereleases.yaml
new file mode 100644
index 00000000..b2e7c5e2
--- /dev/null
+++ b/coin/platform_configs/tqtc-meta-qt6-prereleases.yaml
@@ -0,0 +1,4 @@
+Version: 2
+Module only: True
+Include: [meta-boot2qt.yaml]
+Configurations: []
diff --git a/coin/platform_configs/tqtc-pyside-setup.yaml b/coin/platform_configs/tqtc-pyside-setup.yaml
new file mode 100644
index 00000000..0c980413
--- /dev/null
+++ b/coin/platform_configs/tqtc-pyside-setup.yaml
@@ -0,0 +1,9 @@
+Version: 2
+Module only: True
+Include: [cmake_platforms.yaml]
+Configurations:
+-
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['TestOnly', 'LicenseCheck']
+
diff --git a/coin/platform_configs/tqtc-qmlcompilerplus.yaml b/coin/platform_configs/tqtc-qmlcompilerplus.yaml
new file mode 100644
index 00000000..c3233842
--- /dev/null
+++ b/coin/platform_configs/tqtc-qmlcompilerplus.yaml
@@ -0,0 +1,3 @@
+Version: 2
+Include: [cmake_platforms.yaml]
+Configurations: []
diff --git a/coin/platform_configs/tqtc-qt-rta.txt b/coin/platform_configs/tqtc-qt-rta.txt
deleted file mode 100644
index 8fbb5a00..00000000
--- a/coin/platform_configs/tqtc-qt-rta.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-Template Target OS Target arch Compiler Features
---------------------------- ------------------- ----------- ----------- -------------------------------------------------------------------------------------
-qtci-windows-7-x86_64-4 MSVC2013 Release ForceDebugInfo OpenGLDynamic DisableTests
-qtci-windows-8.1-x86_64 MSVC2013 Release ForceDebugInfo OpenGLDynamic DisableTests
-qtci-windows-10-x86-3 MSVC2017 Release ForceDebugInfo OpenGLDynamic
-
diff --git a/coin/platform_configs/tqtc-qt-rta.yaml b/coin/platform_configs/tqtc-qt-rta.yaml
new file mode 100644
index 00000000..31874ccf
--- /dev/null
+++ b/coin/platform_configs/tqtc-qt-rta.yaml
@@ -0,0 +1,32 @@
+Version: 2
+Include: [cmake_platforms.yaml]
+Configurations:
+#Ubuntu 20.04
+-
+ Id: 'ubuntu-20.04'
+ Template: 'qtci-linux-Ubuntu-20.04-x86_64-51'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'UseConfigure', 'DoNotRunTests']
+ Configure arguments: '-nomake examples -release -force-debug-info -separate-debug-info -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON'
+ ]
+-
+ 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/platform_configs/tqtc-qtdigitaladvertising.yaml b/coin/platform_configs/tqtc-qtdigitaladvertising.yaml
new file mode 100644
index 00000000..c3233842
--- /dev/null
+++ b/coin/platform_configs/tqtc-qtdigitaladvertising.yaml
@@ -0,0 +1,3 @@
+Version: 2
+Include: [cmake_platforms.yaml]
+Configurations: []
diff --git a/coin/platform_configs/tqtc-qtinsighttracker.yaml b/coin/platform_configs/tqtc-qtinsighttracker.yaml
new file mode 100644
index 00000000..c3233842
--- /dev/null
+++ b/coin/platform_configs/tqtc-qtinsighttracker.yaml
@@ -0,0 +1,3 @@
+Version: 2
+Include: [cmake_platforms.yaml]
+Configurations: []
diff --git a/coin/platform_configs/tqtc-qtpip.yaml b/coin/platform_configs/tqtc-qtpip.yaml
new file mode 100644
index 00000000..7bc0741e
--- /dev/null
+++ b/coin/platform_configs/tqtc-qtpip.yaml
@@ -0,0 +1,12 @@
+Version: 2
+Module only: true
+Include: [
+ cmake_platforms.yaml: [
+ "windows-10_22h2-msvc2019",
+ "rhel-8.8"
+ ],
+ macos.yaml: [
+ "macos-universal-on-x86_64"
+ ]
+]
+Configurations: []
diff --git a/coin/platform_configs/tqtc-qtsdk.yaml b/coin/platform_configs/tqtc-qtsdk.yaml
new file mode 100644
index 00000000..a8ee222c
--- /dev/null
+++ b/coin/platform_configs/tqtc-qtsdk.yaml
@@ -0,0 +1,6 @@
+Version: 2
+Include: [
+ cmake_platforms.yaml,
+ qt-creator.yaml
+ ]
+Configurations: []
diff --git a/coin/platform_configs/tqtc-qtvncserver.yaml b/coin/platform_configs/tqtc-qtvncserver.yaml
new file mode 100644
index 00000000..c3233842
--- /dev/null
+++ b/coin/platform_configs/tqtc-qtvncserver.yaml
@@ -0,0 +1,3 @@
+Version: 2
+Include: [cmake_platforms.yaml]
+Configurations: []
diff --git a/coin/platform_configs/wasm_qtbase_tests.yaml b/coin/platform_configs/wasm_qtbase_tests.yaml
new file mode 100644
index 00000000..54f340bd
--- /dev/null
+++ b/coin/platform_configs/wasm_qtbase_tests.yaml
@@ -0,0 +1,9 @@
+Version: 2
+Configurations:
+-
+ Id: 'webassembly-linux-thread-asyncify-tests'
+ Template: 'qtci-linux-openSUSE-15.5-x86_64-52'
+ Target os: 'WebAssembly'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'TestOnly']
+ Platform dependency: 'webassembly-linux-thread-asyncify'
diff --git a/coin/platform_configs/webos.yaml b/coin/platform_configs/webos.yaml
new file mode 100644
index 00000000..e0f285fe
--- /dev/null
+++ b/coin/platform_configs/webos.yaml
@@ -0,0 +1,54 @@
+Version: 2
+Module only: true
+Configurations:
+ - Id: 'webos-emulator-build'
+ Template: 'qtci-linux-Ubuntu-20.04-x86_64-52'
+ Compiler: 'GCC'
+ Features: ['DoNotRunTests']
+ Environment variables: ['BUILD_EMULATOR=enabled']
+ - Id: 'webos-emulator-qtbase-tests'
+ Template: 'qtci-linux-Ubuntu-20.04-x86_64-52'
+ Compiler: 'GCC'
+ Features: ['TestOnly']
+ Environment variables: ['MODULE=qtbase']
+ Platform dependency: 'webos-emulator-build'
+ - Id: 'webos-emulator-qtdeclarative-tests'
+ Template: 'qtci-linux-Ubuntu-20.04-x86_64-52'
+ Compiler: 'GCC'
+ Features: ['TestOnly']
+ Environment variables: ['MODULE=qtdeclarative']
+ Platform dependency: 'webos-emulator-build'
+ - Id: 'webos-emulator-qtwayland-tests'
+ Template: 'qtci-linux-Ubuntu-20.04-x86_64-52'
+ Compiler: 'GCC'
+ Features: ['TestOnly']
+ Environment variables: ['MODULE=qtwayland']
+ Platform dependency: 'webos-emulator-build'
+ - Id: 'webos-emulator-qtshadertools-tests'
+ Template: 'qtci-linux-Ubuntu-20.04-x86_64-52'
+ Compiler: 'GCC'
+ Features: ['TestOnly']
+ Environment variables: ['MODULE=qtshadertools']
+ Platform dependency: 'webos-emulator-build'
+ - Id: 'webos-emulator-qtgraphicaleffects-tests'
+ Template: 'qtci-linux-Ubuntu-20.04-x86_64-52'
+ Compiler: 'GCC'
+ Features: ['TestOnly']
+ Environment variables: ['MODULE=qtgraphicaleffects']
+ Platform dependency: 'webos-emulator-build'
+ - Id: 'webos-raspberry-build'
+ Template: 'qtci-linux-Ubuntu-20.04-x86_64-52'
+ Compiler: 'GCC'
+ Features: ['DoNotRunTests']
+ Environment variables: ['BUILD_RASPBERRY=enabled']
+ - Id: 'webos-ndk-installer-build'
+ Template: 'qtci-linux-Ubuntu-20.04-x86_64-52'
+ Compiler: 'GCC'
+ Features: ['DoNotRunTests']
+ Environment variables: ['BUILD_NDK_INSTALLER=enabled']
+ - Id: 'webos-ndk-install'
+ Template: 'qtci-linux-Ubuntu-20.04-x86_64-52'
+ Compiler: 'GCC'
+ Features: ['TestOnly']
+ Platform dependency: ['webos-raspberry-build', 'webos-ndk-installer-build']
+ Environment variables: ['TEST_INSTALL_NDK=enabled']
diff --git a/coin/platform_configs/yocto.yaml b/coin/platform_configs/yocto.yaml
new file mode 100644
index 00000000..d7606534
--- /dev/null
+++ b/coin/platform_configs/yocto.yaml
@@ -0,0 +1,58 @@
+Version: 2
+Module only: True
+Configurations:
+ -
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET1'
+ -
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET2'
+ -
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET3'
+ -
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET4'
+ -
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET5'
+ -
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET6'
+ -
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET7'
+ -
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET8'
+ -
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET9'
+ -
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'Yocto'
+ Target arch: 'TARGET10'
+ -
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'Yocto'
+ Features: ['Insignificant']
+ Target arch: 'INSIGNIFICANT_TARGET1'
+ -
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'Yocto'
+ Features: ['Insignificant']
+ Target arch: 'INSIGNIFICANT_TARGET2'
+ -
+ Template: 'qtci-linux-Ubuntu-22.04-x86_64-51'
+ Compiler: 'Yocto'
+ Features: ['Insignificant']
+ Target arch: 'INSIGNIFICANT_TARGET3'
diff --git a/coin/pre-provisioning/qtci-linux-CentOS-8.3-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-CentOS-8.3-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..4a775302
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-CentOS-8.3-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,50 @@
+### CENTOS 8.3 ###
+Hard Disk: 500G
+Network: CI
+Video Card: Total Video Memory: 64MB
+Boot options/Firmware: BIOS
+
+Language: English (United States)
+Time & Date: Etc/Coordinated Universal Time
+Software Selection: Server with GUI
+Network & Host..: Connect
+
+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
+ Power:
+ * Blank screen: Never
+ Devices:
+ * Displays: Resolution 1280 x 800
+ Details:
+ * Time Zone: UTC
+ * run "sudo timedatectl set-timezone Etc/UTC"
+ * Users: Automatic login on
+
+# Add user to sudoers
+Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
+
+Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub
+sudo grub2-mkconfig -o /etc/grub2.cfg
+sudo grub2-mkconfig -o /boot/grub2/grub.cfg
+
+# Add support for virtio driver
+su
+echo "add_drivers+=\"virtio-blk\"" >> /etc/dracut.conf.d/virtio.conf
+dracut -f
+
+# Fetch and run coin-setup
+Download http://coin/coin/binary/linux_amd64/coin-setup
+run './coin-setup'
+
+Reboot
+
diff --git a/coin/pre-provisioning/qtci-linux-RHEL-8.2-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-RHEL-8.2-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..13345158
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-RHEL-8.2-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,48 @@
+### RHEL 8.2 ###
+Hard Disk: 500G
+Network: CI
+Video Card: Total Video Memory: 64MB
+Boot options/Firmware: BIOS
+
+Language: English (United States)
+Time & Date: Etc/Coordinated Universal Time
+Software Selection: Server with GUI
+Network & Host..: Connect
+
+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
+ Power:
+ * Blank screen: Never
+ Devices:
+ * Displays: Resolution 1280 x 800
+ Details:
+ * Time Zone: UTC
+ * run "sudo timedatectl set-timezone Etc/UTC"
+ * Users: Automatic login on
+
+# Add user to sudoers
+Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
+
+Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub
+sudo grub2-mkconfig -o /etc/grub2.cfg
+sudo grub2-mkconfig -o /boot/grub2/grub.cfg
+
+# Add support for virtio driver
+su
+echo "add_drivers+=\"virtio-blk\"" >> /etc/dracut.conf.d/virtio.conf
+dracut -f
+
+# Fetch and run coin-setup
+Download http://coin/coin/binary/linux_amd64/coin-setup
+run './coin-setup'
+
+Reboot
diff --git a/coin/pre-provisioning/qtci-linux-RHEL-8.4-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-RHEL-8.4-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..9786940d
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-RHEL-8.4-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,62 @@
+### RHEL 8.2 ###
+Hard Disk: 500G
+Network: CI
+Video Card: Total Video Memory: 64MB
+Boot options/Firmware: BIOS
+
+Language: English (United States)
+Time & Date: Etc/Coordinated Universal Time
+Software Selection: Server with GUI
+Installation Destination: Automatic partitioning selected
+Root Passowrd: Set
+Network & Host..: Connect
+Beging Installation
+
+Reboot
+
+Licensing: Accept
+User Settings: give username & password. Select 'Make this user administrator'
+Finish Configuration
+
+Welcome!
+Language: English (US)
+Typing:English (US)
+Privacy: Location Services: OFF
+Connect Your Online Accounts: Skip
+Start Using Red Hat Enterprise Linux
+
+# Configure Settings
+ Notifications:
+ * Notification Popups: OFF
+ * Lock Screen Notifications: OFF
+ Privacy:
+ * Screen Lock: OFF
+ Power:
+ * Blank screen: Never
+ Devices:
+ * Displays: Resolution 1280 x 800
+ Details:
+ * Time & Date: Time Zone: UTC
+ * run "sudo timedatectl set-timezone Etc/UTC"
+ * Users: Automatic login on
+
+# Add user to sudoers
+Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
+
+Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub
+sudo grub2-mkconfig -o /etc/grub2.cfg
+sudo grub2-mkconfig -o /boot/grub2/grub.cfg
+
+# Add support for virtio driver
+su
+echo "add_drivers+=\"virtio-blk\"" >> /etc/dracut.conf.d/virtio.conf
+dracut -f
+
+# Enable network connection from right upper corner
+
+# Fetch and run coin-setup
+Download http://coin/coin/binary/linux_amd64/coin-setup
+# run as qt user
+run './coin-setup'
+
+Reboot
diff --git a/coin/pre-provisioning/qtci-linux-RHEL-8.6-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-RHEL-8.6-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..c5cb1e8d
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-RHEL-8.6-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,63 @@
+### RED HAT ENTERPRISE LINUX 8.6 ###
+
+Language: English (United States)
+Time & Date: Etc/Coordinated Universal Time
+Software Selection: Server with GUI
+Installation Destination: Automatic partitioning selected
+Root Passowrd: Set
+Network & Host..: Connect
+User Creation
+Beging Installation
+
+Reboot
+
+Licensing: Accept
+Finish Configuration
+
+gnome-initial-setup:
+Language: English (US)
+Typing:English (US)
+Privacy: Location Services: OFF
+Connect Your Online Accounts: Skip
+Start Using Red Hat Enterprise Linux
+
+# Add user to sudoers
+Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
+
+# Configure Settings
+ Notifications:
+ * Notification Popups: OFF
+ * Lock Screen Notifications: OFF
+ Privacy:
+ * Screen Lock: OFF
+ Power:
+ * Blank screen: Never
+ Details:
+ * Time & Date: Time Zone: UTC
+ * run "sudo timedatectl set-timezone Etc/UTC"
+ * Users: Automatic login on
+
+Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub
+sudo grub2-mkconfig -o /etc/grub2.cfg
+sudo grub2-mkconfig -o /boot/grub2/grub.cfg
+
+# Add support for virtio driver
+su
+echo "add_drivers+=\"virtio-blk\"" >> /etc/dracut.conf.d/virtio.conf
+dracut -f
+
+# Do these from Opennebula UI!
+
+# Enable network connection from right upper corner
+
+ Devices:
+ * Displays: Resolution 1280 x 800
+
+# Fetch and run coin-setup
+Download http://coin/coin/binary/linux_amd64/coin-setup
+# run as qt user
+su
+chmod 755 coin-setup
+run './coin-setup'
+
+Reboot
diff --git a/coin/pre-provisioning/qtci-linux-RHEL-8.8-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-RHEL-8.8-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..a2ed87e0
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-RHEL-8.8-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,62 @@
+### RED HAT ENTERPRISE LINUX 8.8 ###
+
+Language: English (United States)
+Time & Date: Etc/Coordinated Universal Time
+Software Selection: Server with GUI
+Installation Destination: Automatic partitioning selected
+Root Passowrd: Set
+Network & Host..: Connect
+User Creation
+Beging Installation
+
+Reboot
+
+Licensing: Accept
+Finish Configuration
+
+gnome-initial-setup:
+Language: English (US)
+Typing:English (US)
+Privacy: Location Services: OFF
+Connect Your Online Accounts: Skip
+Start Using Red Hat Enterprise Linux
+
+# Add user to sudoers
+Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
+
+# Configure Settings
+ Notifications:
+ * Notification Popups: OFF
+ * Lock Screen Notifications: OFF
+ Privacy:
+ * Screen Lock: OFF
+ Power:
+ * Blank screen: Never
+ Details:
+ * Time & Date: Time Zone: UTC
+ * run "sudo timedatectl set-timezone Etc/UTC"
+ * Users: Automatic login on
+
+Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub
+sudo grub2-mkconfig -o /etc/grub2.cfg
+sudo grub2-mkconfig -o /boot/grub2/grub.cfg
+
+# Add support for virtio driver
+su
+echo "add_drivers+=\" virtio-blk \"" >> /etc/dracut.conf.d/virtio.conf
+dracut -f
+
+# Do these from Opennebula UI!
+
+# Enable network connection from right upper corner
+
+ Devices:
+ * Displays: Resolution 1280 x 800
+
+# Fetch and run coin-setup
+Download http://coin/coin/binary/linux_amd64/coin-setup
+# run as qt user
+chmod 755 coin-setup
+run './coin-setup'
+
+Reboot
diff --git a/coin/pre-provisioning/qtci-linux-RHEL-9.0-x86_64/01-disable-automounting.sh b/coin/pre-provisioning/qtci-linux-RHEL-9.0-x86_64/01-disable-automounting.sh
new file mode 100755
index 00000000..aeac4768
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-RHEL-9.0-x86_64/01-disable-automounting.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+sudo tee -a /etc/dconf/db/local.d/00-media-automount <<"EOF"
+[org/gnome/desktop/media-handling]
+automount=false
+automount-open=false
+EOF
+
+sudo dconf update
+
diff --git a/coin/pre-provisioning/qtci-linux-RHEL-9.0-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-RHEL-9.0-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..e69c11da
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-RHEL-9.0-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,58 @@
+### RHEL 9.0 ###
+Hard Disk: 500G
+Network: CI
+Video Card: Total Video Memory: 64MB
+Boot options/Firmware: BIOS
+
+Language: English (United States)
+Time & Date: Etc/Coordinated Universal Time
+Software Selection: Server with GUI
+Installation Destination: Automatic partitioning selected
+Root Passowrd: Set
+Network & Host..: Connect
+Beging Installation
+
+Reboot
+
+# Configure Settings
+ Notifications:
+ * Lock Screen Notifications: OFF
+ * Applications: Set notificantion off
+ Applications:
+ * Disable notifications from all applications
+ Privacy:
+ * Blank Screen Delay: Never
+ * Screen Lock: OFF
+ Power:
+ * Blank screen: Never
+ Displays:
+ * Resolution: 1280 x 800
+ Users:
+ * Automatic login on
+
+# Add user to sudoers
+Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
+
+Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub
+sudo grub2-mkconfig -o /etc/grub2.cfg
+sudo grub2-mkconfig -o /boot/grub2/grub.cfg
+
+# Add support for virtio driver
+su
+echo "add_drivers+=\" virtio-blk \"" >> /etc/dracut.conf.d/virtio.conf
+dracut -f
+
+# Enable network connection from right upper corner
+
+# Fetch and run coin-setup
+Download http://coin/coin/binary/linux_amd64/coin-setup
+# run as qt user
+run './coin-setup'
+
+# Switch to use GNOME Classic user interface
+# GNOME Classic was selected because there's an issue with Starndard (wayland display server). Autotest start failing because terminal session remains in Activities Overview.
+# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3854
+First execute script ./01-disable-automounting.sh (dconf update crash in GNOME Classic)
+logout -> Select user (without it the drop down menu won't appear) -> switch to 'GNOME Classic' from drop down menu in login screen
+
+Reboot
diff --git a/coin/pre-provisioning/qtci-linux-RHEL-9.2-x86_64/01-disable-automounting.sh b/coin/pre-provisioning/qtci-linux-RHEL-9.2-x86_64/01-disable-automounting.sh
new file mode 100644
index 00000000..645f9f42
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-RHEL-9.2-x86_64/01-disable-automounting.sh
@@ -0,0 +1,14 @@
+#!/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
+
+sudo tee -a /etc/dconf/db/local.d/00-media-automount <<"EOF"
+[org/gnome/desktop/media-handling]
+automount=false
+automount-open=false
+EOF
+
+sudo dconf update
+
diff --git a/coin/pre-provisioning/qtci-linux-RHEL-9.2-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-RHEL-9.2-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..f12e95f1
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-RHEL-9.2-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,60 @@
+### RHEL 9.2 ###
+Hard Disk: 500G
+Network: CI
+Video Card: Total Video Memory: 64MB
+Boot options/Firmware: BIOS
+
+Language: English (United States)
+Time & Date: Etc/Coordinated Universal Time
+Software Selection: Server with GUI
+Installation Destination: Automatic partitioning selected
+Root Passowrd: Set
+Network & Host..: Connect
+Beging Installation
+
+Reboot
+
+# Configure Settings
+ Notifications:
+ * Lock Screen Notifications: OFF
+ * Applications: Set notification off
+ Applications:
+ * Disable notifications from all applications
+ Privacy:
+ * Blank Screen Delay: Never
+ * Screen Lock: OFF
+ Power:
+ * Blank screen: Never
+ Displays:
+ * Resolution: 1280 x 800
+ Users:
+ * Automatic login on
+
+# Add user to sudoers
+Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
+
+Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub
+sudo grub2-mkconfig -o /etc/grub2.cfg
+sudo grub2-mkconfig -o /boot/grub2/grub.cfg
+
+# Add support for virtio driver
+su
+echo "add_drivers+=\" virtio-blk \"" >> /etc/dracut.conf.d/virtio.conf
+dracut -f
+
+# Do these from Opennebula UI!
+
+# Enable network connection from right upper corner
+
+# Fetch and run coin-setup
+Download http://coin/coin/binary/linux_amd64/coin-setup
+# run as qt user
+run './coin-setup'
+
+# Switch to use GNOME Classic user interface
+# GNOME Classic was selected because there's an issue with Starndard (wayland display server). Autotest start failing because terminal session remains in Activities Overview.
+# https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3854
+First execute script ./01-disable-automounting.sh (dconf update crash in GNOME Classic)
+logout -> Select user (without it the drop down menu won't appear) -> switch to 'GNOME Classic' from drop down menu in login screen
+
+Reboot
diff --git a/coin/pre-provisioning/qtci-linux-SLES-15_SP3-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-SLES-15_SP3-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..6fe4943b
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-SLES-15_SP3-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,56 @@
+### SUSE Linux Enterprise Desktop 15 SP3 ###
+
+Language: English (US)
+Keyboard Layout: English (US)
+
+Available Extensions and Modules:
+ Basesystem Module
+ Desktop Applications Module
+ Python 2 Module
+ Server Applications Module
+
+Gnome Desktop (X11)
+
+Enable SSH service
+Disable Firewall
+
+Resolution 1280x800
+
+# Settings
+Notification Popups - disabled
+LockScreen Notifications - disabled
+
+# Privacy
+Screen Lock - Off
+
+# Power
+Power Saving - Blank Screen - never
+
+# Add user to sudoers
+Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
+
+# Fetch and run coin-setup
+Download http://coin/coin/binary/linux_386/coin-setup
+sudo ./coin-setup
+
+# Add support for virtio driver
+sudo echo "add_drivers+=\"virtio-blk\"" >> /etc/dracut.conf.d/virtio.conf
+sudo dracut -f
+
+# Add these to '/etc/polkit-default-privs.local'
+org.freedesktop.udisks2.filesystem-mount yes
+org.freedesktop.udisks2.filesystem-mount-other-seat yes
+org.freedesktop.udisks2.filesystem-mount-system yes
+org.freedesktop.login1.power-off yes
+org.freedesktop.login1.power-off-ignore-inhibit yes
+org.freedesktop.login1.power-off-multiple-sessions yes
+
+sudo /sbin/set_polkit_default_privs
+
+# Set how DHClient creates CID for compatibility with older DHCP servers
+sudo sed -i 's/DHCLIENT_CREATE_CID=""/DHCLIENT_CREATE_CID="rfc2132"/' /etc/sysconfig/network/dhcp
+
+# Register product
+# Add 'Available Extensions and Modules'
+* Basesystem Module 15 SP3 x86_64
+* Server Applications Module 15 SP3 x86_64
diff --git a/coin/pre-provisioning/qtci-linux-SLES-15_SP4-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-SLES-15_SP4-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..da785987
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-SLES-15_SP4-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,64 @@
+### SUSE Linux Enterprise Server 15 SP4 ###
+
+# Installation #
+Language: English (US)
+Keyboard Layout: English (US)
+
+Available Extensions and Modules:
+ Basesystem Module
+ Desktop Applications Module
+ Python 3 Module
+ Server Applications Module
+
+SLES with GNOME
+
+Region: Etc
+Time Zone: UTC
+
+Create user with automatic login
+
+disable firewall
+
+Displays: Resolution 1280x800
+Power: Screen Blank: Never
+Privacy: Screen lock: Automatic screen lock: disable
+Privacy: Screen lock: Show notifications on lock screen: disable
+
+# Add user to sudoers
+Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
+
+sudo su -
+echo "add_drivers+=\"virtio-blk\"" >/etc/dracut.conf.d/virtio.conf
+dracut -f
+
+# Add these to /etc/polkit-default-privs.local
+org.freedesktop.udisks2.filesystem-mount yes
+org.freedesktop.udisks2.filesystem-mount-other-seat yes
+org.freedesktop.udisks2.filesystem-mount-system yes
+org.freedesktop.login1.power-off yes
+org.freedesktop.login1.power-off-ignore-inhibit yes
+org.freedesktop.login1.power-off-multiple-sessions yes
+
+# Set how DHClient creates CID for compatibility with older DHCP servers
+sudo sed -i 's/DHCLIENT_CREATE_CID=""/DHCLIENT_CREATE_CID="rfc2132"/' /etc/sysconfig/network/dhcp
+systemctl restart wicked
+
+# Create etc/sysconfig/network/ifcfg-eth1 with values:
+* BOOTPROTO='dhcp'
+* STARTMODE='auto'
+sudo ifup eth1
+
+# Register product
+# Add 'Available Extensions and Modules'
+* Basesystem Module 15 SP4 x86_64
+* Server Applications Module 15 SP4 x86_64
+
+zypper yum update
+
+* Download and run coin-setup
+
+# Fetch and run coin-setup
+Download http://coin/coin/binary/linux_386/coin-setup
+sudo ./coin-setup
+
+sudo reboot now
diff --git a/coin/pre-provisioning/qtci-linux-SLES-15_SP5-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-SLES-15_SP5-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..3f25ec4a
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-SLES-15_SP5-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,75 @@
+### SUSE Linux Enterprise Server 15 SP5 ###
+
+# Register product #
+Register product at the beginning or later during the
+installation process. Full version allows registering later.
+
+# Installation #
+Language: English (US)
+Keyboard Layout: English (US)
+
+Available Extensions and Modules:
+ Basesystem Module
+ Desktop Applications Module
+ Python 3 Module
+ Server Applications Module
+
+SLES with GNOME
+
+Region: Etc
+Time Zone: UTC
+
+Create user with automatic login
+
+disable firewall
+
+Displays: Resolution 1280x800
+Power: Screen Blank: Never
+Privacy: Screen lock: Automatic screen lock: disable
+Privacy: Screen lock: Show notifications on lock screen: disable
+
+# Add user to sudoers
+Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
+
+sudo su -
+echo 'add_drivers+=" virtio-blk "' >/etc/dracut.conf.d/virtio.conf
+dracut -f
+
+# Add these to /etc/polkit-default-privs.local
+org.freedesktop.udisks2.filesystem-mount yes
+org.freedesktop.udisks2.filesystem-mount-other-seat yes
+org.freedesktop.udisks2.filesystem-mount-system yes
+org.freedesktop.login1.power-off yes
+org.freedesktop.login1.power-off-ignore-inhibit yes
+org.freedesktop.login1.power-off-multiple-sessions yes
+
+# Run this command for changes to take effect
+sudo bash /sbin/set_polkit_default_privs
+
+# Set how DHClient creates CID for compatibility with older DHCP servers
+sudo sed -i 's/DHCLIENT_CREATE_CID=""/DHCLIENT_CREATE_CID="rfc2132"/' /etc/sysconfig/network/dhcp
+systemctl restart wicked
+
+# Create /etc/sysconfig/network/ifcfg-eth1 with values:
+* BOOTPROTO='dhcp'
+* STARTMODE='auto'
+sudo ifup eth1
+
+# If not yet registered - Register product
+# Add 'Available Extensions and Modules'
+* Basesystem Module 15 SP5 x86_64
+* Server Applications Module 15 SP5 x86_64
+* Python 3 Module 15 SP5 x86_64
+* Desktop Applications Module 15 SP5 x86_64
+
+zypper update
+
+* Download and run coin-setup
+
+# Fetch and run coin-setup
+Download http://coin/coin/binary/linux_386/coin-setup
+# run as qt user
+chmod 755 ./coin-setup
+sudo ./coin-setup
+
+sudo reboot now
diff --git a/coin/pre-provisioning/qtci-linux-Ubuntu-20.04-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-Ubuntu-20.04-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..7501b3e3
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-Ubuntu-20.04-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,59 @@
+### Ubuntu 20.04 ###
+Hard Disk: 1TB
+
+Language: English (United States)
+Time & Date: Etc/Coordinated Universal Time
+Software Selection: Desktop image, minimal install
+
+Language: English (US)
+Typing: English (US)
+Privacy: Location Services: OFF
+Connect Your Online Accounts: Skip
+
+
+# Configure Settings
+ Notifications:
+ * Notification Popups: OFF
+ * Lock Screen Notifications: OFF
+ Privacy:
+ * Screen Lock: OFF
+ * File History & Rubbish Bin:
+ * File History: Off
+ * Diagnostics:
+ * Send error reports to Canonical: Never
+ Power:
+ * Blank screen: Never
+ * Automatic suspend: Off
+ Appearance:
+ * Auto-hide the dock: Off
+ Devices:
+ * Displays: Resolution 1280 x 800
+ Details:
+ * Time Zone: UTC
+ * run "sudo timedatectl set-timezone UTC"
+ * Users: Automatic login on
+
+ Software & Updates:
+ * Updates:
+ * Subscribed to: Security updates only
+ * Automatically check for updates: Never
+ * Notify me of a new Ubuntu version: Never
+
+# Add user to sudoers
+Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
+
+Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub
+run 'sudo grub2-mkconfig'
+
+# Install ssh server
+run 'sudo apt install openssh-server'
+
+# Disable firewall
+run 'sudo ufw disable'
+
+# Fetch and run coin-setup (in Opennebula)
+Download http://coin/coin/binary/linux_amd64/coin-setup
+run './coin-setup'
+
+Reboot
+
diff --git a/coin/pre-provisioning/qtci-linux-openSUSE-15.4-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-openSUSE-15.4-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..1f7a3044
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-openSUSE-15.4-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,42 @@
+### OpenSUSE Leap 15.4 ###
+## KDE ##
+## In qtci-linux-openSUSE-15.4-x86_64-50 > Graphics Platform: X11 (System default) ##
+## In qtci-linux-openSUSE-15.4-x86_64-51 > Graphics Platform: Wayland (Plasma (Wayland))##
+
+# Installation #
+Language: English (US)
+Keyboard Layout: English (US)
+
+Activate online repositories during installation (yes)
+Use default selections
+
+Desktop with KDE Plasma
+
+Suggested Partitioning - default values
+
+Time Zone: UTC
+
+## Configurations ##
+Download and run coin-setup binary
+YaST - System - Services Manager - Firewalld - Stop
+# enable ssh access
+sudo rcsshd start
+Workspace Behavior - Screen locking - Lock screen automatically - unselect options
+Startup and Shutdown - Behavior - Login Screen - Select Automatically log in with session (System default)
+Add below to '$HOME/.config/autostart/coin-bootstrap-agent.desktop'
+ [Desktop Entry]
+ Type=Application
+ Exec=/usr/bin/gnome-terminal -e "/home/qt/bootstrap-agent /dev/ttyS0"
+ Hidden=false
+ X-GNOME-Autostart-enabled=true
+ Name=Coin
+Notifications
+ Critical notifications - unselect
+ Log priority notifications - unselect
+ Application progress: Show in task manager - unselect
+ Show in notifications - unselect
+ Notification badges: Show in task manager - unselect
+Display and Monitor - Display Configuration - 1280x800
+Power Management: Screen Energy Saving - unselect
+
+add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
diff --git a/coin/pre-provisioning/qtci-linux-openSUSE-15.5-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-openSUSE-15.5-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..98f6b047
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-openSUSE-15.5-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,35 @@
+### OpenSUSE Leap 15.5 ###
+## KDE ##
+## In qtci-linux-openSUSE-15.5-x86_64-52 > Graphics Platform: X11 (System default) ##
+
+# Installation #
+Language: English (US)
+Keyboard Layout: English (US)
+
+Activate online repositories during installation (yes)
+Use default selections
+
+Desktop with KDE Plasma
+
+Suggested Partitioning - default values
+
+Time Zone: UTC
+
+## Configurations ##
+Before coin-setup add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt
+Download and run coin-setup binary - http://10.215.100.35/coin/binary/linux_amd64/coin-setup
+- If IP has changed and Coin name not visible to VM, check from Coin logs which IP works for VMs
+Workspace Behavior - Screen locking - Lock screen automatically - unselect options
+Startup and Shutdown - Behavior - Login Screen - Select Automatically log in with session (System default)
+Notifications
+ Critical notifications - unselect
+ Low priority notifications - unselect
+ Application progress: Show in task manager - unselect
+ Show in notifications - unselect
+ Notification badges: Show in task manager - unselect
+Display and Monitor - Display Configuration - 1280x800
+Power Management: Screen Energy Saving - unselect
+ Suspend Session - unselect
+YaST - Hardware - Sound - Add Dummy soundcard
+
+Reboot
diff --git a/coin/pre-provisioning/qtci-macos-10.15-x86_64/README b/coin/pre-provisioning/qtci-macos-10.15-x86_64/README
new file mode 100644
index 00000000..82525162
--- /dev/null
+++ b/coin/pre-provisioning/qtci-macos-10.15-x86_64/README
@@ -0,0 +1,7 @@
+Add accessibility settings:
+/Volumes/Macintosh\ HD/usr/bin/sqlite3 "/Volumes/Macintosh HD/Library/Application Support/com.apple.TCC/TCC.db" <<"EOF"
+insert into access (service,client,client_type,allowed,prompt_count,indirect_object_identifier,flags,last_modified) values ("kTCCServiceAccessibility","com.froglogic.squish.ide.product",0,1,1,"UNSEEN",0,1612871478)
+
+insert into access (service,client,client_type,allowed,prompt_count,indirect_object_identifier,flags,last_modified) values ("kTCCServiceAccessibility","/Users/qt/bootstrap-agent",1,1,1,"UNSEEN",0,1612871478);
+EOF
+
diff --git a/coin/pre-provisioning/qtci-macos-11.0-x86_64/README b/coin/pre-provisioning/qtci-macos-11.0-x86_64/README
new file mode 100644
index 00000000..6713914d
--- /dev/null
+++ b/coin/pre-provisioning/qtci-macos-11.0-x86_64/README
@@ -0,0 +1,8 @@
+Add accessibility settings:
+/Volumes/Macintosh\ HD/usr/bin/sqlite3 "/Volumes/Macintosh HD/Library/Application Support/com.apple.TCC/TCC.db" <<"EOF"{{insert into access (service,client,client_type,auth_value,auth_reason,auth_version,indirect_object_identifier_type,indirect_object_code_identity,last_modified) values }}
+('kTCCServiceAccessibility','com.froglogic.squish.ide.product',0,2,4,1,0,0,1612867994);
+
+{{insert into access (service,client,client_type,auth_value,auth_reason,auth_version,indirect_object_identifier_type,indirect_object_code_identity,last_modified) values }}
+('kTCCServiceAccessibility','/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/jre/bin/java',1,2,4,1,0,0,1612867994);
+
+EOF
diff --git a/coin/pre-provisioning/qtci-macos-12.0-x86_64/README b/coin/pre-provisioning/qtci-macos-12.0-x86_64/README
new file mode 100644
index 00000000..6aee519f
--- /dev/null
+++ b/coin/pre-provisioning/qtci-macos-12.0-x86_64/README
@@ -0,0 +1,38 @@
+# List of manual pre-installation steps for Tier1 image creation
+
+* Open KVM connection to Intel mac Parallels host
+ - Open Parallels :: create new VM :: select macOS :: Install
+ - Check first boot settings from infratools repository mac instructions
+ - Upgrade OS if needed
+* Modify OS settings / check these from infratools again
+* Install Parallels tools
+* Enable Terminal full access
+* Run these two commands in local Terminal:
+
+ sudo /usr/bin/sqlite3 "/Users/qt/Library/Application Support/com.apple.TCC/TCC.db" "insert into access (service,client,client_type,auth_value,auth_reason,auth_version,indirect_object_identifier_type,indirect_object_code_identity,last_modified) values
+ ('kTCCServiceAccessibility','com.froglogic.squish.ide.product',0,2,4,1,0,0,1612867994);"
+
+ sudo /usr/bin/sqlite3 "/Users/qt/Library/Application Support/com.apple.TCC/TCC.db" "insert into access (service,client,client_type,auth_value,auth_reason,auth_version,indirect_object_identifier_type,indirect_object_code_identity,last_modified) values
+ ('kTCCServiceAccessibility','/Library/Java/JavaVirtualMachines/jdk1.8.0_102.jdk/Contents/Home/jre/bin/java',1,2,4,1,0,0,1612867994);"
+
+* Download and run coin setup binaries from http://coin/coin/setup
+ - Check /Users/qt folder for bootstrap agent
+* Create /etc/sudoers.d/qt with a line of qt ALL=(ALL) NOPASSWD: ALL
+* Poweroff VM
+* Enlarge disk space
+ - Parallels Control center :: VM settings :: Hardware :: Hard Disk :: 300GB
+ - Start VM and use Disk Utility to enlarge disk space into use
+* Poweroff VM
+* Go to /Users/qt/Parallels/<created VM>/harddisk.hdd folder in the Intel mac host
+ - Copy its content to Tier1 folder
+* Copy Tier1 folder to 101 NFS
+ - Check folder access rights
+
+# How to upgrade existing Tier1 image
+
+* Open KVM connection to Intel mac Parallels host
+ - Open Parallels :: create new VM :: select macOS :: start installation but then stop it when machine boots to recovery mode
+* You should now have a virtual machine folder in /Users/qt/Parallels/<VM folder>
+* Remove files from <VM folder>/harddisk.hdd/ and copy Tier1 VM files from NFS to <VM folder>/harddisk.hdd/
+* Start the virtual machine and make needed changes
+* Copy <VM folder>/harddisk.hdd to NFS with updated number in its name
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/06-msvc_2017_build_tools.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/06-msvc_2017_build_tools.ps1
deleted file mode 100644
index 0c00ba71..00000000
--- a/coin/pre-provisioning/qtci-windows-10-x86/06-msvc_2017_build_tools.ps1
+++ /dev/null
@@ -1,48 +0,0 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-. "$PSScriptRoot\..\common\helpers.ps1"
-
-# This script will install Visual Studio 2017 Build Tools
-# https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017
-
-$version = "2017_version_15.0"
-$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/mu_build_tools_for_visual_studio_" + $version + "_x86_x64_10254482.exe"
-$sha1 = "a31e099e5114fef80a21654689e6864afc544a16"
-$msvcPackage = "C:\Windows\Temp\$version.exe"
-
-Download $url_cache $url_cache $msvcPackage
-Verify-Checksum $msvcPackage $sha1
-cmd /c "$msvcPackage --all --passive --wait"
-echo "Cleaning $msvcPackage.."
-Remove-Item -Recurse -Force "$msvcPackage"
-echo "Visual Studio Build Tools = $version" >> ~\versions.txt
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-windows-10-x86/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..0099b600
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,47 @@
+CPU 4G
+Memory: 4G
+Hard disk: 250G
+Network: CI_NW
+Video Card - total memory: 32MB
+
+VM Options:
+Boot options/Firmware: BIOS
+
+Language: English US
+Time and currency format: Finnish (Finland)
+Keyboard: Finnish
+Windows 10 Enterprise
+Region: Finland
+Default keyboard layout: English (United States)
+
+* VMware tools (complete) installed
+* Resolution set to 1280x800
+* Coin-setup:
+ - Installing Boostrap agent
+ - Disabling fast boot
+ - Disabling firewall
+ - Disabling UAC
+ - Enabling autologin
+ - Automatic login
+ - Disabling windows updates
+* Enable 'Allow remote connections to this computer'
+* Windows Defender Antivirus turned off: Open 'gpedit.msc': 'Computer Configuration' - 'Administrative Templates' - 'Windows Components' - 'Windows Defender Antivirus'
+ - Edit 'Turn off Windows Defender Antivirus' > 'Enabled' > 'Apply' * Background defrag disabled: 'defragment and optimize drives' - 'change settings' - unchecked "run on a schedule" * Background defrag disabled: 'defragment
+ NOTE! Without this step windows defender can't be disabled!
+* 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 zone: Coordinated Universal Time
+* Windows search disabled: 'Control Panel\System and Security\Administrative Tools\Services' - 'Windows search' - stop & disable
+* Sysmain disabled: 'Control Panel\System and Security\Administrative Tools\Services' - 'SysMain' - stop & disable
+* Power saver disabled: Open 'Power & sleep' and set 'Screen' to 'never'
+* Turn windows features on or off -> Check the "SMB 1.0/CIFS File Sharing Support
+* Google Chrome installed for RTA
+* Turn off Virus & threat protection (all sections) manually. Without this step windows defender can't be disabled!
+ - Real-tiem protection -> off
+ - Cloud-delivered protection -> off
+ - Automatic sample submission -> off
+ - Tamper protection -> off
+* Activate Windows
+* Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
+* REBOOT the VM
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/disable-defragment.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-defragment.ps1
new file mode 100644
index 00000000..bb449e56
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/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-10-x86/disable-ntp.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-ntp.ps1
new file mode 100644
index 00000000..22651763
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/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-10-x86/disable-schedule-tasks.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-schedule-tasks.ps1
new file mode 100644
index 00000000..1febd88c
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/disable-schedule-tasks.ps1
@@ -0,0 +1,88 @@
+. "$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"
+
+# SettingSync 'BackgroundUploadTask'
+DeleteSchedulerTask "SettingSync\BackgroundUploadTask"
+
+# SoftwareProtectionPlatform 'SvcRestartTask' - "This task restarts the Software Protection Platform service at the specified time"
+DeleteSchedulerTask "SoftwareProtectionPlatform\SvcRestartTask"
+
+# SoftwareProtectionPlatform 'SvcRestartTaskLogon' - "This task restarts the Software Protection Platform service at the specified time"
+DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskLogon"
+
+# SoftwareProtectionPlatform 'SvcRestartTaskNetwork' - "This task restarts the Software Protection Platform service when a new network is detected"
+DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskNetwork"
+
+# UNP 'RunUpdateNotificationMgr'
+DeleteSchedulerTask "UNP\RunUpdateNotificationMgr"
+
+
+
+
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/disable-update-orchestrator.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-update-orchestrator.ps1
new file mode 100644
index 00000000..5ae8fb0d
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/disable-update-orchestrator.ps1
@@ -0,0 +1,16 @@
+# Disable UpdateOrchestrator
+
+$name = "UpdateOrchestrator"
+$path = "C:\Windows\System32\Tasks\Microsoft\Windows\$name"
+
+takeown /F $path /A /R
+icacls $path /grant Administrators:F /T
+SCHTASKS /Change /TN "Microsoft\Windows\$name\Reboot" /DISABLE
+del "$path\Schedule Scan"
+del "$path\Schedule Scan Static Task"
+del "$path\Backup Scan"
+del "$path\UpdateModelTask"
+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-10-x86/disable-windefender.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-windefender.ps1
new file mode 100644
index 00000000..04130db0
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/disable-windefender.ps1
@@ -0,0 +1,33 @@
+# 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
+
+# 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"
+
+# 'Windows Defender Cache Maintenance' - "Periodic maintenance task."
+DisableSchedulerTask "Windows Defender\Windows Defender Cache Maintenance"
+
+# 'Windows Defender Cleanup' - "Periodic cleanup task."
+DisableSchedulerTask "Windows Defender\Windows Defender Cleanup"
+
+# 'Windows Defender Scheduled Scan' - "Periodic scan task."
+DisableSchedulerTask "Windows Defender\Windows Defender Scheduled Scan"
+
+# 'Windows Defender Verification' - "Periodic verification task."
+DisableSchedulerTask "Windows Defender\Windows Defender Verification"
+
+# 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-10-x86/disable-windows-file-protector.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-windows-file-protector.ps1
new file mode 100644
index 00000000..f1d09fb5
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/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-10-x86/disable-windows-update-medic.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-windows-update-medic.ps1
new file mode 100644
index 00000000..6accbd3b
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/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-10-x86/disable-windows-updates.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/disable-windows-updates.ps1
new file mode 100644
index 00000000..62e19814
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/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-10-x86/msvc2015.txt b/coin/pre-provisioning/qtci-windows-10-x86/msvc2015.txt
new file mode 100644
index 00000000..41b8858d
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/msvc2015.txt
@@ -0,0 +1,14 @@
+# Install visual studio 2015
+
+version = "2015 update 3"
+installer = "http://ci-files01-hki.ci.qt.io/input/windows/en_visual_studio_professional_2015_x86_x64_web_installer_6846650.exe"
+# Select default values
+# Make sure these are selected:
+ * All values from 'Universal Windows App Development Tools'
+ * 'Visual C++'
+ * 'Common Tools for Visual C++ 2015'
+ * 'Windows XP Support for C++'
+ * 'Common Tools and Software Development Kits'
+ * 'Android Native Development Kit (R11C, 32 bits)
+ * 'Apache Ant (1.9.3)
+
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/msvc2015_update.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/msvc2015_update.ps1
deleted file mode 100644
index 2ad479c8..00000000
--- a/coin/pre-provisioning/qtci-windows-10-x86/msvc2015_update.ps1
+++ /dev/null
@@ -1,58 +0,0 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-. "$PSScriptRoot\..\..\provisioning\common\helpers.ps1"
-
-# Install Visual Studio $version with $update_version
-# Original download page: https://www.visualstudio.com/en-us/news/releasenotes/vs2015-update3-vs
-$version = "2015"
-$update_version = "3"
-
-# Only way to install specific Visual studio release is to use feed.xml.
-# Visual Studio $version setup will use the feed.xml that was available when $update_version released -> 'https://msdn.microsoft.com/en-us/library/mt653628.aspx'
-# These parameters will install Visual Studio Enterprise Update $update_version (the original Update $update_version without any further Update $update_version-era updates)
-$parameters = "/OverrideFeedURI http://download.microsoft.com/download/6/B/B/6BBD3561-D764-4F39-AB8E-05356A122545/20160628.2/enu/feed.xml"
-
-$msvc_web_installer = "vs" + $version + "_" + $update_version
-$package = "C:\Windows\temp\$msvc_web_installer.exe"
-$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/$msvc_web_installer.exe"
-$url_official = "https://go.microsoft.com/fwlink/?LinkId=691129"
-$sha1 = "68abf90424aff604a04d6c61fb52adcd2cab2266"
-
-echo "Fetching Visual Studio $version update $update_version..."
-Download $url_official $url_cache $package
-Verify-Checksum $package $sha1
-echo "Installing Visual studio $version update $update_version..."
-cmd /c "$package $parameters /norestart /Quiet"
-remove-item $package
-
-echo "Visual Studio = $version update $update_version" >> ~\versions.txt
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.ps1 b/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.ps1
deleted file mode 100644
index cf00ee88..00000000
--- a/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.ps1
+++ /dev/null
@@ -1,49 +0,0 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-. "$PSScriptRoot\..\common\helpers.ps1"
-
-# This script will install Visual Studio 2017
-
-$version = "2017"
-$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/mu_visual_studio_professional_" + $version + "_x86_x64_10049787.exe"
-$sha1 = "8d678d27735018a99dc22ddb5412e4e6868991ae"
-$msvcPackage = "C:\Windows\Temp\$version.exe"
-
-
-Download $url_cache $url_cache $msvcPackage
-Verify-Checksum $msvcPackage $sha1
-cmd /c "$msvcPackage --all --norestart --quiet --wait --add Microsoft.VisualStudio.Component.VC.Tools.ARM"
-echo "Cleaning $msvcPackage.."
-Remove-Item -Recurse -Force "$msvcPackage"
-echo "Visual Studio = $version" >> ~\versions.txt
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.txt b/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.txt
new file mode 100644
index 00000000..12b4df21
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/msvc2017.txt
@@ -0,0 +1,61 @@
+# 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
+
+# Visual Studio $version version $version_number was installed manually using $installer.
+
+$version = "2017"
+# Current version was manually upgraded from the installer
+$version_number = "15.9.21"
+$installer = "http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__1312218103.1526017942.exe"
+
+# Following components were selected from installer:
+# Microsoft.Net.Component.4.5.TargetingPack (.NET Framework 4.5 targeting pack)
+# Microsoft.Net.Component.4.6.1.SDK (.NET Framework 4.6.1 SDK)
+# Microsoft.Component.NetFX.Native (.NET Native)
+# Microsoft.VisualStudio.Component.PortableLibrary (.NET Portable Library targeting pack)
+# Microsoft.VisualStudio.Component.SQL.CLR (CLR data types for SQL Server)
+# Microsoft.VisualStudio.Component.VisualStudioData (Data sources and service references)
+# Microsoft.Component.ClickOnce (ClickOnce Publishing)
+# Microsoft.VisualStudio.Component.AppInsights.Tools (Developer Analytics tools)
+# Microsoft.VisualStudio.Component.NuGet (NuGet package manager)
+# Microsoft.VisualStudio.Component.Static.Analysis.Tools (Static analysis tools)
+# Microsoft.VisualStudio.Component.TextTemplating (Text Template Transformation)
+# Microsoft.VisualStudio.Component.Roslyn.Compiler (C# and Visual Basic Roslyn compilers)
+# Microsoft.Component.MSBuild (MSBuild)
+# Microsoft.VisualStudio.Component.VC.Tools.x86.x64 (VC++ 2017 version 15.9 v14.16 latest v141 tools)
+# Microsoft.VisualStudio.Component.VC.Redist.14.Latest (Visual C++ 2017 Redistributable Update)
+# Microsoft.VisualStudio.Component.VC.Tools.ARM (Visual C++ compilers and libraries for ARM)
+# Microsoft.VisualStudio.Component.VC.Tools.ARM64 (Visual C++ compilers and libraries for ARM64)
+# Microsoft.VisualStudio.Component.VC.CMake.Project (Visual C++ tools for CMake)
+# Microsoft.VisualStudio.Component.DiagnosticTools (.NET profiling tools)
+# Microsoft.VisualStudio.Component.VC.DiagnosticTools (C++ profiling tools)
+# Microsoft.VisualStudio.Component.JavaScript.Diagnostics (JavaScript diagnostics)
+# Microsoft.VisualStudio.Component.Debugger.JustInTime (Just-In-Time debugger)
+# Microsoft.VisualStudio.Component.Roslyn.LanguageServices (C# and Visual Basic)
+# Microsoft.VisualStudio.Component.JavaScript.TypeScript (JavaScript and TypeScript language support)
+# Component.Microsoft.VisualStudio.RazorExtension (Razor Language Services)
+# Component.Linux.CMake (Visual C++ tools for CMake and Linux)
+# Microsoft.VisualStudio.Component.VC.CoreIde (Visual Studio C++ core features)
+# Microsoft.VisualStudio.Component.Graphics.Tools (Graphics debugger and GPU profiler for DirectX)
+# Microsoft.VisualStudio.Component.Graphics (Image and 3D model editors)
+# Microsoft.VisualStudio.Component.Graphics.Win81 (Graphics Tools Windows 8.1 SDK)
+# Microsoft.VisualStudio.Component.TypeScript.2.3 (TypeScript 2.3 SDK)
+# Microsoft.VisualStudio.Component.TypeScript.3.0 (TypeScript 3.0 SDK)
+# Microsoft.VisualStudio.Component.TypeScript.3.0 (TypeScript 3.1 SDK)
+# Microsoft.VisualStudio.Component.VC.ATL (Visual C++ ATL for x86 and x64)
+# Microsoft.VisualStudio.Component.Windows10SDK.10240 (Windows 10 SDK (10.0.10240.0))
+# Microsoft.VisualStudio.Component.Windows10SDK.10586 (Windows 10 SDK (10.0.10586.0))
+# Microsoft.VisualStudio.Component.Windows10SDK.14393 (Windows 10 SDK (10.0.14393.0))
+# Microsoft.VisualStudio.Component.Windows10SDK.15063.Desktop (Windows 10 SDK (10.0.15063.0) for Desktop C++ [x86 and x64])
+# Microsoft.VisualStudio.Component.Windows10SDK.15063.UWP (Windows 10 SDK (10.0.15063.0) for UWP: C#, VB, JS)
+# Microsoft.VisualStudio.Component.Windows10SDK.15063.UWP.Native (Windows 10 SDK (10.0.15063.0) for UWP: C++)
+# Microsoft.VisualStudio.Component.Windows10SDK.16299.Desktop (Windows 10 SDK (10.0.16299.0) for Desktop C++ [x86 and x64])
+# Microsoft.VisualStudio.Component.Windows10SDK.16299.UWP (Windows 10 SDK (10.0.16299.0) for UWP: C#, VB, JS)
+# Microsoft.VisualStudio.Component.Windows10SDK.16299.UWP.Native (Windows 10 SDK (10.0.16299.0) for UWP: C++)
+# Microsoft.VisualStudio.Component.Windows10SDK.16299.Desktop.arm (Windows 10 SDK (10.0.16299.0) for Desktop C++ [ARM and ARM64])
+# Microsoft.VisualStudio.Component.Windows10SDK.17134 (Windows 10 SDK (10.0.17134.0))
+# Microsoft.VisualStudio.Component.Windows10SDK.17763 (Windows 10 SDK (10.0.17763.0))
+
+# NOTE! Work loads were added during installation!
+
+echo "Visual Studio = $version version version_number" >> ~\versions.txt
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/msvc2017_build_tools.txt b/coin/pre-provisioning/qtci-windows-10-x86/msvc2017_build_tools.txt
new file mode 100644
index 00000000..a7907f59
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/msvc2017_build_tools.txt
@@ -0,0 +1,10 @@
+# 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
+. "$PSScriptRoot\..\common\helpers.ps1"
+
+# Install Visual Studio 2017 Build Tools
+# Install both build tools: Visual C++ and Web development
+# https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017
+
+$url_internal = https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017
+$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/mu_build_tools_for_visual_studio_2017_version_15.0_x86_x64_10254482.exe"
diff --git a/coin/pre-provisioning/qtci-windows-10-x86/msvc2019.txt b/coin/pre-provisioning/qtci-windows-10-x86/msvc2019.txt
new file mode 100644
index 00000000..9d612c9a
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86/msvc2019.txt
@@ -0,0 +1,69 @@
+# Visual Studio $version version $version_number was installed manually using $installer.
+
+$version = "2019"
+# Current version was manually upgraded from the installer
+$version_number = "16.4.6"
+$installer = "http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__505064367.1547034421.exe"
+
+MSVC 2019 build tools (default installation, no additional selections).
+ * Install after MSVC2019 is installed!
+ * Installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_buildtools__251503345.1575372514.exe"
+ * Version: 16.4.6
+
+Installed MSVC-2019 Components:
+
+.NET Framework 4.5 targeting pack
+.NET Framework 4.5.1 targeting pack
+.NET Framework 4.5.2 targeting pack
+.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.7.2 SDK
+.NET Framework 4.7.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 ADAL runtime
+SQL Server Command Linne Utilities
+SQL Server Data Tools
+SQL Server Express 2016 LocalDB
+SQL Server ODBC Driver
+ClickOnce Publishing
+Developer Analytics tools
+NuGet package manager
+Text Template Transformation
+C# and Visual Basic Roslyn compilers
+C++ 2019 Redistributable Update
+C++ Cmake tools for Windows
+C++/CLI support for v142 build tools /14.24)
+MSBuild
+MSVC v142 - VS 2019 C++ ARM build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM build tools (v14.24)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.24)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.20)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.24)
+.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 v142 build tools (x86 & x64)
+TypeScript 3.7 SDK
+Windows 10 SDK (10.0.16299.0)
+Windows 10 SDK (10.0.17134.0)
+Windows 10 SDK (10.0.17763.0)
+Windows 10 SDK (10.0.18362.0)
+
+# NOTE! Work loads were added during installation!
+
diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-enable-dotnet-framework.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/01-enable-dotnet-framework.ps1
index e7f4c248..e7f4c248 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/02-enable-dotnet-framework.ps1
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/01-enable-dotnet-framework.ps1
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/06-msvc_2017_build_tools.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/06-msvc_2017_build_tools.ps1
deleted file mode 100644
index 0c00ba71..00000000
--- a/coin/pre-provisioning/qtci-windows-10-x86_64/06-msvc_2017_build_tools.ps1
+++ /dev/null
@@ -1,48 +0,0 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-. "$PSScriptRoot\..\common\helpers.ps1"
-
-# This script will install Visual Studio 2017 Build Tools
-# https://www.visualstudio.com/downloads/#build-tools-for-visual-studio-2017
-
-$version = "2017_version_15.0"
-$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/mu_build_tools_for_visual_studio_" + $version + "_x86_x64_10254482.exe"
-$sha1 = "a31e099e5114fef80a21654689e6864afc544a16"
-$msvcPackage = "C:\Windows\Temp\$version.exe"
-
-Download $url_cache $url_cache $msvcPackage
-Verify-Checksum $msvcPackage $sha1
-cmd /c "$msvcPackage --all --passive --wait"
-echo "Cleaning $msvcPackage.."
-Remove-Item -Recurse -Force "$msvcPackage"
-echo "Visual Studio Build Tools = $version" >> ~\versions.txt
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-windows-10-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..0b0c89fd
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,52 @@
+# List about manual pre-installations to Tier1 image:
+
+VM Options:
+Boot options/Firmware: BIOS
+
+Language to install: English UK
+Time and currency format: English UK
+Keyboard or input method: United Kingdom
+location: finnish
+Windows 10 Enterprise
+Region: Finland
+Keyboard layout: United Kingdom
+
+* Don't use online speech recognition
+* Let Microsoft and apps use your location: no
+* Find my devicer: no
+* Send diagnostic data to Microsoft: Send required diagnostic data
+* Imporve inking & typing: no
+* Get tailored expreriences with diagnostic data: no
+* Let apps use advertising ID: no
+
+* VMware tools (complete) installed
+* Resolution set to 1280x800
+* Coin-setup:
+ - Installing Boostrap agent
+ - Disabling fast boot
+ - Disabling firewall
+ - Disabling UAC
+ - Enabling autologin
+ - Automatic login
+ - Disabling windows updates
+* 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'
+ - NOTE! Without this step windows defender can't be disabled!
+* Remote connections allowed:
+ - Enable Remote Desktop
+* 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 zone: 'Co-ordinated Universal Time'
+* Windows search disabled: 'Control Panel\System and Security\Administrative Tools\Services' - 'Windows search' - stop & disable
+* Sysmain disabled: 'Control Panel\System and Security\Administrative Tools\Services' - 'SysMain' - stop & disable
+* Power saver disabled: Open 'Power & sleep settings'
+ - set 'Screen' to 'never'
+ - set 'Sleep' to 'never'
+* 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
+* From 'Region Settings'
+ * Set Regional format: English (United States)
+* Activate Windows
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/disable-clean-manager.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-clean-manager.ps1
new file mode 100644
index 00000000..45ce141f
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/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-10-x86_64/disable-defragment.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-defragment.ps1
new file mode 100644
index 00000000..bb449e56
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/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-10-x86_64/disable-ntp.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-ntp.ps1
new file mode 100644
index 00000000..22651763
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/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-10-x86_64/disable-schedule-tasks.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-schedule-tasks.ps1
new file mode 100644
index 00000000..1febd88c
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-schedule-tasks.ps1
@@ -0,0 +1,88 @@
+. "$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"
+
+# SettingSync 'BackgroundUploadTask'
+DeleteSchedulerTask "SettingSync\BackgroundUploadTask"
+
+# SoftwareProtectionPlatform 'SvcRestartTask' - "This task restarts the Software Protection Platform service at the specified time"
+DeleteSchedulerTask "SoftwareProtectionPlatform\SvcRestartTask"
+
+# SoftwareProtectionPlatform 'SvcRestartTaskLogon' - "This task restarts the Software Protection Platform service at the specified time"
+DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskLogon"
+
+# SoftwareProtectionPlatform 'SvcRestartTaskNetwork' - "This task restarts the Software Protection Platform service when a new network is detected"
+DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskNetwork"
+
+# UNP 'RunUpdateNotificationMgr'
+DeleteSchedulerTask "UNP\RunUpdateNotificationMgr"
+
+
+
+
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/disable-update-orchestrator.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-update-orchestrator.ps1
new file mode 100644
index 00000000..1022c798
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-update-orchestrator.ps1
@@ -0,0 +1,14 @@
+# 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\UpdateModelTask"
+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-10-x86_64/disable-windefender.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windefender.ps1
new file mode 100644
index 00000000..17b30db0
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/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-10-x86_64/disable-windows-file-protector.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-file-protector.ps1
new file mode 100644
index 00000000..f1d09fb5
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/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-10-x86_64/disable-windows-update-medic.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-update-medic.ps1
new file mode 100644
index 00000000..6accbd3b
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/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-10-x86_64/disable-windows-updates.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/disable-windows-updates.ps1
new file mode 100644
index 00000000..62e19814
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/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-10-x86_64/msvc2015_update.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps1
deleted file mode 100644
index 2ad479c8..00000000
--- a/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.ps1
+++ /dev/null
@@ -1,58 +0,0 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-. "$PSScriptRoot\..\..\provisioning\common\helpers.ps1"
-
-# Install Visual Studio $version with $update_version
-# Original download page: https://www.visualstudio.com/en-us/news/releasenotes/vs2015-update3-vs
-$version = "2015"
-$update_version = "3"
-
-# Only way to install specific Visual studio release is to use feed.xml.
-# Visual Studio $version setup will use the feed.xml that was available when $update_version released -> 'https://msdn.microsoft.com/en-us/library/mt653628.aspx'
-# These parameters will install Visual Studio Enterprise Update $update_version (the original Update $update_version without any further Update $update_version-era updates)
-$parameters = "/OverrideFeedURI http://download.microsoft.com/download/6/B/B/6BBD3561-D764-4F39-AB8E-05356A122545/20160628.2/enu/feed.xml"
-
-$msvc_web_installer = "vs" + $version + "_" + $update_version
-$package = "C:\Windows\temp\$msvc_web_installer.exe"
-$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/$msvc_web_installer.exe"
-$url_official = "https://go.microsoft.com/fwlink/?LinkId=691129"
-$sha1 = "68abf90424aff604a04d6c61fb52adcd2cab2266"
-
-echo "Fetching Visual Studio $version update $update_version..."
-Download $url_official $url_cache $package
-Verify-Checksum $package $sha1
-echo "Installing Visual studio $version update $update_version..."
-cmd /c "$package $parameters /norestart /Quiet"
-remove-item $package
-
-echo "Visual Studio = $version update $update_version" >> ~\versions.txt
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.txt b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.txt
new file mode 100644
index 00000000..8ee31abf
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2015_update.txt
@@ -0,0 +1,18 @@
+# Visual Studio $version was installed manually using $installer.
+$version = "2015 update 3"
+$version_number ="14.0.25420.1"
+$installer = "en_visual_studio_professional_2015_with_update_3_x86_x64_web_installer_8922978.exe"
+
+# default plus following components were selected:
+# * Programming Languages
+# * Visual C++
+# - Common Tools for Visual C++ 2015
+# * Universal Windows App Development Tools
+# - Tools (1.4.1) and Windows SDK (10.0.14393)
+# - Windows 10 SDK (10.0.10586)
+# - Windows 10 SDK (10.0.10240)
+# * Common Tools
+# -Visual Studio Extensibility Tools Update 3
+
+# NOTE! Windows SDK 10.0.14393 installation failed through visual studio installer so it was installed using $sdk_installer
+$sdk_installer = "http://ci-files01-hki.ci.qt.io/input/windows/sdksetup.exe"
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2017.ps1 b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2017.ps1
deleted file mode 100644
index cf00ee88..00000000
--- a/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2017.ps1
+++ /dev/null
@@ -1,49 +0,0 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-. "$PSScriptRoot\..\common\helpers.ps1"
-
-# This script will install Visual Studio 2017
-
-$version = "2017"
-$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/mu_visual_studio_professional_" + $version + "_x86_x64_10049787.exe"
-$sha1 = "8d678d27735018a99dc22ddb5412e4e6868991ae"
-$msvcPackage = "C:\Windows\Temp\$version.exe"
-
-
-Download $url_cache $url_cache $msvcPackage
-Verify-Checksum $msvcPackage $sha1
-cmd /c "$msvcPackage --all --norestart --quiet --wait --add Microsoft.VisualStudio.Component.VC.Tools.ARM"
-echo "Cleaning $msvcPackage.."
-Remove-Item -Recurse -Force "$msvcPackage"
-echo "Visual Studio = $version" >> ~\versions.txt
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2019.txt b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2019.txt
new file mode 100644
index 00000000..b9713a49
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/msvc2019.txt
@@ -0,0 +1,70 @@
+# Visual Studio $version version $version_number was installed manually using $installer.
+
+$version = "2019"
+# Current version was manually upgraded from the installer
+$version_number = "16.8.1"
+$installer = "http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__505064367.1547034421.exe"
+
+MSVC 2019 build tools (default installation, no additional selections).
+ * Install after MSVC2019 is installed!
+ * Installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_buildtools__251503345.1575372514.exe"
+ * Version: 16.8.1
+
+Installed MSVC-2019 Components:
+
+.NET Framework 4.5 targeting pack
+.NET Framework 4.5.1 targeting pack
+.NET Framework 4.5.2 targeting pack
+.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.7.2 SDK
+.NET Framework 4.7.2 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 ADAL runtime
+SQL Server Command Linne Utilities
+SQL Server Data Tools
+SQL Server Express 2016 LocalDB
+SQL Server ODBC Driver
+ClickOnce Publishing
+Developer Analytics tools
+NuGet package manager
+Text Template Transformation
+C# and Visual Basic Roslyn compilers
+C++ 2019 Redistributable Update
+C++ Cmake tools for Windows
+C++/CLI support for v142 build tools /14.28)
+MSBuild
+MSVC v142 - VS 2019 C++ ARM build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM build tools (v14.28)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.26)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.20)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.26)
+.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 v142 build tools (x86 & x64)
+TypeScript 4.0 SDK
+Windows 10 SDK (10.0.16299.0)
+Windows 10 SDK (10.0.17134.0)
+Windows 10 SDK (10.0.17763.0)
+Windows 10 SDK (10.0.18362.0)
+Windows 10 SDK (10.0.19041.0)
+
+# NOTE! Work loads were added during installation!
+
+* Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
diff --git a/coin/pre-provisioning/qtci-windows-10-x86_64/virtio.txt b/coin/pre-provisioning/qtci-windows-10-x86_64/virtio.txt
new file mode 100644
index 00000000..e6ec797d
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10-x86_64/virtio.txt
@@ -0,0 +1,31 @@
+Install virtio
+
+Our vanilla images are pre-installed in VMware where we have networking available. In KVM we can
+use the VMware installed vmxnet3 NIC to fetch VirtIO drivers, install them, and only then switch
+to using the VirtIO NIC in KVM.
+
+NOTE! Install these Virtio drivers in Opennebula when using Windows 10 20H2
+* Download https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.185-2/virtio-win-0.1.185.iso
+ cache: http://ci-files01-hki.ci.qt.io/input/windows/virtio/virtio-win-0.1.185.iso
+* Mount virtio-win-0.1.185.iso by double clicking it.
+* Right click 'E:\NetKVM\w10\amd64\netkvm.inf' and select Install
+* Right click 'E:\Balloon\w10\amd64\balloon.inf' and select Install
+* Right click 'E:\vioscsi\w10\amd64\vioscsi.inf' and select Install
+* Right click 'E:\vioserial\w10\amd64\vioser.inf' and select Install
+* Navigate to E:\guest-agent directory and double click qemu-ga-x86_64
+
+Because vioscsi does not install the entries in windows registry before we actually
+have a VirtIO device installed, and we can't boot with a VirtIO device before
+the driver is installed, we have to blindly install the registry entries:
+
+* Download https://bugreports.qt.io/secure/attachment/95685/95685_vioscsi.reg
+ cache: http://ci-files01-hki.ci.qt.io/input/windows/virtio/vioscsi.reg
+
+However, we've seen that the Owner in the registry can be wrong. This entry
+sets it to oem11.inf, but we've seen it be oem10.inf in one case and it has
+to be corrected so that it will boot from the VirtIO driver. This was found out
+by having 2 devices installed simultaneously and having the drivers install
+properly into the registry.
+
+* Eject the mounting
+* Remove downloaded virtio-win-0.1.171.iso
diff --git a/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/01-enable-dotnet-framework.ps1 b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/01-enable-dotnet-framework.ps1
new file mode 100644
index 00000000..e7f4c248
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/01-enable-dotnet-framework.ps1
@@ -0,0 +1,22 @@
+# The DirectX SDK installer requires .Net framework 3.5 which isn't installed
+# by default
+
+$netFeature = "NetFx3"
+try {
+ $netFeatureState = (Get-WindowsOptionalFeature -Online -FeatureName "$netFeature").State
+ if ($netFeatureState -eq "Enabled") {
+ Write-Host ".Net Framework is already installed"
+ exit 0
+ }
+} catch {
+ Write-Host "Could not find .Net Framework Windows feature."
+ exit 1
+}
+
+Write-Host "Installing .Net Framework client"
+try {
+ Enable-WindowsOptionalFeature -Online -FeatureName "$netFeature" -All -NoRestart
+} catch {
+ Write-Host "Could not install .Net framework"
+ exit 1
+}
diff --git a/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..4251072d
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,53 @@
+# List about manual pre-installations to Tier1 image:
+
+VM Options:
+Boot options/Firmware: BIOS
+
+Language to install: English UK
+Time and currency format: English UK
+Keyboard or input method: United Kingdom
+location: finnish
+Windows 10 Enterprise
+Region: Finland
+Keyboard layout: United Kingdom
+
+* Let Microsoft and apps use your location: no
+* Find my devicer: no
+* Send diagnostic data to Microsoft: Send required diagnostic data
+* Imporve inking & typing: no
+* Get tailored expreriences with diagnostic data: no
+* Let apps use advertising ID: no
+
+* VMware tools (complete) installed
+* Resolution set to 1280x800
+* Coin-setup:
+ - Installing Boostrap agent
+ - Disabling fast boot
+ - Disabling firewall
+ - Disabling UAC
+ - Enabling autologin
+ - Automatic login
+ - Disabling windows updates
+* 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'
+ - NOTE! Without this step windows defender can't be disabled!
+* Remote connections allowed:
+ - Enable Remote Desktop
+* 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 zone: 'Co-ordinated Universal Time'
+* Windows search disabled: 'Control Panel\System and Security\Administrative Tools\Services' - 'Windows search' - stop & disable
+* Sysmain disabled: 'Control Panel\System and Security\Administrative Tools\Services' - 'SysMain' - stop & disable
+* Power saver disabled: Open 'Power & sleep settings'
+ - set 'Screen' to 'never'
+ - set 'Sleep' to 'never'
+* 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
+* From 'Region Settings'
+ * Set Regional format: English (United States)
+* Defragment and Optimize Drives
+ * Change settings - Uncheck "Run on schedule"
+* Activate Windows
diff --git a/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-clean-manager.ps1 b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-clean-manager.ps1
new file mode 100644
index 00000000..45ce141f
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/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-10_21H1-x86_64/disable-defragment.ps1 b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-defragment.ps1
new file mode 100644
index 00000000..bb449e56
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/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-10_21H1-x86_64/disable-ntp.ps1 b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-ntp.ps1
new file mode 100644
index 00000000..22651763
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/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-10_21H1-x86_64/disable-schedule-tasks.ps1 b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-schedule-tasks.ps1
new file mode 100644
index 00000000..666ec81e
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-schedule-tasks.ps1
@@ -0,0 +1,86 @@
+. "$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"
+
+# Ones below can't be found from Windows 10 21H1
+
+# SettingSync 'BackgroundUploadTask'
+# DeleteSchedulerTask "SettingSync\BackgroundUploadTask"
+
+# SoftwareProtectionPlatform 'SvcRestartTask' - "This task restarts the Software Protection Platform service at the specified time"
+# DeleteSchedulerTask "SoftwareProtectionPlatform\SvcRestartTask"
+
+# SoftwareProtectionPlatform 'SvcRestartTaskLogon' - "This task restarts the Software Protection Platform service at the specified time"
+# DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskLogon"
+
+# UNP 'RunUpdateNotificationMgr'
+# DeleteSchedulerTask "UNP\RunUpdateNotificationMgr"
diff --git a/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-update-orchestrator.ps1 b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-update-orchestrator.ps1
new file mode 100644
index 00000000..1022c798
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-update-orchestrator.ps1
@@ -0,0 +1,14 @@
+# 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\UpdateModelTask"
+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-10_21H1-x86_64/disable-windefender.ps1 b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-windefender.ps1
new file mode 100644
index 00000000..17b30db0
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/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-10_21H1-x86_64/disable-windows-file-protector.ps1 b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-windows-file-protector.ps1
new file mode 100644
index 00000000..f1d09fb5
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/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-10_21H1-x86_64/disable-windows-update-medic.ps1 b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-windows-update-medic.ps1
new file mode 100644
index 00000000..e8210ea3
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/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\WaaSMedicAgent.exe"
+
+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-10_21H1-x86_64/disable-windows-updates.ps1 b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/disable-windows-updates.ps1
new file mode 100644
index 00000000..62e19814
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/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-10_21H1-x86_64/msvc2015_update.txt b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/msvc2015_update.txt
new file mode 100644
index 00000000..5a730029
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/msvc2015_update.txt
@@ -0,0 +1,15 @@
+### Visual Studio 2015 ###
+Visual Studio 2015 version 14.0.25420.1 Update 3 was installed manually using ISO-image: http://ci-files01-hki.ci.qt.io/input/windows/en_visual_studio_professional_2015_with_update_3_x86_x64_dvd_8923272.iso
+(Mount the ISO-image by double clicking it and run 'vs_professional.exe')
+
+default plus following components were selected:
+* Programming Languages
+ * Visual C++
+ - Common Tools for Visual C++ 2015
+* Universal Windows App Development Tools
+ - Tools (1.4.1) and Windows SDK (10.0.14393)
+ - Windows 10 SDK (10.0.10586)
+ - Windows 10 SDK (10.0.10240)
+* Common Tools
+ -Visual Studio Extensibility Tools Update 3
+
diff --git a/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/msvc2019.txt b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/msvc2019.txt
new file mode 100644
index 00000000..107620c4
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/msvc2019.txt
@@ -0,0 +1,76 @@
+### Visual Studio 2019 ###
+Visual Studio 2019 version 16.11.2 was installed manually using installer: http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__505064367.1547034421.exe
+
+Installed MSVC-2019 Components:
+
+.NET Framework 4.5 targeting pack
+.NET Framework 4.5.1 targeting pack
+.NET Framework 4.5.2 targeting pack
+.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 ADAL runtime
+SQL Server Command Linne Utilities
+SQL Server Data Tools
+SQL Server Express 2016 LocalDB
+SQL Server ODBC Driver
+ClickOnce Publishing
+Developer Analytics tools
+NuGet package manager
+Text Template Transformation
+C# and Visual Basic Roslyn compilers
+C++ 2019 Redistributable Update
+C++ Cmake tools for Windows
+C++/CLI support for v142 build tools (14.29-16.10)
+MSBuild
+MSVC v142 - VS 2019 C++ ARM build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ ARM64 build tools (Latest)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.20)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ x64/x86 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 v142 build tools (ARM)
+C++ ATL for latest v142 build tools (ARM64)
+C++ ATL for latest v142 build tools (x86 & x64)
+TypeScript 4.3 SDK
+Windows 10 SDK (10.0.16299.0)
+Windows 10 SDK (10.0.17134.0)
+Windows 10 SDK (10.0.17763.0)
+Windows 10 SDK (10.0.18362.0)
+Windows 10 SDK (10.0.19041.0)
+Windows 10 SDK (10.0.20348.0)
+
+# NOTE! Work loads were added during installation!
+
+############################################################
+### Visual Studio 2019 build tools ###
+
+Visual studio 2019 build tools version 16.11.2 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_buildtools__251503345.1575372514.exe"
+ * Only default installation, no additional selections
+
+############################################################
+### Debugging tools ###
+
+* Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
+############################################################
diff --git a/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/msvc2020_preview.txt b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/msvc2020_preview.txt
new file mode 100644
index 00000000..18570631
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/msvc2020_preview.txt
@@ -0,0 +1,70 @@
+### Visual Studio 2022 Preview ###
+Visual Studio 2022 version 17.0.0 preview 3.1 was installed manually using installer: http://ci-files01-hki.ci.qt.io/input/windows/vs_professional_2022_preview.exe
+
+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 2017 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++ x64/x86 build tools (Latest)
+MSVC v143 - VS 2022 C++ x64/x86 build tools (v14.30-17.0)
+.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)
+C++ ATL for latest v143 build tools (x86 & x64)
+TypeScript Server
+Windows 10 SDK (10.0.18362.0)
+Windows 10 SDK (10.0.19041.0)
+Windows 10 SDK (10.0.20348.0)
+Windows Universal C Runtime
+
+# NOTE! Work loads were added during installation!
+
+############################################################
+### Visual Studio 2022 build tools ###
+
+Visual studio 2022 build tools version 17.0.0 preview 3.1 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_buildtools__msvc2022_preview.exe"
+ * Only default installation, no additional selections
+
+############################################################
+### Debugging tools ###
+
+* Check that debugging tools are installed
+ * Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
+############################################################
diff --git a/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/virtio.txt b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/virtio.txt
new file mode 100644
index 00000000..e6ec797d
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H1-x86_64/virtio.txt
@@ -0,0 +1,31 @@
+Install virtio
+
+Our vanilla images are pre-installed in VMware where we have networking available. In KVM we can
+use the VMware installed vmxnet3 NIC to fetch VirtIO drivers, install them, and only then switch
+to using the VirtIO NIC in KVM.
+
+NOTE! Install these Virtio drivers in Opennebula when using Windows 10 20H2
+* Download https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.185-2/virtio-win-0.1.185.iso
+ cache: http://ci-files01-hki.ci.qt.io/input/windows/virtio/virtio-win-0.1.185.iso
+* Mount virtio-win-0.1.185.iso by double clicking it.
+* Right click 'E:\NetKVM\w10\amd64\netkvm.inf' and select Install
+* Right click 'E:\Balloon\w10\amd64\balloon.inf' and select Install
+* Right click 'E:\vioscsi\w10\amd64\vioscsi.inf' and select Install
+* Right click 'E:\vioserial\w10\amd64\vioser.inf' and select Install
+* Navigate to E:\guest-agent directory and double click qemu-ga-x86_64
+
+Because vioscsi does not install the entries in windows registry before we actually
+have a VirtIO device installed, and we can't boot with a VirtIO device before
+the driver is installed, we have to blindly install the registry entries:
+
+* Download https://bugreports.qt.io/secure/attachment/95685/95685_vioscsi.reg
+ cache: http://ci-files01-hki.ci.qt.io/input/windows/virtio/vioscsi.reg
+
+However, we've seen that the Owner in the registry can be wrong. This entry
+sets it to oem11.inf, but we've seen it be oem10.inf in one case and it has
+to be corrected so that it will boot from the VirtIO driver. This was found out
+by having 2 devices installed simultaneously and having the drivers install
+properly into the registry.
+
+* Eject the mounting
+* Remove downloaded virtio-win-0.1.171.iso
diff --git a/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/01-enable-dotnet-framework.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/01-enable-dotnet-framework.ps1
new file mode 100644
index 00000000..e7f4c248
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/01-enable-dotnet-framework.ps1
@@ -0,0 +1,22 @@
+# The DirectX SDK installer requires .Net framework 3.5 which isn't installed
+# by default
+
+$netFeature = "NetFx3"
+try {
+ $netFeatureState = (Get-WindowsOptionalFeature -Online -FeatureName "$netFeature").State
+ if ($netFeatureState -eq "Enabled") {
+ Write-Host ".Net Framework is already installed"
+ exit 0
+ }
+} catch {
+ Write-Host "Could not find .Net Framework Windows feature."
+ exit 1
+}
+
+Write-Host "Installing .Net Framework client"
+try {
+ Enable-WindowsOptionalFeature -Online -FeatureName "$netFeature" -All -NoRestart
+} catch {
+ Write-Host "Could not install .Net framework"
+ exit 1
+}
diff --git a/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..6867aa76
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,51 @@
+# List about manual pre-installations to Tier1 image:
+
+VM Options:
+Boot options/Firmware: BIOS
+
+Language to install: English UK
+Time and currency format: English UK
+Keyboard or input method: United Kingdom
+location: finnish
+Windows 10 Enterprise
+Region: Finland
+Keyboard layout: United Kingdom
+
+* Let Microsoft and apps use your location: no
+* Find my devicer: no
+* Send diagnostic data to Microsoft: Send required diagnostic data
+* Imporve inking & typing: no
+* Get tailored expreriences with diagnostic data: no
+* Let apps use advertising ID: no
+
+* Resolution set to 1280x800
+* Coin-setup:
+ - Installing Boostrap agent
+ - Disabling fast boot
+ - Disabling firewall
+ - Disabling UAC
+ - Enabling autologin
+ - Automatic login
+ - Disabling windows updates
+* 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'
+ - NOTE! Without this step windows defender can't be disabled!
+* Remote connections allowed:
+ - Enable Remote Desktop
+* 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 zone: 'Co-ordinated Universal Time'
+* Windows search disabled: 'Control Panel\System and Security\Administrative Tools\Services' - 'Windows search' - stop & disable
+* Sysmain disabled: 'Control Panel\System and Security\Administrative Tools\Services' - 'SysMain' - stop & disable
+* Power saver disabled: Open 'Power & sleep settings'
+ - Power & sleep - Never
+* 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
+* From 'Region Settings'
+ * Set Regional format: English (United States)
+* Defragment and Optimize Drives
+ * Change settings - Uncheck "Run on schedule"
+* Activate Windows
diff --git a/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-clean-manager.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-clean-manager.ps1
new file mode 100644
index 00000000..45ce141f
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/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-10_21H2-x86_64/disable-defragment.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-defragment.ps1
new file mode 100644
index 00000000..bb449e56
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/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-10_21H2-x86_64/disable-ntp.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-ntp.ps1
new file mode 100644
index 00000000..22651763
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/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-10_21H2-x86_64/disable-schedule-tasks.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-schedule-tasks.ps1
new file mode 100644
index 00000000..666ec81e
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-schedule-tasks.ps1
@@ -0,0 +1,86 @@
+. "$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"
+
+# Ones below can't be found from Windows 10 21H1
+
+# SettingSync 'BackgroundUploadTask'
+# DeleteSchedulerTask "SettingSync\BackgroundUploadTask"
+
+# SoftwareProtectionPlatform 'SvcRestartTask' - "This task restarts the Software Protection Platform service at the specified time"
+# DeleteSchedulerTask "SoftwareProtectionPlatform\SvcRestartTask"
+
+# SoftwareProtectionPlatform 'SvcRestartTaskLogon' - "This task restarts the Software Protection Platform service at the specified time"
+# DisableSchedulerTask "SoftwareProtectionPlatform\SvcRestartTaskLogon"
+
+# UNP 'RunUpdateNotificationMgr'
+# DeleteSchedulerTask "UNP\RunUpdateNotificationMgr"
diff --git a/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-update-orchestrator.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-update-orchestrator.ps1
new file mode 100644
index 00000000..1022c798
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-update-orchestrator.ps1
@@ -0,0 +1,14 @@
+# 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\UpdateModelTask"
+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-10_21H2-x86_64/disable-windefender.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-windefender.ps1
new file mode 100644
index 00000000..17b30db0
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/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-10_21H2-x86_64/disable-windows-file-protector.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-windows-file-protector.ps1
new file mode 100644
index 00000000..f1d09fb5
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/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-10_21H2-x86_64/disable-windows-update-medic.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-windows-update-medic.ps1
new file mode 100644
index 00000000..e8210ea3
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/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\WaaSMedicAgent.exe"
+
+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-10_21H2-x86_64/disable-windows-updates.ps1 b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/disable-windows-updates.ps1
new file mode 100644
index 00000000..62e19814
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/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-10_21H2-x86_64/msvc2015_update.txt b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2015_update.txt
new file mode 100644
index 00000000..5a730029
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2015_update.txt
@@ -0,0 +1,15 @@
+### Visual Studio 2015 ###
+Visual Studio 2015 version 14.0.25420.1 Update 3 was installed manually using ISO-image: http://ci-files01-hki.ci.qt.io/input/windows/en_visual_studio_professional_2015_with_update_3_x86_x64_dvd_8923272.iso
+(Mount the ISO-image by double clicking it and run 'vs_professional.exe')
+
+default plus following components were selected:
+* Programming Languages
+ * Visual C++
+ - Common Tools for Visual C++ 2015
+* Universal Windows App Development Tools
+ - Tools (1.4.1) and Windows SDK (10.0.14393)
+ - Windows 10 SDK (10.0.10586)
+ - Windows 10 SDK (10.0.10240)
+* Common Tools
+ -Visual Studio Extensibility Tools Update 3
+
diff --git a/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2019.txt b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2019.txt
new file mode 100644
index 00000000..b3854a52
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2019.txt
@@ -0,0 +1,77 @@
+### Visual Studio 2019 ###
+Visual Studio 2019 version 16.11.7 was installed manually using installer: http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__505064367.1547034421.exe
+
+Installed MSVC-2019 Components:
+
+.NET Framework 4.5 targeting pack
+.NET Framework 4.5.1 targeting pack
+.NET Framework 4.5.2 targeting pack
+.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 types for SQL Sever
+Connectivity and publishing tools
+Data sources for SQL Server support
+SQL ADAL runtime
+SQL Server Command Linne Utilities
+SQL Server Data Tools
+SQL Server Express 2016 LocalDB
+SQL Server ODBC Driver
+ClickOnce Publishing
+Developer Analytics tools
+NuGet package manager
+Text Template Transformation
+C# and Visual Basic Roslyn compilers
+C++ 2019 Redistributable Update
+C++ Cmake tools for Windows
+C++/CLI support for v142 build tools (14.29-16.10)
+MSBuild
+MSVC v142 - VS 2019 C++ ARM build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ ARM64 build tools (Latest)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.20)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ x64/x86 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 v142 build tools (ARM)
+C++ ATL for latest v142 build tools (ARM64)
+C++ ATL for latest v142 build tools (x86 & x64)
+TypeScript 4.3 SDK
+Windows 10 SDK (10.0.16299.0)
+Windows 10 SDK (10.0.17134.0)
+Windows 10 SDK (10.0.17763.0)
+Windows 10 SDK (10.0.18362.0)
+Windows 10 SDK (10.0.19041.0)
+Windows 10 SDK (10.0.20348.0)
+Windows 10 SDK (10.0.22000.0)
+
+# NOTE! Work loads were added during installation!
+
+############################################################
+### Visual Studio 2019 build tools ###
+
+Visual studio 2019 build tools version 16.11.7 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_buildtools__251503345.1575372514.exe"
+ * Only default installation, no additional selections
+
+############################################################
+### Debugging tools ###
+
+* Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
+############################################################
diff --git a/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2022.txt b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2022.txt
new file mode 100644
index 00000000..05695256
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/msvc2022.txt
@@ -0,0 +1,72 @@
+### Visual Studio 2022 Official release ###
+Visual Studio 2022 version 17.0.1 was installed manually using installer: http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__msvc2022_1339502178.1525841376.exe
+
+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 types 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++ x64/x86 build tools (Latest)
+MSVC v143 - VS 2022 C++ x64/x86 build tools (v14.30-17.0)
+.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)
+C++ ATL for latest v143 build tools (x86 & x64)
+TypeScript 4.4 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 10 SDK (10.0.22000.0)
+Windows Universal C Runtime
+
+# NOTE! Work loads were added during installation!
+
+############################################################
+### Visual Studio 2022 build tools ###
+
+ Visual studio 2022 build tools version 17.0.1 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_BuildTools_msvc2022.exe"
+ * Only default installation, no additional selections
+
+############################################################
+### Debugging tools ###
+
+* Check that debugging tools are installed
+ * Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
+############################################################
diff --git a/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/virtio.txt b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/virtio.txt
new file mode 100644
index 00000000..9f6ef81f
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_21H2-x86_64/virtio.txt
@@ -0,0 +1,31 @@
+Install virtio
+
+Our vanilla images are pre-installed in VMware where we have networking available. In KVM we can
+use the VMware installed vmxnet3 NIC to fetch VirtIO drivers, install them, and only then switch
+to using the VirtIO NIC in KVM.
+
+NOTE! Install these Virtio drivers in Opennebula when using Windows 10 20H2
+* Download https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.204-1/virtio-win-0.1.204.iso
+ cache: http://ci-files01-hki.ci.qt.io/input/windows/virtio/virtio-win-0.1.204.iso
+* Mount virtio-win-0.1.185.iso by double clicking it.
+* Right click 'E:\NetKVM\w10\amd64\netkvm.inf' and select Install
+* Right click 'E:\Balloon\w10\amd64\balloon.inf' and select Install
+* Right click 'E:\vioscsi\w10\amd64\vioscsi.inf' and select Install
+* Right click 'E:\vioserial\w10\amd64\vioser.inf' and select Install
+* Navigate to E:\guest-agent directory and double click qemu-ga-x86_64
+
+Because vioscsi does not install the entries in windows registry before we actually
+have a VirtIO device installed, and we can't boot with a VirtIO device before
+the driver is installed, we have to blindly install the registry entries:
+
+* Download https://bugreports.qt.io/secure/attachment/95685/95685_vioscsi.reg
+ cache: http://ci-files01-hki.ci.qt.io/input/windows/virtio/vioscsi.reg
+
+However, we've seen that the Owner in the registry can be wrong. This entry
+sets it to oem11.inf, but we've seen it be oem10.inf in one case and it has
+to be corrected so that it will boot from the VirtIO driver. This was found out
+by having 2 devices installed simultaneously and having the drivers install
+properly into the registry.
+
+* Eject the mounting
+* Remove downloaded virtio-win-0.1.171.iso
diff --git a/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/01-enable-dotnet-framework.ps1 b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/01-enable-dotnet-framework.ps1
new file mode 100644
index 00000000..effb4974
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/01-enable-dotnet-framework.ps1
@@ -0,0 +1,23 @@
+# The DirectX SDK installer requires .Net framework 3.5 which isn't installed by default
+
+# NOTE! Windows Update service need to be enabled when running this script!
+
+$netFeature = "NetFx3"
+try {
+ $netFeatureState = (Get-WindowsOptionalFeature -Online -FeatureName "$netFeature").State
+ if ($netFeatureState -eq "Enabled") {
+ Write-Host ".Net Framework is already installed"
+ exit 0
+ }
+} catch {
+ Write-Host "Could not find .Net Framework Windows feature."
+ exit 1
+}
+
+Write-Host "Installing .Net Framework client"
+try {
+ Enable-WindowsOptionalFeature -Online -FeatureName "$netFeature" -All -NoRestart
+} catch {
+ Write-Host "Could not install .Net framework"
+ exit 1
+}
diff --git a/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..65241c24
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,86 @@
+# Installation is done using Host from OpenNebula
+
+# List about manual pre-installations to Tier1 image:
+Language to install: English UK
+Time and currency format: English UK
+Keyboard or input method: United Kingdom
+Windows 10 Enterprise
+Custom: Install Windows only (advanced)
+
+# NOTE! virtio-win-0.1.204 need to be attached with virt-install
+Load driver - browse - virtio-win-0.1.204 - amd64 - w10 - Select Red Hat VirtIO SCSI controller - next - next
+
+Region: Finland
+Keyboard layout: United Kingdom
+Keyboard layout: English (United States) (US)
+
+
+* Sign-in options - Domain join instead
+ - Add user & pw
+* Location - no
+* Find my device - no
+* Diagnostic data - Required only
+* Inking and typing - no
+* Tailored expreriences - no
+* Advertising ID - no
+
+virtio-win-0.1.204.iso and run virtio-win-qt-x64
+Reboot
+
+* Enable Remote Desktop:
+ - Settings - System - Remote Desktop - On
+* Resolution set to 1280x800
+* 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\Service'
+ - 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
+# Don't disable Windows Update before running '01-enable-dotnet-framework.ps1'. Script requires Windows update to be enabled!
+* Windows update:
+ - Settings - Windows Update - run available updates (Windows update2022-09 Cumulative Update for Windows 11 Version 22H2 for x64-based Systems (KB5017321))
+ - 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
diff --git a/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/disable-clean-manager.ps1 b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/disable-clean-manager.ps1
new file mode 100644
index 00000000..45ce141f
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/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-10_22H2-x86_64/disable-ntp.ps1 b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/disable-ntp.ps1
new file mode 100644
index 00000000..22651763
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/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-10_22H2-x86_64/disable-schedule-tasks.ps1 b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/disable-schedule-tasks.ps1
new file mode 100644
index 00000000..88b83879
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/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-10_22H2-x86_64/disable-update-orchestrator.ps1 b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/disable-update-orchestrator.ps1
new file mode 100644
index 00000000..1022c798
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/disable-update-orchestrator.ps1
@@ -0,0 +1,14 @@
+# 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\UpdateModelTask"
+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-10_22H2-x86_64/disable-windefender.ps1 b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/disable-windefender.ps1
new file mode 100644
index 00000000..17b30db0
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/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-10_22H2-x86_64/disable-windows-file-protector.ps1 b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/disable-windows-file-protector.ps1
new file mode 100644
index 00000000..f1d09fb5
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/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-10_22H2-x86_64/disable-windows-update-medic.ps1 b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/disable-windows-update-medic.ps1
new file mode 100644
index 00000000..e8210ea3
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/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\WaaSMedicAgent.exe"
+
+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-10_22H2-x86_64/disable-windows-updates.ps1 b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/disable-windows-updates.ps1
new file mode 100644
index 00000000..62e19814
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/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-10_22H2-x86_64/msvc2015_update.txt b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/msvc2015_update.txt
new file mode 100644
index 00000000..bafa6c75
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/msvc2015_update.txt
@@ -0,0 +1,16 @@
+### Visual Studio 2015 ###
+Visual Studio 2015 version 14.0.25420.1 Update 3 was installed manually using ISO-image: http://ci-files01-hki.ci.qt.io/input/windows/en_visual_studio_professional_2015_with_update_3_x86_x64_dvd_8923272.iso
+(Mount the ISO-image by double clicking it and run 'vs_professional.exe')
+
+default plus following components were selected:
+* Programming Languages
+ * Visual C++
+ - Common Tools for Visual C++ 2015
+* Windows and Web Development
+ * Universal Windows App Development Tools
+ - Tools (1.4.1) and Windows SDK (10.0.14393)
+ - Windows 10 SDK (10.0.10586)
+ - Windows 10 SDK (10.0.10240)
+* Common Tools
+ -Visual Studio Extensibility Tools Update 3
+
diff --git a/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/msvc2019.txt b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/msvc2019.txt
new file mode 100644
index 00000000..013c01b4
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/msvc2019.txt
@@ -0,0 +1,77 @@
+### Visual Studio 2019 ###
+Visual Studio 2019 version 16.11.27 was installed manually using installer: http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__505064367.1547034421.exe
+
+Installed MSVC-2019 Components:
+
+.NET Framework 4.5 targeting pack
+.NET Framework 4.5.1 targeting pack
+.NET Framework 4.5.2 targeting pack
+.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 ADAL runtime
+SQL Server Command Linne Utilities
+SQL Server Data Tools
+SQL Server Express 2016 LocalDB
+SQL Server ODBC Driver
+ClickOnce Publishing
+Developer Analytics tools
+NuGet package manager
+Text Template Transformation
+C# and Visual Basic Roslyn compilers
+C++ 2019 Redistributable Update
+C++ Cmake tools for Windows
+C++/CLI support for v142 build tools (14.29-16.10)
+MSBuild
+MSVC v142 - VS 2019 C++ ARM build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ ARM64 build tools (Latest)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.20)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ x64/x86 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 v142 build tools (ARM)
+C++ ATL for latest v142 build tools (ARM64)
+C++ ATL for latest v142 build tools (x86 & x64)
+TypeScript 4.3 SDK
+Windows 10 SDK (10.0.16299.0)
+Windows 10 SDK (10.0.17134.0)
+Windows 10 SDK (10.0.17763.0)
+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)
+
+# NOTE! Work loads were added during installation!
+
+############################################################
+### Visual Studio 2019 build tools ###
+
+Visual studio 2019 build tools version 16.11.27 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_buildtools__251503345.1575372514.exe"
+ * Only default installation, no additional selections
+
+############################################################
+### Debugging tools ###
+
+* Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
+############################################################
diff --git a/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/msvc2022.txt b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/msvc2022.txt
new file mode 100644
index 00000000..09764b39
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-10_22H2-x86_64/msvc2022.txt
@@ -0,0 +1,73 @@
+### Visual Studio 2022 Official release ###
+Visual Studio 2022 version 17.6.4 was installed manually using installer: http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__msvc2022_1339502178.1525841376.exe
+
+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.1 SDK
+.NET Framework 4.8.1 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.33-17.3)
+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.33-17.3)
+MSVC v143 - VS 2022 C++ ARM64 build tools (Latest)
+MSVC v143 - VS 2022 C++ ARM64 build tools (v14.33-17.3)
+MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)
+MSVC v143 - VS 2022 C++ x64/x86 build tools (v14.33-17.3)
+.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)
+C++ ATL for latest v143 build tools (x86 & x64)
+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 10 SDK (10.0.22000.0)
+Windows 10 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.6.4 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_BuildTools_msvc2022.exe"
+ * Only default installation, no additional selections
+
+############################################################
+### Debugging tools ###
+
+* Check that debugging tools are installed
+ * Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
+############################################################
diff --git a/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/01-enable-dotnet-framework.ps1 b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/01-enable-dotnet-framework.ps1
new file mode 100644
index 00000000..e7f4c248
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/01-enable-dotnet-framework.ps1
@@ -0,0 +1,22 @@
+# The DirectX SDK installer requires .Net framework 3.5 which isn't installed
+# by default
+
+$netFeature = "NetFx3"
+try {
+ $netFeatureState = (Get-WindowsOptionalFeature -Online -FeatureName "$netFeature").State
+ if ($netFeatureState -eq "Enabled") {
+ Write-Host ".Net Framework is already installed"
+ exit 0
+ }
+} catch {
+ Write-Host "Could not find .Net Framework Windows feature."
+ exit 1
+}
+
+Write-Host "Installing .Net Framework client"
+try {
+ Enable-WindowsOptionalFeature -Online -FeatureName "$netFeature" -All -NoRestart
+} catch {
+ Write-Host "Could not install .Net framework"
+ exit 1
+}
diff --git a/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..65c28a2c
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,72 @@
+# List about manual pre-installations to Tier1 image:
+
+VM Options:
+Boot options/Firmware: BIOS
+
+Language to install: English UK
+Time and currency format: English UK
+Keyboard or input method: United Kingdom
+location: finnish
+Windows 11 Enterprise
+Region: Finland
+Keyboard layout: United Kingdom
+
+* Set up for work or school
+* Sign-in options - Domain join instead
+ - Add user & pw
+* Location - no
+* Find my device - no
+* Diagnostic data - Required only
+* Inking and typing - no
+* Tailored expreriences - no
+* Advertising ID - no
+
+* Resolution set to 1280x800
+* Coin-setup:
+ - Installing Boostrap agent
+ - Disabling fast boot
+ - Disabling firewall
+ - Disabling UAC
+ - Enabling autologin
+ - Automatic login
+ - Disabling windows updates
+* Turn of 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' - Select 'Convert..' - Remove all entries - select 'Replace owner on subcontainers and objects' - Select 'Replace all child object permi…' - Apply
+ - Disable Windows defender also from RegEdit:
+ - Open regedit - Navigate to 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Service'
+ - 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!
+* Remote connections allowed:
+ - Enable Remote Desktop
+* 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 zone: 'Co-ordinated Universal Time'
+* Windows search disabled: 'Control Panel\System and Security\Windows Tools\Services' - 'Windows search' - stop & disable
+* Sysmain disabled: 'Control Panel\System and Security\Administrative Tools\Services' - 'SysMain' - stop & disable
+* Power saver disabled: System -> Power
+ - set 'When plugged in, turn off my screen after' to 'never'
+* 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
+* From 'Region Settings'
+ * Set Regional format: English (United States)
+* Defragment and Optimize Drives
+ * Change settings - Uncheck "Run on schedule"
+* Activate Windows
diff --git a/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/create_windows-11_image_with_virtio_drivers.txt b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/create_windows-11_image_with_virtio_drivers.txt
new file mode 100644
index 00000000..5e0451db
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/create_windows-11_image_with_virtio_drivers.txt
@@ -0,0 +1,42 @@
+# Create Windows 11 Tier1 image with Virtio drivers
+
+# Create Ubuntu 20.04 and install virt-manager:
+Create e.g. Ubuntu 20.04 VM
+Connect to machine and download the ISO-image and virtio-drivers (http://ci-files01-hki.ci.qt.io/input/windows/virtio/virtio-win-0.1.204.iso or https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.204-1/)
+sudo apt update
+sudo apt install virt-manager
+sudo systemctl start libvirtd
+sudo systemctl enable libvirtd
+sudo reboot now
+
+# Start virt-manager and add configurations for Windows 11:
+virt-manager
+File - New virtual machine
+Local install media - Select ISO-image - Unselect automatically detect and select 'Microsoft Windows server 2019'
+Add memory and CPU
+Disk space 550
+customize configuration before install
+from virtual machine manager - edit - Preferences - Enable system tray icon and Enable XML editing
+Overview: Firmware: UEFI x86_64: /usr/share/OVMF/OVMG_CODE.fd - Apply (chipset Q35) (i440FX UEFI) 4: UEFI-secboot
+XML: Remove these two lines:
+ <timer name="rtc" tickpolicy="catchip"/>
+ <timer name="pit" tickpolicy="delay"/>
+ under these change 'no' to 'yes':
+ <timer name="hpet" present="yes"
+ Apply
+Sata Disk 1: Disk bus: Virtio
+ Apply
+NIC: Device model: virtio
+ Apply
+Add Hardware: Storage: Device Type: CDROM Device
+ Select or create custom storage - Manage - Browse local - virtio-win-0.1.204.iso - Open - Finish
+Begin installation
+
+# If note "This PC can't run Windows 11" appears
+shift + F10 - regedit - add: HKEY_LOCAL_MACHINE/SYSTEM/Setup/LabConfig
+ add DWORD value BypassTPMCheck with value 1
+ add DWORD value BypassSecureBootCheck value 1
+
+Load driver (select win10)
+
+After reboot and startup open virtio-win-0.1.204.iso and run virtio-win-qt-x64
diff --git a/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-clean-manager.ps1 b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-clean-manager.ps1
new file mode 100644
index 00000000..45ce141f
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/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_21H2-x86_64/disable-defragment.ps1 b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-defragment.ps1
new file mode 100644
index 00000000..bb449e56
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/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_21H2-x86_64/disable-ntp.ps1 b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-ntp.ps1
new file mode 100644
index 00000000..22651763
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/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_21H2-x86_64/disable-schedule-tasks.ps1 b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-schedule-tasks.ps1
new file mode 100644
index 00000000..88b83879
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/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_21H2-x86_64/disable-update-orchestrator.ps1 b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-update-orchestrator.ps1
new file mode 100644
index 00000000..1022c798
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-update-orchestrator.ps1
@@ -0,0 +1,14 @@
+# 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\UpdateModelTask"
+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_21H2-x86_64/disable-windefender.ps1 b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-windefender.ps1
new file mode 100644
index 00000000..17b30db0
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/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_21H2-x86_64/disable-windows-file-protector.ps1 b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-windows-file-protector.ps1
new file mode 100644
index 00000000..f1d09fb5
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/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_21H2-x86_64/disable-windows-update-medic.ps1 b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-windows-update-medic.ps1
new file mode 100644
index 00000000..e8210ea3
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/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\WaaSMedicAgent.exe"
+
+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_21H2-x86_64/disable-windows-updates.ps1 b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/disable-windows-updates.ps1
new file mode 100644
index 00000000..62e19814
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/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_21H2-x86_64/msvc2015_update.txt b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/msvc2015_update.txt
new file mode 100644
index 00000000..5a730029
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/msvc2015_update.txt
@@ -0,0 +1,15 @@
+### Visual Studio 2015 ###
+Visual Studio 2015 version 14.0.25420.1 Update 3 was installed manually using ISO-image: http://ci-files01-hki.ci.qt.io/input/windows/en_visual_studio_professional_2015_with_update_3_x86_x64_dvd_8923272.iso
+(Mount the ISO-image by double clicking it and run 'vs_professional.exe')
+
+default plus following components were selected:
+* Programming Languages
+ * Visual C++
+ - Common Tools for Visual C++ 2015
+* Universal Windows App Development Tools
+ - Tools (1.4.1) and Windows SDK (10.0.14393)
+ - Windows 10 SDK (10.0.10586)
+ - Windows 10 SDK (10.0.10240)
+* Common Tools
+ -Visual Studio Extensibility Tools Update 3
+
diff --git a/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/msvc2019.txt b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/msvc2019.txt
new file mode 100644
index 00000000..16486b08
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/msvc2019.txt
@@ -0,0 +1,77 @@
+### Visual Studio 2019 ###
+Visual Studio 2019 version 16.11.5 was installed manually using installer: http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__505064367.1547034421.exe
+
+Installed MSVC-2019 Components:
+
+.NET Framework 4.5 targeting pack
+.NET Framework 4.5.1 targeting pack
+.NET Framework 4.5.2 targeting pack
+.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 ADAL runtime
+SQL Server Command Linne Utilities
+SQL Server Data Tools
+SQL Server Express 2016 LocalDB
+SQL Server ODBC Driver
+ClickOnce Publishing
+Developer Analytics tools
+NuGet package manager
+Text Template Transformation
+C# and Visual Basic Roslyn compilers
+C++ 2019 Redistributable Update
+C++ Cmake tools for Windows
+C++/CLI support for v142 build tools (14.29-16.10)
+MSBuild
+MSVC v142 - VS 2019 C++ ARM build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ ARM64 build tools (Latest)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.20)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ x64/x86 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 v142 build tools (ARM)
+C++ ATL for latest v142 build tools (ARM64)
+C++ ATL for latest v142 build tools (x86 & x64)
+TypeScript 4.3 SDK
+Windows 10 SDK (10.0.16299.0)
+Windows 10 SDK (10.0.17134.0)
+Windows 10 SDK (10.0.17763.0)
+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)
+
+# NOTE! Work loads were added during installation!
+
+############################################################
+### Visual Studio 2019 build tools ###
+
+Visual studio 2019 build tools version 16.11.5 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_buildtools__251503345.1575372514.exe"
+ * Only default installation, no additional selections
+
+############################################################
+### Debugging tools ###
+
+* Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
+############################################################
diff --git a/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/msvc2022.txt b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/msvc2022.txt
new file mode 100644
index 00000000..40487be4
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/msvc2022.txt
@@ -0,0 +1,77 @@
+### Visual Studio 2022 Preview ###
+Visual Studio 2022 version 17.0.0 preview 7.0 was installed manually using installer: http://ci-files01-hki.ci.qt.io/input/windows/vs_professional_2022_preview.exe
+### Visual Studio 2022 Official release ###
+Visual Studio 2022 version 17.0.1 was installed manually using installer: http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__msvc2022_1339502178.1525841376.exe
+
+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++ x64/x86 build tools (Latest)
+MSVC v143 - VS 2022 C++ x64/x86 build tools (v14.30-17.0)
+.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)
+C++ ATL for latest v143 build tools (x86 & x64)
+TypeScript 4.4 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 10 SDK (10.0.22000.0)
+Windows Universal C Runtime
+
+# NOTE! Work loads were added during installation!
+
+############################################################
+### Visual Studio 2022 build tools ###
+
+Visual studio 2022 build tools version 17.0.0 preview 7.0 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_buildtools__msvc2022_preview.exe"
+ * Only default installation, no additional selections
+
+ Visual studio 2022 build tools version 17.0.1 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_BuildTools_msvc2022.exe"
+ * Only default installation, no additional selections
+
+############################################################
+### Debugging tools ###
+
+* Check that debugging tools are installed
+ * Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
+############################################################
diff --git a/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/virtio.txt b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/virtio.txt
new file mode 100644
index 00000000..e6ec797d
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_21H2-x86_64/virtio.txt
@@ -0,0 +1,31 @@
+Install virtio
+
+Our vanilla images are pre-installed in VMware where we have networking available. In KVM we can
+use the VMware installed vmxnet3 NIC to fetch VirtIO drivers, install them, and only then switch
+to using the VirtIO NIC in KVM.
+
+NOTE! Install these Virtio drivers in Opennebula when using Windows 10 20H2
+* Download https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.185-2/virtio-win-0.1.185.iso
+ cache: http://ci-files01-hki.ci.qt.io/input/windows/virtio/virtio-win-0.1.185.iso
+* Mount virtio-win-0.1.185.iso by double clicking it.
+* Right click 'E:\NetKVM\w10\amd64\netkvm.inf' and select Install
+* Right click 'E:\Balloon\w10\amd64\balloon.inf' and select Install
+* Right click 'E:\vioscsi\w10\amd64\vioscsi.inf' and select Install
+* Right click 'E:\vioserial\w10\amd64\vioser.inf' and select Install
+* Navigate to E:\guest-agent directory and double click qemu-ga-x86_64
+
+Because vioscsi does not install the entries in windows registry before we actually
+have a VirtIO device installed, and we can't boot with a VirtIO device before
+the driver is installed, we have to blindly install the registry entries:
+
+* Download https://bugreports.qt.io/secure/attachment/95685/95685_vioscsi.reg
+ cache: http://ci-files01-hki.ci.qt.io/input/windows/virtio/vioscsi.reg
+
+However, we've seen that the Owner in the registry can be wrong. This entry
+sets it to oem11.inf, but we've seen it be oem10.inf in one case and it has
+to be corrected so that it will boot from the VirtIO driver. This was found out
+by having 2 devices installed simultaneously and having the drivers install
+properly into the registry.
+
+* Eject the mounting
+* Remove downloaded virtio-win-0.1.171.iso
diff --git a/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/01-enable-dotnet-framework.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/01-enable-dotnet-framework.ps1
new file mode 100644
index 00000000..e7f4c248
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/01-enable-dotnet-framework.ps1
@@ -0,0 +1,22 @@
+# The DirectX SDK installer requires .Net framework 3.5 which isn't installed
+# by default
+
+$netFeature = "NetFx3"
+try {
+ $netFeatureState = (Get-WindowsOptionalFeature -Online -FeatureName "$netFeature").State
+ if ($netFeatureState -eq "Enabled") {
+ Write-Host ".Net Framework is already installed"
+ exit 0
+ }
+} catch {
+ Write-Host "Could not find .Net Framework Windows feature."
+ exit 1
+}
+
+Write-Host "Installing .Net Framework client"
+try {
+ Enable-WindowsOptionalFeature -Online -FeatureName "$netFeature" -All -NoRestart
+} catch {
+ Write-Host "Could not install .Net framework"
+ exit 1
+}
diff --git a/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..45ab2fb3
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,93 @@
+# List about manual pre-installations to Tier1 image:
+
+VM Options:
+Boot options/Firmware: BIOS
+
+Language to install: English UK
+Time and currency format: English UK
+Keyboard or input method: United Kingdom
+Windows 11 Enterprise
+location: finnish
+
+
+# If note "This PC can't run Windows 11" appears
+shift + F10 - regedit - add: HKEY_LOCAL_MACHINE/SYSTEM/Setup/LabConfig
+ add DWORD value BypassTPMCheck with value 1
+ add DWORD value BypassSecureBootCheck value 1
+
+Load driver - browse - virtio-win-0.1.204 - amd64 - w10
+
+
+Region: Finland
+Keyboard layout: United Kingdom
+Keyboard layout: English (United State)
+
+
+* Sign-in options - Domain join instead
+ - Add user & pw
+* Location - no
+* Find my device - no
+* Diagnostic data - Required only
+* Inking and typing - no
+* Tailored expreriences - no
+* Advertising ID - no
+
+Reboot
+After reboot and startup open virtio-win-0.1.204.iso and run virtio-win-qt-x64
+
+* Enable Remote Desktop:
+ - Settings - System - Remote Desktop - On
+* Resolution set to 1280x800
+* 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\Service'
+ - 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 update2022-09 Cumulative Update for Windows 11 Version 22H2 for x64-based Systems (KB5017321))
+ - 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
diff --git a/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-clean-manager.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-clean-manager.ps1
new file mode 100644
index 00000000..45ce141f
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/disable-defragment.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-defragment.ps1
new file mode 100644
index 00000000..bb449e56
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/disable-ntp.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-ntp.ps1
new file mode 100644
index 00000000..22651763
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/disable-schedule-tasks.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-schedule-tasks.ps1
new file mode 100644
index 00000000..88b83879
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/disable-update-orchestrator.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-update-orchestrator.ps1
new file mode 100644
index 00000000..72473d8f
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/disable-windefender.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-windefender.ps1
new file mode 100644
index 00000000..17b30db0
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/disable-windows-file-protector.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-windows-file-protector.ps1
new file mode 100644
index 00000000..f1d09fb5
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/disable-windows-update-medic.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-windows-update-medic.ps1
new file mode 100644
index 00000000..6accbd3b
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/disable-windows-updates.ps1 b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/disable-windows-updates.ps1
new file mode 100644
index 00000000..62e19814
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/msvc2019.txt b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/msvc2019.txt
new file mode 100644
index 00000000..3d05cf07
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/msvc2019.txt
@@ -0,0 +1,79 @@
+### Visual Studio 2019 ###
+Visual Studio 2019 version 16.11.19 was installed manually using installer: http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__505064367.1547034421.exe
+Visual Studio 2019 was updated to version 16.11.27 with Visual Studio Installer
+
+Installed MSVC-2019 Components:
+
+.NET Framework 4.5 targeting pack
+.NET Framework 4.5.1 targeting pack
+.NET Framework 4.5.2 targeting pack
+.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 ADAL runtime
+SQL Server Command Linne Utilities
+SQL Server Data Tools
+SQL Server Express 2016 LocalDB
+SQL Server ODBC Driver
+ClickOnce Publishing
+Developer Analytics tools
+NuGet package manager
+Text Template Transformation
+C# and Visual Basic Roslyn compilers
+C++ 2019 Redistributable Update
+C++ Cmake tools for Windows
+C++/CLI support for v142 build tools (14.29-16.10)
+MSBuild
+MSVC v142 - VS 2019 C++ ARM build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ ARM64 build tools (Latest)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.20)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ x64/x86 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 v142 build tools (ARM)
+C++ ATL for latest v142 build tools (ARM64)
+C++ ATL for latest v142 build tools (x86 & x64)
+TypeScript 4.3 SDK
+Windows 10 SDK (10.0.16299.0)
+Windows 10 SDK (10.0.17134.0)
+Windows 10 SDK (10.0.17763.0)
+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)
+
+# NOTE! Work loads were added during installation!
+
+############################################################
+### Visual Studio 2019 build tools ###
+
+Visual studio 2019 build tools version 16.11.19 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_buildtools__251503345.1575372514.exe"
+ * Only default installation, no additional selections
+Visual studio 2019 build tools were updated to version 16.11.27 with Visual Studio Installer
+
+############################################################
+### Debugging tools ###
+
+* Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
+############################################################
diff --git a/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/msvc2022.txt b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/msvc2022.txt
new file mode 100644
index 00000000..1495863f
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/msvc2022.txt
@@ -0,0 +1,76 @@
+### Visual Studio 2022 Official release ###
+Visual Studio 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 2022 was updated to 17.6.4 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++ x64/x86 build tools (Latest)
+MSVC v143 - VS 2022 C++ x64/x86 build tools (v14.30-17.0)
+.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)
+C++ ATL for latest v143 build tools (x86 & x64)
+TypeScript 4.7 SDK
+TypeScript Server
+Windows 10 SDK (10.0.18362.0)
+Windows 10 SDK (10.0.19041.0)
+Windows 10 SDK (10.0.20348.0)
+Windows 11 SDK (10.0.22000.0)
+Windows 11 SDK (10.0.22621.0)
+Windows Universal C Runtime
+
+# NOTE! Work loads were added during installation!
+
+############################################################
+### Visual Studio 2022 build tools ###
+
+ Visual studio 2022 build tools version 17.3.5 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_BuildTools_msvc2022.exe"
+ * Only default installation, no additional selections
+ Visual Studio 2022 build tools were updated to 17.6.4 vith Visual Studio Installer
+ * Some of the installed framework versions are out of support and do not get any security updates
+
+############################################################
+### Debugging tools ###
+
+* Check that debugging tools are installed
+ * Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
+############################################################
diff --git a/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/virtio.txt b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/virtio.txt
new file mode 100644
index 00000000..e6ec797d
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_22H2-x86_64/virtio.txt
@@ -0,0 +1,31 @@
+Install virtio
+
+Our vanilla images are pre-installed in VMware where we have networking available. In KVM we can
+use the VMware installed vmxnet3 NIC to fetch VirtIO drivers, install them, and only then switch
+to using the VirtIO NIC in KVM.
+
+NOTE! Install these Virtio drivers in Opennebula when using Windows 10 20H2
+* Download https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.185-2/virtio-win-0.1.185.iso
+ cache: http://ci-files01-hki.ci.qt.io/input/windows/virtio/virtio-win-0.1.185.iso
+* Mount virtio-win-0.1.185.iso by double clicking it.
+* Right click 'E:\NetKVM\w10\amd64\netkvm.inf' and select Install
+* Right click 'E:\Balloon\w10\amd64\balloon.inf' and select Install
+* Right click 'E:\vioscsi\w10\amd64\vioscsi.inf' and select Install
+* Right click 'E:\vioserial\w10\amd64\vioser.inf' and select Install
+* Navigate to E:\guest-agent directory and double click qemu-ga-x86_64
+
+Because vioscsi does not install the entries in windows registry before we actually
+have a VirtIO device installed, and we can't boot with a VirtIO device before
+the driver is installed, we have to blindly install the registry entries:
+
+* Download https://bugreports.qt.io/secure/attachment/95685/95685_vioscsi.reg
+ cache: http://ci-files01-hki.ci.qt.io/input/windows/virtio/vioscsi.reg
+
+However, we've seen that the Owner in the registry can be wrong. This entry
+sets it to oem11.inf, but we've seen it be oem10.inf in one case and it has
+to be corrected so that it will boot from the VirtIO driver. This was found out
+by having 2 devices installed simultaneously and having the drivers install
+properly into the registry.
+
+* Eject the mounting
+* Remove downloaded virtio-win-0.1.171.iso
diff --git a/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/01-enable-dotnet-framework.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/01-enable-dotnet-framework.ps1
new file mode 100644
index 00000000..e7f4c248
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/01-enable-dotnet-framework.ps1
@@ -0,0 +1,22 @@
+# The DirectX SDK installer requires .Net framework 3.5 which isn't installed
+# by default
+
+$netFeature = "NetFx3"
+try {
+ $netFeatureState = (Get-WindowsOptionalFeature -Online -FeatureName "$netFeature").State
+ if ($netFeatureState -eq "Enabled") {
+ Write-Host ".Net Framework is already installed"
+ exit 0
+ }
+} catch {
+ Write-Host "Could not find .Net Framework Windows feature."
+ exit 1
+}
+
+Write-Host "Installing .Net Framework client"
+try {
+ Enable-WindowsOptionalFeature -Online -FeatureName "$netFeature" -All -NoRestart
+} catch {
+ Write-Host "Could not install .Net framework"
+ exit 1
+}
diff --git a/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..fa10604a
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,140 @@
+# List about manual pre-installations to Tier1 image:
+
+VM Options:
+Boot options/Firmware: BIOS
+
+Language to install: English (United States)
+Time and currency format: English (United States)
+Keyboard or input method: United Kingdom
+Windows 11 Enterprise
+location: finnish
+
+
+# If note "This PC can't run Windows 11" appears
+shift + F10 - regedit - add: HKEY_LOCAL_MACHINE/SYSTEM/Setup/LabConfig
+ 'regedit' to open Registry Editor
+ Go to: HKEY_LOCAL_MACHINE/SYSTEM/Setup/
+ Right click 'Setup' folder: New -> Key -> Name: LabConfig
+add DWORD value BypassTPMCheck with value 1
+ Right click 'LabConfig' folder: New -> DWORD (32-bit) -> Name: BypassTPMCheck
+ Double-click on the BypassTPMCheck, change value to 1
+add DWORD value BypassSecureBootCheck value 1
+ repeat
+Close the regedit and the installation window ('X') to start the installation again.
+
+Load driver - browse - virtio-win-0.1.204 - amd64 - w10
+
+
+Region: Finland
+Keyboard layout: United Kingdom
+Keyboard layout: English (United State)
+
+
+* Sign-in options - Domain join instead
+ - Add user & pw
+* Location - no
+* Find my device - no
+* Diagnostic data - Required only
+* Inking and typing - no
+* Tailored expreriences - no
+* Advertising ID - no
+
+Reboot
+After reboot and startup, go to 'This PC' -> virtio-win-0.1.204 and run virtio-win-qt-x64
+
+# Register the image to OpenNebula now
+# After registering the image and opening a persistent VM out of it in ON, continue to these steps
+
+* Using Windows Remote Desktop Connection (RDP) is recommended
+ - Connect to the tier-1 VM with VNC in OpenNebula
+ - Open CMD, run: ipconfig
+ - Input the IP to RDP. Click "Show options" -> add username. Connect.
+ - You can now copy&paste paths and .ps1 scripts later
+* Resolution set to 1280x800
+ - If 1280x800 is not listed in the settings, select a 1280 width (e.g. 1280x960) and:
+ - regedit -> HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Configuration
+ - Select a key/folder and its subkeys (00/00) that has the resolution you just selected
+ - Change every height value (e.g. 960) to 800
+ - Restart Windows
+* Coin-setup:
+* Download the agent executable from the IP that is used in Qt5 dev COIN_DOWNLOAD_URL (check from a build log):
+ http://[COIN IP]/coin/binary/windows_amd64/agent.exe
+* Run the executable. It should do the following configurations to Windows but you should check them.
+ - Installing Bootstrap agent
+ - Disabling fast boot
+ - No related settings in control panel.
+ - Make sure it's disabled: gpedit -> Computer Configuration\Administrative Templates\System\Shutdown\
+ - Require use of fast startup -> set to "Disabled".
+ - Disabling firewall
+ - Disabling UAC
+ - Enabling autologin
+ - regedit -> HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device
+ - DevicePasswordLessBuildVersion: 2 -> 0
+ - netplwiz -> uncheck: "Users must enter a user name and password...", apply
+ - Disabling windows updates
+ - gpedit -> Computer Configuration\Administrative Templates\Windows Components\Windows Update\Manage end user experience
+ - "Configure Automatic Updates" -> "Disabled"
+ - Bootstrap agent CMD window should now pop-up at every Windows start up.
+* 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 - Time & language - Date & time - Time zone: 'Coordinated Universal Time'
+ - Settings - System - Date & time - "Set the time automatically: Off"
+* Regional format:
+ - Settings - Time & language - Language and region - regional format - English (United States)
+* Power saver:
+ - Settings - System - Power - Screen and sleep: set 'When plugged in, turn off my screen after' to 'never'
+* Windows search disabled:
+ - 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Windows Tools\Services'
+ - 'Windows search' - properties - stop & Startup type: disabled
+* Sysmain disabled:
+ - 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Windows Tools\Services' - 'SysMain' - stop & disable
+* Windows update:
+ - Settings - Windows Update - run available updates (Windows update2024-02 Cumulative Update for Windows 11 Version 23H2 for x64-based Systems (KB5034765))
+ - After reboot disable windows updates:
+ - 'C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Windows Tools\Services' - 'Windows updates' - stop & disable
+* Turn windows features on or off -> Check the "SMB 1.0/CIFS File Sharing Support"
+* Allow running scripts by all users
+ - Open PowerShell, type: Set-ExecutionPolicy -ExecutionPolicy Bypass
+* (Restart Windows)
+* Google Chrome installed for RTA
+* Virus & threat protection settings:
+ * Check that there's no active antivirus providers
+* Disable useless startup apps with Task manager
+ - OneDrive
+ - SecurityHealthSystray
+ - Microsoft Edge
+ - Open Edge and turn off all boosts and background tasks. Task manager should not show Edge processes when Edge is off.
+* Disable clean manager
+ - Settings: System -> Storage -> Storage management -> Storage Sense: Off
+* Run the disable/enable .ps1 scripts
+ - Copy&paste the scripts (+helpers.ps1) to the VM, run them.
+* Install msvc2019 and msvc2022 (follow the msvc2019.txt and msvc2022.txt files)
+ - Open Task Scheduler: Task Scheduler Library > Microsoft > VisualStudio > Updates > right-click: BackgroundDownload > disable
+* Activate Windows
+* When everything seems ready: shut down Windows, Select 'Power off' in OpenNebula.
diff --git a/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-ntp.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-ntp.ps1
new file mode 100644
index 00000000..7f68f8ac
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-ntp.ps1
@@ -0,0 +1,4 @@
+. "$PSScriptRoot\helpers.ps1
+
+# Disable the NTP from syncing
+Run-Executable "w32tm.exe" "/config /syncfromflags:NO"
diff --git a/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-schedule-tasks.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-schedule-tasks.ps1
new file mode 100644
index 00000000..e9223c24
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-schedule-tasks.ps1
@@ -0,0 +1,72 @@
+. "$PSScriptRoot\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_23H2-x86_64/disable-update-orchestrator.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-update-orchestrator.ps1
new file mode 100644
index 00000000..72473d8f
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/disable-windefender.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-windefender.ps1
new file mode 100644
index 00000000..713c5f40
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/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\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_23H2-x86_64/disable-windows-file-protector.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-windows-file-protector.ps1
new file mode 100644
index 00000000..f1d09fb5
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/disable-windows-update-medic.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-windows-update-medic.ps1
new file mode 100644
index 00000000..6accbd3b
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/disable-windows-updates.ps1 b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/disable-windows-updates.ps1
new file mode 100644
index 00000000..62e19814
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/msvc2019.txt b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/msvc2019.txt
new file mode 100644
index 00000000..f8d64dd5
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/msvc2019.txt
@@ -0,0 +1,77 @@
+### Visual Studio 2019 ###
+Visual Studio 2019 version 16.11.34 was installed manually using installer: http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__505064367.1547034421.exe
+
+Installed MSVC-2019 Components:
+
+.NET Framework 4.5 targeting pack
+.NET Framework 4.5.1 targeting pack
+.NET Framework 4.5.2 targeting pack
+.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 ADAL runtime
+SQL Server Command Linne Utilities
+SQL Server Data Tools
+SQL Server Express 2016 LocalDB
+SQL Server ODBC Driver
+ClickOnce Publishing
+Developer Analytics tools
+NuGet package manager
+Text Template Transformation
+C# and Visual Basic Roslyn compilers
+C++ 2019 Redistributable Update
+C++ Cmake tools for Windows
+C++/CLI support for v142 build tools (14.29-16.10)
+MSBuild
+MSVC v142 - VS 2019 C++ ARM build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ ARM64 build tools (Latest)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.20)
+MSVC v142 - VS 2019 C++ ARM64 build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.20)
+MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.29-16.10)
+MSVC v142 - VS 2019 C++ x64/x86 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 v142 build tools (ARM)
+C++ ATL for latest v142 build tools (ARM64)
+C++ ATL for latest v142 build tools (x86 & x64)
+TypeScript 4.3 SDK
+Windows 10 SDK (10.0.16299.0)
+Windows 10 SDK (10.0.17134.0)
+Windows 10 SDK (10.0.17763.0)
+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)
+
+# NOTE! Work loads were added during installation!
+
+############################################################
+### Visual Studio 2019 build tools ###
+
+Visual studio 2019 build tools version 16.11.34 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_buildtools__251503345.1575372514.exe"
+ * Only default installation, no additional selections (MSBuild Tools)
+
+############################################################
+### Debugging tools ###
+
+* Modify 'Windows Software Development Kit - Windows 10.0.18362.1' from 'Add or remove programs'
+ - Add feature 'Debugging Tools for Windows'
+############################################################
diff --git a/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/msvc2022.txt b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/msvc2022.txt
new file mode 100644
index 00000000..a5a0c412
--- /dev/null
+++ b/coin/pre-provisioning/qtci-windows-11_23H2-x86_64/msvc2022.txt
@@ -0,0 +1,74 @@
+### Visual Studio 2022 Official release ###
+Visual Studio 2022 version 17.9.1 was installed manually using installer: http://ci-files01-hki.ci.qt.io/input/windows/vs_professional__msvc2022_1339502178.1525841376.exe
+
+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 types 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/ARM64EC build tools (Latest)
+MSVC v143 - VS 2022 C++ ARM64 build tools (v14.30-17.0)
+MSVC v143 - VS 2022 C++ x64/x86 build tools (Latest)
+MSVC v143 - VS 2022 C++ x64/x86 build tools (v14.30-17.0)
+.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/ARM64EC)
+C++ ATL for latest v143 build tools (x86 & x64)
+TypeScript 4.7 SDK - Deprecated, was not in components anymore. Downloaded 4.7.4 from VS marketplace
+https://marketplace.visualstudio.com/items?itemName=TypeScriptTeam.typescript-474
+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.9.1 was installed manually using installer: "http://ci-files01-hki.ci.qt.io/input/windows/vs_BuildTools_msvc2022.exe"
+ * Only default installation, no additional selections
+
+############################################################
+### 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/gradle_project/.gitignore b/coin/provisioning/common/linux/android/gradle_project/.gitignore
new file mode 100644
index 00000000..aa724b77
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/.gitignore
@@ -0,0 +1,15 @@
+*.iml
+.gradle
+/local.properties
+/.idea/caches
+/.idea/libraries
+/.idea/modules.xml
+/.idea/workspace.xml
+/.idea/navEditor.xml
+/.idea/assetWizardSettings.xml
+.DS_Store
+/build
+/captures
+.externalNativeBuild
+.cxx
+local.properties
diff --git a/coin/provisioning/common/linux/android/gradle_project/README.md b/coin/provisioning/common/linux/android/gradle_project/README.md
new file mode 100644
index 00000000..439cd362
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/README.md
@@ -0,0 +1,20 @@
+# Android Gradle Project for COIN
+
+This project is used to at provisioning time to do an Android Gradle build that
+will download Gradle binaries and AGP dependencies, then they will be cached
+allowing consecutive builds, i.e. at test runs to not redownload the Gradle
+binaries which tend to run into network issues and thus improving the
+reliability of the Android integrations on COIN.
+
+The project is a basic empty views Android project that can be created by
+Android Studio, it's Java based. Below is some extra details on relevant files
+that might need updates in the future:
+
+- settings.gradle: mainly sets the the project name
+- under app/src/main/ res/layout/activity_main.xml and src/*/*.java: sets the
+ layout and logic of the app, this shouldn't need to be touched.
+- AndroidManifest.xml / app/build.gradle: Sets project settings like target version.
+- gradle/libs.versions.toml: This sets the version numbers of various dependencies.
+
+Other files required for the project build are gradle wrapper and scripts which
+are fetched by android_linux.sh from qtbase.
diff --git a/coin/provisioning/common/linux/android/gradle_project/app/.gitignore b/coin/provisioning/common/linux/android/gradle_project/app/.gitignore
new file mode 100644
index 00000000..796b96d1
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/app/.gitignore
@@ -0,0 +1 @@
+/build
diff --git a/coin/provisioning/common/linux/android/gradle_project/app/build.gradle b/coin/provisioning/common/linux/android/gradle_project/app/build.gradle
new file mode 100644
index 00000000..745c08f8
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/app/build.gradle
@@ -0,0 +1,26 @@
+plugins {
+ alias(libs.plugins.androidApplication)
+}
+
+android {
+ namespace 'com.example.gradle_project'
+ compileSdk 34
+
+ defaultConfig {
+ applicationId "com.example.gradle_project"
+ minSdk 23
+ targetSdk 34
+ versionCode 1
+ versionName "1.0"
+ }
+
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_1_8
+ targetCompatibility JavaVersion.VERSION_1_8
+ }
+}
+
+dependencies {
+ implementation libs.appcompat
+ implementation libs.material
+}
diff --git a/coin/provisioning/common/linux/android/gradle_project/app/src/main/AndroidManifest.xml b/coin/provisioning/common/linux/android/gradle_project/app/src/main/AndroidManifest.xml
new file mode 100644
index 00000000..492c2115
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/app/src/main/AndroidManifest.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="utf-8"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:tools="http://schemas.android.com/tools">
+
+ <application
+ android:allowBackup="true"
+ android:label="gradle_project"
+ android:supportsRtl="true"
+ tools:targetApi="34">
+ <activity
+ android:name=".MainActivity"
+ android:exported="true">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+ </activity>
+ </application>
+
+</manifest>
diff --git a/coin/provisioning/common/linux/android/gradle_project/app/src/main/java/com/example/gradle_project/MainActivity.java b/coin/provisioning/common/linux/android/gradle_project/app/src/main/java/com/example/gradle_project/MainActivity.java
new file mode 100644
index 00000000..d3575ef9
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/app/src/main/java/com/example/gradle_project/MainActivity.java
@@ -0,0 +1,16 @@
+// 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
+
+package com.example.gradle_project;
+
+import androidx.appcompat.app.AppCompatActivity;
+
+import android.os.Bundle;
+
+public class MainActivity extends AppCompatActivity {
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_main);
+ }
+}
diff --git a/coin/provisioning/common/linux/android/gradle_project/app/src/main/res/layout/activity_main.xml b/coin/provisioning/common/linux/android/gradle_project/app/src/main/res/layout/activity_main.xml
new file mode 100644
index 00000000..c75d0576
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/app/src/main/res/layout/activity_main.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ tools:context=".MainActivity">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="Hello World!"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
diff --git a/coin/provisioning/common/linux/android/gradle_project/build.gradle b/coin/provisioning/common/linux/android/gradle_project/build.gradle
new file mode 100644
index 00000000..602be027
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/build.gradle
@@ -0,0 +1,4 @@
+// Top-level build file where you can add configuration options common to all sub-projects/modules.
+plugins {
+alias(libs.plugins.androidApplication) apply false
+}
diff --git a/coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml b/coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml
new file mode 100644
index 00000000..65bc49af
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/gradle/libs.versions.toml
@@ -0,0 +1,16 @@
+[versions]
+agp = "7.4.1"
+appcompat = "1.6.1"
+material = "1.11.0"
+constraintlayout = "2.1.4"
+
+[libraries]
+appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
+material = { group = "com.google.android.material", name = "material", version.ref = "material" }
+constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "constraintlayout" }
+
+[plugins]
+androidApplication = { id = "com.android.application", version.ref = "agp" }
+
+[bundles]
+
diff --git a/coin/provisioning/common/linux/android/gradle_project/settings.gradle b/coin/provisioning/common/linux/android/gradle_project/settings.gradle
new file mode 100644
index 00000000..ca34c7e7
--- /dev/null
+++ b/coin/provisioning/common/linux/android/gradle_project/settings.gradle
@@ -0,0 +1,17 @@
+pluginManagement {
+ repositories {
+ google()
+ mavenCentral()
+ gradlePluginPortal()
+ }
+}
+dependencyResolutionManagement {
+ repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
+ repositories {
+ google()
+ mavenCentral()
+ }
+}
+
+rootProject.name = "gradle_project"
+include ':app'
diff --git a/coin/provisioning/common/linux/android_emulator_launcher.sh b/coin/provisioning/common/linux/android_emulator_launcher.sh
new file mode 100755
index 00000000..fad20148
--- /dev/null
+++ b/coin/provisioning/common/linux/android_emulator_launcher.sh
@@ -0,0 +1,120 @@
+#!/bin/bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+
+# This util launches the Android emulator and ensures it doesn't stuck/freeze
+# by detecting that and restarting it
+
+set -e
+
+EMULATOR_MAX_RETRIES=5
+ADB_MAX_TIMEOUT=300
+EMULATOR_EXEC="$ANDROID_SDK_ROOT/emulator/emulator"
+ADB_EXEC="$ANDROID_SDK_ROOT/platform-tools/adb"
+LOGCAT_PATH="$COIN_CTEST_RESULTSDIR/emulator_logcat_%iter.txt"
+EMULATOR_RUN_LOG_PATH="$COIN_CTEST_RESULTSDIR/emulator_run_log_%iter.txt"
+
+if [ -z "${ANDROID_EMULATOR}" ]; then
+ echo "No AVD name provided via ANDROID_EMULATOR env variable. Aborting!"
+ exit 1
+fi
+
+function check_for_android_device
+{
+ $ADB_EXEC devices | awk 'NR==2{print $2}' | grep -qE '^(online|device)$'
+}
+
+# WARNING: On the very first boot of the emulator it happens that the device
+# "finishes" booting and getprop shows bootanim=stopped and
+# boot_completed=1. But sometimes not all packages have been installed (`pm
+# list packages` shows only 16 packages installed), and after around half a
+# minute the boot animation starts spinning (bootanim=running) again despite
+# boot_completed=1 all the time. After some minutes the boot animation stops
+# again and the list of packages contains 80 packages. Only then the device is
+# fully booted, and only then is dev.bootcomplete=1.
+#
+# To reproduce the emulator booting as the first time, you have to delete the
+# cached images found inside $HOME/.android/avd/{avd_name}.avd/ especially the
+# "userdata-qemu.img.qcow2" file.
+function check_if_fully_booted
+{
+ # The "getprop" command separates lines with \r\n so we trim them
+ bootanim=$( timeout 1 "$ADB_EXEC" shell getprop init.svc.bootanim | tr -d '\r\n')
+ boot_completed=$(timeout 1 "$ADB_EXEC" shell getprop sys.boot_completed | tr -d '\r\n')
+ bootcomplete=$( timeout 1 "$ADB_EXEC" shell getprop dev.bootcomplete | tr -d '\r\n')
+ echo "bootanim=$bootanim boot_completed=$boot_completed bootcomplete=$bootcomplete"
+ [ "$bootanim" = stopped ] && [ "$boot_completed" = 1 ] && [ "$bootcomplete" = 1 ]
+}
+
+for counter in $(seq ${EMULATOR_MAX_RETRIES})
+do
+ $ADB_EXEC kill-server
+ $ADB_EXEC start-server
+
+ if check_for_android_device
+ then
+ echo "Emulator is already running but it shouldn't be. Terminating it now..."
+ pkill '^qemu-system-' || true
+ sleep 5
+ fi
+
+ LOGCAT_PATH=${LOGCAT_PATH//%iter/${counter}}
+ EMULATOR_RUN_LOG_PATH=${EMULATOR_RUN_LOG_PATH//%iter/${counter}}
+
+ echo "Starting emulator ${ANDROID_EMULATOR}, try ${counter}/${EMULATOR_MAX_RETRIES}" \
+ | tee "${EMULATOR_RUN_LOG_PATH}"
+ $EMULATOR_EXEC -avd "$ANDROID_EMULATOR" \
+ -gpu swiftshader_indirect -no-audio -no-window -no-boot-anim \
+ -cores 4 -memory 16000 -partition-size 4096 \
+ -detect-image-hang -restart-when-stalled -no-snapshot-save \
+ -no-nested-warnings -logcat '*:v' -logcat-output "${LOGCAT_PATH}" \
+ </dev/null >"${EMULATOR_RUN_LOG_PATH}" 2>&1 &
+ emulator_pid=$!
+ disown $emulator_pid
+
+ echo "Waiting ${ADB_MAX_TIMEOUT} seconds for emulated device to appear..."
+ timeout ${ADB_MAX_TIMEOUT} "$ADB_EXEC" wait-for-device
+
+ # Due to some bug in Coin/Go, we can't have the emulator command stream
+ # the output to the console while in the background, as Coin will continue
+ # waiting for it. So, rely on re-directing all output to a log file and
+ # then printing it out after the emulator is started.
+ echo "######## Printing out the emulator command logs ########"
+ cat "${EMULATOR_RUN_LOG_PATH}"
+ echo "########################################################"
+
+ echo "Waiting a few minutes for the emulator to fully boot..."
+ emulator_status=down
+ for _ in $(seq ${ADB_MAX_TIMEOUT})
+ do
+ sleep 1
+
+ if check_for_android_device && check_if_fully_booted
+ then
+ emulator_status=up
+ break
+ fi
+ done
+
+ # If emulator status is still offline after timeout period,
+ # we can assume it's stuck, and we must restart it
+ if [ $emulator_status = up ]
+ then
+ echo "Emulator started successfully"
+ break
+ else
+ if [ "$counter" -lt "$EMULATOR_MAX_RETRIES" ]
+ then
+ echo "Emulator failed to start," \
+ "forcefully killing current instance and re-starting emulator"
+ kill $emulator_pid || true
+ sleep 5
+ elif [ "$counter" -eq "$EMULATOR_MAX_RETRIES" ]
+ then
+ echo "Emulator failed to start, reached maximum number of retries. Aborting\!"
+ exit 2
+ fi
+ fi
+done
+
+exit 0
diff --git a/coin/provisioning/common/linux/android_linux.sh b/coin/provisioning/common/linux/android_linux.sh
index c77af943..587eb027 100755
--- a/coin/provisioning/common/linux/android_linux.sh
+++ b/coin/provisioning/common/linux/android_linux.sh
@@ -1,42 +1,13 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script install Android sdk and ndk.
# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
+set -e
+
# shellcheck source=../unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
# shellcheck source=../unix/check_and_set_proxy.sh
@@ -47,32 +18,74 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
targetFolder="/opt/android"
sdkTargetFolder="$targetFolder/sdk"
-basePath="http://ci-files01-hki.intra.qt.io/input/android"
+sudo mkdir -p "$sdkTargetFolder"
+
+basePath="http://ci-files01-hki.ci.qt.io/input/android"
-toolsVersion="r26.1.1"
-toolsFile="sdk-tools-linux-4333796.zip"
-ndkVersion="r18b"
-ndkFile="android-ndk-$ndkVersion-linux-x86_64.zip"
-sdkBuildToolsVersion="28.0.3"
-sdkApiLevel="android-28"
+toolsVersion="2.1"
+toolsFile="commandlinetools-linux-6609375_latest.zip"
+ndkVersionLatest="r26b"
+ndkVersionDefault=$ndkVersionLatest
+sdkBuildToolsVersion="34.0.0"
+sdkApiLevel="android-34"
-toolsSha1="8c7c28554a32318461802c1291d76fccfafde054"
-ndkSha1="500679655da3a86aecf67007e8ab230ea9b4dd7b"
+toolsSha1="9172381ff070ee2a416723c1989770cf4b0d1076"
+ndkSha1Latest="fdf33d9f6c1b3f16e5459d53a82c7d2201edbcc4"
+ndkSha1Default=$ndkSha1Latest
+
+# Android 14 avd zip
+android14SystemZipName="android14system_UE1A_230829_036.tar.gz"
+android14SystemZipSha="ede80c6901e8fad1895c97a86542b8e072bb1ee5"
+android14SystemPath="$basePath/$android14SystemZipName"
+
+# Android Automotive max SDK level image
+sdkApiLevelAutomotiveMax="android-33"
+androidAutomotiveMaxUrl="$basePath/${sdkApiLevelAutomotiveMax}_automotive.tar.gz"
+androidAutomotiveMaxSha="b020a938ec46af2510047284406e9bed608cad03"
+# Android Automotive min SDK level image
+sdkApiLevelAutomotiveMin="android-29"
+androidAutomotiveMinUrl="$basePath/${sdkApiLevelAutomotiveMin}_automotive.tar.gz"
+androidAutomotiveMinSha="e6092585c00f87eb3b20a2eb7fdf6add42342d2f"
toolsTargetFile="/tmp/$toolsFile"
toolsSourceFile="$basePath/$toolsFile"
-ndkTargetFile="/tmp/$ndkFile"
-ndkSourceFile="$basePath/$ndkFile"
+echo "Download and unzip Android SDK"
DownloadURL "$toolsSourceFile" "$toolsSourceFile" "$toolsSha1" "$toolsTargetFile"
-DownloadURL "$ndkSourceFile" "$ndkSourceFile" "$ndkSha1" "$ndkTargetFile"
-echo "Unzipping Android NDK to '$targetFolder'"
-sudo unzip -q "$ndkTargetFile" -d "$targetFolder"
echo "Unzipping Android Tools to '$sdkTargetFolder'"
sudo unzip -q "$toolsTargetFile" -d "$sdkTargetFolder"
-rm "$ndkTargetFile"
rm "$toolsTargetFile"
+function InstallNdk() {
+
+ ndkVersion=$1
+ ndkSha1=$2
+
+ ndkFile="android-ndk-$ndkVersion-linux.zip"
+ ndkTargetFile="/tmp/$ndkFile"
+ ndkSourceFile="$basePath/$ndkFile"
+
+ DownloadURL "$ndkSourceFile" "$ndkSourceFile" "$ndkSha1" "$ndkTargetFile"
+ echo "Unzipping Android NDK to '$targetFolder'"
+ # Get the package base directory name as string
+ zipBase=$(sudo zipinfo -1 "$ndkTargetFile" 2>/dev/null | awk '!seen {sub("/.*",""); print; seen=1}')
+ sudo unzip -q "$ndkTargetFile" -d "$targetFolder"
+ rm "$ndkTargetFile"
+ androidNdkRoot="${targetFolder}/${zipBase}"
+}
+
+InstallNdk $ndkVersionDefault $ndkSha1Default
+SetEnvVar "ANDROID_NDK_ROOT_DEFAULT" "$androidNdkRoot"
+
+if [ "$ndkVersionDefault" != "$ndkVersionLatest" ]; then
+ InstallNdk $ndkVersionLatest $ndkSha1Latest
+fi
+SetEnvVar "ANDROID_NDK_ROOT_LATEST" "$androidNdkRoot"
+
+# To be used by vcpkg
+SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersionDefault"
+export ANDROID_NDK_HOME="$targetFolder/android-ndk-$ndkVersionDefault"
+
echo "Changing ownership of Android files."
if uname -a |grep -q "el7"; then
sudo chown -R qt:wheel "$targetFolder"
@@ -80,37 +93,113 @@ else
sudo chown -R qt:users "$targetFolder"
fi
+# Stop the sdkmanager from printing thousands of lines of #hashmarks.
+# Run the following command under `eval` or `sh -c` so that the shell properly splits it.
+sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
+# But don't let the pipeline hide sdkmanager failures.
+set -o pipefail
+
+sudo mkdir "$sdkTargetFolder/cmdline-tools"
+sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
+
echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
# shellcheck disable=SC2031
if [ "$http_proxy" != "" ]; then
proxy_host=$(echo "$proxy" | cut -d'/' -f3 | cut -d':' -f1)
proxy_port=$(echo "$proxy" | cut -d':' -f3)
- echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" --no_https --proxy=http --proxy_host="$proxy_host" --proxy_port="$proxy_port" "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion"
+ echo "y" | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" --sdk_root=$sdkTargetFolder \
+ --no_https --proxy=http --proxy_host="$proxy_host" --proxy_port="$proxy_port" \
+ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
+ | eval "$sdkmanager_no_progress_bar_cmd"
else
- echo "y" |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion"
+ echo "y" | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" --sdk_root=$sdkTargetFolder \
+ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
+ | eval "$sdkmanager_no_progress_bar_cmd"
fi
echo "Checking the contents of Android SDK..."
ls -l "$sdkTargetFolder"
-SetEnvVar "ANDROID_SDK_HOME" "$sdkTargetFolder"
-SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersion"
+SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder"
SetEnvVar "ANDROID_NDK_HOST" "linux-x86_64"
SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
# shellcheck disable=SC2129
-echo "Android SDK tools = $toolsVersion" >> ~/versions.txt
-echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt
-echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt
-echo "Android NDK = $ndkVersion" >> ~/versions.txt
-
-cd "$sdkTargetFolder/tools/bin"
-./sdkmanager --install "emulator"
-echo "y" | ./sdkmanager --install "system-images;android-21;google_apis;x86"
+cat <<EOB >>~/versions.txt
+Android SDK tools = $toolsVersion
+Android SDK Build Tools = $sdkBuildToolsVersion
+Android SDK API level = $sdkApiLevel
+Android NDK = $ndkVersion
+EOB
+
+cd "$sdkTargetFolder/cmdline-tools/tools/bin"
+./sdkmanager --install "emulator" --sdk_root="$sdkTargetFolder" \
+ | eval "$sdkmanager_no_progress_bar_cmd"
+
+echo "Download and unzip Android Emulator version 34.1.19"
+emulatorFileName="emulator-linux_x64-11525734.zip"
+emulatorCiUrl="https://ci-files01-hki.ci.qt.io/input/android/$emulatorFileName"
+emulatorUrl="http://dl.google.com/android/repository/$emulatorFileName"
+emulatorTargetFile="$sdkTargetFolder/$emulatorFileName"
+emulatorSha1="d6cc94109b081c5f6042dcb71a453144f7e62ce7"
+DownloadURL "$emulatorCiUrl" "$emulatorUrl" "$emulatorSha1" "$emulatorTargetFile"
+echo "Unzipping the Android Emulator to '$sdkTargetFolder'"
+sudo unzip -o -q "$emulatorTargetFile" -d "$sdkTargetFolder"
+rm "$emulatorTargetFile"
+
+echo "y" | ./sdkmanager --install "system-images;android-26;google_apis;x86" \
+ | eval "$sdkmanager_no_progress_bar_cmd"
+
+echo "Extract stored Android 14 Beta $android14SystemZipName"
+DownloadURL "$android14SystemPath" "$android14SystemPath" "$android14SystemZipSha" \
+ "/tmp/$android14SystemZipName"
+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 x86emulator -k "system-images;android-21;google_apis;x86" -c 2048M -f
+echo "no" | ./avdmanager create avd -n emulator_x86_api_26 -c 2048M -f \
+ -k "system-images;android-26;google_apis;x86"
+
+echo "no" | ./avdmanager create avd -n emulator_x86_64_api_34 -c 2048M -f \
+ -k "system-images;android-34;google_apis;x86_64"
+
+echo "Install maximum supported SDK level image for Android Automotive $sdkApiLevelAutomotiveMax"
+DownloadURL "$androidAutomotiveMaxUrl" "$androidAutomotiveMaxUrl" "$androidAutomotiveMaxSha" \
+ "/tmp/${sdkApiLevelAutomotiveMax}_automotive.tar.gz"
+sudo tar -xzf "/tmp/${sdkApiLevelAutomotiveMax}_automotive.tar.gz" -C "$sdkTargetFolder/system-images"
+echo "no" | ./avdmanager create avd -n automotive_emulator_x86_64_api_33 -c 2048M -f \
+ -k "system-images;${sdkApiLevelAutomotiveMax};android-automotive;x86_64"
+
+echo "Install minimum supported SDK level image for Android Automotive $sdkApiLevelAutomotiveMin"
+DownloadURL "$androidAutomotiveMinUrl" "$androidAutomotiveMinUrl" "$androidAutomotiveMinSha" \
+ "/tmp/${sdkApiLevelAutomotiveMin}_automotive.tar.gz"
+sudo tar -xzf "/tmp/${sdkApiLevelAutomotiveMin}_automotive.tar.gz" -C $sdkTargetFolder/system-images
+echo "no" | ./avdmanager create avd -n automotive_emulator_x86_64_api_29 -c 2048M -f \
+ -k "system-images;${sdkApiLevelAutomotiveMin};android-automotive;x86_64"
+
# Purely informative, show the list of avd devices
./avdmanager list avd
+
+# To be used by the VMs to start the emulator for tests
+emulator_script_filename="android_emulator_launcher.sh"
+scripts_dir_name="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
+cp "${scripts_dir_name}/${emulator_script_filename}" "${HOME}"
+ANDROID_EMULATOR_RUNNER="${HOME}/${emulator_script_filename}"
+SetEnvVar "ANDROID_EMULATOR_RUNNER" "$ANDROID_EMULATOR_RUNNER"
+
+# Gradle Caching
+cp -r "${scripts_dir_name}/android/gradle_project" /tmp/gradle_project
+cd /tmp/gradle_project
+# Get Gradle files from qtbase
+qtbaseGradleUrl="https://code.qt.io/cgit/qt/qtbase.git/plain/src/3rdparty/gradle"
+commit_sha="0d91cc866f2799d56911bcdadabebb137eafcea8"
+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
+# Run Gradle
+chmod +x gradlew
+ANDROID_SDK_ROOT="$sdkTargetFolder" sh gradlew build
diff --git a/coin/provisioning/common/linux/apt_wait_loop.sh b/coin/provisioning/common/linux/apt_wait_loop.sh
index b34e1ebc..60d5d5ed 100755
--- a/coin/provisioning/common/linux/apt_wait_loop.sh
+++ b/coin/provisioning/common/linux/apt_wait_loop.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
diff --git a/coin/provisioning/common/linux/axivion-bauhaus-suite.sh b/coin/provisioning/common/linux/axivion-bauhaus-suite.sh
new file mode 100755
index 00000000..ab4ce5ef
--- /dev/null
+++ b/coin/provisioning/common/linux/axivion-bauhaus-suite.sh
@@ -0,0 +1,44 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs Axivion Bauhaus Suite tool.
+
+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
+
+ DownloadURL "$url" "$url" "$sha" "$file"
+ tar -xzvf "$file"
+
+ rm -rf "$file"
+}
+
+
+# Axivion Bauhaus Suite
+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"
+DownloadAndExtract "$sourceFile" "$sha1" "$targetFile" "$HOME"
+
+mkdir "$HOME/.bauhaus"
+cd "$HOME/.bauhaus"
+wget http://ci-files01-hki.ci.qt.io/input/axivion/Qt_Evaluation_QSR_INTERN_20250118.key
+cd "$HOME"
+
+#Axivion configuration
+configurationFile="http://ci-files01-hki.ci.qt.io/input/axivion/axivion_config_771_new.tar.gz"
+configurationTargetFile="axivion_config.tar.gz"
+configSha1="db77f376e0b3ee0f7a74701790d1c8abe792bebe"
+DownloadAndExtract "$configurationFile" "$configSha1" "$configurationTargetFile" "$HOME"
+
+echo "Axivion Bauhaus Suite = 7.7.4" >> ~/versions.txt
diff --git a/coin/provisioning/common/linux/bootstrap-autostart.sh b/coin/provisioning/common/linux/bootstrap-autostart.sh
new file mode 100755
index 00000000..d590069e
--- /dev/null
+++ b/coin/provisioning/common/linux/bootstrap-autostart.sh
@@ -0,0 +1,89 @@
+#!/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
+
+# Make bootstap agent run in background without terminal view
+# Terminal view can cause issues with Autotests
+
+# Create shell wrapper to pass environment variables
+wrapper="${HOME}/bootstrap-agent.sh"
+autostart_folder="${HOME}/.config/autostart"
+# This directory should exist. Created in base image (tier 1)
+mkdir -p "${autostart_folder}"
+
+# Create autostart desktop file and shell wrapper
+sudo tee "${autostart_folder}/coin-bootstrap-agent.desktop" <<"EOF"
+[Desktop Entry]
+Type=Application
+Exec=/home/qt/bootstrap-agent.sh
+Hidden=false
+X-GNOME-Autostart-enabled=true
+Name=Coin
+EOF
+
+sudo tee "$wrapper" <<"EOF"
+#!/bin/sh
+# Wait for network to come up
+x=0
+while ! cat "/etc/resolv.conf" | grep -v "#" | grep "nameserver" > /dev/null ; do
+ echo "(WW) wating for network ($x/20)..." >> /home/qt/bootstrap-agent.txt
+ x=$((x+1))
+ sleep 1
+ if [ "$x" -gt 20 ]; then
+ echo "(EE) netowrk down. Exiting bootstrap." >> /home/qt/bootstrap-agent.txt
+ exit 1
+ fi
+done
+echo "(**) network found." >> /home/qt/bootstrap-agent.txt
+
+# Wait for context to be mounted
+x=0
+while ! ([ -f "/media/qt/CONTEXT/context.sh" ] || [ -f "/media/CONTEXT/context.sh" ] || [ -f "/run/media/qt/CONTEXT/context.sh" ]); do
+ echo "(WW) waiting for context file to be mounted ($x/20)..." >> /home/qt/bootstrap-agent.txt
+ x=$((x+1))
+ sleep 1
+ if [ "$x" -gt 20 ]; then
+ echo "(WW) no context file found. Mounting manually." >> /home/qt/bootstrap-agent.txt
+ break
+ fi
+done
+
+# establish mount path (differs per distro)
+if ! ([ -f "/media/qt/CONTEXT/context.sh" ] || [ -f "/media/CONTEXT/context.sh" ] || [ -f "/run/media/qt/CONTEXT/context.sh" ]); then
+ MOUNTPATH="invalid"
+ if [ -d "/run/media/qt/CONTEXT" ]; then
+ MOUNTPATH="/run/media/qt/CONTEXT"
+ fi
+ if [ -d "/media/qt/CONTEXT" ]; then
+ MOUNTPATH="/media/qt/CONTEXT"
+ fi
+ if [ -d "/media/CONTEXT" ]; then
+ MOUNTPATH="/media/CONTEXT"
+ fi
+
+ # try mounting if unmounted
+ if [ -d "$MOUNTPATH" ]; then
+ if ! mount | grep "$MOUNTPATH" > /dev/null ; then
+ echo "(WW) context file not mounted..." >> /home/qt/bootstrap-agent.txt
+ echo "(WW) waiting 1 minute" >> /home/qt/bootstrap-agent.txt
+ sleep 60
+ echo "(**) mount /dev/sr0 $MOUNTPATH" >> /home/qt/bootstrap-agent.txt
+ sudo mount -r /dev/sr0 $MOUNTPATH
+ fi
+ fi
+fi
+
+if ([ -f "/media/qt/CONTEXT/context.sh" ] || [ -f "/media/CONTEXT/context.sh" ] || [ -f "/run/media/qt/CONTEXT/context.sh" ]); then
+ echo "(**) context found." >> /home/qt/bootstrap-agent.txt
+else
+ echo "(EE) context not found. Starting bootstrap anyway." >> /home/qt/bootstrap-agent.txt
+fi
+
+/home/qt/bootstrap-agent /dev/ttyS0
+EOF
+
+# set owner and permissions
+sudo chown qt:users "$wrapper"
+sudo chmod 755 "$wrapper"
diff --git a/coin/provisioning/common/linux/cleanup_cache.sh b/coin/provisioning/common/linux/cleanup_cache.sh
new file mode 100755
index 00000000..acb85965
--- /dev/null
+++ b/coin/provisioning/common/linux/cleanup_cache.sh
@@ -0,0 +1,58 @@
+#!/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
+
+# This script needs to be called at the end of provisioning, to clean the cache directory
+
+set -e
+set -f
+QT_USER="qt"
+CACHE=".cache"
+
+echo "---- starting cache cleanup."
+
+# skip if user qt does not exist
+echo "---- checking user $QT_USER"
+if grep -q "^$QT_USER:" /etc/passwd; then
+ echo "(**) found user $QT_USER"
+else
+ echo "(WW) user $QT_USER not found."
+ echo "---- skipping cache cleanup."
+ exit 0
+fi
+
+# assume /home/qt as ~ won't expand into sudo
+CACHEDIR="/home/$QT_USER/$CACHE"
+
+# delete files from a directory if it exists
+echo "---- checking cache directory $CACHEDIR"
+if sudo [ -d "$CACHEDIR" ]; then
+ if [ "$(sudo ls -A $CACHEDIR)" ]; then
+ echo "(WW) cache in $CACHEDIR is not empty."
+ echo "---- removing content:"
+
+ # List files and delete in a loop as wildcard won't expand into sudo
+ sudo ls -A1 "$CACHEDIR" | while read -r FILE
+ do
+ echo "--- rm -rf $FILE"
+ sudo rm -rf "$CACHEDIR/$FILE"
+ done
+ else
+ echo "(**) cache in $CACHEDIR is empty."
+ fi
+else
+ if sudo [ -f "$CACHEDIR" ]; then
+ # replace a cache file with a directory
+ echo "(WW) $CACHEDIR is a file."
+ echo "---- removing $CACHEDIR."
+ sudo rm -r "$CACHEDIR"
+ else
+ echo "(WW) cache directory $CACHEDIR not found."
+ fi
+
+ # create new cache directory and assign rights
+ echo "---- creating cache director $CACHEDIR."
+ sudo mkdir "$CACHEDIR"
+ sudo chown $QT_USER:users $CACHEDIR
+ sudo chmod 700 $CACHEDIR
+fi
diff --git a/coin/provisioning/common/linux/cmake_linux.sh b/coin/provisioning/common/linux/cmake_linux.sh
index 2b8d71d0..5fadad24 100755
--- a/coin/provisioning/common/linux/cmake_linux.sh
+++ b/coin/provisioning/common/linux/cmake_linux.sh
@@ -1,39 +1,8 @@
#!/usr/bin/env bash
+# Copyright (C) 2016 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
-#############################################################################
-##
-## Copyright (C) 2016 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs CMake 3.6.2
+# This script installs CMake
# CMake is needed for autotests that verify that Qt can be built with CMake
@@ -42,12 +11,13 @@ source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-version="3.6.2"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/cmake/cmake-3.6.2-Linux-x86_64.tar.gz"
-AltUrl="https://cmake.org/files/v3.6/cmake-3.6.2-Linux-x86_64.tar.gz"
-SHA1="dd9d8d57b66109d4bac6eef9209beb94608a185c"
+majorminorversion="3.27"
+version="3.27.7"
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/cmake/cmake-$version-linux-x86_64.tar.gz"
+AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-linux-x86_64.tar.gz"
+SHA1="83ab00c8432a71cfc81e933ee7b3c3e14d50ad6f"
targetFolder="/opt/cmake-$version"
-appPrefix="cmake-$version-Linux-x86_64"
+appPrefix="cmake-$version-linux-x86_64"
InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix"
diff --git a/coin/provisioning/common/linux/cmake_min_supported.sh b/coin/provisioning/common/linux/cmake_min_supported.sh
new file mode 100755
index 00000000..4c64299b
--- /dev/null
+++ b/coin/provisioning/common/linux/cmake_min_supported.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env bash
+# Copyright (C) 2016 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs the minimum supported CMake to build Qt
+
+# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+
+majorminorversion="3.16"
+version="3.16.8"
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/cmake/cmake-$version-Linux-x86_64.tar.gz"
+AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-Linux-x86_64.tar.gz"
+SHA1="a4d2f96f475ccc8e1ae1d97cf6c8ce39abaa9d7c"
+targetFolder="/opt/cmake-$version"
+appPrefix="cmake-$version-Linux-x86_64"
+
+InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix"
+
+SetEnvVar "CMAKE_MIN_SUPPORTED_BIN_PATH" "$targetFolder/bin"
+
+echo "CMake Min Supported = $version" >> ~/versions.txt
+
diff --git a/coin/provisioning/common/linux/cmake_toolchain_files/integrity_toolchain.cmake b/coin/provisioning/common/linux/cmake_toolchain_files/integrity_toolchain.cmake
new file mode 100644
index 00000000..63cbc985
--- /dev/null
+++ b/coin/provisioning/common/linux/cmake_toolchain_files/integrity_toolchain.cmake
@@ -0,0 +1,116 @@
+#generic
+set(CMAKE_SYSTEM_NAME Integrity)
+set(CMAKE_SYSTEM_PROCESSOR arm)
+set(CMAKE_CROSSCOMPILING True)
+
+set(TARGET_ROOT_PATH "/home/qt/integrity_toolchain/hlos_dev_boot")
+set(CMAKE_BUILD_TYPE "Release")
+
+set(CMAKE_C_COMPILER cxintarm64)
+set(CMAKE_CXX_COMPILER cxintarm64)
+set(CMAKE_ASM_COMPILER cxintarm64)
+
+set(EGL_FOUND True)
+set(UNIX True)
+
+set (CMAKE_C_COMPILE_FEATURES c_std_11)
+set (CMAKE_CXX_COMPILE_FEATURES
+cxx_alias_templates
+cxx_alignas
+cxx_alignof
+cxx_attributes
+cxx_auto_type
+cxx_constexp
+cxx_decltype
+cxx_delegating_constructors
+cxx_explicit_conversions
+cxx_extern_templates
+cxx_inheriting_constructors
+cxx_lambdas
+cxx_noexcept
+cxx_nonstatic_member_init
+cxx_nullptr
+cxx_override
+cxx_range_for
+cxx_raw_string_literals
+cxx_reference_qualified_functions
+cxx_rvalue_references
+cxx_static_assert
+cxx_std_17
+cxx_thread_local
+cxx_unicode_literals
+cxx_uniform_initialization
+cxx_unrestricted_unions
+cxx_variadic_macros
+cxx_variadic_templates)
+
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PROGRAM)
+ set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+endif()
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_LIBRARY)
+ set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+endif()
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PACKAGE)
+ set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
+endif()
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_INCLUDE)
+ set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+endif()
+
+set(CMAKE_FIND_ROOT_PATH ${TARGET_ROOT_PATH})
+
+#graphical lib paths
+set(EGL_LIBRARY_GRAPHIC_PATH ${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/out/rel/libs/multimedia/graphics)
+set(EGL_LIBRARY_CHK_PATH ${TARGET_ROOT_PATH}/apps/ghs_apps_proc/integrity/libs/arm64/chk)
+set(EGL_LIBRARY_PREBUILD_PATH ${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/opengl/esx/build/integrity/prebuilt)
+
+#base
+set(CMAKE_C_FLAGS "-bsp $ENV{INTEGRITY_BSP} -os_dir $ENV{INTEGRITY_DIR} -non_shared -startfile_dir=$ENV{INTEGRITY_DIR}/libs/$ENV{INTEGRITY_BSP}/$ENV{INTEGRITY_BUILD_TARGET} --rtos_library_directory=libs/$ENV{INTEGRITY_BSP}/$ENV{INTEGRITY_BUILD_TARGET} --rtos_library_directory=libs/arm64/$ENV{INTEGRITY_BUILD_TARGET} -bigswitch -DINTEGRITY -llibposix.a")
+
+set(CMAKE_C_FLAGS_DEBUG "-g -Omaxdebug")
+set(CMAKE_C_FLAGS_RELEASE "-Ospeed -Olink -Omax -no_uvfd")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --signed_fields --diag_suppress=1,82,228,236,381,611,961,997,1795,1931,1974,3148,1721,1424,193,940,620,111,128,185,826,186,68,830,177,554,550,175,1441,546 -std=c11 --c++17 --thread_local_storage --exceptions --defer_parse_function_templates")
+
+set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -frigor=accurate --signed_fields --no_implicit_include --link_once_templates -non_shared --new_outside_of_constructor --commons -I $ENV{QC_MULTIMEDIA_INC_DIR}")
+set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
+set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
+
+set(CMAKE_FIND_LIBRARY_PREFIXES "lib")
+set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
+set(BUILD_SHARED_LIBS OFF)
+
+set(QT_CFLAGS_OPTIMIZE_FULL "-Ospeed -Olink -Omax")
+set(GLSLANG_OSDEP_PATH ../3rdparty/glslang/glslang/OSDependent/Unix)
+set(GL_INC_DIR ${TARGET_ROOT_PATH}/apps/ghs_apps_proc/qc_bsp/AMSS/multimedia/graphics/include/public)
+
+set(PKG_EGL_LIBRARY_DIRS ${TARGET_ROOT_PATH})
+set(EGL_INCLUDE_DIR ${GL_INC_DIR})
+
+set(EGL_LIBRARY "${EGL_LIBRARY_GRAPHIC_PATH}/libESXEGL_Adreno.a")
+
+set(GLESv2_INCLUDE_DIR ${GL_INC_DIR})
+set(GLESv2_LIBRARY "${EGL_LIBRARY_GRAPHIC_PATH}/libESXGLESv2_Adreno.a")
+
+set(IntegrityPlatformGraphics_INCLUDE_DIR ${GL_INC_DIR})
+set(IntegrityPlatformGraphics_LIBRARY "${EGL_LIBRARY_GRAPHIC_PATH}/libadreno_utils.a")
+set(IntegrityPlatformGraphics_LIBRARIES_PACK
+ "${EGL_LIBRARY_GRAPHIC_PATH}/libplanedef.a"
+ "${EGL_LIBRARY_GRAPHIC_PATH}/libmmosalfile.a"
+ "${EGL_LIBRARY_GRAPHIC_PATH}/libOSAbstraction.a"
+ "${EGL_LIBRARY_GRAPHIC_PATH}/libopenwfd.a"
+ "${EGL_LIBRARY_GRAPHIC_PATH}/libOSUser.a"
+ "${EGL_LIBRARY_GRAPHIC_PATH}/libpanel.a"
+ "${EGL_LIBRARY_GRAPHIC_PATH}/libGSLUser.a"
+ "${EGL_LIBRARY_PREBUILD_PATH}/libglnext-llvm.a"
+ "${EGL_LIBRARY_GRAPHIC_PATH}/libpmem.a"
+ "${EGL_LIBRARY_CHK_PATH}/libposix.a"
+ "${EGL_LIBRARY_CHK_PATH}/libivfs.a"
+)
+
+list(APPEND _qt_igy_gui_libs
+ "${GLESv2_LIBRARY}"
+ "${IntegrityPlatformGraphics_LIBRARY}"
+ "${IntegrityPlatformGraphics_LIBRARIES_PACK}")
+
+set(OPENGL_INCLUDE_DIR ${GL_INC_DIR})
+set(OPENGL_opengl_LIBRARY ${EGL_LIBRARY})
diff --git a/coin/provisioning/common/linux/devel_languages_go.SUSE_repo_key.pub b/coin/provisioning/common/linux/devel_languages_go.SUSE_repo_key.pub
new file mode 100644
index 00000000..48162c56
--- /dev/null
+++ b/coin/provisioning/common/linux/devel_languages_go.SUSE_repo_key.pub
@@ -0,0 +1,19 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1.4.5 (GNU/Linux)
+
+mQGiBEyvJq8RBAD64FtKbU3VFsZ4PAzcSi9rETc1qXZLVQYtrE38niriIJUuT/tC
+kxGjkduD7ozP6rxL+M8fk9UdbbmzhHhXzQT2blyYy2iwpZP5+AFeQawz+oyMRVze
+x6IY5qO31TiRu+aEBptk6nco4DULlKABlvtjKI+gJ4buJm+TumyrPaxe9wCgpFwl
+O0fEjpOfQd+6Du0sCnPX7+8D/3xYVj9q5ILmrJ9zehBKjRYEcaP0rZVqudH51FUS
+I0LQNHsJdzKLzhT+Zj7TJU4KnCN4sX7amfYL3GT9qyZEBDx2alubvEsI36wtNq0i
+ewU4XmyZ+Rd7Q4mAPNoBGe5DsUA8wn/7iHGg9aJHu+GXvH7T3DVoUxW5W2KqPw+h
+jzqGBACWGuuCefa683uf6aKqpTS3JB+01BDPf+sG9qJ+k7xcJOsEiXIe1X5vH9ov
+kEvTM12kzY7SGwlsFsTDT1xioDl62g5nPlZMXErUBVnjoMtjl9bDwUPJY/vP1S9M
+VaONBMoJEON3HRui9jhdEK25LTdrcFlFpRzJI3AgdXwy8aQyiLRGZGV2ZWw6bGFu
+Z3VhZ2VzOmdvIE9CUyBQcm9qZWN0IDxkZXZlbDpsYW5ndWFnZXM6Z29AYnVpbGQu
+b3BlbnN1c2Uub3JnPohmBBMRAgAmBQJc9DoCAhsDBQkUY8NTBgsJCAcDAgQVAggD
+BBYCAwECHgECF4AACgkQr0z+TTB9e/lQZgCfXIjj30HyCPvUbSbSd6zOS0seAegA
+n3DXayMpRphNmyJgLvl5qKfsX7f6iEYEExECAAYFAkyvJq8ACgkQOzARt2udZSOg
+qQCeOba7kjk7CI+64GOkhhTGSdjnjdQAn2IC5tx+PW38XKwl3Jr5YVp0RyR0
+=AOj6
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/coin/provisioning/common/linux/disable-cracklib.sh b/coin/provisioning/common/linux/disable-cracklib.sh
index e6cfc7a5..c4a5f9ba 100755
--- a/coin/provisioning/common/linux/disable-cracklib.sh
+++ b/coin/provisioning/common/linux/disable-cracklib.sh
@@ -1,4 +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
sudo chmod -x /etc/cron.daily/cracklib-runtime
diff --git a/coin/provisioning/common/linux/disable-notifications.sh b/coin/provisioning/common/linux/disable-notifications.sh
index 7e805833..802f986c 100755
--- a/coin/provisioning/common/linux/disable-notifications.sh
+++ b/coin/provisioning/common/linux/disable-notifications.sh
@@ -1,4 +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
-sudo gsettings set org.gnome.desktop.notifications.application:/update-manager/ enable false
-sudo gsettings set org.gnome.desktop.notifications show-banners false
+gsettings set org.gnome.desktop.notifications.application:/update-manager/ enable false
+gsettings set org.gnome.desktop.notifications show-banners false
diff --git a/coin/provisioning/common/linux/disable-ntp_linux.sh b/coin/provisioning/common/linux/disable-ntp_linux.sh
index b73e44a5..f0712f48 100755
--- a/coin/provisioning/common/linux/disable-ntp_linux.sh
+++ b/coin/provisioning/common/linux/disable-ntp_linux.sh
@@ -1,44 +1,17 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
echo "Disable Network Time Protocol (NTP)"
-if uname -a |grep -q "Ubuntu"; then
+if uname -a |grep -q "Ubuntu\|Debian" ; then
+ sudo timedatectl set-ntp false
+elif grep "PRETTY_NAME" /etc/os-release | grep -q "Leap 15"; then
+ (sudo systemctl stop chronyd && sudo systemctl disable chronyd)
+elif grep -q "SUSE Linux Enterprise Server 15" /etc/os-release; then
sudo timedatectl set-ntp false
else
- (systemctl &>/dev/null && sudo systemctl disable ntpd) || sudo /sbin/chkconfig ntpd off
+ sudo systemctl disable ntpd || sudo /sbin/chkconfig ntpd off
fi
diff --git a/coin/provisioning/common/linux/disable_kwin_overview.sh b/coin/provisioning/common/linux/disable_kwin_overview.sh
new file mode 100755
index 00000000..988c64c5
--- /dev/null
+++ b/coin/provisioning/common/linux/disable_kwin_overview.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -e
+set -f
+QT_USER="qt"
+CONFDIR=".config"
+KWINRC="kwinrc"
+KWC5=$(which kwriteconfig5)
+
+if [ -z "$KWC5" ]; then
+ echo "(WW) kwriteconfig5 script not found."
+ echo "---- skipping overview disabling."
+ exit 0;
+fi
+
+echo "---- ensuring window overview is disabled in kwin."
+
+# skip if user qt does not exist
+echo "---- checking user $QT_USER"
+if grep -q "^$QT_USER:" /etc/passwd; then
+ echo "(**) found user $QT_USER"
+else
+ echo "(WW) user $QT_USER not found."
+ echo "---- skipping overview disabling."
+ exit 0;
+fi
+
+CONFIGFILE="/home/$QT_USER/$CONFDIR/$KWINRC"
+
+# Check kwinrc existence
+echo "---- checking for kwinrc."
+if [ -f "$CONFIGFILE" ]; then
+ echo "(**) found kwinrc at $CONFIGFILE. Disabling overview."
+
+ $KWC5 --file "$CONFIGFILE" --group Effect-windowview --key BorderActivateAll "9"
+ $KWC5 --file "$CONFIGFILE" --group Plugins --key windowOverview "false"
+
+else
+ echo "(WW) no kwinrc found at $CONFIGFILE."
+ echo "(WW) exiting."
+fi
diff --git a/coin/provisioning/common/linux/disable_selinux.sh b/coin/provisioning/common/linux/disable_selinux.sh
index 64852e79..a788818e 100755
--- a/coin/provisioning/common/linux/disable_selinux.sh
+++ b/coin/provisioning/common/linux/disable_selinux.sh
@@ -1,4 +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
# We need to disable selinux while we are overwriting some binaries
# required by it. If this is not done, ICU provisioning will create
diff --git a/coin/provisioning/common/linux/docker.sh b/coin/provisioning/common/linux/docker.sh
index 16af0a0a..27673698 100755
--- a/coin/provisioning/common/linux/docker.sh
+++ b/coin/provisioning/common/linux/docker.sh
@@ -1,52 +1,48 @@
#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# Download and install the docker engine.
-sudo apt-get install curl -y
-curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
-sudo apt-get update
-sudo apt-get install docker-ce -y
-sudo usermod -a -G docker $USER
-sudo docker info
-
-# Download and install the docker-compose extension.
-sudo curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
-sudo chmod +x /usr/local/bin/docker-compose
+set -e
+
+PROVISIONING_DIR="$(dirname "$0")/../../"
+# shellcheck source=../unix/common.sourced.sh
+source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
+# shellcheck source=../unix/DownloadURL.sh
+source "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
+
+localRepo=http://ci-files01-hki.ci.qt.io/input/docker
+upstreamRepo=https://download.docker.com/linux/ubuntu/dists/focal/pool/stable/amd64/
+
+function getEachUpstream () {
+ while read -r sha f
+ do DownloadURL "$localRepo/$f" "$upstreamRepo/$f" "$sha"
+ done
+}
+cat <<EOF | getEachUpstream
+2666840157bab3b77a850236fbf323c423fb564a containerd.io_1.6.9-1_amd64.deb
+ec6a1ad99b19b6a674349fb13bcc10d62c54c404 docker-ce_23.0.0-1~ubuntu.20.04~focal_amd64.deb
+130774916fa7e2c9997b8fcb4e7696a343f12fb0 docker-ce-cli_23.0.0-1~ubuntu.20.04~focal_amd64.deb
+EOF
+
+sudo apt-get -y install ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb
+rm -f ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb
+
+sudo usermod -a -G docker "$USER"
+sudo docker --version
+
+# Download and install the docker-compose extension from https://github.com/docker/compose/releases
+f=docker-compose-$(uname -s)-$(uname -m)
+dockerComposeVersion="v2.15.1"
+DownloadURL \
+ "$localRepo/$f-${dockerComposeVersion}" \
+ "https://github.com/docker/compose/releases/download/${dockerComposeVersion}/$f" \
+ bcfd9ea51dee4c19dccdfaeef0e7956ef68bf14f3d175933742061a7271ef0f5
+sudo install -m 755 ./docker-compose* /usr/local/bin/docker-compose
+sudo docker-compose --version
+rm ./docker-compose*
+
+# Install Avahi to discover Docker containers in the test network
+sudo apt-get install avahi-daemon -y
# Start testserver provisioning
-source "${BASH_SOURCE%/*}/testserver/docker_testserver.sh"
+sudo "$(readlink -f "$(dirname "${BASH_SOURCE[0]}")")/../shared/testserver/docker_testserver.sh"
diff --git a/coin/provisioning/common/linux/emsdk.sh b/coin/provisioning/common/linux/emsdk.sh
deleted file mode 100755
index 55f5a8c9..00000000
--- a/coin/provisioning/common/linux/emsdk.sh
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/usr/bin/env bash
-#############################################################################
-##
-## Copyright (C) 2019 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh
-source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
-# shellcheck source=../unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-# shellcheck source=../unix/DownloadURL.sh
-source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
-
-version="1.38.16"
-version_node="8.9.1"
-urlEmscriptenCache="http://ci-files01-hki.intra.qt.io/input/emsdk/emscripten-$version.tar.gz"
-urlEmscriptenExternal="https://github.com/kripken/emscripten/archive/$version.tar.gz"
-urlEmscriptenLlvmCache="http://ci-files01-hki.intra.qt.io/input/emsdk/emscripten-llvm-e$version.tar.gz"
-urlEmscriptenLlvmExternal="https://s3.amazonaws.com/mozilla-games/emscripten/packages/llvm/tag/linux_64bit/emscripten-llvm-e$version.tar.gz"
-urlNodeCache="http://ci-files01-hki.intra.qt.io/input/emsdk/node-v$version_node-linux-x64.tar.xz"
-urlNodeExternal="https://s3.amazonaws.com/mozilla-games/emscripten/packages/node-v$version_node-linux-x64.tar.xz"
-sha1Emscripten="353ad7bf614f73b73ed1d05aedd66321d679e03d"
-sha1EmscriptenLlvm="e132c26ad657c07f88cc550fd23f1d6f1b6c0673"
-sha1Node="eaec5de2af934f7ebc7f9597983e71c5d5a9a726"
-targetFolder="/opt/emsdk"
-sudo mkdir "$targetFolder"
-
-InstallFromCompressedFileFromURL "$urlEmscriptenCache" "$urlEmscriptenExternal" "$sha1Emscripten" "$targetFolder" ""
-InstallFromCompressedFileFromURL "$urlEmscriptenLlvmCache" "$urlEmscriptenLlvmExternal" "$sha1EmscriptenLlvm" "$targetFolder" ""
-InstallFromCompressedFileFromURL "$urlNodeCache" "$urlNodeExternal" "$sha1Node" "$targetFolder" ""
-
-sudo chmod -R a+rwx "$targetFolder"
-
-echo "Writing $targetFolder/.emscripten"
-cat <<EOM >"$targetFolder/.emscripten"
-LLVM_ROOT='$targetFolder/emscripten-llvm-e$version/'
-EMSCRIPTEN_NATIVE_OPTIMIZER='$targetFolder/emscripten-llvm-e$version/optimizer'
-BINARYEN_ROOT='$targetFolder/emscripten-llvm-e$version/binaryen'
-NODE_JS='$targetFolder/node-v$version_node-linux-x64/bin/node'
-EMSCRIPTEN_ROOT='$targetFolder/emscripten-$version'
-SPIDERMONKEY_ENGINE = ''
-V8_ENGINE = ''
-TEMP_DIR = '/tmp'
-COMPILER_ENGINE = NODE_JS
-JS_ENGINES = [NODE_JS]
-EOM
-
-SetEnvVar "PATH" "\"$targetFolder/emscripten-llvm-e$version/:$targetFolder/node-v$version_node-linux-x64/bin:$targetFolder/emscripten-$version:\$PATH\""
-SetEnvVar "EMSCRIPTEN" "$targetFolder/emscripten-$version"
-SetEnvVar "EM_CONFIG" "$targetFolder/.emscripten"
-
-echo "Emsdk = $version" >> ~/versions.txt
-echo "Emsdk node = $version_node" >> ~/versions.txt
diff --git a/coin/provisioning/common/linux/enable_test_stacktraces.sh b/coin/provisioning/common/linux/enable_test_stacktraces.sh
new file mode 100755
index 00000000..7b5871db
--- /dev/null
+++ b/coin/provisioning/common/linux/enable_test_stacktraces.sh
@@ -0,0 +1,35 @@
+#!/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
+
+### Enable automatic stacktraces in case of fatal errors in QTest.
+# This requires that gdb can be found in PATH, and that no
+# kernel security settings like yama.ptrace_scope prevent it.
+
+
+PROVISIONING_DIR="$(dirname "$0")/../.."
+# shellcheck source=../unix/common.sourced.sh
+source "$PROVISIONING_DIR/common/unix/common.sourced.sh"
+
+
+f="/etc/sysctl.d/10-ptrace.conf"
+if [ -f $f ]
+then
+ echo "Modifying $f ..."
+ sudo sed -i '/^kernel\.yama\.ptrace_scope *= *[1-9]$/s/[1-9]$/0/' $f
+ # Reload the modified setting, so that we can verify it right afterwards.
+ sudo sysctl -p $f
+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/')
+if [ -n "$ptrace_scope_value" ] && [ "$ptrace_scope_value" != 0 ]
+then
+ fatal "kernel.yama.ptrace_scope = $ptrace_scope_value \
+ which means that QTest automatic stacktraces will not work"
+else
+ echo kernel.yama.ptrace_scope = "$ptrace_scope_value"
+fi
+
+
+$CMD_PKG_INSTALL gdb
diff --git a/coin/provisioning/common/linux/fbx_linux.sh b/coin/provisioning/common/linux/fbx_linux.sh
index f04eb89f..0c1176d1 100755
--- a/coin/provisioning/common/linux/fbx_linux.sh
+++ b/coin/provisioning/common/linux/fbx_linux.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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 installs FBX SDK
@@ -43,7 +12,7 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
set -e
tarballName="fbx20161_2_fbxsdk_linux.tar.gz"
targetFolder="/opt/fbx"
-cachedUrl="http://ci-files01-hki.intra.qt.io/input/fbx/$tarballName"
+cachedUrl="http://ci-files01-hki.ci.qt.io/input/fbx/$tarballName"
officialUrl="http://download.autodesk.com/us/fbx_release_older/2016.1.2/$tarballName"
sha1="b0a08778de025e2c6e90d6fbdb6531f74a3da605"
tmpFolder="/tmp"
diff --git a/coin/provisioning/common/linux/gcc.sh b/coin/provisioning/common/linux/gcc.sh
index 44ff654b..243b9ff6 100755
--- a/coin/provisioning/common/linux/gcc.sh
+++ b/coin/provisioning/common/linux/gcc.sh
@@ -1,42 +1,13 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script builds GCC from sources
# shellcheck source=../unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
set -ex
@@ -48,20 +19,20 @@ function InstallGCC() {
tmpFolder="/tmp"
- prebuiltGCC="http://ci-files01-hki.intra.qt.io/input/gcc/gcc-$version-prebuilt.tar.gz"
+ prebuiltGCC="http://ci-files01-hki.ci.qt.io/input/gcc/gcc-$version-prebuilt.tar.gz"
prebuiltTarget="$tmpFolder/gcc-$version-prebuilt.tar.gz"
installPrefix="/usr/local"
suffixVersion=$(echo "$version" | cut -d "." -f1,2)
sourceFile="gcc-$version.tar.xz"
- cachedUrl="http://ci-files01-hki.intra.qt.io/input/gcc/$sourceFile"
- officialUrl="ftp://ftp.mpi-sb.mpg.de/pub/gnu/mirror/gcc.gnu.org/pub/gcc/releases/gcc-$version/$sourceFile"
+ cachedUrl="http://ci-files01-hki.ci.qt.io/input/gcc/$sourceFile"
+ officialUrl="https://gcc.gnu.org/pub/gcc/releases/gcc-$version/gcc-$version.tar.xz"
targetFile="$tmpFolder/$sourceFile"
buildFolder="$HOME/gcc_build"
echo "Fetching prebuilt GCC."
- curl --fail -L --retry 5 --retry-delay 5 -o "$prebuiltTarget" "$prebuiltGCC" || (
+ DownloadURL "$prebuiltGCC" "" "$prebuiltSHA1" "$prebuiltTarget" || (
echo "Fetching prebuilt GCC failed. Building from sources."
DownloadURL "$cachedUrl" "$officialUrl" "$sourcesSHA1" "$targetFile"
)
@@ -81,22 +52,25 @@ function InstallGCC() {
sudo make install
rm -rf "$targetFile"
- rm -rf "$tmpFolder/gcc-$version"
+ sudo rm -rf "$tmpFolder/gcc-$version"
fi
# openSUSE has update-alternatives under /usr/sbin and it has grouped the commands by means of master and slave links
if [ -f "/usr/sbin/update-alternatives" ]; then
- sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc "$installPrefix/bin/gcc-$suffixVersion" "$priority" \
- --slave /usr/bin/g++ g++ "$installPrefix/bin/g++-$suffixVersion" \
- --slave /usr/bin/cc cc "$installPrefix/bin/gcc-$suffixVersion" \
- --slave /usr/bin/c++ c++ "$installPrefix/bin/g++-$suffixVersion"
+ sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc "$installPrefix/bin/gcc${suffixVersion}" "$priority" \
+ --slave /usr/bin/g++ g++ "$installPrefix/bin/g++${suffixVersion}" \
+ --slave /usr/bin/cc cc "$installPrefix/bin/gcc${suffixVersion}" \
+ --slave /usr/bin/c++ c++ "$installPrefix/bin/g++${suffixVersion}"
else
- sudo /usr/bin/update-alternatives --install /usr/bin/gcc gcc "$installPrefix/bin/gcc-$suffixVersion" "$priority"
- sudo /usr/bin/update-alternatives --install /usr/bin/g++ g++ "$installPrefix/bin/g++-$suffixVersion" "$priority"
- sudo /usr/bin/update-alternatives --install /usr/bin/cc cc "$installPrefix/bin/gcc-$suffixVersion" "$priority"
- sudo /usr/bin/update-alternatives --install /usr/bin/c++ c++ "$installPrefix/bin/g++-$suffixVersion" "$priority"
+ sudo /usr/bin/update-alternatives --install /usr/bin/gcc gcc "$installPrefix/bin/gcc-${suffixVersion}" "$priority"
+ sudo /usr/bin/update-alternatives --install /usr/bin/g++ g++ "$installPrefix/bin/g++-${suffixVersion}" "$priority"
+ sudo /usr/bin/update-alternatives --install /usr/bin/cc cc "$installPrefix/bin/gcc-${suffixVersion}" "$priority"
+ sudo /usr/bin/update-alternatives --install /usr/bin/c++ c++ "$installPrefix/bin/g++-${suffixVersion}" "$priority"
fi
+ echo "/usr/local/lib64" | sudo tee /etc/ld.so.conf.d/gcc-libraries.conf
+ echo "/usr/local/lib32" | sudo tee -a /etc/ld.so.conf.d/gcc-libraries.conf
+ sudo ldconfig -v
echo "GCC = $version" >> ~/versions.txt
}
diff --git a/coin/provisioning/common/linux/install-cpdb.sh b/coin/provisioning/common/linux/install-cpdb.sh
new file mode 100755
index 00000000..3a7ae3b9
--- /dev/null
+++ b/coin/provisioning/common/linux/install-cpdb.sh
@@ -0,0 +1,26 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs cpdb from sources.
+# Requires GCC and Perl to be in PATH.
+# The following dependencies should be pre-installed:
+# make, autoconf, autopoint, libglib2.0-dev, libdbus-1-dev, libtool
+set -ex
+
+repName="cpdb-libs"
+gitUrl="https://github.com/openprinting/$repName.git"
+tmpdir="/tmp"
+repDir="$tmpdir/$repName"
+prefix="/usr"
+rm -rf "$repDir"
+cd "$tmpdir"
+git clone -q "$gitUrl"
+cd "$repDir"
+# cpdb-libs v2.0b4 with build bug fixed
+git checkout -q ce848f1571a82ec03881fce127ff28bec8da239e
+./autogen.sh > /dev/null
+./configure --prefix="$prefix" > /dev/null
+make "-j$(nproc)" > /dev/null && sudo make install > /dev/null
+sudo ldconfig
+rm -rf "$repDir"
diff --git a/coin/provisioning/common/linux/install-flite.sh b/coin/provisioning/common/linux/install-flite.sh
new file mode 100755
index 00000000..2f89e94e
--- /dev/null
+++ b/coin/provisioning/common/linux/install-flite.sh
@@ -0,0 +1,26 @@
+#!/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
+
+# This script installs flite from sources.
+# Requires make, GCC and git to be in PATH.
+set -ex
+
+# shellcheck source=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+
+repName="flite"
+gitUrl="https://github.com/festvox/$repName.git"
+tmpdir="/tmp"
+repDir="$tmpdir/$repName"
+prefix="/usr"
+rm -rf "$repDir"
+cd "$tmpdir"
+git clone -q "$gitUrl"
+cd "$repDir"
+git checkout -q v2.2
+./configure --with-pic --enable-shared --prefix="$prefix" > /dev/null
+make "-j$(nproc)" > /dev/null && sudo make install > /dev/null
+rm -rf "$repDir"
diff --git a/coin/provisioning/common/linux/install-git.sh b/coin/provisioning/common/linux/install-git.sh
new file mode 100755
index 00000000..9e2804db
--- /dev/null
+++ b/coin/provisioning/common/linux/install-git.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script install git from sources.
+# Requires GCC and Perl to be in PATH.
+set -ex
+
+# shellcheck source=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+
+version="2.36.1"
+officialUrl="https://github.com/git/git/archive/refs/tags/v$version.tar.gz"
+cachedUrl="http://ci-files01-hki.ci.qt.io/input/git/git-$version.tar.gz"
+targetFile="/tmp/git-$version.tar.gz"
+sha="a17c11da2968f280a13832d97f48e9039edac354"
+DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile"
+sourceDir="/tmp/git-$version-source"
+mkdir "$sourceDir"
+tar -xzf "$targetFile" -C "$sourceDir"
+
+cd "$sourceDir/git-$version"
+installDir="$HOME/git"
+make configure
+./configure --prefix="$installDir"
+make all
+sudo make install
+
+SetEnvVar "PATH" "\"$installDir/bin:\$PATH\""
+
+"$installDir/bin/git" --version
diff --git a/coin/provisioning/common/linux/install-nodejs.sh b/coin/provisioning/common/linux/install-nodejs.sh
new file mode 100755
index 00000000..95a8a0e5
--- /dev/null
+++ b/coin/provisioning/common/linux/install-nodejs.sh
@@ -0,0 +1,42 @@
+#!/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=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+
+# This script will install node.js 18.16.0
+version="18.16.0"
+
+uname_m="$(uname -m)"
+case "$uname_m" in
+ x86_64|amd64)
+ sha256="44d93d9b4627fe5ae343012d855491d62c7381b236c347f7666a7ad070f26548"
+ pkgname="node-v$version-linux-x64.tar.xz"
+ dirname="node-v$version-linux-x64"
+ ;;
+ arm64|aarch64)
+ sha256="c81dfa0bada232cb4583c44d171ea207934f7356f85f9184b32d0dde69e2e0ea"
+ pkgname="node-v$version-linux-arm64.tar.xz"
+ dirname="node-v$version-linux-arm64"
+ ;;
+ *) fatal "Unknown architecture in uname: $uname_m" 43 ;;
+esac
+
+internalUrl="http://ci-files01-hki.ci.qt.io/input/nodejs/$pkgname"
+externalUrl="https://nodejs.org/dist/v$version/$pkgname"
+
+targetFile="$HOME/$pkgname"
+DownloadURL "$internalUrl" "$externalUrl" "$sha256" "$targetFile"
+echo "Installing nodejs"
+tar -xJf "$targetFile" -C "$HOME"
+rm "$targetFile"
+
+installPrefix="/opt/$dirname"
+sudo mv "$HOME/$dirname" "$installPrefix"
+
+SetEnvVar "PATH" "$installPrefix/bin:\$PATH"
+
+echo "nodejs = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/linux/install-vcpkg-ports-android.sh b/coin/provisioning/common/linux/install-vcpkg-ports-android.sh
new file mode 100755
index 00000000..4733e9aa
--- /dev/null
+++ b/coin/provisioning/common/linux/install-vcpkg-ports-android.sh
@@ -0,0 +1,24 @@
+#!/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
+
+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
+
+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
+
+rm -rf x86-android-qt-tmp
+rm -rf x86_64-android-qt-tmp
+
+popd || exit
diff --git a/coin/provisioning/common/linux/install-vcpkg-ports.sh b/coin/provisioning/common/linux/install-vcpkg-ports.sh
new file mode 100755
index 00000000..90257841
--- /dev/null
+++ b/coin/provisioning/common/linux/install-vcpkg-ports.sh
@@ -0,0 +1,21 @@
+#!/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
+
+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
+
+mkdir -p "$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
+
+rm -rf x64-linux-qt-tmp
+
+popd || exit
diff --git a/coin/provisioning/common/linux/install-vcpkg.sh b/coin/provisioning/common/linux/install-vcpkg.sh
new file mode 100755
index 00000000..80917beb
--- /dev/null
+++ b/coin/provisioning/common/linux/install-vcpkg.sh
@@ -0,0 +1,59 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+# shellcheck source=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
+
+vcpkgVersion=$(grep 'vcpkg_version=' "${BASH_SOURCE%/*}/../shared/vcpkg_version.txt" | cut -d '=' -f 2)
+
+vcpkgRoot="$HOME/vcpkg-$vcpkgVersion"
+vcpkgRepo=$(head -n 1 "${BASH_SOURCE%/*}/../shared/vcpkg_registry_mirror.txt")
+
+echo "Cloning the vcpkg repo"
+git clone "$vcpkgRepo" "$vcpkgRoot"
+git -C "$vcpkgRoot" checkout "tags/$vcpkgVersion"
+
+vcpkgToolReleaseTag=$(grep 'vcpkg_tool_release_tag=' "${BASH_SOURCE%/*}/../shared/vcpkg_tool_release_tag.txt" | cut -d '=' -f 2)
+nonDottedReleaseTag=${vcpkgVersion//-/}
+
+vcpkgToolOfficialUrl="https://github.com/microsoft/vcpkg-tool/archive/refs/tags/$vcpkgToolReleaseTag.tar.gz"
+vcpkgToolCacheUrl="http://ci-files01-hki.ci.qt.io/input/vcpkg/vcpkg-tool-$nonDottedReleaseTag.tar.gz"
+vcpkgToolSHA1="c6029714fca0304779f10c9c1cbe4b061a2fd945"
+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
+
+cp "$vcpkgToolBuildFolder/vcpkg" "$vcpkgRoot/"
+rm -rf "$vcpkgToolSourceFolder"
+
+if [ ! -f "$vcpkgRoot/vcpkg" ]
+then
+ echo "Can't find $vcpkgRoot/vcpkg."
+ exit 1
+fi
+
+chmod 755 "$vcpkgRoot/vcpkg"
+touch "$vcpkgRoot/vcpkg.disable-metrics"
+
+# Setting VCPKG_ROOT using Set-EnvVar makes the variable only
+# available during build time. In order to make it available during the
+# provisioning, we need to directly set it via $env:VCPKG_ROOT as well.
+SetEnvVar "VCPKG_ROOT" "$vcpkgRoot"
+export VCPKG_ROOT="$vcpkgRoot"
+
+# Set a source for vcpkg Binary and Asset Cache
+# The `coin/provisioning/common/linux/mount-vcpkg-cache-drive.sh` script is
+# mounting the SMB share located in `vcpkg-server.ci.qt.io/vcpkg` to
+# $HOME/vcpkg-cache/
+export VCPKG_BINARY_SOURCES="files,$HOME/vcpkg-cache/binaries,readwrite"
+export X_VCPKG_ASSET_SOURCES="x-azurl,file:///$HOME/vcpkg-cache/assets,,readwrite"
+
+echo "vcpkg = $vcpkgVersion" >> ~/versions.txt
diff --git a/coin/provisioning/common/linux/install_dwz.sh b/coin/provisioning/common/linux/install_dwz.sh
new file mode 100755
index 00000000..2d8af4ff
--- /dev/null
+++ b/coin/provisioning/common/linux/install_dwz.sh
@@ -0,0 +1,42 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# Copyright (C) 2020 Konstantin Tokarev <annulen@yandex.ru>
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+
+# This script will install dwz 0.13 - optimization tool for DWARF debug info
+
+version="0.13"
+sha1="21e6d5878bb84ac6c9ad07b00ed248d8c547bc7d"
+internalUrl="http://ci-files01-hki.ci.qt.io/input/centos/dwz-$version.tar.xz"
+externalUrl="https://www.sourceware.org/ftp/dwz/releases/dwz-$version.tar.xz"
+
+targetDir="$HOME/dwz"
+targetFile="$HOME/dwz-$version.zip"
+DownloadURL "$internalUrl" "$externalUrl" "$sha1" "$targetFile"
+tar -xJf "$targetFile" -C "$HOME"
+sudo rm "$targetFile"
+
+# devtoolset is needed when running configuration in RedHat
+if uname -a |grep -q "el7"; then
+ export PATH="/opt/rh/devtoolset-4/root/usr/bin:$PATH"
+fi
+
+installPrefix="/opt/dwz-$version"
+
+echo "Configuring and building dwz"
+cd "$targetDir"
+# dwz uses plain makefile instead of autotools, so it works a bit unconventionally
+./configure
+make -j5
+sudo make install prefix=$installPrefix
+
+sudo rm -r "$targetDir"
+
+SetEnvVar "PATH" "$installPrefix/bin:\$PATH"
+
+echo "dwz = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/linux/integrity.sh b/coin/provisioning/common/linux/integrity.sh
index 180881a3..e0d95681 100755
--- a/coin/provisioning/common/linux/integrity.sh
+++ b/coin/provisioning/common/linux/integrity.sh
@@ -1,58 +1,32 @@
#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs INTEGRITY
+# This script installs needed toolchains for INTEGRITY
# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh
source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
+# shellcheck source=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-version="11.4.4"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/integrity/ghs_$version.tar.gz"
-AltUrl="$PrimaryUrl" # we lack an external source for this
-SHA1="4afa3c15e13c91734951b73f6b21388294c5d794"
-targetFolder="/opt/ghs"
+urlToolchainEs7="http://ci-files01-hki.ci.qt.io/input/integrity/integrity_toolchain_es7_05102022.zip"
+urlLibeglmegapack="http://ci-files01-hki.ci.qt.io/input/integrity/integrity_libeglmegapack.zip"
+SHA1_toolchainEs7="a95e11996d89218ac93493484e483d169976f565"
+SHA1_Libeglmegapack="7f8ca64132eaea66202ea8db7f71f3300aab0777"
+targetFolder="$HOME"
appPrefix=""
-InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$targetFolder" "$appPrefix"
+toolchain_file="${BASH_SOURCE%/*}/cmake_toolchain_files/integrity_toolchain.cmake"
-SetEnvVar "INTEGRITY_BSP" "platform-cortex-a9"
-SetEnvVar "INTEGRITY_PATH" "$targetFolder/comp_201654"
-SetEnvVar "INTEGRITY_DIR" "$targetFolder/int1144"
-SetEnvVar "INTEGRITY_GL_INC_DIR" "\$INTEGRITY_DIR/INTEGRITY-include/Vivante/sdk/inc"
-SetEnvVar "INTEGRITY_GL_LIB_DIR" "\$INTEGRITY_DIR/libs/Vivante"
+echo "Install Integrity toolchain es7"
+InstallFromCompressedFileFromURL "$urlToolchainEs7" "$urlToolchainEs7" "$SHA1_toolchainEs7" "$targetFolder" "$appPrefix"
-echo "INTEGRITY = $version" >> ~/versions.txt
+echo "Install Integrity toolchain addons"
+DownloadURL "$urlLibeglmegapack" "$urlLibeglmegapack" "$SHA1_Libeglmegapack" "/tmp/integrity_libeglmegapack.zip"
+unzip "/tmp/integrity_libeglmegapack.zip" -d "/tmp"
+mv /tmp/toolchain/* "$targetFolder/toolchain"
+mv "$targetFolder/toolchain" "$targetFolder/integrity_toolchain"
+cp "$toolchain_file" "$targetFolder/integrity_toolchain/toolchain.cmake"
+sudo rm -fr /tmp/toolchain
diff --git a/coin/provisioning/common/linux/mimersql.sh b/coin/provisioning/common/linux/mimersql.sh
new file mode 100755
index 00000000..957ad492
--- /dev/null
+++ b/coin/provisioning/common/linux/mimersql.sh
@@ -0,0 +1,42 @@
+#!/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 -e
+
+SSL_VER=$1
+PACK_TYPE=$2
+PROVISIONING_DIR="$(dirname "$0")/../../"
+# shellcheck source=../unix/common.sourced.sh
+source "${BASH_SOURCE%/*}/../unix/common.sourced.sh"
+# shellcheck source=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+
+
+localRepo=http://ci-files01-hki.ci.qt.io/input/docker
+upstreamRepo=http://install.mimer.com/qt
+if [ "$SSL_VER" = "openssl-3" ]; then
+ if [ "$PACK_TYPE" = "rpm" ]; then
+ packageFile=mimersqlsrv-11.0.x86_64-openssl3.rpm
+ sha=5f21d440a12cddcc786ddff3a136bef821f1bf64
+ else
+ packageFile=mimersqlsrv_11.0_amd64-openssl3.deb
+ sha=3239b593724c564862d3bbfb70fed16909a93959
+ fi
+else
+ if [ "$PACK_TYPE" = "rpm" ]; then
+ packageFile=mimersqlsrv-11.0.x86_64-openssl1.rpm
+ sha=34533347424ba540b36d0a6ae2f416b901d8bafb
+ else
+ packageFile=mimersqlsrv_11.0_amd64-openssl1.deb
+ sha=f4ac939a190ef048150b06cecc7a392386b6e132
+ fi
+fi
+DownloadURL $localRepo/$packageFile $upstreamRepo/$packageFile $sha /tmp/$packageFile
+
+if [ "$PACK_TYPE" = "rpm" ]; then
+ sudo rpm -U /tmp/$packageFile
+else
+ sudo apt-get -y install /tmp/$packageFile
+fi
+rm -f /tmp/$packageFile
diff --git a/coin/provisioning/common/linux/mount-vcpkg-cache-drive.sh b/coin/provisioning/common/linux/mount-vcpkg-cache-drive.sh
new file mode 100755
index 00000000..6a3a5211
--- /dev/null
+++ b/coin/provisioning/common/linux/mount-vcpkg-cache-drive.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -e
+
+targetDir="$HOME/vcpkg-cache"
+
+# Specify the path to the credential file
+credentialsFile="$HOME/samba_credentials"
+
+sudo mkdir -p "$targetDir"
+
+# Mount the SMB share
+# Check if the mount was successful
+if sudo mount -t cifs //vcpkg-server.ci.qt.io/vcpkg "$targetDir" -o credentials="$credentialsFile",uid="$(id -u)",gid="$(id -g)"
+then
+ echo "SMB share mounted successfully!"
+else
+ echo "Failed to mount SMB share."
+fi
diff --git a/coin/provisioning/common/linux/openssl_for_android_linux.sh b/coin/provisioning/common/linux/openssl_for_android_linux.sh
deleted file mode 100755
index 09d0b6d5..00000000
--- a/coin/provisioning/common/linux/openssl_for_android_linux.sh
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script install OpenSSL from sources.
-# Requires GCC and Perl to be in PATH.
-
-# shellcheck source=../unix/DownloadURL.sh
-source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
-# shellcheck source=../unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-
-version="1.0.2p"
-officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz"
-cachedUrl="http://ci-files01-hki.intra.qt.io/input/openssl/openssl-$version.tar.gz"
-targetFile="/tmp/openssl-$version.tar.gz"
-installFolder="/home/qt/"
-sha="f34b5322e92415755c7d58bf5d0d5cf37666382c"
-# Until every VM doing Linux Android builds have provisioned the env variable
-# OPENSSL_ANDROID_HOME, we can't change the hard coded path that's currently in Coin.
-# QTQAINFRA-1436
-opensslHome="${installFolder}openssl-1.0.2"
-
-DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile"
-
-tar -xzf "$targetFile" -C "$installFolder"
-# This rename should be removed once hard coded path from Coin is fixed. (QTQAINFRA-1436)
-mv "${opensslHome}p" "${opensslHome}"
-pushd "$opensslHome"
-
-echo "Running configure"
-perl Configure shared android
-
-SetEnvVar "OPENSSL_ANDROID_HOME" "$opensslHome"
-
-echo "OpenSSL for Android = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/linux/qnx_660.sh b/coin/provisioning/common/linux/qnx_660.sh
deleted file mode 100755
index 2add6901..00000000
--- a/coin/provisioning/common/linux/qnx_660.sh
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs QNX 6.6.0.
-
-set -ex
-
-source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-
-targetFolder="/opt/"
-sourceFile="http://ci-files01-hki.intra.qt.io/input/qnx/linux/qnx660-patch4687-linux.tar.gz"
-sha1="ffcf91489699c42ce9c1d74941f1829531752bbe"
-folderName="qnx660"
-targetFile="qnx660.tar.gz"
-wget --tries=5 --waitretry=5 --progress=dot:giga --output-document="$targetFile" "$sourceFile"
-echo "$sha1 $targetFile" | sha1sum --check
-if [ ! -d "$targetFolder" ]; then
- mkdir -p $targetFolder
-fi
-sudo tar -C $targetFolder -xvzf $targetFile
-sudo chown -R qt:users "$targetFolder"/"$folderName"
-
-# Verify that we have last file in tar
-if [ ! -f $targetFolder/$folderName/qnx660-env.sh ]; then
- echo "Installation failed!"
- exit -1
-fi
-
-rm -rf $targetFile
-
-# Set env variables
-SetEnvVar "QNX_660" "$targetFolder$folderName"
-
-echo "QNX SDP = 6.6.0" >> ~/versions.txt
diff --git a/coin/provisioning/common/linux/qnx_700.sh b/coin/provisioning/common/linux/qnx_700.sh
deleted file mode 100755
index 3c821fec..00000000
--- a/coin/provisioning/common/linux/qnx_700.sh
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs QNX 7.
-
-set -ex
-
-# shellcheck source=../unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-
-targetFolder="/opt/"
-sourceFile="http://ci-files01-hki.intra.qt.io/input/qnx/qnx700-20180801-linux.tar.xz"
-sha1="5d2c8f531823b1f7a2e20968dc698c187c7de94c"
-folderName="qnx700"
-targetFile="qnx700.tar.xz"
-wget --tries=5 --waitretry=5 --progress=dot:giga --output-document="$targetFile" "$sourceFile"
-echo "$sha1 $targetFile" | sha1sum --check
-if [ ! -d "$targetFolder" ]; then
- mkdir -p $targetFolder
-fi
-sudo tar -C $targetFolder -Jxf $targetFile
-sudo chown -R qt:users "$targetFolder"/"$folderName"
-
-# Verify that we have last file in tar
-if [ ! -f $targetFolder/$folderName/qnxsdp-env.sh ]; then
- echo "Installation failed!"
- exit -1
-fi
-
-rm -rf $targetFile
-
-# Set env variables
-SetEnvVar "QNX_700" "$targetFolder$folderName"
-
-echo "QNX SDP = 7.0.0" >> ~/versions.txt
diff --git a/coin/provisioning/common/linux/qnx_710.sh b/coin/provisioning/common/linux/qnx_710.sh
new file mode 100755
index 00000000..7afefb42
--- /dev/null
+++ b/coin/provisioning/common/linux/qnx_710.sh
@@ -0,0 +1,89 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QNX 7.
+
+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="qnx710"
+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/qnx710-windows-linux-20220405.tar.xz"
+targetFile="qnx710.tar.xz"
+sha1="134af2e0f75d7b7c516f824fafee265b89e51d48"
+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 20.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_710" "$targetPath"
+SetEnvVar "QNX_QEMU" "$qemuTargetPath"
+SetEnvVar "QNX_QEMU_IPADDR" "$qemuIpAddress"
+SetEnvVar "QNX_QEMU_SSH" "$qemuSSHurl"
+SetEnvVar "QNX_QEMU_LD_LIBRARY_PATH" "$qemuLDpath"
+
+echo "QNX SDP = 7.1.0" >> ~/versions.txt
diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/misc_files/etc/hosts b/coin/provisioning/common/linux/qnx_qemu_build_files/local/misc_files/etc/hosts
new file mode 100644
index 00000000..58b8d5a1
--- /dev/null
+++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/misc_files/etc/hosts
@@ -0,0 +1,19 @@
+# Need to add all testserver names statically
+# as current Docker uses Multicast DNS (mDNS) (avahi)
+# Which does not work with QNX qemu
+172.31.1.1 apache2 apache2.test-net.qt.local
+172.31.1.1 squid squid.test-net.qt.local
+172.31.1.1 vsftpd vsftpd.test-net.qt.local
+172.31.1.1 ftp-proxy ftp-proxy.test-net.qt.local
+172.31.1.1 danted danted.test-net.qt.local
+172.31.1.1 cyrus cyrus.test-net.qt.local
+172.31.1.1 echo echo.test-net.qt.local
+172.31.1.1 iptables iptables.test-net.qt.local
+
+# For network test server which is still used on some test
+# like networkselftest for local dns resolution
+172.31.1.1 qt-test-server
+
+# QtCoap testservers
+172.31.1.1 californium californium.test-net.qt.local
+172.31.1.1 freecoap freecoap.test-net.qt.local
diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/misc_files/etc/resolv.conf b/coin/provisioning/common/linux/qnx_qemu_build_files/local/misc_files/etc/resolv.conf
new file mode 100644
index 00000000..6765c11f
--- /dev/null
+++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/misc_files/etc/resolv.conf
@@ -0,0 +1,2 @@
+search test-net.qt.local
+nameserver 172.31.1.1
diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/opt_scripts/opt_nfs_qt b/coin/provisioning/common/linux/qnx_qemu_build_files/local/opt_scripts/opt_nfs_qt
new file mode 100755
index 00000000..13db322b
--- /dev/null
+++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/opt_scripts/opt_nfs_qt
@@ -0,0 +1,46 @@
+#!/bin/bash
+
+function brief()
+{
+ echo "--nfs=[<mount>|no]"
+}
+
+function help()
+{
+ brief
+ cat <<EOF
+ If yes, the given nfs share "<mount>" will be mounted at <mount>
+
+ The default is no.
+EOF
+}
+
+function validate() {
+ exit 0
+}
+
+function configure()
+{
+ if [ "$OPT_NFS_QT" != no ]; then
+ cat >output/option_files/post_start.opt_nfs <<EOF
+
+echo "---> Starting NFS"
+STARTU_P(fs_nfs3_t,__FS_NFS3_ID__) fs-nfs3 -t 172.31.1.1:$OPT_NFS_QT $OPT_NFS_QT
+EOF
+ fi
+
+ exit 0
+}
+
+case "$1" in
+ brief)
+ brief;;
+ help)
+ help;;
+ validate)
+ validate;;
+ configure)
+ configure;;
+ default)
+ echo no;;
+esac
diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/options b/coin/provisioning/common/linux/qnx_qemu_build_files/local/options
new file mode 100644
index 00000000..bf1a413e
--- /dev/null
+++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/options
@@ -0,0 +1,88 @@
+OPT_ABLELOCK='no'
+DEF_OPT_ABLELOCK='no'
+OPT_ARCH='x86_64'
+DEF_OPT_ARCH='x86_64'
+OPT_ASLR='yes'
+DEF_OPT_ASLR='yes'
+OPT_CERTICOM='no'
+DEF_OPT_CERTICOM='no'
+OPT_CRYPTODEV='no'
+DEF_OPT_CRYPTODEV='no'
+OPT_DATA_INODES='3000'
+DEF_OPT_DATA_INODES='3000'
+OPT_DATA_SIZE='512'
+DEF_OPT_DATA_SIZE='60'
+OPT_EXTRA_DIRS='none'
+DEF_OPT_EXTRA_DIRS='none'
+OPT_GRAPHICS='no'
+DEF_OPT_GRAPHICS='no'
+OPT_GUEST='none'
+DEF_OPT_GUEST='none'
+OPT_HOSTNAME='qnx_QEMU_CI'
+DEF_OPT_HOSTNAME='noname'
+OPT_IP='172.31.1.69'
+DEF_OPT_IP='dhcp'
+OPT_MACADDR='52:54:00:f1:c4:92'
+DEF_OPT_MACADDR='generate'
+OPT_NFS='no'
+DEF_OPT_NFS='no'
+OPT_NFS_QT='/home/qt/work'
+DEF_OPT_NFS_QT='/home/qt/work'
+OPT_PATHTRUST='no'
+DEF_OPT_PATHTRUST='no'
+OPT_PERL='no'
+DEF_OPT_PERL='no'
+OPT_POLICY='none'
+DEF_OPT_POLICY='none'
+OPT_PYTHON='no'
+DEF_OPT_PYTHON='no'
+OPT_QAUDIT='no'
+DEF_OPT_QAUDIT='no'
+OPT_QFIM='no'
+DEF_OPT_QFIM='no'
+OPT_QTD='no'
+DEF_OPT_QTD='no'
+OPT_QVM='no'
+DEF_OPT_QVM='no'
+OPT_REPOS='$QNX_STAGE_nto:$QNX_TARGET'
+DEF_OPT_REPOS='$QNX_STAGE_nto:$QNX_TARGET'
+OPT_ROOT='no'
+DEF_OPT_ROOT='no'
+OPT_SAFE='no'
+DEF_OPT_SAFE='no'
+OPT_SECPOL='no'
+DEF_OPT_SECPOL='no'
+OPT_SECURE_DATA='no'
+DEF_OPT_SECURE_DATA='no'
+OPT_SECURE_PROCFS='yes'
+DEF_OPT_SECURE_PROCFS='yes'
+OPT_SLM='no'
+DEF_OPT_SLM='no'
+OPT_SSHD_PREGEN='yes'
+DEF_OPT_SSHD_PREGEN='yes'
+OPT_SSH_IDENT='prompt'
+DEF_OPT_SSH_IDENT='prompt'
+OPT_SYS_INODES='1000'
+DEF_OPT_SYS_INODES='1000'
+OPT_SYS_SIZE='20'
+DEF_OPT_SYS_SIZE='20'
+OPT_TCG='no'
+DEF_OPT_TCG='no'
+OPT_TELNET='no'
+DEF_OPT_TELNET='no'
+OPT_TOMCRYPT='no'
+DEF_OPT_TOMCRYPT='no'
+OPT_TOYBOX='no'
+DEF_OPT_TOYBOX='no'
+OPT_TYPE='qemu'
+DEF_OPT_TYPE='qemu'
+OPT_TZ='UTC0'
+DEF_OPT_TZ='UTC0'
+OPT_UNION='yes'
+DEF_OPT_UNION='yes'
+OPT_USB='no'
+DEF_OPT_USB='no'
+OPT_VALGRIND='no'
+DEF_OPT_VALGRIND='no'
+OPT_ZONEINFO='no'
+DEF_OPT_ZONEINFO='no'
diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/data_files.custom b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/data_files.custom
new file mode 100644
index 00000000..cba74f1f
--- /dev/null
+++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/data_files.custom
@@ -0,0 +1,25 @@
+# local/snippets/data_files.custom
+# Placeholder for local list of files to add to data partition
+
+home/root/.ssh/environment = {
+TERM=qansi
+PATH=__IFS_PATH__:/system/xbin:.
+#LD_LIBRARY_PATH=__PROC_LIB__:/home/qt/work/install/target/lib
+#QSG_RHI_BACKEND=software
+#QT_QPA_PLATFORM=offscreen
+}
+
+[uid=0 gid=0 dperms=755 type=dir] var/share
+var/share/zoneinfo=usr/share/zoneinfo
+
+[uid=0 gid=0 dperms=755 type=dir] var/share/fonts
+var/etc/fontconfig/fonts.conf=etc/fontconfig/fonts.conf
+var/share/fonts=usr/share/fonts
+
+var/etc/hosts=local/misc_files/etc/hosts
+var/etc/resolv.conf=local/misc_files/etc/resolv.conf
+var/etc/nsswitch.conf=etc/nsswitch.conf
+
+[uid=0 gid=0 dperms=755 type=dir] var/etc/ssl/certs
+var/share/ca-certificates=local/misc_files/ca-certificates
+var/etc/ssl/certs=local/misc_files/etc/ssl/certs
diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/ifs_env.custom b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/ifs_env.custom
new file mode 100644
index 00000000..253e61c6
--- /dev/null
+++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/ifs_env.custom
@@ -0,0 +1,12 @@
+# Add root HOME env variable
+procmgr_symlink /data/home/root/ /home/root
+HOME=/home/root
+
+# Needed for timezone related tests
+TZ=Europe/Oslo
+procmgr_symlink /data/var/share /usr/share
+procmgr_symlink /data/var/share/zoneinfo/Europe/Oslo /data/var/etc/localtime
+
+# fontconfig
+procmgr_symlink /data/var/etc/fontconfig/fonts.conf /etc/fontconfig/fonts.conf
+procmgr_symlink /data/var/share/fonts /usr/share/fonts
diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/passwd_file.builtin b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/passwd_file.builtin
new file mode 100644
index 00000000..142fd04e
--- /dev/null
+++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/passwd_file.builtin
@@ -0,0 +1,3 @@
+root:x:0:0:Superuser:/data/home/root:/bin/sh
+sshd:x:15:6:sshd:/data/var/chroot/sshd:/bin/false
+qnxuser:x:__QNXUSER_UID__:__QNXUSER_GID__:User9:/data/home/qnxuser:/bin/sh
diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/post_start.custom b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/post_start.custom
new file mode 100644
index 00000000..5a260488
--- /dev/null
+++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/post_start.custom
@@ -0,0 +1,25 @@
+# local/snippets/post_start.custom
+# Commands executed from post_startup.sh. Executed at the end of system startup whether slm is in use
+# or not
+#
+# To allow resource managers to be run properly with and without security policies, command lines
+# should be written in one of the following forms:
+#
+# START(resmgr_t) resmgr DROPROOT(resmgr_uid)
+# STARTU(resmgr_t, resmgr_uid) resmgr
+# Where resmgr_t is the security type name (arbitrary but usually the name of the resmgr with _t appended),
+# and resmgr_uid is the id to use for both uid and gid. DROPROOT is used only in cases where the
+# resource manager supports a -U option for switching to non-root.
+echo "---> Starting Filesystem event manager (fsevmgr)"
+STARTU_P(fsevmg_t,__FSEVMG_ID__) fsevmgr -d -F __DEVB_ID__ -N __DEVB_ID__
+
+echo "---> Remove large fonts"
+rm -rf /data/var/share/fonts/NotoSansCJK*
+rm -rf /data/var/share/fonts/NotoSansMonoCJK*
+echo "---> Create fontconfig cache"
+fc-cache &
+
+# Add default route so QNX knows where to send
+# requests for unknown network
+echo "---> Add default route"
+route add default 172.31.1.1
diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/shadow_file.builtin b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/shadow_file.builtin
new file mode 100644
index 00000000..e362b971
--- /dev/null
+++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/shadow_file.builtin
@@ -0,0 +1,2 @@
+root::1475759054:0:0
+qnxuser:@S@f0J4xZibUbKllVqPMzetauCHLRi+9C8wTsxYXE5r7Pfhda5FI7zkObEmKogy01pAX5f/1niG2S2eLXbLs3xoww==@YjBmOTQwNzZiNzYwMzY3N2RkMGQ1NTZmNzA5MDFhMWY=:1476890273:0:0
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
new file mode 100644
index 00000000..da00c4e9
--- /dev/null
+++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/system_files.custom
@@ -0,0 +1,64 @@
+# local/snippets/system_files.custom
+# Placeholder for local list of files to add to system partition
+
+[perms=444] etc/ssh/sshd_config={
+HostKey /data/var/ssh/ssh_host_rsa_key
+HostKey /data/var/ssh/ssh_host_ed25519_key
+AuthorizedKeysFile .ssh/authorized_keys
+PermitUserEnvironment yes
+AuthenticationMethods none
+PermitEmptyPasswords yes
+PermitRootLogin yes
+PidFile none
+Subsystem sftp /system/xbin/sftp-server
+}
+
+# libraries Qt requires
+lib/libicuuc.so.67=usr/lib/libicuuc.so.67
+lib/libicudata.so.67=usr/lib/libicudata.so.67
+lib/libicui18n.so.67=usr/lib/libicui18n.so.67
+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/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
+lib/libm.so.3=lib/libm.so.3
+
+#############################################
+### Image support
+#############################################
+etc/system/config/img.conf=etc/system/config/img.conf
+lib/libpng16.so.16=usr/lib/libpng16.so.16
+lib/libjpeg.so.9=lib/libjpeg.so.9
+lib/libimg.so.1=lib/libimg.so.1
+lib/dll/img_codec_bmp.so=lib/dll/img_codec_bmp.so
+lib/dll/img_codec_gif.so=lib/dll/img_codec_gif.so
+lib/dll/img_codec_jpg.so=lib/dll/img_codec_jpg.so
+lib/dll/img_codec_png.so=lib/dll/img_codec_png.so
+lib/dll/img_codec_sgi.so=lib/dll/img_codec_sgi.so
+lib/dll/img_codec_tga.so=lib/dll/img_codec_tga.so
+lib/dll/img_codec_tif.so=lib/dll/img_codec_tif.so
+
+# for inotify
+xbin/fsevmgr=sbin/fsevmgr
+
+##############################################
+### MM support
+##############################################
+lib/libstrm.so.1=usr/lib/libstrm.so.1
+lib/libcamapi.so.1=usr/lib/libcamapi.so.1
+lib/libmmrndclient.so.1=usr/lib/libmmrndclient.so.1
+lib/libscreen.so.1=usr/lib/libscreen.so.1
+
+# for fontconfig
+lib/libfontconfig.so.1=usr/lib/libfontconfig.so.1
+xbin/fc-cache=bin/fc-cache
+xbin/fc-match=local/misc_files/fc-match
+
+# network
+lib/libssl.so=usr/lib/libssl.so
+xbin/nslookup=usr/bin/nslookup
+xbin/curl=usr/bin/curl
diff --git a/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/uids.custom b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/uids.custom
new file mode 100644
index 00000000..9787971c
--- /dev/null
+++ b/coin/provisioning/common/linux/qnx_qemu_build_files/local/snippets/uids.custom
@@ -0,0 +1 @@
+#define __FSEVMG_ID__ 50
diff --git a/coin/provisioning/common/linux/remove-update_notifier.sh b/coin/provisioning/common/linux/remove-update_notifier.sh
index 152d7fa8..383f242d 100755
--- a/coin/provisioning/common/linux/remove-update_notifier.sh
+++ b/coin/provisioning/common/linux/remove-update_notifier.sh
@@ -1,3 +1,15 @@
#!/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
-sudo apt -q -y remove update-notifier update-manager
+installPackages+=(update-notifier)
+
+if uname -a |grep -q "Ubuntu" ; then
+installPackages+=(update-manager-core)
+installPackages+=(update-manager)
+installPackages+=(python3-distupgrade)
+installPackages+=(python3-update-manager)
+installPackages+=(ubuntu-release-upgrader-core)
+fi
+
+sudo apt -q -y remove "${installPackages[@]}"
diff --git a/coin/provisioning/common/linux/remove_update-manager.sh b/coin/provisioning/common/linux/remove_update-manager.sh
deleted file mode 100755
index d5dc1ca4..00000000
--- a/coin/provisioning/common/linux/remove_update-manager.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env bash
-
-sudo apt-get remove update-manager
diff --git a/coin/provisioning/common/linux/sccache.sh b/coin/provisioning/common/linux/sccache.sh
new file mode 100755
index 00000000..5e4969b3
--- /dev/null
+++ b/coin/provisioning/common/linux/sccache.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+source "${BASH_SOURCE%/*}/../unix/sccache.sh"
+
+targetArch=x86_64-unknown-linux-musl
+targetVersion=0.2.14
+sha1=281680c0fc2c09173e94d12ba45d9f1b8e62e5b3
+installSccache "$targetArch" "$targetVersion" "$sha1"
diff --git a/coin/provisioning/common/linux/set_ulimit.sh b/coin/provisioning/common/linux/set_ulimit.sh
new file mode 100755
index 00000000..e384fe32
--- /dev/null
+++ b/coin/provisioning/common/linux/set_ulimit.sh
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script will set ulimit size for open files
+# Linker for Qt Webengine builds needs to open a multiple files. Without this it will hit the limit.
+
+file="/etc/security/limits.conf"
+file2="/etc/pam.d/common-session"
+sudo sed -i '/End of file/d' $file
+sudo tee -a $file <<"EOF"
+* soft nproc 4096
+* hard nproc 4096
+* soft nofile 4096
+* hard nofile 4096
+root soft nproc 4096
+root hard nproc 4096
+root soft nofile 4096
+root hard nofile 4096
+# End of file
+EOF
+
+sudo sed -i '/end of pam-auth-update config/d' $file2
+sudo tee -a $file2 <<"EOF"
+session required pam_limits.so
+# end of pam-auth-update config
+EOF
+
+# This is required for UI login. Without this the ulimit will be 1024 during graphical login.
+sudo tee -a /etc/systemd/user.conf <<"EOF"
+DefaultLimitNOFILE=4096
+EOF
diff --git a/coin/provisioning/common/linux/squish-coco.sh b/coin/provisioning/common/linux/squish-coco.sh
index 4f8627d3..eda200d8 100755
--- a/coin/provisioning/common/linux/squish-coco.sh
+++ b/coin/provisioning/common/linux/squish-coco.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script installs Squish Coco
@@ -46,7 +15,7 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
version="4.2.2"
sha1="a44f0f039f3712c715eea63c4021d08bf17a44c6"
package="SquishCocoSetup_${version}_Linux_x86_64.run"
-url="http://ci-files01-hki.intra.qt.io/input/coco//$package"
+url="http://ci-files01-hki.ci.qt.io/input/coco//$package"
echo "Enable license for Coco"
diff --git a/coin/provisioning/common/linux/telegraf-coin.conf b/coin/provisioning/common/linux/telegraf-coin.conf
new file mode 100644
index 00000000..33a9c6de
--- /dev/null
+++ b/coin/provisioning/common/linux/telegraf-coin.conf
@@ -0,0 +1,47 @@
+[global_tags]
+[agent]
+ interval = "10s"
+ round_interval = true
+ metric_batch_size = 100
+ metric_buffer_limit = 10000
+ collection_jitter = "0s"
+ flush_interval = "10s"
+ flush_jitter = "5s"
+ precision = ""
+ logfile = "/var/log/telegraf-coin.log"
+ hostname = "$COIN_UNIQUE_JOB_ID"
+ omit_hostname = false
+[[outputs.influxdb]]
+ urls= ["https://qtinfluxdb01.intra.qt.io:8086"]
+ insecure_skip_verify = true
+ database = "coin_vms"
+ skip_database_creation = true
+ username = "coin_vms_writer"
+ password = "COIN_VMS_WRITER_PASS"
+[[inputs.cpu]]
+ percpu = true
+ totalcpu = true
+ collect_cpu_time = false
+ report_active = false
+[[inputs.disk]]
+ ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
+[[inputs.diskio]]
+[[inputs.kernel]]
+[[inputs.mem]]
+[[inputs.processes]]
+[[inputs.swap]]
+[[inputs.system]]
+[[inputs.kernel_vmstat]] # linux-only
+[[inputs.netstat]]
+
+
+# Monitor Coin process
+[[inputs.procstat]]
+ exe = "coin-"
+ pid_finder = "native"
+
+
+# Monitor I/O latency
+[[inputs.exec]]
+ data_format = "influx"
+ commands = [ "/usr/bin/telegraf-ioping.sh /" ]
diff --git a/coin/provisioning/common/linux/testserver/apache2/Dockerfile b/coin/provisioning/common/linux/testserver/apache2/Dockerfile
deleted file mode 100644
index b39eb21e..00000000
--- a/coin/provisioning/common/linux/testserver/apache2/Dockerfile
+++ /dev/null
@@ -1,7 +0,0 @@
-FROM ubuntu:16.04
-ARG packages="apache2 libcgi-session-perl wget avahi-daemon"
-RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
-EXPOSE 80 443
-
-# install configurations and test data
-RUN wget https://tools.ietf.org/rfc/rfc3252.txt
diff --git a/coin/provisioning/common/linux/testserver/danted/Dockerfile b/coin/provisioning/common/linux/testserver/danted/Dockerfile
deleted file mode 100644
index 67c1159b..00000000
--- a/coin/provisioning/common/linux/testserver/danted/Dockerfile
+++ /dev/null
@@ -1,10 +0,0 @@
-FROM ubuntu:16.04
-ARG packages="gdebi-core wget avahi-daemon"
-RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
-RUN wget http://ppa.launchpad.net/dajhorn/dante/ubuntu/pool/main/d/dante/dante-server_1.4.1-1_amd64.deb
-RUN gdebi -n dante-server_1.4.1-1_amd64.deb
-EXPOSE 1080-1081
-
-# install configurations and test data
-COPY danted /etc/init.d/
-COPY danted-authenticating /etc/init.d/
diff --git a/coin/provisioning/common/linux/testserver/docker_testserver.sh b/coin/provisioning/common/linux/testserver/docker_testserver.sh
deleted file mode 100755
index 2534c416..00000000
--- a/coin/provisioning/common/linux/testserver/docker_testserver.sh
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# Using SHA-1 of each server context as the tag of docker images. A tag labels a
-# specific image version. It is used by docker compose file (docker-compose.yml)
-# to launch the corresponding docker containers. If one of the server contexts
-# (./apache2, ./danted, ...) gets changes, all the related compose files in
-# qtbase should be updated as well.
-#
-# For example, here's how to get the SHA-1 of apache test server.
-# find ./apache2 -type f -print0 | sort -z | xargs -r0 sha1sum | \
-# awk '{ print $1 }' | sha1sum | awk '{ print $1 }'
-
-testserver='apache2 squid vsftpd ftp-proxy danted'
-
-for server in $testserver
-do
- context="${BASH_SOURCE%/*}/$server"
- sha1=$(find $context -type f -print0 | sort -z | xargs -r0 sha1sum | awk '{ print $1 }' | \
- sha1sum | awk '{ print $1 }')
- sudo docker build -t qt-test-server-$server:$sha1 $context
-
- # transition - The fixed tag is temporarily used by CI to pass the qtbase testing.
- case $server in
- apache2) fixed_tag="cc9ea678b92bdda33acb9fa0159bb4ad0f3cd947" ;;
- squid) fixed_tag="577d99307eea9a8cccfec944d25be2bce2fe99cc" ;;
- vsftpd) fixed_tag="18896604c7e90b543e56d80c8a8aabdb65a590d0" ;;
- ftp-proxy) fixed_tag="2c6c8f1ab6a364b540c43d705fb6f15a585cb2af" ;;
- danted) fixed_tag="327dd56c3c35db85b26fac93213a5a1918475bc7" ;;
- esac
- [ -z "$fixed_tag" ] || \
- sudo docker tag qt-test-server-$server:$sha1 qt-test-server-$server:$fixed_tag
-done
-
-sudo docker images
diff --git a/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile b/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile
deleted file mode 100644
index c719c1eb..00000000
--- a/coin/provisioning/common/linux/testserver/ftp-proxy/Dockerfile
+++ /dev/null
@@ -1,4 +0,0 @@
-FROM ubuntu:16.04
-ARG packages="ftp-proxy avahi-daemon"
-RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
-EXPOSE 2121
diff --git a/coin/provisioning/common/linux/testserver/squid/Dockerfile b/coin/provisioning/common/linux/testserver/squid/Dockerfile
deleted file mode 100644
index f0ed68b3..00000000
--- a/coin/provisioning/common/linux/testserver/squid/Dockerfile
+++ /dev/null
@@ -1,4 +0,0 @@
-FROM ubuntu:16.04
-ARG packages="squid avahi-daemon"
-RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
-EXPOSE 3128-3130
diff --git a/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile b/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile
deleted file mode 100644
index af6cd7c7..00000000
--- a/coin/provisioning/common/linux/testserver/vsftpd/Dockerfile
+++ /dev/null
@@ -1,7 +0,0 @@
-FROM ubuntu:16.04
-ARG packages="vsftpd ftp wget avahi-daemon"
-RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
-EXPOSE 20-21
-
-# install configurations and test data
-RUN wget https://tools.ietf.org/rfc/rfc3252.txt
diff --git a/coin/provisioning/common/linux/ubuntu-version.sh b/coin/provisioning/common/linux/ubuntu-version.sh
index d403df13..2d02bb22 100755
--- a/coin/provisioning/common/linux/ubuntu-version.sh
+++ b/coin/provisioning/common/linux/ubuntu-version.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script needs to be called last during provisioning so that the software information will show up last in provision log.
diff --git a/coin/provisioning/common/linux/vcpkg/vcpkg.json b/coin/provisioning/common/linux/vcpkg/vcpkg.json
new file mode 100644
index 00000000..70cb16fb
--- /dev/null
+++ b/coin/provisioning/common/linux/vcpkg/vcpkg.json
@@ -0,0 +1,12 @@
+{
+ "overrides": [
+ {
+ "name": "openssl",
+ "version": "3.0.7",
+ "port-version": 2
+ }
+ ],
+ "dependencies": [
+ "openssl"
+ ]
+}
diff --git a/coin/provisioning/common/linux/version.sh b/coin/provisioning/common/linux/version.sh
index 3e2a7f19..4e0443fe 100755
--- a/coin/provisioning/common/linux/version.sh
+++ b/coin/provisioning/common/linux/version.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2016 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2016 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script will print all installed software to provision log.
# Script needs to be named so that it will be ran at last during provisioning
@@ -41,3 +10,9 @@ echo "*********************************************"
echo "***** SW VERSIONS *****"
cat ~/versions.txt
echo "*********************************************"
+echo "*************** mount ***********************"
+mount
+echo "*********************************************"
+echo "*************** df **************************"
+df -hT
+echo "*********************************************"
diff --git a/coin/provisioning/common/linux/vx_works.sh b/coin/provisioning/common/linux/vx_works.sh
new file mode 100755
index 00000000..ed0bef0c
--- /dev/null
+++ b/coin/provisioning/common/linux/vx_works.sh
@@ -0,0 +1,51 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs vxworks libs and toolchain.
+
+set -ex
+
+# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+
+VXWORKS_VER="23_09"
+######### VXworks libs #########
+# Installs to /opt/vxworks
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_no_source_patched_$VXWORKS_VER.tar.gz"
+AltUrl=""
+sha1="35a457999b310a6128e3bd7de3103c2235063071"
+targetFolder="/opt/"
+InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
+SetEnvVar "VXWORKS_HOME" "/opt/vxworks"
+
+VXWORKS_BUILD_VER="20240326"
+######### VXworks toolchain #########
+# Installs to /opt/fsl_imx6_2_0_6_2_VSB
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_vsb_${VXWORKS_BUILD_VER}_2.tar.gz"
+AltUrl=""
+sha1="415359ac124e11198a3911c9c4b923269d8da83a"
+targetFolder="/opt/"
+InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
+SetEnvVar "WIND_CC_SYSROOT" "/opt/fsl_imx6_2_0_6_2_VSB"
+
+######### VXworks VIP kernel #########
+# Installs to /opt/fsl_imx6_2_0_6_2_VIP_QEMU
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/vxworks/vxworks_vip_${VXWORKS_BUILD_VER}.tar.gz"
+AltUrl=""
+sha1="a6019012a8c7af760469959e2df89875f5ff4e9a"
+targetFolder="/opt/"
+InstallFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$sha1" "$targetFolder" ""
+
+SetEnvVar "VXWORKS_SSH" "WindRiver@10.0.2.4"
+
+# Setup NFS exports that are needed by VxWorks qemu
+sudo bash -c "echo '/home/qt/work 10.0.2.4/24(rw,sync,root_squash,no_subtree_check,anonuid=1000,anongid=1000)' >> /etc/exports"
+sudo bash -c "echo '/opt/fsl_imx6_2_0_6_2_VSB 10.0.2.4/24(rw,sync,root_squash,no_subtree_check,anonuid=1000,anongid=1000)' >> /etc/exports"
+sudo exportfs -a
+
+# Copy start script in place
+cp "${BASH_SOURCE%/*}/../linux/vxworks_qemu_launcher.sh" "${HOME}"
+SetEnvVar "VXWORKS_EMULATOR" "${HOME}/vxworks_qemu_launcher.sh"
diff --git a/coin/provisioning/common/linux/vxworks_qemu_launcher.sh b/coin/provisioning/common/linux/vxworks_qemu_launcher.sh
new file mode 100755
index 00000000..39a68676
--- /dev/null
+++ b/coin/provisioning/common/linux/vxworks_qemu_launcher.sh
@@ -0,0 +1,39 @@
+#!/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
+
+# Setup bridge if not exist for VxWorks QEMU
+if ! ip link show br0 >/dev/null 2>&1; then
+ sudo brctl addbr br0
+ sudo brctl stp br0 off
+ sudo ifconfig br0 10.0.2.1 netmask 255.255.255.0 promisc up
+ sudo tunctl -u qt -t tap0
+ sudo ifconfig tap0 promisc up
+ sudo brctl addif br0 tap0
+fi
+
+QEMU_LOG_PATH="/home/qt/work/vxworks_qemu_log.txt"
+qemu-system-arm \
+ -machine sabrelite \
+ -smp 4 \
+ -m 1G \
+ -nographic \
+ -monitor none \
+ -serial null \
+ -serial stdio \
+ -kernel /opt/fsl_imx6_2_0_6_2_VIP_QEMU/default/uVxWorks \
+ -dtb /opt/fsl_imx6_2_0_6_2_VIP_QEMU/default/imx6q-sabrelite.dtb \
+ -append "enet(0,0)host:vxWorks h=10.0.2.1 g=10.0.2.1 e=10.0.2.4 u=target pw=vxTarget s=/romfs/startup_script_arm.txt" \
+ -nic "tap,ifname=tap0,script=no" >"${QEMU_LOG_PATH}" 2>&1 &
+
+for _ in $(seq 30)
+do
+ status=$(ssh -o BatchMode=yes -o HostKeyAlgorithms=+ssh-rsa -o ConnectTimeout=1 "${VXWORKS_SSH}" echo emulator up)
+ if [[ $status == *"emulator up"* ]] ; then
+ echo "VXWORKS QEMU SSH server up"
+ break
+ else
+ echo "Waiting VXWORKS QEMU SSH server"
+ sleep 1
+ fi
+done
diff --git a/coin/provisioning/common/macos/InstallAppFromCompressedFileFromURL.sh b/coin/provisioning/common/macos/InstallAppFromCompressedFileFromURL.sh
index 1dd48e87..03454485 100755
--- a/coin/provisioning/common/macos/InstallAppFromCompressedFileFromURL.sh
+++ b/coin/provisioning/common/macos/InstallAppFromCompressedFileFromURL.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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 receives URLs to a compressed file. It then downloads it,
# uncompresses it and installs it by default
diff --git a/coin/provisioning/common/macos/InstallPKGFromURL.sh b/coin/provisioning/common/macos/InstallPKGFromURL.sh
index 77ef128a..62ae9db5 100755
--- a/coin/provisioning/common/macos/InstallPKGFromURL.sh
+++ b/coin/provisioning/common/macos/InstallPKGFromURL.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
@@ -42,7 +11,9 @@ function InstallPKGFromURL {
targetDirectory=$4
echo "Creating temporary file"
- targetFile=$(mktemp "$TMPDIR$(uuidgen).pkg")
+ package_basename="${url/*\//}"
+ tmpdir=$(mktemp -d)
+ targetFile="$tmpdir/$package_basename"
echo "Downloading PKG from primary URL '$url'"
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || (
echo "Failed to download '$url' multiple times"
@@ -50,10 +21,12 @@ function InstallPKGFromURL {
curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt"
)
echo "Checking SHA1 on PKG '$targetFile'"
- echo "$expectedSha1 *$targetFile" > "$targetFile.sha1"
- /usr/bin/shasum --check "$targetFile.sha1"
+ echo "$expectedSha1 *$targetFile" > "$targetFile".sha1
+ /usr/bin/shasum --check "$targetFile".sha1
echo "Run installer on PKG"
sudo installer -package "$targetFile" -target "$targetDirectory"
- echo "Removing file '$targetFile'"
- rm "$targetFile"
+
+ rm -f "$targetFile".sha1
+ rm -f "$targetFile"
+ rmdir "$tmpdir"
}
diff --git a/coin/provisioning/common/macos/android.sh b/coin/provisioning/common/macos/android.sh
new file mode 100755
index 00000000..b7dc953f
--- /dev/null
+++ b/coin/provisioning/common/macos/android.sh
@@ -0,0 +1,78 @@
+#!/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
+
+# This script install Android sdk and ndk.
+
+# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
+
+set -ex
+
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+
+targetFolder="/opt/android"
+sdkTargetFolder="$targetFolder/sdk"
+
+basePath="/net/ci-files01-hki.ci.qt.io/hdd/www/input/android"
+
+toolsVersion="2.1"
+# toolsFile dertermines tools version
+toolsFile="commandlinetools-mac-6609375_latest.zip"
+
+ndkVersionLatest="r26b"
+ndkVersionDefault="$ndkVersionLatest"
+sdkBuildToolsVersion="34.0.0"
+# this is compile sdk version
+sdkApiLevel="android-34"
+
+toolsSourceFile="$basePath/$toolsFile"
+
+function InstallNdk() {
+
+ ndkVersion=$1
+
+ if [[ ! -d "${targetFolder}/android-ndk-${ndkVersion}" ]]; then
+ echo "Unzipping Android NDK $ndkVersion to '${targetFolder}'"
+ ndkSourceFile="$basePath/android-ndk-$ndkVersion-darwin*.zip"
+ sudo unzip -q "$ndkSourceFile" -d "$targetFolder"
+ fi
+
+}
+
+InstallNdk $ndkVersionDefault
+InstallNdk $ndkVersionLatest
+
+echo "Unzipping Android Tools to '$sdkTargetFolder'"
+sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
+
+echo "Changing ownership of Android files."
+sudo chown -R qt:wheel "$targetFolder"
+sudo chmod -R 755 $targetFolder
+
+# Run the following command under `eval` or `sh -c` so that the shell properly splits it
+sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
+
+sudo mkdir "$sdkTargetFolder/cmdline-tools"
+sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
+
+echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
+(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \
+ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
+ | eval "$sdkmanager_no_progress_bar_cmd"
+
+echo "Checking the contents of Android SDK..."
+ls -l "$sdkTargetFolder"
+
+SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder"
+SetEnvVar "ANDROID_NDK_ROOT_DEFAULT" "$targetFolder/android-ndk-$ndkVersionDefault"
+SetEnvVar "ANDROID_NDK_ROOT_LATEST" "$targetFolder/android-ndk-$ndkVersionLatest"
+SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64"
+SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
+
+cat << EOT >>~/versions.txt
+Android SDK tools = $toolsVersion
+Android SDK Build Tools = $sdkBuildToolsVersion
+Android SDK API level = $sdkApiLevel
+Android NDK = $ndkVersionDefault
+EOT
diff --git a/coin/provisioning/common/macos/cmake.sh b/coin/provisioning/common/macos/cmake.sh
index e22425b7..b9ff8dfb 100755
--- a/coin/provisioning/common/macos/cmake.sh
+++ b/coin/provisioning/common/macos/cmake.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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 installs CMake
@@ -42,13 +11,15 @@ source "${BASH_SOURCE%/*}/InstallAppFromCompressedFileFromURL.sh"
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.13_high_sierra/cmake-3.11.3-Darwin-x86_64.tar.gz"
-AltUrl="https://cmake.org/files/v3.11/cmake-3.11.3-Darwin-x86_64.tar.gz"
-SHA1="3d13de8020ce560159fa5cecb669498c48552d96"
-appPrefix="cmake-3.11.3-Darwin-x86_64"
+majorminorversion="3.27.7"
+version="3.27.7"
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/cmake/cmake-$version-macos-universal.tar.gz"
+AltUrl="https://cmake.org/files/v$majorminorversion/cmake-$version-macos-universal.tar.gz"
+SHA1="75153b6c7a418bc7120c6217d4698c7d245d00e0"
+appPrefix="cmake-$version-macos-universal"
InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix"
SetEnvVar "PATH" "/Applications/CMake.app/Contents/bin:\$PATH"
-echo "CMake = 3.11.3" >> ~/versions.txt
+echo "CMake = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/macos/disable-app-reopen.sh b/coin/provisioning/common/macos/disable-app-reopen.sh
new file mode 100755
index 00000000..139f6d04
--- /dev/null
+++ b/coin/provisioning/common/macos/disable-app-reopen.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Prevent applications from re-opening after re-boot.
+# This is needed only with physical mac mini machines used in ci.
+
+
+set -e
+
+sudo chown root ~/Library/Preferences/ByHost/com.apple.loginwindow*
+sudo chmod 000 ~/Library/Preferences/ByHost/com.apple.loginwindow*
diff --git a/coin/provisioning/common/macos/disable-notifications_and_warnings.sh b/coin/provisioning/common/macos/disable-notifications_and_warnings.sh
new file mode 100755
index 00000000..13c0a480
--- /dev/null
+++ b/coin/provisioning/common/macos/disable-notifications_and_warnings.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+echo "Unload notificationcenterui.plist"
+launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist
+
+echo "Remove 32-bit warnings"
+rm -f ~/Library/Preferences/com.apple.coreservices.uiagent.plist
diff --git a/coin/provisioning/common/macos/disable_net_lso.sh b/coin/provisioning/common/macos/disable_net_lso.sh
new file mode 100755
index 00000000..7c51a486
--- /dev/null
+++ b/coin/provisioning/common/macos/disable_net_lso.sh
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+sudo tee -a /Library/LaunchDaemons/net_tcp_tso_off.plist > /dev/null <<EOB
+<?xml version=\"1.0\" encoding=\"UTF-8\"?>
+<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">
+<plist version=\"1.0\">
+<dict>
+ <key>Label</key>
+ <string>net_tcp_tso_off</string>
+ <key>MachServices</key>
+ <dict>
+ <key>net_tcp_tso_off</key>
+ <true/>
+ </dict>
+ <key>Program</key>
+ <string>/usr/sbin/sysctl</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>/usr/sbin/sysctl</string>
+ <string>net.inet.tcp.tso=0</string>
+ </array>
+ <key>UserName</key>
+ <string>root</string>
+ <key>GroupName</key>
+ <string>wheel</string>
+ <key>KeepAlive</key>
+ <true/>
+ <key>RunAtLoad</key>
+ <true/>
+</dict>
+</plist>
+EOB
diff --git a/coin/provisioning/common/macos/disable_spotlight.sh b/coin/provisioning/common/macos/disable_spotlight.sh
index 7c60b52b..a404d3e7 100755
--- a/coin/provisioning/common/macos/disable_spotlight.sh
+++ b/coin/provisioning/common/macos/disable_spotlight.sh
@@ -1,38 +1,11 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# Disable spotlight and and stop indexing
sudo mdutil -a -i off
-sudo defaults write /.Spotlight-V100/VolumeConfiguration Exclusions -array "/Volumes"
+sudo mdutil -a -i off /
+# Disable spotlight indexing /Volumes
+sudo mdutil -i off /Volumes
+# Erase spotlight index
+sudo mdutil -E /
diff --git a/coin/provisioning/common/macos/docker.sh b/coin/provisioning/common/macos/docker.sh
new file mode 100755
index 00000000..7ae9cdd5
--- /dev/null
+++ b/coin/provisioning/common/macos/docker.sh
@@ -0,0 +1,37 @@
+#!/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
+
+# shellcheck source=./../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+
+# This script will install Docker which is needed by RTA
+
+chip=$1
+
+if [[ $chip == "amd64" ]]; then
+ sha="158eae1d2f81cc8a0754d2ea3af8c6e6e555f69b"
+else
+ sha="6adf6cc8558af69296208b045187406a95b020bf"
+fi
+
+echo "Installing Docker for $chip chip"
+urlOccifical="https://desktop.docker.com/mac/main/${chip}/Docker.dmg?utm_source=docker"
+urlCache="http://ci-files01-hki.ci.qt.io/input/mac/Docker_${chip}.dmg"
+
+DownloadURL "$urlCache" "$urlOccifical" "$sha" "/tmp/Docker_${chip}.dmg"
+
+sudo hdiutil attach "/tmp/Docker_${chip}.dmg"
+sudo /Volumes/Docker/Docker.app/Contents/MacOS/install --accept-license --user qt
+sudo hdiutil detach /Volumes/Docker
+
+# Add registry mirror for docker images
+mkdir "$HOME/.docker"
+sudo tee -a "$HOME/.docker/daemon.json" <<"EOF"
+{
+ "builder": { "gc": { "defaultKeepStorage": "20GB", "enabled": true } },
+ "experimental": false,
+ "features": { "buildkit": true },
+ "registry-mirrors": ["http://repo-clones.ci.qt.io:5000"]
+}
+EOF
diff --git a/coin/provisioning/common/macos/enable_zsh_history_and_viminfo.sh b/coin/provisioning/common/macos/enable_zsh_history_and_viminfo.sh
new file mode 100755
index 00000000..98daf16d
--- /dev/null
+++ b/coin/provisioning/common/macos/enable_zsh_history_and_viminfo.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+
+if [ -f /Users/qt/.zsh_history ]
+then
+ sudo chown qt:staff /Users/qt/.zsh_history
+fi
+
+if [ -f /Users/qt/.viminfo ]
+then
+ sudo chown qt:staff /Users/qt/.viminfo
+fi
diff --git a/coin/provisioning/common/macos/fbx_macos.sh b/coin/provisioning/common/macos/fbx_macos.sh
index e9b7c689..62d643ee 100755
--- a/coin/provisioning/common/macos/fbx_macos.sh
+++ b/coin/provisioning/common/macos/fbx_macos.sh
@@ -1,36 +1,6 @@
#!/usr/bin/env bash
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script installs FBX SDK
@@ -39,16 +9,16 @@ set -ex
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-version="2016.1.2"
+#version="2016.1.2"
fileName="fbx20161_2_fbxsdk_clang_mac.pkg_nospace.tgz"
-cachedUrl="/net/ci-files01-hki.intra.qt.io/hdd/www/input/fbx/$fileName"
+cachedUrl="/net/ci-files01-hki.ci.qt.io/hdd/www/input/fbx/$fileName"
# officialUrl="http://download.autodesk.com/us/fbx_release_older/$version/fbx20161_2_fbxsdk_clang_mac.pkg.tgz"
targetFolder="/tmp"
echo "Extracting '$cachedUrl'"
tar -xzf "$cachedUrl" -C "$targetFolder"
-rm -rf "$targetFolder/$fileName"
+rm -rf "${targetFolder:?}/${fileName}"
echo "Copying preinstalled FBX SDK to Applications"
sudo cp -r "$targetFolder/Autodesk" /Applications
diff --git a/coin/provisioning/common/macos/fix_relative_dependencies.sh b/coin/provisioning/common/macos/fix_relative_dependencies.sh
new file mode 100755
index 00000000..e67a00c4
--- /dev/null
+++ b/coin/provisioning/common/macos/fix_relative_dependencies.sh
@@ -0,0 +1,25 @@
+#!/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 -e
+
+# realpath is not included to macOS <= 12.
+# dir=$(realpath "$1")
+dir=$(cd "$1" && pwd)
+
+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' | 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}' | 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
+done
diff --git a/coin/provisioning/common/macos/homebrew.sh b/coin/provisioning/common/macos/homebrew.sh
index a6efe123..4f3a93ba 100755
--- a/coin/provisioning/common/macos/homebrew.sh
+++ b/coin/provisioning/common/macos/homebrew.sh
@@ -1,3 +1,23 @@
-#!/usr/bin/env bash
-# Will install homebrew package manager for macOS
-/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" </dev/null
+#!/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
+
+
+# Will install homebrew package manager for macOS.
+# WARNING: Requires commandlinetools
+
+
+set -e
+
+source "$(dirname "$0")"/../../common/unix/DownloadURL.sh
+
+
+DownloadURL \
+ http://ci-files01-hki.ci.qt.io/input/mac/homebrew-install.c744a716f9845988d01e6e238eee7117b8c366c9.rb \
+ https://raw.githubusercontent.com/Homebrew/install/c744a716f9845988d01e6e238eee7117b8c366c9/install \
+ b9782cc0b550229de77b429b56ffce04157e60486ab9df00461ccf3dad565b0a \
+ /tmp/homebrew_install
+/usr/bin/ruby /tmp/homebrew_install </dev/null
+
+# No need to manually do `brew update`, the homebrew installer script does it.
+### brew update
diff --git a/coin/provisioning/common/macos/homebrew_for_arm_mac.sh b/coin/provisioning/common/macos/homebrew_for_arm_mac.sh
new file mode 100755
index 00000000..e84621ff
--- /dev/null
+++ b/coin/provisioning/common/macos/homebrew_for_arm_mac.sh
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Will install homebrew package manager for macOS.
+# WARNING: Requires commandlinetools
+
+
+set -e
+
+. "$(dirname "$0")"/../unix/DownloadURL.sh
+. "$(dirname "$0")"/../unix/SetEnvVar.sh
+
+
+DownloadURL \
+ http://ci-files01-hki.ci.qt.io/input/mac/homebrew/be699a568315f57b65519df576d7fc5840b8a5cc/install.sh \
+ https://raw.githubusercontent.com/Homebrew/install/be699a568315f57b65519df576d7fc5840b8a5cc/install \
+ f20e4a577f0cafbab5a44b4d239886d725b3b985 \
+ /tmp/homebrew_install.sh
+
+DownloadURL "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw"
+{ pw=$(cat "/Users/qt/pw"); } 2> /dev/null
+sudo chmod 755 /tmp/homebrew_install.sh
+{ (echo "$pw" | /tmp/homebrew_install.sh); } 2> /dev/null
+rm -f "/Users/qt/pw"
+
+# No need to manually do `brew update`, the homebrew installer script does it.
+### brew update
+
+SetEnvVar "PATH" "\$PATH:/opt/homebrew/bin"
diff --git a/coin/provisioning/common/macos/increase_limits.sh b/coin/provisioning/common/macos/increase_limits.sh
new file mode 100755
index 00000000..58b20f49
--- /dev/null
+++ b/coin/provisioning/common/macos/increase_limits.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+# 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
+
+
+# Increase the soft and hard RLIMIT_NOFILE and RLIMIT_NPROC limits.
+# By default they are 256/unlimited and 709/1064
+# and they sometimes create problems to the build process and telegraf.
+
+
+set -e
+
+PROVISIONING_DIR="$(dirname "$0")/../../"
+# shellcheck source=../unix/common.sourced.sh
+source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
+
+echo "Current limits are:"
+ulimit -a
+launchctl limit
+
+$CMD_INSTALL -m 644 -o root -g wheel \
+ "$PROVISIONING_DIR/common/macos/limit.maxfiles.plist" \
+ "$PROVISIONING_DIR/common/macos/limit.maxproc.plist" \
+ /Library/LaunchDaemons/
+
+# Activate the new limits immediately (not for the current session though)
+sudo launchctl load -w /Library/LaunchDaemons/limit.maxfiles.plist
+sudo launchctl load -w /Library/LaunchDaemons/limit.maxproc.plist
+
+echo "After adjusting, limits are:"
+ulimit -a
+launchctl limit
+
+
+# NOTE: If the limits are not increased enough, it might be because of
+# restrictions set by the kernel. They can be temporarily altered with:
+
+# sudo sysctl -w kern.maxproc=xxxx
+# sudo sysctl -w kern.maxprocperuid=xxx
diff --git a/coin/provisioning/common/macos/install-commandlinetools.sh b/coin/provisioning/common/macos/install-commandlinetools.sh
index 7b0ead98..f74eaca0 100755
--- a/coin/provisioning/common/macos/install-commandlinetools.sh
+++ b/coin/provisioning/common/macos/install-commandlinetools.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
# shellcheck source=../unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
set -ex
@@ -50,7 +19,7 @@ function InstallCommandLineTools {
hdiutil attach "/tmp/$packageName"
cd "/Volumes/Command Line Developer Tools"
echo "Installing"
- sudo installer -verbose -pkg ./*.pkg -target /
+ sudo installer -pkg ./*.pkg -target / -allowUntrusted
cd /
# Let's fait for 5 second before unmounting. Sometimes resource is busy and cant be unmounted
sleep 3
diff --git a/coin/provisioning/common/macos/install-git.sh b/coin/provisioning/common/macos/install-git.sh
new file mode 100755
index 00000000..45ac2817
--- /dev/null
+++ b/coin/provisioning/common/macos/install-git.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
+
+brew install git
diff --git a/coin/provisioning/common/macos/install_openssl.sh b/coin/provisioning/common/macos/install_openssl.sh
deleted file mode 100755
index 3b1978e2..00000000
--- a/coin/provisioning/common/macos/install_openssl.sh
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script install OpenSSL
-
-set -ex
-
-# shellcheck source=../common/unix/InstallFromCompressedFileFromURL.sh
-source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
-# shellcheck source=../common/unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-
-opensslVersion="1.0.2p"
-opensslFile="openssl-$opensslVersion.tar.gz"
-opensslDlUrl="http://ci-files01-hki.intra.qt.io/input/openssl/$opensslFile"
-opensslAltDlUrl="https://www.openssl.org/source/$opensslFile"
-opensslSha1="f34b5322e92415755c7d58bf5d0d5cf37666382c"
-
-# Below target location has been hard coded into Coin.
-# QTQAINFRA-1195
-openssl_install_dir=/usr/local/openssl-$opensslVersion
-opensslTargetLocation="/usr/local/opt/openssl"
-
-InstallFromCompressedFileFromURL "$opensslDlUrl" "$opensslAltDlUrl" "$opensslSha1" "/tmp/openssl-$opensslVersion" "openssl-$opensslVersion"
-cd "/tmp/openssl-$opensslVersion"
-pwd
-sudo ./config --prefix=$openssl_install_dir
-echo "Running 'make' for OpenSSL"
-sudo make --silent > /tmp/openssl_make.log 2>&1
-echo "Running 'make install' for OpenSSL"
-sudo make --silent install > /tmp/openssl_make_install.log 2>&1
-
-path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/')
-sudo mkdir -p "$path"
-sudo ln -s $openssl_install_dir $opensslTargetLocation
-
-SetEnvVar "PATH" "\"$opensslTargetLocation/bin:\$PATH\""
-SetEnvVar "MANPATH" "\"$opensslTargetLocation/share/man:\$MANPATH\""
-
-SetEnvVar "OPENSSL_DIR" "\"$openssl_install_dir\""
-SetEnvVar "OPENSSL_INCLUDE" "\"$openssl_install_dir/include\""
-SetEnvVar "OPENSSL_LIB" "\"$openssl_install_dir/lib\""
-
-security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem > /dev/null
-security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a $opensslTargetLocation/ssl/cert.pem > /dev/null
-
-sudo rm -rf /tmp/openssl-$opensslVersion
-
-echo "OpenSSL = $opensslVersion" >> ~/versions.txt
diff --git a/coin/provisioning/common/macos/install_xcode.sh b/coin/provisioning/common/macos/install_xcode.sh
index 5eddb72f..440f19b9 100755
--- a/coin/provisioning/common/macos/install_xcode.sh
+++ b/coin/provisioning/common/macos/install_xcode.sh
@@ -1,37 +1,9 @@
#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# shellcheck source=./../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
# This script installs Xcode
# Prerequisites: Have Xcode prefetched to local cache as xz compressed.
@@ -51,17 +23,24 @@ function InstallXCode() {
echo "Uncompressing and installing '$sourceFile'"
if [[ $sourceFile =~ tar ]]; then
cd /Applications/ && sudo tar -zxf "$sourceFile"
+ elif [[ $sourceFile =~ "xip" ]]; then
+ if [[ $sourceFile =~ "http" ]]; then
+ Download "$sourceFile" "/Applications/Xcode_$version.xip"
+ cd /Applications/ && xip -x "Xcode_$version.xip"
+ else
+ cd /Applications/ && xip -x "$sourceFile"
+ fi
else
xzcat < "$sourceFile" | (cd /Applications/ && sudo cpio -dmi)
fi
echo "Versioning application bundle"
- majorVersion=$(echo $version | cut -d '.' -f 1)
+ majorVersion=$(echo "$version" | cut -d '.' -f 1)
versionedAppBundle="/Applications/Xcode${majorVersion}.app"
- sudo mv /Applications/Xcode.app ${versionedAppBundle}
+ sudo mv /Applications/Xcode*.app "${versionedAppBundle}"
echo "Selecting Xcode"
- sudo xcode-select --switch ${versionedAppBundle}
+ sudo xcode-select --switch "${versionedAppBundle}"
echo "Accept license"
sudo xcodebuild -license accept
diff --git a/coin/provisioning/common/macos/java.sh b/coin/provisioning/common/macos/java.sh
index c5222a55..1429f824 100755
--- a/coin/provisioning/common/macos/java.sh
+++ b/coin/provisioning/common/macos/java.sh
@@ -1,63 +1,33 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script installs JDK
set -ex
echo "Installing Java Development Kit"
+version=11.0.12
+targetFile=jdk-${version}_osx-x64_bin.dmg
-targetFile=jdk-8u102-macosx-x64.dmg
-
-url=ci-files01-hki.intra.qt.io:/hdd/www/input/mac
-# url_alt=http://download.oracle.com/otn-pub/java/jdk/8u102-b14/jdk-8u102-macosx-x64.dmg
+url=ci-files01-hki.ci.qt.io:/hdd/www/input/mac
+# url_alt=https://www.oracle.com/java/technologies/downloads/#java11-linux
echo "Mounting $targetFile"
-sudo mount "$url" /Volumes
+sudo mkdir -p /Volumes/files
+sudo mount -o locallocks "$url" /Volumes/files
-sudo cp "/Volumes/$targetFile" /tmp
-sudo umount /Volumes
+sudo cp "/Volumes/files/$targetFile" /tmp
+sudo umount /Volumes/files
sudo hdiutil attach "/tmp/$targetFile"
echo Installing JDK
-cd /Volumes/JDK\ 8\ Update\ 102/ && sudo installer -package JDK\ 8\ Update\ 102.pkg -target /
+cd /Volumes/JDK\ ${version} && sudo installer -package JDK\ ${version}.pkg -target /
echo "Unmounting $targetFile"
-sudo hdiutil unmount /Volumes/JDK\ 8\ Update\ 102/ -force
+sudo hdiutil unmount /Volumes/JDK\ ${version} -force
echo "Disable auto update"
sudo defaults write /Library/Preferences/com.oracle.java.Java-Updater JavaAutoUpdateEnabled -bool false
-echo "JDK Version = 8 update 102" >> ~/versions.txt
+echo "JDK Version = ${version}" >> ~/versions.txt
diff --git a/coin/provisioning/common/macos/java_arm.sh b/coin/provisioning/common/macos/java_arm.sh
new file mode 100755
index 00000000..1c4b1ed1
--- /dev/null
+++ b/coin/provisioning/common/macos/java_arm.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs JDK
+
+set -ex
+
+echo "Installing Java Development Kit"
+
+targetFile=zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.dmg
+
+url=ci-files01-hki.ci.qt.io:/hdd/www/input/mac
+# url_alt=https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.dmg
+
+echo "Mounting $targetFile"
+sudo mkdir -p /Volumes/files
+sudo mount -o locallocks "$url" /Volumes/files
+
+sudo cp "/Volumes/files/$targetFile" /tmp
+sudo umount /Volumes/files
+sudo hdiutil attach "/tmp/$targetFile"
+
+echo Installing JDK
+cd /Volumes/Zulu\ OpenJDK\ 15.29+15 && sudo installer -pkg Double-Click\ to\ Install\ Zulu\ 15.pkg -target /
+
+echo "Unmounting $targetFile"
+sudo hdiutil unmount /Volumes/Zulu\ OpenJDK\ 15.29+15 -force
+
+echo "Disable auto update"
+sudo defaults write /Library/Preferences/com.oracle.java.Java-Updater JavaAutoUpdateEnabled -bool false
+
+echo "JDK Version = 15.0.2" >> ~/versions.txt
diff --git a/coin/provisioning/common/macos/libiodbc.rb b/coin/provisioning/common/macos/libiodbc.rb
new file mode 100644
index 00000000..69e5793c
--- /dev/null
+++ b/coin/provisioning/common/macos/libiodbc.rb
@@ -0,0 +1,33 @@
+class Libiodbc < Formula
+ desc "Database connectivity layer based on ODBC. (alternative to unixodbc)"
+ homepage "http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/"
+ url "https://github.com/openlink/iODBC/archive/v3.52.15.tar.gz"
+ sha256 "f6b376b6dffb4807343d6d612ed527089f99869ed91bab0bbbb47fdea5ed6ace"
+
+ option "with-universal", "Build as universal binary"
+
+ if build.with? "universal"
+ version "3.52.15-universal"
+ env :std
+ end
+
+ depends_on "autoconf" => :build
+ depends_on "automake" => :build
+ depends_on "libtool" => :build
+
+ conflicts_with "unixodbc", :because => "both install 'odbcinst.h' header"
+
+ def install
+ if build.with? "universal"
+ ENV['CFLAGS'] = '-O -arch arm64 -arch x86_64 -mmacosx-version-min=10.9'
+ end
+ system "./autogen.sh"
+ system "./configure", "--disable-dependency-tracking", "--prefix=#{prefix}"
+ system "make", "install"
+ end
+
+ test do
+ system bin/"iodbc-config", "--version"
+ end
+end
+
diff --git a/coin/provisioning/common/macos/libiodbc.sh b/coin/provisioning/common/macos/libiodbc.sh
index 79fa86c2..059758c8 100755
--- a/coin/provisioning/common/macos/libiodbc.sh
+++ b/coin/provisioning/common/macos/libiodbc.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# Install libiodbc
@@ -40,12 +9,11 @@ set -ex
# shellcheck source=../unix/SetEnvVar.sh
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-brew update
-brew install libiodbc
+brew install --formula "${BASH_SOURCE%/*}/libiodbc.rb" "$@"
# CPLUS_INCLUDE_PATH is set so clang and configure can find libiodbc
-read -r -a arr <<< $(brew list --versions libiodbc)
+read -r -a arr <<< "$(brew list --versions libiodbc)"
version=${arr[1]}
SetEnvVar "CPLUS_INCLUDE_PATH" "/usr/local/Cellar/libiodbc/$version/include${CPLUS_INCLUDE_PATH:+:}${CPLUS_INCLUDE_PATH}"
diff --git a/coin/provisioning/common/macos/libusb.sh b/coin/provisioning/common/macos/libusb.sh
new file mode 100755
index 00000000..2abe6cbf
--- /dev/null
+++ b/coin/provisioning/common/macos/libusb.sh
@@ -0,0 +1,35 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Install libusb
+set -ex
+
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+brew install libusb
+read -r -a arr <<< "$(brew list --versions libusb)"
+version=${arr[1]}
+echo "libusb = $version" >> ~/versions.txt
+
+mkdir /tmp/arm64/
+mkdir /tmp/amd64/
+
+case $(sw_vers -productVersion) in
+ 11*) codename=big_sur;;
+ 12*) codename=monterey;;
+ 13*) codename=ventura;;
+ 14*) codename=sonoma;;
+esac
+
+brew fetch --bottle-tag=arm64_"${codename}" libusb
+brew fetch --bottle-tag="${codename}" libusb
+tar xf "$(brew --cache --bottle-tag=arm64_"${codename}" libusb)" -C /tmp/arm64/
+tar xf "$(brew --cache --bottle-tag="${codename}" libusb)" -C /tmp/amd64
+for f in /tmp/arm64/libusb/"$version"/lib/* ; do
+ if lipo -info "$f" >/dev/null 2>&1; then
+ file="$(basename "$f")"
+ lipo -create -output "$(brew --cellar)/libusb/$version/lib/$file" \
+ "/tmp/arm64/libusb/$version/lib/$file" \
+ "/tmp/amd64/libusb/$version/lib/$file"
+ fi
+done
diff --git a/coin/provisioning/common/macos/limit.maxfiles.plist b/coin/provisioning/common/macos/limit.maxfiles.plist
new file mode 100644
index 00000000..1bf85214
--- /dev/null
+++ b/coin/provisioning/common/macos/limit.maxfiles.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>limit.maxfiles</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>launchctl</string>
+ <string>limit</string>
+ <string>maxfiles</string>
+ <string>65536</string>
+ <string>524288</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>ServiceIPC</key>
+ <false/>
+ </dict>
+</plist>
diff --git a/coin/provisioning/common/macos/limit.maxproc.plist b/coin/provisioning/common/macos/limit.maxproc.plist
new file mode 100644
index 00000000..0c2cc0e9
--- /dev/null
+++ b/coin/provisioning/common/macos/limit.maxproc.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>limit.maxproc</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>launchctl</string>
+ <string>limit</string>
+ <string>maxproc</string>
+ <string>8192</string>
+ <string>32768</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>ServiceIPC</key>
+ <false/>
+ </dict>
+</plist>
diff --git a/coin/provisioning/common/macos/macos-version.sh b/coin/provisioning/common/macos/macos-version.sh
index 9f357b8c..182c1161 100755
--- a/coin/provisioning/common/macos/macos-version.sh
+++ b/coin/provisioning/common/macos/macos-version.sh
@@ -1,53 +1,20 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2016 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2016 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 needs to be called last during provisioning so that the software information will show up last in provision log.
set -ex
# Print all build machines versions to provision log
-echo "*********************************************" >> ~/versions.txt
-echo "***** macOS version *****" >> ~/versions.txt
-sw_vers >> ~/versions.txt
-echo "***** All installed packages *****" >> ~/versions.txt
-echo "***** HomeBrew *****" >> ~/versions.txt
-brew list --versions >> ~/versions.txt
-echo "***** HomeBrew Casks*****" >> ~/versions.txt
-brew cask list --versions >> ~/versions.txt
-echo "***** Apple's installer *****" >> ~/versions.txt
-pkgutil --pkgs >> ~/versions.txt
-echo "*********************************************" >> ~/versions.txt
-
+( echo "*********************************************"
+ echo "***** macOS version *****"
+ sw_vers
+ echo "***** All installed packages *****"
+ echo "***** HomeBrew *****"
+ brew list --versions
+ echo "***** Apple's installer *****"
+ pkgutil --pkgs
+ echo "*********************************************"
+) >> ~/versions.txt
"$(dirname "$0")/version.sh"
diff --git a/coin/provisioning/common/macos/makeuniversal.sh b/coin/provisioning/common/macos/makeuniversal.sh
new file mode 100755
index 00000000..0f5fc6a0
--- /dev/null
+++ b/coin/provisioning/common/macos/makeuniversal.sh
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Copies or lipos files from the given DESTDIR dirs to the respective install dir
+
+set -e
+
+for dir in "$@"; do
+ echo "Processing files in $dir ..."
+ pushd "$dir" >/dev/null
+ find . -type f -or -type l | while read -r f; do
+ dst="${f:1}"
+ dstdir="$(dirname "$dst")"
+ mkdir -p "$dstdir"
+
+ if [[ -L "$f" ]]; then
+ if [[ ! -L "$dst" && ! -d "$dst" && ! -f "$dst" ]]; then
+ echo "Copying symlink $dir/$f to $dst"
+ cp -P -n "$f" "$dst"
+ fi
+ elif [[ ! -f "$dst" ]]; then
+ echo "Copying $dir/$f to $dst"
+ cp -c "$f" "$dst"
+ elif lipo -info "$f" >/dev/null 2>&1; then
+ echo "Lipoing $dir/$f into $dst"
+ lipo -create -output "$dst" "$dst" "$f"
+ elif ! diff "$f" "$dst"; then
+ echo "Error: File $f in $dir doesn't match destination $dst"
+ exit 1
+ fi
+ done
+ popd >/dev/null
+done
diff --git a/coin/provisioning/common/macos/mimersql.sh b/coin/provisioning/common/macos/mimersql.sh
new file mode 100755
index 00000000..10ee1dc5
--- /dev/null
+++ b/coin/provisioning/common/macos/mimersql.sh
@@ -0,0 +1,56 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs Mimer SQL
+
+# Mimer SQL is needed for Qt to be able to support Mimer SQL
+
+set -ex
+os="$1"
+
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+
+mimerSqlVersion="11.0.7G"
+if [ "$os" = "macos" ]; then
+ arch=$(uname -m)
+ if [ "$arch" = "x86_64" ]; then
+ mimerSqlPackageName="mimersql-110_x86_64.tgz"
+ SHA1="d748f87b72e7188c527f131db2590f552f18f544"
+ else
+ mimerSqlPackageName="mimersql-110_arm64.tgz"
+ SHA1="f209c97074d096e50e637441073e8aa355c5116e"
+ fi
+else
+ mimerSqlPackageName="mimersql-110_universal.tgz"
+ SHA1="eab32be623f1cbde7c29cea0f0ca4332b8ca502b"
+fi
+
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/$mimerSqlPackageName"
+AltUrl="https://install.mimer.com/qt/macOS/$mimerSqlPackageName"
+
+DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "/tmp/$mimerSqlPackageName"
+
+echo "Installing $mimerSqlPackageName"
+if [ -e /tmp/mimersql_${mimerSqlVersion} ]; then
+ rm -r /tmp/mimersql_${mimerSqlVersion}
+fi
+mkdir /tmp/mimersql_${mimerSqlVersion}
+tar -C /tmp/mimersql_${mimerSqlVersion} -zxf /tmp/$mimerSqlPackageName
+if [ ! -e /usr/local/include ]; then
+ sudo mkdir -p /usr/local/include
+ sudo chmod 777 /usr/local/include
+fi
+if [ ! -e /usr/local/lib ]; then
+ sudo mkdir -p /usr/local/lib
+ sudo chmod 777 /usr/local/lib
+fi
+sudo cp /tmp/mimersql_${mimerSqlVersion}/include/*.h /usr/local/include/
+sudo chmod 755 /usr/local/include/mimer*.h
+sudo cp /tmp/mimersql_${mimerSqlVersion}/lib/libmimerapi.dylib /usr/local/lib/
+sudo chmod 755 /usr/local/lib/libmimerapi.dylib
+echo "Removing $mimerSqlPackageName"
+rm "/tmp/$mimerSqlPackageName"
+rm -r /tmp/mimersql_${mimerSqlVersion}
+echo "Mimer SQL = $mimerSqlVersion" >> ~/versions.txt
diff --git a/coin/provisioning/common/macos/mount-vcpkg-cache-drive.sh b/coin/provisioning/common/macos/mount-vcpkg-cache-drive.sh
new file mode 100755
index 00000000..8a3e1f69
--- /dev/null
+++ b/coin/provisioning/common/macos/mount-vcpkg-cache-drive.sh
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -e
+
+# Avoid leaking secrets in the logs
+set +x
+
+targetDir="$HOME/vcpkg-cache"
+
+# Specify the path to the credential file
+credentialFile="$HOME/samba_credentials"
+username=$(grep '^username=' "$credentialFile" | cut -d '=' -f 2)
+password=$(grep '^password=' "$credentialFile" | cut -d '=' -f 2)
+
+mkdir -p "$targetDir"
+
+# Mount the SMB share
+# Check if the mount was successful
+if mount -v -t smbfs -o -N "//${username}:${password}@vcpkg-server.ci.qt.io/vcpkg" "$targetDir"
+then
+ echo "SMB share mounted successfully!"
+else
+ echo "Failed to mount SMB share."
+fi
+
+set -x
diff --git a/coin/provisioning/common/macos/ninja.sh b/coin/provisioning/common/macos/ninja.sh
new file mode 100755
index 00000000..66ac8324
--- /dev/null
+++ b/coin/provisioning/common/macos/ninja.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script will install ninja binary
+
+# shellcheck source=./../unix/InstallFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
+
+version="1.10.2"
+internalUrl="http://ci-files01-hki.ci.qt.io/input/mac/ninja-mac_v${version}.zip"
+externalUrl="https://github.com/ninja-build/ninja/releases/download/v${version}/ninja-mac.zip"
+SHA1="95d0ca5e7c67ab7181c87e6a6ec59d11b1ff2d30"
+DestDir="/usr/local/bin/"
+
+InstallFromCompressedFileFromURL "$internalUrl" "$externalUrl" "$SHA1" "$DestDir" ""
+
+echo "Ninja = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/macos/nodejs.sh b/coin/provisioning/common/macos/nodejs.sh
new file mode 100755
index 00000000..ac927110
--- /dev/null
+++ b/coin/provisioning/common/macos/nodejs.sh
@@ -0,0 +1,19 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=./../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+
+# This script will install Nodejs
+
+version="18.16.0"
+urlCache="http://ci-files01-hki.ci.qt.io/input/nodejs/node-v$version.pkg"
+urlOffcial="https://nodejs.org/dist/v$version/node-v$version.pkg"
+sha256="156aa5b9580288fb0b3c6134eb8fac64e50745d78d33eebe9e29eb7ff87b8e1e"
+
+DownloadURL $urlCache $urlOffcial $sha256 "/tmp/node-v$version.pkg"
+sudo installer -pkg "/tmp/node-v$version.pkg" -target /
+
+ echo "Nodejs = $version" >> ~/versions.txt
+
diff --git a/coin/provisioning/common/macos/pip.sh b/coin/provisioning/common/macos/pip.sh
index 2d07db85..ce73d283 100755
--- a/coin/provisioning/common/macos/pip.sh
+++ b/coin/provisioning/common/macos/pip.sh
@@ -1,11 +1,20 @@
#!/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=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
function InstallPip {
python=$1
# Will install pip utility for python
- curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
+ if [[ $python == "python2.7" ]]; then
+ DownloadURL "http://ci-files01-hki.ci.qt.io/input/mac/python27/get-pip.py" "https://bootstrap.pypa.io/2.7/get-pip.py" "c4c5f74586cffe49804f167d95d1710b9750ddf0"
+ else
+ DownloadURL "http://ci-files01-hki.ci.qt.io/input/mac/get-pip.py" "https://bootstrap.pypa.io/get-pip.py" "209ddf0bb8d1cf06a1f17dd9f21970c76b3d2be2"
+ fi
sudo "$python" get-pip.py
rm get-pip.py
}
diff --git a/coin/provisioning/common/macos/pkgconfig.sh b/coin/provisioning/common/macos/pkgconfig.sh
new file mode 100755
index 00000000..5b849821
--- /dev/null
+++ b/coin/provisioning/common/macos/pkgconfig.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Install pkgconfig
+set -ex
+
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+brew install pkgconfig
+read -r -a arr <<< "$(brew list --versions pkgconfig)"
+version=${arr[1]}
+echo "pkgconfig = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/macos/postgresql.sh b/coin/provisioning/common/macos/postgresql.sh
new file mode 100755
index 00000000..8980d28e
--- /dev/null
+++ b/coin/provisioning/common/macos/postgresql.sh
@@ -0,0 +1,41 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs PostgreSQL
+
+# PostgreSQL is needed for Qt to be able to support PostgreSQL
+
+set -ex
+
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+# shellcheck source=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+
+psqlAppVersion="2.5"
+psqlVersion="14"
+
+packageName="Postgres-$psqlAppVersion-$psqlVersion.dmg"
+
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/$packageName"
+AltUrl="https://github.com/PostgresApp/PostgresApp/releases/download/v$psqlAppVersion/$packageName"
+SHA1="04cb6939704c5ede5646c1da8a686da3ded98a26"
+
+DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "/tmp/$packageName"
+
+mountpoint="/tmp/pg-mount"
+mkdir -p "$mountpoint"
+
+echo "Mounting $packageName in $mountpoint"
+hdiutil attach -nobrowse -mountpoint "$mountpoint" "/tmp/$packageName"
+
+rm -Rf /Applications/Postgres.app
+cp -Rf "$mountpoint/Postgres.app" /Applications
+
+umount "$mountpoint"
+echo "Removing $packageName"
+rm "/tmp/$packageName"
+
+SetEnvVar "POSTGRESQLBINPATH" "/Applications/Postgres.app/Contents/Versions/$psqlVersion/bin"
+echo "PostgreSQL = $psqlVersion ($psqlAppVersion)" >> ~/versions.txt
diff --git a/coin/provisioning/common/macos/python2.sh b/coin/provisioning/common/macos/python2.sh
index f4016f8d..2da8b463 100755
--- a/coin/provisioning/common/macos/python2.sh
+++ b/coin/provisioning/common/macos/python2.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script installs python2
@@ -42,18 +11,22 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
# shellcheck source=./pip.sh
source "${BASH_SOURCE%/*}/pip.sh"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/python-2.7.14-macosx10.6.pkg"
-AltUrl="https://www.python.org/ftp/python/2.7.14/python-2.7.14-macosx10.6.pkg"
-SHA1="fa2bb77243ad0cb611aa3295204fab403bb0fa09"
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/python-2.7.16-macosx10.6.pkg"
+AltUrl="https://www.python.org/ftp/python/2.7.16/python-2.7.16-macosx10.6.pkg"
+SHA1="895a8327a58e7c0e58852638ab3d84843643535b"
DestDir="/"
InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
InstallPip python2.7
+echo "Configure pip"
+/Library/Frameworks/Python.framework/Versions/2.7/bin/pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
+/Library/Frameworks/Python.framework/Versions/2.7/bin/pip config --user set global.extra-index-url https://pypi.org/simple/
+
/Library/Frameworks/Python.framework/Versions/2.7/bin/pip install virtualenv
SetEnvVar "PATH" "/Library/Frameworks/Python.framework/Versions/2.7/bin/:\$PATH"
-echo "python2 = 2.7.14" >> ~/versions.txt
+echo "python2 = 2.7.16" >> ~/versions.txt
diff --git a/coin/provisioning/common/macos/python3.sh b/coin/provisioning/common/macos/python3.sh
index 35bccc93..925a4925 100755
--- a/coin/provisioning/common/macos/python3.sh
+++ b/coin/provisioning/common/macos/python3.sh
@@ -1,38 +1,7 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Copyright (C) 2017 Pelagicore AG
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2019 The Qt Company Ltd.
+# Copyright (C) 2017 Pelagicore AG
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script installs python3
@@ -43,23 +12,25 @@ source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
# shellcheck source=./pip.sh
source "${BASH_SOURCE%/*}/pip.sh"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/python-3.6.1-macosx10.6.pkg"
-AltUrl="https://www.python.org/ftp/python/3.6.1/python-3.6.1-macosx10.6.pkg"
-SHA1="ae0c749544c2d573c3cc29c4c2d7d9a595db28f9"
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/python-3.9.6-macos11.pkg"
+AltUrl="https://www.python.org/ftp/python/3.9.6/python-3.9.6-macos11.pkg"
+SHA1="2af5277c2e197719eb4b820430dee5d89e2577b6"
DestDir="/"
InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
-InstallPip python3.6
+InstallPip python3.9
-/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 install virtualenv wheel
+echo "Configure pip"
+/Library/Frameworks/Python.framework/Versions/3.9/bin/pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
+/Library/Frameworks/Python.framework/Versions/3.9/bin/pip config --user set global.extra-index-url https://pypi.org/simple/
-SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin"
-SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.6/bin"
+/Library/Frameworks/Python.framework/Versions/3.9/bin/pip3 install virtualenv wheel html5lib
-# Install all needed packages in a special wheel cache directory
-/Library/Frameworks/Python.framework/Versions/3.6/bin/pip3 wheel --wheel-dir $HOME/python3-wheels -r ${BASH_SOURCE%/*}/../shared/requirements.txt
-SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels"
+SetEnvVar "PYTHON3_PATH" "/Library/Frameworks/Python.framework/Versions/3.9/bin"
+SetEnvVar "PIP3_PATH" "/Library/Frameworks/Python.framework/Versions/3.9/bin"
-echo "python3 = 3.6.1" >> ~/versions.txt
+# Install Python certificates. Required at least for emsdk installation
+open /Applications/Python\ 3.9/Install\ Certificates.command
+echo "python3 = 3.9.6" >> ~/versions.txt
diff --git a/coin/provisioning/common/macos/sccache.sh b/coin/provisioning/common/macos/sccache.sh
new file mode 100755
index 00000000..85c4aee2
--- /dev/null
+++ b/coin/provisioning/common/macos/sccache.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+# 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
+
+set -ex
+
+source "${BASH_SOURCE%/*}/../unix/sccache.sh"
+
+targetArch=x86_64-apple-darwin
+targetVersion=0.2.14
+sha1=764bc1664c0ff616d9980a6d127175d0a2041781
+installSccache "$targetArch" "$targetVersion" "$sha1"
diff --git a/coin/provisioning/common/macos/screenresolution.sh b/coin/provisioning/common/macos/screenresolution.sh
new file mode 100755
index 00000000..1b552e88
--- /dev/null
+++ b/coin/provisioning/common/macos/screenresolution.sh
@@ -0,0 +1,43 @@
+#!/bin/bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Install screenresolution and set correct resolution at boot
+
+brew install screenresolution
+
+sudo tee -a /usr/local/bin/set_resolution.sh <<"EOF"
+#!/bin/bash
+sleep 20
+/usr/local/bin/screenresolution set 1280x800x32@0
+EOF
+
+
+sudo chmod a+x /usr/local/bin/set_resolution.sh
+
+
+sudo tee -a ~/Library/LaunchAgents/screenresolution.plist <<"EOF"
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple/DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>org.qt.io.screenresolution</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>/usr/local/bin/set_resolution.sh</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>KeepAlive</key>
+ <false/>
+ <key>LaunchOnlyOnce</key>
+ <true/>
+ <key>StandardErrorPath</key>
+ <string>/tmp/screenresolution.err</string>
+ <key>StandardOutPath</key>
+ <string>/tmp/screenresolution.out</string>
+ </dict>
+</plist>
+EOF
+
diff --git a/coin/provisioning/common/macos/set-locale.sh b/coin/provisioning/common/macos/set-locale.sh
new file mode 100755
index 00000000..bede1e00
--- /dev/null
+++ b/coin/provisioning/common/macos/set-locale.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+# Copyright (C) 2019 The Qt Company Ltd.
+# Copyright (C) 2017 Pelagicore AG
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script sets the macOS locale to UTF-8
+set -ex
+
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+SetEnvVar "LANG" "en_US.UTF-8"
+
+# The following settings match the "United States" region default
+defaults write -globalDomain AppleLocale "en_US"
+defaults write -globalDomain AppleLanguages "(en)"
+defaults write -globalDomain AppleMeasurementUnits "Inches"
+defaults write -globalDomain AppleTemperatureUnit "Fahrenheit"
+defaults write -globalDomain AppleMetricUnits -bool false
diff --git a/coin/provisioning/common/macos/set_tcc_permissions.sh b/coin/provisioning/common/macos/set_tcc_permissions.sh
new file mode 100755
index 00000000..d9fb222b
--- /dev/null
+++ b/coin/provisioning/common/macos/set_tcc_permissions.sh
@@ -0,0 +1,31 @@
+#!/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
+
+TCC_DATABASE="$HOME/Library/Application Support/com.apple.TCC/TCC.db"
+if touch "$TCC_DATABASE"; then
+ # We can write to the TCC database
+ BOOTSTRAP_AGENT="$HOME/bootstrap-agent"
+ REQ_STR=$(codesign -d -r- "$BOOTSTRAP_AGENT" 2>&1 | awk -F ' => ' '/designated/{print $2}')
+ REQ_HEX=$(echo "$REQ_STR" | csreq -r- -b >(xxd -p | tr -d '\n'))
+
+ # shellcheck disable=SC2043
+ for service in kTCCServiceMicrophone; do
+ sqlite3 -echo "$TCC_DATABASE" <<EOF
+ DELETE from access WHERE client = '$BOOTSTRAP_AGENT' AND service = '$service';
+ INSERT INTO access (service, client, client_type, auth_value, auth_reason, auth_version, csreq, flags) VALUES (
+ '$service', -- service
+ '$BOOTSTRAP_AGENT', -- client
+ 1, -- client_type (1 - absolute path)
+ 2, -- auth_value (2 - allowed)
+ 4, -- auth_reason (4 - "System Set")
+ 1, -- auth_version
+ X'$REQ_HEX', -- csreq
+ 0 -- flags
+ );
+EOF
+ done
+else
+ echo "TCC database is not writable. Is SIP disabled?" >&2
+ exit 1
+fi
diff --git a/coin/provisioning/common/macos/sha1sum-compatibility.sh b/coin/provisioning/common/macos/sha1sum-compatibility.sh
index c3936499..65685371 100755
--- a/coin/provisioning/common/macos/sha1sum-compatibility.sh
+++ b/coin/provisioning/common/macos/sha1sum-compatibility.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# On macOS the sha1 tool is named 'shasum' while on all other unix systems it is called 'sha1sum'.
# In order to make all unix provioning scripts run on macOS without special case handling
diff --git a/coin/provisioning/common/macos/system_updates.sh b/coin/provisioning/common/macos/system_updates.sh
index 0736d740..8cc9410e 100755
--- a/coin/provisioning/common/macos/system_updates.sh
+++ b/coin/provisioning/common/macos/system_updates.sh
@@ -1,40 +1,12 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
# Disable "Download newly available updates in the background" from App Store
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticDownload -boolean FALSE
# Disable "Install system data files and security updates" from App Store
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate CriticalUpdateInstall -boolean FALSE
+
+# Disable "Automatic checks"
+sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticCheckEnabled -bool FALSE
diff --git a/coin/provisioning/common/macos/telegraf-coin.conf b/coin/provisioning/common/macos/telegraf-coin.conf
new file mode 100644
index 00000000..d06e90cc
--- /dev/null
+++ b/coin/provisioning/common/macos/telegraf-coin.conf
@@ -0,0 +1,57 @@
+[global_tags]
+[agent]
+ interval = "10s"
+ round_interval = true
+ metric_batch_size = 100
+ metric_buffer_limit = 10000
+ collection_jitter = "0s"
+ flush_interval = "10s"
+ flush_jitter = "5s"
+ precision = ""
+ logfile = "/var/log/telegraf-coin.log"
+ hostname = "$COIN_UNIQUE_JOB_ID"
+ omit_hostname = false
+[[outputs.influxdb]]
+ urls= ["https://qtinfluxdb01.intra.qt.io:8086"]
+ insecure_skip_verify = true
+ database = "coin_vms"
+ skip_database_creation = true
+ username = "coin_vms_writer"
+ password = "COIN_VMS_WRITER_PASS"
+#[[inputs.cpu]] # linux-only
+# percpu = true
+# totalcpu = true
+# collect_cpu_time = false
+# report_active = false
+[[inputs.disk]]
+ # macOS needs two extra filesystem exceptions:
+ # + cd9660: This is a read-only filesystem, and always 100% full
+ # + msdos: Sometimes at boot a short-lived unique mount of type "msdos"
+ # is performed, at the random directory
+ # /Volumes/firmwaresyncd.XXXXXX.
+ # The uniqueness of the path bloats the cardinality of InfluxDB.
+ ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs", "cd9660", "msdos"]
+#[[inputs.diskio]] # linux-only
+[[inputs.kernel]]
+[[inputs.mem]]
+[[inputs.processes]]
+[[inputs.swap]]
+[[inputs.system]]
+#[[inputs.kernel_vmstat]] # linux-only
+[[inputs.netstat]]
+
+
+# Monitor Coin process
+[[inputs.procstat]]
+ exe = "coin-"
+ # Buggy on macOS if using the "native" pid_finder, see:
+ # https://github.com/influxdata/telegraf/issues/6265
+ # Tested 1.12.1 version that "native" pid_finder has been fixed,
+ # but it is slow and times out frequently
+ pid_finder = "pgrep"
+
+
+# Monitor I/O latency
+[[inputs.exec]]
+ data_format = "influx"
+ commands = [ "/usr/local/bin/telegraf-ioping.sh /" ]
diff --git a/coin/provisioning/common/macos/telegraf-ioping.sh b/coin/provisioning/common/macos/telegraf-ioping.sh
new file mode 100755
index 00000000..9b6d3851
--- /dev/null
+++ b/coin/provisioning/common/macos/telegraf-ioping.sh
@@ -0,0 +1,28 @@
+#!/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
+
+# Measure I/O latency once, return data in InfluxDB format
+#
+# Run one ioping command for read, and one for write.
+# Each one sends 3 requests and reports the minimum time, in nanoseconds.
+# (Because of limitations of ioping, we can't just send one request and get
+# the number back in the batch format. Additionally, the number seems to be
+# fluctuating quite a bit so taking the smallest number out of 3 requests is
+# stabilising it a bit.)
+
+
+set -e
+
+[ -z "$1" ] && echo "$0 takes a path as a first argument" && exit 1
+
+# Try to run in high priority to avoid slow-downs because of
+# factors other than I/O.
+renice -n -10 -p $$ >/dev/null 2>&1 || true
+
+
+rlatency="$(/usr/local/bin/ioping -B -k -c 3 -i 0.1 "$1" | cut -d " " -f 5)"
+wlatency="$(/usr/local/bin/ioping -B -k -c 3 -i 0.1 -W "$1" | cut -d " " -f 5)"
+
+printf "ioping,path=$1 read_latency_ns=%u,write_latency_ns=%u\n" \
+ "$rlatency" "$wlatency"
diff --git a/coin/provisioning/common/macos/telegraf_install.sh b/coin/provisioning/common/macos/telegraf_install.sh
new file mode 100755
index 00000000..f9658d83
--- /dev/null
+++ b/coin/provisioning/common/macos/telegraf_install.sh
@@ -0,0 +1,68 @@
+#!/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
+
+# This script installs telegraf and ioping and our script telegraf-ioping.sh
+# to the /usr/bin directory.
+#
+# The reasons we don't install to /usr/local/bin are:
+# 1. On SLES and RHEL, the PATH of sudo (secure_path setting in /etc/sudoers)
+# does not include /usr/local/bin.
+# 2. On macOS /usr/local/bin does not even exist early in provisioning.
+
+
+######################## BOILERPLATE ###########################
+set -e
+
+PROVISIONING_DIR="$(dirname "$0")/../../"
+
+# shellcheck source=../unix/common.sourced.sh
+source "${BASH_SOURCE%/*}/../unix/common.sourced.sh"
+# shellcheck source=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+
+is_script_executed telegraf_install.sh \
+ || fatal "Script telegraf_install.sh should be executed, not sourced"
+
+################################################################
+
+
+[ "$PROVISIONING_OS" = linux ] \
+ && ioping_sha256=259abf04bcb84f4126ff97c04b6651e1cf5ea6d8a9ff364c769a26c95b6eeb44 \
+ || ioping_sha256=55de6a2f1a5343e0ce8df31d82d47a9e79c7e612edbc6dfb39b5fc6fb358b2e3
+DownloadURL "http://ci-files01-hki.ci.qt.io/input/ioping/ioping.${PROVISIONING_OS}-${PROVISIONING_ARCH}" \
+ '' "$ioping_sha256" ioping
+/usr/bin/sudo mkdir -p /usr/local/bin/
+$CMD_INSTALL -m 755 ./ioping /usr/local/bin/
+rm -f ioping
+
+# 2. Install custom ioping monitoring script
+$CMD_INSTALL -m 755 "$PROVISIONING_DIR"/common/macos/telegraf-ioping.sh /usr/local/bin/
+
+# 3. Download and install telegraf
+
+[ "$PROVISIONING_OS" = macos ] && os=darwin || os=linux
+[ "$PROVISIONING_ARCH" = x86 ] && arch=i386 || arch=amd64
+package_filename=telegraf-1.12.6_${os}_${arch}.tar.gz
+package_sha256_list="$PROVISIONING_DIR"/common/shared/telegraf/telegraf_packages.sha256.txt
+package_sha256=$(sed -n "s/.*$package_filename *//p" "$package_sha256_list")
+
+DownloadURL \
+ http://ci-files01-hki.ci.qt.io/input/telegraf/"$package_filename" \
+ https://dl.influxdata.com/telegraf/releases/"$package_filename" \
+ "$package_sha256" \
+ telegraf.tar.gz
+
+tar -xzf ./telegraf.tar.gz -C /tmp
+telegraf_binary=$(find /tmp/telegraf* -name telegraf -type f | grep /bin/ | head -1)
+$CMD_INSTALL -m 755 "$telegraf_binary" /usr/local/bin/
+rm -rf /tmp/telegraf*
+
+# 4. Edit config file with passwords
+"$PROVISIONING_DIR"/common/unix/telegraf_password.sh
+
+# 5. Start telegraf in background (-b) and with retaining the environment (-E)
+# in order to report as hostname = $COIN_UNIQUE_JOB_ID.
+/usr/bin/sudo -b -E telegraf --config /etc/telegraf-coin.conf >/dev/null 2>&1
+
+echo DONE: "Installed and started telegraf: $package_filename"
diff --git a/coin/provisioning/common/macos/version.sh b/coin/provisioning/common/macos/version.sh
index 3e2a7f19..8e3cde83 100755
--- a/coin/provisioning/common/macos/version.sh
+++ b/coin/provisioning/common/macos/version.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2016 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2016 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script will print all installed software to provision log.
# Script needs to be named so that it will be ran at last during provisioning
@@ -41,3 +10,9 @@ echo "*********************************************"
echo "***** SW VERSIONS *****"
cat ~/versions.txt
echo "*********************************************"
+echo "*************** mount ***********************"
+mount
+echo "*********************************************"
+echo "*************** df **************************"
+df -h
+echo "*********************************************"
diff --git a/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake b/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake
new file mode 100644
index 00000000..9a207b0e
--- /dev/null
+++ b/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-aarch64le.cmake
@@ -0,0 +1,28 @@
+set(CMAKE_SYSTEM_NAME QNX)
+set(CMAKE_SYSTEM_PROCESSOR aarch64le)
+
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PROGRAM)
+ set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+endif()
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_LIBRARY)
+ set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+endif()
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PACKAGE)
+ set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
+endif()
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_INCLUDE)
+ set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+endif()
+
+set(CMAKE_FIND_ROOT_PATH $ENV{QNX_TARGET};$ENV{QNX_TARGET}/${CMAKE_SYSTEM_PROCESSOR})
+
+set(_qnx_toolchain_arch gcc_ntoaarch64le)
+
+set(CMAKE_C_COMPILER qcc)
+set(CMAKE_C_COMPILER_TARGET ${_qnx_toolchain_arch})
+set(CMAKE_CXX_COMPILER q++)
+set(CMAKE_CXX_COMPILER_TARGET ${_qnx_toolchain_arch})
+
+set(CMAKE_STRIP $ENV{QNX_HOST}/usr/bin/ntoaarch64-strip)
+
+set(CMAKE_SYSROOT $ENV{QNX_TARGET})
diff --git a/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-armv7le.cmake b/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-armv7le.cmake
new file mode 100644
index 00000000..90bd9731
--- /dev/null
+++ b/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-armv7le.cmake
@@ -0,0 +1,28 @@
+set(CMAKE_SYSTEM_NAME QNX)
+set(CMALE_SYSTEM_PROCESSOR armv7le)
+
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PROGRAM)
+ set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+endif()
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_LIBRARY)
+ set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+endif()
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PACKAGE)
+ set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
+endif()
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_INCLUDE)
+ set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+endif()
+
+set(CMAKE_FIND_ROOT_PATH $ENV{QNX_TARGET};$ENV{QNX_TARGET}/${CMAKE_SYSTEM_PROCESSOR})
+
+set(_qnx_toolchain_arch gcc_ntoarmv7le)
+
+set(CMAKE_C_COMPILER qcc)
+set(CMAKE_C_COMPILER_TARGET ${_qnx_toolchain_arch})
+set(CMAKE_CXX_COMPILER q++)
+set(CMAKE_CXX_COMPILER_TARGET ${_qnx_toolchain_arch})
+
+set(CMAKE_STRIP $ENV{QNX_HOST}/usr/bin/ntoarmv7-strip)
+
+set(CMAKE_SYSROOT $ENV{QNX_TARGET})
diff --git a/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-x8664.cmake b/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-x8664.cmake
new file mode 100644
index 00000000..e11488bc
--- /dev/null
+++ b/coin/provisioning/common/shared/cmake_toolchain_files/qnx-toolchain-x8664.cmake
@@ -0,0 +1,28 @@
+set(CMAKE_SYSTEM_NAME QNX)
+set(CMAKE_SYSTEM_PROCESSOR x86_64)
+
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PROGRAM)
+ set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+endif()
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_LIBRARY)
+ set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
+endif()
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_PACKAGE)
+ set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
+endif()
+if (NOT DEFINED CMAKE_FIND_ROOT_PATH_MODE_INCLUDE)
+ set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+endif()
+
+set(CMAKE_FIND_ROOT_PATH $ENV{QNX_TARGET};$ENV{QNX_TARGET}/${CMAKE_SYSTEM_PROCESSOR})
+
+set(_qnx_toolchain_arch gcc_ntox86_64)
+
+set(CMAKE_C_COMPILER qcc)
+set(CMAKE_C_COMPILER_TARGET ${_qnx_toolchain_arch})
+set(CMAKE_CXX_COMPILER q++)
+set(CMAKE_CXX_COMPILER_TARGET ${_qnx_toolchain_arch})
+
+set(CMAKE_STRIP $ENV{QNX_HOST}/usr/bin/ntox86_64-strip)
+
+set(CMAKE_SYSROOT $ENV{QNX_TARGET})
diff --git a/coin/provisioning/common/shared/ffmpeg_config_options.txt b/coin/provisioning/common/shared/ffmpeg_config_options.txt
new file mode 100644
index 00000000..52f79c14
--- /dev/null
+++ b/coin/provisioning/common/shared/ffmpeg_config_options.txt
@@ -0,0 +1 @@
+--disable-programs --disable-doc --disable-debug --enable-network --disable-lzma --enable-pic --disable-vulkan --disable-v4l2-m2m --disable-decoder=truemotion1
diff --git a/coin/provisioning/common/shared/requirements.txt b/coin/provisioning/common/shared/requirements.txt
deleted file mode 100644
index 12380d85..00000000
--- a/coin/provisioning/common/shared/requirements.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-# This file holds all python3 packages need for a certain qt module
-# When adding new packages here, first add a comment with the name of the module
-# Then all the packages. Duplicates are wanted as every module should install
-# all packages it needs and shouldn't depend on a package from another module
-#
-# qtivi
-antlr4-python3-runtime==4.7.1
-argh==0.26.2
-click==6.7
-coloredlogs==10.0
-humanfriendly==4.15.1
-Jinja2==2.10
-MarkupSafe==1.0
-path.py==11.0.1
-pathtools==0.1.2
-PyYAML==3.13
-six==1.11.0
-typing==3.6.4
-watchdog==0.8.3
diff --git a/coin/provisioning/common/shared/telegraf/influxdb.repo_key.pub b/coin/provisioning/common/shared/telegraf/influxdb.repo_key.pub
new file mode 100644
index 00000000..c97d5933
--- /dev/null
+++ b/coin/provisioning/common/shared/telegraf/influxdb.repo_key.pub
@@ -0,0 +1,52 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1
+
+mQINBFYJmwQBEADCw7mob8Vzk+DmkYyiv0dTU/xgoSlp4SQwrTzat8MB8jxmx60l
+QjmhqEyuB8ho4zzZF9KV+gJWrG6Rj4t69JMTJWM7jFz+0B1PC7kJfNM+VcBmkTnj
+fP+KJjqz50ETnsF0kQTG++UJeRYjG1dDK0JQNQJAM6NQpIWJI339lcDf15vzrMnb
+OgIlNxV6j1ZZqkle4fvScF1NQxYScRiL+sRgVx92SI4SyD/xZnVGD/szB+4OCzah
++0Q/MnNGV6TtN0RiCDZjIUYiHoeT9iQXEONKf7T62T4zUafO734HyqGvht93MLVU
+GQAeuyx0ikGsULfOsJfBmb3XJS9u+16v7oPFt5WIbeyyNuhUu0ocK/PKt5sPYR4u
+ouPq6Ls3RY3BGCH9DpokcYsdalo51NMrMdnYwdkeq9MEpsEKrKIN5ke7fk4weamJ
+BiLI/bTcfM7Fy5r4ghdI9Ksw/ULXLm4GNabkIOSfT7UjTzcBDOvWfKRBLX4qvsx4
+YzA5kR+nX85u6I7W10aSqBiaLqk6vCj0QmBmCjlSeYqNQqSzH/6OoL6FZ7lP6AiG
+F2NyGveJKjugoXlreLEhOYp20F81PNwlRBCAlMC2Q9mpcFu0dtAriVoG4gVDdYn5
+t+BiGfD2rJlCinYLgYBDpTPcdRT3VKHWqL9fcC4HKmic0mwWg9homx550wARAQAB
+tDFJbmZsdXhEQiBQYWNrYWdpbmcgU2VydmljZSA8c3VwcG9ydEBpbmZsdXhkYi5j
+b20+iQI3BBMBCgAhBQJWCZsEAhsDBQsJCAcDBRUKCQgLBRYDAgEAAh4BAheAAAoJ
+EGhKFM8lguDF9XEQAK9rREnZt6ujh7GXfeNki35bkn39q8GYh0mouShFbFY9o0i3
+UJVChsxokJSRPgFh9GOhOPTupl3rzfdpD+IlWI2Myt6han2HOjZKNZ4RGNrYJ5UR
+uxt4dKMWlMbpkzL56bhHlx97RoXKv2d2zRQfw9nyZb6t3lw2k2kKXsMxjGa0agM+
+2SropwYOXdtkz8UWaGd3LYxwEvW3AuhI8EEEHdLetQaYe9sANDvUEofgFbdsuICH
+9QLmbYavk7wyGTPBKfPBbeyTxwW2rMUnFCNccMKLm1i5NpZYineBtQbX2cfx9Xsk
+1JLOzEBmNal53H2ob0kjev6ufzOD3s8hLu4KMCivbIz4YT3fZyeExn0/0lUtsQ56
+5fCxE983+ygDzKsCnfdXqm3GgjaI90OkNr1y4gWbcd5hicVDv5fD3TD9f0GbpDVw
+yDz8YmvNzxMILt5Glisr6aH7gLG/u8jxy0D8YcBiyv5kfY4vMI2yXHpGg1cn/sVu
+ZB01sU09VVIM2BznnimyAayI430wquxkZCyMx//BqFM1qetIgk1wDZTlFd0n6qtA
+fDmXAC4s5pM5rfM5V57WmPaIqnRIaESJ35tFUFlCHfkfl/N/ribGVDg1z2KDW08r
+96oEiIIiV4GfXl+NprJqpNS3Cn+aCXtd7/TsDScDEgs4sMaR29Lsf26cuWk8uQIN
+BFYJmwQBEADDPi3fmwn6iwkiDcH2E2V31cHlBw9OdJfxKVUdyAQEhTtqmG9P8XFZ
+ERRQF155XLQPLvRlUlq7vEYSROn5J6BAnsjdjsH9LmFMOEV8CIRCRIDePG/Mez2d
+nIK5yiU6GkS3IFaQg2T9/tOBKxm0ZJPfqTXbT4jFSfvYJ3oUqc+AyYxtb8gj1GRk
+X283/86/bA3C98u7re1vPtiDRyM8r0+lhEc59Yx/EAOL+X2gZyTgyUoH+LLuOWQK
+s1egI8y80R8NZfM1nMiQk2ywMsTFwQjSVimScvzqv5Nt8k8CvHUQ3a6R+6doXGNX
+5RnUqn9Qvmh0JY5sNgFsoaGbuk2PJrVaGBRnfnjaDqAlZpDhwkWhcCcguNhRbRHp
+N7/a0pQr70bAG9VikzLyGC17EU0sxney/hyNHkr4Uyy2OXHpuJvRjVKy/BwZ3fxA
+AYX2oZIOxQB3/OulzO/DppaCVhRtp1bt+Z5f+fpisiVb5DvZcMdeyAoQ4+oOr7v3
+EasIs2XYcQ+kOE3Y2kdlHWBeuXzxgWgJZ1OOpwGMjR3Uy6IwhuSWtreJBA4er+Df
+vgSPwKBsRLNLbPe3ftjArnC5GfMiGgikVdAUdN4OkEqvUbkRoAVGKTOMLUKm+ZkG
+OskJOVYS+JAina0qkYEFF7haycMjf9olhqLmTIC+6X7Ox9R2plaOhQARAQABiQIf
+BBgBCgAJBQJWCZsEAhsMAAoJEGhKFM8lguDF8ZIP/1q9Sdz8oMvf9AJXZ7AYxm77
+V+kJzJqi62nZLWJnrFXDZJpU+LkYlb3fstsZ1rvBhnrEPSmFxoj72CP0RtcyX7wJ
+dA7K1Fl9LpJi5H8300cC7UyG94MUYbrXijbLTbnFTfNr1tGx4a1T/7Yyxx/wZGrT
+H/X8cvNybkl33SxDdlQQ9kx3lFOwC41e3TkGsUWxn3TCfvDh8VdA6Py6JeSPFGOb
+MEO2/q7oUgvjfV+ivN5ayZi9bWgeqm1sgtmTHHQ4RqwwKrAb5ynXpn1b9QrkevgT
+b91uzMA22Prl4DuzKiaMYDcZOQ3vtf0eFBP0GOSSgUKS4bQ3dGgi1JmQ7VuAM4uj
++Ug5TnGoLwclTwLksc7v89C5MMPgm2vVXvCUDzyzQA7bIHFeX+Rziby4nymec4Nr
+eeXYNBJWrEp8XR7UNWmEgroXRoN1x9/6esh5pnoUXGAIWuKzSLQM70/wWxS67+v2
+aC1GNb+pXXAzYeIIiyLWaZwCSr8sWMvshFT9REk2+lnb6sAeJswQtfTUWI00mVqZ
+dvI3Wys2h0IyIejuwetTUvGhr9VgpqiLLfGzGlt/y2sg27wdHzSJbMh0VrVAK26/
+BlvEwWDCFT0ZJUMG9Lvre25DD0ycbougLsRYjzmGb/3k3UktS3XTCxyBa/k3TPw3
+vqIHrEqk446nGPDqJPS5
+=9iF7
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/coin/provisioning/common/shared/telegraf/telegraf-ioping.sh b/coin/provisioning/common/shared/telegraf/telegraf-ioping.sh
new file mode 100755
index 00000000..528047ce
--- /dev/null
+++ b/coin/provisioning/common/shared/telegraf/telegraf-ioping.sh
@@ -0,0 +1,28 @@
+#!/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
+
+# Measure I/O latency once, return data in InfluxDB format
+#
+# Run one ioping command for read, and one for write.
+# Each one sends 3 requests and reports the minimum time, in nanoseconds.
+# (Because of limitations of ioping, we can't just send one request and get
+# the number back in the batch format. Additionally, the number seems to be
+# fluctuating quite a bit so taking the smallest number out of 3 requests is
+# stabilising it a bit.)
+
+
+set -e
+
+[ -z "$1" ] && echo "$0 takes a path as a first argument" && exit 1
+
+# Try to run in high priority to avoid slow-downs because of
+# factors other than I/O.
+renice -n -10 -p $$ >/dev/null 2>&1 || true
+
+
+rlatency="$(ioping -B -k -c 3 -i 0.1 "$1" | cut -d " " -f 5)"
+wlatency="$(ioping -B -k -c 3 -i 0.1 -W "$1" | cut -d " " -f 5)"
+
+printf "ioping,path=$1 read_latency_ns=%u,write_latency_ns=%u\n" \
+ "$rlatency" "$wlatency"
diff --git a/coin/provisioning/common/shared/telegraf/telegraf_packages.sha256.txt b/coin/provisioning/common/shared/telegraf/telegraf_packages.sha256.txt
new file mode 100644
index 00000000..28304114
--- /dev/null
+++ b/coin/provisioning/common/shared/telegraf/telegraf_packages.sha256.txt
@@ -0,0 +1,4 @@
+https://dl.influxdata.com/telegraf/releases/telegraf-1.12.6_darwin_amd64.tar.gz 2bc056e1ad38af2ba95d2cb1d43b513cc611fdd3b851b2ff5e09991d52b01253
+https://dl.influxdata.com/telegraf/releases/telegraf-1.12.6_linux_amd64.tar.gz b33cf0f5935a5c225ab0de69db1e6b249d581f3213313de62a8de928aedadbec
+https://dl.influxdata.com/telegraf/releases/telegraf-1.12.6_windows_amd64.zip 5d025d85070e8c180c443580afa8a27421a7bbcf14b5044894e9f3298d0ce97a
+https://dl.influxdata.com/telegraf/releases/telegraf-1.12.6_windows_i386.zip 5178a0bdaab448c2ef965b0e36f835849cea731ccd87c4a4527f0f05fbbdf271
diff --git a/coin/provisioning/common/shared/testserver/.gitattributes b/coin/provisioning/common/shared/testserver/.gitattributes
new file mode 100644
index 00000000..fcadb2cf
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/.gitattributes
@@ -0,0 +1 @@
+* text eol=lf
diff --git a/coin/provisioning/common/shared/testserver/apache2/Dockerfile b/coin/provisioning/common/shared/testserver/apache2/Dockerfile
new file mode 100644
index 00000000..c3dc5d59
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/apache2/Dockerfile
@@ -0,0 +1,8 @@
+FROM qt_ubuntu_16.04
+ARG packages="avahi-daemon apache2 libcgi-session-perl"
+RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
+EXPOSE 80 443
+
+# install configurations and test data
+
+COPY rfc3252.txt .
diff --git a/coin/provisioning/common/shared/testserver/apache2_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/apache2_18.04/Dockerfile
new file mode 100644
index 00000000..1a629c47
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/apache2_18.04/Dockerfile
@@ -0,0 +1,4 @@
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon apache2 libcgi-session-perl"
+RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
+EXPOSE 80 443
diff --git a/coin/provisioning/common/shared/testserver/californium/Dockerfile b/coin/provisioning/common/shared/testserver/californium/Dockerfile
new file mode 100644
index 00000000..81d27f9b
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/californium/Dockerfile
@@ -0,0 +1,15 @@
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon maven default-jdk patch"
+RUN apt-get update && apt-get -y install $packages
+
+# Get californium-based CoAP test server
+WORKDIR /root/src
+ADD californium-*.tar.gz .
+RUN mv californium-* californium
+WORKDIR /root/src/californium
+ADD qt_changes.patch ./
+RUN patch -p1 < qt_changes.patch
+RUN mvn clean install -q -DskipTests
+WORKDIR /
+
+EXPOSE 5683/udp 5684/udp
diff --git a/coin/provisioning/common/shared/testserver/californium/qt_changes.patch b/coin/provisioning/common/shared/testserver/californium/qt_changes.patch
new file mode 100644
index 00000000..732c0daa
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/californium/qt_changes.patch
@@ -0,0 +1,43 @@
+diff -ruN californium_3.8.0/demo-apps/cf-plugtest-server/src/main/java/org/eclipse/californium/plugtests/PlugtestServer.java californium/demo-apps/cf-plugtest-server/src/main/java/org/eclipse/californium/plugtests/PlugtestServer.java
+--- californium_3.8.0/demo-apps/cf-plugtest-server/src/main/java/org/eclipse/californium/plugtests/PlugtestServer.java 2023-07-21 11:16:21.142201240 +0200
++++ californium/demo-apps/cf-plugtest-server/src/main/java/org/eclipse/californium/plugtests/PlugtestServer.java 2023-07-21 11:16:51.074210378 +0200
+@@ -100,6 +100,14 @@
+ import org.eclipse.californium.unixhealth.NetSocketHealthLogger;
+ import org.eclipse.californium.unixhealth.NetStatLogger;
+
++import org.eclipse.californium.scandium.DTLSConnector;
++import org.eclipse.californium.scandium.config.DtlsConnectorConfig;
++import org.eclipse.californium.scandium.dtls.pskstore.AdvancedSinglePskStore;
++import org.eclipse.californium.core.network.CoapEndpoint;
++
++import java.net.InetSocketAddress;
++import java.net.InetAddress;
++
+ import picocli.CommandLine;
+ import picocli.CommandLine.ArgGroup;
+ import picocli.CommandLine.Command;
+@@ -437,7 +445,23 @@
+ // server.addEndpoint(new CoAPEndpoint(new InetSocketAddress("127.0.0.1", port)));
+ // server.addEndpoint(new CoAPEndpoint(new InetSocketAddress("2a01:c911:0:2010::10", port)));
+ // server.addEndpoint(new CoAPEndpoint(new InetSocketAddress("10.200.1.2", port)));
+- server.addEndpoints(config);
++ // server.addEndpoints(config);
++
++ CoapEndpoint.Builder endpointBuilder = new CoapEndpoint.Builder();
++ endpointBuilder.setPort(5683);
++ server.addEndpoint(endpointBuilder.build());
++
++ AdvancedSinglePskStore pskStore = new AdvancedSinglePskStore("Client_identity", "secretPSK".getBytes());
++
++ DtlsConnectorConfig.Builder builder = new DtlsConnectorConfig.Builder(new Configuration());
++ builder.setAddress(new InetSocketAddress(5684));
++ builder.setAdvancedPskStore(pskStore);
++ DTLSConnector dtlsConnector = new DTLSConnector(builder.build());
++
++ endpointBuilder = new CoapEndpoint.Builder();
++ endpointBuilder.setConnector(dtlsConnector);
++ server.addEndpoint(endpointBuilder.build());
++
+ if (server.getEndpoints().isEmpty()) {
+ System.err.println("no endpoint available!");
+ System.exit(ERR_INIT_FAILED);
diff --git a/coin/provisioning/common/shared/testserver/cyrus/Dockerfile b/coin/provisioning/common/shared/testserver/cyrus/Dockerfile
new file mode 100644
index 00000000..4708ef5b
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/cyrus/Dockerfile
@@ -0,0 +1,4 @@
+FROM qt_ubuntu_16.04
+ARG packages="avahi-daemon cyrus-imapd"
+RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y $packages && dpkg -l $packages
+EXPOSE 143 993
diff --git a/coin/provisioning/common/shared/testserver/cyrus_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/cyrus_18.04/Dockerfile
new file mode 100644
index 00000000..c20ed4f9
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/cyrus_18.04/Dockerfile
@@ -0,0 +1,4 @@
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon cyrus-imapd"
+RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y $packages && dpkg -l $packages
+EXPOSE 143 993
diff --git a/coin/provisioning/common/shared/testserver/danted/Dockerfile b/coin/provisioning/common/shared/testserver/danted/Dockerfile
new file mode 100644
index 00000000..0d3ca461
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/danted/Dockerfile
@@ -0,0 +1,11 @@
+FROM qt_ubuntu_16.04
+ARG packages="avahi-daemon"
+RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
+COPY dante-server_1.4.1-1_amd64.deb .
+RUN apt -y install ./dante-server_1.4.1-1_amd64.deb \
+ && rm -f ./dante-server_1.4.1-1_amd64.deb
+EXPOSE 1080-1081
+
+# install configurations and test data
+COPY danted /etc/init.d/
+COPY danted-authenticating /etc/init.d/
diff --git a/coin/provisioning/common/linux/testserver/danted/danted b/coin/provisioning/common/shared/testserver/danted/danted
index 1da8203e..1da8203e 100755
--- a/coin/provisioning/common/linux/testserver/danted/danted
+++ b/coin/provisioning/common/shared/testserver/danted/danted
diff --git a/coin/provisioning/common/linux/testserver/danted/danted-authenticating b/coin/provisioning/common/shared/testserver/danted/danted-authenticating
index 7aa35db6..7aa35db6 100755
--- a/coin/provisioning/common/linux/testserver/danted/danted-authenticating
+++ b/coin/provisioning/common/shared/testserver/danted/danted-authenticating
diff --git a/coin/provisioning/common/shared/testserver/danted_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/danted_18.04/Dockerfile
new file mode 100644
index 00000000..ba732bff
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/danted_18.04/Dockerfile
@@ -0,0 +1,4 @@
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon dante-server"
+RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
+EXPOSE 1080-1081
diff --git a/coin/provisioning/common/shared/testserver/docker_images.sh b/coin/provisioning/common/shared/testserver/docker_images.sh
new file mode 100755
index 00000000..e4782a72
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/docker_images.sh
@@ -0,0 +1,96 @@
+#!/usr/bin/env bash
+# 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
+
+set -e
+
+PROVISIONING_DIR="$(dirname "$0")/../../../"
+# shellcheck source=../../../common/unix/common.sourced.sh
+source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
+# shellcheck source=../../../common/unix/DownloadURL.sh
+source "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
+
+# Sort files by their SHA-1, and then return the accumulated result
+sha1tree () {
+ # For example, macOS doesn't install sha1sum by default. In such case, it uses shasum instead.
+ [ -x "$(command -v sha1sum)" ] || SHASUM=shasum
+
+ find "$@" -type f -print0 | \
+ xargs -0 "${SHASUM-sha1sum}" | cut -d ' ' -f 1 | \
+ sort | "${SHASUM-sha1sum}" | cut -d ' ' -f 1
+}
+
+
+SERVER_PATH="$PROVISIONING_DIR/common/shared/testserver"
+
+source "$SERVER_PATH/settings.sh"
+
+
+# Download all necessary dependencies outside of the dockerfiles, so that we
+# can use provisioning functionality for cached and verified downloads. In the
+# dockerfiles we just do COPY to put them where needed.
+
+echo 'Downloading support files for the docker images'
+
+DownloadURL \
+ http://ci-files01-hki.ci.qt.io/input/docker/rfc3252.txt \
+ https://tools.ietf.org/rfc/rfc3252.txt \
+ 50c323dedce95e4fdc2db35cd1b8ebf9d74711bf5296ef438b88d186d7dd082d
+cp rfc3252.txt "$SERVER_PATH/vsftpd/"
+cp rfc3252.txt "$SERVER_PATH/apache2/"
+
+DownloadURL \
+ http://ci-files01-hki.ci.qt.io/input/docker/dante-server_1.4.1-1_amd64.deb \
+ http://ppa.launchpad.net/dajhorn/dante/ubuntu/pool/main/d/dante/dante-server_1.4.1-1_amd64.deb \
+ 674a06f356cebd92c64920cec38a6687650a6f880198fbbad05aaaccca5c0a21
+mv dante-server_1.4.1-1_amd64.deb "$SERVER_PATH/danted/"
+
+DownloadURL \
+ http://ci-files01-hki.ci.qt.io/input/docker/FreeCoAP-0.7.tar.gz \
+ https://github.com/keith-cullen/FreeCoAP/archive/v0.7.tar.gz \
+ fa6602e27dc8eaee6e34ff53400c0519da0c5c7cd47bf6f13acb564f52a693ee \
+ FreeCoAP-0.7.tar.gz
+mv FreeCoAP-0.7.tar.gz "$SERVER_PATH/freecoap/"
+
+# Eclipse Californium 3.8.0, requires to apply a custom patch from
+# $SERVER_PATH/californium/ before usage
+DownloadURL \
+ http://ci-files01-hki.ci.qt.io/input/docker/californium-3.8.0.tar.gz \
+ https://github.com/eclipse-californium/californium/archive/refs/tags/3.8.0.tar.gz \
+ 24f8ca393f26c922739462e4586b8ced1ff75f99bfa795defa34a967b5a4a5a0 \
+ californium-3.8.0.tar.gz
+mv californium-3.8.0.tar.gz "$SERVER_PATH/californium/"
+
+
+echo 'Building the docker images...'
+
+# Build the 2 base layers: qt_ubuntu_1604, qt_ubuntu_1804.
+# These are the base for all other docker images.
+for image in qt_ubuntu_16.04 qt_ubuntu_18.04
+do
+ docker build -t $image \
+ --build-arg COIN_RUNS_IN_QT_COMPANY="$COIN_RUNS_IN_QT_COMPANY" \
+ "$SERVER_PATH/$image"
+done
+
+
+for server in $testserver
+do
+
+ # We label each docker image with `-t name:tag`.
+ # A tag labels a specific image version. In the docker compose file
+ # (docker-compose.yml) that launches the containers, the tag used is
+ # "latest". Here the images are additionally tagged with the SHA1 of each
+ # image directory (context), so that if needed we can modify
+ # docker-compose.yml and modify "latest" to a SHA in order to launch a
+ # very specific image, thus providing a way to stage
+ # backwards-incompatible changes across repositories.
+
+ context="$SERVER_PATH/$server"
+ tag=$(sha1tree "$context")
+ docker build -t "qt-test-server-$server:latest" \
+ -t "qt-test-server-$server:$tag" \
+ "$context"
+done
+
+docker images
diff --git a/coin/provisioning/common/shared/testserver/docker_machine.sh b/coin/provisioning/common/shared/testserver/docker_machine.sh
new file mode 100755
index 00000000..9abf0caa
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/docker_machine.sh
@@ -0,0 +1,22 @@
+#!/usr/bin/env bash
+# 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
+
+set -ex
+
+TestMachine='qt-test-server'
+
+# Deploy docker virtual machine (Boot2Docker) into VirtualBox only if it doesn't exist
+if [ -z "$(docker-machine ls -q --filter "name=$TestMachine")" ]
+then
+ docker-machine create "$@" "$TestMachine"
+ docker-machine ip "$TestMachine"
+else
+ # Otherwise, start the docker machine and update with new TLS certificates.
+ docker-machine start "$TestMachine" && docker-machine regenerate-certs -f "$TestMachine"
+fi
+
+# Switch the docker engine to $TestMachine
+eval "$(docker-machine env "$TestMachine")"
+
+docker-machine ls
diff --git a/coin/provisioning/common/shared/testserver/docker_testserver.sh b/coin/provisioning/common/shared/testserver/docker_testserver.sh
new file mode 100755
index 00000000..7e743a80
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/docker_testserver.sh
@@ -0,0 +1,26 @@
+#!/usr/bin/env bash
+# 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
+
+set -ex
+
+[ -x "$(command -v realpath)" ] && FILE=$(realpath "${BASH_SOURCE[0]}") || FILE="${BASH_SOURCE[0]}"
+case $FILE in
+ */*) SERVER_PATH="${FILE%/*}" ;;
+ *) SERVER_PATH="." ;;
+esac
+
+# Create docker virtual machine (Boot2docker)
+case $1 in
+ VMX) source "$SERVER_PATH/docker_machine.sh" "-d virtualbox" ;;
+ Hyper-V)
+ # The Hyper-v has been enabled in Windows 10. Disable checking the hardware virtualization.
+ source "$SERVER_PATH/docker_machine.sh" "-d virtualbox --virtualbox-no-vtx-check" ;;
+ *) ;;
+esac
+
+# Display system-wide information of docker-engine
+docker info
+
+# Create images
+"$SERVER_PATH/docker_images.sh"
diff --git a/coin/provisioning/common/shared/testserver/echo/Dockerfile b/coin/provisioning/common/shared/testserver/echo/Dockerfile
new file mode 100644
index 00000000..a20419c6
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/echo/Dockerfile
@@ -0,0 +1,4 @@
+FROM qt_ubuntu_16.04
+ARG packages="avahi-daemon xinetd"
+RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
+EXPOSE 7 7/UDP 13
diff --git a/coin/provisioning/common/shared/testserver/echo_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/echo_18.04/Dockerfile
new file mode 100644
index 00000000..e86357a2
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/echo_18.04/Dockerfile
@@ -0,0 +1,4 @@
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon xinetd"
+RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
+EXPOSE 7 7/UDP 13
diff --git a/coin/provisioning/common/shared/testserver/freecoap/Dockerfile b/coin/provisioning/common/shared/testserver/freecoap/Dockerfile
new file mode 100644
index 00000000..7b2a27a7
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/freecoap/Dockerfile
@@ -0,0 +1,14 @@
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon autoconf automake libtool make libgnutls28-dev"
+RUN apt-get update && apt-get -y install $packages
+
+WORKDIR /root/src
+ADD FreeCoAP-*.tar.gz .
+RUN mv FreeCoAP-* FreeCoAP
+WORKDIR /root/src/FreeCoAP
+RUN autoreconf --install && ./configure && make && make install
+WORKDIR sample/time_server
+RUN make
+WORKDIR /
+
+EXPOSE 5685/udp
diff --git a/coin/provisioning/common/shared/testserver/ftp-proxy/Dockerfile b/coin/provisioning/common/shared/testserver/ftp-proxy/Dockerfile
new file mode 100644
index 00000000..de3e5b86
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/ftp-proxy/Dockerfile
@@ -0,0 +1,4 @@
+FROM qt_ubuntu_16.04
+ARG packages="avahi-daemon ftp-proxy"
+RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
+EXPOSE 2121
diff --git a/coin/provisioning/common/shared/testserver/ftp-proxy_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/ftp-proxy_18.04/Dockerfile
new file mode 100644
index 00000000..383ba140
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/ftp-proxy_18.04/Dockerfile
@@ -0,0 +1,4 @@
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon ftp-proxy"
+RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
+EXPOSE 2121
diff --git a/coin/provisioning/common/shared/testserver/iptables/Dockerfile b/coin/provisioning/common/shared/testserver/iptables/Dockerfile
new file mode 100644
index 00000000..1c2a4b4d
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/iptables/Dockerfile
@@ -0,0 +1,4 @@
+FROM qt_ubuntu_16.04
+ARG packages="avahi-daemon iptables"
+RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
+EXPOSE 1357
diff --git a/coin/provisioning/common/shared/testserver/iptables_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/iptables_18.04/Dockerfile
new file mode 100644
index 00000000..49b277c7
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/iptables_18.04/Dockerfile
@@ -0,0 +1,4 @@
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon iptables"
+RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
+EXPOSE 1357
diff --git a/coin/provisioning/common/shared/testserver/qt_ubuntu_16.04/Dockerfile b/coin/provisioning/common/shared/testserver/qt_ubuntu_16.04/Dockerfile
new file mode 100644
index 00000000..a9c8b9ef
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/qt_ubuntu_16.04/Dockerfile
@@ -0,0 +1,5 @@
+FROM ubuntu:16.04
+ARG COIN_RUNS_IN_QT_COMPANY
+RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \
+ && sed -i 's;\(archive\|security\)\.ubuntu\.com;repo-clones.ci.qt.io/apt-mirror/mirror;' /etc/apt/sources.list \
+ || echo "Internal package repository not found. Using public repositories."
diff --git a/coin/provisioning/common/shared/testserver/qt_ubuntu_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/qt_ubuntu_18.04/Dockerfile
new file mode 100644
index 00000000..f62a29c6
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/qt_ubuntu_18.04/Dockerfile
@@ -0,0 +1,5 @@
+FROM ubuntu:18.04
+ARG COIN_RUNS_IN_QT_COMPANY
+RUN test x"$COIN_RUNS_IN_QT_COMPANY" = xtrue \
+ && sed -i 's;\(archive\|security\)\.ubuntu\.com;repo-clones.ci.qt.io/apt-mirror/mirror;' /etc/apt/sources.list \
+ || echo "Internal package repository not found. Using public repositories."
diff --git a/coin/provisioning/common/shared/testserver/settings.sh b/coin/provisioning/common/shared/testserver/settings.sh
new file mode 100755
index 00000000..03276eeb
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/settings.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# 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
+
+set -ex
+
+# A list of test servers to be provisioned
+testserver='apache2 squid vsftpd ftp-proxy danted echo cyrus iptables californium freecoap'
+testserver="$testserver apache2_18.04 squid_18.04 vsftpd_18.04 ftp-proxy_18.04 danted_18.04 echo_18.04 cyrus_18.04 iptables_18.04"
diff --git a/coin/provisioning/common/shared/testserver/squid/Dockerfile b/coin/provisioning/common/shared/testserver/squid/Dockerfile
new file mode 100644
index 00000000..330d3929
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/squid/Dockerfile
@@ -0,0 +1,4 @@
+FROM qt_ubuntu_16.04
+ARG packages="avahi-daemon squid"
+RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
+EXPOSE 3128-3130
diff --git a/coin/provisioning/common/shared/testserver/squid_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/squid_18.04/Dockerfile
new file mode 100644
index 00000000..239ea4c8
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/squid_18.04/Dockerfile
@@ -0,0 +1,4 @@
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon squid"
+RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
+EXPOSE 3128-3130
diff --git a/coin/provisioning/common/shared/testserver/vsftpd/Dockerfile b/coin/provisioning/common/shared/testserver/vsftpd/Dockerfile
new file mode 100644
index 00000000..4c2e00e4
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/vsftpd/Dockerfile
@@ -0,0 +1,7 @@
+FROM qt_ubuntu_16.04
+ARG packages="avahi-daemon vsftpd ftp"
+RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
+EXPOSE 20-21
+
+# install configurations and test data
+COPY rfc3252.txt .
diff --git a/coin/provisioning/common/shared/testserver/vsftpd_18.04/Dockerfile b/coin/provisioning/common/shared/testserver/vsftpd_18.04/Dockerfile
new file mode 100644
index 00000000..8886308c
--- /dev/null
+++ b/coin/provisioning/common/shared/testserver/vsftpd_18.04/Dockerfile
@@ -0,0 +1,4 @@
+FROM qt_ubuntu_18.04
+ARG packages="avahi-daemon vsftpd"
+RUN apt-get update && apt-get install -y $packages && dpkg -l $packages
+EXPOSE 20-21
diff --git a/coin/provisioning/common/shared/triplets/arm64-windows-qt.cmake b/coin/provisioning/common/shared/triplets/arm64-windows-qt.cmake
new file mode 100644
index 00000000..4d9d5d69
--- /dev/null
+++ b/coin/provisioning/common/shared/triplets/arm64-windows-qt.cmake
@@ -0,0 +1,7 @@
+set(VCPKG_TARGET_ARCHITECTURE arm64)
+
+# Default settings of the triplet from the official vcpkg registry
+set(VCPKG_CRT_LINKAGE dynamic)
+set(VCPKG_LIBRARY_LINKAGE dynamic)
+
+# Qt custom per-port customizations
diff --git a/coin/provisioning/common/shared/triplets/armeabi-v7a-android-qt.cmake b/coin/provisioning/common/shared/triplets/armeabi-v7a-android-qt.cmake
new file mode 100644
index 00000000..fba6a00a
--- /dev/null
+++ b/coin/provisioning/common/shared/triplets/armeabi-v7a-android-qt.cmake
@@ -0,0 +1,15 @@
+set(VCPKG_TARGET_ARCHITECTURE arm)
+
+# Default settings of the triplet from the official vcpkg registry
+set(VCPKG_CRT_LINKAGE static)
+set(VCPKG_LIBRARY_LINKAGE static)
+
+# Qt custom per-port customizations
+if(PORT MATCHES "openssl")
+ set(VCPKG_CRT_LINKAGE dynamic)
+ set(VCPKG_LIBRARY_LINKAGE dynamic)
+endif()
+
+set(VCPKG_CMAKE_SYSTEM_NAME Android)
+set(VCPKG_MAKE_BUILD_TRIPLET "--host=armv7a-linux-androideabi")
+set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=armeabi-v7a -DANDROID_ARM_NEON=ON)
diff --git a/coin/provisioning/common/shared/triplets/x64-linux-qt.cmake b/coin/provisioning/common/shared/triplets/x64-linux-qt.cmake
new file mode 100644
index 00000000..95cc1934
--- /dev/null
+++ b/coin/provisioning/common/shared/triplets/x64-linux-qt.cmake
@@ -0,0 +1,13 @@
+set(VCPKG_TARGET_ARCHITECTURE x64)
+
+# Default settings of the triplet from the official vcpkg registry
+set(VCPKG_CRT_LINKAGE dynamic)
+set(VCPKG_LIBRARY_LINKAGE static)
+
+# Qt custom per-port customizations
+if(PORT MATCHES "openssl")
+ set(VCPKG_LIBRARY_LINKAGE dynamic)
+ set(VCPKG_FIXUP_ELF_RPATH ON)
+endif()
+
+set(VCPKG_CMAKE_SYSTEM_NAME Linux)
diff --git a/coin/provisioning/common/shared/triplets/x64-windows-qt.cmake b/coin/provisioning/common/shared/triplets/x64-windows-qt.cmake
new file mode 100644
index 00000000..856b756e
--- /dev/null
+++ b/coin/provisioning/common/shared/triplets/x64-windows-qt.cmake
@@ -0,0 +1,7 @@
+set(VCPKG_TARGET_ARCHITECTURE x64)
+
+# Default settings of the triplet from the official vcpkg registry
+set(VCPKG_CRT_LINKAGE dynamic)
+set(VCPKG_LIBRARY_LINKAGE dynamic)
+
+# Qt custom per-port customizations
diff --git a/coin/provisioning/common/shared/triplets/x86-android-qt.cmake b/coin/provisioning/common/shared/triplets/x86-android-qt.cmake
new file mode 100644
index 00000000..a4b74012
--- /dev/null
+++ b/coin/provisioning/common/shared/triplets/x86-android-qt.cmake
@@ -0,0 +1,15 @@
+set(VCPKG_TARGET_ARCHITECTURE x86)
+
+# Default settings of the triplet from the official vcpkg registry
+set(VCPKG_CRT_LINKAGE static)
+set(VCPKG_LIBRARY_LINKAGE static)
+
+# Qt custom per-port customizations
+if(PORT MATCHES "openssl")
+ set(VCPKG_CRT_LINKAGE dynamic)
+ set(VCPKG_LIBRARY_LINKAGE dynamic)
+endif()
+
+set(VCPKG_CMAKE_SYSTEM_NAME Android)
+set(VCPKG_MAKE_BUILD_TRIPLET "--host=i686-linux-android")
+set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=x86)
diff --git a/coin/provisioning/common/shared/triplets/x86_64-android-qt.cmake b/coin/provisioning/common/shared/triplets/x86_64-android-qt.cmake
new file mode 100644
index 00000000..47afae58
--- /dev/null
+++ b/coin/provisioning/common/shared/triplets/x86_64-android-qt.cmake
@@ -0,0 +1,15 @@
+set(VCPKG_TARGET_ARCHITECTURE x64)
+
+# Default settings of the triplet from the official vcpkg registry
+set(VCPKG_CRT_LINKAGE static)
+set(VCPKG_LIBRARY_LINKAGE static)
+
+# Qt custom per-port customizations
+if(PORT MATCHES "openssl")
+ set(VCPKG_CRT_LINKAGE dynamic)
+ set(VCPKG_LIBRARY_LINKAGE dynamic)
+endif()
+
+set(VCPKG_CMAKE_SYSTEM_NAME Android)
+set(VCPKG_MAKE_BUILD_TRIPLET "--host=x86_64-linux-android")
+set(VCPKG_CMAKE_CONFIGURE_OPTIONS -DANDROID_ABI=x86_64)
diff --git a/coin/provisioning/common/shared/vcpkg-configuration.json b/coin/provisioning/common/shared/vcpkg-configuration.json
new file mode 100644
index 00000000..83f4f440
--- /dev/null
+++ b/coin/provisioning/common/shared/vcpkg-configuration.json
@@ -0,0 +1,9 @@
+{
+ "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg-tool/main/docs/vcpkg-configuration.schema.json",
+ "default-registry": {
+ "kind": "git",
+ "repository": "https://git.qt.io/mrmsdbdl/vcpkg-mirror",
+ "baseline": "8eb57355a4ffb410a2e94c07b4dca2dffbee8e50"
+ },
+ "overlay-triplets": [ "./../../shared/triplets" ]
+}
diff --git a/coin/provisioning/common/shared/vcpkg_registry_mirror.txt b/coin/provisioning/common/shared/vcpkg_registry_mirror.txt
new file mode 100644
index 00000000..546ef5b6
--- /dev/null
+++ b/coin/provisioning/common/shared/vcpkg_registry_mirror.txt
@@ -0,0 +1 @@
+https://git.qt.io/mrmsdbdl/vcpkg-mirror.git
diff --git a/coin/provisioning/common/shared/vcpkg_tool_release_tag.txt b/coin/provisioning/common/shared/vcpkg_tool_release_tag.txt
new file mode 100644
index 00000000..3faa2683
--- /dev/null
+++ b/coin/provisioning/common/shared/vcpkg_tool_release_tag.txt
@@ -0,0 +1 @@
+vcpkg_tool_release_tag=2023-11-16
diff --git a/coin/provisioning/common/shared/vcpkg_version.txt b/coin/provisioning/common/shared/vcpkg_version.txt
new file mode 100644
index 00000000..d2aa3aa3
--- /dev/null
+++ b/coin/provisioning/common/shared/vcpkg_version.txt
@@ -0,0 +1 @@
+vcpkg_version=2023.10.19
diff --git a/coin/provisioning/common/unix/DownloadURL.sh b/coin/provisioning/common/unix/DownloadURL.sh
index 996c99da..455d65d3 100755
--- a/coin/provisioning/common/unix/DownloadURL.sh
+++ b/coin/provisioning/common/unix/DownloadURL.sh
@@ -1,63 +1,98 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+#!/bin/bash
+# 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
+
# A helper script used for downloading a file from a URL or an alternative
-# URL. Also the SHA1 is checked for the file. Target filename should also
-# be given.
-#
-# If called directly from another script, it will exit the parent script
-# as well, if not called in its own subshell with parentheses.
+# URL. Also the SHA is checked for the file (SHA algorithm is autodetected
+# based on the SHA length). Target filename should also be given.
-set -ex
+############################ BOILERPLATE ###############################
-function DownloadURL {
- url=$1
- url_alt=$2
- expectedSha1=$3
- targetFile=$4
-
- echo "Downloading from primary URL '$url'"
- curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url" || {
- echo "Failed to download '$url' multiple times"
- echo "Downloading from alternative URL '$url_alt'"
- curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url_alt" || { echo 'Failed to download even from alternative url'; exit 1; }
- }
-
- echo "Checking SHA1 on PKG '$targetFile'"
- echo "$expectedSha1 *$targetFile" > "$targetFile.sha1"
- sha1sum --check "$targetFile.sha1"
- rm -f "$targetFile.sha1"
+command -v sha1sum >/dev/null || sha1sum () { shasum -a 1 "$@" ; }
+command -v sha256sum >/dev/null || sha256sum () { shasum -a 256 "$@" ; }
+command -v sha384sum >/dev/null || sha384sum () { shasum -a 384 "$@" ; }
+command -v sha512sum >/dev/null || sha512sum () { shasum -a 512 "$@" ; }
+
+########################################################################
+
+
+Download () {
+ url="$1"
+ targetFile="$2"
+
+ if command -v curl >/dev/null
+ then
+ curl --fail -L --retry 5 --retry-delay 5 -o "$targetFile" "$url"
+ else
+ wget --tries 5 -O "$targetFile" "$url"
+ fi
+}
+
+VerifyHash () {
+ file=$1
+ expectedHash=$2
+
+ if [ ! -f "$file" ]
+ then return 2 # file does not exist
+ fi
+
+
+ hashLength="$(echo "$expectedHash" | wc -c | sed 's/ *//g')"
+ # Use backticks because of bug with bash-3 (default on macOS),
+ # caused when there are unbalanced parentheses inside $()
+ # shellcheck disable=SC2006
+ hash=`case "$hashLength" in
+ 41) sha1sum "$file" ;;
+ 65) sha256sum "$file" ;;
+ 97) sha384sum "$file" ;;
+ 129) sha512sum "$file" ;;
+ *) echo "FATAL! Unknown hash length: $hashLength" 1>&2 ;;
+ esac | cut -d ' ' -f 1`
+
+ if [ -z "$hash" ] || [ ! "$expectedHash" = "$hash" ]
+ then
+ echo "FAIL! wrong file hash: $file $hash" 1>&2
+ return 1
+ fi
+ echo "OK verified integrity of: $file"
}
+# Check if file already exists and is good, otherwise download it
+DownloadURL () {
+ url=$1
+ url2=$2
+ expectedHash=$3
+ # Optional argument $4: destination filename
+ if [ -z "$4" ]
+ then
+ # defaults to the last component of $url
+ targetFile="${url/*\//}"
+ else
+ targetFile=$4
+ fi
+
+ # If a non-empty file already exists
+ if [ -s "$targetFile" ]
+ then
+ if VerifyHash "$targetFile" "$expectedHash"
+ then
+ echo "Skipping download, found and validated existing file: $targetFile"
+ return
+ else
+ echo "WARNING: Non-empty but different file found at destination; will re-download and overwrite file: $targetFile"
+ fi
+ fi
+
+ echo "Downloading from primary URL: $url"
+ if ! Download "$url" "$targetFile"
+ then
+ echo "FAIL! to download, trying alternative URL: $url2" 1>&2
+ if ! Download "$url2" "$targetFile"
+ then
+ echo 'FAIL! to download even from alternative URL' 1>&2
+ return 1
+ fi
+ fi
+ VerifyHash "$targetFile" "$expectedHash"
+}
diff --git a/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh b/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh
index 34bcf289..c1358fdd 100755
--- a/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh
+++ b/coin/provisioning/common/unix/InstallFromCompressedFileFromURL.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
@@ -67,6 +36,9 @@ function InstallFromCompressedFileFromURL {
"xz")
tar -xf "$targetFile" --directory "$targetDirectory"
;;
+ "tbz2")
+ tar -xjf "$targetFile" --directory "$targetDirectory"
+ ;;
*)
exit 1
;;
diff --git a/coin/provisioning/common/unix/SetEnvVar.sh b/coin/provisioning/common/unix/SetEnvVar.sh
index d5aa4dcd..3f457bb4 100755
--- a/coin/provisioning/common/unix/SetEnvVar.sh
+++ b/coin/provisioning/common/unix/SetEnvVar.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
# A helper script used for setting environment variables on Unix systems
@@ -43,9 +12,17 @@ function SetEnvVar {
echo "Setting environment variable $name to $path."
- if uname -a |grep -q "Ubuntu"; then
- echo "export $name=$path" >> ~/.profile
+ if uname -a |grep -q -E "Ubuntu|Debian"; then
+ if lsb_release -a |grep "Ubuntu 22.04"; then
+ echo "export $name=$path" >> ~/.bashrc
+ echo "export $name=$path" >> ~/.bash_profile
+ else
+ echo "export $name=$path" >> ~/.profile
+ fi
else
echo "export $name=$path" >> ~/.bashrc
+ echo "export $name=$path" >> ~/.zshrc
+ echo "export $name=$path" >> ~/.zshenv
+ echo "export $name=$path" >> ~/.zprofile
fi
}
diff --git a/coin/provisioning/common/unix/check_and_set_proxy.sh b/coin/provisioning/common/unix/check_and_set_proxy.sh
index 1c33641a..59598205 100755
--- a/coin/provisioning/common/unix/check_and_set_proxy.sh
+++ b/coin/provisioning/common/unix/check_and_set_proxy.sh
@@ -1,36 +1,6 @@
#!/usr/bin/env bash
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
diff --git a/coin/provisioning/common/unix/common.sourced.sh b/coin/provisioning/common/unix/common.sourced.sh
new file mode 100755
index 00000000..c15d9453
--- /dev/null
+++ b/coin/provisioning/common/unix/common.sourced.sh
@@ -0,0 +1,137 @@
+#!/bin/sh
+# 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
+
+
+# Script to be sourced from everywhere you need a common environment. Defines:
+export PROVISIONING_DIR
+export PROVISIONING_OS
+export PROVISIONING_OS_ID
+export PROVISIONING_ARCH
+export CMD_PKG_INSTALL
+export CMD_PKG_LOCALINSTALL
+export CMD_INSTALL
+export COIN_RUNS_IN_QT_COMPANY
+
+
+
+if [ x"$IS_PROVISIONING_COMMON_SOURCED" != x ]
+then
+ echo "common.sourced.sh has already been sourced, re-sourcing skipped"
+ return
+fi
+
+# Do not export; you want children to re-source, because they only inherit the
+# variables but not the functions
+IS_PROVISIONING_COMMON_SOURCED=1
+
+
+fatal () {
+ echo "$1" 1>&2
+ if [ x"$2" != x ]
+ then exit "$2"
+ else exit
+ fi
+}
+
+# Takes one argument which should be the filename of this script. Returns true
+# if the script is being sourced, false if the script is being executed.
+is_script_executed () {
+ [ "$(basename "$(echo "$0" | sed s/^-//)")" = "$1" ]
+}
+
+
+is_script_executed common.sourced.sh \
+ && fatal "Script common.sourced.sh should always be sourced, not executed"
+
+
+_detect_linux_OS_ID () {
+ if [ -f /etc/os-release ]
+ then
+ # shellcheck source=/dev/null
+ . /etc/os-release
+ PROVISIONING_OS_ID="$ID"
+ elif [ -f /etc/redhat-release ]
+ then
+ case "$(cat /etc/redhat-release)" in
+ "Red Hat Enterprise Linux"*)
+ PROVISIONING_OS_ID="rhel"
+ ;;
+ "CentOS Linux"*)
+ PROVISIONING_OS_ID="centos"
+ ;;
+ *) fatal "Unknown string in /etc/redhat-release" ;;
+ esac
+ fi
+}
+
+set_common_environment () {
+ # Unfortunately we can't find the provisioning directory from a sourced
+ # script in a portable way
+ # PROVISIONING_DIR="$(dirname "$0")/../../"
+
+ [ -z "$PROVISIONING_DIR" ] \
+ && fatal "PROVISIONING_DIR variable needs to be set before calling set_common_environment"
+
+ uname_s="$(uname -s)"
+ case "$uname_s" in
+ Linux)
+ PROVISIONING_OS=linux
+ _detect_linux_OS_ID
+ case "$PROVISIONING_OS_ID" in
+ suse|sles|opensuse*)
+ CMD_PKG_INSTALL="sudo zypper -nq install"
+ CMD_PKG_LOCALINSTALL="sudo zypper --no-gpg-checks -nq install"
+ ;;
+ debian|ubuntu)
+ CMD_PKG_INSTALL="sudo apt -y install"
+ CMD_PKG_LOCALINSTALL="sudo apt -y install"
+ ;;
+ rhel|centos|fedora)
+ CMD_PKG_INSTALL="sudo yum -y install"
+ CMD_PKG_LOCALINSTALL="sudo yum -y --nogpgcheck localinstall"
+ ;;
+ *) fatal "Unknown ID in /etc/os-release: $PROVISIONING_OS_ID" ;;
+ esac
+ ;;
+ Darwin)
+ PROVISIONING_OS=macos
+ PROVISIONING_OS_ID=macos
+ CMD_PKG_INSTALL="brew install"
+ CMD_PKG_LOCALINSTALL="echo 'TODO how to install a package file on macOS'"
+ ;;
+ *)
+ fatal "Unknown system in uname: $uname_s" 42
+ ;;
+ esac
+
+ uname_m="$(uname -m)"
+ case "$uname_m" in
+ x86_64|amd64) PROVISIONING_ARCH=amd64 ;;
+ aarch64|arm64)PROVISIONING_ARCH=arm64 ;;
+ i[3456]86) PROVISIONING_ARCH=x86 ;;
+ *) fatal "Unknown architecture in uname: $uname_m" 43 ;;
+ esac
+
+ CMD_INSTALL="sudo install"
+
+ COIN_RUNS_IN_QT_COMPANY=false
+ if ping -c1 repo-clones.ci.qt.io >/dev/null 2>&1
+ then
+ COIN_RUNS_IN_QT_COMPANY=true
+ fi
+
+}
+
+set_common_environment
+
+set_dry_run () {
+ if [ x"$PROVISIONING_DRY_RUN" != x ]
+ then
+ CMD_PKG_INSTALL="echo DRYRUN: $CMD_PKG_INSTALL"
+ CMD_PKG_LOCALINSTALL="echo DRYRUN: $CMD_PKG_LOCALINSTALL"
+ CMD_INSTALL="echo DRYRUN: $CMD_INSTALL"
+ fi
+}
+
+set_dry_run
diff --git a/coin/provisioning/common/unix/disable-ntp_macos.sh b/coin/provisioning/common/unix/disable-ntp_macos.sh
index 581ea7cb..fd490e43 100755
--- a/coin/provisioning/common/unix/disable-ntp_macos.sh
+++ b/coin/provisioning/common/unix/disable-ntp_macos.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
diff --git a/coin/provisioning/common/unix/emsdk.sh b/coin/provisioning/common/unix/emsdk.sh
new file mode 100755
index 00000000..580f966f
--- /dev/null
+++ b/coin/provisioning/common/unix/emsdk.sh
@@ -0,0 +1,54 @@
+#!/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=./SetEnvVar.sh
+source "${BASH_SOURCE%/*}/SetEnvVar.sh"
+
+# shellcheck source=./DownloadURL.sh
+source "${BASH_SOURCE%/*}/DownloadURL.sh"
+
+version="3.1.50"
+versionNode="v16.20.0"
+tarBallVersion="${version//./_}"
+if uname -a |grep -q Darwin; then
+ tarBallPackage="emsdk_macos_${tarBallVersion}.tar.gz"
+ sha="c12169ec8d22fc7a9ef1ba98027435bdf3b72729"
+else
+ tarBallPackage="emsdk_linux_${tarBallVersion}.tar.gz"
+ sha="5d81a8f1ddcb8d74c70ba5608efd4266c857944a"
+fi
+cacheUrl="https://ci-files01-hki.ci.qt.io/input/emsdk/${tarBallPackage}"
+target="/tmp/${tarBallPackage}"
+
+mkdir -p /opt
+cd /opt
+echo "URL: $cacheUrl"
+
+if DownloadURL "$cacheUrl" "" "$sha" "$target"; then
+ sudo tar -xzf "$target" -C /opt/
+ sudo rm -f "$target"
+else
+ echo "Emsdk isn't cached. Cloning it"
+ sudo git clone https://github.com/emscripten-core/emsdk.git
+ cd emsdk
+ sudo ./emsdk install "$version"
+ sudo ./emsdk activate "$version"
+fi
+
+# platform-specific toolchain and node binaries. urls obtained from "emsdk install"
+if uname -a |grep -q Darwin; then
+ pathNodeExecutable="node-$versionNode-darwin-x64/bin/node"
+else
+ pathNodeExecutable="node-$versionNode-linux-x64/bin/node"
+fi
+
+emsdkPath="/opt/emsdk/"
+emscriptenPath="${emsdkPath}upstream/emscripten/"
+
+SetEnvVar "PATH" "\"\$PATH:${emscriptenPath}\""
+SetEnvVar "EMSCRIPTEN" "${emscriptenPath}"
+SetEnvVar "EMSDK" "${emsdkPath}"
+SetEnvVar "EMSDK_NODE" "${emsdkPath}${pathNodeExecutable}"
+
+echo "Emsdk = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/unix/install-breakpad.sh b/coin/provisioning/common/unix/install-breakpad.sh
index b05b3510..7c3a34fb 100755
--- a/coin/provisioning/common/unix/install-breakpad.sh
+++ b/coin/provisioning/common/unix/install-breakpad.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-############################################################################
-##
-## Copyright (C) 2019 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-############################################################################
+# 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
# shellcheck source=../unix/DownloadURL.sh
source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
@@ -42,12 +11,12 @@ set -ex
breakpad_commit_sha="b988fa74ec18de6214b18f723e48331d9a7802ae"
breakpad_tar="breakpad_$breakpad_commit_sha.tar.gz"
-breakpad_tar_url="http://ci-files01-hki.intra.qt.io/input/breakpad/$breakpad_tar"
+breakpad_tar_url="http://ci-files01-hki.ci.qt.io/input/breakpad/$breakpad_tar"
breakpad_tar_sha="a2d404d2aebc947cdac5840a9bccd65dfafae24c"
linux_syscall_support_commit_sha1="93426bda6535943ff1525d0460aab5cc0870ccaf"
linux_syscall_support_tar="linux-syscall-support_$linux_syscall_support_commit_sha1.tar.gz"
-linux_syscall_support_tar_url="http://ci-files01-hki.intra.qt.io/input/linux-syscall-support/$linux_syscall_support_tar"
+linux_syscall_support_tar_url="http://ci-files01-hki.ci.qt.io/input/linux-syscall-support/$linux_syscall_support_tar"
linux_syscall_support_tar_sha="62565be0920f3661e138d68026b79fbbdc2a11e4"
targetBreakpad="/tmp/$breakpad_tar"
diff --git a/coin/provisioning/common/unix/install-conan.sh b/coin/provisioning/common/unix/install-conan.sh
new file mode 100755
index 00000000..8fc83090
--- /dev/null
+++ b/coin/provisioning/common/unix/install-conan.sh
@@ -0,0 +1,23 @@
+#!/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=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+
+# This script will install Conan
+# Note! Python3 is required for Conan installation
+
+os="$1"
+
+# Install Conan to Python user install directory (typically ~./local/)
+pip3 install conan --user
+
+SetEnvVar "CONAN_REVISIONS_ENABLED" "1"
+SetEnvVar "CONAN_V2_MODE" "1"
+
+if [ "$os" == "linux" ]; then
+ SetEnvVar "PATH" "/home/qt/.local/bin:\$PATH"
+elif [ "$os" == "macos" ]; then
+ SetEnvVar "PATH" "/Users/qt/Library/Python/3.7/bin:\$PATH"
+fi
diff --git a/coin/provisioning/common/unix/install-ffmpeg-android.sh b/coin/provisioning/common/unix/install-ffmpeg-android.sh
new file mode 100755
index 00000000..05d0b681
--- /dev/null
+++ b/coin/provisioning/common/unix/install-ffmpeg-android.sh
@@ -0,0 +1,106 @@
+#!/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
+
+# This script will build and install FFmpeg static libs
+set -ex
+os="$1"
+
+# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+
+version="n6.1.1"
+url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
+sha1="59e0c3c4cc48e9c60073495f8c045329bb21f446"
+url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
+ffmpeg_name="FFmpeg-$version"
+
+target_dir="$HOME"
+app_prefix=""
+ffmpeg_source_dir="$target_dir/$ffmpeg_name"
+
+if [ ! -d "$ffmpeg_source_dir" ];
+then
+ InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$target_dir" "$app_prefix"
+fi
+
+build_ffmpeg_android() {
+
+ target_arch=$1
+ target_dir=$2
+
+ sudo mkdir -p "$target_dir"
+
+ openssl_include="$OPENSSL_ANDROID_HOME_DEFAULT/include"
+ openssl_libs=""
+ if [ "$target_arch" == "x86_64" ]; then
+ target_toolchain_arch="x86_64-linux-android"
+ target_arch=x86_64
+ target_cpu=x86-64
+ openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/x86_64"
+ elif [ "$target_arch" == "x86" ]; then
+ target_toolchain_arch="i686-linux-android"
+ target_arch=x86
+ target_cpu=i686
+ openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/x86"
+ elif [ "$target_arch" == "arm64" ]; then
+ target_toolchain_arch="aarch64-linux-android"
+ target_arch=aarch64
+ target_cpu=armv8-a
+ openssl_libs="$OPENSSL_ANDROID_HOME_DEFAULT/arm64-v8a"
+ fi
+
+ api_version=24
+
+ ndk_root=$ANDROID_NDK_ROOT_DEFAULT
+ if uname -a |grep -q "Darwin"; then
+ ndk_host=darwin-x86_64
+ else
+ ndk_host=linux-x86_64
+ fi
+
+ toolchain=${ndk_root}/toolchains/llvm/prebuilt/${ndk_host}
+ toolchain_bin=${toolchain}/bin
+ sysroot=${toolchain}/sysroot
+ cxx=${toolchain_bin}/${target_toolchain_arch}${api_version}-clang++
+ cc=${toolchain_bin}/${target_toolchain_arch}${api_version}-clang
+ ar=${toolchain_bin}/llvm-ar
+ ranlib=${toolchain_bin}/llvm-ranlib
+
+ ffmpeg_config_options=$(cat "${BASH_SOURCE%/*}/../shared/ffmpeg_config_options.txt")
+ ffmpeg_config_options+=" --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-openssl --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera"
+ ffmpeg_config_options+=" --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/"
+ ffmpeg_config_options+=" --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}"
+ ffmpeg_config_options+=" --extra-cflags=-I${openssl_include} --extra-ldflags=-L${openssl_libs}"
+
+ local build_dir="$ffmpeg_source_dir/build/$target_arch"
+ sudo mkdir -p "$build_dir"
+ pushd "$build_dir"
+
+ # shellcheck disable=SC2086
+ sudo "$ffmpeg_source_dir/configure" $ffmpeg_config_options --prefix="$target_dir"
+
+ sudo make install -j4
+ popd
+}
+
+if [ "$os" == "android-x86" ]; then
+ target_arch=x86
+ target_dir="/usr/local/android/ffmpeg-x86"
+
+ SetEnvVar "FFMPEG_DIR_ANDROID_X86" "$target_dir"
+elif [ "$os" == "android-x86_64" ]; then
+ target_arch=x86_64
+ target_dir="/usr/local/android/ffmpeg-x86_64"
+
+ SetEnvVar "FFMPEG_DIR_ANDROID_X86_64" "$target_dir"
+elif [ "$os" == "android-arm64" ]; then
+ target_arch=arm64
+ target_dir="/usr/local/android/ffmpeg-arm64"
+
+ SetEnvVar "FFMPEG_DIR_ANDROID_ARM64" "$target_dir"
+fi
+
+build_ffmpeg_android "$target_arch" "$target_dir"
diff --git a/coin/provisioning/common/unix/install-ffmpeg-ios.sh b/coin/provisioning/common/unix/install-ffmpeg-ios.sh
new file mode 100755
index 00000000..e2a401a5
--- /dev/null
+++ b/coin/provisioning/common/unix/install-ffmpeg-ios.sh
@@ -0,0 +1,76 @@
+#!/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 will build and install FFmpeg static libs
+set -ex
+
+# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+
+version="n6.1.1"
+sha1="59e0c3c4cc48e9c60073495f8c045329bb21f446"
+url_public="https://github.com/FFmpeg/FFmpeg/archive/refs/tags/$version.tar.gz"
+url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
+ffmpeg_name="FFmpeg-$version"
+
+target_dir="$HOME"
+ffmpeg_source_dir="$target_dir/$ffmpeg_name"
+prefix="/usr/local/ios/ffmpeg"
+
+if [ ! -d "$ffmpeg_source_dir" ];
+then
+ InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$target_dir"
+fi
+
+ffmpeg_config_options=$(cat "${BASH_SOURCE%/*}/../shared/ffmpeg_config_options.txt")
+
+build_ffmpeg_ios() {
+ local target_arch=$1
+
+ if [ "$target_arch" == "x86_64" ]; then
+ target_sdk="iphonesimulator"
+ target_arch="x86_64"
+ minos="-mios-simulator-version-min=13.0"
+ else
+ target_sdk="iphoneos"
+ target_arch="arm64"
+ minos="-miphoneos-version-min=13.0"
+ fi
+
+ local build_dir="$ffmpeg_source_dir/build_ios/$target_arch"
+ sudo mkdir -p "$build_dir"
+ pushd "$build_dir"
+
+ # shellcheck disable=SC2086
+ sudo "$ffmpeg_source_dir/configure" $ffmpeg_config_options \
+ --sysroot="$(xcrun --sdk "$target_sdk" --show-sdk-path)" \
+ --enable-cross-compile \
+ --enable-optimizations \
+ --prefix=$prefix \
+ --arch=$target_arch \
+ --cc="xcrun --sdk ${target_sdk} clang -arch $target_arch" \
+ --cxx="xcrun --sdk ${target_sdk} clang++ -arch $target_arch" \
+ --ar="$(xcrun --sdk ${target_sdk} --find ar)" \
+ --ranlib="$(xcrun --sdk ${target_sdk} --find ranlib)" \
+ --strip="$(xcrun --sdk ${target_sdk} --find strip)" \
+ --nm="$(xcrun --sdk ${target_sdk} --find nm)" \
+ --target-os=darwin \
+ --extra-cflags="$minos" \
+ --extra-cxxflags="$minos" \
+ --enable-cross-compile \
+ --enable-swscale \
+ --enable-pthreads \
+ --disable-audiotoolbox
+
+ sudo make install DESTDIR="$build_dir/installed" -j
+ popd
+}
+
+build_ffmpeg_ios "x86_64"
+build_ffmpeg_ios "arm64"
+sudo "${BASH_SOURCE%/*}/../macos/makeuniversal.sh" "$ffmpeg_source_dir/build_ios/x86_64/installed" "$ffmpeg_source_dir/build_ios/arm64/installed"
+SetEnvVar "FFMPEG_DIR_IOS" $prefix
+
diff --git a/coin/provisioning/common/unix/install-ffmpeg.sh b/coin/provisioning/common/unix/install-ffmpeg.sh
new file mode 100755
index 00000000..94d032ed
--- /dev/null
+++ b/coin/provisioning/common/unix/install-ffmpeg.sh
@@ -0,0 +1,113 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script will build and install FFmpeg static libs
+set -ex
+os="$1"
+
+# shellcheck source=../unix/InstallFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../unix/InstallFromCompressedFileFromURL.sh"
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+
+version="n6.1.1"
+url_public="https://github.com/FFmpeg/FFmpeg/archive/$version.tar.gz"
+sha1="59e0c3c4cc48e9c60073495f8c045329bb21f446"
+url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/$version.tar.gz"
+ffmpeg_name="FFmpeg-$version"
+
+target_dir="$HOME"
+app_prefix=""
+ffmpeg_source_dir="$target_dir/$ffmpeg_name"
+
+if [ ! -d "$ffmpeg_source_dir" ]
+then
+ InstallFromCompressedFileFromURL "$url_cached" "$url_public" "$sha1" "$target_dir" "$app_prefix"
+fi
+
+ffmpeg_config_options=$(cat "${BASH_SOURCE%/*}/../shared/ffmpeg_config_options.txt")
+
+install_ff_nvcodec_headers() {
+ nv_codec_version="11.1" # use 11.1 to ensure compatibility with 470 nvidia drivers; might be upated to 12.0
+ nv_codec_url_public="https://github.com/FFmpeg/nv-codec-headers/archive/refs/heads/sdk/$nv_codec_version.zip"
+ nv_codec_url_cached="http://ci-files01-hki.ci.qt.io/input/ffmpeg/nv-codec-headers/nv-codec-headers-sdk-$nv_codec_version.zip"
+ nv_codec_sha1="ceb4966ab01b2e41f02074675a8ac5b331bf603e"
+ #nv_codec_sha1="4f30539f8dd31945da4c3da32e66022f9ca59c08" // 12.0
+ nv_codec_dir="$target_dir/nv-codec-headers-sdk-$nv_codec_version"
+ if [ ! -d "$nv_codec_dir" ]
+ then
+ InstallFromCompressedFileFromURL "$nv_codec_url_cached" "$nv_codec_url_public" "$nv_codec_sha1" "$target_dir" ""
+ fi
+
+ sudo make -C "$nv_codec_dir" install -j
+
+ # Might be not detected by default on RHEL
+ export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig"
+}
+
+build_ffmpeg() {
+ local arch="$1"
+ local prefix="$2"
+ local build_dir="$ffmpeg_source_dir/build/$arch"
+ mkdir -p "$build_dir"
+ pushd "$build_dir"
+
+ if [ -z "$prefix" ]
+ then prefix="/usr/local/$ffmpeg_name"
+ fi
+
+ if [ -n "$arch" ]
+ then cc="clang -arch $arch"
+ fi
+
+ # shellcheck disable=SC2086
+ if [ -n "$arch" ]
+ then "$ffmpeg_source_dir/configure" $ffmpeg_config_options --prefix="$prefix" --enable-cross-compile --arch="$arch" --cc="$cc"
+ else "$ffmpeg_source_dir/configure" $ffmpeg_config_options --prefix="$prefix"
+ fi
+ make install DESTDIR="$build_dir/installed" -j4
+ popd
+}
+
+if [ "$os" == "linux" ]; then
+ install_ff_nvcodec_headers
+
+ ffmpeg_config_options+=" --enable-openssl"
+ build_ffmpeg
+ sudo mv "$ffmpeg_source_dir/build/installed/usr/local/$ffmpeg_name" "/usr/local"
+ SetEnvVar "FFMPEG_DIR" "/usr/local/$ffmpeg_name"
+
+elif [ "$os" == "macos" ] || [ "$os" == "macos-universal" ]; then
+ ffmpeg_config_options+=" --enable-shared --disable-static"
+
+ brew install yasm
+ export MACOSX_DEPLOYMENT_TARGET=12
+ 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
+ # fix the error: duplicate symbol '_av_ac3_parse_header'
+ ffmpeg_config_options+=" --extra-ldflags=-Wl,-ld_classic"
+ fi
+
+ if [ "$os" == "macos" ]; then
+ build_ffmpeg
+ install_dir="$ffmpeg_source_dir/build/installed"
+ "$fix_relative_dependencies" "$install_dir/usr/local/$ffmpeg_name/lib"
+ sudo mv "$install_dir/usr/local/$ffmpeg_name" "/usr/local"
+ else
+ build_ffmpeg "arm64"
+ build_ffmpeg "x86_64"
+
+ arm64_install_dir="$ffmpeg_source_dir/build/arm64/installed"
+ x86_64_install_dir="$ffmpeg_source_dir/build/x86_64/installed"
+
+ "$fix_relative_dependencies" "$arm64_install_dir/usr/local/$ffmpeg_name/lib"
+ "$fix_relative_dependencies" "$x86_64_install_dir/usr/local/$ffmpeg_name/lib"
+
+ sudo "${BASH_SOURCE%/*}/../macos/makeuniversal.sh" "$arm64_install_dir" "$x86_64_install_dir"
+ fi
+
+ SetEnvVar "FFMPEG_DIR" "/usr/local/$ffmpeg_name"
+fi
diff --git a/coin/provisioning/common/unix/install-openssl.sh b/coin/provisioning/common/unix/install-openssl.sh
new file mode 100755
index 00000000..3b3353fb
--- /dev/null
+++ b/coin/provisioning/common/unix/install-openssl.sh
@@ -0,0 +1,108 @@
+#!/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
+
+# This script install OpenSSL from sources.
+# Requires GCC and Perl to be in PATH.
+set -ex
+os="$1"
+SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
+# shellcheck source=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+version="3.0.7"
+officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz"
+cachedUrl="http://ci-files01-hki.ci.qt.io/input/openssl/openssl-$version.tar.gz"
+targetFile="/tmp/openssl-$version.tar.gz"
+sha="f20736d6aae36bcbfa9aba0d358c71601833bf27"
+opensslHome="${HOME}/openssl-${version}"
+opensslSource="${opensslHome}-src"
+DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile"
+mkdir -p "$opensslSource"
+tar -xzf "$targetFile" --strip 1 -C "$opensslSource"
+cd "$opensslSource"
+pwd
+
+if [[ "$os" == "linux" ]]; then
+ 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 "Debian"; then
+ SetEnvVar "LD_LIBRARY_PATH" "\"$opensslHome/lib:$LD_LIBRARY_PATH\""
+ else
+ 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
+ echo "prefix=$prefix"
+ if [[ -z "$prefix" ]]; then
+ prefix="/usr/local"
+ fi
+ openssl_install_dir="$prefix/openssl-$version"
+ opensslTargetLocation="$prefix/opt/openssl"
+
+ commonFlags=(no-tests shared no-ssl3-method enable-ec_nistp_64_gcc_128 "-Wa,--noexecstack")
+
+ export MACOSX_DEPLOYMENT_TARGET=12
+
+ opensslBuild="${opensslHome}-build"
+ opensslDestdir="${opensslHome}-destdir"
+ mkdir -p "$opensslBuild"
+
+ if [ "$os" == "macos-universal" ]; then
+ archs="x86_64 arm64"
+ else
+ archs="$(uname -m)"
+ fi
+
+ for arch in $archs; do
+ cd "$opensslBuild"
+ echo "Configuring OpenSSL for $arch"
+ mkdir -p "$arch" && cd "$arch"
+ "$opensslSource/Configure" --prefix="$openssl_install_dir" "${commonFlags[@]}" "darwin64-$arch-cc"
+
+ echo "Building OpenSSL for $arch in $PWD"
+ make >> /tmp/openssl_make.log 2>&1
+
+ echo "Installing OpenSSL for $arch"
+ if [ "$os" == "macos-universal" ]; then
+ destdir="$opensslDestdir/$arch"
+ else
+ destdir=""
+ fi
+ # shellcheck disable=SC2024
+ sudo make install_sw install_ssldirs DESTDIR="$destdir" >> /tmp/openssl_make_install.log 2>&1
+ done
+
+ if [ "$os" == "macos-universal" ]; then
+ echo "Making universal OpenSSL package"
+ # shellcheck disable=SC2024
+ sudo rm -Rf "$openssl_install_dir"
+ sudo "${SCRIPT_DIR}/../macos/makeuniversal.sh" "$opensslDestdir/x86_64" "$opensslDestdir/arm64"
+ fi
+
+ path=$(echo "$opensslTargetLocation" | sed -E 's/(.*)\/.*$/\1/')
+ sudo mkdir -p "$path"
+ sudo ln -s "$openssl_install_dir" "$opensslTargetLocation"
+
+ SetEnvVar "PATH" "\"$opensslTargetLocation/bin:\$PATH\""
+ SetEnvVar "MANPATH" "\"$opensslTargetLocation/share/man:\$MANPATH\""
+
+ SetEnvVar "OPENSSL_DIR" "\"$openssl_install_dir\""
+ SetEnvVar "OPENSSL_INCLUDE" "\"$openssl_install_dir/include\""
+ SetEnvVar "OPENSSL_LIB" "\"$openssl_install_dir/lib\""
+
+ security find-certificate -a -p /Library/Keychains/System.keychain | sudo tee -a "$opensslTargetLocation/ssl/cert.pem" > /dev/null
+ security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain | sudo tee -a "$opensslTargetLocation/ssl/cert.pem" > /dev/null
+fi
+
+
+echo "OpenSSL = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/unix/install_grpc.sh b/coin/provisioning/common/unix/install_grpc.sh
new file mode 100755
index 00000000..3b94816a
--- /dev/null
+++ b/coin/provisioning/common/unix/install_grpc.sh
@@ -0,0 +1,84 @@
+#!/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
+
+# This script installs gRPC from sources.
+set -ex
+
+# shellcheck source=./DownloadURL.sh
+source "${BASH_SOURCE%/*}/DownloadURL.sh"
+# shellcheck source=./SetEnvVar.sh
+source "${BASH_SOURCE%/*}/SetEnvVar.sh"
+
+# Extract cmake path from the environment
+if uname -a |grep -q "Ubuntu"; then
+ if lsb_release -a |grep -q "Ubuntu 22.04"; then
+# shellcheck source=/dev/null
+ source ~/.bash_profile
+ else
+# shellcheck source=/dev/null
+ source ~/.profile
+ fi
+else
+# shellcheck source=/dev/null
+ source ~/.bashrc
+fi
+
+version="1.50.1"
+sha1="be1b0c3dbfbc9714824921f50dffb7cf044da5ab"
+internalUrl="http://ci-files01-hki.ci.qt.io/input/automotive_suite/grpc-all-$version.zip"
+externalUrl=""
+installPrefix="$HOME/install-grpc-$version"
+
+targetDir="$HOME/grpc-$version"
+targetFile="$targetDir.zip"
+DownloadURL "$internalUrl" "$externalUrl" "$sha1" "$targetFile"
+unzip -q "$targetFile" -d "$HOME"
+sudo rm "$targetFile"
+
+# devtoolset is needed when running configuration
+if uname -a |grep -qv "Darwin"; then
+ export PATH="/opt/rh/devtoolset-7/root/usr/bin:$PATH"
+fi
+
+if uname -a |grep -q Darwin; then
+ extraCMakeArgs=("-DCMAKE_OSX_ARCHITECTURES=x86_64;arm64" -DCMAKE_OSX_DEPLOYMENT_TARGET=12)
+ SetEnvVar PATH "\$PATH:$installPrefix/bin"
+fi
+
+# MacOS
+if [[ -n "$OPENSSL_DIR" ]]; then
+ extraOpenSslArg=-DOPENSSL_ROOT_DIR=$OPENSSL_DIR
+# Linux
+elif [[ -n "$OPENSSL_HOME" ]]; then
+ extraOpenSslArg=-DOPENSSL_ROOT_DIR=$OPENSSL_HOME
+fi
+
+echo "Configuring and building gRPC"
+
+buildDir="$HOME/build-grpc-$version"
+mkdir -p "$buildDir"
+cd "$buildDir"
+cmake "$targetDir" -G"Ninja Multi-Config" \
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
+ -DCMAKE_CONFIGURATION_TYPES="Release;Debug;RelWithDebugInfo" \
+ -DCMAKE_INSTALL_PREFIX="$installPrefix" \
+ "${extraCMakeArgs[@]}" \
+ "$extraOpenSslArg" \
+ -DgRPC_BUILD_TESTS=OFF \
+ -DgRPC_PROTOBUF_PROVIDER="package" \
+ -DgRPC_SSL_PROVIDER="package" \
+ -DgRPC_ZLIB_PROVIDER="package"
+ninja all
+
+sudo env "PATH=$PATH" ninja install
+# Refresh shared library cache if OS isn't macOS
+if uname -a |grep -qv "Darwin"; then
+ sudo ldconfig
+fi
+
+SetEnvVar "gRPC_ROOT" "$installPrefix"
+SetEnvVar "absl_ROOT" "$installPrefix"
+
+sudo rm -rf "$targetDir"
+sudo rm -rf "$buildDir"
diff --git a/coin/provisioning/common/unix/install_protobuf.sh b/coin/provisioning/common/unix/install_protobuf.sh
new file mode 100755
index 00000000..7ace4eae
--- /dev/null
+++ b/coin/provisioning/common/unix/install_protobuf.sh
@@ -0,0 +1,71 @@
+#!/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
+
+# shellcheck source=./DownloadURL.sh
+source "${BASH_SOURCE%/*}/DownloadURL.sh"
+# shellcheck source=./SetEnvVar.sh
+source "${BASH_SOURCE%/*}/SetEnvVar.sh"
+
+# Extract cmake path from the environment
+if uname -a |grep -q "Ubuntu"; then
+ if lsb_release -a |grep "Ubuntu 22.04"; then
+ source ~/.bash_profile
+ else
+ source ~/.profile
+ fi
+else
+ source ~/.bashrc
+fi
+
+# This script will install Google's Protocal Buffers
+
+version="21.9"
+sha1="3226a0e49d048759b702ae524da79387c59f05cc"
+internalUrl="http://ci-files01-hki.ci.qt.io/input/automotive_suite/protobuf-all-$version.zip"
+externalUrl="https://github.com/protocolbuffers/protobuf/releases/download/v$version/protobuf-all-$version.zip"
+
+targetDir="$HOME/protobuf-$version"
+targetFile="$targetDir.zip"
+DownloadURL "$internalUrl" "$externalUrl" "$sha1" "$targetFile"
+unzip "$targetFile" -d "$HOME"
+sudo rm "$targetFile"
+
+# devtoolset is needed when running configuration
+if uname -a |grep -qv "Darwin"; then
+ export PATH="/opt/rh/devtoolset-7/root/usr/bin:$PATH"
+fi
+
+echo "Configuring and building protobuf"
+
+installPrefix="/usr/local"
+if uname -a |grep -q Darwin; then
+ extraCMakeArgs=("-DCMAKE_OSX_ARCHITECTURES=x86_64;arm64" -DCMAKE_OSX_DEPLOYMENT_TARGET=12)
+ SetEnvVar PATH "\$PATH:$installPrefix/bin"
+fi
+
+buildDir="$HOME/build-protobuf-$version"
+mkdir "$buildDir"
+cd "$buildDir"
+cmake "$targetDir" -G"Ninja Multi-Config" \
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
+ -DCMAKE_INSTALL_PREFIX=$installPrefix \
+ "${extraCMakeArgs[@]}" \
+ -Dprotobuf_BUILD_TESTS=OFF \
+ -Dprotobuf_BUILD_EXAMPLES=OFF \
+ -Dprotobuf_BUILD_PROTOC_BINARIES=ON \
+ -DBUILD_SHARED_LIBS=OFF \
+ -Dprotobuf_WITH_ZLIB=OFF \
+ -DCMAKE_CONFIGURATION_TYPES="Release;Debug;RelWithDebugInfo" \
+ -DCMAKE_CROSS_CONFIGS=all \
+ -DCMAKE_DEFAULT_CONFIGS=all
+ninja all:all
+sudo env "PATH=$PATH" ninja install:all
+
+# Refresh shared library cache if OS isn't macOS
+if uname -a |grep -qv "Darwin"; then
+ sudo ldconfig
+fi
+
+sudo rm -r "$targetDir"
+sudo rm -r "$buildDir"
diff --git a/coin/provisioning/common/unix/install_protobuff.sh b/coin/provisioning/common/unix/install_protobuff.sh
deleted file mode 100755
index 59e9b699..00000000
--- a/coin/provisioning/common/unix/install_protobuff.sh
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# shellcheck source=./DownloadURL.sh
-source "${BASH_SOURCE%/*}/DownloadURL.sh"
-# shellcheck source=./SetEnvVar.sh
-source "${BASH_SOURCE%/*}/SetEnvVar.sh"
-
-# This script will install Google's Protocal Buffers which is needed by Automotive Suite
-
-version="3.6.1"
-sha1="44b8ba225f3b4dc45fb56d5881ec6a91329802b6"
-internalUrl="http://ci-files01-hki.intra.qt.io/input/automotive_suite/protobuf-all-$version.zip"
-externalUrl="https://github.com/protocolbuffers/protobuf/releases/download/v$version/protobuf-all-$version.zip"
-
-targetDir="$HOME/protobuf-$version"
-targetFile="$targetDir.zip"
-DownloadURL "$internalUrl" "$externalUrl" "$sha1" "$targetFile"
-unzip "$targetFile" -d "$HOME"
-sudo rm "$targetFile"
-
-# devtoolset is needed when running configuration
-if uname -a |grep -qv "Darwin"; then
- export PATH="/opt/rh/devtoolset-4/root/usr/bin:$PATH"
-fi
-
-echo "Configuring and building protobuf"
-cd "$targetDir"
-if uname -a |grep -q Darwin; then
- ./configure --prefix "$(xcrun --sdk macosx --show-sdk-path)/usr/local"
- SetEnvVar PATH "\$PATH:$(xcrun --sdk macosx --show-sdk-path)/usr/local/bin"
-else
- ./configure
-fi
-make
-sudo make install
-
-# Refresh shared library cache if OS isn't macOS
-if uname -a |grep -qv "Darwin"; then
- sudo ldconfig
-fi
-
-sudo rm -r "$targetDir"
diff --git a/coin/provisioning/common/unix/libclang-v100-dyn.sh b/coin/provisioning/common/unix/libclang-v100-dyn.sh
new file mode 100755
index 00000000..14194f55
--- /dev/null
+++ b/coin/provisioning/common/unix/libclang-v100-dyn.sh
@@ -0,0 +1,52 @@
+#!/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
+
+# PySide versions following 5.6 use a C++ parser based on Clang (http://clang.org/).
+# The Clang library (C-bindings), version 3.9 or higher is required for building.
+
+# This same script is used to provision libclang to Linux and macOS.
+# In case of Linux, we expect to get the values as args
+set -e
+
+# shellcheck source=./check_and_set_proxy.sh
+source "${BASH_SOURCE%/*}/check_and_set_proxy.sh"
+# shellcheck source=./SetEnvVar.sh
+source "${BASH_SOURCE%/*}/SetEnvVar.sh"
+# shellcheck source=./DownloadURL.sh
+source "${BASH_SOURCE%/*}/DownloadURL.sh"
+
+libclang_version=10.0
+
+if uname -a |grep -q Darwin; then
+ version=$libclang_version
+ url="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${version//\./}-based-mac.7z"
+ sha1="0fe1fa50b1b469d2c05acc3a3468bc93a66f1e5a"
+ url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/dynamic/libclang-release_${version//\./}-based-mac.7z"
+elif test -f /etc/redhat-release || /etc/centos-release; then
+ version=$libclang_version
+ url="https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_${version//\./}-based-linux-Rhel7.6-gcc5.3-x86_64.7z"
+ sha1="1d2e265502fc0832a854f989d757105833fbd179"
+ url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/dynamic/libclang-release_${version//\./}-based-linux-Rhel7.6-gcc5.3-x86_64.7z"
+else
+ version=$libclang_version
+ url="https://download.qt.io/development_releases/prebuilt/libclang/dynamic/libclang-release_${version//\./}-based-linux-Ubuntu18.04-gcc9.2-x86_64.7z"
+ sha1="c1580acb3a82e193acf86f18afb52427c5e67de8"
+ url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/libclang-release_${version//\./}-based-linux-Ubuntu18.04-gcc9.2-x86_64.7z"
+fi
+
+zip="/tmp/libclang.7z"
+destination="/usr/local/libclang-dynlibs-$version"
+
+DownloadURL "$url_cached" "$url" "$sha1" "$zip"
+if command -v 7zr &> /dev/null; then
+ sudo 7zr x $zip -o/usr/local/
+else
+ sudo 7z x $zip -o/usr/local/
+fi
+sudo mv /usr/local/libclang "$destination"
+rm -rf $zip
+
+
+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 a9d1cc49..5f75d7e4 100755
--- a/coin/provisioning/common/unix/libclang.sh
+++ b/coin/provisioning/common/unix/libclang.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
# PySide versions following 5.6 use a C++ parser based on Clang (http://clang.org/).
# The Clang library (C-bindings), version 3.9 or higher is required for building.
@@ -47,32 +16,51 @@ source "${BASH_SOURCE%/*}/SetEnvVar.sh"
# shellcheck source=./DownloadURL.sh
source "${BASH_SOURCE%/*}/DownloadURL.sh"
-libclang_version=6.0
+PROVISIONING_DIR="$(dirname "$0")/../../"
+# shellcheck source=./common.sourced.sh
+source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
+
+libclang_version="15.0.0"
if uname -a |grep -q Darwin; then
version=$libclang_version
- url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version//\./}-mac.7z"
- url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_${version//\./}-mac.7z"
- sha1="0af8ab8c1174faf4b721d079587190fc32ea8364"
+ url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-mac.7z"
+ url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-mac.7z"
+ sha1="6d916a17459c81551dde47580ae3f071e93338a5"
+elif test -f /etc/redhat-release && grep "Red Hat" /etc/redhat-release | grep -v "8" ; then
+ version=$libclang_version
+ url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Rhel8.4-gcc10.0-x86_64.7z"
+ url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Rhel8.4-gcc10.0-x86_64.7z"
+ sha1="6ca035bb522022d34d61759e0460845832933b5c"
+elif [ "$PROVISIONING_OS_ID" = ubuntu ]; then
+ version=$libclang_version
+ url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Ubuntu22.04-gcc11.2-x86_64.7z"
+ url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Ubuntu22.04-gcc11.2-x86_64.7z"
+ sha1="dd170ec762a7ec8ac84b4b5cac3a422514e5b030"
+elif [ "$PROVISIONING_OS_ID" = debian ]; then
+ version=17.0.1
+ url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Debian11.6-gcc10.0-arm64.7z"
+ url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Debian11.6-gcc10.0-arm64.7z"
+ sha1="43f0210121b889107e3dab631e8104e661a3866b"
else
version=$libclang_version
- url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version//\./}-linux-Rhel7.2-gcc5.3-x86_64.7z"
- url_cached="http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_${version//\./}-linux-Rhel7.2-gcc5.3-x86_64.7z"
- sha1="ef59b699f4fcce2e45108b3ff04cc7471c1c4abe"
+ url="https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_${version}-based-linux-Ubuntu20.04-gcc9.3-x86_64.7z"
+ url_cached="http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_${version}-based-linux-Ubuntu20.04-gcc9.3-x86_64.7z"
+ sha1="bd6615012b8bdb2720a45ede56e05f6db7191843"
fi
zip="/tmp/libclang.7z"
destination="/usr/local/libclang-$version"
DownloadURL $url_cached $url $sha1 $zip
-7z x $zip -o/tmp/
+if command -v 7zr &> /dev/null; then
+ sudo 7zr x $zip -o/usr/local/
+else
+ sudo 7z x $zip -o/usr/local/
+fi
+sudo mv /usr/local/libclang "$destination"
rm -rf $zip
-sudo mv /tmp/libclang "$destination"
-echo "export LLVM_INSTALL_DIR=$destination" >> ~/.bash_profile
+SetEnvVar "LLVM_INSTALL_DIR" "$destination"
echo "libClang = $version" >> ~/versions.txt
-
-# This is a hacked static build of libclang which requires special
-# handling on the qdoc side.
-SetEnvVar "QDOC_USE_STATIC_LIBCLANG" "1"
diff --git a/coin/provisioning/common/unix/mqtt_broker.sh b/coin/provisioning/common/unix/mqtt_broker.sh
index 37732b31..d3cce755 100644..100755
--- a/coin/provisioning/common/unix/mqtt_broker.sh
+++ b/coin/provisioning/common/unix/mqtt_broker.sh
@@ -1,37 +1,6 @@
#!/bin/bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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 installs paho testing broker
@@ -39,10 +8,10 @@
source "${BASH_SOURCE%/*}/InstallFromCompressedFileFromURL.sh"
source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
-CommitSHA="20bad2475c27a6e1d24a56d90a9fceb40963261e"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mqtt_broker/paho.mqtt.testing-$CommitSHA.zip"
+CommitSHA="2873885d7e840b4e06483f36f170c609eb30527d"
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mqtt_broker/paho.mqtt.testing-$CommitSHA.zip"
AltUrl="https://github.com/eclipse/paho.mqtt.testing/archive/$CommitSHA.zip"
-SHA1="a0ac88715c2aebb9573a113dc13925a90da19233"
+SHA1="1fcc4e61b12f11a1421cc8c3f379276d732e62b7"
targetFolder="/opt/paho_broker"
appPrefix="paho.mqtt.testing-$CommitSHA"
diff --git a/coin/provisioning/common/unix/openssl_3_for_android.sh b/coin/provisioning/common/unix/openssl_3_for_android.sh
new file mode 100755
index 00000000..0ad79315
--- /dev/null
+++ b/coin/provisioning/common/unix/openssl_3_for_android.sh
@@ -0,0 +1,76 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script install prebuilt OpenSSL which was built against Android NDK 25.
+# OpenSSL build will fail with Android NDK 22, because it's missing platforms and sysroot directories
+
+set -ex
+# shellcheck source=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+
+version="3.0.7"
+ndkVersionLatest="r26b"
+ndkVersionDefault=$ndkVersionLatest
+prebuiltOpensslNdkShaLatest="ea925d5a5b696916fb3650403a2eb3189c52b5ce"
+prebuiltOpensslNdkShaDefault=$prebuiltOpensslNdkShaLatest
+
+: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK 25
+# Source built requires GCC and Perl to be in PATH. Rhel "requires yum install perl-IPC-Cmd"
+exports_file="/tmp/export.sh"
+# source previously made environmental variables.
+if uname -a |grep -q "Ubuntu"; then
+ # shellcheck disable=SC1090
+ grep -e "^export" "$HOME/.profile" > $exports_file && source $exports_file
+ rm -rf "$exports_file"
+else
+ # shellcheck disable=SC1090
+ grep -e "^export" "$HOME/.bashrc" > $exports_file && source $exports_file
+ rm -rf "$exports_file"
+fi
+
+# ANDROID_NDK_ROOT is required during Configure
+export ANDROID_NDK_ROOT=/opt/android/android-ndk-r26b
+
+officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz"
+cachedUrl="http://ci-files01-hki.ci.qt.io/input/openssl/openssl-$version.tar.gz"
+targetFile="/tmp/openssl-$version.tar.gz"
+sha="f20736d6aae36bcbfa9aba0d358c71601833bf27"
+opensslHome="${HOME}/openssl/android/openssl-${version}"
+DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile"
+mkdir -p "${HOME}/openssl/android/"
+tar -xzf "$targetFile" -C "${HOME}/openssl/android/"
+if uname -a |grep -q "Darwin"; then
+ TOOLCHAIN=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/darwin-x86_64/bin
+else
+ TOOLCHAIN=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin
+fi
+cd "$opensslHome"
+PATH=$TOOLCHAIN:$PATH CC=clang ./Configure android-arm
+PATH=$TOOLCHAIN:$PATH CC=clang make build_generated
+EOB
+
+function InstallPrebuiltOpenssl() {
+
+ ndkVersion=$1
+ sha=$2
+
+ opensslHome="${HOME}/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}"
+ if [[ ! -d ${opensslHome} ]]; then
+ prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip"
+ targetFile="/tmp/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip"
+
+ DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile"
+ unzip -o "$targetFile" -d "${HOME}"
+ sudo rm -f "$targetFile"
+ fi
+}
+
+InstallPrebuiltOpenssl $ndkVersionDefault $prebuiltOpensslNdkShaDefault
+SetEnvVar "OPENSSL_ANDROID_HOME_DEFAULT" "$opensslHome"
+InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslNdkShaLatest
+SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
+
+echo "OpenSSL for Android = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/unix/openssl_for_android.sh b/coin/provisioning/common/unix/openssl_for_android.sh
new file mode 100755
index 00000000..d555e0cc
--- /dev/null
+++ b/coin/provisioning/common/unix/openssl_for_android.sh
@@ -0,0 +1,73 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script install prebuilt OpenSSL which was built against Android NDK 25.
+# OpenSSL build will fail with Android NDK 22, because it's missing platforms and sysroot directories
+
+set -ex
+# shellcheck source=../unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+# shellcheck source=../unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+
+version="3.0.7"
+ndkVersionLatest="r26b"
+ndkVersionDefault=$ndkVersionLatest
+prebuiltOpensslNdkShaLatest="ea925d5a5b696916fb3650403a2eb3189c52b5ce"
+prebuiltOpensslNdkShaDefault=$prebuiltOpensslNdkShaLatest
+
+: <<'EOB' SOURCE BUILD INSTRUCTIONS - Openssl prebuilt was made using Android NDK r26b
+# Source built requires GCC and Perl to be in PATH. Rhel "requires yum install perl-IPC-Cmd"
+exports_file="/tmp/export.sh"
+# source previously made environmental variables.
+if uname -a |grep -q "Ubuntu"; then
+ # shellcheck disable=SC1090
+ grep -e "^export" "$HOME/.profile" > $exports_file && source $exports_file
+ rm -rf "$exports_file"
+else
+ # shellcheck disable=SC1090
+ grep -e "^export" "$HOME/.bashrc" > $exports_file && source $exports_file
+ rm -rf "$exports_file"
+fi
+
+officialUrl="https://www.openssl.org/source/openssl-$version.tar.gz"
+cachedUrl="http://ci-files01-hki.ci.qt.io/input/openssl/openssl-$version.tar.gz"
+targetFile="/tmp/openssl-$version.tar.gz"
+sha="f20736d6aae36bcbfa9aba0d358c71601833bf27"
+opensslHome="${HOME}/openssl/android/openssl-${version}"
+DownloadURL "$cachedUrl" "$officialUrl" "$sha" "$targetFile"
+mkdir -p "${HOME}/openssl/android/"
+tar -xzf "$targetFile" -C "${HOME}/openssl/android/"
+if uname -a |grep -q "Darwin"; then
+ TOOLCHAIN=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/darwin-x86_64/bin
+else
+ TOOLCHAIN=${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin
+fi
+cd "$opensslHome"
+PATH=$TOOLCHAIN:$PATH CC=clang ./Configure android-arm
+PATH=$TOOLCHAIN:$PATH CC=clang make build_generated
+EOB
+
+function InstallPrebuiltOpenssl() {
+
+ ndkVersion=$1
+ sha=$2
+
+ opensslHome="${HOME}/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}"
+ if [[ ! -d ${opensslHome} ]]; then
+ prebuiltUrl="http://ci-files01-hki.ci.qt.io/input/openssl/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip"
+ targetFile="/tmp/prebuilt-openssl-${version}-for-android-ndk-${ndkVersion}.zip"
+
+ DownloadURL "$prebuiltUrl" "$prebuiltUrl" "$sha" "$targetFile"
+ unzip -o "$targetFile" -d "${HOME}"
+ sudo rm -f "$targetFile"
+ fi
+}
+
+InstallPrebuiltOpenssl $ndkVersionDefault $prebuiltOpensslNdkShaDefault
+SetEnvVar "OPENSSL_ANDROID_HOME_DEFAULT" "$opensslHome"
+InstallPrebuiltOpenssl $ndkVersionLatest $prebuiltOpensslNdkShaLatest
+SetEnvVar "OPENSSL_ANDROID_HOME_LATEST" "$opensslHome"
+
+echo "OpenSSL for Android = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/unix/pyenv.rb b/coin/provisioning/common/unix/pyenv.rb
new file mode 100644
index 00000000..0c2781ff
--- /dev/null
+++ b/coin/provisioning/common/unix/pyenv.rb
@@ -0,0 +1,80 @@
+class Pyenv < Formula
+ desc "Python version management"
+ homepage "https://github.com/pyenv/pyenv"
+ url "https://github.com/pyenv/pyenv/archive/refs/tags/v2.3.15.tar.gz"
+ sha256 "cf6499e1c8f18fb3473c2afdf5f14826fd42a1c4b051219faea104e38036e4bb"
+ license "MIT"
+ version_scheme 1
+ head "https://github.com/pyenv/pyenv.git", branch: "master"
+
+ livecheck do
+ url :stable
+ regex(/^v?(\d+(?:\.\d+)+(-\d+)?)$/i)
+ end
+
+ bottle do
+ sha256 cellar: :any, arm64_ventura: "ff68efd633ee282abb0c0a6ba72f90d5248644f3143f40e15841b6ae7996e3cd"
+ sha256 cellar: :any, arm64_monterey: "af7621550cc7c005549d96218d2606a521e12595f2efc9ae9d8523cc46d318ba"
+ sha256 cellar: :any, arm64_big_sur: "69d69ceeea16fe45346d8856bf213c0a0e48220097635cf17d40b98fa8e12f83"
+ sha256 cellar: :any, ventura: "48fb21656dc11dc0a6ef25eb7cb5e8829485c1e1fac7d1ca596a46771a9ad91d"
+ sha256 cellar: :any, monterey: "96ba1d1702b7620dd9d0d2fe030af4d31c83504afea1b119910ab2e9c9fbb08c"
+ sha256 cellar: :any, big_sur: "f96dfcecefb40d4794a8ea3ef5981bdeab6e64c412f18f0c128b1d64fe87d913"
+ sha256 cellar: :any_skip_relocation, x86_64_linux: "83737a776f4828a7fb5eb289b10418b7cf829cccca3fc634d7dfe7c96aff4e7e"
+ end
+
+ depends_on "autoconf"
+ depends_on "openssl@3"
+ depends_on "pkg-config"
+ depends_on "readline"
+
+ uses_from_macos "python" => :test
+ uses_from_macos "bzip2"
+ uses_from_macos "libffi"
+ uses_from_macos "ncurses"
+ uses_from_macos "xz"
+ uses_from_macos "zlib"
+
+ def install
+ inreplace "libexec/pyenv", "/usr/local", HOMEBREW_PREFIX
+ inreplace "libexec/pyenv-rehash", "$(command -v pyenv)", opt_bin/"pyenv"
+ inreplace "pyenv.d/rehash/source.bash", "$(command -v pyenv)", opt_bin/"pyenv"
+
+ system "src/configure"
+ system "make", "-C", "src"
+
+ prefix.install Dir["*"]
+ %w[pyenv-install pyenv-uninstall python-build].each do |cmd|
+ bin.install_symlink "#{prefix}/plugins/python-build/bin/#{cmd}"
+ end
+
+ share.install prefix/"man"
+
+ # Do not manually install shell completions. See:
+ # - pyenv/pyenv#1056#issuecomment-356818337
+ # - Homebrew/homebrew-core#22727
+ end
+
+ test do
+ # Create a fake python version and executable.
+ pyenv_root = Pathname(shell_output("#{bin}/pyenv root").strip)
+ python_bin = pyenv_root/"versions/1.2.3/bin"
+ foo_script = python_bin/"foo"
+ foo_script.write "echo hello"
+ chmod "+x", foo_script
+
+ # Test versions.
+ versions = shell_output("eval \"$(#{bin}/pyenv init --path)\" " \
+ "&& eval \"$(#{bin}/pyenv init -)\" " \
+ "&& #{bin}/pyenv versions").split("\n")
+ assert_equal 2, versions.length
+ assert_match(/\* system/, versions[0])
+ assert_equal(" 1.2.3", versions[1])
+
+ # Test rehash.
+ system bin/"pyenv", "rehash"
+ refute_match "Cellar", (pyenv_root/"shims/foo").read
+ assert_equal "hello", shell_output("eval \"$(#{bin}/pyenv init --path)\" " \
+ "&& eval \"$(#{bin}/pyenv init -)\" " \
+ "&& PYENV_VERSION='1.2.3' foo").chomp
+ end
+end
diff --git a/coin/provisioning/common/unix/python_modules.sh b/coin/provisioning/common/unix/python_modules.sh
new file mode 100755
index 00000000..00009836
--- /dev/null
+++ b/coin/provisioning/common/unix/python_modules.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# 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
+
+# needed by packaging scripts
+pip3 install bs4
+pip3 install sh
+pip3 install html5lib
diff --git a/coin/provisioning/common/unix/sccache.sh b/coin/provisioning/common/unix/sccache.sh
new file mode 100755
index 00000000..8a403ba7
--- /dev/null
+++ b/coin/provisioning/common/unix/sccache.sh
@@ -0,0 +1,35 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+source "${BASH_SOURCE%/*}/../unix/DownloadURL.sh"
+source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh"
+## comment fo changin patchset..coin privision issue
+
+function installSccache {
+ targetArch=$1
+ targetVersion=$2
+ sha1=$3
+ targetFile=sccache-$targetVersion-$targetArch.tar.gz
+ primaryUrl=http://ci-files01-hki.ci.qt.io/input/sccache/$targetFile
+ cacheUrl=https://github.com/mozilla/sccache/releases/download/$targetVersion/$targetFile
+ DownloadURL "$primaryUrl" "$cacheUrl" "$sha1" "$targetFile"
+
+ sudo mkdir -p /usr/local/sccache
+ sudo tar -C /usr/local/sccache -x -z --totals --strip-components=1 --file="$targetFile"
+
+ # add sccache __before__ the real compiler
+ SetEnvVar "PATH" "/usr/local/sccache:\$PATH"
+
+ # disable sccache server from shutting down after being idle
+ SetEnvVar "SCCACHE_IDLE_TIMEOUT" "0"
+
+ # copy sccache wrapper and place as a first in PATH
+ mkdir -p "$HOME/sccache_wrapper"
+ cp "${BASH_SOURCE%/*}/sccache_wrapper" "$HOME/sccache_wrapper/sccache"
+ chmod 755 "$HOME/sccache_wrapper/sccache"
+ SetEnvVar "PATH" "$HOME/sccache_wrapper:\$PATH"
+
+}
diff --git a/coin/provisioning/common/unix/sccache_wrapper b/coin/provisioning/common/unix/sccache_wrapper
new file mode 100755
index 00000000..52e39513
--- /dev/null
+++ b/coin/provisioning/common/unix/sccache_wrapper
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+# Call real sccache with original arguments
+# sccache /opt/android/android-ndk-r23b/toolchains/llvm/prebuilt/linux-x86_64/bin/clang --target=aarch64-none ......
+real_sccache=/usr/local/sccache/sccache
+$real_sccache "$@"
+retval=$?
+
+if test $retval -ne 0
+then
+ echo "Sccache command failed, re-try calling build tool directly"
+ "$@"
+ retval=$?
+fi
+exit $retval
diff --git a/coin/provisioning/common/unix/squishInstall.sh b/coin/provisioning/common/unix/squishInstall.sh
index b40c1922..0195d84a 100755
--- a/coin/provisioning/common/unix/squishInstall.sh
+++ b/coin/provisioning/common/unix/squishInstall.sh
@@ -1,173 +1,106 @@
#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# shellcheck source=./DownloadURL.sh
+source "${BASH_SOURCE%/*}/DownloadURL.sh"
set -ex
-# This script will install squish package for Linux and Mac.
+# This script will fetch and extract pre-buildt squish package for Linux and Mac.
# Squish is need by Release Test Automation (RTA)
-version="6.4.3"
-# Branch version without dot
-qtBranch="512x"
-squishFolder="/opt/squish"
-squishUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/coin/$qtBranch/"
-squishFile="squish-$version-qt$qtBranch-linux64.run"
+version="7.2.1"
+qtBranch="66x"
+installFolder="/opt"
+squishFolder="$installFolder/squish"
+preBuildCacheUrl="ci-files01-hki.ci.qt.io:/hdd/www/input/squish/jenkins_build/stable"
+licenseFile=".squish-license"
+licenseBranch="squish_license"
+licenseUrl="http://ci-files01-hki.ci.qt.io/input/squish/coin/$licenseBranch/$licenseFile"
+licenseSHA="e84b499a2011f9bb1a6eefc7b2338d7ae770927a"
+testSuiteUrl="ci-files01-hki.ci.qt.io:/hdd/www/input/squish/coin/suite_test_squish"
+testSuiteLocal="/tmp/squish_test_suite"
if uname -a |grep -q Darwin; then
- squishFile="squish-$version-qt$qtBranch-macx86_64.dmg"
+ compressedFolder="prebuild-squish-$version-$qtBranch-mac.tar.gz"
+ sha1="7467c974b65255c86b8fccaeca90e0590d4f7c96"
+else
+ compressedFolder="prebuild-squish-$version-$qtBranch-linux64.tar.gz"
+ sha1="950a6035c777c8ce0a50a0b3ad468044d07f898b"
fi
-squishLicenseUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/coin/"
-squishLicenseFile=".squish-3-license.tar.gz"
-
-testSuite="suite_test_squish"
-testSuiteUrl="ci-files01-hki.intra.qt.io:/hdd/www/input/squish/coin/"
+mountFolder="/tmp/squish"
+sudo mkdir "$mountFolder"
+sudo mkdir "$testSuiteLocal"
-# These checks can be removed when Vanilla OS for all linux and Mac are in
-if [ -d "$squishFolder" ]; then
- echo "Move old squish to /tmp"
- sudo mv "$squishFolder" "/tmp/squish_$(date)"
+# Check which platform
+if uname -a |grep -q Darwin; then
+ usersGroup="staff"
+elif uname -a |grep -q "el7"; then
+ usersGroup="qt"
+elif uname -a |grep -q "Ubuntu"; then
+ usersGroup="users"
+else
+ usersGroup="users"
fi
-if [ -f "/etc/profile.d/squish_env.sh" ]; then
- echo "Remove /etc/profile.d/squish_env.sh"
- sudo rm -f "/etc/profile.d/squish_env.sh"
- export SQUISH_LICENSEKEY_DIR=$HOME
+targetFileMount="$mountFolder"/"$compressedFolder"
+
+echo "Mounting Squish packages from $preBuildCacheUrl to $mountFolder"
+echo "Mounting Squish test suite from $testSuiteUrl to $testSuiteLocal"
+if uname -a |grep -q Darwin; then
+ sudo mount -o locallocks "$preBuildCacheUrl" "$mountFolder"
+ sudo mount -o locallocks "$testSuiteUrl" "$testSuiteLocal"
+else
+ sudo mount "$preBuildCacheUrl" "$mountFolder"
+ sudo mount "$testSuiteUrl" "$testSuiteLocal"
+fi
+echo "Create $installFolder if needed"
+if [ ! -d "$installFolder" ]; then
+ sudo mkdir "$installFolder"
fi
-function MountAndInstall {
- url=$1
- targetDirectory=$2
- targetFile=$3
-
- # Check which platform
- if uname -a |grep -q Darwin; then
- usersGroup="staff"
- mountFolder="/Volumes"
- squishLicenseDir="/Users/qt"
- elif uname -a |grep -q "el7"; then
- usersGroup="qt"
- mountFolder="/tmp"
- squishLicenseDir="/root"
- elif uname -a |grep -q "Ubuntu"; then
- usersGroup="users"
- mountFolder="/tmp"
- squishLicenseDir="/home/qt"
- else
- usersGroup="users"
- mountFolder="/tmp"
- squishLicenseDir="/root"
- fi
+VerifyHash "$targetFileMount" "$sha1"
- function UnMount {
- echo "Unmounting $mountFolder"
- sudo diskutil unmount force "$mountFolder" || sudo umount -f "$mountFolder"
- }
+echo "Uncompress $compressedFolder"
+sudo tar -xzf "$targetFileMount" --directory "$installFolder"
- targetFileMount="$mountFolder"/"$targetFile"
+if uname -a |grep -q Darwin; then
+ sudo xattr -r -c "$squishFolder"
+fi
- echo "Mounting $url to $mountFolder"
- sudo mount "$url" "$mountFolder"
- echo "Create $targetDirectory if needed"
- if [ ! -d "/opt" ]; then
- sudo mkdir "/opt"
- fi
- if [ ! -d "$targetDirectory" ]; then
- sudo mkdir "$targetDirectory"
- fi
- echo "Uncompress $targetFile"
- if [[ $targetFile == *.tar.gz ]]; then
- if [[ $targetFile == .squish-3-license.* ]]; then
- target="$squishLicenseDir"
- # Squish license need to be exists also in users home directory, because squish check it before it starts running tests
- sudo tar -xzf "$targetFileMount" --directory "$HOME"
- else
- target="$targetDirectory"
- fi
- sudo tar -xzf "$targetFileMount" --directory "$target"
- UnMount
- elif [[ $targetFile == *.dmg ]]; then
- echo "'dmg-file', no need to uncompress"
- sudo cp $targetFileMount /tmp
- UnMount
- sudo hdiutil attach "/tmp/$targetFile"
- sudo /Volumes/froglogic\ Squish/Install\ Squish.app/Contents/MacOS/Squish unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1
- mountFolder="/Volumes/froglogic Squish"
- UnMount
- elif [[ $targetFile == *.run ]]; then
- echo "'run-file', no need to uncompress"
- sudo cp $targetFileMount $targetDirectory
- UnMount
- sudo chmod +x $targetDirectory/$targetFile
- sudo $targetDirectory/$targetFile unattended=1 targetdir="$targetDirectory/package" qtpath="$targetDirectory" > /dev/null 2>&1
- sudo rm -fr "$targetDirectory/$targetFile"
- if uname -a |grep -q "Ubuntu"; then
- sudo mkdir /usr/lib/tcl8.6
- sudo cp "$targetDirectory/package/tcl/lib/tcl8.6/init.tcl" /usr/lib/tcl8.6/
- fi
- else
- exit 1
+if uname -a |grep -q "Ubuntu"; then
+ if [ ! -e "/usr/lib/tcl8.6" ]; then
+ sudo mkdir /usr/lib/tcl8.6
+ #this needs to be copied only to squish_for_qt65
+ sudo cp "$squishFolder/squish_for_qt66/tcl/lib/tcl8.6/init.tcl" /usr/lib/tcl8.6/
fi
+fi
- echo "Changing ownerships"
- sudo chown -R qt:$usersGroup "$targetDirectory"
- sudo chown qt:$usersGroup "$HOME/.squish-3-license"
-}
+echo "Download Squish license"
+DownloadURL "$licenseUrl" "$licenseUrl" "$licenseSHA" "$HOME/$licenseFile"
-echo "Set commands for environment variables in .bashrc"
+echo "Changing ownerships"
+sudo chown -R qt:$usersGroup "$squishFolder"
+sudo chown qt:$usersGroup "$HOME/$licenseFile"
-if uname -a |grep -q "Ubuntu"; then
- echo "export SQUISH_PATH=$squishFolder/package" >> ~/.profile
- echo "export PATH=\$PATH:$squishFolder/squish-$version/bin" >> ~/.profile
-else
- echo "export SQUISH_PATH=$squishFolder/package" >> ~/.bashrc
- echo "export PATH=\$PATH:$squishFolder/squish-$version/bin" >> ~/.bashrc
-fi
-echo "Installing squish license to home directory.."
-MountAndInstall "$squishLicenseUrl" "$squishFolder" "$squishLicenseFile"
+echo "Verifying Squish, available installations:"
+ls -la $squishFolder
+cd $squishFolder
-echo "Installing squish $version.."
-MountAndInstall "$squishUrl" "$squishFolder" "$squishFile"
+for squishInstallation in */ ; do
+ if "$squishInstallation/bin/squishrunner" --testsuite "$testSuiteLocal" | grep "Squish test run successfully" ; then
+ echo "Squish in $squishInstallation tested successfully"
+ else
+ echo "Testing Squish in $squishInstallation failed! Squish wasn't installed correctly."
+ exit 1
+ fi
+done
-echo "Installing provisioning scripts for squish"
-MountAndInstall "$testSuiteUrl" "$squishFolder" "$testSuite.tar.gz"
+echo "Clean up installation temp dirs"
+echo "- Unmounting $mountFolder"
+sudo diskutil unmount force "$mountFolder" || sudo umount -f "$mountFolder" || true
-echo "Verifying Squish Installation"
-if "$squishFolder/package/bin/squishrunner" --testsuite "$squishFolder/$testSuite" | grep "Squish test run successfully" ; then
- echo "Squish installation tested successfully"
-else
- echo "Squish test failed! Package wasn't installed correctly."
- exit 1
-fi
+echo "- Unmounting $testSuiteLocal"
+sudo diskutil unmount force "$testSuiteLocal" || sudo umount -f "$testSuiteLocal" || true
diff --git a/coin/provisioning/common/unix/telegraf_install.sh b/coin/provisioning/common/unix/telegraf_install.sh
new file mode 100755
index 00000000..7e1f8a47
--- /dev/null
+++ b/coin/provisioning/common/unix/telegraf_install.sh
@@ -0,0 +1,77 @@
+#!/bin/bash
+# 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
+
+
+# This script installs telegraf and ioping and our script telegraf-ioping.sh
+# to the /usr/bin directory.
+#
+# The reasons we don't install to /usr/local/bin are:
+# 1. On SLES and RHEL, the PATH of sudo (secure_path setting in /etc/sudoers)
+# does not include /usr/local/bin.
+# 2. On macOS /usr/local/bin does not even exist early in provisioning.
+
+
+######################## BOILERPLATE ###########################
+set -e
+
+PROVISIONING_DIR="$(dirname "$0")/../../"
+# shellcheck source=./common.sourced.sh
+source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
+# shellcheck source=./DownloadURL.sh
+source "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
+
+is_script_executed telegraf_install.sh \
+ || fatal "Script telegraf_install.sh should be executed, not sourced"
+
+################################################################
+
+
+if [ "$PROVISIONING_OS" = linux ]
+then ioping_sha256=259abf04bcb84f4126ff97c04b6651e1cf5ea6d8a9ff364c769a26c95b6eeb44
+else ioping_sha256=55de6a2f1a5343e0ce8df31d82d47a9e79c7e612edbc6dfb39b5fc6fb358b2e3
+fi
+
+DownloadURL "http://ci-files01-hki.ci.qt.io/input/ioping/ioping.${PROVISIONING_OS}-${PROVISIONING_ARCH}" \
+ '' "$ioping_sha256" ioping
+$CMD_INSTALL -m 755 ./ioping /usr/bin/
+rm -f ioping
+
+# 2. Install custom ioping monitoring script
+$CMD_INSTALL -m 755 "$PROVISIONING_DIR"/common/shared/telegraf/telegraf-ioping.sh /usr/bin/
+
+# 3. Download and install telegraf
+
+if [ "$PROVISIONING_OS" = macos ]
+then os=darwin
+else os=linux
+fi
+
+if [ "$PROVISIONING_ARCH" = x86 ]
+then arch=i386
+else arch=amd64
+fi
+
+package_filename=telegraf-1.12.6_${os}_${arch}.tar.gz
+package_sha256_list="$PROVISIONING_DIR"/common/shared/telegraf/telegraf_packages.sha256.txt
+package_sha256=$(sed -n "s/.*$package_filename *//p" "$package_sha256_list")
+
+DownloadURL \
+ http://ci-files01-hki.ci.qt.io/input/telegraf/"$package_filename" \
+ https://dl.influxdata.com/telegraf/releases/"$package_filename" \
+ "$package_sha256" \
+ telegraf.tar.gz
+
+tar -xzf ./telegraf.tar.gz -C /tmp
+telegraf_binary=$(find /tmp/telegraf* -name telegraf -type f | grep /bin/ | head -1)
+$CMD_INSTALL -m 755 "$telegraf_binary" /usr/bin/
+rm -rf /tmp/telegraf*
+
+# 4. Edit config file with passwords
+"$PROVISIONING_DIR"/common/unix/telegraf_password.sh
+
+# 5. Start telegraf in background (-b) and with retaining the environment (-E)
+# in order to report as hostname = $COIN_UNIQUE_JOB_ID.
+/usr/bin/sudo -b -E telegraf --config /etc/telegraf-coin.conf >/dev/null 2>&1
+
+echo DONE: "Installed and started telegraf: $package_filename"
diff --git a/coin/provisioning/common/unix/telegraf_password.sh b/coin/provisioning/common/unix/telegraf_password.sh
new file mode 100755
index 00000000..24df7054
--- /dev/null
+++ b/coin/provisioning/common/unix/telegraf_password.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+# 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
+
+
+######################## BOILERPLATE ###########################
+set -e
+
+PROVISIONING_DIR="$(dirname "$0")/../../"
+# shellcheck source=./common.sourced.sh
+source "${BASH_SOURCE%/*}/common.sourced.sh"
+
+is_script_executed telegraf_password.sh \
+ || fatal "Script telegraf_password.sh should be executed, not sourced, to avoid leaking secrets in the logs"
+# Avoid leaking secrets in the logs
+set +x
+################################################################
+
+
+# Provisioning should run even without the secrets repository
+influxdb_password=$(cut -d : -f 2 ~qt/work/influxdb/coin_vms_writer.auth) \
+ || influxdb_password=no_password_provided
+
+rm -f ~qt/work/influxdb/coin_vms_writer.auth
+sed "s|COIN_VMS_WRITER_PASS|$influxdb_password|" \
+ "$PROVISIONING_DIR"/common/"$PROVISIONING_OS"/telegraf-coin.conf \
+ > .telegraf-coin.conf.final
+$CMD_INSTALL -m 600 .telegraf-coin.conf.final /etc/telegraf-coin.conf
+rm -f .telegraf-coin.conf.final
diff --git a/coin/provisioning/common/windows/03-conan.ps1 b/coin/provisioning/common/windows/03-conan.ps1
deleted file mode 100644
index 74c21e20..00000000
--- a/coin/provisioning/common/windows/03-conan.ps1
+++ /dev/null
@@ -1,60 +0,0 @@
-. "$PSScriptRoot\helpers.ps1"
-
-$scriptsPath = "C:\Python27\Scripts"
-
-Run-Executable "$scriptsPath\pip.exe" "install --upgrade conan==0.24.0"
-
-# Use Qt Project repository by default
-Run-Executable "$scriptsPath\conan.exe" "remote add qtproject https://api.bintray.com/conan/qtproject/conan --insert"
-
-Set-EnvironmentVariable "CI_CONAN_BUILDINFO_DIR" "C:\Utils\conanbuildinfos"
-
-function Run-Conan-Install
-{
- Param (
- [string]$ConanfilesDir,
- [string]$BuildinfoDir,
- [string]$Arch,
- [string]$Compiler,
- [string]$CompilerVersion,
- [string]$CompilerRuntime,
- [string]$CompilerLibcxx
- )
-
- if ($CompilerRuntime) {
- $extraArgs = "-s compiler.runtime=$($CompilerRuntime)"
- }
-
- if ($CompilerLibcxx) {
- $extraArgs = "-s compiler.libcxx=$($CompilerLibcxx)"
- }
-
- $manifestsDir = "$PSScriptRoot\conan_manifests"
-
- Get-ChildItem -Path "$ConanfilesDir\*.txt" |
- ForEach-Object {
- $conanfile = $_.FullName
- $outpwd = "C:\Utils\conanbuildinfos\$($BuildinfoDir)\$($_.BaseName)"
- New-Item $outpwd -Type directory -Force
-
- for ($i = 1; $i -le 5; $i++) {
- try {
- Push-Location $outpwd
- Run-Executable "$scriptsPath\conan.exe" "install -f $conanfile --no-imports --verify $manifestsDir", `
- '-s', ('compiler="' + $Compiler + '"'), `
- "-s os=Windows -s arch=$Arch -s compiler.version=$CompilerVersion $extraArgs" `
- break;
- } catch {
- if ($i -eq 5) {
- throw "Could not install conan content"
- }
- } finally {
- Pop-Location
- }
- }
-
- Copy-Item -Path $conanfile -Destination "$outpwd\conanfile.txt"
- }
-}
-
-Write-Output "Conan = 0.24.0" >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/3dstudio_3rdparty.ps1 b/coin/provisioning/common/windows/3dstudio_3rdparty.ps1
index 049fdc1b..afbc7ff1 100644
--- a/coin/provisioning/common/windows/3dstudio_3rdparty.ps1
+++ b/coin/provisioning/common/windows/3dstudio_3rdparty.ps1
@@ -2,11 +2,11 @@
$zip = Get-DownloadLocation "Qt3DStudio-3rdparty-win64-CI.zip"
-$url = "http://ci-files01-hki.intra.qt.io/input/3rdparty/Qt3DStudio-3rdparty-win64-CI.zip"
+$url = "http://ci-files01-hki.ci.qt.io/input/3rdparty/Qt3DStudio-3rdparty-win64-CI.zip"
Download $url $url $zip
Verify-Checksum $zip "08D740D2EFB4CBCDE7D012908B89AA48DE5CD4E1"
Extract-7Zip $zip C:\Utils\Qt3DStudio3rdparty
-Remove-Item -Path $zip
+Remove "$zip"
Set-EnvironmentVariable "QT3DSTUDIO_3RDPARTY_DIR" "C:/Utils/Qt3DStudio3rdparty"
diff --git a/coin/provisioning/common/windows/allow-remote-desktop-access.ps1 b/coin/provisioning/common/windows/allow-remote-desktop-access.ps1
index cbf514ba..b17f443c 100644
--- a/coin/provisioning/common/windows/allow-remote-desktop-access.ps1
+++ b/coin/provisioning/common/windows/allow-remote-desktop-access.ps1
@@ -1,35 +1,5 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
# This script allows the Windows Remote Desktop Access
diff --git a/coin/provisioning/common/windows/android-openssl.ps1 b/coin/provisioning/common/windows/android-openssl.ps1
index cf144c90..3542c907 100644
--- a/coin/provisioning/common/windows/android-openssl.ps1
+++ b/coin/provisioning/common/windows/android-openssl.ps1
@@ -1,67 +1,102 @@
-############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
# Requires: 7z, perl and msys
. "$PSScriptRoot\helpers.ps1"
+if (Is64BitWinHost) {
+ $msys_bash = "C:\Utils\msys64\usr\bin\bash"
+} else {
+ $msys_bash = "C:\Utils\msys32\usr\bin\bash"
+}
+
# OpenSSL need to be configured from sources for Android build in windows 7
# Msys need to be installed to target machine
# More info and building instructions can be found from http://doc.qt.io/qt-5/opensslsupport.html
-$version = "1.0.2p"
-$zip = Get-DownloadLocation ("openssl-$version.tar.gz")
-$sha1 = "f34b5322e92415755c7d58bf5d0d5cf37666382c"
-$destination = "C:\Utils\openssl-android-master"
+$openssl_version = "3.0.7"
+$ndk_version_latest = "r26b"
+$ndk_version_default = "$ndk_version_latest"
+$openssl_compressed = Get-DownloadLocation ("openssl-${openssl_version}.tar.gz")
+$openssl_sha1 = "f20736d6aae36bcbfa9aba0d358c71601833bf27"
+$prebuilt_sha1_ndk_latest = "ea925d5a5b696916fb3650403a2eb3189c52b5ce"
+$prebuilt_sha1_ndk_default = "$prebuilt_sha1_ndk_latest"
+$destination_prefix = "C:\Utils\prebuilt-openssl-${openssl_version}-for-android-ndk"
+
+function Install($1, $2) {
+ $ndk_version = $1
+ $prebuilt_sha1 = $2
+
+ # msys unix style paths
+ $openssl_path = "/c/Utils/openssl-android-master"
+ $ndk_path = "/c/Utils/Android/android-ndk-${ndk_version}"
+ $cc_path = "$ndk_path/toolchains/llvm/prebuilt/windows-x86_64/bin"
+
+ $prebuilt_url_openssl = "\\ci-files01-hki.ci.qt.io\provisioning\openssl\prebuilt-openssl-${openssl_version}-for-android-ndk-${ndk_version}.zip"
+ $prebuilt_zip_openssl = Get-DownloadLocation ("prebuilt-openssl-${openssl_version}-for-android-ndk-${ndk_version}.zip")
+
+ if ((Test-Path $prebuilt_url_openssl)) {
+ Write-Host "Install prebuilt OpenSSL for Android"
+ Download $prebuilt_url_openssl $prebuilt_url_openssl $prebuilt_zip_openssl
+ Verify-Checksum $prebuilt_zip_openssl $prebuilt_sha1
+ Extract-7Zip $prebuilt_zip_openssl C:\Utils
+ Remove $prebuilt_zip_openssl
+ } else {
+ Write-Host "Build OpenSSL for Android from sources"
+ # openssl-${openssl_version}_fixes-ndk_root.tar.gz package includes fixes from https://github.com/openssl/openssl/pull/17322 and string ANDROID_NDK_HOME is replaced with ANDROID_NDK_ROOT in Configurations/15-android.conf
+ Download \\ci-files01-hki.ci.qt.io\provisioning\openssl\openssl-${openssl_version}.tar.gz \\ci-files01-hki.ci.qt.io\provisioning\openssl\openssl-${openssl_version}.tar.gz $openssl_compressed
+ Verify-Checksum $openssl_compressed $openssl_sha1
+
+ Extract-7Zip $openssl_compressed C:\Utils\tmp
+ Extract-7Zip C:\Utils\tmp\openssl-${openssl_version}.tar C:\Utils\tmp
+ Move-Item C:\Utils\tmp\openssl-${openssl_version} ${destination}-${ndk_version}
+ Remove "$openssl_compressed"
+
+ Write-Host "Configuring OpenSSL $openssl_version for Android..."
+ Push-Location ${destination}-${ndk_version}
+ # $ must be escaped in powershell...
+
+ function CheckExitCode {
+
+ param (
+ $p
+ )
+
+ if ($p.ExitCode) {
+ Write-host "Process failed with exit code: $($p.ExitCode)"
+ exit 1
+ }
+ }
+
+ # ANDROID_NDK_ROOT needs to be in environment variables before running this script
+ # Set-EnvironmentVariable "ANDROID_NDK_ROOT" "C:\Utils\Android\android-ndk-r26b"
+
+ $make_install = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"yes | pacman -S make`"")
+ CheckExitCode $make_install
+
+ $configure = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_ROOT=$ndk_path PATH=${cc_path}:`$PATH CC=clang $openssl_path/Configure shared android-arm`"")
+ CheckExitCode $configure
-Download https://www.openssl.org/source/openssl-$version.tar.gz \\ci-files01-hki.intra.qt.io\provisioning\openssl\openssl-$version.tar.gz $zip
-Verify-Checksum $zip $sha1
+ $make = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys_bash" -ArgumentList ("-lc", "`"pushd $openssl_path; ANDROID_NDK_ROOT=$ndk_path PATH=${cc_path}:`$PATH CC=clang make -f $openssl_path/Makefile build_generated`"")
+ CheckExitCode $make
-Extract-7Zip $zip C:\Utils
-Extract-7Zip C:\Utils\openssl-$version.tar C:\Utils
-Rename-Item C:\Utils\openssl-$version $destination
-Remove-Item -Path $zip
-Remove-Item C:\Utils\openssl-$version.tar
+ Pop-Location
+ Remove-item C:\Utils\tmp -Recurse -Confirm:$false
+ }
-# Make sure configure for openssl has a "make" and "perl" available
-$env:PATH = $env:PATH + ";C:\msys\1.0\bin;C:\strawberry\perl\bin"
+}
-Write-Host "Configuring OpenSSL $version for Android..."
-Push-Location $destination
-Run-Executable "C:\msys\1.0\bin\bash.exe" "-c `"c:/strawberry/perl/bin/perl Configure shared android`""
-Pop-Location
+# Install NDK Default version
+Install $ndk_version_default $prebuilt_sha1_ndk_default
-# Following command is needed when using version 1.1.0. With version 1.1.0 msys is not needed.
-# C:\mingw530\bin\mingw32-make.exe include\openssl\opensslconf.h
+if (Test-Path -Path ${destination_prefix}-${ndk_version_latest}) {
+ Write-Host "OpenSSL for Android Latest version is the same than Default. Installation done."
+} else {
+ # Install NDK Latest version
+ Install $ndk_version_latest $prebuilt_sha1_ndk_latest
+}
-Write-Output "Android OpenSSL = $version" >> ~/versions.txt
+Set-EnvironmentVariable "OPENSSL_ANDROID_HOME_DEFAULT" "${destination_prefix}-${ndk_version_default}"
+Set-EnvironmentVariable "OPENSSL_ANDROID_HOME_LATEST" "${destination_prefix}-${ndk_version_latest}"
+Write-Output "Android OpenSSL = $openssl_version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/android.ps1 b/coin/provisioning/common/windows/android.ps1
index 1b4dd35d..b594238c 100644
--- a/coin/provisioning/common/windows/android.ps1
+++ b/coin/provisioning/common/windows/android.ps1
@@ -1,35 +1,5 @@
-############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
@@ -40,23 +10,27 @@
# That's why we need to use Andoid-21 API version in Qt 5.9.
# NDK
-$ndkVersion = "r18b"
-$ndkCachedUrl = "\\ci-files01-hki.intra.qt.io\provisioning\android\android-ndk-$ndkVersion-windows-x86.zip"
-$ndkOfficialUrl = "https://dl.google.com/android/repository/android-ndk-$ndkVersion-windows-x86.zip"
-$ndkChecksum = "4b8b6a4edc0fa967b429c1d6d25adf69acc28803"
-$ndkFolder = "c:\Utils\Android\android-ndk-$ndkVersion"
-$ndkZip = "c:\Windows\Temp\android_ndk_$ndkVersion.zip"
+$ndkVersionLatest = "r26b"
+$ndkVersionDefault = $ndkVersionLatest
+$ndkChecksumLatest = "17453c61a59e848cffb8634f2c7b322417f1732e"
+$ndkChecksumDefault = $ndkChecksumLatest
+$ndkCachedUrlLatest = "\\ci-files01-hki.ci.qt.io\provisioning\android\android-ndk-$ndkVersionLatest-windows.zip"
+$ndkOfficialUrlLatest = "https://dl.google.com/android/repository/android-ndk-$ndkVersionLatest-windows.zip"
+$ndkCachedUrlDefault = "\\ci-files01-hki.ci.qt.io\provisioning\android\android-ndk-$ndkVersionDefault-windows.zip"
+$ndkOfficialUrlDefault = "https://dl.google.com/android/repository/android-ndk-$ndkVersionDefault-windows.zip"
+$ndkZip = "C:\Windows\Temp\android_ndk.zip"
# SDK
-$toolsVersion = "26.1.1"
-$toolsFile = "sdk-tools-windows-4333796.zip"
+$toolsVersion = "2.1"
+$toolsFile = "commandlinetools-win-6609375_latest.zip"
$sdkApi = "ANDROID_API_VERSION"
-$sdkApiLevel = "android-28"
-$sdkBuildToolsVersion = "28.0.3"
-$toolsCachedUrl= "\\ci-files01-hki.intra.qt.io\provisioning\android\$toolsFile"
+$sdkApiLevel = "android-34"
+$sdkBuildToolsVersion = "34.0.0"
+$toolsCachedUrl= "\\ci-files01-hki.ci.qt.io\provisioning\android\$toolsFile"
$toolsOfficialUrl = "https://dl.google.com/android/repository/$toolsFile"
-$toolsChecksum = "aa298b5346ee0d63940d13609fe6bec621384510"
-$toolsFolder = "c:\Utils\Android\tools"
+$toolsChecksum = "e2e19c2ff584efa87ef0cfdd1987f92881323208"
+$cmdFolder = "c:\Utils\Android\cmdline-tools"
+
$sdkZip = "c:\Windows\Temp\$toolsFile"
function Install($1, $2, $3, $4) {
@@ -64,19 +38,39 @@ function Install($1, $2, $3, $4) {
$zip = $2
$checksum = $3
$offcialUrl = $4
+ $tempExtractDir = "C:\Windows\Temp\android_extract"
Download $offcialUrl $cacheUrl $zip
Verify-Checksum $zip "$checksum"
- Extract-7Zip $zip C:\Utils\Android
+ Extract-7Zip $zip $tempExtractDir
+ $baseDirectory = (Get-ChildItem $tempExtractDir -Attributes D | Select-Object -First 1).Name
+ Move-Item -Path ($tempExtractDir + "\" + $baseDirectory) -Destination "C:\Utils\Android\$baseDirectory" -Force
+ Remove $zip
+
+ return "C:\Utils\Android\$baseDirectory"
}
-Write-Host "Installing Android NDK $nkdVersion"
-Install $ndkCachedUrl $ndkZip $ndkChecksum $ndkOfficialUrl
-Set-EnvironmentVariable "ANDROID_NDK_HOME" $ndkFolder
-Set-EnvironmentVariable "ANDROID_NDK_ROOT" $ndkFolder
+New-Item -ItemType Directory -Path C:\Utils\Android\
+New-Item -ItemType Directory -Path C:\Windows\Temp\android_extract
+Write-Host "Installing Android NDK $ndkVersionDefault"
+$ndkFolderDefault = Install $ndkCachedUrlDefault $ndkZip $ndkChecksumDefault $ndkOfficialUrlDefault
+Set-EnvironmentVariable "ANDROID_NDK_ROOT_DEFAULT" $ndkFolderDefault
+# To be used by vcpkg
+Set-EnvironmentVariable "ANDROID_NDK_HOME" $ndkFolderDefault
+$env:ANDROID_NDK_HOME = "$ndkFolderDefault"
+
+if ($ndkVersionDefault -eq $ndkVersionLatest) {
+ Write-Host "Android Latest version is the same than Default. NDK installation done."
+} else {
+ Write-Host "Installing Android NDK $nkdVersionLatest"
+ $ndkFolderLatest = Install $ndkCachedUrlLatest $ndkZip $ndkChecksumLatest $ndkOfficialUrlLatest
+ Set-EnvironmentVariable "ANDROID_NDK_ROOT_LATEST" $ndkFolderLatest
+}
-Install $toolsCachedUrl $sdkZip $toolsChecksum $sdkOfficialUrl
-Set-EnvironmentVariable "ANDROID_SDK_HOME" C:\Utils\Android
+$toolsFolder = Install $toolsCachedUrl $sdkZip $toolsChecksum $toolsOfficialUrl
+New-Item -ItemType directory -Path $cmdFolder
+Move-Item -Path $toolsFolder -Destination $cmdFolder\
+Set-EnvironmentVariable "ANDROID_SDK_ROOT" "C:\Utils\Android"
Set-EnvironmentVariable "ANDROID_API_VERSION" $sdkApiLevel
if (IsProxyEnabled) {
@@ -95,10 +89,13 @@ Out-File -FilePath C:\Utils\Android\licenses\android-sdk-license -Encoding utf8
# Get a PATH where Java's path is defined from previous provisioning
[Environment]::SetEnvironmentVariable("PATH", [Environment]::GetEnvironmentVariable("PATH", "Machine"), "Process")
-cd $toolsFolder\bin\
-$sdkmanager_args += "platforms;$sdkApiLevel", "platform-tools", "build-tools;$sdkBuildToolsVersion"
-$command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat @sdkmanager_args'
-iex $command
+# Attempt to catch all errors of sdkmanager.bat, even when hidden behind a pipeline.
+$ErrorActionPreference = "Stop"
+
+cd $cmdFolder\tools\bin\
+$sdkmanager_args += "platforms;$sdkApiLevel", "platform-tools", "build-tools;$sdkBuildToolsVersion", "--sdk_root=C:\Utils\Android"
+$command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat @sdkmanager_args | Out-Null'
+Invoke-Expression $command
$command = 'for($i=0;$i -lt 6;$i++) { $response += "y`n"}; $response | .\sdkmanager.bat --licenses'
iex $command
cmd /c "dir C:\Utils\android"
@@ -106,4 +103,4 @@ cmd /c "dir C:\Utils\android"
Write-Output "Android SDK tools= $toolsVersion" >> ~/versions.txt
Write-Output "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt
Write-Output "Android SDK Api Level = $sdkApiLevel" >> ~/versions.txt
-Write-Output "Android NDK = $ndkVersion" >> ~/versions.txt
+Write-Output "Android NDK = $ndkVersionDefault" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/change-language-settings.ps1 b/coin/provisioning/common/windows/change-language-settings.ps1
new file mode 100644
index 00000000..d1a87ff3
--- /dev/null
+++ b/coin/provisioning/common/windows/change-language-settings.ps1
@@ -0,0 +1,4 @@
+Write-Host "Change locale and language settings"
+Set-WinSystemLocale -SystemLocale en-US
+Set-WinUILanguageOverride -Language en-US
+Set-WinUserLanguageList en-US -Force
diff --git a/coin/provisioning/common/windows/cmake.ps1 b/coin/provisioning/common/windows/cmake.ps1
index ec84d706..d2ed4cc8 100644
--- a/coin/provisioning/common/windows/cmake.ps1
+++ b/coin/provisioning/common/windows/cmake.ps1
@@ -1,53 +1,23 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
-$majorminorversion = "3.6"
-$version = "3.6.2"
+$majorminorversion = "3.27"
+$version = "3.27.7"
-$zip = Get-DownloadLocation ("cmake-" + $version + "-win32-x86.zip")
-$officialurl = "https://cmake.org/files/v" + $majorminorversion + "/cmake-" + $version + "-win32-x86.zip"
-$cachedurl = "\\ci-files01-hki.intra.qt.io\provisioning\cmake\cmake-" + $version + "-win32-x86.zip"
+$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"
Write-Host "Removing old cmake"
-Remove-Item "C:\CMake" -Force -Recurse -ErrorAction SilentlyContinue
+Remove "C:\CMake"
Download $officialurl $cachedurl $zip
-Verify-Checksum $zip "541F6E7EFD228E46770B8631FFE57097576E4D4E"
+Verify-Checksum $zip "b6147215a5f9cd1138b012265229fbf2224d02c6"
Extract-7Zip $zip C:
-$defaultinstallfolder = "C:\cmake-" + $version + "-win32-x86"
+$defaultinstallfolder = "C:\cmake-" + $version + "-windows-i386"
Rename-Item $defaultinstallfolder C:\CMake
Add-Path "C:\CMake\bin"
diff --git a/coin/provisioning/common/windows/conan.ps1 b/coin/provisioning/common/windows/conan.ps1
new file mode 100644
index 00000000..22247897
--- /dev/null
+++ b/coin/provisioning/common/windows/conan.ps1
@@ -0,0 +1,37 @@
+# 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
+
+. "$PSScriptRoot\helpers.ps1"
+
+$scriptsPath = [System.Environment]::GetEnvironmentVariable('PIP3_PATH', [System.EnvironmentVariableTarget]::Machine)
+$version = "1.39.0"
+Run-Executable "$scriptsPath\pip3.exe" "install conan==$version"
+Write-Output "Conan = $version" >> ~\versions.txt
+
+# Add conan to path.
+Add-Path $scriptsPath
+Set-EnvironmentVariable "CONAN_REVISIONS_ENABLED" "1"
+Set-EnvironmentVariable "CONAN_V2_MODE" "1"
+
+# This is temporary solution for installing packages provided by Conan until we have fixed Conan setup for this
+
+$url_conan = "\\ci-files01-hki.ci.qt.io\provisioning\windows\.conan.zip"
+$url_conan_home = "\\ci-files01-hki.ci.qt.io\provisioning\windows\.conanhome.zip"
+$sha1_conan_compressed = "1abbe43e7a29ddd9906328702b5bc5231deeb721"
+$sha1_conanhome_compressed = "f44c2ae21cb1c7dc139572e399b7b0eaf492af03"
+$conan_compressed = "C:\.conan.zip"
+$conanhome_compressed = "C:\.conanhome.zip"
+
+Download $url_conan $url_conan $conan_compressed
+Verify-Checksum $conan_compressed $sha1_conan_compressed
+Extract-7Zip $conan_compressed C:\
+
+Download $url_conan_home $url_conan_home $conanhome_compressed
+Verify-Checksum $conanhome_compressed $sha1_conanhome_compressed
+Extract-7Zip $conanhome_compressed C:\Users\qt
+
+Remove $conan_compressed
+Remove $conanhome_compressed
+
+# Remove existing settings file to generate a new.
+Remove "C:\Users\qt\.conan\settings.yml"
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/57.1/annulen/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/57.1/annulen/stable/export/conanmanifest.txt
deleted file mode 100644
index c61454b9..00000000
--- a/coin/provisioning/common/windows/conan_manifests/icu/57.1/annulen/stable/export/conanmanifest.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-1478728220
-conanfile.py: 966eefe972ce7b809cf46722ed4acc8f \ No newline at end of file
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/57.1/annulen/stable/package/df887949b128f2725c575258bd175fe4d30ba476/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/57.1/annulen/stable/package/df887949b128f2725c575258bd175fe4d30ba476/conanmanifest.txt
deleted file mode 100644
index ada3d009..00000000
--- a/coin/provisioning/common/windows/conan_manifests/icu/57.1/annulen/stable/package/df887949b128f2725c575258bd175fe4d30ba476/conanmanifest.txt
+++ /dev/null
@@ -1,257 +0,0 @@
-1478728553
-bin/derb.exe: 3ec3b316ff23272a1b3fd2b158bf8f0c
-bin/genbrk.exe: d20b4453d8f27575aa99a922b1b73979
-bin/genccode.exe: fd6c6b4a19785fe79e64a5a7c42126f5
-bin/gencfu.exe: b5eb4c1573c0a57177d9b07c3f550fe5
-bin/gencmn.exe: 67af9d71860826f5b2fc77f88f05dd57
-bin/gencnval.exe: e249044782f01701e32e31479404b424
-bin/gendict.exe: 8602eabdc50fa6155b625726864dba16
-bin/gennorm2.exe: 325e3fdd8e7136e76c11f9b906051cd4
-bin/genrb.exe: 239a4ff2f0b48080aacb71fc76be8d2f
-bin/gensprep.exe: a1c66a70887166b100cc41a5e46345ce
-bin/icu-config: 96b18a047b3d3f489e2960b45896f816
-bin/icuinfo.exe: edd6e3cae4a64effa44d0f0c6d9c49e3
-bin/icupkg.exe: 3d8237194aab07ae0b94df5a612d9809
-bin/makeconv.exe: 99a4faca3677d2387af16a646a58ef8a
-bin/pkgdata.exe: cc98c16f44eee8bbbe395b440ea4ffdf
-bin/uconv.exe: d61219c6e2b6204bc6b763b19863ed36
-conaninfo.txt: fd101264bb948df865b27622957a2f15
-include/layout/LEFontInstance.h: 832355f57af5c308176c31b4b509ee66
-include/layout/LEGlyphFilter.h: d9f85ffb6092f4d0a0f7d6d2b47af762
-include/layout/LEGlyphStorage.h: f1223e9ee45c7b70bb5716523b110c53
-include/layout/LEInsertionList.h: dee4db6d6404cdb502188ef0f7271cf7
-include/layout/LELanguages.h: a067c055ed8b2463797e2219d5c4f584
-include/layout/LEScripts.h: 54a3a278a6e40180944ae915b816f4eb
-include/layout/LESwaps.h: 75f4e8675dbe6af58e563834aedd7bc8
-include/layout/LETableReference.h: 5a398e838e744826c08b2c3246bb6c85
-include/layout/LETypes.h: e6b0751d998bf62a0f5c547ea385e01b
-include/layout/LayoutEngine.h: 316ad98ce1ec2fbcff405706827efbc4
-include/layout/ParagraphLayout.h: 50ea2c0f4d5f43f8c889c9634628407a
-include/layout/RunArrays.h: 3f617f033219e611639c272cb3aff784
-include/layout/loengine.h: f8b15a37f9c330dfa87c69c5501e80cd
-include/layout/playout.h: e86c74c388011a1af118c1d4a53dde54
-include/layout/plruns.h: 84d32229ac7a487f0f9d34426fa3ea8a
-include/unicode/alphaindex.h: e74fcba85b76577d32b90bc0056ee5d9
-include/unicode/appendable.h: 5c2d97a96252e2c959d4c226a554575b
-include/unicode/basictz.h: 444077f7dd19bd6dbe24034360356e8a
-include/unicode/brkiter.h: 0a5796a84c272600a360dc5918899492
-include/unicode/bytestream.h: f828cc9f542c232d2aadb09b9099c559
-include/unicode/bytestrie.h: 765c037e45325e1970e839349df7c28c
-include/unicode/bytestriebuilder.h: 634c9203ef678ee0d8fd9baffa8e3e46
-include/unicode/calendar.h: e360220586bcd0c3ea93b610bf4fe202
-include/unicode/caniter.h: f6de1e31cdc53563f35b093f8f8a07d8
-include/unicode/chariter.h: d6030b3dffd5355f9377318f76dd69de
-include/unicode/choicfmt.h: e86083f42af655ca0806ce1ed3dc55a0
-include/unicode/coleitr.h: 9a393483da6d9daae0bf18dd997abcfa
-include/unicode/coll.h: 06d3855e97984cd27579ec69b1985cc1
-include/unicode/compactdecimalformat.h: d1cca4ce6027a3d42a29b55e9ce0b82c
-include/unicode/curramt.h: efd2919661fe8dbc23f6b0f5bd33e685
-include/unicode/currpinf.h: b3cf75cd234ec080a7fee08e20906be6
-include/unicode/currunit.h: f8b67c06aa5547b9911378f39e70bc5d
-include/unicode/datefmt.h: 034fcd313ba7753923be9b30833ff13e
-include/unicode/dbbi.h: 3435ff244bdf7d248fa81c8162f6da9c
-include/unicode/dcfmtsym.h: e4935f31b8f97b149fa686a9996f6758
-include/unicode/decimfmt.h: e4fcfcfcb4bb45e7935cec1ec41ba359
-include/unicode/docmain.h: 81c20148681a5d7598d33fe1e49f3c5b
-include/unicode/dtfmtsym.h: 4a7ee444945513d0939376634f42d0ec
-include/unicode/dtintrv.h: 9d0929775a3d4599f90020ffb304d66c
-include/unicode/dtitvfmt.h: d42ce527e4a5eb3138782d92acd97b88
-include/unicode/dtitvinf.h: c7cedf40b871f6d3c77cc013d06983f7
-include/unicode/dtptngen.h: b7e58f01d5e588371e22e55a2d255208
-include/unicode/dtrule.h: 9b687ce82b426bfd8b67f2a743f9114c
-include/unicode/enumset.h: 9b15421cfac73c8845562dc2eba0f2e9
-include/unicode/errorcode.h: 28c37140645dfa2f430cf531131a2cbb
-include/unicode/fieldpos.h: ae206bb308885c2dae6bd15792512e6f
-include/unicode/filteredbrk.h: 3d230ab55f28d50fbc5c7d391cd897d9
-include/unicode/fmtable.h: fe37b4f3f1862172fcf708a8913b5d90
-include/unicode/format.h: 637778c5df6458f3f90d6f87e7d6a694
-include/unicode/fpositer.h: 276908f795beea88cd9d3f6f43ff82b2
-include/unicode/gender.h: 05bdc8c839f568e55c1d5d57c034dd36
-include/unicode/gregocal.h: 165eb6c7ffe6d914240c4bc0a2d7e5e0
-include/unicode/icudataver.h: 6b463f7d991d4cf4b0278bda90d4419f
-include/unicode/icuplug.h: 2688326bbc6184edbfb04a9e398a363a
-include/unicode/idna.h: b7885800ec0092f7b0411810ef0a0150
-include/unicode/listformatter.h: 8e460de80d6cb5701b3fcc2a3e704c14
-include/unicode/localpointer.h: ef6f8ec1d09bcfd660632f2df08c8d30
-include/unicode/locdspnm.h: df688f9f85fa7927b037811db0a5a934
-include/unicode/locid.h: 7d2c34577acdb5d7372ab35b02068581
-include/unicode/measfmt.h: fdd0cbd2a7f3af228f25560a3f63c4ad
-include/unicode/measunit.h: 54bcc9c8bd45f4d61baad1ecfda8874d
-include/unicode/measure.h: 3a03dc0bc233874de9b869a64a057835
-include/unicode/messagepattern.h: e3ae4457660d55835e42d88c3338a661
-include/unicode/msgfmt.h: de76868b18a099b367a685c31c0a14d8
-include/unicode/normalizer2.h: 0b96e4e3fe2db9df3ea140dbbe8ea140
-include/unicode/normlzr.h: 850f123dce4120db36601bcd4a77e925
-include/unicode/numfmt.h: c45e7b584738ae545937b3431a7e97b7
-include/unicode/numsys.h: 3b40734e737a0328f7c63124f07727e4
-include/unicode/parseerr.h: aa97d4d0cb5ef66baf1652c46223a81f
-include/unicode/parsepos.h: 408632c4f4a0ec42811b50295be88ec9
-include/unicode/platform.h: fceecfa20a56af2a62a310d3d9fd1b14
-include/unicode/plurfmt.h: 06a5b724a0cdc04673d2467002605b50
-include/unicode/plurrule.h: 19d8e5c3f59ac4a833883da7fc52279c
-include/unicode/ptypes.h: 93226b56866b0001f58f0319e430da08
-include/unicode/putil.h: 12979acdf705cac063a0f7862a20907b
-include/unicode/rbbi.h: f0fe0af5306ea31bcb128a57dad17785
-include/unicode/rbnf.h: fa3ee91ae518f46628171c5eda544702
-include/unicode/rbtz.h: 76eb867d186e64e6bd425561d9371d7d
-include/unicode/regex.h: 3ef7c102b12d3167fa019d203f524ec4
-include/unicode/region.h: 149a3b19b81a6e9093cb40f63a688fe7
-include/unicode/reldatefmt.h: 0f38d6b83c8a59898e4b546bd00bb459
-include/unicode/rep.h: 5fa4336c1302e276e81d2716a9789511
-include/unicode/resbund.h: 8c9bf16c940d2fa6d27e92b4b9023b1c
-include/unicode/schriter.h: fcb1bcf67285e897acf621e937b13010
-include/unicode/scientificnumberformatter.h: 0f0c586dcb3cb2d59c10f9a42490e81f
-include/unicode/search.h: ddfee95357399f1840854929715a99f3
-include/unicode/selfmt.h: cf18d9ce0e01636d74c14aac25dea995
-include/unicode/simpleformatter.h: aa8128e6a7368689e974552143be3c55
-include/unicode/simpletz.h: 0c847bdd492d23c7d78993e03d8364b8
-include/unicode/smpdtfmt.h: 19192d367d28f9812c71588222331218
-include/unicode/sortkey.h: 323299d4a40734274de910e74e6b7714
-include/unicode/std_string.h: e019f8e200de712588502817a22e5049
-include/unicode/strenum.h: cece8736aaa78de5edb80b2d8bcf2339
-include/unicode/stringpiece.h: 707434771237dbc6467f49aebc26f7f7
-include/unicode/stringtriebuilder.h: 251396f1c130290458da7553cca598f6
-include/unicode/stsearch.h: 70a69561b21c1a8e14f7d1a4e0760392
-include/unicode/symtable.h: dd632a7e27832b5992d4a54205c599c4
-include/unicode/tblcoll.h: 95b69fba4fd024406b9e4d991f1ad7c7
-include/unicode/timezone.h: 3e88d71098f36369b9892baff81c603c
-include/unicode/tmunit.h: b946f43e7c8bec8aa50ddd6120671446
-include/unicode/tmutamt.h: e67a0e5e8b642aee17578411d554bcc2
-include/unicode/tmutfmt.h: 9d7e425317331c3ed890cefb0f654004
-include/unicode/translit.h: 9eb1419219ba781ff4653b4983a4e33c
-include/unicode/tzfmt.h: 31ad89c49cc59da450befd0a9c2cee84
-include/unicode/tznames.h: 72003f95cbf6b2bb6acc12d3b4b3f41a
-include/unicode/tzrule.h: 6416905b7247c15c939cc0e2d32a6510
-include/unicode/tztrans.h: 223b5af929e494c1894c6a24e8685f44
-include/unicode/ubidi.h: 66179ab0b99a5d356dba19e14eb5ecd3
-include/unicode/ubrk.h: 117eb54e39da5ce3dba2c9679707b0b7
-include/unicode/ucal.h: 70b7c32899132549a87577d2e96d8b75
-include/unicode/ucasemap.h: 1f64f081f3d1ee03e17d9cebb4b39c34
-include/unicode/ucat.h: 7420c409443c281d0396a824f7ce954c
-include/unicode/uchar.h: 6049da45cae06c38009809cd701e8fc8
-include/unicode/ucharstrie.h: cdd315664d45ceeb931f740427eba956
-include/unicode/ucharstriebuilder.h: 08b57db9db7ec6c83a727b4e7e93a84c
-include/unicode/uchriter.h: 26aecb73ed6c3b66d45920b6edc82e94
-include/unicode/uclean.h: 220a7ed9637f6d08844892406ee12fd7
-include/unicode/ucnv.h: 90e6635683216cf04e9e51c7793cce02
-include/unicode/ucnv_cb.h: 29d1534d54197074136641f9e73bca3a
-include/unicode/ucnv_err.h: 0b8f3b01f733daf5fa2bab7d0c77a83f
-include/unicode/ucnvsel.h: af61d762e6c51d92c6191a6234eba4c0
-include/unicode/ucol.h: 5794231873c0168366cac78abd7b9ba8
-include/unicode/ucoleitr.h: 2960fa61e49001636797afbc1cbd3e61
-include/unicode/uconfig.h: 2bc6d6073763aa34555775d5868dec4e
-include/unicode/ucsdet.h: 77f79ed197997607ad82834cddcecee3
-include/unicode/ucurr.h: 4e010cfe5251e583c06597df3dbbd7c8
-include/unicode/udat.h: 03876d47a6da7ae776311f580635c003
-include/unicode/udata.h: ca1f4a55a240ea9586f2cca1ea4764c8
-include/unicode/udateintervalformat.h: 6f55cc14a063de8c79b74a7316d93e6f
-include/unicode/udatpg.h: fd44f3f982452c68cdf6b1f3b159f068
-include/unicode/udisplaycontext.h: cdd37d6941337b96a75801e0716ca045
-include/unicode/uenum.h: 0f39322455d626debaf0bbe476a77c54
-include/unicode/ufieldpositer.h: 68ae4017d10f71b84083c24b2e09b536
-include/unicode/uformattable.h: 257f1dd17c788b7f5eab9ee3627f654c
-include/unicode/ugender.h: be7155c7b25e2a7b7ea4d22ffc939557
-include/unicode/uidna.h: 851038bc78b135bf99c65dd0648e78f7
-include/unicode/uiter.h: 8e6b6197795cb2d42f8c80922d28ccf2
-include/unicode/uldnames.h: 8545429414195c42ee9a05694540bd8d
-include/unicode/ulistformatter.h: 56cc2f8025387fcb18422300373a6e47
-include/unicode/uloc.h: b048d6c8e26ed8a65d0403d90ea4081c
-include/unicode/ulocdata.h: 0803ed6ac97fbf4a10c3ca436f903fb2
-include/unicode/umachine.h: 8946d5b383646c9de9fc8c84eb0456fd
-include/unicode/umisc.h: 3f34c9d536fdd5d4fddca2cf952bcfaa
-include/unicode/umsg.h: 8880b14654d63c6e78a50d8f569b2766
-include/unicode/unifilt.h: 3b0368ea2da9a503aa47803e395b513e
-include/unicode/unifunct.h: 3d37601bd3ae27b4e51431713d9f7533
-include/unicode/unimatch.h: e1a18096e0c7c7220c5c9149cd2d184c
-include/unicode/unirepl.h: 7f1973a960a652ff74fa63e21969bab9
-include/unicode/uniset.h: fa3cfc8b4883a69120bf35e65f5d75ec
-include/unicode/unistr.h: 975e37994ae2d3197a86284f1bdacdf3
-include/unicode/unorm.h: a04a23023daa99571ef2b7edca9dc6d2
-include/unicode/unorm2.h: 5ab66d75a9251a8df00f2075128ab010
-include/unicode/unum.h: 6e24b3d63e65f4d0a3076d33708a96d7
-include/unicode/unumsys.h: d239b6c2f97f51c221fcd66865adbaf9
-include/unicode/uobject.h: 07ebe875a9d304f71f525d2a71b20ddc
-include/unicode/upluralrules.h: d9a66886a7585743cc8abe54af8e5955
-include/unicode/uregex.h: 6eb3c76e7d6fa2fed34b77f7fcc5cc85
-include/unicode/uregion.h: 0819c20dc8e0b5aebc5ec527828f565e
-include/unicode/ureldatefmt.h: 057a6220b33c1c81e0cebc9a5da40929
-include/unicode/urename.h: 73c3a4cd707c1549f27341c859b099bb
-include/unicode/urep.h: dc3eaf59ed5c198facce9f4a97a79ecf
-include/unicode/ures.h: 6b374e2d473dfab51bcf7306c46f9eb6
-include/unicode/uscript.h: baaefbb5a6c5e251da2bb1800626d9e4
-include/unicode/usearch.h: 3e51b12fdf6a1adfc4696946ac0a4b6c
-include/unicode/uset.h: 62d5813111f8391b4f616da08802aa24
-include/unicode/usetiter.h: 6baeb6276d80be18739355f9549b38e7
-include/unicode/ushape.h: f87732f736df2bbb90d46a10779876e7
-include/unicode/uspoof.h: a6510014653e0576fcf39c9dfd74f955
-include/unicode/usprep.h: 4ea1ec6a6d4fcbf2c1a239f23873da98
-include/unicode/ustdio.h: 0fd603db4b22ee783b7298e61be990b8
-include/unicode/ustream.h: 7d0c8f8409f683d2b1044537db4be8bf
-include/unicode/ustring.h: 49c56a6248a7c92ee93a11331d2a6364
-include/unicode/ustringtrie.h: 08470063002ce9a8df978481b0d5588d
-include/unicode/utext.h: c83e4d6390b463b28168cf90a734966e
-include/unicode/utf.h: 0d1807bea996ca42bad86a938ba69453
-include/unicode/utf16.h: b376232af20fa9f77c983c6cc91800cf
-include/unicode/utf32.h: ed15f0927cec48cab1922d08e1fdcce1
-include/unicode/utf8.h: 0d3fb609e35e2c67dce1a4889973bebd
-include/unicode/utf_old.h: fce92682d7539e0fde301c54ef9e8760
-include/unicode/utmscale.h: 267dcde091ed1b81f03b1fff49c05e69
-include/unicode/utrace.h: 25f64a4cd8fc8a13bdfadd59bb287d49
-include/unicode/utrans.h: cc28e262a704403f38c26becae727165
-include/unicode/utypes.h: 21e5e8cc7dc66bdb83f70971bed1a5e4
-include/unicode/uvernum.h: d878c9e384487c8668c122712134c0f1
-include/unicode/uversion.h: 140b36fa9bffd2cb2b1c7f02691923e6
-include/unicode/vtzone.h: 90e065183436be0a94918465f66be863
-lib/icu/57.1/Makefile.inc: 51df1179cc12274af810405a09627a85
-lib/icu/57.1/pkgdata.inc: ea5b004208a38d31072631debf2820c5
-lib/icu/Makefile.inc: 51df1179cc12274af810405a09627a85
-lib/icu/current/Makefile.inc: 51df1179cc12274af810405a09627a85
-lib/icu/current/pkgdata.inc: ea5b004208a38d31072631debf2820c5
-lib/icu/pkgdata.inc: ea5b004208a38d31072631debf2820c5
-lib/icudt.dll: 008d9b3a7b34c3cfcf90b3314a998db9
-lib/icudt57.dll: 008d9b3a7b34c3cfcf90b3314a998db9
-lib/icuin.dll: 2dad9816f0d70e640435604dea7a02ca
-lib/icuin57.dll: 2dad9816f0d70e640435604dea7a02ca
-lib/icuio.dll: 5d8d3f8556adf2c4c1508dc7fd30c9d5
-lib/icuio57.dll: 5d8d3f8556adf2c4c1508dc7fd30c9d5
-lib/icule.dll: 7711d0ed1ab71d54a13d6146a44100a0
-lib/icule57.dll: 7711d0ed1ab71d54a13d6146a44100a0
-lib/iculx.dll: 8f9829ecc0917da35df6ac1b95867ea8
-lib/iculx57.dll: 8f9829ecc0917da35df6ac1b95867ea8
-lib/icutest.dll: c58029e6799efbd6dd809665bc243661
-lib/icutest57.dll: c58029e6799efbd6dd809665bc243661
-lib/icutu.dll: 6f76dea90ce1d6e7651471dbb9c15e09
-lib/icutu57.dll: 6f76dea90ce1d6e7651471dbb9c15e09
-lib/icuuc.dll: 6d770a12bdeee63da045a1030abdbaa1
-lib/icuuc57.dll: 6d770a12bdeee63da045a1030abdbaa1
-lib/libicudt.dll.a: 2a9bd71e462b4b914efc91907d7928f1
-lib/libicuin.dll.a: 5cfe05e08eca003163f3e5765e5b4c58
-lib/libicuio.dll.a: 2bdacffc519030a8d4188f83fdc81fd1
-lib/libicule.dll.a: b1fb12fb94759dd8a38d5abfa6f4ad21
-lib/libiculx.dll.a: c15e32fd0a5f9239be1370e557e1050b
-lib/libicutest.dll.a: 14cd311813f51ce75b0d0989372ed3d9
-lib/libicutu.dll.a: d3357b6836a2d24f1f9786efc195e3f1
-lib/libicuuc.dll.a: 09afc25669dd4526dfe794a8cf9428a3
-lib/pkgconfig/icu-i18n.pc: 92c5e21b66b1c1103f95f3f24aba8407
-lib/pkgconfig/icu-io.pc: 7202507898b19d39e47af89913d2e48b
-lib/pkgconfig/icu-le.pc: aecca7de6d94cd8fcea30f61818c3436
-lib/pkgconfig/icu-lx.pc: e3b92f49261a56c6fa42999929e0b614
-lib/pkgconfig/icu-uc.pc: 3c15a1901d200540ea9737e69473f721
-share/icu/57.1/LICENSE: 787d3b37867445c1cdd6f6167bd0e347
-share/icu/57.1/config/mh-mingw: fba135252f1f3bf3c41d9601239b91d6
-share/icu/57.1/install-sh: 5afe8eb5573965dfb58378e4e46f3813
-share/icu/57.1/mkinstalldirs: 7484dc240ad83e9908bed6d968fda871
-share/man/man1/derb.1: dd6ef195449ac6d5b737f593da48c645
-share/man/man1/genbrk.1: d582931cc6be22153312b877dfa10bda
-share/man/man1/gencfu.1: 122f19c9001531b553d26d0df3daf5ff
-share/man/man1/gencnval.1: 8e91c767edcfa124b530839d6773b186
-share/man/man1/gendict.1: c5bf41dd6f865bc6efec54e308ed3e2b
-share/man/man1/genrb.1: 0334a4504849157d50d1dfc088857b90
-share/man/man1/icu-config.1: 669e5783bf5465d9828a8bee9af55257
-share/man/man1/makeconv.1: 454b0e32760b4ceb61c8b3d2ee16e989
-share/man/man1/pkgdata.1: 715020d492a3550929754c1a0df2e39c
-share/man/man1/uconv.1: 80d9754f424b0468e719cc6616ba669d
-share/man/man8/genccode.8: 47e0d56719f899919197ed154699910b
-share/man/man8/gencmn.8: 666145011f4bdf0bd47178a93c94b710
-share/man/man8/gensprep.8: 1362b0c31dfa738c82a50fe8b7bec4d1
-share/man/man8/icupkg.8: dc12cc909e8e17758fda0ce8d241eefa \ No newline at end of file
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/export/conanmanifest.txt
deleted file mode 100644
index b7d5c80b..00000000
--- a/coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/export/conanmanifest.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-1499107210
-conanfile.py: 3efebe46ba6af17316bd4e2a6fffef0c
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/package/970e773c5651dc2560f86200a4ea56c23f568ff9/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/package/970e773c5651dc2560f86200a4ea56c23f568ff9/conanmanifest.txt
deleted file mode 100644
index 888563eb..00000000
--- a/coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/package/970e773c5651dc2560f86200a4ea56c23f568ff9/conanmanifest.txt
+++ /dev/null
@@ -1,187 +0,0 @@
-1499107660
-bin/icudt59.dll: 2a60bfe06670d8605ae7fc97c4ec2db7
-bin/icuin59.dll: d0a46fdd146a1bd68dde8bcb6b019470
-bin/icuio59.dll: 1fb60d06bcb4a5811e503a679b28dd67
-bin/icutest59.dll: 71bd203b8b2b930ca35240937c0f5429
-bin/icutu59.dll: fb0e6e2ee5c12c4809007747fcc23ad4
-bin/icuuc59.dll: 405d599ca8b2fbf78e6efeda65fdfffb
-conaninfo.txt: b0fbb0ff195375b137bed8cc0921caad
-include/unicode/alphaindex.h: c4e73b7d46eacc8fa67691e4dd0b5ecc
-include/unicode/appendable.h: deea01996ebb26600e2dde91ed196395
-include/unicode/basictz.h: 01cabd21915d2cee7d2ef7787240e8f2
-include/unicode/brkiter.h: 03b569a42e7dae96c0c86ad2c8d3bd00
-include/unicode/bytestream.h: 61e720935437b6830d58b216918552d2
-include/unicode/bytestrie.h: b61efc3e639298f2a6c19fec6d0622f5
-include/unicode/bytestriebuilder.h: 62d2640165c997f0abe27994f59318e3
-include/unicode/calendar.h: 759cbc7bd35d6efc0a4976dd753eb485
-include/unicode/caniter.h: 330f1b6de404cfb24479f009926890f2
-include/unicode/casemap.h: 61bbc0c334ada3bea9920815ce033de4
-include/unicode/char16ptr.h: 06b3963db87be73f87dac310136fc58c
-include/unicode/chariter.h: 362ade4f54a9fa6f1c845078440e2b03
-include/unicode/choicfmt.h: b12a447a93d96d3a6080c978dfdecdb4
-include/unicode/coleitr.h: f03e36876d1a9829eae20fab28f32d6a
-include/unicode/coll.h: 7d6cddc98e3227bd2277afa6d7793a50
-include/unicode/compactdecimalformat.h: b3bdc4cc4ea3b3af9a930614ef68db37
-include/unicode/curramt.h: 323107674df349a27d624663757447e4
-include/unicode/currpinf.h: 18f3f5825fd0511a670d7eff90201719
-include/unicode/currunit.h: 4b1c4900fd9cee8de157f549cf8d47f0
-include/unicode/datefmt.h: c07976e59ac1c1c08c98bf9d4e4c3587
-include/unicode/dbbi.h: db0a5e6e9dd092466fbbe21e949e4820
-include/unicode/dcfmtsym.h: eafe4061e7fad4ebe1a3a11ea219c12b
-include/unicode/decimfmt.h: fec30b356bf6a646a172977caf2678ee
-include/unicode/docmain.h: 49875d4c4b781f05d1c51668c74b94bb
-include/unicode/dtfmtsym.h: 4fec8e6662b9914a8d99b2a75ce75a5a
-include/unicode/dtintrv.h: 05a46fbf5f15b7bb2ba59f44814ac095
-include/unicode/dtitvfmt.h: 5c42410d99e25e140d8e84af39139512
-include/unicode/dtitvinf.h: e7eddd3476b1aadb8bb17350985081d6
-include/unicode/dtptngen.h: 4edbf8188c936b808141a17e24f6c17e
-include/unicode/dtrule.h: c0ad9c5a662d96a067b3687c6b788fd6
-include/unicode/edits.h: 0d3660bc8cb14c5e78bb0fba7438e184
-include/unicode/enumset.h: 488a530c2f5d1727105b317bfb38ffab
-include/unicode/errorcode.h: 200ad3b02dcd2eda1545afa64f26211d
-include/unicode/fieldpos.h: 7b200989ccaf13e87506ff8a9a8352c1
-include/unicode/fmtable.h: ef9c81283b88d29b6b77d2c68896d166
-include/unicode/format.h: 21bfd1ffede54a82d257a30f623ae117
-include/unicode/fpositer.h: 0b8be269e646080334eb0db252708fa1
-include/unicode/gender.h: f76ef0004a630139b9636327e22f52cf
-include/unicode/gregocal.h: dadf449275698c6eb227c86c90c84f5b
-include/unicode/icudataver.h: 64966d178a3ba96a36698afd0c9033ac
-include/unicode/icuplug.h: 1a4b0dfe535992811342f87165dfc128
-include/unicode/idna.h: 935119343007e6e8267e34d3217e73ef
-include/unicode/listformatter.h: 454de478acb396e0646bc756226986b0
-include/unicode/localpointer.h: 032493d057b13fcc5d7d264ec1349ecd
-include/unicode/locdspnm.h: 75098c2fc6615d040e8b5204e27918f8
-include/unicode/locid.h: 34733130bd4387fa544d6761034a0955
-include/unicode/measfmt.h: c289038b60c170659cec114a06b75ec4
-include/unicode/measunit.h: 9f937c7b82e74afdf577427e5abef253
-include/unicode/measure.h: 907a564bb50d5a3b3de69b61a095ac49
-include/unicode/messagepattern.h: ddb001f5da316149ced07415fddfbbe1
-include/unicode/msgfmt.h: 92fdcc17d1cc5be345a65b9c5028b814
-include/unicode/normalizer2.h: 1f8ec62f9f338f429627c61fb797d12a
-include/unicode/normlzr.h: 1acf5026f3c915a30405c961c5045f51
-include/unicode/numfmt.h: 2e869d45a97e3366930352561becf1f7
-include/unicode/numsys.h: 966281097c9a71c7ce80de4738bbaf4b
-include/unicode/parseerr.h: 82430679207228ecccebf2ac9a0dc226
-include/unicode/parsepos.h: d465f317154c05dae43efe1975c2254b
-include/unicode/platform.h: 8ccf4dfd92fdd1d8076ed97a83f4ff0e
-include/unicode/plurfmt.h: 7f33dc3d5b6c677e920b388e66688d6e
-include/unicode/plurrule.h: efb1059c8f408ab3df8a355625aa91ac
-include/unicode/ptypes.h: c124ecdb51748de2a5900c42f64fa33e
-include/unicode/putil.h: f594f056f0e8fa7e7d2ee9e3772f1465
-include/unicode/rbbi.h: 10e5ea07511aad18458a2bb59c302fce
-include/unicode/rbnf.h: 46a62b91bbf605d0fc90de27c0c28ade
-include/unicode/rbtz.h: 6adc59fe9f2ec0203fad1bb291ceb2be
-include/unicode/regex.h: 2e5c4264f79b43bc754a558f5d9ef81d
-include/unicode/region.h: 9975298932902d63b823382424ecb04f
-include/unicode/reldatefmt.h: fe0bf48d5fae4130b3e1d97da05b8147
-include/unicode/rep.h: ad2f3d61aabf5507f9670e17adc4f3e0
-include/unicode/resbund.h: 2e5313c39e2d8e644fefb5fda9830032
-include/unicode/schriter.h: 10ebc14456ec8a08190a1d8484d865c8
-include/unicode/scientificnumberformatter.h: 19c921c0a75274bdd13ae9e70354b9b9
-include/unicode/search.h: 3a213657ab777b638423df43e775ead6
-include/unicode/selfmt.h: f31478edaee06e562fc70fe4bffb39f7
-include/unicode/simpleformatter.h: 32f8edf8033ddcd3d89560aca235d2b1
-include/unicode/simpletz.h: b38692fd7ed1ecd8474412602bb43a7a
-include/unicode/smpdtfmt.h: 0cddd4d1f197beddae2bf6d6e569b414
-include/unicode/sortkey.h: 76daf42075f7fdeeb06215922144bd87
-include/unicode/std_string.h: 57499f3b70cb13b85da38ecaed834924
-include/unicode/strenum.h: e23cde5594426e607d37d59252ed7542
-include/unicode/stringpiece.h: 2c7657b53e2cd414c5dc2aac429e8be9
-include/unicode/stringtriebuilder.h: 596067734fd5ecbf08ef1a5b29f7c521
-include/unicode/stsearch.h: c75b420ffcf6cb64c1c70fbdce1ec303
-include/unicode/symtable.h: aaa0d4278cc7c873390133c81319afe4
-include/unicode/tblcoll.h: 593c21ed8376bcfab87993dfdb24f579
-include/unicode/timezone.h: e0b13f33042ae96d152da2dfac53895a
-include/unicode/tmunit.h: 47bad5bb37ad95cf4aa966962f672247
-include/unicode/tmutamt.h: 7e216295ad757e1e7050a27b4cbb04c4
-include/unicode/tmutfmt.h: 3e66e10feff34abe4f606c544bf56a98
-include/unicode/translit.h: cd5eb1480620fe72661af2c5420030c7
-include/unicode/tzfmt.h: cc77e978689ef62e83fbf50297da7068
-include/unicode/tznames.h: fc0fd902a3ab39c3ecd5376affa3e091
-include/unicode/tzrule.h: adc2e3690a81499fa482f09a7c891e3a
-include/unicode/tztrans.h: ddc16397303c7c3a6cdb51d6cae76c9c
-include/unicode/ubidi.h: 3c3447aff91ca3aba39294f283fc0a83
-include/unicode/ubrk.h: c4d61d02474b921b6deabf19730f2d93
-include/unicode/ucal.h: 85fbc0a93c781ff4f283abf56213548f
-include/unicode/ucasemap.h: bbc08907ca608e090dd2551dae7f5063
-include/unicode/ucat.h: 9887bf7cefa89c96630bcd3757663ec0
-include/unicode/uchar.h: d0caa0cad8f0760769e7269c8e27b2f0
-include/unicode/ucharstrie.h: a831881a1c5f601a27a96107a9c93b40
-include/unicode/ucharstriebuilder.h: aab813b785d803391adad3e89eae430b
-include/unicode/uchriter.h: 26dfb5f728be01852cb52402fc018235
-include/unicode/uclean.h: 7b7b73a66324b026c775cf2f467108f3
-include/unicode/ucnv.h: 8925fbf6e9921bf45b485c31ee4124ed
-include/unicode/ucnv_cb.h: 2132a185faeb5cd603344098e4f685f5
-include/unicode/ucnv_err.h: 641fb44cae3f286f307ce2e445b3589f
-include/unicode/ucnvsel.h: 5f129128041b8ec652fa13bc007c7168
-include/unicode/ucol.h: c1ae405a33aca9786cf4125a7ea30854
-include/unicode/ucoleitr.h: c5f7f5720c58a63df5277f4c275813f7
-include/unicode/uconfig.h: 9cd76a9d2008c77116c1e3d34cd5c20f
-include/unicode/ucsdet.h: 84999c29e225c4d11a89e2c691892c6a
-include/unicode/ucurr.h: 22ebc57d60d31ca6e5be08b5dcfabb36
-include/unicode/udat.h: 4fceb68710dfed43778da6b5dabf5b81
-include/unicode/udata.h: 8ffc7d27c431eaa31709bed2450b1987
-include/unicode/udateintervalformat.h: ec7b522f7376efc94280461a798e122e
-include/unicode/udatpg.h: c13609bba2d9cdd91475c80f2934e8b9
-include/unicode/udisplaycontext.h: d85a18d600e97fcdbb4177583633e20b
-include/unicode/uenum.h: 9f0843888060124393c5b6d3ac1d0494
-include/unicode/ufieldpositer.h: 9a2caec923d0bbc2c167e17a42e2ff74
-include/unicode/uformattable.h: 5a52db48b81c8e2d770353f347c64d1a
-include/unicode/ugender.h: 23ec9fe7670c419c57462625cc2afaee
-include/unicode/uidna.h: ffd28dd05da8ad3813d2d41b1f01c517
-include/unicode/uiter.h: 50847b964f6fb474e0290150338c9f27
-include/unicode/uldnames.h: 6fba02d8cd519586d066c4f4e5eb1640
-include/unicode/ulistformatter.h: 2d9feb1e057219dd43898dc23da7e476
-include/unicode/uloc.h: 03e3d991937d286c75e3206c5494646e
-include/unicode/ulocdata.h: f282e04c22e0616817a04f80f536f688
-include/unicode/umachine.h: 1d6f3281c1b8a8eb9ba4dbd670d6af7c
-include/unicode/umisc.h: c0dc3caac921970252ee4bbc1bddc43a
-include/unicode/umsg.h: ed50cc36346ea063fd3681385064ead3
-include/unicode/unifilt.h: 6e228f15b2fa8f564abb51500674d72b
-include/unicode/unifunct.h: a9f9e469e946e88a9c64919c468e5d62
-include/unicode/unimatch.h: 6c2cbf80f1f605b165bebc5ae8e12aaa
-include/unicode/unirepl.h: a021ccf09bb715625b9677bdc7700584
-include/unicode/uniset.h: 501821f127cc093433327c44909a7575
-include/unicode/unistr.h: 7dfa9c3626c3dcf71390eb50b57a3716
-include/unicode/unorm.h: 39bbe48ae8534029dab7f097188c8b31
-include/unicode/unorm2.h: eb8b5bb935701284a4480a2facb7f0b8
-include/unicode/unum.h: ac906837bfd6caac1259c6f7913b94a2
-include/unicode/unumsys.h: dfc4fd29fa10dea8de5981a79badf4ec
-include/unicode/uobject.h: 7cd3e374dd78321b69313bc3f416ed4c
-include/unicode/upluralrules.h: f2b80b6b9a9ea8edae1aba78830f4789
-include/unicode/uregex.h: bf69ecde49c5418db27194cdad8ee0ff
-include/unicode/uregion.h: 6d72ea56f92d9da81cc8b3e8d47a3f04
-include/unicode/ureldatefmt.h: 480530556bbe46fbd5996fa86a878b98
-include/unicode/urename.h: 0685d5314e8537121559a98ef7a143c4
-include/unicode/urep.h: 04cce4d1e9a074179ec8e7ba6f5f02ee
-include/unicode/ures.h: d9d89fedbe10df5011c03a8238572e07
-include/unicode/uscript.h: acd32dac19000101a28b81eeaec612e8
-include/unicode/usearch.h: afd9eb69236e27449e7249264bfeae56
-include/unicode/uset.h: 69481ff3106e5b8cc6f36cfa3c23225a
-include/unicode/usetiter.h: 3b9ae44eb5a47ce6e20ed00fc45c0cb6
-include/unicode/ushape.h: 1f89bcc0f93cb5df8059e8a2717009a7
-include/unicode/uspoof.h: 140a8c6518698a56c917d18ef6dbd2b7
-include/unicode/usprep.h: d4a57d01cb61f594c84c3fffac8a87d5
-include/unicode/ustdio.h: 7d32dbc31f136ce97096cd25429dceef
-include/unicode/ustream.h: 211a3e48dbe1921522d956bef0747361
-include/unicode/ustring.h: 12b77389aad7d0b76c86d405566840a9
-include/unicode/ustringtrie.h: 08f062a843c6bf78d8d95b1ba566d6ec
-include/unicode/utext.h: a8cf1115720b99ca855918f92343ce8b
-include/unicode/utf.h: b7827e05a4bc90b9ca27ab14491ca1bd
-include/unicode/utf16.h: 4447226555e524f4c0f596c197ae65d5
-include/unicode/utf32.h: 076c1d2025d949556d976b9e6aa01410
-include/unicode/utf8.h: 3afe43776eb2e8d3448551c9a6996a12
-include/unicode/utf_old.h: 0c46b30f4140adf50fe9ed350815a0d8
-include/unicode/utmscale.h: 8ea13d3120de87b49a240014ecfdce7f
-include/unicode/utrace.h: 0216d0e5e1e1e10e014f3a8882fa0760
-include/unicode/utrans.h: 25231668b49b0de8ca1db79ff0f348d8
-include/unicode/utypes.h: a3c935253e46b4c313b0ee58cadcd04d
-include/unicode/uvernum.h: 8044bea1ca820f40b1e82b2ae5cbfbfa
-include/unicode/uversion.h: b3e0658e920f56306839af39fa5f35b7
-include/unicode/vtzone.h: 138782b1f4177e15964c21e7e8cb21d3
-lib/icudt.lib: abf4c53a45afe7fe2232b7461db1f39c
-lib/icuin.lib: 469731f3bb6c6c483a42168a9afff5fc
-lib/icuio.lib: 62eebc954d46dbf22cf7e838f8bf0292
-lib/icutest.lib: 2dfda9f30ee5cd92c8e9752f19f1311f
-lib/icutu.lib: 2ddf814a788e2fb77a9d06f38142a3ce
-lib/icuuc.lib: 140e4ca5bbf6f88f504a2fd4bfafdd1d
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/package/c85f9b402dd4d46acdf074e1c63b768a41181d7a/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/package/c85f9b402dd4d46acdf074e1c63b768a41181d7a/conanmanifest.txt
deleted file mode 100644
index 948bc2f1..00000000
--- a/coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/package/c85f9b402dd4d46acdf074e1c63b768a41181d7a/conanmanifest.txt
+++ /dev/null
@@ -1,187 +0,0 @@
-1499329586
-bin/icudt59.dll: c23a39dad5b1810d53b142a79dd8040e
-bin/icuin59.dll: c6904963eefd97137dd301db55c28f52
-bin/icuio59.dll: bd28d124d21c1aff1b77de11ef952447
-bin/icutest59.dll: e59aadd25c91d6b21fbdca3f18c0f3c3
-bin/icutu59.dll: 2256b957799e3816cfaedc6871f0be90
-bin/icuuc59.dll: 9a9c7f35b1fa2f93e557710e89eede8a
-conaninfo.txt: 830576b304c6027b1312b1ed5165bd4b
-include/unicode/alphaindex.h: c4e73b7d46eacc8fa67691e4dd0b5ecc
-include/unicode/appendable.h: deea01996ebb26600e2dde91ed196395
-include/unicode/basictz.h: 01cabd21915d2cee7d2ef7787240e8f2
-include/unicode/brkiter.h: 03b569a42e7dae96c0c86ad2c8d3bd00
-include/unicode/bytestream.h: 61e720935437b6830d58b216918552d2
-include/unicode/bytestrie.h: b61efc3e639298f2a6c19fec6d0622f5
-include/unicode/bytestriebuilder.h: 62d2640165c997f0abe27994f59318e3
-include/unicode/calendar.h: 759cbc7bd35d6efc0a4976dd753eb485
-include/unicode/caniter.h: 330f1b6de404cfb24479f009926890f2
-include/unicode/casemap.h: 61bbc0c334ada3bea9920815ce033de4
-include/unicode/char16ptr.h: 06b3963db87be73f87dac310136fc58c
-include/unicode/chariter.h: 362ade4f54a9fa6f1c845078440e2b03
-include/unicode/choicfmt.h: b12a447a93d96d3a6080c978dfdecdb4
-include/unicode/coleitr.h: f03e36876d1a9829eae20fab28f32d6a
-include/unicode/coll.h: 7d6cddc98e3227bd2277afa6d7793a50
-include/unicode/compactdecimalformat.h: b3bdc4cc4ea3b3af9a930614ef68db37
-include/unicode/curramt.h: 323107674df349a27d624663757447e4
-include/unicode/currpinf.h: 18f3f5825fd0511a670d7eff90201719
-include/unicode/currunit.h: 4b1c4900fd9cee8de157f549cf8d47f0
-include/unicode/datefmt.h: c07976e59ac1c1c08c98bf9d4e4c3587
-include/unicode/dbbi.h: db0a5e6e9dd092466fbbe21e949e4820
-include/unicode/dcfmtsym.h: eafe4061e7fad4ebe1a3a11ea219c12b
-include/unicode/decimfmt.h: fec30b356bf6a646a172977caf2678ee
-include/unicode/docmain.h: 49875d4c4b781f05d1c51668c74b94bb
-include/unicode/dtfmtsym.h: 4fec8e6662b9914a8d99b2a75ce75a5a
-include/unicode/dtintrv.h: 05a46fbf5f15b7bb2ba59f44814ac095
-include/unicode/dtitvfmt.h: 5c42410d99e25e140d8e84af39139512
-include/unicode/dtitvinf.h: e7eddd3476b1aadb8bb17350985081d6
-include/unicode/dtptngen.h: 4edbf8188c936b808141a17e24f6c17e
-include/unicode/dtrule.h: c0ad9c5a662d96a067b3687c6b788fd6
-include/unicode/edits.h: 0d3660bc8cb14c5e78bb0fba7438e184
-include/unicode/enumset.h: 488a530c2f5d1727105b317bfb38ffab
-include/unicode/errorcode.h: 200ad3b02dcd2eda1545afa64f26211d
-include/unicode/fieldpos.h: 7b200989ccaf13e87506ff8a9a8352c1
-include/unicode/fmtable.h: ef9c81283b88d29b6b77d2c68896d166
-include/unicode/format.h: 21bfd1ffede54a82d257a30f623ae117
-include/unicode/fpositer.h: 0b8be269e646080334eb0db252708fa1
-include/unicode/gender.h: f76ef0004a630139b9636327e22f52cf
-include/unicode/gregocal.h: dadf449275698c6eb227c86c90c84f5b
-include/unicode/icudataver.h: 64966d178a3ba96a36698afd0c9033ac
-include/unicode/icuplug.h: 1a4b0dfe535992811342f87165dfc128
-include/unicode/idna.h: 935119343007e6e8267e34d3217e73ef
-include/unicode/listformatter.h: 454de478acb396e0646bc756226986b0
-include/unicode/localpointer.h: 032493d057b13fcc5d7d264ec1349ecd
-include/unicode/locdspnm.h: 75098c2fc6615d040e8b5204e27918f8
-include/unicode/locid.h: 34733130bd4387fa544d6761034a0955
-include/unicode/measfmt.h: c289038b60c170659cec114a06b75ec4
-include/unicode/measunit.h: 9f937c7b82e74afdf577427e5abef253
-include/unicode/measure.h: 907a564bb50d5a3b3de69b61a095ac49
-include/unicode/messagepattern.h: ddb001f5da316149ced07415fddfbbe1
-include/unicode/msgfmt.h: 92fdcc17d1cc5be345a65b9c5028b814
-include/unicode/normalizer2.h: 1f8ec62f9f338f429627c61fb797d12a
-include/unicode/normlzr.h: 1acf5026f3c915a30405c961c5045f51
-include/unicode/numfmt.h: 2e869d45a97e3366930352561becf1f7
-include/unicode/numsys.h: 966281097c9a71c7ce80de4738bbaf4b
-include/unicode/parseerr.h: 82430679207228ecccebf2ac9a0dc226
-include/unicode/parsepos.h: d465f317154c05dae43efe1975c2254b
-include/unicode/platform.h: 8ccf4dfd92fdd1d8076ed97a83f4ff0e
-include/unicode/plurfmt.h: 7f33dc3d5b6c677e920b388e66688d6e
-include/unicode/plurrule.h: efb1059c8f408ab3df8a355625aa91ac
-include/unicode/ptypes.h: c124ecdb51748de2a5900c42f64fa33e
-include/unicode/putil.h: f594f056f0e8fa7e7d2ee9e3772f1465
-include/unicode/rbbi.h: 10e5ea07511aad18458a2bb59c302fce
-include/unicode/rbnf.h: 46a62b91bbf605d0fc90de27c0c28ade
-include/unicode/rbtz.h: 6adc59fe9f2ec0203fad1bb291ceb2be
-include/unicode/regex.h: 2e5c4264f79b43bc754a558f5d9ef81d
-include/unicode/region.h: 9975298932902d63b823382424ecb04f
-include/unicode/reldatefmt.h: fe0bf48d5fae4130b3e1d97da05b8147
-include/unicode/rep.h: ad2f3d61aabf5507f9670e17adc4f3e0
-include/unicode/resbund.h: 2e5313c39e2d8e644fefb5fda9830032
-include/unicode/schriter.h: 10ebc14456ec8a08190a1d8484d865c8
-include/unicode/scientificnumberformatter.h: 19c921c0a75274bdd13ae9e70354b9b9
-include/unicode/search.h: 3a213657ab777b638423df43e775ead6
-include/unicode/selfmt.h: f31478edaee06e562fc70fe4bffb39f7
-include/unicode/simpleformatter.h: 32f8edf8033ddcd3d89560aca235d2b1
-include/unicode/simpletz.h: b38692fd7ed1ecd8474412602bb43a7a
-include/unicode/smpdtfmt.h: 0cddd4d1f197beddae2bf6d6e569b414
-include/unicode/sortkey.h: 76daf42075f7fdeeb06215922144bd87
-include/unicode/std_string.h: 57499f3b70cb13b85da38ecaed834924
-include/unicode/strenum.h: e23cde5594426e607d37d59252ed7542
-include/unicode/stringpiece.h: 2c7657b53e2cd414c5dc2aac429e8be9
-include/unicode/stringtriebuilder.h: 596067734fd5ecbf08ef1a5b29f7c521
-include/unicode/stsearch.h: c75b420ffcf6cb64c1c70fbdce1ec303
-include/unicode/symtable.h: aaa0d4278cc7c873390133c81319afe4
-include/unicode/tblcoll.h: 593c21ed8376bcfab87993dfdb24f579
-include/unicode/timezone.h: e0b13f33042ae96d152da2dfac53895a
-include/unicode/tmunit.h: 47bad5bb37ad95cf4aa966962f672247
-include/unicode/tmutamt.h: 7e216295ad757e1e7050a27b4cbb04c4
-include/unicode/tmutfmt.h: 3e66e10feff34abe4f606c544bf56a98
-include/unicode/translit.h: cd5eb1480620fe72661af2c5420030c7
-include/unicode/tzfmt.h: cc77e978689ef62e83fbf50297da7068
-include/unicode/tznames.h: fc0fd902a3ab39c3ecd5376affa3e091
-include/unicode/tzrule.h: adc2e3690a81499fa482f09a7c891e3a
-include/unicode/tztrans.h: ddc16397303c7c3a6cdb51d6cae76c9c
-include/unicode/ubidi.h: 3c3447aff91ca3aba39294f283fc0a83
-include/unicode/ubrk.h: c4d61d02474b921b6deabf19730f2d93
-include/unicode/ucal.h: 85fbc0a93c781ff4f283abf56213548f
-include/unicode/ucasemap.h: bbc08907ca608e090dd2551dae7f5063
-include/unicode/ucat.h: 9887bf7cefa89c96630bcd3757663ec0
-include/unicode/uchar.h: d0caa0cad8f0760769e7269c8e27b2f0
-include/unicode/ucharstrie.h: a831881a1c5f601a27a96107a9c93b40
-include/unicode/ucharstriebuilder.h: aab813b785d803391adad3e89eae430b
-include/unicode/uchriter.h: 26dfb5f728be01852cb52402fc018235
-include/unicode/uclean.h: 7b7b73a66324b026c775cf2f467108f3
-include/unicode/ucnv.h: 8925fbf6e9921bf45b485c31ee4124ed
-include/unicode/ucnv_cb.h: 2132a185faeb5cd603344098e4f685f5
-include/unicode/ucnv_err.h: 641fb44cae3f286f307ce2e445b3589f
-include/unicode/ucnvsel.h: 5f129128041b8ec652fa13bc007c7168
-include/unicode/ucol.h: c1ae405a33aca9786cf4125a7ea30854
-include/unicode/ucoleitr.h: c5f7f5720c58a63df5277f4c275813f7
-include/unicode/uconfig.h: 9cd76a9d2008c77116c1e3d34cd5c20f
-include/unicode/ucsdet.h: 84999c29e225c4d11a89e2c691892c6a
-include/unicode/ucurr.h: 22ebc57d60d31ca6e5be08b5dcfabb36
-include/unicode/udat.h: 4fceb68710dfed43778da6b5dabf5b81
-include/unicode/udata.h: 8ffc7d27c431eaa31709bed2450b1987
-include/unicode/udateintervalformat.h: ec7b522f7376efc94280461a798e122e
-include/unicode/udatpg.h: c13609bba2d9cdd91475c80f2934e8b9
-include/unicode/udisplaycontext.h: d85a18d600e97fcdbb4177583633e20b
-include/unicode/uenum.h: 9f0843888060124393c5b6d3ac1d0494
-include/unicode/ufieldpositer.h: 9a2caec923d0bbc2c167e17a42e2ff74
-include/unicode/uformattable.h: 5a52db48b81c8e2d770353f347c64d1a
-include/unicode/ugender.h: 23ec9fe7670c419c57462625cc2afaee
-include/unicode/uidna.h: ffd28dd05da8ad3813d2d41b1f01c517
-include/unicode/uiter.h: 50847b964f6fb474e0290150338c9f27
-include/unicode/uldnames.h: 6fba02d8cd519586d066c4f4e5eb1640
-include/unicode/ulistformatter.h: 2d9feb1e057219dd43898dc23da7e476
-include/unicode/uloc.h: 03e3d991937d286c75e3206c5494646e
-include/unicode/ulocdata.h: f282e04c22e0616817a04f80f536f688
-include/unicode/umachine.h: 1d6f3281c1b8a8eb9ba4dbd670d6af7c
-include/unicode/umisc.h: c0dc3caac921970252ee4bbc1bddc43a
-include/unicode/umsg.h: ed50cc36346ea063fd3681385064ead3
-include/unicode/unifilt.h: 6e228f15b2fa8f564abb51500674d72b
-include/unicode/unifunct.h: a9f9e469e946e88a9c64919c468e5d62
-include/unicode/unimatch.h: 6c2cbf80f1f605b165bebc5ae8e12aaa
-include/unicode/unirepl.h: a021ccf09bb715625b9677bdc7700584
-include/unicode/uniset.h: 501821f127cc093433327c44909a7575
-include/unicode/unistr.h: 7dfa9c3626c3dcf71390eb50b57a3716
-include/unicode/unorm.h: 39bbe48ae8534029dab7f097188c8b31
-include/unicode/unorm2.h: eb8b5bb935701284a4480a2facb7f0b8
-include/unicode/unum.h: ac906837bfd6caac1259c6f7913b94a2
-include/unicode/unumsys.h: dfc4fd29fa10dea8de5981a79badf4ec
-include/unicode/uobject.h: 7cd3e374dd78321b69313bc3f416ed4c
-include/unicode/upluralrules.h: f2b80b6b9a9ea8edae1aba78830f4789
-include/unicode/uregex.h: bf69ecde49c5418db27194cdad8ee0ff
-include/unicode/uregion.h: 6d72ea56f92d9da81cc8b3e8d47a3f04
-include/unicode/ureldatefmt.h: 480530556bbe46fbd5996fa86a878b98
-include/unicode/urename.h: 0685d5314e8537121559a98ef7a143c4
-include/unicode/urep.h: 04cce4d1e9a074179ec8e7ba6f5f02ee
-include/unicode/ures.h: d9d89fedbe10df5011c03a8238572e07
-include/unicode/uscript.h: acd32dac19000101a28b81eeaec612e8
-include/unicode/usearch.h: afd9eb69236e27449e7249264bfeae56
-include/unicode/uset.h: 69481ff3106e5b8cc6f36cfa3c23225a
-include/unicode/usetiter.h: 3b9ae44eb5a47ce6e20ed00fc45c0cb6
-include/unicode/ushape.h: 1f89bcc0f93cb5df8059e8a2717009a7
-include/unicode/uspoof.h: 140a8c6518698a56c917d18ef6dbd2b7
-include/unicode/usprep.h: d4a57d01cb61f594c84c3fffac8a87d5
-include/unicode/ustdio.h: 7d32dbc31f136ce97096cd25429dceef
-include/unicode/ustream.h: 211a3e48dbe1921522d956bef0747361
-include/unicode/ustring.h: 12b77389aad7d0b76c86d405566840a9
-include/unicode/ustringtrie.h: 08f062a843c6bf78d8d95b1ba566d6ec
-include/unicode/utext.h: a8cf1115720b99ca855918f92343ce8b
-include/unicode/utf.h: b7827e05a4bc90b9ca27ab14491ca1bd
-include/unicode/utf16.h: 4447226555e524f4c0f596c197ae65d5
-include/unicode/utf32.h: 076c1d2025d949556d976b9e6aa01410
-include/unicode/utf8.h: 3afe43776eb2e8d3448551c9a6996a12
-include/unicode/utf_old.h: 0c46b30f4140adf50fe9ed350815a0d8
-include/unicode/utmscale.h: 8ea13d3120de87b49a240014ecfdce7f
-include/unicode/utrace.h: 0216d0e5e1e1e10e014f3a8882fa0760
-include/unicode/utrans.h: 25231668b49b0de8ca1db79ff0f348d8
-include/unicode/utypes.h: a3c935253e46b4c313b0ee58cadcd04d
-include/unicode/uvernum.h: 8044bea1ca820f40b1e82b2ae5cbfbfa
-include/unicode/uversion.h: b3e0658e920f56306839af39fa5f35b7
-include/unicode/vtzone.h: 138782b1f4177e15964c21e7e8cb21d3
-lib/icudt.lib: 8521dc55a20637af8e7cae4453fdae92
-lib/icuin.lib: 0af113d81bab592d2b7c628476b0a715
-lib/icuio.lib: 6812ca214d913a3e0ea303ddf899ff71
-lib/icutest.lib: 1bd7477e81bf551abdd0e80412b85805
-lib/icutu.lib: a69d87281efd6ade323f7c449ded3bb4
-lib/icuuc.lib: 74d264685f3ac6b7df1333fcf486aa45
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/package/c97b9e1abccf18d0aefcbcdef01d2c4689917df6/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/package/c97b9e1abccf18d0aefcbcdef01d2c4689917df6/conanmanifest.txt
deleted file mode 100644
index e9b0ee71..00000000
--- a/coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/package/c97b9e1abccf18d0aefcbcdef01d2c4689917df6/conanmanifest.txt
+++ /dev/null
@@ -1,187 +0,0 @@
-1499105682
-bin/icudt59.dll: 6f7abc01bb1d3d9b4a077c27ec228984
-bin/icuin59.dll: 5db6329ab0e0201d72025de56fa9d6a4
-bin/icuio59.dll: 6d3032695a7c12d3cce58a887f2bc644
-bin/icutest59.dll: 425538ed08d6785902b1238e877bc623
-bin/icutu59.dll: 83e15197d0b59cf5500c0c93aa186748
-bin/icuuc59.dll: 1eb31fe82fca12998a9a37c4852e7272
-conaninfo.txt: ad06024880f91bf13cbd6b54c13cf611
-include/unicode/alphaindex.h: c4e73b7d46eacc8fa67691e4dd0b5ecc
-include/unicode/appendable.h: deea01996ebb26600e2dde91ed196395
-include/unicode/basictz.h: 01cabd21915d2cee7d2ef7787240e8f2
-include/unicode/brkiter.h: 03b569a42e7dae96c0c86ad2c8d3bd00
-include/unicode/bytestream.h: 61e720935437b6830d58b216918552d2
-include/unicode/bytestrie.h: b61efc3e639298f2a6c19fec6d0622f5
-include/unicode/bytestriebuilder.h: 62d2640165c997f0abe27994f59318e3
-include/unicode/calendar.h: 759cbc7bd35d6efc0a4976dd753eb485
-include/unicode/caniter.h: 330f1b6de404cfb24479f009926890f2
-include/unicode/casemap.h: 61bbc0c334ada3bea9920815ce033de4
-include/unicode/char16ptr.h: 06b3963db87be73f87dac310136fc58c
-include/unicode/chariter.h: 362ade4f54a9fa6f1c845078440e2b03
-include/unicode/choicfmt.h: b12a447a93d96d3a6080c978dfdecdb4
-include/unicode/coleitr.h: f03e36876d1a9829eae20fab28f32d6a
-include/unicode/coll.h: 7d6cddc98e3227bd2277afa6d7793a50
-include/unicode/compactdecimalformat.h: b3bdc4cc4ea3b3af9a930614ef68db37
-include/unicode/curramt.h: 323107674df349a27d624663757447e4
-include/unicode/currpinf.h: 18f3f5825fd0511a670d7eff90201719
-include/unicode/currunit.h: 4b1c4900fd9cee8de157f549cf8d47f0
-include/unicode/datefmt.h: c07976e59ac1c1c08c98bf9d4e4c3587
-include/unicode/dbbi.h: db0a5e6e9dd092466fbbe21e949e4820
-include/unicode/dcfmtsym.h: eafe4061e7fad4ebe1a3a11ea219c12b
-include/unicode/decimfmt.h: fec30b356bf6a646a172977caf2678ee
-include/unicode/docmain.h: 49875d4c4b781f05d1c51668c74b94bb
-include/unicode/dtfmtsym.h: 4fec8e6662b9914a8d99b2a75ce75a5a
-include/unicode/dtintrv.h: 05a46fbf5f15b7bb2ba59f44814ac095
-include/unicode/dtitvfmt.h: 5c42410d99e25e140d8e84af39139512
-include/unicode/dtitvinf.h: e7eddd3476b1aadb8bb17350985081d6
-include/unicode/dtptngen.h: 4edbf8188c936b808141a17e24f6c17e
-include/unicode/dtrule.h: c0ad9c5a662d96a067b3687c6b788fd6
-include/unicode/edits.h: 0d3660bc8cb14c5e78bb0fba7438e184
-include/unicode/enumset.h: 488a530c2f5d1727105b317bfb38ffab
-include/unicode/errorcode.h: 200ad3b02dcd2eda1545afa64f26211d
-include/unicode/fieldpos.h: 7b200989ccaf13e87506ff8a9a8352c1
-include/unicode/fmtable.h: ef9c81283b88d29b6b77d2c68896d166
-include/unicode/format.h: 21bfd1ffede54a82d257a30f623ae117
-include/unicode/fpositer.h: 0b8be269e646080334eb0db252708fa1
-include/unicode/gender.h: f76ef0004a630139b9636327e22f52cf
-include/unicode/gregocal.h: dadf449275698c6eb227c86c90c84f5b
-include/unicode/icudataver.h: 64966d178a3ba96a36698afd0c9033ac
-include/unicode/icuplug.h: 1a4b0dfe535992811342f87165dfc128
-include/unicode/idna.h: 935119343007e6e8267e34d3217e73ef
-include/unicode/listformatter.h: 454de478acb396e0646bc756226986b0
-include/unicode/localpointer.h: 032493d057b13fcc5d7d264ec1349ecd
-include/unicode/locdspnm.h: 75098c2fc6615d040e8b5204e27918f8
-include/unicode/locid.h: 34733130bd4387fa544d6761034a0955
-include/unicode/measfmt.h: c289038b60c170659cec114a06b75ec4
-include/unicode/measunit.h: 9f937c7b82e74afdf577427e5abef253
-include/unicode/measure.h: 907a564bb50d5a3b3de69b61a095ac49
-include/unicode/messagepattern.h: ddb001f5da316149ced07415fddfbbe1
-include/unicode/msgfmt.h: 92fdcc17d1cc5be345a65b9c5028b814
-include/unicode/normalizer2.h: 1f8ec62f9f338f429627c61fb797d12a
-include/unicode/normlzr.h: 1acf5026f3c915a30405c961c5045f51
-include/unicode/numfmt.h: 2e869d45a97e3366930352561becf1f7
-include/unicode/numsys.h: 966281097c9a71c7ce80de4738bbaf4b
-include/unicode/parseerr.h: 82430679207228ecccebf2ac9a0dc226
-include/unicode/parsepos.h: d465f317154c05dae43efe1975c2254b
-include/unicode/platform.h: 8ccf4dfd92fdd1d8076ed97a83f4ff0e
-include/unicode/plurfmt.h: 7f33dc3d5b6c677e920b388e66688d6e
-include/unicode/plurrule.h: efb1059c8f408ab3df8a355625aa91ac
-include/unicode/ptypes.h: c124ecdb51748de2a5900c42f64fa33e
-include/unicode/putil.h: f594f056f0e8fa7e7d2ee9e3772f1465
-include/unicode/rbbi.h: 10e5ea07511aad18458a2bb59c302fce
-include/unicode/rbnf.h: 46a62b91bbf605d0fc90de27c0c28ade
-include/unicode/rbtz.h: 6adc59fe9f2ec0203fad1bb291ceb2be
-include/unicode/regex.h: 2e5c4264f79b43bc754a558f5d9ef81d
-include/unicode/region.h: 9975298932902d63b823382424ecb04f
-include/unicode/reldatefmt.h: fe0bf48d5fae4130b3e1d97da05b8147
-include/unicode/rep.h: ad2f3d61aabf5507f9670e17adc4f3e0
-include/unicode/resbund.h: 2e5313c39e2d8e644fefb5fda9830032
-include/unicode/schriter.h: 10ebc14456ec8a08190a1d8484d865c8
-include/unicode/scientificnumberformatter.h: 19c921c0a75274bdd13ae9e70354b9b9
-include/unicode/search.h: 3a213657ab777b638423df43e775ead6
-include/unicode/selfmt.h: f31478edaee06e562fc70fe4bffb39f7
-include/unicode/simpleformatter.h: 32f8edf8033ddcd3d89560aca235d2b1
-include/unicode/simpletz.h: b38692fd7ed1ecd8474412602bb43a7a
-include/unicode/smpdtfmt.h: 0cddd4d1f197beddae2bf6d6e569b414
-include/unicode/sortkey.h: 76daf42075f7fdeeb06215922144bd87
-include/unicode/std_string.h: 57499f3b70cb13b85da38ecaed834924
-include/unicode/strenum.h: e23cde5594426e607d37d59252ed7542
-include/unicode/stringpiece.h: 2c7657b53e2cd414c5dc2aac429e8be9
-include/unicode/stringtriebuilder.h: 596067734fd5ecbf08ef1a5b29f7c521
-include/unicode/stsearch.h: c75b420ffcf6cb64c1c70fbdce1ec303
-include/unicode/symtable.h: aaa0d4278cc7c873390133c81319afe4
-include/unicode/tblcoll.h: 593c21ed8376bcfab87993dfdb24f579
-include/unicode/timezone.h: e0b13f33042ae96d152da2dfac53895a
-include/unicode/tmunit.h: 47bad5bb37ad95cf4aa966962f672247
-include/unicode/tmutamt.h: 7e216295ad757e1e7050a27b4cbb04c4
-include/unicode/tmutfmt.h: 3e66e10feff34abe4f606c544bf56a98
-include/unicode/translit.h: cd5eb1480620fe72661af2c5420030c7
-include/unicode/tzfmt.h: cc77e978689ef62e83fbf50297da7068
-include/unicode/tznames.h: fc0fd902a3ab39c3ecd5376affa3e091
-include/unicode/tzrule.h: adc2e3690a81499fa482f09a7c891e3a
-include/unicode/tztrans.h: ddc16397303c7c3a6cdb51d6cae76c9c
-include/unicode/ubidi.h: 3c3447aff91ca3aba39294f283fc0a83
-include/unicode/ubrk.h: c4d61d02474b921b6deabf19730f2d93
-include/unicode/ucal.h: 85fbc0a93c781ff4f283abf56213548f
-include/unicode/ucasemap.h: bbc08907ca608e090dd2551dae7f5063
-include/unicode/ucat.h: 9887bf7cefa89c96630bcd3757663ec0
-include/unicode/uchar.h: d0caa0cad8f0760769e7269c8e27b2f0
-include/unicode/ucharstrie.h: a831881a1c5f601a27a96107a9c93b40
-include/unicode/ucharstriebuilder.h: aab813b785d803391adad3e89eae430b
-include/unicode/uchriter.h: 26dfb5f728be01852cb52402fc018235
-include/unicode/uclean.h: 7b7b73a66324b026c775cf2f467108f3
-include/unicode/ucnv.h: 8925fbf6e9921bf45b485c31ee4124ed
-include/unicode/ucnv_cb.h: 2132a185faeb5cd603344098e4f685f5
-include/unicode/ucnv_err.h: 641fb44cae3f286f307ce2e445b3589f
-include/unicode/ucnvsel.h: 5f129128041b8ec652fa13bc007c7168
-include/unicode/ucol.h: c1ae405a33aca9786cf4125a7ea30854
-include/unicode/ucoleitr.h: c5f7f5720c58a63df5277f4c275813f7
-include/unicode/uconfig.h: 9cd76a9d2008c77116c1e3d34cd5c20f
-include/unicode/ucsdet.h: 84999c29e225c4d11a89e2c691892c6a
-include/unicode/ucurr.h: 22ebc57d60d31ca6e5be08b5dcfabb36
-include/unicode/udat.h: 4fceb68710dfed43778da6b5dabf5b81
-include/unicode/udata.h: 8ffc7d27c431eaa31709bed2450b1987
-include/unicode/udateintervalformat.h: ec7b522f7376efc94280461a798e122e
-include/unicode/udatpg.h: c13609bba2d9cdd91475c80f2934e8b9
-include/unicode/udisplaycontext.h: d85a18d600e97fcdbb4177583633e20b
-include/unicode/uenum.h: 9f0843888060124393c5b6d3ac1d0494
-include/unicode/ufieldpositer.h: 9a2caec923d0bbc2c167e17a42e2ff74
-include/unicode/uformattable.h: 5a52db48b81c8e2d770353f347c64d1a
-include/unicode/ugender.h: 23ec9fe7670c419c57462625cc2afaee
-include/unicode/uidna.h: ffd28dd05da8ad3813d2d41b1f01c517
-include/unicode/uiter.h: 50847b964f6fb474e0290150338c9f27
-include/unicode/uldnames.h: 6fba02d8cd519586d066c4f4e5eb1640
-include/unicode/ulistformatter.h: 2d9feb1e057219dd43898dc23da7e476
-include/unicode/uloc.h: 03e3d991937d286c75e3206c5494646e
-include/unicode/ulocdata.h: f282e04c22e0616817a04f80f536f688
-include/unicode/umachine.h: 1d6f3281c1b8a8eb9ba4dbd670d6af7c
-include/unicode/umisc.h: c0dc3caac921970252ee4bbc1bddc43a
-include/unicode/umsg.h: ed50cc36346ea063fd3681385064ead3
-include/unicode/unifilt.h: 6e228f15b2fa8f564abb51500674d72b
-include/unicode/unifunct.h: a9f9e469e946e88a9c64919c468e5d62
-include/unicode/unimatch.h: 6c2cbf80f1f605b165bebc5ae8e12aaa
-include/unicode/unirepl.h: a021ccf09bb715625b9677bdc7700584
-include/unicode/uniset.h: 501821f127cc093433327c44909a7575
-include/unicode/unistr.h: 7dfa9c3626c3dcf71390eb50b57a3716
-include/unicode/unorm.h: 39bbe48ae8534029dab7f097188c8b31
-include/unicode/unorm2.h: eb8b5bb935701284a4480a2facb7f0b8
-include/unicode/unum.h: ac906837bfd6caac1259c6f7913b94a2
-include/unicode/unumsys.h: dfc4fd29fa10dea8de5981a79badf4ec
-include/unicode/uobject.h: 7cd3e374dd78321b69313bc3f416ed4c
-include/unicode/upluralrules.h: f2b80b6b9a9ea8edae1aba78830f4789
-include/unicode/uregex.h: bf69ecde49c5418db27194cdad8ee0ff
-include/unicode/uregion.h: 6d72ea56f92d9da81cc8b3e8d47a3f04
-include/unicode/ureldatefmt.h: 480530556bbe46fbd5996fa86a878b98
-include/unicode/urename.h: 0685d5314e8537121559a98ef7a143c4
-include/unicode/urep.h: 04cce4d1e9a074179ec8e7ba6f5f02ee
-include/unicode/ures.h: d9d89fedbe10df5011c03a8238572e07
-include/unicode/uscript.h: acd32dac19000101a28b81eeaec612e8
-include/unicode/usearch.h: afd9eb69236e27449e7249264bfeae56
-include/unicode/uset.h: 69481ff3106e5b8cc6f36cfa3c23225a
-include/unicode/usetiter.h: 3b9ae44eb5a47ce6e20ed00fc45c0cb6
-include/unicode/ushape.h: 1f89bcc0f93cb5df8059e8a2717009a7
-include/unicode/uspoof.h: 140a8c6518698a56c917d18ef6dbd2b7
-include/unicode/usprep.h: d4a57d01cb61f594c84c3fffac8a87d5
-include/unicode/ustdio.h: 7d32dbc31f136ce97096cd25429dceef
-include/unicode/ustream.h: 211a3e48dbe1921522d956bef0747361
-include/unicode/ustring.h: 12b77389aad7d0b76c86d405566840a9
-include/unicode/ustringtrie.h: 08f062a843c6bf78d8d95b1ba566d6ec
-include/unicode/utext.h: a8cf1115720b99ca855918f92343ce8b
-include/unicode/utf.h: b7827e05a4bc90b9ca27ab14491ca1bd
-include/unicode/utf16.h: 4447226555e524f4c0f596c197ae65d5
-include/unicode/utf32.h: 076c1d2025d949556d976b9e6aa01410
-include/unicode/utf8.h: 3afe43776eb2e8d3448551c9a6996a12
-include/unicode/utf_old.h: 0c46b30f4140adf50fe9ed350815a0d8
-include/unicode/utmscale.h: 8ea13d3120de87b49a240014ecfdce7f
-include/unicode/utrace.h: 0216d0e5e1e1e10e014f3a8882fa0760
-include/unicode/utrans.h: 25231668b49b0de8ca1db79ff0f348d8
-include/unicode/utypes.h: a3c935253e46b4c313b0ee58cadcd04d
-include/unicode/uvernum.h: 8044bea1ca820f40b1e82b2ae5cbfbfa
-include/unicode/uversion.h: b3e0658e920f56306839af39fa5f35b7
-include/unicode/vtzone.h: 138782b1f4177e15964c21e7e8cb21d3
-lib/icudt.lib: 0ad4d2a27d484d1ee141a17582758564
-lib/icuin.lib: 31a061da58f007137f4216294f7147ef
-lib/icuio.lib: 657f8b121afa93db8433e85c98b3a2bc
-lib/icutest.lib: 6d943d87ddd5a627f0c6bad0f5e13724
-lib/icutu.lib: 853af1f403ea9521004a933e91f5b508
-lib/icuuc.lib: 1e7a3fc48a7db11b6cfc16d455a4952b
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/package/ca0c09cfa678fd91b04c82824988c42e9ac40ddf/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/package/ca0c09cfa678fd91b04c82824988c42e9ac40ddf/conanmanifest.txt
deleted file mode 100644
index 905c0750..00000000
--- a/coin/provisioning/common/windows/conan_manifests/icu/59.1/vitallium/stable/package/ca0c09cfa678fd91b04c82824988c42e9ac40ddf/conanmanifest.txt
+++ /dev/null
@@ -1,187 +0,0 @@
-1499330414
-bin/icudt59.dll: f4f67e917d72982f4d38b95a4eebf789
-bin/icuin59.dll: 3aaa0a3bb318eb7da1732e2164c98624
-bin/icuio59.dll: eb2e025f5ebbc37da56a435727ddb27e
-bin/icutest59.dll: 86aa2a9fd01d121b419e9bfc821c541d
-bin/icutu59.dll: 740a6cf36312a3601813ffedb95548dc
-bin/icuuc59.dll: 77ffdc48d26d21580cea392387896d9f
-conaninfo.txt: 72e5f245a2656624132fba01b63171fd
-include/unicode/alphaindex.h: c4e73b7d46eacc8fa67691e4dd0b5ecc
-include/unicode/appendable.h: deea01996ebb26600e2dde91ed196395
-include/unicode/basictz.h: 01cabd21915d2cee7d2ef7787240e8f2
-include/unicode/brkiter.h: 03b569a42e7dae96c0c86ad2c8d3bd00
-include/unicode/bytestream.h: 61e720935437b6830d58b216918552d2
-include/unicode/bytestrie.h: b61efc3e639298f2a6c19fec6d0622f5
-include/unicode/bytestriebuilder.h: 62d2640165c997f0abe27994f59318e3
-include/unicode/calendar.h: 759cbc7bd35d6efc0a4976dd753eb485
-include/unicode/caniter.h: 330f1b6de404cfb24479f009926890f2
-include/unicode/casemap.h: 61bbc0c334ada3bea9920815ce033de4
-include/unicode/char16ptr.h: 06b3963db87be73f87dac310136fc58c
-include/unicode/chariter.h: 362ade4f54a9fa6f1c845078440e2b03
-include/unicode/choicfmt.h: b12a447a93d96d3a6080c978dfdecdb4
-include/unicode/coleitr.h: f03e36876d1a9829eae20fab28f32d6a
-include/unicode/coll.h: 7d6cddc98e3227bd2277afa6d7793a50
-include/unicode/compactdecimalformat.h: b3bdc4cc4ea3b3af9a930614ef68db37
-include/unicode/curramt.h: 323107674df349a27d624663757447e4
-include/unicode/currpinf.h: 18f3f5825fd0511a670d7eff90201719
-include/unicode/currunit.h: 4b1c4900fd9cee8de157f549cf8d47f0
-include/unicode/datefmt.h: c07976e59ac1c1c08c98bf9d4e4c3587
-include/unicode/dbbi.h: db0a5e6e9dd092466fbbe21e949e4820
-include/unicode/dcfmtsym.h: eafe4061e7fad4ebe1a3a11ea219c12b
-include/unicode/decimfmt.h: fec30b356bf6a646a172977caf2678ee
-include/unicode/docmain.h: 49875d4c4b781f05d1c51668c74b94bb
-include/unicode/dtfmtsym.h: 4fec8e6662b9914a8d99b2a75ce75a5a
-include/unicode/dtintrv.h: 05a46fbf5f15b7bb2ba59f44814ac095
-include/unicode/dtitvfmt.h: 5c42410d99e25e140d8e84af39139512
-include/unicode/dtitvinf.h: e7eddd3476b1aadb8bb17350985081d6
-include/unicode/dtptngen.h: 4edbf8188c936b808141a17e24f6c17e
-include/unicode/dtrule.h: c0ad9c5a662d96a067b3687c6b788fd6
-include/unicode/edits.h: 0d3660bc8cb14c5e78bb0fba7438e184
-include/unicode/enumset.h: 488a530c2f5d1727105b317bfb38ffab
-include/unicode/errorcode.h: 200ad3b02dcd2eda1545afa64f26211d
-include/unicode/fieldpos.h: 7b200989ccaf13e87506ff8a9a8352c1
-include/unicode/fmtable.h: ef9c81283b88d29b6b77d2c68896d166
-include/unicode/format.h: 21bfd1ffede54a82d257a30f623ae117
-include/unicode/fpositer.h: 0b8be269e646080334eb0db252708fa1
-include/unicode/gender.h: f76ef0004a630139b9636327e22f52cf
-include/unicode/gregocal.h: dadf449275698c6eb227c86c90c84f5b
-include/unicode/icudataver.h: 64966d178a3ba96a36698afd0c9033ac
-include/unicode/icuplug.h: 1a4b0dfe535992811342f87165dfc128
-include/unicode/idna.h: 935119343007e6e8267e34d3217e73ef
-include/unicode/listformatter.h: 454de478acb396e0646bc756226986b0
-include/unicode/localpointer.h: 032493d057b13fcc5d7d264ec1349ecd
-include/unicode/locdspnm.h: 75098c2fc6615d040e8b5204e27918f8
-include/unicode/locid.h: 34733130bd4387fa544d6761034a0955
-include/unicode/measfmt.h: c289038b60c170659cec114a06b75ec4
-include/unicode/measunit.h: 9f937c7b82e74afdf577427e5abef253
-include/unicode/measure.h: 907a564bb50d5a3b3de69b61a095ac49
-include/unicode/messagepattern.h: ddb001f5da316149ced07415fddfbbe1
-include/unicode/msgfmt.h: 92fdcc17d1cc5be345a65b9c5028b814
-include/unicode/normalizer2.h: 1f8ec62f9f338f429627c61fb797d12a
-include/unicode/normlzr.h: 1acf5026f3c915a30405c961c5045f51
-include/unicode/numfmt.h: 2e869d45a97e3366930352561becf1f7
-include/unicode/numsys.h: 966281097c9a71c7ce80de4738bbaf4b
-include/unicode/parseerr.h: 82430679207228ecccebf2ac9a0dc226
-include/unicode/parsepos.h: d465f317154c05dae43efe1975c2254b
-include/unicode/platform.h: 8ccf4dfd92fdd1d8076ed97a83f4ff0e
-include/unicode/plurfmt.h: 7f33dc3d5b6c677e920b388e66688d6e
-include/unicode/plurrule.h: efb1059c8f408ab3df8a355625aa91ac
-include/unicode/ptypes.h: c124ecdb51748de2a5900c42f64fa33e
-include/unicode/putil.h: f594f056f0e8fa7e7d2ee9e3772f1465
-include/unicode/rbbi.h: 10e5ea07511aad18458a2bb59c302fce
-include/unicode/rbnf.h: 46a62b91bbf605d0fc90de27c0c28ade
-include/unicode/rbtz.h: 6adc59fe9f2ec0203fad1bb291ceb2be
-include/unicode/regex.h: 2e5c4264f79b43bc754a558f5d9ef81d
-include/unicode/region.h: 9975298932902d63b823382424ecb04f
-include/unicode/reldatefmt.h: fe0bf48d5fae4130b3e1d97da05b8147
-include/unicode/rep.h: ad2f3d61aabf5507f9670e17adc4f3e0
-include/unicode/resbund.h: 2e5313c39e2d8e644fefb5fda9830032
-include/unicode/schriter.h: 10ebc14456ec8a08190a1d8484d865c8
-include/unicode/scientificnumberformatter.h: 19c921c0a75274bdd13ae9e70354b9b9
-include/unicode/search.h: 3a213657ab777b638423df43e775ead6
-include/unicode/selfmt.h: f31478edaee06e562fc70fe4bffb39f7
-include/unicode/simpleformatter.h: 32f8edf8033ddcd3d89560aca235d2b1
-include/unicode/simpletz.h: b38692fd7ed1ecd8474412602bb43a7a
-include/unicode/smpdtfmt.h: 0cddd4d1f197beddae2bf6d6e569b414
-include/unicode/sortkey.h: 76daf42075f7fdeeb06215922144bd87
-include/unicode/std_string.h: 57499f3b70cb13b85da38ecaed834924
-include/unicode/strenum.h: e23cde5594426e607d37d59252ed7542
-include/unicode/stringpiece.h: 2c7657b53e2cd414c5dc2aac429e8be9
-include/unicode/stringtriebuilder.h: 596067734fd5ecbf08ef1a5b29f7c521
-include/unicode/stsearch.h: c75b420ffcf6cb64c1c70fbdce1ec303
-include/unicode/symtable.h: aaa0d4278cc7c873390133c81319afe4
-include/unicode/tblcoll.h: 593c21ed8376bcfab87993dfdb24f579
-include/unicode/timezone.h: e0b13f33042ae96d152da2dfac53895a
-include/unicode/tmunit.h: 47bad5bb37ad95cf4aa966962f672247
-include/unicode/tmutamt.h: 7e216295ad757e1e7050a27b4cbb04c4
-include/unicode/tmutfmt.h: 3e66e10feff34abe4f606c544bf56a98
-include/unicode/translit.h: cd5eb1480620fe72661af2c5420030c7
-include/unicode/tzfmt.h: cc77e978689ef62e83fbf50297da7068
-include/unicode/tznames.h: fc0fd902a3ab39c3ecd5376affa3e091
-include/unicode/tzrule.h: adc2e3690a81499fa482f09a7c891e3a
-include/unicode/tztrans.h: ddc16397303c7c3a6cdb51d6cae76c9c
-include/unicode/ubidi.h: 3c3447aff91ca3aba39294f283fc0a83
-include/unicode/ubrk.h: c4d61d02474b921b6deabf19730f2d93
-include/unicode/ucal.h: 85fbc0a93c781ff4f283abf56213548f
-include/unicode/ucasemap.h: bbc08907ca608e090dd2551dae7f5063
-include/unicode/ucat.h: 9887bf7cefa89c96630bcd3757663ec0
-include/unicode/uchar.h: d0caa0cad8f0760769e7269c8e27b2f0
-include/unicode/ucharstrie.h: a831881a1c5f601a27a96107a9c93b40
-include/unicode/ucharstriebuilder.h: aab813b785d803391adad3e89eae430b
-include/unicode/uchriter.h: 26dfb5f728be01852cb52402fc018235
-include/unicode/uclean.h: 7b7b73a66324b026c775cf2f467108f3
-include/unicode/ucnv.h: 8925fbf6e9921bf45b485c31ee4124ed
-include/unicode/ucnv_cb.h: 2132a185faeb5cd603344098e4f685f5
-include/unicode/ucnv_err.h: 641fb44cae3f286f307ce2e445b3589f
-include/unicode/ucnvsel.h: 5f129128041b8ec652fa13bc007c7168
-include/unicode/ucol.h: c1ae405a33aca9786cf4125a7ea30854
-include/unicode/ucoleitr.h: c5f7f5720c58a63df5277f4c275813f7
-include/unicode/uconfig.h: 9cd76a9d2008c77116c1e3d34cd5c20f
-include/unicode/ucsdet.h: 84999c29e225c4d11a89e2c691892c6a
-include/unicode/ucurr.h: 22ebc57d60d31ca6e5be08b5dcfabb36
-include/unicode/udat.h: 4fceb68710dfed43778da6b5dabf5b81
-include/unicode/udata.h: 8ffc7d27c431eaa31709bed2450b1987
-include/unicode/udateintervalformat.h: ec7b522f7376efc94280461a798e122e
-include/unicode/udatpg.h: c13609bba2d9cdd91475c80f2934e8b9
-include/unicode/udisplaycontext.h: d85a18d600e97fcdbb4177583633e20b
-include/unicode/uenum.h: 9f0843888060124393c5b6d3ac1d0494
-include/unicode/ufieldpositer.h: 9a2caec923d0bbc2c167e17a42e2ff74
-include/unicode/uformattable.h: 5a52db48b81c8e2d770353f347c64d1a
-include/unicode/ugender.h: 23ec9fe7670c419c57462625cc2afaee
-include/unicode/uidna.h: ffd28dd05da8ad3813d2d41b1f01c517
-include/unicode/uiter.h: 50847b964f6fb474e0290150338c9f27
-include/unicode/uldnames.h: 6fba02d8cd519586d066c4f4e5eb1640
-include/unicode/ulistformatter.h: 2d9feb1e057219dd43898dc23da7e476
-include/unicode/uloc.h: 03e3d991937d286c75e3206c5494646e
-include/unicode/ulocdata.h: f282e04c22e0616817a04f80f536f688
-include/unicode/umachine.h: 1d6f3281c1b8a8eb9ba4dbd670d6af7c
-include/unicode/umisc.h: c0dc3caac921970252ee4bbc1bddc43a
-include/unicode/umsg.h: ed50cc36346ea063fd3681385064ead3
-include/unicode/unifilt.h: 6e228f15b2fa8f564abb51500674d72b
-include/unicode/unifunct.h: a9f9e469e946e88a9c64919c468e5d62
-include/unicode/unimatch.h: 6c2cbf80f1f605b165bebc5ae8e12aaa
-include/unicode/unirepl.h: a021ccf09bb715625b9677bdc7700584
-include/unicode/uniset.h: 501821f127cc093433327c44909a7575
-include/unicode/unistr.h: 7dfa9c3626c3dcf71390eb50b57a3716
-include/unicode/unorm.h: 39bbe48ae8534029dab7f097188c8b31
-include/unicode/unorm2.h: eb8b5bb935701284a4480a2facb7f0b8
-include/unicode/unum.h: ac906837bfd6caac1259c6f7913b94a2
-include/unicode/unumsys.h: dfc4fd29fa10dea8de5981a79badf4ec
-include/unicode/uobject.h: 7cd3e374dd78321b69313bc3f416ed4c
-include/unicode/upluralrules.h: f2b80b6b9a9ea8edae1aba78830f4789
-include/unicode/uregex.h: bf69ecde49c5418db27194cdad8ee0ff
-include/unicode/uregion.h: 6d72ea56f92d9da81cc8b3e8d47a3f04
-include/unicode/ureldatefmt.h: 480530556bbe46fbd5996fa86a878b98
-include/unicode/urename.h: 0685d5314e8537121559a98ef7a143c4
-include/unicode/urep.h: 04cce4d1e9a074179ec8e7ba6f5f02ee
-include/unicode/ures.h: d9d89fedbe10df5011c03a8238572e07
-include/unicode/uscript.h: acd32dac19000101a28b81eeaec612e8
-include/unicode/usearch.h: afd9eb69236e27449e7249264bfeae56
-include/unicode/uset.h: 69481ff3106e5b8cc6f36cfa3c23225a
-include/unicode/usetiter.h: 3b9ae44eb5a47ce6e20ed00fc45c0cb6
-include/unicode/ushape.h: 1f89bcc0f93cb5df8059e8a2717009a7
-include/unicode/uspoof.h: 140a8c6518698a56c917d18ef6dbd2b7
-include/unicode/usprep.h: d4a57d01cb61f594c84c3fffac8a87d5
-include/unicode/ustdio.h: 7d32dbc31f136ce97096cd25429dceef
-include/unicode/ustream.h: 211a3e48dbe1921522d956bef0747361
-include/unicode/ustring.h: 12b77389aad7d0b76c86d405566840a9
-include/unicode/ustringtrie.h: 08f062a843c6bf78d8d95b1ba566d6ec
-include/unicode/utext.h: a8cf1115720b99ca855918f92343ce8b
-include/unicode/utf.h: b7827e05a4bc90b9ca27ab14491ca1bd
-include/unicode/utf16.h: 4447226555e524f4c0f596c197ae65d5
-include/unicode/utf32.h: 076c1d2025d949556d976b9e6aa01410
-include/unicode/utf8.h: 3afe43776eb2e8d3448551c9a6996a12
-include/unicode/utf_old.h: 0c46b30f4140adf50fe9ed350815a0d8
-include/unicode/utmscale.h: 8ea13d3120de87b49a240014ecfdce7f
-include/unicode/utrace.h: 0216d0e5e1e1e10e014f3a8882fa0760
-include/unicode/utrans.h: 25231668b49b0de8ca1db79ff0f348d8
-include/unicode/utypes.h: a3c935253e46b4c313b0ee58cadcd04d
-include/unicode/uvernum.h: 8044bea1ca820f40b1e82b2ae5cbfbfa
-include/unicode/uversion.h: b3e0658e920f56306839af39fa5f35b7
-include/unicode/vtzone.h: 138782b1f4177e15964c21e7e8cb21d3
-lib/icudt.lib: a4bc5fec27a13bc471b747e67ec58bc4
-lib/icuin.lib: 452cfb482c2b072f99489029a9bb789c
-lib/icuio.lib: c9b9c1c8ef2f622825775a1fd10186c0
-lib/icutest.lib: 7408004f6b9d8318b10a631ed933353b
-lib/icutu.lib: 820e5a0e98bcc257822f254f73c7c682
-lib/icuuc.lib: 62326159fad7b218f3f8455c32da970c
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/export/conanmanifest.txt
new file mode 100644
index 00000000..8c6d0b8c
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/export/conanmanifest.txt
@@ -0,0 +1,3 @@
+1582252281
+conanfile.py: d7d6690f8a7dd0d9fe4e201a78c61c67
+icu_base.py: dbd6da563f0739fa7b162d8bc0099974
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/488cd5989854dc1a08e31f9977289ed30f65b0f0/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/488cd5989854dc1a08e31f9977289ed30f65b0f0/conanmanifest.txt
new file mode 100644
index 00000000..29781a54
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/488cd5989854dc1a08e31f9977289ed30f65b0f0/conanmanifest.txt
@@ -0,0 +1,250 @@
+1582255516
+bin/derb.exe: d93a62f01851ea95efc58eb4f3e791d4
+bin/escapesrc.exe: 75766f460e5dd0ef808b120c732d92c7
+bin/genbrk.exe: 4da632c505bd5b926a89a6dd7b650596
+bin/genccode.exe: 41877ba4b04cf49f636a263aae4f2886
+bin/gencfu.exe: 525a49626036d2aa86e8bfc18b45b465
+bin/gencmn.exe: b15da25db0862b3849b93253b645bd16
+bin/gencnval.exe: 98574f94180b8bd9ff07ef5eeac235f7
+bin/gendict.exe: ee8fa0b65b6a843c8e92079a0d301941
+bin/gennorm2.exe: 385efdd848fe0e109ae5ee72dc36f42a
+bin/genrb.exe: 148d9244a745bad05dd0673c110bfa1a
+bin/gensprep.exe: be0b6b49063cff5266a8b37bbd91bb4a
+bin/icu-config: 834abc11547153b24a70aae3f4df2ac3
+bin/icudt.dll: 03d96a7e1c900cf203bdca34ea180587
+bin/icudt65.dll: 53718118d1f9fac7737f13a072f4e1cb
+bin/icuin.dll: ad70d6cc6d9224b69b09ec3ee1f21b1b
+bin/icuin65.dll: ad70d6cc6d9224b69b09ec3ee1f21b1b
+bin/icuinfo.exe: 2acbbb839cca99cf9027c4de7fc818f5
+bin/icuio.dll: c09966904d088940c4ccf498302d4712
+bin/icuio65.dll: c09966904d088940c4ccf498302d4712
+bin/icupkg.exe: 6461f7ae7163bdc1d542d450eeff22ce
+bin/icutest.dll: 91bc1bd35f625900ca74f90373a1b811
+bin/icutest65.dll: 91bc1bd35f625900ca74f90373a1b811
+bin/icutu.dll: 2d9def13c1f8a2c6b99d43feb3d37d6a
+bin/icutu65.dll: 2d9def13c1f8a2c6b99d43feb3d37d6a
+bin/icuuc.dll: ac883bcb5dda0de14c7789bb0cfa0d0f
+bin/icuuc65.dll: ac883bcb5dda0de14c7789bb0cfa0d0f
+bin/makeconv.exe: fbf44ce800fb2377ca93b022aa6c4e24
+bin/pkgdata.exe: bb2da4ab37e16ff6c0fe037f431a7920
+conaninfo.txt: d3efa735bfabe1d967065dfa9682bce6
+include/unicode/alphaindex.h: 1be039746e3da3f7baa9421062373468
+include/unicode/appendable.h: 48b3a0a4c3044ad5f2af18f1ab48c8ff
+include/unicode/basictz.h: 57fe3c53d6b1a2bf5d1f40ec51efd7a1
+include/unicode/brkiter.h: e5ff475b7b01a97e5cd11a5362785921
+include/unicode/bytestream.h: 34a6807cd42f2e64ca60429897eb4b10
+include/unicode/bytestrie.h: d9be048d5c7e9dd0a2c6cd82e91e6002
+include/unicode/bytestriebuilder.h: 66236ad8247bd04c9ea525012b4c4ca8
+include/unicode/calendar.h: 692005b416fc2e4a8c497ff9b9a31bd8
+include/unicode/caniter.h: a70809c92ea90b654e9f11a793f84429
+include/unicode/casemap.h: d088e7422633b4cad3ad2b0b83ca239b
+include/unicode/char16ptr.h: c234b9ba14299c6068f5af1a936c1ead
+include/unicode/chariter.h: c8623016adba39ab38ef29f38ec87e45
+include/unicode/choicfmt.h: 832e7b39d19ec192ac1551360436f946
+include/unicode/coleitr.h: d9f07937d600ee811c121c0b0504724c
+include/unicode/coll.h: a2062360d7415e08abb01c44088f074e
+include/unicode/compactdecimalformat.h: 029f9640501bd640495c18397b5ff8bb
+include/unicode/curramt.h: 41fc0e62956b2e0fa7fd5e05213afc85
+include/unicode/currpinf.h: 09cbc4d9eb04b2aa2c4c155961f13c89
+include/unicode/currunit.h: 43648726f439d03c8c8a13b87c122332
+include/unicode/datefmt.h: 28ef92e98cdac29630b0aa0daf122798
+include/unicode/dbbi.h: 3d4186ec9549d6693d136257f610ec06
+include/unicode/dcfmtsym.h: b18b90c0c6371eab5028582492859142
+include/unicode/decimfmt.h: fb4231ddf75de524300ee952634ef038
+include/unicode/docmain.h: 697c221351932e373cf9e5903f40b723
+include/unicode/dtfmtsym.h: cabbccbf9deec91ebf291a19110007fb
+include/unicode/dtintrv.h: 7a7ce170e6035b90ef5b4bee91893833
+include/unicode/dtitvfmt.h: da220b13a8f895c4e77b653d865eb049
+include/unicode/dtitvinf.h: 1ad6b7f844a9362b2b7a0f509284cae7
+include/unicode/dtptngen.h: 8f8fcb053b5024c5b1d3dfc258f59344
+include/unicode/dtrule.h: 68551564f8ab72271d3574aa0cba381d
+include/unicode/edits.h: 6b8aa73dbf2c2f0b49da5bc5903bcc8c
+include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
+include/unicode/errorcode.h: debeda4467a19aaf964fafc73629c8ae
+include/unicode/fieldpos.h: 3b041c7d9a5df0aef744b88e764af17e
+include/unicode/filteredbrk.h: e54dd29247eb75f8490423f7f8541691
+include/unicode/fmtable.h: 3816f155db2c35ac5de3f80ffdaa549c
+include/unicode/format.h: 0417863e1b303fa282659c4903e3a11c
+include/unicode/formattedvalue.h: fc50c8972404b212799d76cf8e647888
+include/unicode/fpositer.h: b5e8bbc249dc37e3b159f0a2b5053957
+include/unicode/gender.h: 5e093c1cfb96ef671f2e5dedb96a0d64
+include/unicode/gregocal.h: 15c7b4ceaca9b8b8f8e747d5427aa7a7
+include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
+include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
+include/unicode/idna.h: a7c3650d5311edeb01f754c574d0fb8b
+include/unicode/listformatter.h: 65911d72679c6e0a267e951b03467f37
+include/unicode/localebuilder.h: 1b6106448cf6cde7e7ebf25ee6fe4065
+include/unicode/localematcher.h: 3a03cbb5970a14fe153041c878f583f2
+include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
+include/unicode/locdspnm.h: aa260a00e31e970757e3b3cbe00fff3d
+include/unicode/locid.h: 6caa36f85c9bab54b78ecd0c056789aa
+include/unicode/measfmt.h: 21b534367e4b3825dc70c3a289822df8
+include/unicode/measunit.h: 0f903f67958ad91e8bd2e49fc40c3075
+include/unicode/measure.h: 49091c823a2f12f5f60f7fecd7c452f2
+include/unicode/messagepattern.h: 15ecc58806c256ac91c2549d4f5c242f
+include/unicode/msgfmt.h: f9ff9322fa80486203829c15d4982573
+include/unicode/normalizer2.h: 436d923df3a66774b7bf26ffe75a5d1c
+include/unicode/normlzr.h: 5bf33ff933ee7eb49c330df38f490f57
+include/unicode/nounit.h: 2b4901f562077b370d82c4bbe229aac4
+include/unicode/numberformatter.h: 0f62c292f92d5598a61647bbf4294e1a
+include/unicode/numberrangeformatter.h: 58623918bf66f1fd6687f3dd03180a4b
+include/unicode/numfmt.h: 2a21117116463390ec4f19d53f485890
+include/unicode/numsys.h: 186ba43c003b4f56af3c63abd08f418e
+include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
+include/unicode/parsepos.h: 5c53fa7c473d4593fd72ce964b505807
+include/unicode/platform.h: 56fe53b31059acb1be086c45ce88e8c6
+include/unicode/plurfmt.h: 6f1b781b7a62a6ac1c7e4c6a2bb18d77
+include/unicode/plurrule.h: cf4b0b9ec1a525b96e7d27e489044337
+include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
+include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
+include/unicode/rbbi.h: 6c5f44ef812dfb48b65466732513c091
+include/unicode/rbnf.h: e870f2cf64c9b72eb549c413d6f98299
+include/unicode/rbtz.h: ea9f5a1edac3fe535ec7b83636daf61d
+include/unicode/regex.h: 16565e3d41228a76f17a63842d9594d2
+include/unicode/region.h: 22585a516ee7525f3e9094f2843b7640
+include/unicode/reldatefmt.h: 1b226903d9375471432582c27ade4934
+include/unicode/rep.h: eab550a9bbb33b4c1283ab16bc2dfafa
+include/unicode/resbund.h: cc93ada0e9871eee0a86f81548a3be73
+include/unicode/schriter.h: acea2a510e5c9127dad0e2538cf65ccd
+include/unicode/scientificnumberformatter.h: 40eb759fc2902b6c8e732b440fe6a1bc
+include/unicode/search.h: a93ebdadfc5113f1b9c9c185262ef461
+include/unicode/selfmt.h: 581ab6f6ac584265d5c56dad4051ee12
+include/unicode/simpleformatter.h: 8e5e9a9589359e06110af10bcf941d54
+include/unicode/simpletz.h: 194e0d388b74daa4cf51d012e2d14ebd
+include/unicode/smpdtfmt.h: 0e6383eafd569b511791e826b51df8d1
+include/unicode/sortkey.h: 27f3d671f37c27d0b36953d00c1f2e7b
+include/unicode/std_string.h: bb3b2e28a2ae9b66a60b7d90f8c07512
+include/unicode/strenum.h: 3c23eb4fa4d847b6afdd18adf3ccdaf5
+include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
+include/unicode/stringpiece.h: 3d7911a3b2a59830eaceb37e46110285
+include/unicode/stringtriebuilder.h: 08ce10a0f6e85f4bb078f69d5382f8bc
+include/unicode/stsearch.h: b15838a5cf5740b0aaa9af5356aef26b
+include/unicode/symtable.h: 7487ffc7069316553d08f1109965bf9d
+include/unicode/tblcoll.h: ee27157293d0802cde26d75c6098c1d3
+include/unicode/timezone.h: 54689b5ef15d0f03a146e8aeac163be8
+include/unicode/tmunit.h: 9ddf31866353dde1ae249ed93fce9234
+include/unicode/tmutamt.h: beea411e9f16d8b91fef39a297cd06d8
+include/unicode/tmutfmt.h: ae13f8ac46ad754bf83142943b19a647
+include/unicode/translit.h: f225620498133e8e4bcc2ad6679225e5
+include/unicode/tzfmt.h: b6c94cd901ffe5387f0245ca9fd68604
+include/unicode/tznames.h: a50010925037c01304c719e47bfb369a
+include/unicode/tzrule.h: 0e3465c0eeb27a0545f94bf9f5cfc21e
+include/unicode/tztrans.h: 117392a0dc2fe373946aecfa74475842
+include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
+include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
+include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
+include/unicode/ucal.h: d247badde5d39cc16e06d26153054c85
+include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
+include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
+include/unicode/uchar.h: ebac2b0b753a1cd10db2f428736bf06d
+include/unicode/ucharstrie.h: 16d3d38154f1444b8a3425254ab7ab81
+include/unicode/ucharstriebuilder.h: b92f18132f6c1d61da0ad51b8099435d
+include/unicode/uchriter.h: a356cb90d62d9e425e5efbb071c30b21
+include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
+include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
+include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
+include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
+include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
+include/unicode/ucol.h: 47c1acc6c2bde098f0b06c8590d68b9f
+include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
+include/unicode/uconfig.h: 80678a12de446cdf8679cdd5792a12e9
+include/unicode/ucpmap.h: 0b16934410c99981d87ddd10e1759bed
+include/unicode/ucptrie.h: 7450de71dd5e1a83f5290da33d48d40d
+include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
+include/unicode/ucurr.h: 5de7a80ece54cf7583e19f292ad17825
+include/unicode/udat.h: c665d53e4691b564ae5394957fcdcf31
+include/unicode/udata.h: 98e2327300a26bbaf40bd8eb7eee8c1a
+include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
+include/unicode/udatpg.h: ce0332b911d1a820a0b45922bd0e97fc
+include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
+include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
+include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
+include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
+include/unicode/uformattedvalue.h: e1e69e0927595423076481b8f948fd2a
+include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
+include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
+include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
+include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
+include/unicode/ulistformatter.h: 21277400caea3c7e7fdb57457c10e423
+include/unicode/uloc.h: 39d42620d3a97a7ae26d7b560ea3eacc
+include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
+include/unicode/umachine.h: 0a7fe7df81aedd43f322a9ec540feff5
+include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
+include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
+include/unicode/umutablecptrie.h: 5dc81c63a8b2c80ffd401c9bb5180e61
+include/unicode/unifilt.h: e170c06bf1bf81a56c7ed605d41fa02f
+include/unicode/unifunct.h: 23981a5088ba5d5af70309b73eef7666
+include/unicode/unimatch.h: 66161ce491e3b24e9e011cfc0e78be42
+include/unicode/unirepl.h: 462716fd44618949b405645ba7b5c8e6
+include/unicode/uniset.h: cb94f902233b2e1807156afe0967e3e0
+include/unicode/unistr.h: 5ebe061e4a17e981bb249c4814f4dd9d
+include/unicode/unorm.h: ca96f37ed2e2afd56585a238d73cea51
+include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
+include/unicode/unum.h: 656d2aa9a41ca4b7bfad0a09420bdc23
+include/unicode/unumberformatter.h: 9be73b6bb76bb5862a8dfd615e563b82
+include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
+include/unicode/uobject.h: b56a28b01e3df9088315aeb145ec3a8e
+include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
+include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
+include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
+include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
+include/unicode/urename.h: 1642d190b583bbaaf454ac65a37a8024
+include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
+include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
+include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
+include/unicode/usearch.h: 1f3fcea9dc6c40e908992e74f602235f
+include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
+include/unicode/usetiter.h: ab1ebd4b0b9e3560a94a7c6cb3a9e48f
+include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
+include/unicode/uspoof.h: 8b9508cbe045b114f0f618d04fcab512
+include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
+include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
+include/unicode/ustream.h: 0a74df2b9d1967d0b859d21f5828f4e8
+include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
+include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
+include/unicode/utext.h: 89a08f750d0c5751d4f385c4874c0e61
+include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
+include/unicode/utf16.h: 147fbb88d8300af3e38d80ce59c1c1ce
+include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
+include/unicode/utf8.h: 7f0c4c02bd7506e80fd11a4597cc1450
+include/unicode/utf_old.h: 92ffc297b71c8d83ed05b644183c477c
+include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
+include/unicode/utrace.h: 420d2f8d462ae300ca1903c2a6ebaba3
+include/unicode/utrans.h: 5cd9b1f130197e5fdd8a66519233abf5
+include/unicode/utypes.h: 47eb8ff3f909dafa9bee14f8bb224342
+include/unicode/uvernum.h: a91a8e07c665891ed234de3a58302663
+include/unicode/uversion.h: 0b8f75f3d1c816ee3359dde5be390d17
+include/unicode/vtzone.h: 615f12cb0d05441d0872aa677db80a90
+lib/icu/65.1/Makefile.inc: a010e16166fd57feaffe08a65d0ae173
+lib/icu/65.1/pkgdata.inc: 9e0c896d9c5269625cebf6cbe09cbd1c
+lib/icu/Makefile.inc: a010e16166fd57feaffe08a65d0ae173
+lib/icu/current/Makefile.inc: a010e16166fd57feaffe08a65d0ae173
+lib/icu/current/pkgdata.inc: 9e0c896d9c5269625cebf6cbe09cbd1c
+lib/icu/pkgdata.inc: 9e0c896d9c5269625cebf6cbe09cbd1c
+lib/icudt.lib: ad50da716c0eb6bcdc66a7af5d049876
+lib/icuin.lib: d8b960575d5737a7e80a0eaf77a0ccd3
+lib/icuio.lib: 5edd899a7b0a07ef963258ee9adb4558
+lib/icutest.lib: 192e87c4ce05c5eda7a2697127b133b3
+lib/icutu.lib: 30f71a2ff5da26365e87511eff019264
+lib/icuuc.lib: b2df448006c67b3ba595ec3096a58286
+lib/pkgconfig/icu-i18n.pc: 6edbc25754da101395bb827058b3066e
+lib/pkgconfig/icu-io.pc: 3354070d7484f6e3ef09f18e28290679
+lib/pkgconfig/icu-uc.pc: 2c56fbbb59cde31869da0e5b0224c770
+licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/config/mh-msys-msvc: c3bf313c25288142820e4ab191c1c153
+share/icu/65.1/install-sh: 5afe8eb5573965dfb58378e4e46f3813
+share/icu/65.1/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
+share/man/man1/derb.1: bddb017162105939f6d43c9539c99497
+share/man/man1/genbrk.1: a4e60e4a60ab26eb29119649bfb60d2b
+share/man/man1/gencfu.1: 4950b8178b944a3ebfea1c419ffd3319
+share/man/man1/gencnval.1: 53b10d9351473a7ea603400973377a7d
+share/man/man1/gendict.1: 9c1bf2760e5735b0e6601f48e92cb0d9
+share/man/man1/genrb.1: ffebc1e8007bd58f5623299e6b4babe8
+share/man/man1/icu-config.1: f4670ca16d77ce21310e48aa91f7ee5b
+share/man/man1/makeconv.1: c96397ad56d2c21649757c407aac46d8
+share/man/man1/pkgdata.1: 5f7b05c28de887cca1e5d7bfb9db4c39
+share/man/man8/genccode.8: 498418dc0aec1fa7ccfb83c491b5a23e
+share/man/man8/gencmn.8: c43635e431ea0f1616ea8266e36c0d75
+share/man/man8/gensprep.8: 396d70fec1a04aae25e6bfc6e8e58c65
+share/man/man8/icupkg.8: 430bcbed42faa9ea33b161a48c0490c6
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/5a523494e1f78e9c3900ce2f09380672c297a203/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/5a523494e1f78e9c3900ce2f09380672c297a203/conanmanifest.txt
new file mode 100644
index 00000000..2640cf1e
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/5a523494e1f78e9c3900ce2f09380672c297a203/conanmanifest.txt
@@ -0,0 +1,250 @@
+1599824441
+bin/derb.exe: bdf63b2f5b550979a89e67cffc8825dc
+bin/escapesrc.exe: 137b889673457a447f351f5e874eac3d
+bin/genbrk.exe: bb3294c7064cb973f2ca07ee553f0420
+bin/genccode.exe: 820b92ed20fb38886dea4447f12911af
+bin/gencfu.exe: aa4365ba9562fa1bbc4416fbbac63fb2
+bin/gencmn.exe: 178c5b5cff63d0e0fe9b47a4a0afb5a2
+bin/gencnval.exe: 71a8bdcb6532c752fb4e106fa602c200
+bin/gendict.exe: 420fcd1d350c9ed1ef451c8e77f023dc
+bin/gennorm2.exe: 85cd1fa266ff3a0455760b12a9689fc1
+bin/genrb.exe: 480231b78483ccb146b6815a811efac3
+bin/gensprep.exe: 0abbaf32db163eab36b6fdb6930c1532
+bin/icu-config: 524e7418a34b9f37fa3d720538887dcf
+bin/icudt.dll: 56532bd6f97572f1ff2f5c269c200cfa
+bin/icudt65.dll: 09337a242c43e958c75c630e76f58626
+bin/icuin.dll: ccf458a6762ea1248b633f260f60570b
+bin/icuin65.dll: ccf458a6762ea1248b633f260f60570b
+bin/icuinfo.exe: 4274c1a2507c370533ce1151533d5e20
+bin/icuio.dll: 5c92afa27046b497ea879c5bf4d10577
+bin/icuio65.dll: 5c92afa27046b497ea879c5bf4d10577
+bin/icupkg.exe: d679b1024f2e26c1f8a1b77e7258e98f
+bin/icutest.dll: 562c79d8df0fc5048f4546917b2738f2
+bin/icutest65.dll: 562c79d8df0fc5048f4546917b2738f2
+bin/icutu.dll: e45504e5c6ccde54658a7df8bd88108d
+bin/icutu65.dll: e45504e5c6ccde54658a7df8bd88108d
+bin/icuuc.dll: d8e8d4d51a9fd6a9849fa4ca5812f0bb
+bin/icuuc65.dll: d8e8d4d51a9fd6a9849fa4ca5812f0bb
+bin/makeconv.exe: 6b4805b126655a2b95428b10cf08b25f
+bin/pkgdata.exe: 6455bddfee736917790fcad7d326f8c1
+conaninfo.txt: 411145de18abdd9c818ab023e965129b
+include/unicode/alphaindex.h: 1be039746e3da3f7baa9421062373468
+include/unicode/appendable.h: 48b3a0a4c3044ad5f2af18f1ab48c8ff
+include/unicode/basictz.h: 57fe3c53d6b1a2bf5d1f40ec51efd7a1
+include/unicode/brkiter.h: e5ff475b7b01a97e5cd11a5362785921
+include/unicode/bytestream.h: 34a6807cd42f2e64ca60429897eb4b10
+include/unicode/bytestrie.h: d9be048d5c7e9dd0a2c6cd82e91e6002
+include/unicode/bytestriebuilder.h: 66236ad8247bd04c9ea525012b4c4ca8
+include/unicode/calendar.h: 692005b416fc2e4a8c497ff9b9a31bd8
+include/unicode/caniter.h: a70809c92ea90b654e9f11a793f84429
+include/unicode/casemap.h: d088e7422633b4cad3ad2b0b83ca239b
+include/unicode/char16ptr.h: c234b9ba14299c6068f5af1a936c1ead
+include/unicode/chariter.h: c8623016adba39ab38ef29f38ec87e45
+include/unicode/choicfmt.h: 832e7b39d19ec192ac1551360436f946
+include/unicode/coleitr.h: d9f07937d600ee811c121c0b0504724c
+include/unicode/coll.h: a2062360d7415e08abb01c44088f074e
+include/unicode/compactdecimalformat.h: 029f9640501bd640495c18397b5ff8bb
+include/unicode/curramt.h: 41fc0e62956b2e0fa7fd5e05213afc85
+include/unicode/currpinf.h: 09cbc4d9eb04b2aa2c4c155961f13c89
+include/unicode/currunit.h: 43648726f439d03c8c8a13b87c122332
+include/unicode/datefmt.h: 28ef92e98cdac29630b0aa0daf122798
+include/unicode/dbbi.h: 3d4186ec9549d6693d136257f610ec06
+include/unicode/dcfmtsym.h: b18b90c0c6371eab5028582492859142
+include/unicode/decimfmt.h: fb4231ddf75de524300ee952634ef038
+include/unicode/docmain.h: 697c221351932e373cf9e5903f40b723
+include/unicode/dtfmtsym.h: cabbccbf9deec91ebf291a19110007fb
+include/unicode/dtintrv.h: 7a7ce170e6035b90ef5b4bee91893833
+include/unicode/dtitvfmt.h: da220b13a8f895c4e77b653d865eb049
+include/unicode/dtitvinf.h: 1ad6b7f844a9362b2b7a0f509284cae7
+include/unicode/dtptngen.h: 8f8fcb053b5024c5b1d3dfc258f59344
+include/unicode/dtrule.h: 68551564f8ab72271d3574aa0cba381d
+include/unicode/edits.h: 6b8aa73dbf2c2f0b49da5bc5903bcc8c
+include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
+include/unicode/errorcode.h: debeda4467a19aaf964fafc73629c8ae
+include/unicode/fieldpos.h: 3b041c7d9a5df0aef744b88e764af17e
+include/unicode/filteredbrk.h: e54dd29247eb75f8490423f7f8541691
+include/unicode/fmtable.h: 3816f155db2c35ac5de3f80ffdaa549c
+include/unicode/format.h: 0417863e1b303fa282659c4903e3a11c
+include/unicode/formattedvalue.h: fc50c8972404b212799d76cf8e647888
+include/unicode/fpositer.h: b5e8bbc249dc37e3b159f0a2b5053957
+include/unicode/gender.h: 5e093c1cfb96ef671f2e5dedb96a0d64
+include/unicode/gregocal.h: 15c7b4ceaca9b8b8f8e747d5427aa7a7
+include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
+include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
+include/unicode/idna.h: a7c3650d5311edeb01f754c574d0fb8b
+include/unicode/listformatter.h: 65911d72679c6e0a267e951b03467f37
+include/unicode/localebuilder.h: 1b6106448cf6cde7e7ebf25ee6fe4065
+include/unicode/localematcher.h: 3a03cbb5970a14fe153041c878f583f2
+include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
+include/unicode/locdspnm.h: aa260a00e31e970757e3b3cbe00fff3d
+include/unicode/locid.h: 6caa36f85c9bab54b78ecd0c056789aa
+include/unicode/measfmt.h: 21b534367e4b3825dc70c3a289822df8
+include/unicode/measunit.h: 0f903f67958ad91e8bd2e49fc40c3075
+include/unicode/measure.h: 49091c823a2f12f5f60f7fecd7c452f2
+include/unicode/messagepattern.h: 15ecc58806c256ac91c2549d4f5c242f
+include/unicode/msgfmt.h: f9ff9322fa80486203829c15d4982573
+include/unicode/normalizer2.h: 436d923df3a66774b7bf26ffe75a5d1c
+include/unicode/normlzr.h: 5bf33ff933ee7eb49c330df38f490f57
+include/unicode/nounit.h: 2b4901f562077b370d82c4bbe229aac4
+include/unicode/numberformatter.h: 0f62c292f92d5598a61647bbf4294e1a
+include/unicode/numberrangeformatter.h: 58623918bf66f1fd6687f3dd03180a4b
+include/unicode/numfmt.h: 2a21117116463390ec4f19d53f485890
+include/unicode/numsys.h: 186ba43c003b4f56af3c63abd08f418e
+include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
+include/unicode/parsepos.h: 5c53fa7c473d4593fd72ce964b505807
+include/unicode/platform.h: 56fe53b31059acb1be086c45ce88e8c6
+include/unicode/plurfmt.h: 6f1b781b7a62a6ac1c7e4c6a2bb18d77
+include/unicode/plurrule.h: cf4b0b9ec1a525b96e7d27e489044337
+include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
+include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
+include/unicode/rbbi.h: 6c5f44ef812dfb48b65466732513c091
+include/unicode/rbnf.h: e870f2cf64c9b72eb549c413d6f98299
+include/unicode/rbtz.h: ea9f5a1edac3fe535ec7b83636daf61d
+include/unicode/regex.h: 16565e3d41228a76f17a63842d9594d2
+include/unicode/region.h: 22585a516ee7525f3e9094f2843b7640
+include/unicode/reldatefmt.h: 1b226903d9375471432582c27ade4934
+include/unicode/rep.h: eab550a9bbb33b4c1283ab16bc2dfafa
+include/unicode/resbund.h: cc93ada0e9871eee0a86f81548a3be73
+include/unicode/schriter.h: acea2a510e5c9127dad0e2538cf65ccd
+include/unicode/scientificnumberformatter.h: 40eb759fc2902b6c8e732b440fe6a1bc
+include/unicode/search.h: a93ebdadfc5113f1b9c9c185262ef461
+include/unicode/selfmt.h: 581ab6f6ac584265d5c56dad4051ee12
+include/unicode/simpleformatter.h: 8e5e9a9589359e06110af10bcf941d54
+include/unicode/simpletz.h: 194e0d388b74daa4cf51d012e2d14ebd
+include/unicode/smpdtfmt.h: 0e6383eafd569b511791e826b51df8d1
+include/unicode/sortkey.h: 27f3d671f37c27d0b36953d00c1f2e7b
+include/unicode/std_string.h: bb3b2e28a2ae9b66a60b7d90f8c07512
+include/unicode/strenum.h: 3c23eb4fa4d847b6afdd18adf3ccdaf5
+include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
+include/unicode/stringpiece.h: 3d7911a3b2a59830eaceb37e46110285
+include/unicode/stringtriebuilder.h: 08ce10a0f6e85f4bb078f69d5382f8bc
+include/unicode/stsearch.h: b15838a5cf5740b0aaa9af5356aef26b
+include/unicode/symtable.h: 7487ffc7069316553d08f1109965bf9d
+include/unicode/tblcoll.h: ee27157293d0802cde26d75c6098c1d3
+include/unicode/timezone.h: 54689b5ef15d0f03a146e8aeac163be8
+include/unicode/tmunit.h: 9ddf31866353dde1ae249ed93fce9234
+include/unicode/tmutamt.h: beea411e9f16d8b91fef39a297cd06d8
+include/unicode/tmutfmt.h: ae13f8ac46ad754bf83142943b19a647
+include/unicode/translit.h: f225620498133e8e4bcc2ad6679225e5
+include/unicode/tzfmt.h: b6c94cd901ffe5387f0245ca9fd68604
+include/unicode/tznames.h: a50010925037c01304c719e47bfb369a
+include/unicode/tzrule.h: 0e3465c0eeb27a0545f94bf9f5cfc21e
+include/unicode/tztrans.h: 117392a0dc2fe373946aecfa74475842
+include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
+include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
+include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
+include/unicode/ucal.h: d247badde5d39cc16e06d26153054c85
+include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
+include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
+include/unicode/uchar.h: ebac2b0b753a1cd10db2f428736bf06d
+include/unicode/ucharstrie.h: 16d3d38154f1444b8a3425254ab7ab81
+include/unicode/ucharstriebuilder.h: b92f18132f6c1d61da0ad51b8099435d
+include/unicode/uchriter.h: a356cb90d62d9e425e5efbb071c30b21
+include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
+include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
+include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
+include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
+include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
+include/unicode/ucol.h: 47c1acc6c2bde098f0b06c8590d68b9f
+include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
+include/unicode/uconfig.h: 80678a12de446cdf8679cdd5792a12e9
+include/unicode/ucpmap.h: 0b16934410c99981d87ddd10e1759bed
+include/unicode/ucptrie.h: 7450de71dd5e1a83f5290da33d48d40d
+include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
+include/unicode/ucurr.h: 5de7a80ece54cf7583e19f292ad17825
+include/unicode/udat.h: c665d53e4691b564ae5394957fcdcf31
+include/unicode/udata.h: 98e2327300a26bbaf40bd8eb7eee8c1a
+include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
+include/unicode/udatpg.h: ce0332b911d1a820a0b45922bd0e97fc
+include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
+include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
+include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
+include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
+include/unicode/uformattedvalue.h: e1e69e0927595423076481b8f948fd2a
+include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
+include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
+include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
+include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
+include/unicode/ulistformatter.h: 21277400caea3c7e7fdb57457c10e423
+include/unicode/uloc.h: 39d42620d3a97a7ae26d7b560ea3eacc
+include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
+include/unicode/umachine.h: 0a7fe7df81aedd43f322a9ec540feff5
+include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
+include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
+include/unicode/umutablecptrie.h: 5dc81c63a8b2c80ffd401c9bb5180e61
+include/unicode/unifilt.h: e170c06bf1bf81a56c7ed605d41fa02f
+include/unicode/unifunct.h: 23981a5088ba5d5af70309b73eef7666
+include/unicode/unimatch.h: 66161ce491e3b24e9e011cfc0e78be42
+include/unicode/unirepl.h: 462716fd44618949b405645ba7b5c8e6
+include/unicode/uniset.h: cb94f902233b2e1807156afe0967e3e0
+include/unicode/unistr.h: 5ebe061e4a17e981bb249c4814f4dd9d
+include/unicode/unorm.h: ca96f37ed2e2afd56585a238d73cea51
+include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
+include/unicode/unum.h: 656d2aa9a41ca4b7bfad0a09420bdc23
+include/unicode/unumberformatter.h: 9be73b6bb76bb5862a8dfd615e563b82
+include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
+include/unicode/uobject.h: b56a28b01e3df9088315aeb145ec3a8e
+include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
+include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
+include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
+include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
+include/unicode/urename.h: 1642d190b583bbaaf454ac65a37a8024
+include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
+include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
+include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
+include/unicode/usearch.h: 1f3fcea9dc6c40e908992e74f602235f
+include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
+include/unicode/usetiter.h: ab1ebd4b0b9e3560a94a7c6cb3a9e48f
+include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
+include/unicode/uspoof.h: 8b9508cbe045b114f0f618d04fcab512
+include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
+include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
+include/unicode/ustream.h: 0a74df2b9d1967d0b859d21f5828f4e8
+include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
+include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
+include/unicode/utext.h: 89a08f750d0c5751d4f385c4874c0e61
+include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
+include/unicode/utf16.h: 147fbb88d8300af3e38d80ce59c1c1ce
+include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
+include/unicode/utf8.h: 7f0c4c02bd7506e80fd11a4597cc1450
+include/unicode/utf_old.h: 92ffc297b71c8d83ed05b644183c477c
+include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
+include/unicode/utrace.h: 420d2f8d462ae300ca1903c2a6ebaba3
+include/unicode/utrans.h: 5cd9b1f130197e5fdd8a66519233abf5
+include/unicode/utypes.h: 47eb8ff3f909dafa9bee14f8bb224342
+include/unicode/uvernum.h: a91a8e07c665891ed234de3a58302663
+include/unicode/uversion.h: 0b8f75f3d1c816ee3359dde5be390d17
+include/unicode/vtzone.h: 615f12cb0d05441d0872aa677db80a90
+lib/icu/65.1/Makefile.inc: 82a9c670eb96bb7e73a660f769fb3503
+lib/icu/65.1/pkgdata.inc: 2d256010da2bbf625c500da0c9826d93
+lib/icu/Makefile.inc: 82a9c670eb96bb7e73a660f769fb3503
+lib/icu/current/Makefile.inc: 82a9c670eb96bb7e73a660f769fb3503
+lib/icu/current/pkgdata.inc: 2d256010da2bbf625c500da0c9826d93
+lib/icu/pkgdata.inc: 2d256010da2bbf625c500da0c9826d93
+lib/libicudt.dll.a: 2c21378a274a52b0cfc497029e57fc32
+lib/libicuin.dll.a: 36ed05dc4117699bf26d988dedab065e
+lib/libicuio.dll.a: 194a2f912ad715fa5a5ff70186c2809e
+lib/libicutest.dll.a: ff4d7834bd6190801772795c206fb9bf
+lib/libicutu.dll.a: d3e8cae651dddd4da2f960fdbde04c1f
+lib/libicuuc.dll.a: b371571253da468a123ad696382d9bef
+lib/pkgconfig/icu-i18n.pc: 7f34faeff3f9ad63e1ffd6526897f8d9
+lib/pkgconfig/icu-io.pc: 50afb654ad3f618eef1052195687b7cb
+lib/pkgconfig/icu-uc.pc: 2bc7002eccc3f2c53a1270cdc04a30d6
+licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/config/mh-mingw: 95446b7c74bc210a824c787c9bd47a93
+share/icu/65.1/install-sh: 5afe8eb5573965dfb58378e4e46f3813
+share/icu/65.1/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
+share/man/man1/derb.1: bddb017162105939f6d43c9539c99497
+share/man/man1/genbrk.1: a4e60e4a60ab26eb29119649bfb60d2b
+share/man/man1/gencfu.1: 4950b8178b944a3ebfea1c419ffd3319
+share/man/man1/gencnval.1: 53b10d9351473a7ea603400973377a7d
+share/man/man1/gendict.1: 9c1bf2760e5735b0e6601f48e92cb0d9
+share/man/man1/genrb.1: ffebc1e8007bd58f5623299e6b4babe8
+share/man/man1/icu-config.1: f4670ca16d77ce21310e48aa91f7ee5b
+share/man/man1/makeconv.1: c96397ad56d2c21649757c407aac46d8
+share/man/man1/pkgdata.1: 5f7b05c28de887cca1e5d7bfb9db4c39
+share/man/man8/genccode.8: 498418dc0aec1fa7ccfb83c491b5a23e
+share/man/man8/gencmn.8: c43635e431ea0f1616ea8266e36c0d75
+share/man/man8/gensprep.8: 396d70fec1a04aae25e6bfc6e8e58c65
+share/man/man8/icupkg.8: 430bcbed42faa9ea33b161a48c0490c6
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/5df173d8cb73784907692ca167e7d2e8316b10c7/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/5df173d8cb73784907692ca167e7d2e8316b10c7/conanmanifest.txt
new file mode 100644
index 00000000..04612903
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/5df173d8cb73784907692ca167e7d2e8316b10c7/conanmanifest.txt
@@ -0,0 +1,250 @@
+1599824772
+bin/derb.exe: 68f722afeee75e9e4ea733789eba324d
+bin/escapesrc.exe: 5ad48603ddefa7d75f9589db693311a0
+bin/genbrk.exe: cb5487bd37da74c470576d584803a0fd
+bin/genccode.exe: 80d139a2b22c5c6a7c2ae6801cd8a3ee
+bin/gencfu.exe: a9f417b50cd8237299100d349d78758e
+bin/gencmn.exe: cf1a794d018ea5a93db501c4a17d0945
+bin/gencnval.exe: 2f9cf00a1c6d6ff40f6cc1d2420f2ac9
+bin/gendict.exe: bda284e8eb469caad6ff4320060bd63d
+bin/gennorm2.exe: 643cc388bf9f49a1c22274070237e4b5
+bin/genrb.exe: 900294bcf2ba376e8a53dd0681efba84
+bin/gensprep.exe: f04c5265bb68e10eb86bbe812348a18a
+bin/icu-config: 7ff0a51957bda1eec9b2ea457e7bacab
+bin/icudt.dll: 1e1a6b8fbf1093c1b4fab982c4b62c39
+bin/icudt65.dll: 91e49d019e10d91cccada5b136f68dec
+bin/icuin.dll: a67701e7309fae5371c5f656f0deabea
+bin/icuin65.dll: a67701e7309fae5371c5f656f0deabea
+bin/icuinfo.exe: 7fd856803068da1b6d736f88d5578444
+bin/icuio.dll: e53d31b6899dbcec1eb77da207c8e1cc
+bin/icuio65.dll: e53d31b6899dbcec1eb77da207c8e1cc
+bin/icupkg.exe: 26c99ac9bf0aef675b6be3d0e4ec1f96
+bin/icutest.dll: 29acd15f69048c04adc7350ea2f7422a
+bin/icutest65.dll: 29acd15f69048c04adc7350ea2f7422a
+bin/icutu.dll: 4b0c32dd74735e9cd2421026fd5a26d9
+bin/icutu65.dll: 4b0c32dd74735e9cd2421026fd5a26d9
+bin/icuuc.dll: ff8cfb1cb4360f103f0ab37a21b0f565
+bin/icuuc65.dll: ff8cfb1cb4360f103f0ab37a21b0f565
+bin/makeconv.exe: 2f22caee13d695a9c596aa97eb581cf7
+bin/pkgdata.exe: 49ebcb66931fd627061de5683646d511
+conaninfo.txt: c04d7a669f242e429c8cd6c4c9f9b250
+include/unicode/alphaindex.h: 1be039746e3da3f7baa9421062373468
+include/unicode/appendable.h: 48b3a0a4c3044ad5f2af18f1ab48c8ff
+include/unicode/basictz.h: 57fe3c53d6b1a2bf5d1f40ec51efd7a1
+include/unicode/brkiter.h: e5ff475b7b01a97e5cd11a5362785921
+include/unicode/bytestream.h: 34a6807cd42f2e64ca60429897eb4b10
+include/unicode/bytestrie.h: d9be048d5c7e9dd0a2c6cd82e91e6002
+include/unicode/bytestriebuilder.h: 66236ad8247bd04c9ea525012b4c4ca8
+include/unicode/calendar.h: 692005b416fc2e4a8c497ff9b9a31bd8
+include/unicode/caniter.h: a70809c92ea90b654e9f11a793f84429
+include/unicode/casemap.h: d088e7422633b4cad3ad2b0b83ca239b
+include/unicode/char16ptr.h: c234b9ba14299c6068f5af1a936c1ead
+include/unicode/chariter.h: c8623016adba39ab38ef29f38ec87e45
+include/unicode/choicfmt.h: 832e7b39d19ec192ac1551360436f946
+include/unicode/coleitr.h: d9f07937d600ee811c121c0b0504724c
+include/unicode/coll.h: a2062360d7415e08abb01c44088f074e
+include/unicode/compactdecimalformat.h: 029f9640501bd640495c18397b5ff8bb
+include/unicode/curramt.h: 41fc0e62956b2e0fa7fd5e05213afc85
+include/unicode/currpinf.h: 09cbc4d9eb04b2aa2c4c155961f13c89
+include/unicode/currunit.h: 43648726f439d03c8c8a13b87c122332
+include/unicode/datefmt.h: 28ef92e98cdac29630b0aa0daf122798
+include/unicode/dbbi.h: 3d4186ec9549d6693d136257f610ec06
+include/unicode/dcfmtsym.h: b18b90c0c6371eab5028582492859142
+include/unicode/decimfmt.h: fb4231ddf75de524300ee952634ef038
+include/unicode/docmain.h: 697c221351932e373cf9e5903f40b723
+include/unicode/dtfmtsym.h: cabbccbf9deec91ebf291a19110007fb
+include/unicode/dtintrv.h: 7a7ce170e6035b90ef5b4bee91893833
+include/unicode/dtitvfmt.h: da220b13a8f895c4e77b653d865eb049
+include/unicode/dtitvinf.h: 1ad6b7f844a9362b2b7a0f509284cae7
+include/unicode/dtptngen.h: 8f8fcb053b5024c5b1d3dfc258f59344
+include/unicode/dtrule.h: 68551564f8ab72271d3574aa0cba381d
+include/unicode/edits.h: 6b8aa73dbf2c2f0b49da5bc5903bcc8c
+include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
+include/unicode/errorcode.h: debeda4467a19aaf964fafc73629c8ae
+include/unicode/fieldpos.h: 3b041c7d9a5df0aef744b88e764af17e
+include/unicode/filteredbrk.h: e54dd29247eb75f8490423f7f8541691
+include/unicode/fmtable.h: 3816f155db2c35ac5de3f80ffdaa549c
+include/unicode/format.h: 0417863e1b303fa282659c4903e3a11c
+include/unicode/formattedvalue.h: fc50c8972404b212799d76cf8e647888
+include/unicode/fpositer.h: b5e8bbc249dc37e3b159f0a2b5053957
+include/unicode/gender.h: 5e093c1cfb96ef671f2e5dedb96a0d64
+include/unicode/gregocal.h: 15c7b4ceaca9b8b8f8e747d5427aa7a7
+include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
+include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
+include/unicode/idna.h: a7c3650d5311edeb01f754c574d0fb8b
+include/unicode/listformatter.h: 65911d72679c6e0a267e951b03467f37
+include/unicode/localebuilder.h: 1b6106448cf6cde7e7ebf25ee6fe4065
+include/unicode/localematcher.h: 3a03cbb5970a14fe153041c878f583f2
+include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
+include/unicode/locdspnm.h: aa260a00e31e970757e3b3cbe00fff3d
+include/unicode/locid.h: 6caa36f85c9bab54b78ecd0c056789aa
+include/unicode/measfmt.h: 21b534367e4b3825dc70c3a289822df8
+include/unicode/measunit.h: 0f903f67958ad91e8bd2e49fc40c3075
+include/unicode/measure.h: 49091c823a2f12f5f60f7fecd7c452f2
+include/unicode/messagepattern.h: 15ecc58806c256ac91c2549d4f5c242f
+include/unicode/msgfmt.h: f9ff9322fa80486203829c15d4982573
+include/unicode/normalizer2.h: 436d923df3a66774b7bf26ffe75a5d1c
+include/unicode/normlzr.h: 5bf33ff933ee7eb49c330df38f490f57
+include/unicode/nounit.h: 2b4901f562077b370d82c4bbe229aac4
+include/unicode/numberformatter.h: 0f62c292f92d5598a61647bbf4294e1a
+include/unicode/numberrangeformatter.h: 58623918bf66f1fd6687f3dd03180a4b
+include/unicode/numfmt.h: 2a21117116463390ec4f19d53f485890
+include/unicode/numsys.h: 186ba43c003b4f56af3c63abd08f418e
+include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
+include/unicode/parsepos.h: 5c53fa7c473d4593fd72ce964b505807
+include/unicode/platform.h: 56fe53b31059acb1be086c45ce88e8c6
+include/unicode/plurfmt.h: 6f1b781b7a62a6ac1c7e4c6a2bb18d77
+include/unicode/plurrule.h: cf4b0b9ec1a525b96e7d27e489044337
+include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
+include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
+include/unicode/rbbi.h: 6c5f44ef812dfb48b65466732513c091
+include/unicode/rbnf.h: e870f2cf64c9b72eb549c413d6f98299
+include/unicode/rbtz.h: ea9f5a1edac3fe535ec7b83636daf61d
+include/unicode/regex.h: 16565e3d41228a76f17a63842d9594d2
+include/unicode/region.h: 22585a516ee7525f3e9094f2843b7640
+include/unicode/reldatefmt.h: 1b226903d9375471432582c27ade4934
+include/unicode/rep.h: eab550a9bbb33b4c1283ab16bc2dfafa
+include/unicode/resbund.h: cc93ada0e9871eee0a86f81548a3be73
+include/unicode/schriter.h: acea2a510e5c9127dad0e2538cf65ccd
+include/unicode/scientificnumberformatter.h: 40eb759fc2902b6c8e732b440fe6a1bc
+include/unicode/search.h: a93ebdadfc5113f1b9c9c185262ef461
+include/unicode/selfmt.h: 581ab6f6ac584265d5c56dad4051ee12
+include/unicode/simpleformatter.h: 8e5e9a9589359e06110af10bcf941d54
+include/unicode/simpletz.h: 194e0d388b74daa4cf51d012e2d14ebd
+include/unicode/smpdtfmt.h: 0e6383eafd569b511791e826b51df8d1
+include/unicode/sortkey.h: 27f3d671f37c27d0b36953d00c1f2e7b
+include/unicode/std_string.h: bb3b2e28a2ae9b66a60b7d90f8c07512
+include/unicode/strenum.h: 3c23eb4fa4d847b6afdd18adf3ccdaf5
+include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
+include/unicode/stringpiece.h: 3d7911a3b2a59830eaceb37e46110285
+include/unicode/stringtriebuilder.h: 08ce10a0f6e85f4bb078f69d5382f8bc
+include/unicode/stsearch.h: b15838a5cf5740b0aaa9af5356aef26b
+include/unicode/symtable.h: 7487ffc7069316553d08f1109965bf9d
+include/unicode/tblcoll.h: ee27157293d0802cde26d75c6098c1d3
+include/unicode/timezone.h: 54689b5ef15d0f03a146e8aeac163be8
+include/unicode/tmunit.h: 9ddf31866353dde1ae249ed93fce9234
+include/unicode/tmutamt.h: beea411e9f16d8b91fef39a297cd06d8
+include/unicode/tmutfmt.h: ae13f8ac46ad754bf83142943b19a647
+include/unicode/translit.h: f225620498133e8e4bcc2ad6679225e5
+include/unicode/tzfmt.h: b6c94cd901ffe5387f0245ca9fd68604
+include/unicode/tznames.h: a50010925037c01304c719e47bfb369a
+include/unicode/tzrule.h: 0e3465c0eeb27a0545f94bf9f5cfc21e
+include/unicode/tztrans.h: 117392a0dc2fe373946aecfa74475842
+include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
+include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
+include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
+include/unicode/ucal.h: d247badde5d39cc16e06d26153054c85
+include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
+include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
+include/unicode/uchar.h: ebac2b0b753a1cd10db2f428736bf06d
+include/unicode/ucharstrie.h: 16d3d38154f1444b8a3425254ab7ab81
+include/unicode/ucharstriebuilder.h: b92f18132f6c1d61da0ad51b8099435d
+include/unicode/uchriter.h: a356cb90d62d9e425e5efbb071c30b21
+include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
+include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
+include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
+include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
+include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
+include/unicode/ucol.h: 47c1acc6c2bde098f0b06c8590d68b9f
+include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
+include/unicode/uconfig.h: 80678a12de446cdf8679cdd5792a12e9
+include/unicode/ucpmap.h: 0b16934410c99981d87ddd10e1759bed
+include/unicode/ucptrie.h: 7450de71dd5e1a83f5290da33d48d40d
+include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
+include/unicode/ucurr.h: 5de7a80ece54cf7583e19f292ad17825
+include/unicode/udat.h: c665d53e4691b564ae5394957fcdcf31
+include/unicode/udata.h: 98e2327300a26bbaf40bd8eb7eee8c1a
+include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
+include/unicode/udatpg.h: ce0332b911d1a820a0b45922bd0e97fc
+include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
+include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
+include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
+include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
+include/unicode/uformattedvalue.h: e1e69e0927595423076481b8f948fd2a
+include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
+include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
+include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
+include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
+include/unicode/ulistformatter.h: 21277400caea3c7e7fdb57457c10e423
+include/unicode/uloc.h: 39d42620d3a97a7ae26d7b560ea3eacc
+include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
+include/unicode/umachine.h: 0a7fe7df81aedd43f322a9ec540feff5
+include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
+include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
+include/unicode/umutablecptrie.h: 5dc81c63a8b2c80ffd401c9bb5180e61
+include/unicode/unifilt.h: e170c06bf1bf81a56c7ed605d41fa02f
+include/unicode/unifunct.h: 23981a5088ba5d5af70309b73eef7666
+include/unicode/unimatch.h: 66161ce491e3b24e9e011cfc0e78be42
+include/unicode/unirepl.h: 462716fd44618949b405645ba7b5c8e6
+include/unicode/uniset.h: cb94f902233b2e1807156afe0967e3e0
+include/unicode/unistr.h: 5ebe061e4a17e981bb249c4814f4dd9d
+include/unicode/unorm.h: ca96f37ed2e2afd56585a238d73cea51
+include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
+include/unicode/unum.h: 656d2aa9a41ca4b7bfad0a09420bdc23
+include/unicode/unumberformatter.h: 9be73b6bb76bb5862a8dfd615e563b82
+include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
+include/unicode/uobject.h: b56a28b01e3df9088315aeb145ec3a8e
+include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
+include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
+include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
+include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
+include/unicode/urename.h: 1642d190b583bbaaf454ac65a37a8024
+include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
+include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
+include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
+include/unicode/usearch.h: 1f3fcea9dc6c40e908992e74f602235f
+include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
+include/unicode/usetiter.h: ab1ebd4b0b9e3560a94a7c6cb3a9e48f
+include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
+include/unicode/uspoof.h: 8b9508cbe045b114f0f618d04fcab512
+include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
+include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
+include/unicode/ustream.h: 0a74df2b9d1967d0b859d21f5828f4e8
+include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
+include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
+include/unicode/utext.h: 89a08f750d0c5751d4f385c4874c0e61
+include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
+include/unicode/utf16.h: 147fbb88d8300af3e38d80ce59c1c1ce
+include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
+include/unicode/utf8.h: 7f0c4c02bd7506e80fd11a4597cc1450
+include/unicode/utf_old.h: 92ffc297b71c8d83ed05b644183c477c
+include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
+include/unicode/utrace.h: 420d2f8d462ae300ca1903c2a6ebaba3
+include/unicode/utrans.h: 5cd9b1f130197e5fdd8a66519233abf5
+include/unicode/utypes.h: 47eb8ff3f909dafa9bee14f8bb224342
+include/unicode/uvernum.h: a91a8e07c665891ed234de3a58302663
+include/unicode/uversion.h: 0b8f75f3d1c816ee3359dde5be390d17
+include/unicode/vtzone.h: 615f12cb0d05441d0872aa677db80a90
+lib/icu/65.1/Makefile.inc: ae4b3c0b2dcf1a107c37da529a5a572d
+lib/icu/65.1/pkgdata.inc: 392ec5b38e95048f06b739125b748364
+lib/icu/Makefile.inc: ae4b3c0b2dcf1a107c37da529a5a572d
+lib/icu/current/Makefile.inc: ae4b3c0b2dcf1a107c37da529a5a572d
+lib/icu/current/pkgdata.inc: 392ec5b38e95048f06b739125b748364
+lib/icu/pkgdata.inc: 392ec5b38e95048f06b739125b748364
+lib/libicudt.dll.a: 42327b89226e435dee32d4ed4043dd1e
+lib/libicuin.dll.a: a479b7dfc0f69346644676625cab1154
+lib/libicuio.dll.a: 1b048a7fcae8905fa929b9ef282d05c8
+lib/libicutest.dll.a: af3d4912fe492f3089589416a582bff3
+lib/libicutu.dll.a: d27299ee9de0bfa2f7130b177a101ced
+lib/libicuuc.dll.a: 0f98b361c734d8d5cd157678c8d7d6f1
+lib/pkgconfig/icu-i18n.pc: 5a7e7ff2a321db58b97ccaa41ea54e3b
+lib/pkgconfig/icu-io.pc: 426da02c84b5694772af9a5bc11dee9b
+lib/pkgconfig/icu-uc.pc: 5a761b97c6c84a60887f35393d0d15c2
+licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/config/mh-mingw64: 071f2f1be85f81141e4243ab65ca2a5b
+share/icu/65.1/install-sh: 5afe8eb5573965dfb58378e4e46f3813
+share/icu/65.1/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
+share/man/man1/derb.1: bddb017162105939f6d43c9539c99497
+share/man/man1/genbrk.1: a4e60e4a60ab26eb29119649bfb60d2b
+share/man/man1/gencfu.1: 4950b8178b944a3ebfea1c419ffd3319
+share/man/man1/gencnval.1: 53b10d9351473a7ea603400973377a7d
+share/man/man1/gendict.1: 9c1bf2760e5735b0e6601f48e92cb0d9
+share/man/man1/genrb.1: ffebc1e8007bd58f5623299e6b4babe8
+share/man/man1/icu-config.1: f4670ca16d77ce21310e48aa91f7ee5b
+share/man/man1/makeconv.1: c96397ad56d2c21649757c407aac46d8
+share/man/man1/pkgdata.1: 5f7b05c28de887cca1e5d7bfb9db4c39
+share/man/man8/genccode.8: 498418dc0aec1fa7ccfb83c491b5a23e
+share/man/man8/gencmn.8: c43635e431ea0f1616ea8266e36c0d75
+share/man/man8/gensprep.8: 396d70fec1a04aae25e6bfc6e8e58c65
+share/man/man8/icupkg.8: 430bcbed42faa9ea33b161a48c0490c6
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/a4f43a91306db32ecaa845a88306f02b0613c925/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/a4f43a91306db32ecaa845a88306f02b0613c925/conanmanifest.txt
new file mode 100644
index 00000000..4ea10475
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/a4f43a91306db32ecaa845a88306f02b0613c925/conanmanifest.txt
@@ -0,0 +1,250 @@
+1582254638
+bin/derb.exe: 9402347ec08d3affb5242e8915a1ae2e
+bin/escapesrc.exe: c68c5776435122d3cccb5c24bf558b15
+bin/genbrk.exe: 2fd2ad29c07b47ff04641ee563a02b52
+bin/genccode.exe: efa9d408230e4b1250d824fa9c217719
+bin/gencfu.exe: 5eaa7fd2dc326ccceead7ba393644f10
+bin/gencmn.exe: 534d11f13f1755fadc9afc46585883c8
+bin/gencnval.exe: 1a9f6b25b9913c581d930d42210ccd21
+bin/gendict.exe: a167352835a738970bd7c68cd1cd49dc
+bin/gennorm2.exe: 36154154f98af8bca4b0a123568cea63
+bin/genrb.exe: d773b260dc0e94e675deb9748c2da8dd
+bin/gensprep.exe: ff9455f54337bf6047c7db80ef728760
+bin/icu-config: 20abf6675f8bfb3fcf46f32fdf353b49
+bin/icudt.dll: 2f7b7b206e1f684599b45ba6edbfcb3d
+bin/icudt65.dll: b6f90422cf02717f781e15336af5ceca
+bin/icuin.dll: 1165d3bc96a47083286650f456020d75
+bin/icuin65.dll: 1165d3bc96a47083286650f456020d75
+bin/icuinfo.exe: 02b6d79b31b5c3e788382c6e1febd395
+bin/icuio.dll: 759fa58886a257da4b96472cf218e423
+bin/icuio65.dll: 759fa58886a257da4b96472cf218e423
+bin/icupkg.exe: 0c49dd3b01e6f4724804d200ab2c3a64
+bin/icutest.dll: e1756d2040f2582fd4fd0605597a3316
+bin/icutest65.dll: e1756d2040f2582fd4fd0605597a3316
+bin/icutu.dll: 594534d86f04ca685ff86de412823e62
+bin/icutu65.dll: 594534d86f04ca685ff86de412823e62
+bin/icuuc.dll: 180e21cdf903b9a464fb065be16ca58c
+bin/icuuc65.dll: 180e21cdf903b9a464fb065be16ca58c
+bin/makeconv.exe: fd402c849b984d94b93385a0e2398579
+bin/pkgdata.exe: ea595b2862f0cfc2235351ffdd210a9f
+conaninfo.txt: 80581cd5963be4a5afe5e9391769826f
+include/unicode/alphaindex.h: 1be039746e3da3f7baa9421062373468
+include/unicode/appendable.h: 48b3a0a4c3044ad5f2af18f1ab48c8ff
+include/unicode/basictz.h: 57fe3c53d6b1a2bf5d1f40ec51efd7a1
+include/unicode/brkiter.h: e5ff475b7b01a97e5cd11a5362785921
+include/unicode/bytestream.h: 34a6807cd42f2e64ca60429897eb4b10
+include/unicode/bytestrie.h: d9be048d5c7e9dd0a2c6cd82e91e6002
+include/unicode/bytestriebuilder.h: 66236ad8247bd04c9ea525012b4c4ca8
+include/unicode/calendar.h: 692005b416fc2e4a8c497ff9b9a31bd8
+include/unicode/caniter.h: a70809c92ea90b654e9f11a793f84429
+include/unicode/casemap.h: d088e7422633b4cad3ad2b0b83ca239b
+include/unicode/char16ptr.h: c234b9ba14299c6068f5af1a936c1ead
+include/unicode/chariter.h: c8623016adba39ab38ef29f38ec87e45
+include/unicode/choicfmt.h: 832e7b39d19ec192ac1551360436f946
+include/unicode/coleitr.h: d9f07937d600ee811c121c0b0504724c
+include/unicode/coll.h: a2062360d7415e08abb01c44088f074e
+include/unicode/compactdecimalformat.h: 029f9640501bd640495c18397b5ff8bb
+include/unicode/curramt.h: 41fc0e62956b2e0fa7fd5e05213afc85
+include/unicode/currpinf.h: 09cbc4d9eb04b2aa2c4c155961f13c89
+include/unicode/currunit.h: 43648726f439d03c8c8a13b87c122332
+include/unicode/datefmt.h: 28ef92e98cdac29630b0aa0daf122798
+include/unicode/dbbi.h: 3d4186ec9549d6693d136257f610ec06
+include/unicode/dcfmtsym.h: b18b90c0c6371eab5028582492859142
+include/unicode/decimfmt.h: fb4231ddf75de524300ee952634ef038
+include/unicode/docmain.h: 697c221351932e373cf9e5903f40b723
+include/unicode/dtfmtsym.h: cabbccbf9deec91ebf291a19110007fb
+include/unicode/dtintrv.h: 7a7ce170e6035b90ef5b4bee91893833
+include/unicode/dtitvfmt.h: da220b13a8f895c4e77b653d865eb049
+include/unicode/dtitvinf.h: 1ad6b7f844a9362b2b7a0f509284cae7
+include/unicode/dtptngen.h: 8f8fcb053b5024c5b1d3dfc258f59344
+include/unicode/dtrule.h: 68551564f8ab72271d3574aa0cba381d
+include/unicode/edits.h: 6b8aa73dbf2c2f0b49da5bc5903bcc8c
+include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
+include/unicode/errorcode.h: debeda4467a19aaf964fafc73629c8ae
+include/unicode/fieldpos.h: 3b041c7d9a5df0aef744b88e764af17e
+include/unicode/filteredbrk.h: e54dd29247eb75f8490423f7f8541691
+include/unicode/fmtable.h: 3816f155db2c35ac5de3f80ffdaa549c
+include/unicode/format.h: 0417863e1b303fa282659c4903e3a11c
+include/unicode/formattedvalue.h: fc50c8972404b212799d76cf8e647888
+include/unicode/fpositer.h: b5e8bbc249dc37e3b159f0a2b5053957
+include/unicode/gender.h: 5e093c1cfb96ef671f2e5dedb96a0d64
+include/unicode/gregocal.h: 15c7b4ceaca9b8b8f8e747d5427aa7a7
+include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
+include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
+include/unicode/idna.h: a7c3650d5311edeb01f754c574d0fb8b
+include/unicode/listformatter.h: 65911d72679c6e0a267e951b03467f37
+include/unicode/localebuilder.h: 1b6106448cf6cde7e7ebf25ee6fe4065
+include/unicode/localematcher.h: 3a03cbb5970a14fe153041c878f583f2
+include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
+include/unicode/locdspnm.h: aa260a00e31e970757e3b3cbe00fff3d
+include/unicode/locid.h: 6caa36f85c9bab54b78ecd0c056789aa
+include/unicode/measfmt.h: 21b534367e4b3825dc70c3a289822df8
+include/unicode/measunit.h: 0f903f67958ad91e8bd2e49fc40c3075
+include/unicode/measure.h: 49091c823a2f12f5f60f7fecd7c452f2
+include/unicode/messagepattern.h: 15ecc58806c256ac91c2549d4f5c242f
+include/unicode/msgfmt.h: f9ff9322fa80486203829c15d4982573
+include/unicode/normalizer2.h: 436d923df3a66774b7bf26ffe75a5d1c
+include/unicode/normlzr.h: 5bf33ff933ee7eb49c330df38f490f57
+include/unicode/nounit.h: 2b4901f562077b370d82c4bbe229aac4
+include/unicode/numberformatter.h: 0f62c292f92d5598a61647bbf4294e1a
+include/unicode/numberrangeformatter.h: 58623918bf66f1fd6687f3dd03180a4b
+include/unicode/numfmt.h: 2a21117116463390ec4f19d53f485890
+include/unicode/numsys.h: 186ba43c003b4f56af3c63abd08f418e
+include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
+include/unicode/parsepos.h: 5c53fa7c473d4593fd72ce964b505807
+include/unicode/platform.h: 56fe53b31059acb1be086c45ce88e8c6
+include/unicode/plurfmt.h: 6f1b781b7a62a6ac1c7e4c6a2bb18d77
+include/unicode/plurrule.h: cf4b0b9ec1a525b96e7d27e489044337
+include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
+include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
+include/unicode/rbbi.h: 6c5f44ef812dfb48b65466732513c091
+include/unicode/rbnf.h: e870f2cf64c9b72eb549c413d6f98299
+include/unicode/rbtz.h: ea9f5a1edac3fe535ec7b83636daf61d
+include/unicode/regex.h: 16565e3d41228a76f17a63842d9594d2
+include/unicode/region.h: 22585a516ee7525f3e9094f2843b7640
+include/unicode/reldatefmt.h: 1b226903d9375471432582c27ade4934
+include/unicode/rep.h: eab550a9bbb33b4c1283ab16bc2dfafa
+include/unicode/resbund.h: cc93ada0e9871eee0a86f81548a3be73
+include/unicode/schriter.h: acea2a510e5c9127dad0e2538cf65ccd
+include/unicode/scientificnumberformatter.h: 40eb759fc2902b6c8e732b440fe6a1bc
+include/unicode/search.h: a93ebdadfc5113f1b9c9c185262ef461
+include/unicode/selfmt.h: 581ab6f6ac584265d5c56dad4051ee12
+include/unicode/simpleformatter.h: 8e5e9a9589359e06110af10bcf941d54
+include/unicode/simpletz.h: 194e0d388b74daa4cf51d012e2d14ebd
+include/unicode/smpdtfmt.h: 0e6383eafd569b511791e826b51df8d1
+include/unicode/sortkey.h: 27f3d671f37c27d0b36953d00c1f2e7b
+include/unicode/std_string.h: bb3b2e28a2ae9b66a60b7d90f8c07512
+include/unicode/strenum.h: 3c23eb4fa4d847b6afdd18adf3ccdaf5
+include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
+include/unicode/stringpiece.h: 3d7911a3b2a59830eaceb37e46110285
+include/unicode/stringtriebuilder.h: 08ce10a0f6e85f4bb078f69d5382f8bc
+include/unicode/stsearch.h: b15838a5cf5740b0aaa9af5356aef26b
+include/unicode/symtable.h: 7487ffc7069316553d08f1109965bf9d
+include/unicode/tblcoll.h: ee27157293d0802cde26d75c6098c1d3
+include/unicode/timezone.h: 54689b5ef15d0f03a146e8aeac163be8
+include/unicode/tmunit.h: 9ddf31866353dde1ae249ed93fce9234
+include/unicode/tmutamt.h: beea411e9f16d8b91fef39a297cd06d8
+include/unicode/tmutfmt.h: ae13f8ac46ad754bf83142943b19a647
+include/unicode/translit.h: f225620498133e8e4bcc2ad6679225e5
+include/unicode/tzfmt.h: b6c94cd901ffe5387f0245ca9fd68604
+include/unicode/tznames.h: a50010925037c01304c719e47bfb369a
+include/unicode/tzrule.h: 0e3465c0eeb27a0545f94bf9f5cfc21e
+include/unicode/tztrans.h: 117392a0dc2fe373946aecfa74475842
+include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
+include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
+include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
+include/unicode/ucal.h: d247badde5d39cc16e06d26153054c85
+include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
+include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
+include/unicode/uchar.h: ebac2b0b753a1cd10db2f428736bf06d
+include/unicode/ucharstrie.h: 16d3d38154f1444b8a3425254ab7ab81
+include/unicode/ucharstriebuilder.h: b92f18132f6c1d61da0ad51b8099435d
+include/unicode/uchriter.h: a356cb90d62d9e425e5efbb071c30b21
+include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
+include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
+include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
+include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
+include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
+include/unicode/ucol.h: 47c1acc6c2bde098f0b06c8590d68b9f
+include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
+include/unicode/uconfig.h: 80678a12de446cdf8679cdd5792a12e9
+include/unicode/ucpmap.h: 0b16934410c99981d87ddd10e1759bed
+include/unicode/ucptrie.h: 7450de71dd5e1a83f5290da33d48d40d
+include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
+include/unicode/ucurr.h: 5de7a80ece54cf7583e19f292ad17825
+include/unicode/udat.h: c665d53e4691b564ae5394957fcdcf31
+include/unicode/udata.h: 98e2327300a26bbaf40bd8eb7eee8c1a
+include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
+include/unicode/udatpg.h: ce0332b911d1a820a0b45922bd0e97fc
+include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
+include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
+include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
+include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
+include/unicode/uformattedvalue.h: e1e69e0927595423076481b8f948fd2a
+include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
+include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
+include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
+include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
+include/unicode/ulistformatter.h: 21277400caea3c7e7fdb57457c10e423
+include/unicode/uloc.h: 39d42620d3a97a7ae26d7b560ea3eacc
+include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
+include/unicode/umachine.h: 0a7fe7df81aedd43f322a9ec540feff5
+include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
+include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
+include/unicode/umutablecptrie.h: 5dc81c63a8b2c80ffd401c9bb5180e61
+include/unicode/unifilt.h: e170c06bf1bf81a56c7ed605d41fa02f
+include/unicode/unifunct.h: 23981a5088ba5d5af70309b73eef7666
+include/unicode/unimatch.h: 66161ce491e3b24e9e011cfc0e78be42
+include/unicode/unirepl.h: 462716fd44618949b405645ba7b5c8e6
+include/unicode/uniset.h: cb94f902233b2e1807156afe0967e3e0
+include/unicode/unistr.h: 5ebe061e4a17e981bb249c4814f4dd9d
+include/unicode/unorm.h: ca96f37ed2e2afd56585a238d73cea51
+include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
+include/unicode/unum.h: 656d2aa9a41ca4b7bfad0a09420bdc23
+include/unicode/unumberformatter.h: 9be73b6bb76bb5862a8dfd615e563b82
+include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
+include/unicode/uobject.h: b56a28b01e3df9088315aeb145ec3a8e
+include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
+include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
+include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
+include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
+include/unicode/urename.h: 1642d190b583bbaaf454ac65a37a8024
+include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
+include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
+include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
+include/unicode/usearch.h: 1f3fcea9dc6c40e908992e74f602235f
+include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
+include/unicode/usetiter.h: ab1ebd4b0b9e3560a94a7c6cb3a9e48f
+include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
+include/unicode/uspoof.h: 8b9508cbe045b114f0f618d04fcab512
+include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
+include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
+include/unicode/ustream.h: 0a74df2b9d1967d0b859d21f5828f4e8
+include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
+include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
+include/unicode/utext.h: 89a08f750d0c5751d4f385c4874c0e61
+include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
+include/unicode/utf16.h: 147fbb88d8300af3e38d80ce59c1c1ce
+include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
+include/unicode/utf8.h: 7f0c4c02bd7506e80fd11a4597cc1450
+include/unicode/utf_old.h: 92ffc297b71c8d83ed05b644183c477c
+include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
+include/unicode/utrace.h: 420d2f8d462ae300ca1903c2a6ebaba3
+include/unicode/utrans.h: 5cd9b1f130197e5fdd8a66519233abf5
+include/unicode/utypes.h: 47eb8ff3f909dafa9bee14f8bb224342
+include/unicode/uvernum.h: a91a8e07c665891ed234de3a58302663
+include/unicode/uversion.h: 0b8f75f3d1c816ee3359dde5be390d17
+include/unicode/vtzone.h: 615f12cb0d05441d0872aa677db80a90
+lib/icu/65.1/Makefile.inc: f5e2f0c3dcc648ded863f43b364ea27a
+lib/icu/65.1/pkgdata.inc: 8dcd0dcd7fe6f9e2f8a7173e323610bf
+lib/icu/Makefile.inc: f5e2f0c3dcc648ded863f43b364ea27a
+lib/icu/current/Makefile.inc: f5e2f0c3dcc648ded863f43b364ea27a
+lib/icu/current/pkgdata.inc: 8dcd0dcd7fe6f9e2f8a7173e323610bf
+lib/icu/pkgdata.inc: 8dcd0dcd7fe6f9e2f8a7173e323610bf
+lib/icudt.lib: b4b3f945f56190323606765375a12549
+lib/icuin.lib: 1a90372fa68aabf20fab0562c2a335b3
+lib/icuio.lib: 036e79a2d77e6c0e5fbce8a585e8957a
+lib/icutest.lib: b28da84f52b38cf4370fdf8376a429df
+lib/icutu.lib: 79d057da17aaedf154c1a04fe6f0531b
+lib/icuuc.lib: 435c68c385ef5ca438209da9c5cc9f50
+lib/pkgconfig/icu-i18n.pc: b9363636432515be407b7064af279fb8
+lib/pkgconfig/icu-io.pc: 6a4dd6c7fda1fe6a3616e11589188ebd
+lib/pkgconfig/icu-uc.pc: 13407d5da8b659cf80911084593ec3fc
+licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/config/mh-msys-msvc: c3bf313c25288142820e4ab191c1c153
+share/icu/65.1/install-sh: 5afe8eb5573965dfb58378e4e46f3813
+share/icu/65.1/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
+share/man/man1/derb.1: bddb017162105939f6d43c9539c99497
+share/man/man1/genbrk.1: a4e60e4a60ab26eb29119649bfb60d2b
+share/man/man1/gencfu.1: 4950b8178b944a3ebfea1c419ffd3319
+share/man/man1/gencnval.1: 53b10d9351473a7ea603400973377a7d
+share/man/man1/gendict.1: 9c1bf2760e5735b0e6601f48e92cb0d9
+share/man/man1/genrb.1: ffebc1e8007bd58f5623299e6b4babe8
+share/man/man1/icu-config.1: f4670ca16d77ce21310e48aa91f7ee5b
+share/man/man1/makeconv.1: c96397ad56d2c21649757c407aac46d8
+share/man/man1/pkgdata.1: 5f7b05c28de887cca1e5d7bfb9db4c39
+share/man/man8/genccode.8: 498418dc0aec1fa7ccfb83c491b5a23e
+share/man/man8/gencmn.8: c43635e431ea0f1616ea8266e36c0d75
+share/man/man8/gensprep.8: 396d70fec1a04aae25e6bfc6e8e58c65
+share/man/man8/icupkg.8: 430bcbed42faa9ea33b161a48c0490c6
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/ab841b0a4eaa947ac9d6b85f19b13aaf18c6911d/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/ab841b0a4eaa947ac9d6b85f19b13aaf18c6911d/conanmanifest.txt
new file mode 100644
index 00000000..6e95c971
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/ab841b0a4eaa947ac9d6b85f19b13aaf18c6911d/conanmanifest.txt
@@ -0,0 +1,250 @@
+1582253186
+bin/derb.exe: dc98a0009eadb08cd1e6002964198454
+bin/escapesrc.exe: 6e94b0c7aa0884187e4c3750b119f7b3
+bin/genbrk.exe: 07f4a7f6dc3400f977ae298553fd5234
+bin/genccode.exe: 0a0fe1f107a4443b40b4a4614f4ae1c5
+bin/gencfu.exe: 61909d0b2b7b802513d9d6f4b0bec9b6
+bin/gencmn.exe: f21ce5db620484dd132d4d43c88a3a1a
+bin/gencnval.exe: ecd28d9d9384a8f93dc6956ac9386967
+bin/gendict.exe: da73417895777f8f314106af04d14478
+bin/gennorm2.exe: 737c98d900b446b7c7a3f0d802273ecc
+bin/genrb.exe: d5e70d201a86f904d5fe6dd98f6dd4d3
+bin/gensprep.exe: fab610f7267b97229254954991adcd78
+bin/icu-config: a24fba93a7f18735cf8eeee4a0be99f4
+bin/icudt.dll: 69aea2912de9c26484fec080f34e1406
+bin/icudt65.dll: da4eb3daf433eff2ec340664cfd37a78
+bin/icuin.dll: e85762e3d63c0de21cda507d45e0ce4e
+bin/icuin65.dll: e85762e3d63c0de21cda507d45e0ce4e
+bin/icuinfo.exe: e02b72dcc1f6ab466105aef3b7116a5d
+bin/icuio.dll: 124ddaae2c6cf1c4444fefee8d457b8b
+bin/icuio65.dll: 124ddaae2c6cf1c4444fefee8d457b8b
+bin/icupkg.exe: 01fc079734715bf5345a9f261c0be05c
+bin/icutest.dll: 17696a3fec53c09745628f631cf4e043
+bin/icutest65.dll: 17696a3fec53c09745628f631cf4e043
+bin/icutu.dll: 5fabe2af7abe728f73ad2ce12a618054
+bin/icutu65.dll: 5fabe2af7abe728f73ad2ce12a618054
+bin/icuuc.dll: bb6108cfb8cdb841acca9d6503da5a92
+bin/icuuc65.dll: bb6108cfb8cdb841acca9d6503da5a92
+bin/makeconv.exe: fa4edcd9da14864b23a09649ade53c3e
+bin/pkgdata.exe: 49f58bf6e1831ac2d56cf9b9bf258299
+conaninfo.txt: 77218f3231990ed4f6e6c63c73a70354
+include/unicode/alphaindex.h: 1be039746e3da3f7baa9421062373468
+include/unicode/appendable.h: 48b3a0a4c3044ad5f2af18f1ab48c8ff
+include/unicode/basictz.h: 57fe3c53d6b1a2bf5d1f40ec51efd7a1
+include/unicode/brkiter.h: e5ff475b7b01a97e5cd11a5362785921
+include/unicode/bytestream.h: 34a6807cd42f2e64ca60429897eb4b10
+include/unicode/bytestrie.h: d9be048d5c7e9dd0a2c6cd82e91e6002
+include/unicode/bytestriebuilder.h: 66236ad8247bd04c9ea525012b4c4ca8
+include/unicode/calendar.h: 692005b416fc2e4a8c497ff9b9a31bd8
+include/unicode/caniter.h: a70809c92ea90b654e9f11a793f84429
+include/unicode/casemap.h: d088e7422633b4cad3ad2b0b83ca239b
+include/unicode/char16ptr.h: c234b9ba14299c6068f5af1a936c1ead
+include/unicode/chariter.h: c8623016adba39ab38ef29f38ec87e45
+include/unicode/choicfmt.h: 832e7b39d19ec192ac1551360436f946
+include/unicode/coleitr.h: d9f07937d600ee811c121c0b0504724c
+include/unicode/coll.h: a2062360d7415e08abb01c44088f074e
+include/unicode/compactdecimalformat.h: 029f9640501bd640495c18397b5ff8bb
+include/unicode/curramt.h: 41fc0e62956b2e0fa7fd5e05213afc85
+include/unicode/currpinf.h: 09cbc4d9eb04b2aa2c4c155961f13c89
+include/unicode/currunit.h: 43648726f439d03c8c8a13b87c122332
+include/unicode/datefmt.h: 28ef92e98cdac29630b0aa0daf122798
+include/unicode/dbbi.h: 3d4186ec9549d6693d136257f610ec06
+include/unicode/dcfmtsym.h: b18b90c0c6371eab5028582492859142
+include/unicode/decimfmt.h: fb4231ddf75de524300ee952634ef038
+include/unicode/docmain.h: 697c221351932e373cf9e5903f40b723
+include/unicode/dtfmtsym.h: cabbccbf9deec91ebf291a19110007fb
+include/unicode/dtintrv.h: 7a7ce170e6035b90ef5b4bee91893833
+include/unicode/dtitvfmt.h: da220b13a8f895c4e77b653d865eb049
+include/unicode/dtitvinf.h: 1ad6b7f844a9362b2b7a0f509284cae7
+include/unicode/dtptngen.h: 8f8fcb053b5024c5b1d3dfc258f59344
+include/unicode/dtrule.h: 68551564f8ab72271d3574aa0cba381d
+include/unicode/edits.h: 6b8aa73dbf2c2f0b49da5bc5903bcc8c
+include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
+include/unicode/errorcode.h: debeda4467a19aaf964fafc73629c8ae
+include/unicode/fieldpos.h: 3b041c7d9a5df0aef744b88e764af17e
+include/unicode/filteredbrk.h: e54dd29247eb75f8490423f7f8541691
+include/unicode/fmtable.h: 3816f155db2c35ac5de3f80ffdaa549c
+include/unicode/format.h: 0417863e1b303fa282659c4903e3a11c
+include/unicode/formattedvalue.h: fc50c8972404b212799d76cf8e647888
+include/unicode/fpositer.h: b5e8bbc249dc37e3b159f0a2b5053957
+include/unicode/gender.h: 5e093c1cfb96ef671f2e5dedb96a0d64
+include/unicode/gregocal.h: 15c7b4ceaca9b8b8f8e747d5427aa7a7
+include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
+include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
+include/unicode/idna.h: a7c3650d5311edeb01f754c574d0fb8b
+include/unicode/listformatter.h: 65911d72679c6e0a267e951b03467f37
+include/unicode/localebuilder.h: 1b6106448cf6cde7e7ebf25ee6fe4065
+include/unicode/localematcher.h: 3a03cbb5970a14fe153041c878f583f2
+include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
+include/unicode/locdspnm.h: aa260a00e31e970757e3b3cbe00fff3d
+include/unicode/locid.h: 6caa36f85c9bab54b78ecd0c056789aa
+include/unicode/measfmt.h: 21b534367e4b3825dc70c3a289822df8
+include/unicode/measunit.h: 0f903f67958ad91e8bd2e49fc40c3075
+include/unicode/measure.h: 49091c823a2f12f5f60f7fecd7c452f2
+include/unicode/messagepattern.h: 15ecc58806c256ac91c2549d4f5c242f
+include/unicode/msgfmt.h: f9ff9322fa80486203829c15d4982573
+include/unicode/normalizer2.h: 436d923df3a66774b7bf26ffe75a5d1c
+include/unicode/normlzr.h: 5bf33ff933ee7eb49c330df38f490f57
+include/unicode/nounit.h: 2b4901f562077b370d82c4bbe229aac4
+include/unicode/numberformatter.h: 0f62c292f92d5598a61647bbf4294e1a
+include/unicode/numberrangeformatter.h: 58623918bf66f1fd6687f3dd03180a4b
+include/unicode/numfmt.h: 2a21117116463390ec4f19d53f485890
+include/unicode/numsys.h: 186ba43c003b4f56af3c63abd08f418e
+include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
+include/unicode/parsepos.h: 5c53fa7c473d4593fd72ce964b505807
+include/unicode/platform.h: 56fe53b31059acb1be086c45ce88e8c6
+include/unicode/plurfmt.h: 6f1b781b7a62a6ac1c7e4c6a2bb18d77
+include/unicode/plurrule.h: cf4b0b9ec1a525b96e7d27e489044337
+include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
+include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
+include/unicode/rbbi.h: 6c5f44ef812dfb48b65466732513c091
+include/unicode/rbnf.h: e870f2cf64c9b72eb549c413d6f98299
+include/unicode/rbtz.h: ea9f5a1edac3fe535ec7b83636daf61d
+include/unicode/regex.h: 16565e3d41228a76f17a63842d9594d2
+include/unicode/region.h: 22585a516ee7525f3e9094f2843b7640
+include/unicode/reldatefmt.h: 1b226903d9375471432582c27ade4934
+include/unicode/rep.h: eab550a9bbb33b4c1283ab16bc2dfafa
+include/unicode/resbund.h: cc93ada0e9871eee0a86f81548a3be73
+include/unicode/schriter.h: acea2a510e5c9127dad0e2538cf65ccd
+include/unicode/scientificnumberformatter.h: 40eb759fc2902b6c8e732b440fe6a1bc
+include/unicode/search.h: a93ebdadfc5113f1b9c9c185262ef461
+include/unicode/selfmt.h: 581ab6f6ac584265d5c56dad4051ee12
+include/unicode/simpleformatter.h: 8e5e9a9589359e06110af10bcf941d54
+include/unicode/simpletz.h: 194e0d388b74daa4cf51d012e2d14ebd
+include/unicode/smpdtfmt.h: 0e6383eafd569b511791e826b51df8d1
+include/unicode/sortkey.h: 27f3d671f37c27d0b36953d00c1f2e7b
+include/unicode/std_string.h: bb3b2e28a2ae9b66a60b7d90f8c07512
+include/unicode/strenum.h: 3c23eb4fa4d847b6afdd18adf3ccdaf5
+include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
+include/unicode/stringpiece.h: 3d7911a3b2a59830eaceb37e46110285
+include/unicode/stringtriebuilder.h: 08ce10a0f6e85f4bb078f69d5382f8bc
+include/unicode/stsearch.h: b15838a5cf5740b0aaa9af5356aef26b
+include/unicode/symtable.h: 7487ffc7069316553d08f1109965bf9d
+include/unicode/tblcoll.h: ee27157293d0802cde26d75c6098c1d3
+include/unicode/timezone.h: 54689b5ef15d0f03a146e8aeac163be8
+include/unicode/tmunit.h: 9ddf31866353dde1ae249ed93fce9234
+include/unicode/tmutamt.h: beea411e9f16d8b91fef39a297cd06d8
+include/unicode/tmutfmt.h: ae13f8ac46ad754bf83142943b19a647
+include/unicode/translit.h: f225620498133e8e4bcc2ad6679225e5
+include/unicode/tzfmt.h: b6c94cd901ffe5387f0245ca9fd68604
+include/unicode/tznames.h: a50010925037c01304c719e47bfb369a
+include/unicode/tzrule.h: 0e3465c0eeb27a0545f94bf9f5cfc21e
+include/unicode/tztrans.h: 117392a0dc2fe373946aecfa74475842
+include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
+include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
+include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
+include/unicode/ucal.h: d247badde5d39cc16e06d26153054c85
+include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
+include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
+include/unicode/uchar.h: ebac2b0b753a1cd10db2f428736bf06d
+include/unicode/ucharstrie.h: 16d3d38154f1444b8a3425254ab7ab81
+include/unicode/ucharstriebuilder.h: b92f18132f6c1d61da0ad51b8099435d
+include/unicode/uchriter.h: a356cb90d62d9e425e5efbb071c30b21
+include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
+include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
+include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
+include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
+include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
+include/unicode/ucol.h: 47c1acc6c2bde098f0b06c8590d68b9f
+include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
+include/unicode/uconfig.h: 80678a12de446cdf8679cdd5792a12e9
+include/unicode/ucpmap.h: 0b16934410c99981d87ddd10e1759bed
+include/unicode/ucptrie.h: 7450de71dd5e1a83f5290da33d48d40d
+include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
+include/unicode/ucurr.h: 5de7a80ece54cf7583e19f292ad17825
+include/unicode/udat.h: c665d53e4691b564ae5394957fcdcf31
+include/unicode/udata.h: 98e2327300a26bbaf40bd8eb7eee8c1a
+include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
+include/unicode/udatpg.h: ce0332b911d1a820a0b45922bd0e97fc
+include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
+include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
+include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
+include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
+include/unicode/uformattedvalue.h: e1e69e0927595423076481b8f948fd2a
+include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
+include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
+include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
+include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
+include/unicode/ulistformatter.h: 21277400caea3c7e7fdb57457c10e423
+include/unicode/uloc.h: 39d42620d3a97a7ae26d7b560ea3eacc
+include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
+include/unicode/umachine.h: 0a7fe7df81aedd43f322a9ec540feff5
+include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
+include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
+include/unicode/umutablecptrie.h: 5dc81c63a8b2c80ffd401c9bb5180e61
+include/unicode/unifilt.h: e170c06bf1bf81a56c7ed605d41fa02f
+include/unicode/unifunct.h: 23981a5088ba5d5af70309b73eef7666
+include/unicode/unimatch.h: 66161ce491e3b24e9e011cfc0e78be42
+include/unicode/unirepl.h: 462716fd44618949b405645ba7b5c8e6
+include/unicode/uniset.h: cb94f902233b2e1807156afe0967e3e0
+include/unicode/unistr.h: 5ebe061e4a17e981bb249c4814f4dd9d
+include/unicode/unorm.h: ca96f37ed2e2afd56585a238d73cea51
+include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
+include/unicode/unum.h: 656d2aa9a41ca4b7bfad0a09420bdc23
+include/unicode/unumberformatter.h: 9be73b6bb76bb5862a8dfd615e563b82
+include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
+include/unicode/uobject.h: b56a28b01e3df9088315aeb145ec3a8e
+include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
+include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
+include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
+include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
+include/unicode/urename.h: 1642d190b583bbaaf454ac65a37a8024
+include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
+include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
+include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
+include/unicode/usearch.h: 1f3fcea9dc6c40e908992e74f602235f
+include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
+include/unicode/usetiter.h: ab1ebd4b0b9e3560a94a7c6cb3a9e48f
+include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
+include/unicode/uspoof.h: 8b9508cbe045b114f0f618d04fcab512
+include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
+include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
+include/unicode/ustream.h: 0a74df2b9d1967d0b859d21f5828f4e8
+include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
+include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
+include/unicode/utext.h: 89a08f750d0c5751d4f385c4874c0e61
+include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
+include/unicode/utf16.h: 147fbb88d8300af3e38d80ce59c1c1ce
+include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
+include/unicode/utf8.h: 7f0c4c02bd7506e80fd11a4597cc1450
+include/unicode/utf_old.h: 92ffc297b71c8d83ed05b644183c477c
+include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
+include/unicode/utrace.h: 420d2f8d462ae300ca1903c2a6ebaba3
+include/unicode/utrans.h: 5cd9b1f130197e5fdd8a66519233abf5
+include/unicode/utypes.h: 47eb8ff3f909dafa9bee14f8bb224342
+include/unicode/uvernum.h: a91a8e07c665891ed234de3a58302663
+include/unicode/uversion.h: 0b8f75f3d1c816ee3359dde5be390d17
+include/unicode/vtzone.h: 615f12cb0d05441d0872aa677db80a90
+lib/icu/65.1/Makefile.inc: 3f7edd281b0e2ccb0e38fb1e56d06df2
+lib/icu/65.1/pkgdata.inc: d2c3b7892bda8925396ec5c3b7dcc870
+lib/icu/Makefile.inc: 3f7edd281b0e2ccb0e38fb1e56d06df2
+lib/icu/current/Makefile.inc: 3f7edd281b0e2ccb0e38fb1e56d06df2
+lib/icu/current/pkgdata.inc: d2c3b7892bda8925396ec5c3b7dcc870
+lib/icu/pkgdata.inc: d2c3b7892bda8925396ec5c3b7dcc870
+lib/icudt.lib: e47cbc518c8766bca16f620f6513d5bf
+lib/icuin.lib: 55f9a9287ac97eab15705ea295275016
+lib/icuio.lib: 0d96956e15be5bab913a18992d9b3dd1
+lib/icutest.lib: 7889ef04c9d45cdc7068899c370323c5
+lib/icutu.lib: 1090703afda44cd52ee5e00ef40da807
+lib/icuuc.lib: 8728c76a03a718250dc976ee632d29e9
+lib/pkgconfig/icu-i18n.pc: 6a70cff3fab15c8bcf5a3662b97b8478
+lib/pkgconfig/icu-io.pc: f567f9e77052669510453f1717a23949
+lib/pkgconfig/icu-uc.pc: 41780a643168113af5fd0c73740d94eb
+licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/config/mh-msys-msvc: c3bf313c25288142820e4ab191c1c153
+share/icu/65.1/install-sh: 5afe8eb5573965dfb58378e4e46f3813
+share/icu/65.1/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
+share/man/man1/derb.1: bddb017162105939f6d43c9539c99497
+share/man/man1/genbrk.1: a4e60e4a60ab26eb29119649bfb60d2b
+share/man/man1/gencfu.1: 4950b8178b944a3ebfea1c419ffd3319
+share/man/man1/gencnval.1: 53b10d9351473a7ea603400973377a7d
+share/man/man1/gendict.1: 9c1bf2760e5735b0e6601f48e92cb0d9
+share/man/man1/genrb.1: ffebc1e8007bd58f5623299e6b4babe8
+share/man/man1/icu-config.1: f4670ca16d77ce21310e48aa91f7ee5b
+share/man/man1/makeconv.1: c96397ad56d2c21649757c407aac46d8
+share/man/man1/pkgdata.1: 5f7b05c28de887cca1e5d7bfb9db4c39
+share/man/man8/genccode.8: 498418dc0aec1fa7ccfb83c491b5a23e
+share/man/man8/gencmn.8: c43635e431ea0f1616ea8266e36c0d75
+share/man/man8/gensprep.8: 396d70fec1a04aae25e6bfc6e8e58c65
+share/man/man8/icupkg.8: 430bcbed42faa9ea33b161a48c0490c6
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/b78a3590f375c283e83a188d891b97d04832121e/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/b78a3590f375c283e83a188d891b97d04832121e/conanmanifest.txt
new file mode 100644
index 00000000..fd65fe1a
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/b78a3590f375c283e83a188d891b97d04832121e/conanmanifest.txt
@@ -0,0 +1,250 @@
+1582253929
+bin/derb.exe: a24749643ced24bb71f9e9bde38f4838
+bin/escapesrc.exe: 301a39e83195168bd5f666836943743f
+bin/genbrk.exe: 31247c5d2a896ec82292d3a17dc26029
+bin/genccode.exe: e1c97dbf05055d524104549b1e5de5c4
+bin/gencfu.exe: e2a0edc31e415524f3f3d19f1409c797
+bin/gencmn.exe: 832f8ae7d33b87db636422479f51f770
+bin/gencnval.exe: 537ba315464376bbc7628c336950c0e8
+bin/gendict.exe: 7fe620956d704ae39b0111057c4e8fa9
+bin/gennorm2.exe: 6eb084dbb625e71058fad6a85739e8a1
+bin/genrb.exe: 4c90027ab6073c39f89497eab86ce886
+bin/gensprep.exe: 146462b18bef8f5400cc3766dc9b86de
+bin/icu-config: 3a87ac9bf130302803c4701de84d9c37
+bin/icudt.dll: 0f40cea01ded07cb350f2c403656d44a
+bin/icudt65.dll: e6ee7d07552a003380ee4619d829c3ea
+bin/icuin.dll: b0c40d9818ad9326e937931560ed55a3
+bin/icuin65.dll: b0c40d9818ad9326e937931560ed55a3
+bin/icuinfo.exe: 4351b9bbb634d2cff3f7c44dd875c9dd
+bin/icuio.dll: 0f7a17681ec833dbc3d6539e4a219a4e
+bin/icuio65.dll: 0f7a17681ec833dbc3d6539e4a219a4e
+bin/icupkg.exe: 4dc235da4700e63507b0f8f354d77144
+bin/icutest.dll: d34192cf4141e249bfc6415473300d4c
+bin/icutest65.dll: d34192cf4141e249bfc6415473300d4c
+bin/icutu.dll: 8b37b110590276f8ce9d1dc507f18dbf
+bin/icutu65.dll: 8b37b110590276f8ce9d1dc507f18dbf
+bin/icuuc.dll: 986b6bcf5a7869152b9e4f5798447d7c
+bin/icuuc65.dll: 986b6bcf5a7869152b9e4f5798447d7c
+bin/makeconv.exe: 353545d6125d9175083bb09bfe2be140
+bin/pkgdata.exe: 4e3690809456f62a6cb15d4aa688062f
+conaninfo.txt: fbad57d958b1fc325e2e0519ab48b3d3
+include/unicode/alphaindex.h: 1be039746e3da3f7baa9421062373468
+include/unicode/appendable.h: 48b3a0a4c3044ad5f2af18f1ab48c8ff
+include/unicode/basictz.h: 57fe3c53d6b1a2bf5d1f40ec51efd7a1
+include/unicode/brkiter.h: e5ff475b7b01a97e5cd11a5362785921
+include/unicode/bytestream.h: 34a6807cd42f2e64ca60429897eb4b10
+include/unicode/bytestrie.h: d9be048d5c7e9dd0a2c6cd82e91e6002
+include/unicode/bytestriebuilder.h: 66236ad8247bd04c9ea525012b4c4ca8
+include/unicode/calendar.h: 692005b416fc2e4a8c497ff9b9a31bd8
+include/unicode/caniter.h: a70809c92ea90b654e9f11a793f84429
+include/unicode/casemap.h: d088e7422633b4cad3ad2b0b83ca239b
+include/unicode/char16ptr.h: c234b9ba14299c6068f5af1a936c1ead
+include/unicode/chariter.h: c8623016adba39ab38ef29f38ec87e45
+include/unicode/choicfmt.h: 832e7b39d19ec192ac1551360436f946
+include/unicode/coleitr.h: d9f07937d600ee811c121c0b0504724c
+include/unicode/coll.h: a2062360d7415e08abb01c44088f074e
+include/unicode/compactdecimalformat.h: 029f9640501bd640495c18397b5ff8bb
+include/unicode/curramt.h: 41fc0e62956b2e0fa7fd5e05213afc85
+include/unicode/currpinf.h: 09cbc4d9eb04b2aa2c4c155961f13c89
+include/unicode/currunit.h: 43648726f439d03c8c8a13b87c122332
+include/unicode/datefmt.h: 28ef92e98cdac29630b0aa0daf122798
+include/unicode/dbbi.h: 3d4186ec9549d6693d136257f610ec06
+include/unicode/dcfmtsym.h: b18b90c0c6371eab5028582492859142
+include/unicode/decimfmt.h: fb4231ddf75de524300ee952634ef038
+include/unicode/docmain.h: 697c221351932e373cf9e5903f40b723
+include/unicode/dtfmtsym.h: cabbccbf9deec91ebf291a19110007fb
+include/unicode/dtintrv.h: 7a7ce170e6035b90ef5b4bee91893833
+include/unicode/dtitvfmt.h: da220b13a8f895c4e77b653d865eb049
+include/unicode/dtitvinf.h: 1ad6b7f844a9362b2b7a0f509284cae7
+include/unicode/dtptngen.h: 8f8fcb053b5024c5b1d3dfc258f59344
+include/unicode/dtrule.h: 68551564f8ab72271d3574aa0cba381d
+include/unicode/edits.h: 6b8aa73dbf2c2f0b49da5bc5903bcc8c
+include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
+include/unicode/errorcode.h: debeda4467a19aaf964fafc73629c8ae
+include/unicode/fieldpos.h: 3b041c7d9a5df0aef744b88e764af17e
+include/unicode/filteredbrk.h: e54dd29247eb75f8490423f7f8541691
+include/unicode/fmtable.h: 3816f155db2c35ac5de3f80ffdaa549c
+include/unicode/format.h: 0417863e1b303fa282659c4903e3a11c
+include/unicode/formattedvalue.h: fc50c8972404b212799d76cf8e647888
+include/unicode/fpositer.h: b5e8bbc249dc37e3b159f0a2b5053957
+include/unicode/gender.h: 5e093c1cfb96ef671f2e5dedb96a0d64
+include/unicode/gregocal.h: 15c7b4ceaca9b8b8f8e747d5427aa7a7
+include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
+include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
+include/unicode/idna.h: a7c3650d5311edeb01f754c574d0fb8b
+include/unicode/listformatter.h: 65911d72679c6e0a267e951b03467f37
+include/unicode/localebuilder.h: 1b6106448cf6cde7e7ebf25ee6fe4065
+include/unicode/localematcher.h: 3a03cbb5970a14fe153041c878f583f2
+include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
+include/unicode/locdspnm.h: aa260a00e31e970757e3b3cbe00fff3d
+include/unicode/locid.h: 6caa36f85c9bab54b78ecd0c056789aa
+include/unicode/measfmt.h: 21b534367e4b3825dc70c3a289822df8
+include/unicode/measunit.h: 0f903f67958ad91e8bd2e49fc40c3075
+include/unicode/measure.h: 49091c823a2f12f5f60f7fecd7c452f2
+include/unicode/messagepattern.h: 15ecc58806c256ac91c2549d4f5c242f
+include/unicode/msgfmt.h: f9ff9322fa80486203829c15d4982573
+include/unicode/normalizer2.h: 436d923df3a66774b7bf26ffe75a5d1c
+include/unicode/normlzr.h: 5bf33ff933ee7eb49c330df38f490f57
+include/unicode/nounit.h: 2b4901f562077b370d82c4bbe229aac4
+include/unicode/numberformatter.h: 0f62c292f92d5598a61647bbf4294e1a
+include/unicode/numberrangeformatter.h: 58623918bf66f1fd6687f3dd03180a4b
+include/unicode/numfmt.h: 2a21117116463390ec4f19d53f485890
+include/unicode/numsys.h: 186ba43c003b4f56af3c63abd08f418e
+include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
+include/unicode/parsepos.h: 5c53fa7c473d4593fd72ce964b505807
+include/unicode/platform.h: 56fe53b31059acb1be086c45ce88e8c6
+include/unicode/plurfmt.h: 6f1b781b7a62a6ac1c7e4c6a2bb18d77
+include/unicode/plurrule.h: cf4b0b9ec1a525b96e7d27e489044337
+include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
+include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
+include/unicode/rbbi.h: 6c5f44ef812dfb48b65466732513c091
+include/unicode/rbnf.h: e870f2cf64c9b72eb549c413d6f98299
+include/unicode/rbtz.h: ea9f5a1edac3fe535ec7b83636daf61d
+include/unicode/regex.h: 16565e3d41228a76f17a63842d9594d2
+include/unicode/region.h: 22585a516ee7525f3e9094f2843b7640
+include/unicode/reldatefmt.h: 1b226903d9375471432582c27ade4934
+include/unicode/rep.h: eab550a9bbb33b4c1283ab16bc2dfafa
+include/unicode/resbund.h: cc93ada0e9871eee0a86f81548a3be73
+include/unicode/schriter.h: acea2a510e5c9127dad0e2538cf65ccd
+include/unicode/scientificnumberformatter.h: 40eb759fc2902b6c8e732b440fe6a1bc
+include/unicode/search.h: a93ebdadfc5113f1b9c9c185262ef461
+include/unicode/selfmt.h: 581ab6f6ac584265d5c56dad4051ee12
+include/unicode/simpleformatter.h: 8e5e9a9589359e06110af10bcf941d54
+include/unicode/simpletz.h: 194e0d388b74daa4cf51d012e2d14ebd
+include/unicode/smpdtfmt.h: 0e6383eafd569b511791e826b51df8d1
+include/unicode/sortkey.h: 27f3d671f37c27d0b36953d00c1f2e7b
+include/unicode/std_string.h: bb3b2e28a2ae9b66a60b7d90f8c07512
+include/unicode/strenum.h: 3c23eb4fa4d847b6afdd18adf3ccdaf5
+include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
+include/unicode/stringpiece.h: 3d7911a3b2a59830eaceb37e46110285
+include/unicode/stringtriebuilder.h: 08ce10a0f6e85f4bb078f69d5382f8bc
+include/unicode/stsearch.h: b15838a5cf5740b0aaa9af5356aef26b
+include/unicode/symtable.h: 7487ffc7069316553d08f1109965bf9d
+include/unicode/tblcoll.h: ee27157293d0802cde26d75c6098c1d3
+include/unicode/timezone.h: 54689b5ef15d0f03a146e8aeac163be8
+include/unicode/tmunit.h: 9ddf31866353dde1ae249ed93fce9234
+include/unicode/tmutamt.h: beea411e9f16d8b91fef39a297cd06d8
+include/unicode/tmutfmt.h: ae13f8ac46ad754bf83142943b19a647
+include/unicode/translit.h: f225620498133e8e4bcc2ad6679225e5
+include/unicode/tzfmt.h: b6c94cd901ffe5387f0245ca9fd68604
+include/unicode/tznames.h: a50010925037c01304c719e47bfb369a
+include/unicode/tzrule.h: 0e3465c0eeb27a0545f94bf9f5cfc21e
+include/unicode/tztrans.h: 117392a0dc2fe373946aecfa74475842
+include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
+include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
+include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
+include/unicode/ucal.h: d247badde5d39cc16e06d26153054c85
+include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
+include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
+include/unicode/uchar.h: ebac2b0b753a1cd10db2f428736bf06d
+include/unicode/ucharstrie.h: 16d3d38154f1444b8a3425254ab7ab81
+include/unicode/ucharstriebuilder.h: b92f18132f6c1d61da0ad51b8099435d
+include/unicode/uchriter.h: a356cb90d62d9e425e5efbb071c30b21
+include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
+include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
+include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
+include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
+include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
+include/unicode/ucol.h: 47c1acc6c2bde098f0b06c8590d68b9f
+include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
+include/unicode/uconfig.h: 80678a12de446cdf8679cdd5792a12e9
+include/unicode/ucpmap.h: 0b16934410c99981d87ddd10e1759bed
+include/unicode/ucptrie.h: 7450de71dd5e1a83f5290da33d48d40d
+include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
+include/unicode/ucurr.h: 5de7a80ece54cf7583e19f292ad17825
+include/unicode/udat.h: c665d53e4691b564ae5394957fcdcf31
+include/unicode/udata.h: 98e2327300a26bbaf40bd8eb7eee8c1a
+include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
+include/unicode/udatpg.h: ce0332b911d1a820a0b45922bd0e97fc
+include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
+include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
+include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
+include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
+include/unicode/uformattedvalue.h: e1e69e0927595423076481b8f948fd2a
+include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
+include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
+include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
+include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
+include/unicode/ulistformatter.h: 21277400caea3c7e7fdb57457c10e423
+include/unicode/uloc.h: 39d42620d3a97a7ae26d7b560ea3eacc
+include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
+include/unicode/umachine.h: 0a7fe7df81aedd43f322a9ec540feff5
+include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
+include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
+include/unicode/umutablecptrie.h: 5dc81c63a8b2c80ffd401c9bb5180e61
+include/unicode/unifilt.h: e170c06bf1bf81a56c7ed605d41fa02f
+include/unicode/unifunct.h: 23981a5088ba5d5af70309b73eef7666
+include/unicode/unimatch.h: 66161ce491e3b24e9e011cfc0e78be42
+include/unicode/unirepl.h: 462716fd44618949b405645ba7b5c8e6
+include/unicode/uniset.h: cb94f902233b2e1807156afe0967e3e0
+include/unicode/unistr.h: 5ebe061e4a17e981bb249c4814f4dd9d
+include/unicode/unorm.h: ca96f37ed2e2afd56585a238d73cea51
+include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
+include/unicode/unum.h: 656d2aa9a41ca4b7bfad0a09420bdc23
+include/unicode/unumberformatter.h: 9be73b6bb76bb5862a8dfd615e563b82
+include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
+include/unicode/uobject.h: b56a28b01e3df9088315aeb145ec3a8e
+include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
+include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
+include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
+include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
+include/unicode/urename.h: 1642d190b583bbaaf454ac65a37a8024
+include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
+include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
+include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
+include/unicode/usearch.h: 1f3fcea9dc6c40e908992e74f602235f
+include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
+include/unicode/usetiter.h: ab1ebd4b0b9e3560a94a7c6cb3a9e48f
+include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
+include/unicode/uspoof.h: 8b9508cbe045b114f0f618d04fcab512
+include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
+include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
+include/unicode/ustream.h: 0a74df2b9d1967d0b859d21f5828f4e8
+include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
+include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
+include/unicode/utext.h: 89a08f750d0c5751d4f385c4874c0e61
+include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
+include/unicode/utf16.h: 147fbb88d8300af3e38d80ce59c1c1ce
+include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
+include/unicode/utf8.h: 7f0c4c02bd7506e80fd11a4597cc1450
+include/unicode/utf_old.h: 92ffc297b71c8d83ed05b644183c477c
+include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
+include/unicode/utrace.h: 420d2f8d462ae300ca1903c2a6ebaba3
+include/unicode/utrans.h: 5cd9b1f130197e5fdd8a66519233abf5
+include/unicode/utypes.h: 47eb8ff3f909dafa9bee14f8bb224342
+include/unicode/uvernum.h: a91a8e07c665891ed234de3a58302663
+include/unicode/uversion.h: 0b8f75f3d1c816ee3359dde5be390d17
+include/unicode/vtzone.h: 615f12cb0d05441d0872aa677db80a90
+lib/icu/65.1/Makefile.inc: 0837bd0a935d699cc1dd640c7314b82b
+lib/icu/65.1/pkgdata.inc: 5403e67e87ccf7f7f6308b73f28db0d8
+lib/icu/Makefile.inc: 0837bd0a935d699cc1dd640c7314b82b
+lib/icu/current/Makefile.inc: 0837bd0a935d699cc1dd640c7314b82b
+lib/icu/current/pkgdata.inc: 5403e67e87ccf7f7f6308b73f28db0d8
+lib/icu/pkgdata.inc: 5403e67e87ccf7f7f6308b73f28db0d8
+lib/icudt.lib: 80aa256bbad5c4a26896fd26bec6f86f
+lib/icuin.lib: 54647f26fac9db72359bbdbc71cebc23
+lib/icuio.lib: 184195dbde43ed548090979ad9a128c4
+lib/icutest.lib: 4c4a3317fee3fa1de24f942c45af2ece
+lib/icutu.lib: 8ee68008fc00479c67370964953dfd68
+lib/icuuc.lib: a76af6e6572036599e910ff98ac04d94
+lib/pkgconfig/icu-i18n.pc: 88bb0292f144092f85bf8b6cfea1153e
+lib/pkgconfig/icu-io.pc: 06d2e747b0f4023c5f71e1fdd4026da2
+lib/pkgconfig/icu-uc.pc: 6ac693e689f5c04d9de86f2ca0e3e436
+licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/config/mh-msys-msvc: c3bf313c25288142820e4ab191c1c153
+share/icu/65.1/install-sh: 5afe8eb5573965dfb58378e4e46f3813
+share/icu/65.1/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
+share/man/man1/derb.1: bddb017162105939f6d43c9539c99497
+share/man/man1/genbrk.1: a4e60e4a60ab26eb29119649bfb60d2b
+share/man/man1/gencfu.1: 4950b8178b944a3ebfea1c419ffd3319
+share/man/man1/gencnval.1: 53b10d9351473a7ea603400973377a7d
+share/man/man1/gendict.1: 9c1bf2760e5735b0e6601f48e92cb0d9
+share/man/man1/genrb.1: ffebc1e8007bd58f5623299e6b4babe8
+share/man/man1/icu-config.1: f4670ca16d77ce21310e48aa91f7ee5b
+share/man/man1/makeconv.1: c96397ad56d2c21649757c407aac46d8
+share/man/man1/pkgdata.1: 5f7b05c28de887cca1e5d7bfb9db4c39
+share/man/man8/genccode.8: 498418dc0aec1fa7ccfb83c491b5a23e
+share/man/man8/gencmn.8: c43635e431ea0f1616ea8266e36c0d75
+share/man/man8/gensprep.8: 396d70fec1a04aae25e6bfc6e8e58c65
+share/man/man8/icupkg.8: 430bcbed42faa9ea33b161a48c0490c6
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/c55d3669e198b38f9cbd3031c1943896d7bcdad9/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/c55d3669e198b38f9cbd3031c1943896d7bcdad9/conanmanifest.txt
new file mode 100644
index 00000000..8e9cf00d
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/c55d3669e198b38f9cbd3031c1943896d7bcdad9/conanmanifest.txt
@@ -0,0 +1,250 @@
+1582252581
+bin/derb.exe: e1074ba17285251adf697cda6ce5017e
+bin/escapesrc.exe: c3a5c8098e30594896d898cd62715266
+bin/genbrk.exe: b34338f9b3d88142970c08f412c3daa6
+bin/genccode.exe: daeac719a207ef0d3e734d13e09afa0d
+bin/gencfu.exe: ed884f96a0c448a8d22ddff24459db21
+bin/gencmn.exe: a1adbdf27b068509572d9e18d22783dc
+bin/gencnval.exe: 4560ca93240af1d915eb094da534bc90
+bin/gendict.exe: 24c940f65956db106c6d508448c29a1a
+bin/gennorm2.exe: 0e40277b079b43bd0ce969dec55da043
+bin/genrb.exe: 78934b245ff5999b85385f6a1439d0b2
+bin/gensprep.exe: 352ed54da1bf852b67fb8d16beff4539
+bin/icu-config: ecf291d6e37d486071082910cf0be55d
+bin/icudt.dll: 3c4e3ba8297b06c62e73c0959c3cc4f6
+bin/icudt65.dll: 91f7d31e19be159c682aedcab49e948a
+bin/icuin.dll: 3632ad7d32ee05018c5981b601e84c49
+bin/icuin65.dll: 3632ad7d32ee05018c5981b601e84c49
+bin/icuinfo.exe: 68f3a5f63ade67740302ab27d9576331
+bin/icuio.dll: 1031a987b85fa753b8821e6ad995e7ef
+bin/icuio65.dll: 1031a987b85fa753b8821e6ad995e7ef
+bin/icupkg.exe: f31b4a094d83d57345ce887830d65d13
+bin/icutest.dll: 9c2c53fedcd0db636e41b5d934412481
+bin/icutest65.dll: 9c2c53fedcd0db636e41b5d934412481
+bin/icutu.dll: 5d921612fdff2cd7477eeb3a37537827
+bin/icutu65.dll: 5d921612fdff2cd7477eeb3a37537827
+bin/icuuc.dll: b7c9077308dd7a2117ed14e102320fc6
+bin/icuuc65.dll: b7c9077308dd7a2117ed14e102320fc6
+bin/makeconv.exe: 33549fef25929dcf22f218201d6be4d9
+bin/pkgdata.exe: 2ee2c1c0e8eea44f578f88c6ec454ada
+conaninfo.txt: 99ef2c6b9431afc948348c7c42c5b77b
+include/unicode/alphaindex.h: 1be039746e3da3f7baa9421062373468
+include/unicode/appendable.h: 48b3a0a4c3044ad5f2af18f1ab48c8ff
+include/unicode/basictz.h: 57fe3c53d6b1a2bf5d1f40ec51efd7a1
+include/unicode/brkiter.h: e5ff475b7b01a97e5cd11a5362785921
+include/unicode/bytestream.h: 34a6807cd42f2e64ca60429897eb4b10
+include/unicode/bytestrie.h: d9be048d5c7e9dd0a2c6cd82e91e6002
+include/unicode/bytestriebuilder.h: 66236ad8247bd04c9ea525012b4c4ca8
+include/unicode/calendar.h: 692005b416fc2e4a8c497ff9b9a31bd8
+include/unicode/caniter.h: a70809c92ea90b654e9f11a793f84429
+include/unicode/casemap.h: d088e7422633b4cad3ad2b0b83ca239b
+include/unicode/char16ptr.h: c234b9ba14299c6068f5af1a936c1ead
+include/unicode/chariter.h: c8623016adba39ab38ef29f38ec87e45
+include/unicode/choicfmt.h: 832e7b39d19ec192ac1551360436f946
+include/unicode/coleitr.h: d9f07937d600ee811c121c0b0504724c
+include/unicode/coll.h: a2062360d7415e08abb01c44088f074e
+include/unicode/compactdecimalformat.h: 029f9640501bd640495c18397b5ff8bb
+include/unicode/curramt.h: 41fc0e62956b2e0fa7fd5e05213afc85
+include/unicode/currpinf.h: 09cbc4d9eb04b2aa2c4c155961f13c89
+include/unicode/currunit.h: 43648726f439d03c8c8a13b87c122332
+include/unicode/datefmt.h: 28ef92e98cdac29630b0aa0daf122798
+include/unicode/dbbi.h: 3d4186ec9549d6693d136257f610ec06
+include/unicode/dcfmtsym.h: b18b90c0c6371eab5028582492859142
+include/unicode/decimfmt.h: fb4231ddf75de524300ee952634ef038
+include/unicode/docmain.h: 697c221351932e373cf9e5903f40b723
+include/unicode/dtfmtsym.h: cabbccbf9deec91ebf291a19110007fb
+include/unicode/dtintrv.h: 7a7ce170e6035b90ef5b4bee91893833
+include/unicode/dtitvfmt.h: da220b13a8f895c4e77b653d865eb049
+include/unicode/dtitvinf.h: 1ad6b7f844a9362b2b7a0f509284cae7
+include/unicode/dtptngen.h: 8f8fcb053b5024c5b1d3dfc258f59344
+include/unicode/dtrule.h: 68551564f8ab72271d3574aa0cba381d
+include/unicode/edits.h: 6b8aa73dbf2c2f0b49da5bc5903bcc8c
+include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
+include/unicode/errorcode.h: debeda4467a19aaf964fafc73629c8ae
+include/unicode/fieldpos.h: 3b041c7d9a5df0aef744b88e764af17e
+include/unicode/filteredbrk.h: e54dd29247eb75f8490423f7f8541691
+include/unicode/fmtable.h: 3816f155db2c35ac5de3f80ffdaa549c
+include/unicode/format.h: 0417863e1b303fa282659c4903e3a11c
+include/unicode/formattedvalue.h: fc50c8972404b212799d76cf8e647888
+include/unicode/fpositer.h: b5e8bbc249dc37e3b159f0a2b5053957
+include/unicode/gender.h: 5e093c1cfb96ef671f2e5dedb96a0d64
+include/unicode/gregocal.h: 15c7b4ceaca9b8b8f8e747d5427aa7a7
+include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
+include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
+include/unicode/idna.h: a7c3650d5311edeb01f754c574d0fb8b
+include/unicode/listformatter.h: 65911d72679c6e0a267e951b03467f37
+include/unicode/localebuilder.h: 1b6106448cf6cde7e7ebf25ee6fe4065
+include/unicode/localematcher.h: 3a03cbb5970a14fe153041c878f583f2
+include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
+include/unicode/locdspnm.h: aa260a00e31e970757e3b3cbe00fff3d
+include/unicode/locid.h: 6caa36f85c9bab54b78ecd0c056789aa
+include/unicode/measfmt.h: 21b534367e4b3825dc70c3a289822df8
+include/unicode/measunit.h: 0f903f67958ad91e8bd2e49fc40c3075
+include/unicode/measure.h: 49091c823a2f12f5f60f7fecd7c452f2
+include/unicode/messagepattern.h: 15ecc58806c256ac91c2549d4f5c242f
+include/unicode/msgfmt.h: f9ff9322fa80486203829c15d4982573
+include/unicode/normalizer2.h: 436d923df3a66774b7bf26ffe75a5d1c
+include/unicode/normlzr.h: 5bf33ff933ee7eb49c330df38f490f57
+include/unicode/nounit.h: 2b4901f562077b370d82c4bbe229aac4
+include/unicode/numberformatter.h: 0f62c292f92d5598a61647bbf4294e1a
+include/unicode/numberrangeformatter.h: 58623918bf66f1fd6687f3dd03180a4b
+include/unicode/numfmt.h: 2a21117116463390ec4f19d53f485890
+include/unicode/numsys.h: 186ba43c003b4f56af3c63abd08f418e
+include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
+include/unicode/parsepos.h: 5c53fa7c473d4593fd72ce964b505807
+include/unicode/platform.h: 56fe53b31059acb1be086c45ce88e8c6
+include/unicode/plurfmt.h: 6f1b781b7a62a6ac1c7e4c6a2bb18d77
+include/unicode/plurrule.h: cf4b0b9ec1a525b96e7d27e489044337
+include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
+include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
+include/unicode/rbbi.h: 6c5f44ef812dfb48b65466732513c091
+include/unicode/rbnf.h: e870f2cf64c9b72eb549c413d6f98299
+include/unicode/rbtz.h: ea9f5a1edac3fe535ec7b83636daf61d
+include/unicode/regex.h: 16565e3d41228a76f17a63842d9594d2
+include/unicode/region.h: 22585a516ee7525f3e9094f2843b7640
+include/unicode/reldatefmt.h: 1b226903d9375471432582c27ade4934
+include/unicode/rep.h: eab550a9bbb33b4c1283ab16bc2dfafa
+include/unicode/resbund.h: cc93ada0e9871eee0a86f81548a3be73
+include/unicode/schriter.h: acea2a510e5c9127dad0e2538cf65ccd
+include/unicode/scientificnumberformatter.h: 40eb759fc2902b6c8e732b440fe6a1bc
+include/unicode/search.h: a93ebdadfc5113f1b9c9c185262ef461
+include/unicode/selfmt.h: 581ab6f6ac584265d5c56dad4051ee12
+include/unicode/simpleformatter.h: 8e5e9a9589359e06110af10bcf941d54
+include/unicode/simpletz.h: 194e0d388b74daa4cf51d012e2d14ebd
+include/unicode/smpdtfmt.h: 0e6383eafd569b511791e826b51df8d1
+include/unicode/sortkey.h: 27f3d671f37c27d0b36953d00c1f2e7b
+include/unicode/std_string.h: bb3b2e28a2ae9b66a60b7d90f8c07512
+include/unicode/strenum.h: 3c23eb4fa4d847b6afdd18adf3ccdaf5
+include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
+include/unicode/stringpiece.h: 3d7911a3b2a59830eaceb37e46110285
+include/unicode/stringtriebuilder.h: 08ce10a0f6e85f4bb078f69d5382f8bc
+include/unicode/stsearch.h: b15838a5cf5740b0aaa9af5356aef26b
+include/unicode/symtable.h: 7487ffc7069316553d08f1109965bf9d
+include/unicode/tblcoll.h: ee27157293d0802cde26d75c6098c1d3
+include/unicode/timezone.h: 54689b5ef15d0f03a146e8aeac163be8
+include/unicode/tmunit.h: 9ddf31866353dde1ae249ed93fce9234
+include/unicode/tmutamt.h: beea411e9f16d8b91fef39a297cd06d8
+include/unicode/tmutfmt.h: ae13f8ac46ad754bf83142943b19a647
+include/unicode/translit.h: f225620498133e8e4bcc2ad6679225e5
+include/unicode/tzfmt.h: b6c94cd901ffe5387f0245ca9fd68604
+include/unicode/tznames.h: a50010925037c01304c719e47bfb369a
+include/unicode/tzrule.h: 0e3465c0eeb27a0545f94bf9f5cfc21e
+include/unicode/tztrans.h: 117392a0dc2fe373946aecfa74475842
+include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
+include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
+include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
+include/unicode/ucal.h: d247badde5d39cc16e06d26153054c85
+include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
+include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
+include/unicode/uchar.h: ebac2b0b753a1cd10db2f428736bf06d
+include/unicode/ucharstrie.h: 16d3d38154f1444b8a3425254ab7ab81
+include/unicode/ucharstriebuilder.h: b92f18132f6c1d61da0ad51b8099435d
+include/unicode/uchriter.h: a356cb90d62d9e425e5efbb071c30b21
+include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
+include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
+include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
+include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
+include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
+include/unicode/ucol.h: 47c1acc6c2bde098f0b06c8590d68b9f
+include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
+include/unicode/uconfig.h: 80678a12de446cdf8679cdd5792a12e9
+include/unicode/ucpmap.h: 0b16934410c99981d87ddd10e1759bed
+include/unicode/ucptrie.h: 7450de71dd5e1a83f5290da33d48d40d
+include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
+include/unicode/ucurr.h: 5de7a80ece54cf7583e19f292ad17825
+include/unicode/udat.h: c665d53e4691b564ae5394957fcdcf31
+include/unicode/udata.h: 98e2327300a26bbaf40bd8eb7eee8c1a
+include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
+include/unicode/udatpg.h: ce0332b911d1a820a0b45922bd0e97fc
+include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
+include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
+include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
+include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
+include/unicode/uformattedvalue.h: e1e69e0927595423076481b8f948fd2a
+include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
+include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
+include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
+include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
+include/unicode/ulistformatter.h: 21277400caea3c7e7fdb57457c10e423
+include/unicode/uloc.h: 39d42620d3a97a7ae26d7b560ea3eacc
+include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
+include/unicode/umachine.h: 0a7fe7df81aedd43f322a9ec540feff5
+include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
+include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
+include/unicode/umutablecptrie.h: 5dc81c63a8b2c80ffd401c9bb5180e61
+include/unicode/unifilt.h: e170c06bf1bf81a56c7ed605d41fa02f
+include/unicode/unifunct.h: 23981a5088ba5d5af70309b73eef7666
+include/unicode/unimatch.h: 66161ce491e3b24e9e011cfc0e78be42
+include/unicode/unirepl.h: 462716fd44618949b405645ba7b5c8e6
+include/unicode/uniset.h: cb94f902233b2e1807156afe0967e3e0
+include/unicode/unistr.h: 5ebe061e4a17e981bb249c4814f4dd9d
+include/unicode/unorm.h: ca96f37ed2e2afd56585a238d73cea51
+include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
+include/unicode/unum.h: 656d2aa9a41ca4b7bfad0a09420bdc23
+include/unicode/unumberformatter.h: 9be73b6bb76bb5862a8dfd615e563b82
+include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
+include/unicode/uobject.h: b56a28b01e3df9088315aeb145ec3a8e
+include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
+include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
+include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
+include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
+include/unicode/urename.h: 1642d190b583bbaaf454ac65a37a8024
+include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
+include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
+include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
+include/unicode/usearch.h: 1f3fcea9dc6c40e908992e74f602235f
+include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
+include/unicode/usetiter.h: ab1ebd4b0b9e3560a94a7c6cb3a9e48f
+include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
+include/unicode/uspoof.h: 8b9508cbe045b114f0f618d04fcab512
+include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
+include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
+include/unicode/ustream.h: 0a74df2b9d1967d0b859d21f5828f4e8
+include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
+include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
+include/unicode/utext.h: 89a08f750d0c5751d4f385c4874c0e61
+include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
+include/unicode/utf16.h: 147fbb88d8300af3e38d80ce59c1c1ce
+include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
+include/unicode/utf8.h: 7f0c4c02bd7506e80fd11a4597cc1450
+include/unicode/utf_old.h: 92ffc297b71c8d83ed05b644183c477c
+include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
+include/unicode/utrace.h: 420d2f8d462ae300ca1903c2a6ebaba3
+include/unicode/utrans.h: 5cd9b1f130197e5fdd8a66519233abf5
+include/unicode/utypes.h: 47eb8ff3f909dafa9bee14f8bb224342
+include/unicode/uvernum.h: a91a8e07c665891ed234de3a58302663
+include/unicode/uversion.h: 0b8f75f3d1c816ee3359dde5be390d17
+include/unicode/vtzone.h: 615f12cb0d05441d0872aa677db80a90
+lib/icu/65.1/Makefile.inc: deb555bb13d6bc64ecf03938649bcb42
+lib/icu/65.1/pkgdata.inc: 14bffb89dfab6dd2dabc9cf5e577ad54
+lib/icu/Makefile.inc: deb555bb13d6bc64ecf03938649bcb42
+lib/icu/current/Makefile.inc: deb555bb13d6bc64ecf03938649bcb42
+lib/icu/current/pkgdata.inc: 14bffb89dfab6dd2dabc9cf5e577ad54
+lib/icu/pkgdata.inc: 14bffb89dfab6dd2dabc9cf5e577ad54
+lib/icudt.lib: 58b9ec51a1777de1fb041aa28a7bb8da
+lib/icuin.lib: cca9b85fa3acdea42ff12221243200bf
+lib/icuio.lib: 991e3087c1bc4d830370c0f4e9f31263
+lib/icutest.lib: 58deae087e7a789565740f446b16ac7b
+lib/icutu.lib: 2edad731e421178212835b5beeaef3a8
+lib/icuuc.lib: 2fb6b667845492e190bc4b4d4c161728
+lib/pkgconfig/icu-i18n.pc: 8675adcacb3f4d1bc051fc74e4b2ad83
+lib/pkgconfig/icu-io.pc: d4525de45bc4dcde93b0e08c54d372f7
+lib/pkgconfig/icu-uc.pc: 43c29b64579be3832ffc3bf22af9d52a
+licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/config/mh-msys-msvc: c3bf313c25288142820e4ab191c1c153
+share/icu/65.1/install-sh: 5afe8eb5573965dfb58378e4e46f3813
+share/icu/65.1/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
+share/man/man1/derb.1: bddb017162105939f6d43c9539c99497
+share/man/man1/genbrk.1: a4e60e4a60ab26eb29119649bfb60d2b
+share/man/man1/gencfu.1: 4950b8178b944a3ebfea1c419ffd3319
+share/man/man1/gencnval.1: 53b10d9351473a7ea603400973377a7d
+share/man/man1/gendict.1: 9c1bf2760e5735b0e6601f48e92cb0d9
+share/man/man1/genrb.1: ffebc1e8007bd58f5623299e6b4babe8
+share/man/man1/icu-config.1: f4670ca16d77ce21310e48aa91f7ee5b
+share/man/man1/makeconv.1: c96397ad56d2c21649757c407aac46d8
+share/man/man1/pkgdata.1: 5f7b05c28de887cca1e5d7bfb9db4c39
+share/man/man8/genccode.8: 498418dc0aec1fa7ccfb83c491b5a23e
+share/man/man8/gencmn.8: c43635e431ea0f1616ea8266e36c0d75
+share/man/man8/gensprep.8: 396d70fec1a04aae25e6bfc6e8e58c65
+share/man/man8/icupkg.8: 430bcbed42faa9ea33b161a48c0490c6
diff --git a/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/cd2d3d20ffbb190b9b990f98e6dedc2be0228764/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/cd2d3d20ffbb190b9b990f98e6dedc2be0228764/conanmanifest.txt
new file mode 100644
index 00000000..6f0c7a16
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/icu/65.1/qtproject/stable/package/cd2d3d20ffbb190b9b990f98e6dedc2be0228764/conanmanifest.txt
@@ -0,0 +1,250 @@
+1582256246
+bin/derb.exe: e6041fdf335b5a524557f138c869cc84
+bin/escapesrc.exe: 9cfd048a6bf3519b17f30df342966a33
+bin/genbrk.exe: 752b9f024858391ddbec6403bfb2048a
+bin/genccode.exe: 0369bda45bcbeb73f0915b74287d9ad5
+bin/gencfu.exe: ca626c73c414e88b65d934fa48a8f506
+bin/gencmn.exe: 8626f0646549407b32ac13d6e1952fd6
+bin/gencnval.exe: 3864bdb0a1b41b22d0582cb938cfcd5e
+bin/gendict.exe: a409064c7b8458063022de5fb14808b5
+bin/gennorm2.exe: 646e92dfa248ab1b06e4486b885a57ec
+bin/genrb.exe: 346551698bd19f0d29a57f1ed4f2fde7
+bin/gensprep.exe: 95680f967adc685b197756ba265cd7ef
+bin/icu-config: 09fb7ddac5b9883611c1f2fefb28e692
+bin/icudt.dll: a9192d258154160b288d939bb1eb3f96
+bin/icudt65.dll: 3a45a96f7e1e69d427063fe3627b1a38
+bin/icuin.dll: ab4224faef23c6b0bcb0601b44dd39b9
+bin/icuin65.dll: ab4224faef23c6b0bcb0601b44dd39b9
+bin/icuinfo.exe: abc421ec846b8d7dac99b1f4d296773d
+bin/icuio.dll: cab9b7f62754cbe7bce23d07bce9fedc
+bin/icuio65.dll: cab9b7f62754cbe7bce23d07bce9fedc
+bin/icupkg.exe: bc5f4f3f340b4621df456c4aed4073c2
+bin/icutest.dll: 921c386181ff37db17e063bc4cf55a62
+bin/icutest65.dll: 921c386181ff37db17e063bc4cf55a62
+bin/icutu.dll: f72c49d172522323d7069a96224d89a9
+bin/icutu65.dll: f72c49d172522323d7069a96224d89a9
+bin/icuuc.dll: afe869974d32eedcf1289b5592ea007c
+bin/icuuc65.dll: afe869974d32eedcf1289b5592ea007c
+bin/makeconv.exe: 5f302e72bc98f33db337fdb644c79181
+bin/pkgdata.exe: a48d51ee2d5a1e6d71dd2d7e98dc69be
+conaninfo.txt: ebe8d1091c909c57853d44504c05ac72
+include/unicode/alphaindex.h: 1be039746e3da3f7baa9421062373468
+include/unicode/appendable.h: 48b3a0a4c3044ad5f2af18f1ab48c8ff
+include/unicode/basictz.h: 57fe3c53d6b1a2bf5d1f40ec51efd7a1
+include/unicode/brkiter.h: e5ff475b7b01a97e5cd11a5362785921
+include/unicode/bytestream.h: 34a6807cd42f2e64ca60429897eb4b10
+include/unicode/bytestrie.h: d9be048d5c7e9dd0a2c6cd82e91e6002
+include/unicode/bytestriebuilder.h: 66236ad8247bd04c9ea525012b4c4ca8
+include/unicode/calendar.h: 692005b416fc2e4a8c497ff9b9a31bd8
+include/unicode/caniter.h: a70809c92ea90b654e9f11a793f84429
+include/unicode/casemap.h: d088e7422633b4cad3ad2b0b83ca239b
+include/unicode/char16ptr.h: c234b9ba14299c6068f5af1a936c1ead
+include/unicode/chariter.h: c8623016adba39ab38ef29f38ec87e45
+include/unicode/choicfmt.h: 832e7b39d19ec192ac1551360436f946
+include/unicode/coleitr.h: d9f07937d600ee811c121c0b0504724c
+include/unicode/coll.h: a2062360d7415e08abb01c44088f074e
+include/unicode/compactdecimalformat.h: 029f9640501bd640495c18397b5ff8bb
+include/unicode/curramt.h: 41fc0e62956b2e0fa7fd5e05213afc85
+include/unicode/currpinf.h: 09cbc4d9eb04b2aa2c4c155961f13c89
+include/unicode/currunit.h: 43648726f439d03c8c8a13b87c122332
+include/unicode/datefmt.h: 28ef92e98cdac29630b0aa0daf122798
+include/unicode/dbbi.h: 3d4186ec9549d6693d136257f610ec06
+include/unicode/dcfmtsym.h: b18b90c0c6371eab5028582492859142
+include/unicode/decimfmt.h: fb4231ddf75de524300ee952634ef038
+include/unicode/docmain.h: 697c221351932e373cf9e5903f40b723
+include/unicode/dtfmtsym.h: cabbccbf9deec91ebf291a19110007fb
+include/unicode/dtintrv.h: 7a7ce170e6035b90ef5b4bee91893833
+include/unicode/dtitvfmt.h: da220b13a8f895c4e77b653d865eb049
+include/unicode/dtitvinf.h: 1ad6b7f844a9362b2b7a0f509284cae7
+include/unicode/dtptngen.h: 8f8fcb053b5024c5b1d3dfc258f59344
+include/unicode/dtrule.h: 68551564f8ab72271d3574aa0cba381d
+include/unicode/edits.h: 6b8aa73dbf2c2f0b49da5bc5903bcc8c
+include/unicode/enumset.h: 3bb75fc43c88682895ae98c02e69810d
+include/unicode/errorcode.h: debeda4467a19aaf964fafc73629c8ae
+include/unicode/fieldpos.h: 3b041c7d9a5df0aef744b88e764af17e
+include/unicode/filteredbrk.h: e54dd29247eb75f8490423f7f8541691
+include/unicode/fmtable.h: 3816f155db2c35ac5de3f80ffdaa549c
+include/unicode/format.h: 0417863e1b303fa282659c4903e3a11c
+include/unicode/formattedvalue.h: fc50c8972404b212799d76cf8e647888
+include/unicode/fpositer.h: b5e8bbc249dc37e3b159f0a2b5053957
+include/unicode/gender.h: 5e093c1cfb96ef671f2e5dedb96a0d64
+include/unicode/gregocal.h: 15c7b4ceaca9b8b8f8e747d5427aa7a7
+include/unicode/icudataver.h: d1c480a9eb95aaa058a6b9311074bc33
+include/unicode/icuplug.h: 60ad27a2a36284bbc1766f9920769175
+include/unicode/idna.h: a7c3650d5311edeb01f754c574d0fb8b
+include/unicode/listformatter.h: 65911d72679c6e0a267e951b03467f37
+include/unicode/localebuilder.h: 1b6106448cf6cde7e7ebf25ee6fe4065
+include/unicode/localematcher.h: 3a03cbb5970a14fe153041c878f583f2
+include/unicode/localpointer.h: a89505f84a4bb4e231a17676f1b1d51a
+include/unicode/locdspnm.h: aa260a00e31e970757e3b3cbe00fff3d
+include/unicode/locid.h: 6caa36f85c9bab54b78ecd0c056789aa
+include/unicode/measfmt.h: 21b534367e4b3825dc70c3a289822df8
+include/unicode/measunit.h: 0f903f67958ad91e8bd2e49fc40c3075
+include/unicode/measure.h: 49091c823a2f12f5f60f7fecd7c452f2
+include/unicode/messagepattern.h: 15ecc58806c256ac91c2549d4f5c242f
+include/unicode/msgfmt.h: f9ff9322fa80486203829c15d4982573
+include/unicode/normalizer2.h: 436d923df3a66774b7bf26ffe75a5d1c
+include/unicode/normlzr.h: 5bf33ff933ee7eb49c330df38f490f57
+include/unicode/nounit.h: 2b4901f562077b370d82c4bbe229aac4
+include/unicode/numberformatter.h: 0f62c292f92d5598a61647bbf4294e1a
+include/unicode/numberrangeformatter.h: 58623918bf66f1fd6687f3dd03180a4b
+include/unicode/numfmt.h: 2a21117116463390ec4f19d53f485890
+include/unicode/numsys.h: 186ba43c003b4f56af3c63abd08f418e
+include/unicode/parseerr.h: ce38831411af01eeaf0bbbb6e1cb0153
+include/unicode/parsepos.h: 5c53fa7c473d4593fd72ce964b505807
+include/unicode/platform.h: 56fe53b31059acb1be086c45ce88e8c6
+include/unicode/plurfmt.h: 6f1b781b7a62a6ac1c7e4c6a2bb18d77
+include/unicode/plurrule.h: cf4b0b9ec1a525b96e7d27e489044337
+include/unicode/ptypes.h: d74097874c82f77331d8e06a5c59d37f
+include/unicode/putil.h: ee1c69d5060b8d5754bf8879bb7f10d1
+include/unicode/rbbi.h: 6c5f44ef812dfb48b65466732513c091
+include/unicode/rbnf.h: e870f2cf64c9b72eb549c413d6f98299
+include/unicode/rbtz.h: ea9f5a1edac3fe535ec7b83636daf61d
+include/unicode/regex.h: 16565e3d41228a76f17a63842d9594d2
+include/unicode/region.h: 22585a516ee7525f3e9094f2843b7640
+include/unicode/reldatefmt.h: 1b226903d9375471432582c27ade4934
+include/unicode/rep.h: eab550a9bbb33b4c1283ab16bc2dfafa
+include/unicode/resbund.h: cc93ada0e9871eee0a86f81548a3be73
+include/unicode/schriter.h: acea2a510e5c9127dad0e2538cf65ccd
+include/unicode/scientificnumberformatter.h: 40eb759fc2902b6c8e732b440fe6a1bc
+include/unicode/search.h: a93ebdadfc5113f1b9c9c185262ef461
+include/unicode/selfmt.h: 581ab6f6ac584265d5c56dad4051ee12
+include/unicode/simpleformatter.h: 8e5e9a9589359e06110af10bcf941d54
+include/unicode/simpletz.h: 194e0d388b74daa4cf51d012e2d14ebd
+include/unicode/smpdtfmt.h: 0e6383eafd569b511791e826b51df8d1
+include/unicode/sortkey.h: 27f3d671f37c27d0b36953d00c1f2e7b
+include/unicode/std_string.h: bb3b2e28a2ae9b66a60b7d90f8c07512
+include/unicode/strenum.h: 3c23eb4fa4d847b6afdd18adf3ccdaf5
+include/unicode/stringoptions.h: d4929224e8d9df2f272f0305780cbacb
+include/unicode/stringpiece.h: 3d7911a3b2a59830eaceb37e46110285
+include/unicode/stringtriebuilder.h: 08ce10a0f6e85f4bb078f69d5382f8bc
+include/unicode/stsearch.h: b15838a5cf5740b0aaa9af5356aef26b
+include/unicode/symtable.h: 7487ffc7069316553d08f1109965bf9d
+include/unicode/tblcoll.h: ee27157293d0802cde26d75c6098c1d3
+include/unicode/timezone.h: 54689b5ef15d0f03a146e8aeac163be8
+include/unicode/tmunit.h: 9ddf31866353dde1ae249ed93fce9234
+include/unicode/tmutamt.h: beea411e9f16d8b91fef39a297cd06d8
+include/unicode/tmutfmt.h: ae13f8ac46ad754bf83142943b19a647
+include/unicode/translit.h: f225620498133e8e4bcc2ad6679225e5
+include/unicode/tzfmt.h: b6c94cd901ffe5387f0245ca9fd68604
+include/unicode/tznames.h: a50010925037c01304c719e47bfb369a
+include/unicode/tzrule.h: 0e3465c0eeb27a0545f94bf9f5cfc21e
+include/unicode/tztrans.h: 117392a0dc2fe373946aecfa74475842
+include/unicode/ubidi.h: d90a13a2933198f134efefc0ff7563e6
+include/unicode/ubiditransform.h: fab65809ece8816f1a002eb843b80e29
+include/unicode/ubrk.h: e85002afa629b85ba239135ab11f47f0
+include/unicode/ucal.h: d247badde5d39cc16e06d26153054c85
+include/unicode/ucasemap.h: 2f240e1dc6db1771e843f1a03fd0c8f4
+include/unicode/ucat.h: f412352b86adccba85d7f3e4b4515064
+include/unicode/uchar.h: ebac2b0b753a1cd10db2f428736bf06d
+include/unicode/ucharstrie.h: 16d3d38154f1444b8a3425254ab7ab81
+include/unicode/ucharstriebuilder.h: b92f18132f6c1d61da0ad51b8099435d
+include/unicode/uchriter.h: a356cb90d62d9e425e5efbb071c30b21
+include/unicode/uclean.h: ef4b9289f510edd0bb6b779d0a299f44
+include/unicode/ucnv.h: db701a7a83540ef4dcfc4e780f1da016
+include/unicode/ucnv_cb.h: 69c1c5b156028cd623ed7e5b5b4ab730
+include/unicode/ucnv_err.h: 6ef0751460140d23ae678ef85c298906
+include/unicode/ucnvsel.h: 6e4c5e31c2a89439ef4945cd4a402ef3
+include/unicode/ucol.h: 47c1acc6c2bde098f0b06c8590d68b9f
+include/unicode/ucoleitr.h: b4576706530850666c1cfd2424276b26
+include/unicode/uconfig.h: 80678a12de446cdf8679cdd5792a12e9
+include/unicode/ucpmap.h: 0b16934410c99981d87ddd10e1759bed
+include/unicode/ucptrie.h: 7450de71dd5e1a83f5290da33d48d40d
+include/unicode/ucsdet.h: c7d5b3d36da0c71b0a85a72642439a90
+include/unicode/ucurr.h: 5de7a80ece54cf7583e19f292ad17825
+include/unicode/udat.h: c665d53e4691b564ae5394957fcdcf31
+include/unicode/udata.h: 98e2327300a26bbaf40bd8eb7eee8c1a
+include/unicode/udateintervalformat.h: 178f650518ecceeb2eca7b763dd68799
+include/unicode/udatpg.h: ce0332b911d1a820a0b45922bd0e97fc
+include/unicode/udisplaycontext.h: 57a269787da52ad6720ff5b1e87b5cdd
+include/unicode/uenum.h: 41cce54d4862d5068f4f087b935c0657
+include/unicode/ufieldpositer.h: 21f8ba8e285bfea4daa3da8a01911b7e
+include/unicode/uformattable.h: cad38a97f9f929ebc28d5e72dc5ec14f
+include/unicode/uformattedvalue.h: e1e69e0927595423076481b8f948fd2a
+include/unicode/ugender.h: d64c9ad1d5cf04136534e3aca38d2638
+include/unicode/uidna.h: 88ee381ec6ec01cb677f3e5222e9cf22
+include/unicode/uiter.h: 3fea96177f4f814091918f54d1e68ccd
+include/unicode/uldnames.h: d18634bc73c16b9ae02b6a60fd94d8be
+include/unicode/ulistformatter.h: 21277400caea3c7e7fdb57457c10e423
+include/unicode/uloc.h: 39d42620d3a97a7ae26d7b560ea3eacc
+include/unicode/ulocdata.h: 116fad6a2c0db0d08e3f5ae02d93a035
+include/unicode/umachine.h: 0a7fe7df81aedd43f322a9ec540feff5
+include/unicode/umisc.h: eca71d8c8bf86529ae5bbc5f34598bea
+include/unicode/umsg.h: 298645d31f8d8e209cbb5eb3751e3ceb
+include/unicode/umutablecptrie.h: 5dc81c63a8b2c80ffd401c9bb5180e61
+include/unicode/unifilt.h: e170c06bf1bf81a56c7ed605d41fa02f
+include/unicode/unifunct.h: 23981a5088ba5d5af70309b73eef7666
+include/unicode/unimatch.h: 66161ce491e3b24e9e011cfc0e78be42
+include/unicode/unirepl.h: 462716fd44618949b405645ba7b5c8e6
+include/unicode/uniset.h: cb94f902233b2e1807156afe0967e3e0
+include/unicode/unistr.h: 5ebe061e4a17e981bb249c4814f4dd9d
+include/unicode/unorm.h: ca96f37ed2e2afd56585a238d73cea51
+include/unicode/unorm2.h: e8fff4023ad114b325f346d2cdbbe043
+include/unicode/unum.h: 656d2aa9a41ca4b7bfad0a09420bdc23
+include/unicode/unumberformatter.h: 9be73b6bb76bb5862a8dfd615e563b82
+include/unicode/unumsys.h: 7e5dd76a0e07f790c30c944bfb810e71
+include/unicode/uobject.h: b56a28b01e3df9088315aeb145ec3a8e
+include/unicode/upluralrules.h: 15feae7c7df35b97d5e715f28f616e63
+include/unicode/uregex.h: 10fe8b8c9f98758bf192bc765fa45e3c
+include/unicode/uregion.h: a3f28f15972bf18600012815a8c76535
+include/unicode/ureldatefmt.h: d528589ebdc3f8cb6c27ce4867752c55
+include/unicode/urename.h: 1642d190b583bbaaf454ac65a37a8024
+include/unicode/urep.h: 6ada98ac1aa68081f10d17b1abadef6e
+include/unicode/ures.h: 8c69586a969eb2898d5d3e8c08beda9c
+include/unicode/uscript.h: 5bf2d96240b17507a05ebe4d36b1a38e
+include/unicode/usearch.h: 1f3fcea9dc6c40e908992e74f602235f
+include/unicode/uset.h: a285e1b480a3abaaee753ba74d245efd
+include/unicode/usetiter.h: ab1ebd4b0b9e3560a94a7c6cb3a9e48f
+include/unicode/ushape.h: 86fdf709d4312bb17cf95b16f58e1dc4
+include/unicode/uspoof.h: 8b9508cbe045b114f0f618d04fcab512
+include/unicode/usprep.h: e88585ae8bdb3a35aa88417993bde732
+include/unicode/ustdio.h: 3104e526d3de60538f42c0fd5430adcb
+include/unicode/ustream.h: 0a74df2b9d1967d0b859d21f5828f4e8
+include/unicode/ustring.h: 92f522f8ef62e443c11baa56c32e42e4
+include/unicode/ustringtrie.h: 54a28aa9c4e117cd3ebfd0a670324f6c
+include/unicode/utext.h: 89a08f750d0c5751d4f385c4874c0e61
+include/unicode/utf.h: 4434eeb75c89a49228884aa247714e1c
+include/unicode/utf16.h: 147fbb88d8300af3e38d80ce59c1c1ce
+include/unicode/utf32.h: a1fdf74f4bd8808f9fb17df371f886d9
+include/unicode/utf8.h: 7f0c4c02bd7506e80fd11a4597cc1450
+include/unicode/utf_old.h: 92ffc297b71c8d83ed05b644183c477c
+include/unicode/utmscale.h: 7c59d91f835bc9f4b805dd64e73851d7
+include/unicode/utrace.h: 420d2f8d462ae300ca1903c2a6ebaba3
+include/unicode/utrans.h: 5cd9b1f130197e5fdd8a66519233abf5
+include/unicode/utypes.h: 47eb8ff3f909dafa9bee14f8bb224342
+include/unicode/uvernum.h: a91a8e07c665891ed234de3a58302663
+include/unicode/uversion.h: 0b8f75f3d1c816ee3359dde5be390d17
+include/unicode/vtzone.h: 615f12cb0d05441d0872aa677db80a90
+lib/icu/65.1/Makefile.inc: 73ad866aae05ced0a9a9d1458dc1bf8f
+lib/icu/65.1/pkgdata.inc: bf50cad45e347453287b6c89411eaea9
+lib/icu/Makefile.inc: 73ad866aae05ced0a9a9d1458dc1bf8f
+lib/icu/current/Makefile.inc: 73ad866aae05ced0a9a9d1458dc1bf8f
+lib/icu/current/pkgdata.inc: bf50cad45e347453287b6c89411eaea9
+lib/icu/pkgdata.inc: bf50cad45e347453287b6c89411eaea9
+lib/icudt.lib: 5dbe4c8d0feeacf4d9eea9d067a7afc3
+lib/icuin.lib: 45f344989a36defbc1f0f7227308865d
+lib/icuio.lib: 33e944538f0f5c890581d2e8840bba83
+lib/icutest.lib: cc355097c595e6c1c4a1cb1e92ed311a
+lib/icutu.lib: 5db94d78a0f650efa606d964444b78e8
+lib/icuuc.lib: 80d1fd2e66b136767395e3811227737c
+lib/pkgconfig/icu-i18n.pc: 648b5d9ec85b0426e1069c02742b5617
+lib/pkgconfig/icu-io.pc: 34521e04a76356658abd41e3932acd56
+lib/pkgconfig/icu-uc.pc: cb702fa4b4c1fa616e01eb228cebd947
+licenses/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/LICENSE: 8bc5d32052a96f214cbdd1e53dfc935d
+share/icu/65.1/config/mh-msys-msvc: c3bf313c25288142820e4ab191c1c153
+share/icu/65.1/install-sh: 5afe8eb5573965dfb58378e4e46f3813
+share/icu/65.1/mkinstalldirs: 31c4856b24c8dbc6319819ccd43b4fda
+share/man/man1/derb.1: bddb017162105939f6d43c9539c99497
+share/man/man1/genbrk.1: a4e60e4a60ab26eb29119649bfb60d2b
+share/man/man1/gencfu.1: 4950b8178b944a3ebfea1c419ffd3319
+share/man/man1/gencnval.1: 53b10d9351473a7ea603400973377a7d
+share/man/man1/gendict.1: 9c1bf2760e5735b0e6601f48e92cb0d9
+share/man/man1/genrb.1: ffebc1e8007bd58f5623299e6b4babe8
+share/man/man1/icu-config.1: f4670ca16d77ce21310e48aa91f7ee5b
+share/man/man1/makeconv.1: c96397ad56d2c21649757c407aac46d8
+share/man/man1/pkgdata.1: 5f7b05c28de887cca1e5d7bfb9db4c39
+share/man/man8/genccode.8: 498418dc0aec1fa7ccfb83c491b5a23e
+share/man/man8/gencmn.8: c43635e431ea0f1616ea8266e36c0d75
+share/man/man8/gensprep.8: 396d70fec1a04aae25e6bfc6e8e58c65
+share/man/man8/icupkg.8: 430bcbed42faa9ea33b161a48c0490c6
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/export/conanmanifest.txt
new file mode 100644
index 00000000..ad0ef6f4
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/export/conanmanifest.txt
@@ -0,0 +1,4 @@
+1599735572
+LICENSE.md: 5aa9930034582b90e2008d2c609d1317
+conanfile.py: b752e9ae1c6b8d65022ecc9094a8a8ab
+export_source/CMakeLists.txt: eb0fcc86f467a4c6ac9f37c16887a29f
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/1655126cc73fa38b3abf5795b2008935595969ae/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/1655126cc73fa38b3abf5795b2008935595969ae/conanmanifest.txt
new file mode 100644
index 00000000..a05189ee
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/1655126cc73fa38b3abf5795b2008935595969ae/conanmanifest.txt
@@ -0,0 +1,12 @@
+1599738045
+conaninfo.txt: 4fbbb44cc5815e6399144d4738128d34
+include/jconfig.h: 364c5b940297dd331dacb42dc5bc3cb9
+include/jerror.h: 9b7898fe417de269b8be88b10df908b0
+include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
+include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
+include/turbojpeg.h: e5051d1390ea320d22e81c7e73a163ae
+lib/libjpeg.a: 1beb177c28bec696d92c96cb12cf50b0
+lib/libturbojpeg.a: 3601472665eebd9ba70a8b4ded622fb7
+lib/pkgconfig/libjpeg.pc: 31670f8efeaaf416c10ef75033a21f89
+lib/pkgconfig/libturbojpeg.pc: 9ec917634a8badf738794da988e0cdd2
+licenses/LICENSE.md: 26d6491346496a57f75f00a78199122e
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/1c8544b57637b92dcdfce760b76b459bde0ce701/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/1c8544b57637b92dcdfce760b76b459bde0ce701/conanmanifest.txt
new file mode 100644
index 00000000..1407cc56
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/1c8544b57637b92dcdfce760b76b459bde0ce701/conanmanifest.txt
@@ -0,0 +1,12 @@
+1599737655
+conaninfo.txt: 1dff9c35ef06cd1f8e1dd7d3fa538a0b
+include/jconfig.h: 364c5b940297dd331dacb42dc5bc3cb9
+include/jerror.h: 9b7898fe417de269b8be88b10df908b0
+include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
+include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
+include/turbojpeg.h: e5051d1390ea320d22e81c7e73a163ae
+lib/jpeg-static.lib: 810088c13a0b62845d2a07fb9aedcf7c
+lib/pkgconfig/libjpeg.pc: 42c35d08648be46cba25e5c233bb4ceb
+lib/pkgconfig/libturbojpeg.pc: f5f04f23108a7e0287c36286668bed72
+lib/turbojpeg-static.lib: 57ccb316b5e241e589e4774d1873d2ea
+licenses/LICENSE.md: 26d6491346496a57f75f00a78199122e
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/4985763cfece81b148d7c11f16d564e42ee2756c/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/4985763cfece81b148d7c11f16d564e42ee2756c/conanmanifest.txt
new file mode 100644
index 00000000..71ab3ac4
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/4985763cfece81b148d7c11f16d564e42ee2756c/conanmanifest.txt
@@ -0,0 +1,12 @@
+1599735723
+conaninfo.txt: 96940ef25782fe187ad876a9798aefe6
+include/jconfig.h: 364c5b940297dd331dacb42dc5bc3cb9
+include/jerror.h: 9b7898fe417de269b8be88b10df908b0
+include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
+include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
+include/turbojpeg.h: e5051d1390ea320d22e81c7e73a163ae
+lib/jpeg-static.lib: bac9b04d6d20cb9e29a47c56e1d58e92
+lib/pkgconfig/libjpeg.pc: 8d98a30a9db257c005f7619aa5c0a054
+lib/pkgconfig/libturbojpeg.pc: 79a1c3fce48acb5ad45fd69fc5b5a7e0
+lib/turbojpeg-static.lib: 8e8c7d62afe07877cc07befcafc9b189
+licenses/LICENSE.md: 26d6491346496a57f75f00a78199122e
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/6fe55a250d22d4408ba9c4b99015260e933b58f0/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/6fe55a250d22d4408ba9c4b99015260e933b58f0/conanmanifest.txt
new file mode 100644
index 00000000..75ec237b
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/6fe55a250d22d4408ba9c4b99015260e933b58f0/conanmanifest.txt
@@ -0,0 +1,12 @@
+1599736618
+conaninfo.txt: 03f3f4e3fcf5d709d43aaec1f55898dc
+include/jconfig.h: 364c5b940297dd331dacb42dc5bc3cb9
+include/jerror.h: 9b7898fe417de269b8be88b10df908b0
+include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
+include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
+include/turbojpeg.h: e5051d1390ea320d22e81c7e73a163ae
+lib/jpeg-static.lib: 3134bba34a47e8c27d20ec4a4588f54d
+lib/pkgconfig/libjpeg.pc: e4f3f7cf063e703922623a48759eb548
+lib/pkgconfig/libturbojpeg.pc: 6412ff7d0f49e4b26ea9c17526fcd995
+lib/turbojpeg-static.lib: c01d3cddcc20514a4ed2ab9e0bf6bc79
+licenses/LICENSE.md: 26d6491346496a57f75f00a78199122e
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/793aa46df280f94646f5e993f5e3553e18ec8ae9/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/793aa46df280f94646f5e993f5e3553e18ec8ae9/conanmanifest.txt
new file mode 100644
index 00000000..fc756487
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/793aa46df280f94646f5e993f5e3553e18ec8ae9/conanmanifest.txt
@@ -0,0 +1,12 @@
+1599738143
+conaninfo.txt: 3991de728b2148a357e0adfe83ddff62
+include/jconfig.h: 364c5b940297dd331dacb42dc5bc3cb9
+include/jerror.h: 9b7898fe417de269b8be88b10df908b0
+include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
+include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
+include/turbojpeg.h: e5051d1390ea320d22e81c7e73a163ae
+lib/libjpeg.a: ab32855e9f71865bc026351d8e2e77dc
+lib/libturbojpeg.a: a05a8eef4b34c10a68a3e5c7864f55b5
+lib/pkgconfig/libjpeg.pc: afe1d748f5b9331fe322f414eeb8d871
+lib/pkgconfig/libturbojpeg.pc: 5a19528da1aae07f73729acf72ea8d9b
+licenses/LICENSE.md: 26d6491346496a57f75f00a78199122e
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/7fbb66ade701b46f34dff2e121edef66968608b5/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/7fbb66ade701b46f34dff2e121edef66968608b5/conanmanifest.txt
new file mode 100644
index 00000000..7e02159b
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/7fbb66ade701b46f34dff2e121edef66968608b5/conanmanifest.txt
@@ -0,0 +1,12 @@
+1599737489
+conaninfo.txt: faf97c2c98fbb660379fb96a52f3dcf3
+include/jconfig.h: 364c5b940297dd331dacb42dc5bc3cb9
+include/jerror.h: 9b7898fe417de269b8be88b10df908b0
+include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
+include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
+include/turbojpeg.h: e5051d1390ea320d22e81c7e73a163ae
+lib/jpeg-static.lib: 05604ba0465efd4fe4e8a518e82cdb81
+lib/pkgconfig/libjpeg.pc: 6819f3aec5d0a35187d510fb1034c584
+lib/pkgconfig/libturbojpeg.pc: 7226bc5b0d915e053a1204aba32867cf
+lib/turbojpeg-static.lib: efa16bdd47f24831fc02ac0b69912490
+licenses/LICENSE.md: 26d6491346496a57f75f00a78199122e
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/9b721b63e452039565ba8417e25a183d1bbcb4df/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/9b721b63e452039565ba8417e25a183d1bbcb4df/conanmanifest.txt
new file mode 100644
index 00000000..7e20c844
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/9b721b63e452039565ba8417e25a183d1bbcb4df/conanmanifest.txt
@@ -0,0 +1,12 @@
+1599737081
+conaninfo.txt: da8913ab37decb7846f324c2c05b6e56
+include/jconfig.h: 364c5b940297dd331dacb42dc5bc3cb9
+include/jerror.h: 9b7898fe417de269b8be88b10df908b0
+include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
+include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
+include/turbojpeg.h: e5051d1390ea320d22e81c7e73a163ae
+lib/jpeg-static.lib: 9d557bb3f4769b7e3820d71be4189cfb
+lib/pkgconfig/libjpeg.pc: 1bcb08ffc4f83b2306ff794ad5c2b91c
+lib/pkgconfig/libturbojpeg.pc: b9783de5729e5835e41a35cb2f5fa568
+lib/turbojpeg-static.lib: 09609dcfdad02bed5bf00e348fff8807
+licenses/LICENSE.md: 26d6491346496a57f75f00a78199122e
diff --git a/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/acb703d92685c00a6f85ed3ca8225725f0e186c1/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/acb703d92685c00a6f85ed3ca8225725f0e186c1/conanmanifest.txt
new file mode 100644
index 00000000..14fdfebb
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libjpeg-turbo/2.0.5/qtproject/stable/package/acb703d92685c00a6f85ed3ca8225725f0e186c1/conanmanifest.txt
@@ -0,0 +1,12 @@
+1599736121
+conaninfo.txt: d3b27ba63fbdcf067b5f4afd1a1fdef0
+include/jconfig.h: 364c5b940297dd331dacb42dc5bc3cb9
+include/jerror.h: 9b7898fe417de269b8be88b10df908b0
+include/jmorecfg.h: 7873b0a4457d21a746e23c16fc16127d
+include/jpeglib.h: 49b0829e2b84fcd4a0cee359199499cb
+include/turbojpeg.h: e5051d1390ea320d22e81c7e73a163ae
+lib/jpeg-static.lib: bcdd30b7636c7ed8f0e6dbfb97729c31
+lib/pkgconfig/libjpeg.pc: e124d9000016d4fa108588c91087d060
+lib/pkgconfig/libturbojpeg.pc: 6b112424701322f51d06015089920210
+lib/turbojpeg-static.lib: 7d9c9ee5fb38b856bb9424a2ae5f9bbd
+licenses/LICENSE.md: 26d6491346496a57f75f00a78199122e
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/export/conanmanifest.txt
new file mode 100644
index 00000000..343eaba4
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/export/conanmanifest.txt
@@ -0,0 +1,3 @@
+1582268701
+conanfile.py: 0b5f0deb08eb369fa19f3f01d80c92be
+export_source/patches/0001-fix-install-mingw.patch: 10e6d5f804a7e2eadb8886369b87cc95
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/12ee02550ebaf136555a7f3bbc8cc25cfb8bb72b/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/12ee02550ebaf136555a7f3bbc8cc25cfb8bb72b/conanmanifest.txt
new file mode 100644
index 00000000..589c19a3
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/12ee02550ebaf136555a7f3bbc8cc25cfb8bb72b/conanmanifest.txt
@@ -0,0 +1,56 @@
+1582268746
+bin/libxml2.dll: 4bf6b00300c299b6aef150a9c1bb7e90
+bin/xmlcatalog.exe: b641fe4f903b62cfc782df6153f474e9
+bin/xmllint.exe: 74c28eab6a05370be02554de2082edcd
+conaninfo.txt: b4ac5d6349d8656894474d1d8237aa96
+include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
+include/libxml2/libxml/HTMLparser.h: d57891c89573ed6dce04b8133e7438d2
+include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
+include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
+include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
+include/libxml2/libxml/c14n.h: 6f2b3ecf12e815ce0159be0fbba1bc4f
+include/libxml2/libxml/catalog.h: 382caf85e794d06e84280cf702a42c18
+include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
+include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
+include/libxml2/libxml/dict.h: a48513ceb9774ebece2daa8a2cd52f07
+include/libxml2/libxml/encoding.h: 807b84fade38abad3ae0d9b6af714dbc
+include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
+include/libxml2/libxml/globals.h: 4b9d5b9ff807b093244cc301d2cefda5
+include/libxml2/libxml/hash.h: af6927d60ab5a971b68a65626d903bb2
+include/libxml2/libxml/list.h: 7600108b9a637797d97d3f47ed045287
+include/libxml2/libxml/nanoftp.h: 3f25d5edfbdb1fd084e53d9a7dbaff73
+include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
+include/libxml2/libxml/parser.h: 3e149b90da438833f98a1bcd12a0abcb
+include/libxml2/libxml/parserInternals.h: 4c3e253f541b903f061a2ef7fadcdc35
+include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
+include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
+include/libxml2/libxml/schemasInternals.h: 5072dee68b3423ac6f13185b984cc325
+include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
+include/libxml2/libxml/threads.h: 56e93792a1e4d23fe9c6940231cd4a40
+include/libxml2/libxml/tree.h: 406fe7a05a1503755da736b98b1ab781
+include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
+include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
+include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
+include/libxml2/libxml/xlink.h: 0f722691abab1f60d5a9f0c14bbb26c4
+include/libxml2/libxml/xmlIO.h: cb4be47d203f7d54f374b9272db7e3f3
+include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
+include/libxml2/libxml/xmlerror.h: 28cd85987165565f9306b9b66a2b4e88
+include/libxml2/libxml/xmlexports.h: 27052360fc0021d99870d8f49371dae0
+include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
+include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
+include/libxml2/libxml/xmlreader.h: f4e1ae61cb2ac0d3ded93985fed902db
+include/libxml2/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
+include/libxml2/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
+include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
+include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
+include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
+include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
+include/libxml2/libxml/xmlversion.h: 1e9e77170ee677ce49956476e0f845d6
+include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
+include/libxml2/libxml/xpath.h: bfe49b59c50e544f6e7a72423159775a
+include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
+include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
+include/libxml2/win32config.h: e51ff5a65571584fbe45f75eede0ee3e
+include/libxml2/wsockcompat.h: fd8ce4d6dabe53035a28c6aa64926b1c
+lib/libxml2.lib: c55f634ace8fec0ca1860fdf41504bb5
+licenses/COPYING: 2044417e2e5006b65a8b9067b683fcf1
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/1955c51c7e0a6365c20c2d798832186de95c0213/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/1955c51c7e0a6365c20c2d798832186de95c0213/conanmanifest.txt
new file mode 100644
index 00000000..aba8aa87
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/1955c51c7e0a6365c20c2d798832186de95c0213/conanmanifest.txt
@@ -0,0 +1,58 @@
+1599827075
+bin/libxml2-2.dll: aaf2802bcdbb62e364d33d4307c2f656
+bin/xml2-config: b0691a0a3ab1546612090cb77b4f29bb
+bin/xmlcatalog.exe: ceb3b58dd442e7a174d60a400b485355
+bin/xmllint.exe: 542a2dc43a32156244634f496afdad71
+conaninfo.txt: e494fa1f215b7080df24fc4bf487250b
+include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
+include/libxml2/libxml/HTMLparser.h: d57891c89573ed6dce04b8133e7438d2
+include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
+include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
+include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
+include/libxml2/libxml/c14n.h: 6f2b3ecf12e815ce0159be0fbba1bc4f
+include/libxml2/libxml/catalog.h: 382caf85e794d06e84280cf702a42c18
+include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
+include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
+include/libxml2/libxml/dict.h: a48513ceb9774ebece2daa8a2cd52f07
+include/libxml2/libxml/encoding.h: 807b84fade38abad3ae0d9b6af714dbc
+include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
+include/libxml2/libxml/globals.h: 4b9d5b9ff807b093244cc301d2cefda5
+include/libxml2/libxml/hash.h: af6927d60ab5a971b68a65626d903bb2
+include/libxml2/libxml/list.h: 7600108b9a637797d97d3f47ed045287
+include/libxml2/libxml/nanoftp.h: 3f25d5edfbdb1fd084e53d9a7dbaff73
+include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
+include/libxml2/libxml/parser.h: 3e149b90da438833f98a1bcd12a0abcb
+include/libxml2/libxml/parserInternals.h: 4c3e253f541b903f061a2ef7fadcdc35
+include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
+include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
+include/libxml2/libxml/schemasInternals.h: 5072dee68b3423ac6f13185b984cc325
+include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
+include/libxml2/libxml/threads.h: 56e93792a1e4d23fe9c6940231cd4a40
+include/libxml2/libxml/tree.h: 406fe7a05a1503755da736b98b1ab781
+include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
+include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
+include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
+include/libxml2/libxml/xlink.h: 0f722691abab1f60d5a9f0c14bbb26c4
+include/libxml2/libxml/xmlIO.h: cb4be47d203f7d54f374b9272db7e3f3
+include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
+include/libxml2/libxml/xmlerror.h: 28cd85987165565f9306b9b66a2b4e88
+include/libxml2/libxml/xmlexports.h: 27052360fc0021d99870d8f49371dae0
+include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
+include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
+include/libxml2/libxml/xmlreader.h: f4e1ae61cb2ac0d3ded93985fed902db
+include/libxml2/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
+include/libxml2/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
+include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
+include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
+include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
+include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
+include/libxml2/libxml/xmlversion.h: 58554a85bf2735e2824973cb81347bc9
+include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
+include/libxml2/libxml/xpath.h: bfe49b59c50e544f6e7a72423159775a
+include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
+include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
+include/libxml2/win32config.h: e51ff5a65571584fbe45f75eede0ee3e
+include/libxml2/wsockcompat.h: fd8ce4d6dabe53035a28c6aa64926b1c
+lib/libxml2.dll.a: e9e9bb7eed77331a47e228a1a8f4c0c5
+lib/xml2Conf.sh: 1ac09ea07a1d73a25e8478e5911da219
+licenses/COPYING: 2044417e2e5006b65a8b9067b683fcf1
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/3c8e91368468fdcd96258c1b561b15aca6819857/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/3c8e91368468fdcd96258c1b561b15aca6819857/conanmanifest.txt
new file mode 100644
index 00000000..59ce0a4c
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/3c8e91368468fdcd96258c1b561b15aca6819857/conanmanifest.txt
@@ -0,0 +1,56 @@
+1582268935
+bin/libxml2.dll: b39e8747b893f40371b031652f5a5bff
+bin/xmlcatalog.exe: b798aee02fe1e2301c2e03ece882a19b
+bin/xmllint.exe: 9d112a5178d123156759a5e5a440b760
+conaninfo.txt: a281958bfa5d3a17d0aad2a05b96d677
+include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
+include/libxml2/libxml/HTMLparser.h: d57891c89573ed6dce04b8133e7438d2
+include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
+include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
+include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
+include/libxml2/libxml/c14n.h: 6f2b3ecf12e815ce0159be0fbba1bc4f
+include/libxml2/libxml/catalog.h: 382caf85e794d06e84280cf702a42c18
+include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
+include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
+include/libxml2/libxml/dict.h: a48513ceb9774ebece2daa8a2cd52f07
+include/libxml2/libxml/encoding.h: 807b84fade38abad3ae0d9b6af714dbc
+include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
+include/libxml2/libxml/globals.h: 4b9d5b9ff807b093244cc301d2cefda5
+include/libxml2/libxml/hash.h: af6927d60ab5a971b68a65626d903bb2
+include/libxml2/libxml/list.h: 7600108b9a637797d97d3f47ed045287
+include/libxml2/libxml/nanoftp.h: 3f25d5edfbdb1fd084e53d9a7dbaff73
+include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
+include/libxml2/libxml/parser.h: 3e149b90da438833f98a1bcd12a0abcb
+include/libxml2/libxml/parserInternals.h: 4c3e253f541b903f061a2ef7fadcdc35
+include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
+include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
+include/libxml2/libxml/schemasInternals.h: 5072dee68b3423ac6f13185b984cc325
+include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
+include/libxml2/libxml/threads.h: 56e93792a1e4d23fe9c6940231cd4a40
+include/libxml2/libxml/tree.h: 406fe7a05a1503755da736b98b1ab781
+include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
+include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
+include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
+include/libxml2/libxml/xlink.h: 0f722691abab1f60d5a9f0c14bbb26c4
+include/libxml2/libxml/xmlIO.h: cb4be47d203f7d54f374b9272db7e3f3
+include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
+include/libxml2/libxml/xmlerror.h: 28cd85987165565f9306b9b66a2b4e88
+include/libxml2/libxml/xmlexports.h: 27052360fc0021d99870d8f49371dae0
+include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
+include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
+include/libxml2/libxml/xmlreader.h: f4e1ae61cb2ac0d3ded93985fed902db
+include/libxml2/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
+include/libxml2/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
+include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
+include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
+include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
+include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
+include/libxml2/libxml/xmlversion.h: 1e9e77170ee677ce49956476e0f845d6
+include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
+include/libxml2/libxml/xpath.h: bfe49b59c50e544f6e7a72423159775a
+include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
+include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
+include/libxml2/win32config.h: e51ff5a65571584fbe45f75eede0ee3e
+include/libxml2/wsockcompat.h: fd8ce4d6dabe53035a28c6aa64926b1c
+lib/libxml2.lib: 7a43cf6d0d6465bfadf9fd1e02130d68
+licenses/COPYING: 2044417e2e5006b65a8b9067b683fcf1
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/52cf7dbd8248b3f021f6d94e6a16c70823093916/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/52cf7dbd8248b3f021f6d94e6a16c70823093916/conanmanifest.txt
new file mode 100644
index 00000000..0e317ac4
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/52cf7dbd8248b3f021f6d94e6a16c70823093916/conanmanifest.txt
@@ -0,0 +1,56 @@
+1582269846
+bin/libxml2.dll: 9807c311cef5ae7c2116871b45bb4398
+bin/xmlcatalog.exe: 3ead86d739b476b2ca12ac46ef1f0707
+bin/xmllint.exe: bd9d34f006212ca595816def045d62f7
+conaninfo.txt: 0768398792af659c3fbe40072a9585d3
+include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
+include/libxml2/libxml/HTMLparser.h: d57891c89573ed6dce04b8133e7438d2
+include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
+include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
+include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
+include/libxml2/libxml/c14n.h: 6f2b3ecf12e815ce0159be0fbba1bc4f
+include/libxml2/libxml/catalog.h: 382caf85e794d06e84280cf702a42c18
+include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
+include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
+include/libxml2/libxml/dict.h: a48513ceb9774ebece2daa8a2cd52f07
+include/libxml2/libxml/encoding.h: 807b84fade38abad3ae0d9b6af714dbc
+include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
+include/libxml2/libxml/globals.h: 4b9d5b9ff807b093244cc301d2cefda5
+include/libxml2/libxml/hash.h: af6927d60ab5a971b68a65626d903bb2
+include/libxml2/libxml/list.h: 7600108b9a637797d97d3f47ed045287
+include/libxml2/libxml/nanoftp.h: 3f25d5edfbdb1fd084e53d9a7dbaff73
+include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
+include/libxml2/libxml/parser.h: 3e149b90da438833f98a1bcd12a0abcb
+include/libxml2/libxml/parserInternals.h: 4c3e253f541b903f061a2ef7fadcdc35
+include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
+include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
+include/libxml2/libxml/schemasInternals.h: 5072dee68b3423ac6f13185b984cc325
+include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
+include/libxml2/libxml/threads.h: 56e93792a1e4d23fe9c6940231cd4a40
+include/libxml2/libxml/tree.h: 406fe7a05a1503755da736b98b1ab781
+include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
+include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
+include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
+include/libxml2/libxml/xlink.h: 0f722691abab1f60d5a9f0c14bbb26c4
+include/libxml2/libxml/xmlIO.h: cb4be47d203f7d54f374b9272db7e3f3
+include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
+include/libxml2/libxml/xmlerror.h: 28cd85987165565f9306b9b66a2b4e88
+include/libxml2/libxml/xmlexports.h: 27052360fc0021d99870d8f49371dae0
+include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
+include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
+include/libxml2/libxml/xmlreader.h: f4e1ae61cb2ac0d3ded93985fed902db
+include/libxml2/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
+include/libxml2/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
+include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
+include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
+include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
+include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
+include/libxml2/libxml/xmlversion.h: 1e9e77170ee677ce49956476e0f845d6
+include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
+include/libxml2/libxml/xpath.h: bfe49b59c50e544f6e7a72423159775a
+include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
+include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
+include/libxml2/win32config.h: e51ff5a65571584fbe45f75eede0ee3e
+include/libxml2/wsockcompat.h: fd8ce4d6dabe53035a28c6aa64926b1c
+lib/libxml2.lib: 7fcc4938ce977551d281c3b284908fc4
+licenses/COPYING: 2044417e2e5006b65a8b9067b683fcf1
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/6950736270999084f676eb62bcb88ece1b8351b7/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/6950736270999084f676eb62bcb88ece1b8351b7/conanmanifest.txt
new file mode 100644
index 00000000..04b694fb
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/6950736270999084f676eb62bcb88ece1b8351b7/conanmanifest.txt
@@ -0,0 +1,56 @@
+1582269689
+bin/libxml2.dll: ae389e2ddae1c43bf9ec445624f47b2a
+bin/xmlcatalog.exe: bbc783406f307ead9e208cc053057515
+bin/xmllint.exe: 219e6273a76bff9f81311845cdafbdc5
+conaninfo.txt: fa7291961078c99298606983d6ee6f4f
+include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
+include/libxml2/libxml/HTMLparser.h: d57891c89573ed6dce04b8133e7438d2
+include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
+include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
+include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
+include/libxml2/libxml/c14n.h: 6f2b3ecf12e815ce0159be0fbba1bc4f
+include/libxml2/libxml/catalog.h: 382caf85e794d06e84280cf702a42c18
+include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
+include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
+include/libxml2/libxml/dict.h: a48513ceb9774ebece2daa8a2cd52f07
+include/libxml2/libxml/encoding.h: 807b84fade38abad3ae0d9b6af714dbc
+include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
+include/libxml2/libxml/globals.h: 4b9d5b9ff807b093244cc301d2cefda5
+include/libxml2/libxml/hash.h: af6927d60ab5a971b68a65626d903bb2
+include/libxml2/libxml/list.h: 7600108b9a637797d97d3f47ed045287
+include/libxml2/libxml/nanoftp.h: 3f25d5edfbdb1fd084e53d9a7dbaff73
+include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
+include/libxml2/libxml/parser.h: 3e149b90da438833f98a1bcd12a0abcb
+include/libxml2/libxml/parserInternals.h: 4c3e253f541b903f061a2ef7fadcdc35
+include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
+include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
+include/libxml2/libxml/schemasInternals.h: 5072dee68b3423ac6f13185b984cc325
+include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
+include/libxml2/libxml/threads.h: 56e93792a1e4d23fe9c6940231cd4a40
+include/libxml2/libxml/tree.h: 406fe7a05a1503755da736b98b1ab781
+include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
+include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
+include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
+include/libxml2/libxml/xlink.h: 0f722691abab1f60d5a9f0c14bbb26c4
+include/libxml2/libxml/xmlIO.h: cb4be47d203f7d54f374b9272db7e3f3
+include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
+include/libxml2/libxml/xmlerror.h: 28cd85987165565f9306b9b66a2b4e88
+include/libxml2/libxml/xmlexports.h: 27052360fc0021d99870d8f49371dae0
+include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
+include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
+include/libxml2/libxml/xmlreader.h: f4e1ae61cb2ac0d3ded93985fed902db
+include/libxml2/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
+include/libxml2/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
+include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
+include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
+include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
+include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
+include/libxml2/libxml/xmlversion.h: 1e9e77170ee677ce49956476e0f845d6
+include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
+include/libxml2/libxml/xpath.h: bfe49b59c50e544f6e7a72423159775a
+include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
+include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
+include/libxml2/win32config.h: e51ff5a65571584fbe45f75eede0ee3e
+include/libxml2/wsockcompat.h: fd8ce4d6dabe53035a28c6aa64926b1c
+lib/libxml2.lib: 7fad5ca5e6d3bcc2115e380257743d75
+licenses/COPYING: 2044417e2e5006b65a8b9067b683fcf1
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/852e73d42d44dff3fe4b6ed5d6a4546250ec180e/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/852e73d42d44dff3fe4b6ed5d6a4546250ec180e/conanmanifest.txt
new file mode 100644
index 00000000..e99d69b5
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/852e73d42d44dff3fe4b6ed5d6a4546250ec180e/conanmanifest.txt
@@ -0,0 +1,58 @@
+1599827195
+bin/libxml2-2.dll: dccd1b6cf7425125913b2095ff8eccc2
+bin/xml2-config: e93ed273bc16d12c4f8ecff87ceaaf79
+bin/xmlcatalog.exe: 0b575f8389ac5a8e397c3cde88babb85
+bin/xmllint.exe: 5a63ba2b6556ef0ae20436495c28355c
+conaninfo.txt: 13134884f7be0e49d19552cd3423b91b
+include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
+include/libxml2/libxml/HTMLparser.h: d57891c89573ed6dce04b8133e7438d2
+include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
+include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
+include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
+include/libxml2/libxml/c14n.h: 6f2b3ecf12e815ce0159be0fbba1bc4f
+include/libxml2/libxml/catalog.h: 382caf85e794d06e84280cf702a42c18
+include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
+include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
+include/libxml2/libxml/dict.h: a48513ceb9774ebece2daa8a2cd52f07
+include/libxml2/libxml/encoding.h: 807b84fade38abad3ae0d9b6af714dbc
+include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
+include/libxml2/libxml/globals.h: 4b9d5b9ff807b093244cc301d2cefda5
+include/libxml2/libxml/hash.h: af6927d60ab5a971b68a65626d903bb2
+include/libxml2/libxml/list.h: 7600108b9a637797d97d3f47ed045287
+include/libxml2/libxml/nanoftp.h: 3f25d5edfbdb1fd084e53d9a7dbaff73
+include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
+include/libxml2/libxml/parser.h: 3e149b90da438833f98a1bcd12a0abcb
+include/libxml2/libxml/parserInternals.h: 4c3e253f541b903f061a2ef7fadcdc35
+include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
+include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
+include/libxml2/libxml/schemasInternals.h: 5072dee68b3423ac6f13185b984cc325
+include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
+include/libxml2/libxml/threads.h: 56e93792a1e4d23fe9c6940231cd4a40
+include/libxml2/libxml/tree.h: 406fe7a05a1503755da736b98b1ab781
+include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
+include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
+include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
+include/libxml2/libxml/xlink.h: 0f722691abab1f60d5a9f0c14bbb26c4
+include/libxml2/libxml/xmlIO.h: cb4be47d203f7d54f374b9272db7e3f3
+include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
+include/libxml2/libxml/xmlerror.h: 28cd85987165565f9306b9b66a2b4e88
+include/libxml2/libxml/xmlexports.h: 27052360fc0021d99870d8f49371dae0
+include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
+include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
+include/libxml2/libxml/xmlreader.h: f4e1ae61cb2ac0d3ded93985fed902db
+include/libxml2/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
+include/libxml2/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
+include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
+include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
+include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
+include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
+include/libxml2/libxml/xmlversion.h: 58554a85bf2735e2824973cb81347bc9
+include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
+include/libxml2/libxml/xpath.h: bfe49b59c50e544f6e7a72423159775a
+include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
+include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
+include/libxml2/win32config.h: e51ff5a65571584fbe45f75eede0ee3e
+include/libxml2/wsockcompat.h: fd8ce4d6dabe53035a28c6aa64926b1c
+lib/libxml2.dll.a: 176eb6473b51dd69835b6213fcc40b19
+lib/xml2Conf.sh: 8713c5cd801bb525b6758a22a65c2a2e
+licenses/COPYING: 2044417e2e5006b65a8b9067b683fcf1
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/c32d851699c84c9ca05d351cd671598c4b2b7ea5/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/c32d851699c84c9ca05d351cd671598c4b2b7ea5/conanmanifest.txt
new file mode 100644
index 00000000..d0279a1e
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/c32d851699c84c9ca05d351cd671598c4b2b7ea5/conanmanifest.txt
@@ -0,0 +1,56 @@
+1582269412
+bin/libxml2.dll: d7b295a30b17fb9677f51f2b2a50076b
+bin/xmlcatalog.exe: ddf64e3e045991cec3447cd9b28e800a
+bin/xmllint.exe: d076d2473573b6823244150d4960656e
+conaninfo.txt: af801cc2589c7b7ec4c2e824d6dda402
+include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
+include/libxml2/libxml/HTMLparser.h: d57891c89573ed6dce04b8133e7438d2
+include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
+include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
+include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
+include/libxml2/libxml/c14n.h: 6f2b3ecf12e815ce0159be0fbba1bc4f
+include/libxml2/libxml/catalog.h: 382caf85e794d06e84280cf702a42c18
+include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
+include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
+include/libxml2/libxml/dict.h: a48513ceb9774ebece2daa8a2cd52f07
+include/libxml2/libxml/encoding.h: 807b84fade38abad3ae0d9b6af714dbc
+include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
+include/libxml2/libxml/globals.h: 4b9d5b9ff807b093244cc301d2cefda5
+include/libxml2/libxml/hash.h: af6927d60ab5a971b68a65626d903bb2
+include/libxml2/libxml/list.h: 7600108b9a637797d97d3f47ed045287
+include/libxml2/libxml/nanoftp.h: 3f25d5edfbdb1fd084e53d9a7dbaff73
+include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
+include/libxml2/libxml/parser.h: 3e149b90da438833f98a1bcd12a0abcb
+include/libxml2/libxml/parserInternals.h: 4c3e253f541b903f061a2ef7fadcdc35
+include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
+include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
+include/libxml2/libxml/schemasInternals.h: 5072dee68b3423ac6f13185b984cc325
+include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
+include/libxml2/libxml/threads.h: 56e93792a1e4d23fe9c6940231cd4a40
+include/libxml2/libxml/tree.h: 406fe7a05a1503755da736b98b1ab781
+include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
+include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
+include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
+include/libxml2/libxml/xlink.h: 0f722691abab1f60d5a9f0c14bbb26c4
+include/libxml2/libxml/xmlIO.h: cb4be47d203f7d54f374b9272db7e3f3
+include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
+include/libxml2/libxml/xmlerror.h: 28cd85987165565f9306b9b66a2b4e88
+include/libxml2/libxml/xmlexports.h: 27052360fc0021d99870d8f49371dae0
+include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
+include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
+include/libxml2/libxml/xmlreader.h: f4e1ae61cb2ac0d3ded93985fed902db
+include/libxml2/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
+include/libxml2/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
+include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
+include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
+include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
+include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
+include/libxml2/libxml/xmlversion.h: 1e9e77170ee677ce49956476e0f845d6
+include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
+include/libxml2/libxml/xpath.h: bfe49b59c50e544f6e7a72423159775a
+include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
+include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
+include/libxml2/win32config.h: e51ff5a65571584fbe45f75eede0ee3e
+include/libxml2/wsockcompat.h: fd8ce4d6dabe53035a28c6aa64926b1c
+lib/libxml2.lib: 7a24d97214c4d65842d59d29bd14b3dd
+licenses/COPYING: 2044417e2e5006b65a8b9067b683fcf1
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/eae1effa51b2513b93fde5c749bae61b6203abfa/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/eae1effa51b2513b93fde5c749bae61b6203abfa/conanmanifest.txt
new file mode 100644
index 00000000..9416f4c7
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.10/qtproject/stable/package/eae1effa51b2513b93fde5c749bae61b6203abfa/conanmanifest.txt
@@ -0,0 +1,56 @@
+1582269192
+bin/libxml2.dll: 3f2b68ee4ebaa7c2007c9648a3de0d7f
+bin/xmlcatalog.exe: 7fe9c0dbe6bcefb7366e6998a92bdc61
+bin/xmllint.exe: f8b7e9d86809338f0514f8a21e850776
+conaninfo.txt: c7c94b95b4b1e8c661e76d4a70708dc3
+include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
+include/libxml2/libxml/HTMLparser.h: d57891c89573ed6dce04b8133e7438d2
+include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
+include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
+include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
+include/libxml2/libxml/c14n.h: 6f2b3ecf12e815ce0159be0fbba1bc4f
+include/libxml2/libxml/catalog.h: 382caf85e794d06e84280cf702a42c18
+include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
+include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
+include/libxml2/libxml/dict.h: a48513ceb9774ebece2daa8a2cd52f07
+include/libxml2/libxml/encoding.h: 807b84fade38abad3ae0d9b6af714dbc
+include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
+include/libxml2/libxml/globals.h: 4b9d5b9ff807b093244cc301d2cefda5
+include/libxml2/libxml/hash.h: af6927d60ab5a971b68a65626d903bb2
+include/libxml2/libxml/list.h: 7600108b9a637797d97d3f47ed045287
+include/libxml2/libxml/nanoftp.h: 3f25d5edfbdb1fd084e53d9a7dbaff73
+include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
+include/libxml2/libxml/parser.h: 3e149b90da438833f98a1bcd12a0abcb
+include/libxml2/libxml/parserInternals.h: 4c3e253f541b903f061a2ef7fadcdc35
+include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
+include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
+include/libxml2/libxml/schemasInternals.h: 5072dee68b3423ac6f13185b984cc325
+include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
+include/libxml2/libxml/threads.h: 56e93792a1e4d23fe9c6940231cd4a40
+include/libxml2/libxml/tree.h: 406fe7a05a1503755da736b98b1ab781
+include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
+include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
+include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
+include/libxml2/libxml/xlink.h: 0f722691abab1f60d5a9f0c14bbb26c4
+include/libxml2/libxml/xmlIO.h: cb4be47d203f7d54f374b9272db7e3f3
+include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
+include/libxml2/libxml/xmlerror.h: 28cd85987165565f9306b9b66a2b4e88
+include/libxml2/libxml/xmlexports.h: 27052360fc0021d99870d8f49371dae0
+include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
+include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
+include/libxml2/libxml/xmlreader.h: f4e1ae61cb2ac0d3ded93985fed902db
+include/libxml2/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
+include/libxml2/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
+include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
+include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
+include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
+include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
+include/libxml2/libxml/xmlversion.h: 1e9e77170ee677ce49956476e0f845d6
+include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
+include/libxml2/libxml/xpath.h: bfe49b59c50e544f6e7a72423159775a
+include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
+include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
+include/libxml2/win32config.h: e51ff5a65571584fbe45f75eede0ee3e
+include/libxml2/wsockcompat.h: fd8ce4d6dabe53035a28c6aa64926b1c
+lib/libxml2.lib: 6147cf7e90ad1040f634126a812b6971
+licenses/COPYING: 2044417e2e5006b65a8b9067b683fcf1
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/annulen/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/annulen/stable/export/conanmanifest.txt
deleted file mode 100644
index c5714a18..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/annulen/stable/export/conanmanifest.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-1478795230
-conanfile.py: 677544f321559ff6cc9d738c8b609308 \ No newline at end of file
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/annulen/stable/package/357fb491ae867cbbfe369d54132f4f21c3f13f7d/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/annulen/stable/package/357fb491ae867cbbfe369d54132f4f21c3f13f7d/conanmanifest.txt
deleted file mode 100644
index b68bca2b..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/annulen/stable/package/357fb491ae867cbbfe369d54132f4f21c3f13f7d/conanmanifest.txt
+++ /dev/null
@@ -1,320 +0,0 @@
-1478728779
-bin/libxml2-2.dll: 6393dbaab96c3c733b8c78dbf0adba46
-bin/xml2-config: d50d6a18c0f68d0b3ef5939ee20d59f8
-bin/xmlcatalog.exe: a2762f091400139b67e01c54de582896
-bin/xmllint.exe: 6582dafc121c69b8727bed62b9fbc74f
-conaninfo.txt: a2d34e82b2ec55a9a2ffcafb7e6451f7
-include/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
-include/libxml/HTMLparser.h: 083a413aedc738e1903735b7f1678087
-include/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
-include/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
-include/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
-include/libxml/c14n.h: 083bf52bbdd0563ff61605cb2bc9316f
-include/libxml/catalog.h: 1d5e464fe629dde9758d6c33ea7a3d8e
-include/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
-include/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
-include/libxml/dict.h: 93b78165ce896cbda4417bd278259714
-include/libxml/encoding.h: e07b28c25a85356f585dd6891e0c7778
-include/libxml/entities.h: 16467595fdaff28420d1657b1658f267
-include/libxml/globals.h: 7dc017984a2a506caaeb45db0e895357
-include/libxml/hash.h: 747ad49c1a665e2eafaf052cbd9d165b
-include/libxml/list.h: a81670013af01c8003fa9fdbd9a8cad7
-include/libxml/nanoftp.h: a4aad060f2cedb04dacbe4c58969817a
-include/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
-include/libxml/parser.h: 3ef7bece85150ab2319aed3fd0d36034
-include/libxml/parserInternals.h: c55ce5832dae535ce6d59b6aa10f6133
-include/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
-include/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
-include/libxml/schemasInternals.h: 28ed78fdce3dbad508a6381dd580d1e7
-include/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
-include/libxml/threads.h: 2c630b6409352bcd1e10d94177215265
-include/libxml/tree.h: f2a9a61c9a96a73c293f57bff2913ffb
-include/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
-include/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
-include/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
-include/libxml/xlink.h: 8b82b67e61ebffc721bd23af66724f49
-include/libxml/xmlIO.h: 31c8dfbaee25e20cd0d6eb2549929f5d
-include/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
-include/libxml/xmlerror.h: 9f03d7b7788f158e68a75132e9249975
-include/libxml/xmlexports.h: c7982540f18e547b3ca70c7259c59e4c
-include/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
-include/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
-include/libxml/xmlreader.h: dbd5ae99042659a13427209a2bc0041f
-include/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
-include/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
-include/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
-include/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
-include/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
-include/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
-include/libxml/xmlversion.h: 22579da9671c7d2d7662135fe8523088
-include/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
-include/libxml/xpath.h: 2e60b359a61db15d05409ebef1b140b1
-include/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
-include/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
-include/libxml2/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
-include/libxml2/libxml/HTMLparser.h: 083a413aedc738e1903735b7f1678087
-include/libxml2/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
-include/libxml2/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
-include/libxml2/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
-include/libxml2/libxml/c14n.h: 083bf52bbdd0563ff61605cb2bc9316f
-include/libxml2/libxml/catalog.h: 1d5e464fe629dde9758d6c33ea7a3d8e
-include/libxml2/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
-include/libxml2/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
-include/libxml2/libxml/dict.h: 93b78165ce896cbda4417bd278259714
-include/libxml2/libxml/encoding.h: e07b28c25a85356f585dd6891e0c7778
-include/libxml2/libxml/entities.h: 16467595fdaff28420d1657b1658f267
-include/libxml2/libxml/globals.h: 7dc017984a2a506caaeb45db0e895357
-include/libxml2/libxml/hash.h: 747ad49c1a665e2eafaf052cbd9d165b
-include/libxml2/libxml/list.h: a81670013af01c8003fa9fdbd9a8cad7
-include/libxml2/libxml/nanoftp.h: a4aad060f2cedb04dacbe4c58969817a
-include/libxml2/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
-include/libxml2/libxml/parser.h: 3ef7bece85150ab2319aed3fd0d36034
-include/libxml2/libxml/parserInternals.h: c55ce5832dae535ce6d59b6aa10f6133
-include/libxml2/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
-include/libxml2/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
-include/libxml2/libxml/schemasInternals.h: 28ed78fdce3dbad508a6381dd580d1e7
-include/libxml2/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
-include/libxml2/libxml/threads.h: 2c630b6409352bcd1e10d94177215265
-include/libxml2/libxml/tree.h: f2a9a61c9a96a73c293f57bff2913ffb
-include/libxml2/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
-include/libxml2/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
-include/libxml2/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
-include/libxml2/libxml/xlink.h: 8b82b67e61ebffc721bd23af66724f49
-include/libxml2/libxml/xmlIO.h: 31c8dfbaee25e20cd0d6eb2549929f5d
-include/libxml2/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
-include/libxml2/libxml/xmlerror.h: 9f03d7b7788f158e68a75132e9249975
-include/libxml2/libxml/xmlexports.h: c7982540f18e547b3ca70c7259c59e4c
-include/libxml2/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
-include/libxml2/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
-include/libxml2/libxml/xmlreader.h: dbd5ae99042659a13427209a2bc0041f
-include/libxml2/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
-include/libxml2/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
-include/libxml2/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
-include/libxml2/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
-include/libxml2/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
-include/libxml2/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
-include/libxml2/libxml/xmlversion.h: 90bea4a276022638ecb073eea7c849e4
-include/libxml2/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
-include/libxml2/libxml/xpath.h: 2e60b359a61db15d05409ebef1b140b1
-include/libxml2/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
-include/libxml2/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
-include/win32config.h: 410df263529fb9ec616b22f590dbdd1d
-include/wsockcompat.h: f975f4dc926c27ab755f05a79296bd72
-lib/cmake/libxml2/libxml2-config.cmake: 905864882fbb75196d4618cdf923ef78
-lib/libxml2.dll.a: 6944466ef81a685127a88f1ec6c528a2
-lib/libxml2.la: 82844cbca6a62f0052bb403866940c5c
-lib/pkgconfig/libxml-2.0.pc: 85b1b86303c386209ad29dd2d909dfd3
-lib/xml2Conf.sh: 1ae0e5bede910b47b1cb3adc34cf7acf
-share/aclocal/libxml.m4: a07f9db1c83755505dbf961c953efdf8
-share/doc/libxml2-2.9.4/Copyright: 2044417e2e5006b65a8b9067b683fcf1
-share/doc/libxml2-2.9.4/examples/testHTML.c: 6b181ebf4001bb62b07c7be7d79a2f01
-share/doc/libxml2-2.9.4/examples/testSAX.c: 34e3e9b268e1915652c15c4be11216a8
-share/doc/libxml2-2.9.4/examples/testXPath.c: 1db9d6ae0438d72387bcfd0ff1ae5ce4
-share/doc/libxml2-2.9.4/examples/xmllint.c: fc1fb77452cd8975c74b5f2664330feb
-share/doc/libxml2-2.9.4/html/DOM.gif: b3d91cf23f7c9199b395356ea98cd097
-share/doc/libxml2-2.9.4/html/FAQ.html: 46b6bf6536bf9b2652891363aafb0b58
-share/doc/libxml2-2.9.4/html/Libxml2-Logo-180x168.gif: 6704060ba0272a9624e0a732455439ba
-share/doc/libxml2-2.9.4/html/Libxml2-Logo-90x34.gif: 29dfd4b3dec5fee179d3dc7e3d65be8a
-share/doc/libxml2-2.9.4/html/encoding.html: 3be0aba75968021dc9be873c020b93a9
-share/doc/libxml2-2.9.4/html/examples.xml: e6fad87730c6957a238a06ad3e33a4e9
-share/doc/libxml2-2.9.4/html/examples.xsl: 821de9e855568781f8c87ad0fe9afcba
-share/doc/libxml2-2.9.4/html/html/book1.html: 461321024ef78221594067503eb0eba0
-share/doc/libxml2-2.9.4/html/html/home.png: f6192f4292d744423df690e785d60fdf
-share/doc/libxml2-2.9.4/html/html/index.html: 461321024ef78221594067503eb0eba0
-share/doc/libxml2-2.9.4/html/html/left.png: f771308152ab24a69682daed70ce136d
-share/doc/libxml2-2.9.4/html/html/libxml-DOCBparser.html: a9c425e3ab0c095b85759a321c294a72
-share/doc/libxml2-2.9.4/html/html/libxml-HTMLparser.html: b20a43ee13f4a8020b84830aa83cefb0
-share/doc/libxml2-2.9.4/html/html/libxml-HTMLtree.html: b639bc91545a89e12d9c0a34a23bd6de
-share/doc/libxml2-2.9.4/html/html/libxml-SAX.html: a1dddf7f62888196c45c587a216cbe8a
-share/doc/libxml2-2.9.4/html/html/libxml-SAX2.html: 2d8812144ee7796aa073b748ba560d34
-share/doc/libxml2-2.9.4/html/html/libxml-c14n.html: af407530b72ad6d8342eab7e3d90207b
-share/doc/libxml2-2.9.4/html/html/libxml-catalog.html: 6ccaf618b222577f8b1c9ed8278ea357
-share/doc/libxml2-2.9.4/html/html/libxml-chvalid.html: 4bec2549c1505b9048041b722cb052c6
-share/doc/libxml2-2.9.4/html/html/libxml-debugXML.html: b1b29857fbff5d68b7bdf982f8b9f6c7
-share/doc/libxml2-2.9.4/html/html/libxml-dict.html: 390df4fbbac8f9ba0a1338bc448b6ad4
-share/doc/libxml2-2.9.4/html/html/libxml-encoding.html: 812d49f58d6f7721ccf9289c0813a473
-share/doc/libxml2-2.9.4/html/html/libxml-entities.html: d4ae454060415d31a5eec7a09d6c05a3
-share/doc/libxml2-2.9.4/html/html/libxml-globals.html: 7487fd3b2740f53f259016b9032caf19
-share/doc/libxml2-2.9.4/html/html/libxml-hash.html: 53ff0d00bc6b42b1f6981a58a4bc5ff8
-share/doc/libxml2-2.9.4/html/html/libxml-lib.html: 461321024ef78221594067503eb0eba0
-share/doc/libxml2-2.9.4/html/html/libxml-list.html: 086afdd20e6be957346251d3ea8552f0
-share/doc/libxml2-2.9.4/html/html/libxml-nanoftp.html: c07d479ce51894e6181be84cd7afc8f6
-share/doc/libxml2-2.9.4/html/html/libxml-nanohttp.html: a4457c15280d27457677a436286c344e
-share/doc/libxml2-2.9.4/html/html/libxml-parser.html: d9abc1e3b231427736e24bb53d310edf
-share/doc/libxml2-2.9.4/html/html/libxml-parserInternals.html: dc212b49555db1f4d3473021415990f5
-share/doc/libxml2-2.9.4/html/html/libxml-pattern.html: bff29ccd97d10d65cd40201985ba2501
-share/doc/libxml2-2.9.4/html/html/libxml-relaxng.html: da69ff4b925629ce5667c63895aecf3f
-share/doc/libxml2-2.9.4/html/html/libxml-schemasInternals.html: 9fe427f9b1b272d687e6ed524df9ac77
-share/doc/libxml2-2.9.4/html/html/libxml-schematron.html: f0ddff7bae5bba25b1c98abd75038c36
-share/doc/libxml2-2.9.4/html/html/libxml-threads.html: 8bfd4253309b18e5b94f01228f3c6887
-share/doc/libxml2-2.9.4/html/html/libxml-tree.html: dd8a9d64d5cd75bcecfcfa530a298cf1
-share/doc/libxml2-2.9.4/html/html/libxml-uri.html: 9b4186c1502963221da42717dfcf2789
-share/doc/libxml2-2.9.4/html/html/libxml-valid.html: 51b24ec90bd3c5591130fa219172dca8
-share/doc/libxml2-2.9.4/html/html/libxml-xinclude.html: 2639d942d8a7bb71201ef35d8dd0a5d1
-share/doc/libxml2-2.9.4/html/html/libxml-xlink.html: 1de0d3b14ab220eb6b51bfa254b03769
-share/doc/libxml2-2.9.4/html/html/libxml-xmlIO.html: e9d7b75133b68febff966553614ca1e3
-share/doc/libxml2-2.9.4/html/html/libxml-xmlautomata.html: 28a6fdabf1bcc027c5723ef484551a3b
-share/doc/libxml2-2.9.4/html/html/libxml-xmlerror.html: 13b79642aa3895e095f83dc5ebddc7d9
-share/doc/libxml2-2.9.4/html/html/libxml-xmlexports.html: 76a89eb95c8256a4277f65250245ef9a
-share/doc/libxml2-2.9.4/html/html/libxml-xmlmemory.html: ea097805488added49ebb2f1373c212a
-share/doc/libxml2-2.9.4/html/html/libxml-xmlmodule.html: dad4c35e0c0a8fb9bc1db2d42ae5f664
-share/doc/libxml2-2.9.4/html/html/libxml-xmlreader.html: 61db95ee91a1056009c76ad04c7aad47
-share/doc/libxml2-2.9.4/html/html/libxml-xmlregexp.html: fc8289c2885a2e9adae8ce5f3f784f4d
-share/doc/libxml2-2.9.4/html/html/libxml-xmlsave.html: 8e4208e2908bd9a021c31ee1338755d2
-share/doc/libxml2-2.9.4/html/html/libxml-xmlschemas.html: 455628ea9eca007ecaa224305df3b0c8
-share/doc/libxml2-2.9.4/html/html/libxml-xmlschemastypes.html: f698db4a289728d46199ad42160da1d3
-share/doc/libxml2-2.9.4/html/html/libxml-xmlstring.html: 708539f930210582860e0374d501b801
-share/doc/libxml2-2.9.4/html/html/libxml-xmlunicode.html: 7b282351048157db2233f4a8c9ed305c
-share/doc/libxml2-2.9.4/html/html/libxml-xmlversion.html: d9e2cd59ac2a1aa5319d09f7ad726a63
-share/doc/libxml2-2.9.4/html/html/libxml-xmlwriter.html: f7345386e22ec21cf60d91371eeaed57
-share/doc/libxml2-2.9.4/html/html/libxml-xpath.html: 9e3290a0c3f1704b066d736cdadaa93f
-share/doc/libxml2-2.9.4/html/html/libxml-xpathInternals.html: 463d1f6b154041eaed041a32ffd5a8c5
-share/doc/libxml2-2.9.4/html/html/libxml-xpointer.html: 578d2d95c3a254fdd208d5eb5d8bc063
-share/doc/libxml2-2.9.4/html/html/libxml-xzlib.html: 8d55e7cdc5a0363d945c8a672841bd6f
-share/doc/libxml2-2.9.4/html/html/right.png: ebd7e6d206d73850d77d305ab548f957
-share/doc/libxml2-2.9.4/html/html/up.png: 2f07d9272deb4ae870ca6821117877fa
-share/doc/libxml2-2.9.4/html/index.html: 854eae61c805261731f38a873415144f
-share/doc/libxml2-2.9.4/html/io1.c: 8861af9d5ae163e2679d14cccd7c50a8
-share/doc/libxml2-2.9.4/html/io1.res: c1063365cedce05c3c75361d8b21eda0
-share/doc/libxml2-2.9.4/html/io2.c: 064a8c92267a391f5cbc41dbf49b14ad
-share/doc/libxml2-2.9.4/html/io2.res: c6a030758261e4b23c18fe8fa9b9f1cb
-share/doc/libxml2-2.9.4/html/libxml.gif: 7b77627ea524c095934962f5dee442cb
-share/doc/libxml2-2.9.4/html/parse1.c: 35924de5d0e047f4e2732e8ef4d31fea
-share/doc/libxml2-2.9.4/html/parse2.c: 1533aa6faa9efa078a56d2d37b4e318c
-share/doc/libxml2-2.9.4/html/parse3.c: 745ea8e70138377b1fb1d0e3116dba63
-share/doc/libxml2-2.9.4/html/parse4.c: 1ebc80d9df8a1b0568f9cf7a2cc70a3e
-share/doc/libxml2-2.9.4/html/reader1.c: b30f26d62bb3c37fc9cba51fff13924e
-share/doc/libxml2-2.9.4/html/reader1.res: c7e547f58d4407d091d189a1ebfeab77
-share/doc/libxml2-2.9.4/html/reader2.c: 8b66731b71444ec57b99acc9d41a5f1d
-share/doc/libxml2-2.9.4/html/reader3.c: 2874d5506c9f0b9f4a1dead26d58e559
-share/doc/libxml2-2.9.4/html/reader3.res: ce152220e5a24918935d6f0c8bbcf587
-share/doc/libxml2-2.9.4/html/reader4.c: c7d0e7908cfc12c1102a58f4e530bbfd
-share/doc/libxml2-2.9.4/html/reader4.res: 2f8c9c74667d1434104e5610a77f824f
-share/doc/libxml2-2.9.4/html/redhat.gif: dd0216f442bf6845c103aba1b4bcb869
-share/doc/libxml2-2.9.4/html/smallfootonly.gif: e92b022a99a76d6fceeb35576bb7718f
-share/doc/libxml2-2.9.4/html/structure.gif: f10610a92f24c3f0fc35078f5764867e
-share/doc/libxml2-2.9.4/html/test1.xml: 5ffe018a2890cdd13b4d08d674cf8dd4
-share/doc/libxml2-2.9.4/html/test2.xml: 4084cf4871ee86fef27f5e5ee91ea455
-share/doc/libxml2-2.9.4/html/test3.xml: 0ba76ca9c89e995bbaf258ab154e5205
-share/doc/libxml2-2.9.4/html/testWriter.c: f76b29aaee2bb1f0323ed8b28a45a794
-share/doc/libxml2-2.9.4/html/tree1.c: 8e3b9f050ff7e6ecd2912940cbb2394f
-share/doc/libxml2-2.9.4/html/tree1.res: 4d4d5f3e8297d35e59d9f92c876b42ac
-share/doc/libxml2-2.9.4/html/tree2.c: 58c5720b77f06428c3824c66003c6b73
-share/doc/libxml2-2.9.4/html/tree2.res: 8e5cc417bcb23115c4f802404e09657e
-share/doc/libxml2-2.9.4/html/tst.xml: 6d10ac1b8fb04bc8fb73f9964589a223
-share/doc/libxml2-2.9.4/html/tutorial/apa.html: 51b23839855ffbb232c8ba2211a4d9ca
-share/doc/libxml2-2.9.4/html/tutorial/apb.html: 6fa0d1a793a7d794967c497dc9112077
-share/doc/libxml2-2.9.4/html/tutorial/apc.html: c263a905499b8177ee93b6ab39b26266
-share/doc/libxml2-2.9.4/html/tutorial/apd.html: 9f3342db337c1a28df32d4b85eba94be
-share/doc/libxml2-2.9.4/html/tutorial/ape.html: 69164a2345a37ac0b1001f2084ee5abc
-share/doc/libxml2-2.9.4/html/tutorial/apf.html: 4b58ea573ee05ceb46cac6c3eeef8211
-share/doc/libxml2-2.9.4/html/tutorial/apg.html: a84665f786e99169afa8e9dceb5003ca
-share/doc/libxml2-2.9.4/html/tutorial/aph.html: d49dfaba969e5b9161748d98b6f8eb0b
-share/doc/libxml2-2.9.4/html/tutorial/api.html: 0433fb6f377e50662e0f89b1e2f8e49a
-share/doc/libxml2-2.9.4/html/tutorial/ar01s02.html: d2b5e466f1613a0a281969296efe652e
-share/doc/libxml2-2.9.4/html/tutorial/ar01s03.html: af7d8b5f8bf6e7c6949c5f1b260289ef
-share/doc/libxml2-2.9.4/html/tutorial/ar01s04.html: 08161b16d07d12969e2ff0db52c0006d
-share/doc/libxml2-2.9.4/html/tutorial/ar01s05.html: a39259d226409f45e234b8e4f0ae1e9f
-share/doc/libxml2-2.9.4/html/tutorial/ar01s06.html: 4d622cd5afe28d58e8808651c896ff1e
-share/doc/libxml2-2.9.4/html/tutorial/ar01s07.html: c3d0264c72c908e119c22c7787892db9
-share/doc/libxml2-2.9.4/html/tutorial/ar01s08.html: 47bfaa87452e5e5d3436b232d96b1cf7
-share/doc/libxml2-2.9.4/html/tutorial/ar01s09.html: 066052f4864add31dffd8fc4bb1b9b7f
-share/doc/libxml2-2.9.4/html/tutorial/images/blank.png: 6f7573d4bb6bf0f55ed9ebd79f3f786f
-share/doc/libxml2-2.9.4/html/tutorial/images/callouts/1.png: 0f67842b8cc059137a88288e95115a18
-share/doc/libxml2-2.9.4/html/tutorial/images/callouts/10.png: 29fd9e419eee2efa4ef6ce493ca51a9c
-share/doc/libxml2-2.9.4/html/tutorial/images/callouts/2.png: 782f998bab59d0221977c1c0eaa676c8
-share/doc/libxml2-2.9.4/html/tutorial/images/callouts/3.png: 35dcf1dd29a802080c984e52d76e5b1f
-share/doc/libxml2-2.9.4/html/tutorial/images/callouts/4.png: 3d412b47729eb73afc7aa430feeb7da0
-share/doc/libxml2-2.9.4/html/tutorial/images/callouts/5.png: 489005941fbb522369466ca850189c59
-share/doc/libxml2-2.9.4/html/tutorial/images/callouts/6.png: f64cfcfac0c4219edebc96d6d043c84c
-share/doc/libxml2-2.9.4/html/tutorial/images/callouts/7.png: 0def94f52c5e45256232320aaffeb1ce
-share/doc/libxml2-2.9.4/html/tutorial/images/callouts/8.png: 2f899cf0909049b0472654d7357eaeb3
-share/doc/libxml2-2.9.4/html/tutorial/images/callouts/9.png: 5ba16a0731d050493bd7e0b95244aafc
-share/doc/libxml2-2.9.4/html/tutorial/images/caution.png: 2245032ab69fc481e2eefd246aa96e07
-share/doc/libxml2-2.9.4/html/tutorial/images/draft.png: 1b1da3ec69df05af5f2a5475e8a8a24b
-share/doc/libxml2-2.9.4/html/tutorial/images/home.png: 700644702db92b31d7488edfb3adfe7e
-share/doc/libxml2-2.9.4/html/tutorial/images/important.png: ca20b7b781cf82d1aeb36ce63590ccd0
-share/doc/libxml2-2.9.4/html/tutorial/images/next.png: c4ec8d7f81407ce09d175d7366c25ba0
-share/doc/libxml2-2.9.4/html/tutorial/images/note.png: 109e4af9c43357a74c6de01db819f36f
-share/doc/libxml2-2.9.4/html/tutorial/images/prev.png: 2188e42454c65ed8a37126d0f5f5830a
-share/doc/libxml2-2.9.4/html/tutorial/images/tip.png: dbb88aaf05b4a6a7df59c72cc5c947b4
-share/doc/libxml2-2.9.4/html/tutorial/images/toc-blank.png: a9dfccc01739501bbc01d561da12c944
-share/doc/libxml2-2.9.4/html/tutorial/images/toc-minus.png: 72baddf4a76d4d74f634edf1e71134b3
-share/doc/libxml2-2.9.4/html/tutorial/images/toc-plus.png: ee8d311bafbc474875730d7644e86047
-share/doc/libxml2-2.9.4/html/tutorial/images/up.png: ddf37bee4d12f626b42004e26bdd4e13
-share/doc/libxml2-2.9.4/html/tutorial/images/warning.png: 59c28f6840b1f20094af4ffc16ce3189
-share/doc/libxml2-2.9.4/html/tutorial/includeaddattribute.c: ba57721ff902105ef3c79eb199f4da5e
-share/doc/libxml2-2.9.4/html/tutorial/includeaddkeyword.c: 268f90fc598ccf5a5bd1de7d1f57c873
-share/doc/libxml2-2.9.4/html/tutorial/includeconvert.c: b91e86a449cb257dd92ada947c2b2320
-share/doc/libxml2-2.9.4/html/tutorial/includegetattribute.c: af83032a68f54f420f04430efd7629c8
-share/doc/libxml2-2.9.4/html/tutorial/includekeyword.c: 5508972bd6f704cddb4b4faeaa5397b0
-share/doc/libxml2-2.9.4/html/tutorial/includexpath.c: a9718d128b1abbf9710cb7ea315cffec
-share/doc/libxml2-2.9.4/html/tutorial/index.html: c3df2af08328cd4cbf697d55ca9cd419
-share/doc/libxml2-2.9.4/html/tutorial/ix01.html: 2f9c98d5610fc9a8f02c7312c3c49691
-share/doc/libxml2-2.9.4/html/tutorial/xmltutorial.pdf: 12df01000d92ab495235de65abcd4e46
-share/doc/libxml2-2.9.4/html/w3c.png: ba69544b9cfa7659a0bb1b81410680a9
-share/doc/libxml2-2.9.4/html/writer.xml: 1e16356328b8e3fa703a18858a11f3bb
-share/doc/libxml2-2.9.4/html/xml.html: 238ceba29df713265480f81bf31c1f1a
-share/doc/libxml2-2.9.4/html/xpath1.c: 87445983c77091ef0441ff775fb8edc6
-share/doc/libxml2-2.9.4/html/xpath1.res: cf508aadb27c5c145ac58d256326e8eb
-share/doc/libxml2-2.9.4/html/xpath2.c: 413d481a75246b5af3d8e7f489e3408f
-share/doc/libxml2-2.9.4/html/xpath2.res: c32344efbb7334a5f2563420e0d1723c
-share/gtk-doc/html/libxml2/general.html: df2b20bc526b927eefa3f401349d1287
-share/gtk-doc/html/libxml2/home.png: f6192f4292d744423df690e785d60fdf
-share/gtk-doc/html/libxml2/index.html: b0b369ddf6959a2604b422c9268a0a3f
-share/gtk-doc/html/libxml2/left.png: f771308152ab24a69682daed70ce136d
-share/gtk-doc/html/libxml2/libxml2-DOCBparser.html: bde929bed90adf39144b561ad443c278
-share/gtk-doc/html/libxml2/libxml2-HTMLparser.html: 448bf8a3ac020486b4b50ac3cdd52c16
-share/gtk-doc/html/libxml2/libxml2-HTMLtree.html: e53dcd12a0e8e51413ca1de4986d7898
-share/gtk-doc/html/libxml2/libxml2-SAX.html: 5ba9dd3cf89972a337869e55024aeb0e
-share/gtk-doc/html/libxml2/libxml2-SAX2.html: 9a8574da93ad762a54194f690db4dbee
-share/gtk-doc/html/libxml2/libxml2-c14n.html: 57a9ef60a8af4df6586ab78061a75fd6
-share/gtk-doc/html/libxml2/libxml2-catalog.html: bcd705392f52867a1afadc1166739d17
-share/gtk-doc/html/libxml2/libxml2-chvalid.html: dca486d382dbf88f4d9155e3f7a826cf
-share/gtk-doc/html/libxml2/libxml2-debugXML.html: efd04207438816e0ce69c47bc93e525b
-share/gtk-doc/html/libxml2/libxml2-dict.html: 3d220f5057f1d2f86c2d900763855a53
-share/gtk-doc/html/libxml2/libxml2-encoding.html: eac9c8c39be246af865c4ad51bf94d32
-share/gtk-doc/html/libxml2/libxml2-entities.html: 3afcaf72917d0f9dda002baf4445e936
-share/gtk-doc/html/libxml2/libxml2-globals.html: 08b752bd53e687bf8ac51400c62ded68
-share/gtk-doc/html/libxml2/libxml2-hash.html: 11b6563618a2b99b9831857a5e81cfd2
-share/gtk-doc/html/libxml2/libxml2-list.html: e26c2e29812e0dd9b790a38f447f6aba
-share/gtk-doc/html/libxml2/libxml2-nanoftp.html: 79f4eb67e7eb955c19bd5337a8cc5177
-share/gtk-doc/html/libxml2/libxml2-nanohttp.html: 0eac4dace4fda9fcd0bb2ebb6c16aaf0
-share/gtk-doc/html/libxml2/libxml2-parser.html: c3f66200ba47bd8198ec81aa3c8ce608
-share/gtk-doc/html/libxml2/libxml2-parserInternals.html: b2757ce5c41539e70df72da43af67825
-share/gtk-doc/html/libxml2/libxml2-pattern.html: 6129a6b5661fc0a38d5c967153651d26
-share/gtk-doc/html/libxml2/libxml2-relaxng.html: f98fee61d7e051dff9719e13b768b26c
-share/gtk-doc/html/libxml2/libxml2-schemasInternals.html: f69402825563b84f449e76963e654c55
-share/gtk-doc/html/libxml2/libxml2-schematron.html: b3700a489202f309f02c6309f9d86984
-share/gtk-doc/html/libxml2/libxml2-threads.html: bb12a300c2c86bc49f586858a1ef6cd0
-share/gtk-doc/html/libxml2/libxml2-tree.html: 18d8636860bdf93d9a33d4780c84db61
-share/gtk-doc/html/libxml2/libxml2-uri.html: c46c9dfea580890ac48b70346c987bf0
-share/gtk-doc/html/libxml2/libxml2-valid.html: b4165290c6751ed9b2074eb915f0601f
-share/gtk-doc/html/libxml2/libxml2-xinclude.html: 644e5093b3931eee1fece47fb9a3c908
-share/gtk-doc/html/libxml2/libxml2-xlink.html: fe35c6e86ba9419aea9f628ed45bc57a
-share/gtk-doc/html/libxml2/libxml2-xmlIO.html: 1dd2f72b5a9014978f94155981fa6486
-share/gtk-doc/html/libxml2/libxml2-xmlautomata.html: 9cd301cf92ecca4ff9e896663f6d6570
-share/gtk-doc/html/libxml2/libxml2-xmlerror.html: 00e0588cbbeed28f03ca5665d6ff27ec
-share/gtk-doc/html/libxml2/libxml2-xmlexports.html: 62aebfe3442aedae77f8ff0514a8160c
-share/gtk-doc/html/libxml2/libxml2-xmlmemory.html: 8c22f5ea8ddd2ed6795726d714b4ab9f
-share/gtk-doc/html/libxml2/libxml2-xmlmodule.html: 215331b3567ef3b2e79cf35b1998a357
-share/gtk-doc/html/libxml2/libxml2-xmlreader.html: 576384e2dd8965ab77e6f459022d827f
-share/gtk-doc/html/libxml2/libxml2-xmlregexp.html: 1a42a4508373992c4471d360bf1cdf4f
-share/gtk-doc/html/libxml2/libxml2-xmlsave.html: ee31535906cba2ee6455e430f48eb236
-share/gtk-doc/html/libxml2/libxml2-xmlschemas.html: 55b5ed0793dd7f64e9c25cfe4be40287
-share/gtk-doc/html/libxml2/libxml2-xmlschemastypes.html: aa49b7bc4fe1493b926c035484fd77af
-share/gtk-doc/html/libxml2/libxml2-xmlstring.html: 92b3946891a43aaa8d983f599b9aadf0
-share/gtk-doc/html/libxml2/libxml2-xmlunicode.html: 9ac652a74d46f8c3e1caa26c19732b2a
-share/gtk-doc/html/libxml2/libxml2-xmlversion.html: 11a6e7c28ccbdbc1ca91213139decfa9
-share/gtk-doc/html/libxml2/libxml2-xmlwriter.html: 088d1735eaf6fcd0e4117c3cad0aa691
-share/gtk-doc/html/libxml2/libxml2-xpath.html: 09af6c8f3ce2aec4abfc523bc197bda6
-share/gtk-doc/html/libxml2/libxml2-xpathInternals.html: 7e1cd39d27fb760f721fb1f5e276dcf9
-share/gtk-doc/html/libxml2/libxml2-xpointer.html: eb4ef1b1665e08fd1c43e44f311367bb
-share/gtk-doc/html/libxml2/libxml2.devhelp: dec063a88e7aa03c218f1a7a93cfb912
-share/gtk-doc/html/libxml2/right.png: ebd7e6d206d73850d77d305ab548f957
-share/gtk-doc/html/libxml2/style.css: a7b180ebf583ed0c315d70d6a4890f79
-share/gtk-doc/html/libxml2/up.png: 2f07d9272deb4ae870ca6821117877fa
-share/man/man1/xml2-config.1: f9ea1b8ede868111a96fc3dbd9db79e6
-share/man/man1/xmlcatalog.1: c01059c82575fe971688706702d175e7
-share/man/man1/xmllint.1: c2da2d5425849f19b8b0d355f5215973
-share/man/man3/libxml.3: 1bc9e496f1d34157a9e0d1b65704819a \ No newline at end of file
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/export/conanmanifest.txt
deleted file mode 100644
index 54a81a2e..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/export/conanmanifest.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-1499347513
-conanfile.py: 13d33f258924b0e194abbae675d10623
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/package/3c9b592a3dd15507b8a6d90a8fcc34d2b4de2260/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/package/3c9b592a3dd15507b8a6d90a8fcc34d2b4de2260/conanmanifest.txt
deleted file mode 100644
index 46e106f7..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/package/3c9b592a3dd15507b8a6d90a8fcc34d2b4de2260/conanmanifest.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-1499348590
-bin/libxml2.dll: 21125a168735fe1f2da4ed04d7478ae6
-conaninfo.txt: 38d79dbe71569466f32385561d0a7c01
-include/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
-include/libxml/HTMLparser.h: 083a413aedc738e1903735b7f1678087
-include/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
-include/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
-include/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
-include/libxml/c14n.h: 083bf52bbdd0563ff61605cb2bc9316f
-include/libxml/catalog.h: 1d5e464fe629dde9758d6c33ea7a3d8e
-include/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
-include/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
-include/libxml/dict.h: 93b78165ce896cbda4417bd278259714
-include/libxml/encoding.h: e07b28c25a85356f585dd6891e0c7778
-include/libxml/entities.h: 16467595fdaff28420d1657b1658f267
-include/libxml/globals.h: 7dc017984a2a506caaeb45db0e895357
-include/libxml/hash.h: 747ad49c1a665e2eafaf052cbd9d165b
-include/libxml/list.h: a81670013af01c8003fa9fdbd9a8cad7
-include/libxml/nanoftp.h: a4aad060f2cedb04dacbe4c58969817a
-include/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
-include/libxml/parser.h: 3ef7bece85150ab2319aed3fd0d36034
-include/libxml/parserInternals.h: c55ce5832dae535ce6d59b6aa10f6133
-include/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
-include/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
-include/libxml/schemasInternals.h: 28ed78fdce3dbad508a6381dd580d1e7
-include/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
-include/libxml/threads.h: 2c630b6409352bcd1e10d94177215265
-include/libxml/tree.h: f2a9a61c9a96a73c293f57bff2913ffb
-include/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
-include/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
-include/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
-include/libxml/xlink.h: 8b82b67e61ebffc721bd23af66724f49
-include/libxml/xmlIO.h: 31c8dfbaee25e20cd0d6eb2549929f5d
-include/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
-include/libxml/xmlerror.h: 9f03d7b7788f158e68a75132e9249975
-include/libxml/xmlexports.h: c7982540f18e547b3ca70c7259c59e4c
-include/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
-include/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
-include/libxml/xmlreader.h: dbd5ae99042659a13427209a2bc0041f
-include/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
-include/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
-include/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
-include/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
-include/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
-include/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
-include/libxml/xmlversion.h: 3a4cd39c7bcdbe5358570771fa1f1c10
-include/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
-include/libxml/xpath.h: 2e60b359a61db15d05409ebef1b140b1
-include/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
-include/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
-include/win32config.h: 410df263529fb9ec616b22f590dbdd1d
-include/wsockcompat.h: f975f4dc926c27ab755f05a79296bd72
-lib/libxml2.lib: 8401cfb31c445b419fd36f7cca9287ba
-lib/libxml2_a.lib: b44b970cfaee62a922b7424646f07bbc
-lib/libxml2_a_dll.lib: b7a0af9a50e80ab55a92714e1068f48c
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/package/61c4f21bb72fcb92afb46571ac7caaa967c09c5d/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/package/61c4f21bb72fcb92afb46571ac7caaa967c09c5d/conanmanifest.txt
deleted file mode 100644
index 5aded80c..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/package/61c4f21bb72fcb92afb46571ac7caaa967c09c5d/conanmanifest.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-1499348835
-bin/libxml2.dll: d9a4499bddd011be860ed1414a2cbae4
-conaninfo.txt: 64d85058962adbbc211c59513c575f8e
-include/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
-include/libxml/HTMLparser.h: 083a413aedc738e1903735b7f1678087
-include/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
-include/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
-include/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
-include/libxml/c14n.h: 083bf52bbdd0563ff61605cb2bc9316f
-include/libxml/catalog.h: 1d5e464fe629dde9758d6c33ea7a3d8e
-include/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
-include/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
-include/libxml/dict.h: 93b78165ce896cbda4417bd278259714
-include/libxml/encoding.h: e07b28c25a85356f585dd6891e0c7778
-include/libxml/entities.h: 16467595fdaff28420d1657b1658f267
-include/libxml/globals.h: 7dc017984a2a506caaeb45db0e895357
-include/libxml/hash.h: 747ad49c1a665e2eafaf052cbd9d165b
-include/libxml/list.h: a81670013af01c8003fa9fdbd9a8cad7
-include/libxml/nanoftp.h: a4aad060f2cedb04dacbe4c58969817a
-include/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
-include/libxml/parser.h: 3ef7bece85150ab2319aed3fd0d36034
-include/libxml/parserInternals.h: c55ce5832dae535ce6d59b6aa10f6133
-include/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
-include/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
-include/libxml/schemasInternals.h: 28ed78fdce3dbad508a6381dd580d1e7
-include/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
-include/libxml/threads.h: 2c630b6409352bcd1e10d94177215265
-include/libxml/tree.h: f2a9a61c9a96a73c293f57bff2913ffb
-include/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
-include/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
-include/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
-include/libxml/xlink.h: 8b82b67e61ebffc721bd23af66724f49
-include/libxml/xmlIO.h: 31c8dfbaee25e20cd0d6eb2549929f5d
-include/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
-include/libxml/xmlerror.h: 9f03d7b7788f158e68a75132e9249975
-include/libxml/xmlexports.h: c7982540f18e547b3ca70c7259c59e4c
-include/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
-include/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
-include/libxml/xmlreader.h: dbd5ae99042659a13427209a2bc0041f
-include/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
-include/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
-include/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
-include/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
-include/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
-include/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
-include/libxml/xmlversion.h: 3a4cd39c7bcdbe5358570771fa1f1c10
-include/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
-include/libxml/xpath.h: 2e60b359a61db15d05409ebef1b140b1
-include/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
-include/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
-include/win32config.h: 410df263529fb9ec616b22f590dbdd1d
-include/wsockcompat.h: f975f4dc926c27ab755f05a79296bd72
-lib/libxml2.lib: 1943502c63f1459602a39bd2323d38f6
-lib/libxml2_a.lib: fd6456fbcd17a0467525faad0666ff8b
-lib/libxml2_a_dll.lib: a4c27aa254afe3f1b0279a92421e7342
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/package/8ec39b27fb5828ba512b3f2dafe88cc0962c29b9/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/package/8ec39b27fb5828ba512b3f2dafe88cc0962c29b9/conanmanifest.txt
deleted file mode 100644
index e07078e6..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/package/8ec39b27fb5828ba512b3f2dafe88cc0962c29b9/conanmanifest.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-1499348420
-bin/libxml2.dll: d97dd77e1ca7b5cc92bb16f1519c2f02
-conaninfo.txt: 2954c763996d7723b688af93f860be53
-include/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
-include/libxml/HTMLparser.h: 083a413aedc738e1903735b7f1678087
-include/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
-include/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
-include/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
-include/libxml/c14n.h: 083bf52bbdd0563ff61605cb2bc9316f
-include/libxml/catalog.h: 1d5e464fe629dde9758d6c33ea7a3d8e
-include/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
-include/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
-include/libxml/dict.h: 93b78165ce896cbda4417bd278259714
-include/libxml/encoding.h: e07b28c25a85356f585dd6891e0c7778
-include/libxml/entities.h: 16467595fdaff28420d1657b1658f267
-include/libxml/globals.h: 7dc017984a2a506caaeb45db0e895357
-include/libxml/hash.h: 747ad49c1a665e2eafaf052cbd9d165b
-include/libxml/list.h: a81670013af01c8003fa9fdbd9a8cad7
-include/libxml/nanoftp.h: a4aad060f2cedb04dacbe4c58969817a
-include/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
-include/libxml/parser.h: 3ef7bece85150ab2319aed3fd0d36034
-include/libxml/parserInternals.h: c55ce5832dae535ce6d59b6aa10f6133
-include/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
-include/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
-include/libxml/schemasInternals.h: 28ed78fdce3dbad508a6381dd580d1e7
-include/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
-include/libxml/threads.h: 2c630b6409352bcd1e10d94177215265
-include/libxml/tree.h: f2a9a61c9a96a73c293f57bff2913ffb
-include/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
-include/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
-include/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
-include/libxml/xlink.h: 8b82b67e61ebffc721bd23af66724f49
-include/libxml/xmlIO.h: 31c8dfbaee25e20cd0d6eb2549929f5d
-include/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
-include/libxml/xmlerror.h: 9f03d7b7788f158e68a75132e9249975
-include/libxml/xmlexports.h: c7982540f18e547b3ca70c7259c59e4c
-include/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
-include/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
-include/libxml/xmlreader.h: dbd5ae99042659a13427209a2bc0041f
-include/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
-include/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
-include/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
-include/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
-include/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
-include/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
-include/libxml/xmlversion.h: 3a4cd39c7bcdbe5358570771fa1f1c10
-include/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
-include/libxml/xpath.h: 2e60b359a61db15d05409ebef1b140b1
-include/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
-include/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
-include/win32config.h: 410df263529fb9ec616b22f590dbdd1d
-include/wsockcompat.h: f975f4dc926c27ab755f05a79296bd72
-lib/libxml2.lib: 63bd590c414dfc9907df9e8cea6c3ba6
-lib/libxml2_a.lib: e811e6c280f3715f435ea3d7cebda6c2
-lib/libxml2_a_dll.lib: e2c6edb8085198269970611c68edffaf
diff --git a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/package/e08083f0910e4ba3ae89c4298d94b672829af1fe/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/package/e08083f0910e4ba3ae89c4298d94b672829af1fe/conanmanifest.txt
deleted file mode 100644
index 75b0084f..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxml2/2.9.4/vitallium/stable/package/e08083f0910e4ba3ae89c4298d94b672829af1fe/conanmanifest.txt
+++ /dev/null
@@ -1,55 +0,0 @@
-1499348033
-bin/libxml2.dll: 41e781ae591bbf0b36780ccce4565226
-conaninfo.txt: 6ef37ed57f0f92d64efc139dff95365b
-include/libxml/DOCBparser.h: 21e6523a86338325c527e1e8847adc1d
-include/libxml/HTMLparser.h: 083a413aedc738e1903735b7f1678087
-include/libxml/HTMLtree.h: 46cf4cefb419e18c40b8d5b6ac982f3f
-include/libxml/SAX.h: bf46553ceac47b24126d4a1abb7b26fa
-include/libxml/SAX2.h: 226675de48e46a282141b438b0895db4
-include/libxml/c14n.h: 083bf52bbdd0563ff61605cb2bc9316f
-include/libxml/catalog.h: 1d5e464fe629dde9758d6c33ea7a3d8e
-include/libxml/chvalid.h: 4e1ca6554b98687e75d03662cd92d14e
-include/libxml/debugXML.h: 73816937df233c77ebfa261f3ca00dd8
-include/libxml/dict.h: 93b78165ce896cbda4417bd278259714
-include/libxml/encoding.h: e07b28c25a85356f585dd6891e0c7778
-include/libxml/entities.h: 16467595fdaff28420d1657b1658f267
-include/libxml/globals.h: 7dc017984a2a506caaeb45db0e895357
-include/libxml/hash.h: 747ad49c1a665e2eafaf052cbd9d165b
-include/libxml/list.h: a81670013af01c8003fa9fdbd9a8cad7
-include/libxml/nanoftp.h: a4aad060f2cedb04dacbe4c58969817a
-include/libxml/nanohttp.h: d31b62933eab6d58a46eb075b49b7715
-include/libxml/parser.h: 3ef7bece85150ab2319aed3fd0d36034
-include/libxml/parserInternals.h: c55ce5832dae535ce6d59b6aa10f6133
-include/libxml/pattern.h: db123ed3ecc27ab31b3f808e96edb492
-include/libxml/relaxng.h: 348c151f5b45a3543862c0e280f9fbba
-include/libxml/schemasInternals.h: 28ed78fdce3dbad508a6381dd580d1e7
-include/libxml/schematron.h: 96d9e0c083c4949e246ce02cf31de483
-include/libxml/threads.h: 2c630b6409352bcd1e10d94177215265
-include/libxml/tree.h: f2a9a61c9a96a73c293f57bff2913ffb
-include/libxml/uri.h: 032d430e35153af35f2fe17a9e9c37bf
-include/libxml/valid.h: 3c082c0a5b81e1bc9fd9a21b69014584
-include/libxml/xinclude.h: 1f8b2beb8f49da4bf3a658d31dccb2ef
-include/libxml/xlink.h: 8b82b67e61ebffc721bd23af66724f49
-include/libxml/xmlIO.h: 31c8dfbaee25e20cd0d6eb2549929f5d
-include/libxml/xmlautomata.h: 3c3c0a7d353bacfbede7c2decf27e62a
-include/libxml/xmlerror.h: 9f03d7b7788f158e68a75132e9249975
-include/libxml/xmlexports.h: c7982540f18e547b3ca70c7259c59e4c
-include/libxml/xmlmemory.h: c0167c625ecaf670d76480506425b472
-include/libxml/xmlmodule.h: de174bf853776e7e653c66c059d19e61
-include/libxml/xmlreader.h: dbd5ae99042659a13427209a2bc0041f
-include/libxml/xmlregexp.h: fea3110c96e8cd9013900e1c8e5b6c0b
-include/libxml/xmlsave.h: eed2463cad941f74f99b8b9bc03aa74d
-include/libxml/xmlschemas.h: 44ee98f77e997b8843fe6e5c45aa4ab0
-include/libxml/xmlschemastypes.h: 160197e01dfa56cd9ad09d201d5bdeb4
-include/libxml/xmlstring.h: 82efb8a055d5fc8eb7d815ed471eca53
-include/libxml/xmlunicode.h: b9f0b8acddfee9b620ea822978a51d29
-include/libxml/xmlversion.h: 3a4cd39c7bcdbe5358570771fa1f1c10
-include/libxml/xmlwriter.h: 8694436144b1fb0aab2e2d6b725035e3
-include/libxml/xpath.h: 2e60b359a61db15d05409ebef1b140b1
-include/libxml/xpathInternals.h: c18fad3cce22369a75166afed6343bcd
-include/libxml/xpointer.h: 5b8025430888d5b99d03d159ddc78388
-include/win32config.h: 410df263529fb9ec616b22f590dbdd1d
-include/wsockcompat.h: f975f4dc926c27ab755f05a79296bd72
-lib/libxml2.lib: d7556bca5f0c194de00b118175c9e786
-lib/libxml2_a.lib: 2e4f2027834a545ab38246c576ff0f31
-lib/libxml2_a_dll.lib: 1932915fa9f066097c72915cabea32a0
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/annulen/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/annulen/stable/export/conanmanifest.txt
deleted file mode 100644
index 73d392f3..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/annulen/stable/export/conanmanifest.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-1478799778
-conanfile.py: b879c8be77c29214d239564bf9d04969 \ No newline at end of file
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/annulen/stable/package/30620cba1eaf28add40f441a20f7d1be9a5c636c/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/annulen/stable/package/30620cba1eaf28add40f441a20f7d1be9a5c636c/conanmanifest.txt
deleted file mode 100644
index ead7f1ca..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/annulen/stable/package/30620cba1eaf28add40f441a20f7d1be9a5c636c/conanmanifest.txt
+++ /dev/null
@@ -1,136 +0,0 @@
-1478799864
-bin/libexslt-0.dll: 7675292df50bf7e337e6fe7641612f2b
-bin/libxslt-1.dll: a1c6847bea36a592e198604f930974d2
-bin/xslt-config: 92edf713575aac5c5db15127af375842
-bin/xsltproc.exe: c215ee880a249a87c6eab40d5a9660e3
-conaninfo.txt: d4dddabb56f9b9605df4d8fa2f367028
-include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
-include/libexslt/exsltconfig.h: b3e4cceec1495ff23ba07518c4a8afcb
-include/libexslt/exsltexports.h: 079c35b6fa14302aad0764c1dee57809
-include/libexslt/libexslt.h: 2a281322663dba16ccf7b4ed1eb5858f
-include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
-include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
-include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
-include/libxslt/extra.h: 6d41618d5d9708628ec9b33a587f06c3
-include/libxslt/functions.h: b5ad00884390fb9b86c55a2628e9f6a0
-include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
-include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
-include/libxslt/libxslt.h: 11c489a4083c7d341b70e8693676852f
-include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
-include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
-include/libxslt/pattern.h: 1d928199f1adf63d79d9ec6aa7eb060f
-include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
-include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
-include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
-include/libxslt/transform.h: 060c2e753adea589569d2835a006075e
-include/libxslt/trio.h: 7da7b1fcf378330699c7ecdd96908641
-include/libxslt/triodef.h: e41149b088de4a04c067c85969f4db3c
-include/libxslt/variables.h: ee9c8174c5a42ab6821d2e28f0a15661
-include/libxslt/win32config.h: c64153b1a2c8bba1a8aa600741f04690
-include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
-include/libxslt/xsltInternals.h: 4b93c6b8abdb8f67a5718ed98a2b2e6e
-include/libxslt/xsltconfig.h: 696ee4c678ac92cb4b17a955475698b0
-include/libxslt/xsltexports.h: 207ffe4e458a8c24635b3eb24bdd8000
-include/libxslt/xsltlocale.h: b934279cc2a6556075638425e5634b07
-include/libxslt/xsltutils.h: c190bd536ce0cffe1ccba74c68f7b0c9
-lib/libexslt.dll.a: c03cb36bcefbeaf9f2529dcae7d38db5
-lib/libexslt.la: 4e7f084a461a3ab245dce1836aaf4384
-lib/libxslt.dll.a: 3dca0c97875f4f44cf46039657d5f5eb
-lib/libxslt.la: 04ac200e9b2c56292ad91ffcb83ff676
-lib/pkgconfig/libexslt.pc: 6ae3965889e819ace738967546160ede
-lib/pkgconfig/libxslt.pc: 101abf476285d150fb6130679868fd2a
-lib/xsltConf.sh: 387130017807ac4132eccf4db20b3be8
-share/aclocal/libxslt.m4: 7b0b8b6bd86eea30c617663c9e9439b3
-share/doc/libxslt-1.1.29/html/API.html: 99b964a0e24da7db2d479302fbde49ef
-share/doc/libxslt-1.1.29/html/APIchunk0.html: 379e5dd4f4ae9cdbaea4428322524d23
-share/doc/libxslt-1.1.29/html/APIchunk1.html: e6bedc4a557c35709cfaadb3b3a2c78e
-share/doc/libxslt-1.1.29/html/APIchunk10.html: 990d5445086a566dff80c3c55e7fe777
-share/doc/libxslt-1.1.29/html/APIchunk11.html: d2c1db9800e2fefec12d29d1d4935787
-share/doc/libxslt-1.1.29/html/APIchunk12.html: 3e91f14eb29aa1b149a6dc47adfe3f7e
-share/doc/libxslt-1.1.29/html/APIchunk13.html: f81829102703ab031d34501e86c38de6
-share/doc/libxslt-1.1.29/html/APIchunk2.html: 8de13f862400c55f79640149263ecdf2
-share/doc/libxslt-1.1.29/html/APIchunk3.html: a67b4125d6d62adefd42a1f14d8e743e
-share/doc/libxslt-1.1.29/html/APIchunk4.html: 56f35b492dacfd056fb9aeb0d465d4d8
-share/doc/libxslt-1.1.29/html/APIchunk5.html: a0fd3189be50ea1bd6193387408f586c
-share/doc/libxslt-1.1.29/html/APIchunk6.html: 9bbcf809a505e114d6639124cf4ea61c
-share/doc/libxslt-1.1.29/html/APIchunk7.html: a13a001cbc5772a5f078dcb6b6933ed7
-share/doc/libxslt-1.1.29/html/APIchunk8.html: bcffc0a904c0e63029ea40434087e8a6
-share/doc/libxslt-1.1.29/html/APIchunk9.html: ed227fe1b81942da23d7e2aa7b743888
-share/doc/libxslt-1.1.29/html/APIconstructors.html: d79268dc83d0336691469ee5e7de4ffa
-share/doc/libxslt-1.1.29/html/APIfiles.html: 490ec3f50d79908176cd61723381ebdf
-share/doc/libxslt-1.1.29/html/APIfunctions.html: 78ba3e4807646ecedb871570caecf6d2
-share/doc/libxslt-1.1.29/html/APIsymbols.html: 3e7d7df3374823ed4a8b9e00de152f5e
-share/doc/libxslt-1.1.29/html/EXSLT/APIchunk0.html: be037131987b78b19b9e61ce54877bee
-share/doc/libxslt-1.1.29/html/EXSLT/APIconstructors.html: 3da084171718dfe3cfc77c6d4350762f
-share/doc/libxslt-1.1.29/html/EXSLT/APIfiles.html: d67a66297a2fd601bc1553874765a315
-share/doc/libxslt-1.1.29/html/EXSLT/APIfunctions.html: 6b0b4b814785deca06fb32b27d1421db
-share/doc/libxslt-1.1.29/html/EXSLT/APIsymbols.html: 39928a27a9ada210627deef998899296
-share/doc/libxslt-1.1.29/html/EXSLT/bugs.html: 7e22e19ae460ec6a27849b6bf2870eaf
-share/doc/libxslt-1.1.29/html/EXSLT/docs.html: de04679a46246ab14183bfddfb9fe21e
-share/doc/libxslt-1.1.29/html/EXSLT/downloads.html: 775d1c9006018e2a6afbd46aabac94cc
-share/doc/libxslt-1.1.29/html/EXSLT/exslt.html: 9f53a9098c0ae4b86092ec453f9bf5e0
-share/doc/libxslt-1.1.29/html/EXSLT/help.html: 6a3ae7a677b508299d6843ec2aa06919
-share/doc/libxslt-1.1.29/html/EXSLT/index.html: f10878530c0c370434e38f8669b87fb2
-share/doc/libxslt-1.1.29/html/EXSLT/intro.html: 08c5743544fa11d3e47794d2bddf58c5
-share/doc/libxslt-1.1.29/html/FAQ.html: d50bcf8a29a1593dd5e0a3821071274f
-share/doc/libxslt-1.1.29/html/Libxslt-Logo-180x168.gif: e6f8bb7e4a5a426380d387adaedadad9
-share/doc/libxslt-1.1.29/html/Libxslt-Logo-90x34.gif: 6b3ac58ce6c3e622db3dbf83d127f1ac
-share/doc/libxslt-1.1.29/html/bugs.html: f724ff1f191cd6d6006ff81f85b84987
-share/doc/libxslt-1.1.29/html/contexts.gif: 8d882ee509aaba54abf791a312fdb617
-share/doc/libxslt-1.1.29/html/contribs.html: c3d4e7a850f0d5e373f857093b092fbc
-share/doc/libxslt-1.1.29/html/docbook.html: 776f814590907d566008cb194162da1a
-share/doc/libxslt-1.1.29/html/docs.html: 4291a6eb59ef115310843882330d25f1
-share/doc/libxslt-1.1.29/html/downloads.html: a34b24da9c37d11b160a51375b2d8e26
-share/doc/libxslt-1.1.29/html/extensions.html: d9dc8d45c36e77af9b229d9de2fa184c
-share/doc/libxslt-1.1.29/html/help.html: ec0ba42602368c606bb282ae37d6e8ff
-share/doc/libxslt-1.1.29/html/html/book1.html: 38e702d7abb51be701e9e4a132b7fbf3
-share/doc/libxslt-1.1.29/html/html/home.png: f6192f4292d744423df690e785d60fdf
-share/doc/libxslt-1.1.29/html/html/index.html: 38e702d7abb51be701e9e4a132b7fbf3
-share/doc/libxslt-1.1.29/html/html/left.png: f771308152ab24a69682daed70ce136d
-share/doc/libxslt-1.1.29/html/html/libxslt-attributes.html: 01e3dad54911c715af8eb4edd03680d7
-share/doc/libxslt-1.1.29/html/html/libxslt-documents.html: 04b4f566bc179282ba31e4086733d392
-share/doc/libxslt-1.1.29/html/html/libxslt-extensions.html: 48ba473ecaca35f0e9d118bfe569a4ce
-share/doc/libxslt-1.1.29/html/html/libxslt-extra.html: b531cac2627f78c17bf7751d709d15e4
-share/doc/libxslt-1.1.29/html/html/libxslt-functions.html: 8f859868f4d61cc91fc3297f58cf467f
-share/doc/libxslt-1.1.29/html/html/libxslt-imports.html: b190003ede5181d38069a360e9e54696
-share/doc/libxslt-1.1.29/html/html/libxslt-keys.html: 595c6d8e3cbd5836d765a714cdaa8662
-share/doc/libxslt-1.1.29/html/html/libxslt-lib.html: 38e702d7abb51be701e9e4a132b7fbf3
-share/doc/libxslt-1.1.29/html/html/libxslt-namespaces.html: f1957f303bf803b546fea20c3210e66c
-share/doc/libxslt-1.1.29/html/html/libxslt-numbersInternals.html: 8270d01773d6827cef5eb0e5fbc06cbe
-share/doc/libxslt-1.1.29/html/html/libxslt-pattern.html: 68a6e5041985bd90b062f225d3e4a4ea
-share/doc/libxslt-1.1.29/html/html/libxslt-preproc.html: 2e5b3d40d10b5d19f8d8981890fa60e6
-share/doc/libxslt-1.1.29/html/html/libxslt-security.html: 0fc54dbb04c31db7273540c6aa15b789
-share/doc/libxslt-1.1.29/html/html/libxslt-templates.html: f795df05f5ada549196b3b0af2b51b6f
-share/doc/libxslt-1.1.29/html/html/libxslt-transform.html: 10347ce214f564ed64480e3a29629bce
-share/doc/libxslt-1.1.29/html/html/libxslt-variables.html: 78a0a52b6df345ecda47c06da8ac8d58
-share/doc/libxslt-1.1.29/html/html/libxslt-xslt.html: e94fba7be3d50049b723a80d3b0a1b40
-share/doc/libxslt-1.1.29/html/html/libxslt-xsltInternals.html: 4fc3053cfdc99227025f82dd83b99059
-share/doc/libxslt-1.1.29/html/html/libxslt-xsltexports.html: 21afd523be589d91dac3cdd1692d434c
-share/doc/libxslt-1.1.29/html/html/libxslt-xsltlocale.html: 8a6973315db00ad07f270a50fb864ff1
-share/doc/libxslt-1.1.29/html/html/libxslt-xsltutils.html: 25ce5faa616e42268d54a34cb5983e5c
-share/doc/libxslt-1.1.29/html/html/right.png: ebd7e6d206d73850d77d305ab548f957
-share/doc/libxslt-1.1.29/html/html/up.png: 2f07d9272deb4ae870ca6821117877fa
-share/doc/libxslt-1.1.29/html/index.html: 05e32435399ac231b17cd820de78ac70
-share/doc/libxslt-1.1.29/html/internals.html: 922c61987ad85ba31859d1fa36ca2fc2
-share/doc/libxslt-1.1.29/html/intro.html: f7674ee30704647018c1cdd5ffa4b56f
-share/doc/libxslt-1.1.29/html/news.html: 7deecee24a4b90b4e4c88f0d299f090f
-share/doc/libxslt-1.1.29/html/node.gif: e0b48d09fa64e4a64831c42c4f9e6331
-share/doc/libxslt-1.1.29/html/object.gif: 879905dbfdc584f7a8543b7804cc3ff4
-share/doc/libxslt-1.1.29/html/processing.gif: e6924e110962e92a04d6d3f1f1196b31
-share/doc/libxslt-1.1.29/html/python.html: c8c7fafbda61cd06c188c4cceb78184e
-share/doc/libxslt-1.1.29/html/redhat.gif: dd0216f442bf6845c103aba1b4bcb869
-share/doc/libxslt-1.1.29/html/smallfootonly.gif: e92b022a99a76d6fceeb35576bb7718f
-share/doc/libxslt-1.1.29/html/stylesheet.gif: 15a7ac6844ef2b2a7f601ed6cb6cb277
-share/doc/libxslt-1.1.29/html/templates.gif: e1ac04018d8f602adbd28a72153f9956
-share/doc/libxslt-1.1.29/html/tutorial/libxslt_tutorial.c: 0c3d2acbfb0be23b984c695600170d16
-share/doc/libxslt-1.1.29/html/tutorial/libxslttutorial.html: ee8ec694b4a88c4b6503f5301c998ecd
-share/doc/libxslt-1.1.29/html/tutorial/libxslttutorial.xml: 7f3bb19c2dcc54c5f76e953a65dbd339
-share/doc/libxslt-1.1.29/html/tutorial2/libxslt_pipes.c: 01a91d21b5e9a1e2259752d5325feaf0
-share/doc/libxslt-1.1.29/html/tutorial2/libxslt_pipes.html: ac0dc678b3ab0da56681555c51e6fa64
-share/doc/libxslt-1.1.29/html/tutorial2/libxslt_pipes.xml: 0c0faafe5595b19ebe09f6110fe3a7fd
-share/doc/libxslt-1.1.29/html/xslt.html: 739e6a1bf660969174feb4db301f3e80
-share/doc/libxslt-1.1.29/html/xsltproc.html: fa713b8a3fd6b30a19319a821d7bb238
-share/doc/libxslt-1.1.29/html/xsltproc2.html: 52997d42ce172e9b1cace319bb5aaa0b
-share/man/man1/xsltproc.1: be3aaba050a613d185ab69a1547eeee1
-share/man/man3/libexslt.3: c7089bab11720e9c9c17962a68c528ff
-share/man/man3/libxslt.3: e4962632ed2590adad3621054417bd2a \ No newline at end of file
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/export/conanmanifest.txt
deleted file mode 100644
index de2aa3a0..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/export/conanmanifest.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-1482494842
-conanfile.py: 2472a82109b2d59062d3e50a54d08a4a
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/package/19663639a14063d996b277c7fac0e00264689c20/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/package/19663639a14063d996b277c7fac0e00264689c20/conanmanifest.txt
deleted file mode 100644
index 0820b583..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/package/19663639a14063d996b277c7fac0e00264689c20/conanmanifest.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-1482494796
-bin/libexslt.dll: acf1f58607eb1a10534cc30ca2bf2c9f
-bin/libxslt.dll: 9edc15648704934221ec3afcedb25451
-conaninfo.txt: 224814c47f7d14968c401d2180974e77
-include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
-include/libexslt/exsltconfig.h: a36134fd73a90b0c39ba3eb4fa8833b9
-include/libexslt/exsltexports.h: 079c35b6fa14302aad0764c1dee57809
-include/libexslt/libexslt.h: 2a281322663dba16ccf7b4ed1eb5858f
-include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
-include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
-include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
-include/libxslt/extra.h: 6d41618d5d9708628ec9b33a587f06c3
-include/libxslt/functions.h: b5ad00884390fb9b86c55a2628e9f6a0
-include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
-include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
-include/libxslt/libxslt.h: 11c489a4083c7d341b70e8693676852f
-include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
-include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
-include/libxslt/pattern.h: 1d928199f1adf63d79d9ec6aa7eb060f
-include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
-include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
-include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
-include/libxslt/transform.h: 060c2e753adea589569d2835a006075e
-include/libxslt/trio.h: 7da7b1fcf378330699c7ecdd96908641
-include/libxslt/triodef.h: e41149b088de4a04c067c85969f4db3c
-include/libxslt/variables.h: ee9c8174c5a42ab6821d2e28f0a15661
-include/libxslt/win32config.h: c64153b1a2c8bba1a8aa600741f04690
-include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
-include/libxslt/xsltInternals.h: 4b93c6b8abdb8f67a5718ed98a2b2e6e
-include/libxslt/xsltconfig.h: 047bffd75335b6951063c467c91973a7
-include/libxslt/xsltexports.h: 207ffe4e458a8c24635b3eb24bdd8000
-include/libxslt/xsltlocale.h: b934279cc2a6556075638425e5634b07
-include/libxslt/xsltutils.h: c190bd536ce0cffe1ccba74c68f7b0c9
-include/libxslt/xsltwin32config.h: 8a3a4b0359659042a66603eb59cc4001
-lib/libexslt.lib: 0c9f94aeea183a48ec62d6e1a3ac42af
-lib/libexslt_a.lib: 026a42ff0b36660c1bd4890b656c80ee
-lib/libxslt.lib: 084d078777bf34d52af7fc93a425d6b0
-lib/libxslt_a.lib: a07434cb5a40a32a17be58f71fe24976
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/package/466fc39fa8b7a19ee2095aa945fff98630acdd12/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/package/466fc39fa8b7a19ee2095aa945fff98630acdd12/conanmanifest.txt
deleted file mode 100644
index 22a7c428..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/package/466fc39fa8b7a19ee2095aa945fff98630acdd12/conanmanifest.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-1482494566
-bin/libexslt.dll: 656ebfef4dcd7d299bff8f5123bfd4b9
-bin/libxslt.dll: cdca16a3183ddcbdf3d0087c3f1e62e9
-conaninfo.txt: 73548fb3ff61aade734c0ce2071a2d05
-include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
-include/libexslt/exsltconfig.h: a36134fd73a90b0c39ba3eb4fa8833b9
-include/libexslt/exsltexports.h: 079c35b6fa14302aad0764c1dee57809
-include/libexslt/libexslt.h: 2a281322663dba16ccf7b4ed1eb5858f
-include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
-include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
-include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
-include/libxslt/extra.h: 6d41618d5d9708628ec9b33a587f06c3
-include/libxslt/functions.h: b5ad00884390fb9b86c55a2628e9f6a0
-include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
-include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
-include/libxslt/libxslt.h: 11c489a4083c7d341b70e8693676852f
-include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
-include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
-include/libxslt/pattern.h: 1d928199f1adf63d79d9ec6aa7eb060f
-include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
-include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
-include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
-include/libxslt/transform.h: 060c2e753adea589569d2835a006075e
-include/libxslt/trio.h: 7da7b1fcf378330699c7ecdd96908641
-include/libxslt/triodef.h: e41149b088de4a04c067c85969f4db3c
-include/libxslt/variables.h: ee9c8174c5a42ab6821d2e28f0a15661
-include/libxslt/win32config.h: c64153b1a2c8bba1a8aa600741f04690
-include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
-include/libxslt/xsltInternals.h: 4b93c6b8abdb8f67a5718ed98a2b2e6e
-include/libxslt/xsltconfig.h: 047bffd75335b6951063c467c91973a7
-include/libxslt/xsltexports.h: 207ffe4e458a8c24635b3eb24bdd8000
-include/libxslt/xsltlocale.h: b934279cc2a6556075638425e5634b07
-include/libxslt/xsltutils.h: c190bd536ce0cffe1ccba74c68f7b0c9
-include/libxslt/xsltwin32config.h: 8a3a4b0359659042a66603eb59cc4001
-lib/libexslt.lib: a84716fa57d325856a55cf5ba8a816c6
-lib/libexslt_a.lib: c428937c93542c6386534b61239e8119
-lib/libxslt.lib: 43b2e966367546ff110762f24f4c919d
-lib/libxslt_a.lib: a802233763886894a7a89e4f8e634e6a
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/package/8c83c725f7fefe466a2c6c18ff17d3b0b91202c6/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/package/8c83c725f7fefe466a2c6c18ff17d3b0b91202c6/conanmanifest.txt
deleted file mode 100644
index 0501df3e..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/package/8c83c725f7fefe466a2c6c18ff17d3b0b91202c6/conanmanifest.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-1499348623
-bin/libexslt.dll: 27d2ff4cdff16eb9dd4944ef27cb467a
-bin/libxslt.dll: b33bd4f30819263259ab52ee0cd9b7ff
-conaninfo.txt: 00cd7d1f6493ac337bb709aedcabcc77
-include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
-include/libexslt/exsltconfig.h: a36134fd73a90b0c39ba3eb4fa8833b9
-include/libexslt/exsltexports.h: 079c35b6fa14302aad0764c1dee57809
-include/libexslt/libexslt.h: 2a281322663dba16ccf7b4ed1eb5858f
-include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
-include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
-include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
-include/libxslt/extra.h: 6d41618d5d9708628ec9b33a587f06c3
-include/libxslt/functions.h: b5ad00884390fb9b86c55a2628e9f6a0
-include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
-include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
-include/libxslt/libxslt.h: 11c489a4083c7d341b70e8693676852f
-include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
-include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
-include/libxslt/pattern.h: 1d928199f1adf63d79d9ec6aa7eb060f
-include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
-include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
-include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
-include/libxslt/transform.h: 060c2e753adea589569d2835a006075e
-include/libxslt/trio.h: 7da7b1fcf378330699c7ecdd96908641
-include/libxslt/triodef.h: e41149b088de4a04c067c85969f4db3c
-include/libxslt/variables.h: ee9c8174c5a42ab6821d2e28f0a15661
-include/libxslt/win32config.h: c64153b1a2c8bba1a8aa600741f04690
-include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
-include/libxslt/xsltInternals.h: 4b93c6b8abdb8f67a5718ed98a2b2e6e
-include/libxslt/xsltconfig.h: 047bffd75335b6951063c467c91973a7
-include/libxslt/xsltexports.h: 207ffe4e458a8c24635b3eb24bdd8000
-include/libxslt/xsltlocale.h: b934279cc2a6556075638425e5634b07
-include/libxslt/xsltutils.h: c190bd536ce0cffe1ccba74c68f7b0c9
-include/libxslt/xsltwin32config.h: 8a3a4b0359659042a66603eb59cc4001
-lib/libexslt.lib: c491b1f54d162d9d5d42271d49315fee
-lib/libexslt_a.lib: 7be28465f2df067865a4edd9a70fca92
-lib/libxslt.lib: 5392c2fe22b1ee711bd469eb1cfdceae
-lib/libxslt_a.lib: 8f62e865d164a187b5b8c43d07315363
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/package/f8cbe39e2f6584ea05b56c1f3dd9b0a99f522727/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/package/f8cbe39e2f6584ea05b56c1f3dd9b0a99f522727/conanmanifest.txt
deleted file mode 100644
index db328396..00000000
--- a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.29/vitallium/stable/package/f8cbe39e2f6584ea05b56c1f3dd9b0a99f522727/conanmanifest.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-1499348859
-bin/libexslt.dll: d2372193eb260a7b2351402a8e14b0f8
-bin/libxslt.dll: 9f8883be8f7b3df46f0d7b1c6312e191
-conaninfo.txt: fab5795c699ab977ff1852840f4d1c77
-include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
-include/libexslt/exsltconfig.h: a36134fd73a90b0c39ba3eb4fa8833b9
-include/libexslt/exsltexports.h: 079c35b6fa14302aad0764c1dee57809
-include/libexslt/libexslt.h: 2a281322663dba16ccf7b4ed1eb5858f
-include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
-include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
-include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
-include/libxslt/extra.h: 6d41618d5d9708628ec9b33a587f06c3
-include/libxslt/functions.h: b5ad00884390fb9b86c55a2628e9f6a0
-include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
-include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
-include/libxslt/libxslt.h: 11c489a4083c7d341b70e8693676852f
-include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
-include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
-include/libxslt/pattern.h: 1d928199f1adf63d79d9ec6aa7eb060f
-include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
-include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
-include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
-include/libxslt/transform.h: 060c2e753adea589569d2835a006075e
-include/libxslt/trio.h: 7da7b1fcf378330699c7ecdd96908641
-include/libxslt/triodef.h: e41149b088de4a04c067c85969f4db3c
-include/libxslt/variables.h: ee9c8174c5a42ab6821d2e28f0a15661
-include/libxslt/win32config.h: c64153b1a2c8bba1a8aa600741f04690
-include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
-include/libxslt/xsltInternals.h: 4b93c6b8abdb8f67a5718ed98a2b2e6e
-include/libxslt/xsltconfig.h: 047bffd75335b6951063c467c91973a7
-include/libxslt/xsltexports.h: 207ffe4e458a8c24635b3eb24bdd8000
-include/libxslt/xsltlocale.h: b934279cc2a6556075638425e5634b07
-include/libxslt/xsltutils.h: c190bd536ce0cffe1ccba74c68f7b0c9
-include/libxslt/xsltwin32config.h: 8a3a4b0359659042a66603eb59cc4001
-lib/libexslt.lib: 0c2503b1eca0a09387fda8cc216dd487
-lib/libexslt_a.lib: 24a3c1b936b7433a786954203dea83cd
-lib/libxslt.lib: bfbf055a6a5fb8aa246bf4b094669fd9
-lib/libxslt_a.lib: 49538c60313cbfc216007fa1ec3fc6a7
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/export/conanmanifest.txt
new file mode 100644
index 00000000..77017cff
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/export/conanmanifest.txt
@@ -0,0 +1,4 @@
+1599827656
+LICENSE.md: d9f691088a6aaf0589397de712404f23
+conanfile.py: 1a377def24ec5c2878da1d9d97a2c39c
+export_source/patches/Add-configuration-for-profiler.diff: 5207625dda27ca22cf49f7b136dc6585
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/19663639a14063d996b277c7fac0e00264689c20/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/19663639a14063d996b277c7fac0e00264689c20/conanmanifest.txt
new file mode 100644
index 00000000..0b7f4d23
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/19663639a14063d996b277c7fac0e00264689c20/conanmanifest.txt
@@ -0,0 +1,37 @@
+1582270759
+bin/libexslt.dll: a51fe97830a208d53dcfe45d9c2e09e9
+bin/libxslt.dll: 8470c67ac38dffe68e148fb70699df40
+bin/xsltproc.exe: 1b74f23e59bb5634225f1db2bee37fa1
+conaninfo.txt: 9165bb7c04c9c150f6e1b40f11644483
+include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
+include/libexslt/exsltconfig.h: a0afe6a6e6db6ad4dc8bf86d0364f188
+include/libexslt/exsltexports.h: 03a75a174bc5b056f014e592cfd4db36
+include/libexslt/libexslt.h: 4564d6e70f8ce16e36c0bde5969fdab5
+include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
+include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
+include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
+include/libxslt/extra.h: 94fe9ce1c0c47724aae4a1bcb8c29433
+include/libxslt/functions.h: 052fd28e9971416b2bbebdc3d1103c4e
+include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
+include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
+include/libxslt/libxslt.h: b84034c942ffa214709b590b29131637
+include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
+include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
+include/libxslt/pattern.h: adf6b78e6c68a7d34ae680f6dc3f5240
+include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
+include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
+include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
+include/libxslt/transform.h: ccbcce4553f3231003b1944002814246
+include/libxslt/trio.h: 7da7b1fcf378330699c7ecdd96908641
+include/libxslt/triodef.h: e41149b088de4a04c067c85969f4db3c
+include/libxslt/variables.h: ebd9b3b1f996c4a2ed79d4473ff0fd77
+include/libxslt/win32config.h: c64153b1a2c8bba1a8aa600741f04690
+include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
+include/libxslt/xsltInternals.h: 0c245b0fcc81bf537632a45adf8fcffb
+include/libxslt/xsltconfig.h: 5a24e58adcdbe603c43a8f044ba5f763
+include/libxslt/xsltexports.h: 751f95448e71222d8e10d31ebf8822df
+include/libxslt/xsltlocale.h: d7b200e408cefe5082b15d3a5e1bf600
+include/libxslt/xsltutils.h: 5f7848088182b183e6d1fdb335b2616a
+lib/libexslt.lib: a52c95945695dc7ca60c7e026ff6e66e
+lib/libxslt.lib: 86f6c6067a0405c07a6e2e5a5a20ec75
+licenses/COPYING: 0cd9a07afbeb24026c9b03aecfeba458
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/466fc39fa8b7a19ee2095aa945fff98630acdd12/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/466fc39fa8b7a19ee2095aa945fff98630acdd12/conanmanifest.txt
new file mode 100644
index 00000000..966a5370
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/466fc39fa8b7a19ee2095aa945fff98630acdd12/conanmanifest.txt
@@ -0,0 +1,37 @@
+1582270589
+bin/libexslt.dll: de0d471ee78a2f94412e55185800e9d0
+bin/libxslt.dll: 2ae75390522642eb9c9fe475f41aa8b7
+bin/xsltproc.exe: 217e6de210dd4babad9cb1c9c205a040
+conaninfo.txt: 578af7a111c601731b3b45df8c7baa8d
+include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
+include/libexslt/exsltconfig.h: a0afe6a6e6db6ad4dc8bf86d0364f188
+include/libexslt/exsltexports.h: 03a75a174bc5b056f014e592cfd4db36
+include/libexslt/libexslt.h: 4564d6e70f8ce16e36c0bde5969fdab5
+include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
+include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
+include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
+include/libxslt/extra.h: 94fe9ce1c0c47724aae4a1bcb8c29433
+include/libxslt/functions.h: 052fd28e9971416b2bbebdc3d1103c4e
+include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
+include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
+include/libxslt/libxslt.h: b84034c942ffa214709b590b29131637
+include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
+include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
+include/libxslt/pattern.h: adf6b78e6c68a7d34ae680f6dc3f5240
+include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
+include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
+include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
+include/libxslt/transform.h: ccbcce4553f3231003b1944002814246
+include/libxslt/trio.h: 7da7b1fcf378330699c7ecdd96908641
+include/libxslt/triodef.h: e41149b088de4a04c067c85969f4db3c
+include/libxslt/variables.h: ebd9b3b1f996c4a2ed79d4473ff0fd77
+include/libxslt/win32config.h: c64153b1a2c8bba1a8aa600741f04690
+include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
+include/libxslt/xsltInternals.h: 0c245b0fcc81bf537632a45adf8fcffb
+include/libxslt/xsltconfig.h: 5a24e58adcdbe603c43a8f044ba5f763
+include/libxslt/xsltexports.h: 751f95448e71222d8e10d31ebf8822df
+include/libxslt/xsltlocale.h: d7b200e408cefe5082b15d3a5e1bf600
+include/libxslt/xsltutils.h: 5f7848088182b183e6d1fdb335b2616a
+lib/libexslt.lib: 39e6513160cc2def93d57bed1475eeeb
+lib/libxslt.lib: 5b5c6927b596acce143095bf80fceb0d
+licenses/COPYING: 0cd9a07afbeb24026c9b03aecfeba458
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/7e451536519482997336e237346b93d95b87eb32/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/7e451536519482997336e237346b93d95b87eb32/conanmanifest.txt
new file mode 100644
index 00000000..dcedf88b
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/7e451536519482997336e237346b93d95b87eb32/conanmanifest.txt
@@ -0,0 +1,130 @@
+1599827930
+bin/libexslt-0.dll: ff772bdd16e06a28bbbbbf509dace06f
+bin/libxslt-1.dll: eccc32869a72838b9a8092e40d9ee7a2
+bin/xslt-config: 438e5a0d83ce7648c0bcb64446bd2874
+bin/xsltproc.exe: 5e2fe2b2465d07b4bad0ce6a90f61702
+conaninfo.txt: c74c15f161d0366c1f8b8ae6157be410
+include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
+include/libexslt/exsltconfig.h: eb4297a735f2666c5872067c25f16005
+include/libexslt/exsltexports.h: 03a75a174bc5b056f014e592cfd4db36
+include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
+include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
+include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
+include/libxslt/extra.h: 94fe9ce1c0c47724aae4a1bcb8c29433
+include/libxslt/functions.h: 052fd28e9971416b2bbebdc3d1103c4e
+include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
+include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
+include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
+include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
+include/libxslt/pattern.h: adf6b78e6c68a7d34ae680f6dc3f5240
+include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
+include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
+include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
+include/libxslt/transform.h: ccbcce4553f3231003b1944002814246
+include/libxslt/variables.h: ebd9b3b1f996c4a2ed79d4473ff0fd77
+include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
+include/libxslt/xsltInternals.h: 0c245b0fcc81bf537632a45adf8fcffb
+include/libxslt/xsltconfig.h: b932ebe3a2edfd7b6e42c6ccab09105f
+include/libxslt/xsltexports.h: 751f95448e71222d8e10d31ebf8822df
+include/libxslt/xsltlocale.h: d7b200e408cefe5082b15d3a5e1bf600
+include/libxslt/xsltutils.h: 5f7848088182b183e6d1fdb335b2616a
+lib/libexslt.dll.a: 7bd46b7300a66f8ce59b2899c66544e2
+lib/libexslt.la: fa24e93ffd0896a1e4aeeb7bfbc39c0b
+lib/libxslt.dll.a: ceb051c0397694811816950fc670681b
+lib/pkgconfig/libexslt.pc: be5f747c35a550775cb2367bdb4a7384
+lib/pkgconfig/libxslt.pc: ebc9b2f108096aec1ddf30f4c45855ec
+lib/xsltConf.sh: baa711dd9eb12d5855ef8fa782129519
+licenses/COPYING: 0cd9a07afbeb24026c9b03aecfeba458
+share/aclocal/libxslt.m4: 7b0b8b6bd86eea30c617663c9e9439b3
+share/doc/libxslt-1.1.34/html/API.html: 205e063f09d60a36b44a61c6b7af0af9
+share/doc/libxslt-1.1.34/html/APIchunk0.html: 393346f160807a1dda5fb31574ee1457
+share/doc/libxslt-1.1.34/html/APIchunk1.html: bc91cf0e6e08b6df806ca76efb1bf6f1
+share/doc/libxslt-1.1.34/html/APIchunk10.html: b2989e9c9c581006aecf89fe5360adbd
+share/doc/libxslt-1.1.34/html/APIchunk11.html: 3d13e19d8f480f37025f27d708c05fab
+share/doc/libxslt-1.1.34/html/APIchunk12.html: 1257ecf31f3ce181cac700a9b1674484
+share/doc/libxslt-1.1.34/html/APIchunk2.html: 017db5ec517e094b99eeea4b7f494348
+share/doc/libxslt-1.1.34/html/APIchunk3.html: 951071214af1942ef8d12c8d6e87f2a3
+share/doc/libxslt-1.1.34/html/APIchunk4.html: 035ac12ab5d1974ebf1a029ac1dee309
+share/doc/libxslt-1.1.34/html/APIchunk5.html: 1e751df6345f2e6ae2f80d01ea4699b9
+share/doc/libxslt-1.1.34/html/APIchunk6.html: 3748fd39dfb4dc99453e0287548d42ca
+share/doc/libxslt-1.1.34/html/APIchunk7.html: bb08a461eb51ca86034d7898eaa9779c
+share/doc/libxslt-1.1.34/html/APIchunk8.html: 80b83f24130a9adc03151245c71be0b4
+share/doc/libxslt-1.1.34/html/APIchunk9.html: a45286d30316b24772a148d9ab3b107e
+share/doc/libxslt-1.1.34/html/APIconstructors.html: bbacba9196901ab4df80744ded578d38
+share/doc/libxslt-1.1.34/html/APIfiles.html: 2eab4f8035f681bd9e8428311ba452f5
+share/doc/libxslt-1.1.34/html/APIfunctions.html: 4ab0b09bfc13d94f19dc2e390c1f54c8
+share/doc/libxslt-1.1.34/html/APIsymbols.html: b1488e9773ab063203a9a9660e34c376
+share/doc/libxslt-1.1.34/html/EXSLT/APIchunk0.html: 7931b430411ef347e2080f39f7bbc6f7
+share/doc/libxslt-1.1.34/html/EXSLT/APIconstructors.html: 75b44d45225e2435c8cbccdb6aa617f0
+share/doc/libxslt-1.1.34/html/EXSLT/APIfiles.html: 8aafc65876afb28aff473f1502d067e8
+share/doc/libxslt-1.1.34/html/EXSLT/APIfunctions.html: a123fcaaa9396c834261eb0f734f65cf
+share/doc/libxslt-1.1.34/html/EXSLT/APIsymbols.html: 6669114987760e2853aff651b6c22377
+share/doc/libxslt-1.1.34/html/EXSLT/bugs.html: d7a0c23b923175a4055c311c219b3137
+share/doc/libxslt-1.1.34/html/EXSLT/docs.html: fc3defa0e87648748becf6092ec86487
+share/doc/libxslt-1.1.34/html/EXSLT/downloads.html: 1393428e523072adf4fcb9433fb71273
+share/doc/libxslt-1.1.34/html/EXSLT/exslt.html: b267dcf1f3e36874bbcb67db54447411
+share/doc/libxslt-1.1.34/html/EXSLT/help.html: c7e39df0856121711d7bb92a408ed320
+share/doc/libxslt-1.1.34/html/EXSLT/index.html: 64d9d65df45301a81c181d213ceef803
+share/doc/libxslt-1.1.34/html/EXSLT/intro.html: 52af4215ed80a6e36269ea879dbf23e3
+share/doc/libxslt-1.1.34/html/FAQ.html: 02feaf8ed528b4fffb1537866b1bd55f
+share/doc/libxslt-1.1.34/html/Libxslt-Logo-180x168.gif: e6f8bb7e4a5a426380d387adaedadad9
+share/doc/libxslt-1.1.34/html/Libxslt-Logo-90x34.gif: 6b3ac58ce6c3e622db3dbf83d127f1ac
+share/doc/libxslt-1.1.34/html/bugs.html: 59f370f68224527bd966172ad84720fd
+share/doc/libxslt-1.1.34/html/contexts.gif: 8d882ee509aaba54abf791a312fdb617
+share/doc/libxslt-1.1.34/html/contribs.html: 06426656757dfa9d63e2e25f7cc86496
+share/doc/libxslt-1.1.34/html/docbook.html: 9ca15cdd191b5acf369be447c4f27044
+share/doc/libxslt-1.1.34/html/docs.html: 9869f684c46bf9159de17319e94118a2
+share/doc/libxslt-1.1.34/html/downloads.html: d1088704f6d439cec1a0a1b6444d50ba
+share/doc/libxslt-1.1.34/html/extensions.html: bf062b7b72aeffcf356d06d7c859d46d
+share/doc/libxslt-1.1.34/html/help.html: 0230faa6b8697315ba13452f96d66192
+share/doc/libxslt-1.1.34/html/html/book1.html: 4ac64efce7a076016eee8b91c65f19d4
+share/doc/libxslt-1.1.34/html/html/home.png: f6192f4292d744423df690e785d60fdf
+share/doc/libxslt-1.1.34/html/html/index.html: 4ac64efce7a076016eee8b91c65f19d4
+share/doc/libxslt-1.1.34/html/html/left.png: f771308152ab24a69682daed70ce136d
+share/doc/libxslt-1.1.34/html/html/libxslt-attributes.html: a2dc8fa8e1482a6614e2febd235e9b72
+share/doc/libxslt-1.1.34/html/html/libxslt-documents.html: ff5544c5c06db000e21cffc45496e0e3
+share/doc/libxslt-1.1.34/html/html/libxslt-extensions.html: bcda217cdad6c77d228e6540474e510f
+share/doc/libxslt-1.1.34/html/html/libxslt-extra.html: 49d72e4b1f453b324c9d73ddbabbccd6
+share/doc/libxslt-1.1.34/html/html/libxslt-functions.html: 30a16899d9a4aff2819a25301dcfa599
+share/doc/libxslt-1.1.34/html/html/libxslt-imports.html: 496f606d9a344631b9bba167b4c9f14d
+share/doc/libxslt-1.1.34/html/html/libxslt-keys.html: 92ed5acbac225c7cb4ace6ff02d41e69
+share/doc/libxslt-1.1.34/html/html/libxslt-lib.html: 4ac64efce7a076016eee8b91c65f19d4
+share/doc/libxslt-1.1.34/html/html/libxslt-namespaces.html: 9f9397c7bb231cf0f99fe99457c5f8d8
+share/doc/libxslt-1.1.34/html/html/libxslt-numbersInternals.html: 69c3debdded54f0ea07690e3b6a59fbb
+share/doc/libxslt-1.1.34/html/html/libxslt-pattern.html: 908ed0ae7ca6e3e805c682a0191a0d38
+share/doc/libxslt-1.1.34/html/html/libxslt-preproc.html: 3afc35f88d6394abb5344420696d560d
+share/doc/libxslt-1.1.34/html/html/libxslt-security.html: e2aa152b3b51ba0e836f70e5ffb07086
+share/doc/libxslt-1.1.34/html/html/libxslt-templates.html: a62b46da774c809cca2108b24ca7683c
+share/doc/libxslt-1.1.34/html/html/libxslt-transform.html: d5dd4737d05b79fecb4641cb9d862ce4
+share/doc/libxslt-1.1.34/html/html/libxslt-variables.html: e8af85513e6e615ac9baa687cc76da78
+share/doc/libxslt-1.1.34/html/html/libxslt-xslt.html: efc4daad4e8a928c3d4a6ed699411af1
+share/doc/libxslt-1.1.34/html/html/libxslt-xsltInternals.html: bdeaba0346b5eeb0fe469eb6b5e5fe8a
+share/doc/libxslt-1.1.34/html/html/libxslt-xsltexports.html: 94a5ea4215bd82f9282919092f4abcf6
+share/doc/libxslt-1.1.34/html/html/libxslt-xsltlocale.html: f4416a46860870961418ef64d4fc191a
+share/doc/libxslt-1.1.34/html/html/libxslt-xsltutils.html: 37364ec86deb0b6d41a65f012fccdbb5
+share/doc/libxslt-1.1.34/html/html/right.png: ebd7e6d206d73850d77d305ab548f957
+share/doc/libxslt-1.1.34/html/html/up.png: 2f07d9272deb4ae870ca6821117877fa
+share/doc/libxslt-1.1.34/html/index.html: 28ef54704508981bac11ae159e5a1bdb
+share/doc/libxslt-1.1.34/html/internals.html: f009fed1b132f80788bfcc8e6ff735f9
+share/doc/libxslt-1.1.34/html/intro.html: ca05691aa5682537e9e4d1c62f9e7a6a
+share/doc/libxslt-1.1.34/html/news.html: c911411e4f3c62463442db3471622e47
+share/doc/libxslt-1.1.34/html/node.gif: e0b48d09fa64e4a64831c42c4f9e6331
+share/doc/libxslt-1.1.34/html/object.gif: 879905dbfdc584f7a8543b7804cc3ff4
+share/doc/libxslt-1.1.34/html/processing.gif: e6924e110962e92a04d6d3f1f1196b31
+share/doc/libxslt-1.1.34/html/python.html: b96f9c0b03998d5eab3d0becdda47f8c
+share/doc/libxslt-1.1.34/html/redhat.gif: dd0216f442bf6845c103aba1b4bcb869
+share/doc/libxslt-1.1.34/html/smallfootonly.gif: e92b022a99a76d6fceeb35576bb7718f
+share/doc/libxslt-1.1.34/html/stylesheet.gif: 15a7ac6844ef2b2a7f601ed6cb6cb277
+share/doc/libxslt-1.1.34/html/templates.gif: e1ac04018d8f602adbd28a72153f9956
+share/doc/libxslt-1.1.34/html/tutorial/libxslt_tutorial.c: 0c3d2acbfb0be23b984c695600170d16
+share/doc/libxslt-1.1.34/html/tutorial/libxslttutorial.html: ee8ec694b4a88c4b6503f5301c998ecd
+share/doc/libxslt-1.1.34/html/tutorial/libxslttutorial.xml: 7f3bb19c2dcc54c5f76e953a65dbd339
+share/doc/libxslt-1.1.34/html/tutorial2/libxslt_pipes.c: 01a91d21b5e9a1e2259752d5325feaf0
+share/doc/libxslt-1.1.34/html/tutorial2/libxslt_pipes.html: ac0dc678b3ab0da56681555c51e6fa64
+share/doc/libxslt-1.1.34/html/tutorial2/libxslt_pipes.xml: 0c0faafe5595b19ebe09f6110fe3a7fd
+share/doc/libxslt-1.1.34/html/xslt.html: 1deceec55c7f85078216bf23dde147d9
+share/doc/libxslt-1.1.34/html/xsltproc.html: fa713b8a3fd6b30a19319a821d7bb238
+share/doc/libxslt-1.1.34/html/xsltproc2.html: 860eef94cf4ea84717452da3b6b0019e
+share/man/man1/xsltproc.1: d8ec831afeed91a84b8b7fc32cb73a4e
+share/man/man3/libexslt.3: c7089bab11720e9c9c17962a68c528ff
+share/man/man3/libxslt.3: e4962632ed2590adad3621054417bd2a
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/8c83c725f7fefe466a2c6c18ff17d3b0b91202c6/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/8c83c725f7fefe466a2c6c18ff17d3b0b91202c6/conanmanifest.txt
new file mode 100644
index 00000000..30633666
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/8c83c725f7fefe466a2c6c18ff17d3b0b91202c6/conanmanifest.txt
@@ -0,0 +1,37 @@
+1582271158
+bin/libexslt.dll: e496cd641e119c9afb8f29b557107fac
+bin/libxslt.dll: 1cbe999cd3f4e41ecc50eb8647c9a1be
+bin/xsltproc.exe: 4e016b0c46f630144ab003984bc6ceee
+conaninfo.txt: 4818881c8b2f14e0ec8da1810712bcb5
+include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
+include/libexslt/exsltconfig.h: a0afe6a6e6db6ad4dc8bf86d0364f188
+include/libexslt/exsltexports.h: 03a75a174bc5b056f014e592cfd4db36
+include/libexslt/libexslt.h: 4564d6e70f8ce16e36c0bde5969fdab5
+include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
+include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
+include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
+include/libxslt/extra.h: 94fe9ce1c0c47724aae4a1bcb8c29433
+include/libxslt/functions.h: 052fd28e9971416b2bbebdc3d1103c4e
+include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
+include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
+include/libxslt/libxslt.h: b84034c942ffa214709b590b29131637
+include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
+include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
+include/libxslt/pattern.h: adf6b78e6c68a7d34ae680f6dc3f5240
+include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
+include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
+include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
+include/libxslt/transform.h: ccbcce4553f3231003b1944002814246
+include/libxslt/trio.h: 7da7b1fcf378330699c7ecdd96908641
+include/libxslt/triodef.h: e41149b088de4a04c067c85969f4db3c
+include/libxslt/variables.h: ebd9b3b1f996c4a2ed79d4473ff0fd77
+include/libxslt/win32config.h: c64153b1a2c8bba1a8aa600741f04690
+include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
+include/libxslt/xsltInternals.h: 0c245b0fcc81bf537632a45adf8fcffb
+include/libxslt/xsltconfig.h: 5a24e58adcdbe603c43a8f044ba5f763
+include/libxslt/xsltexports.h: 751f95448e71222d8e10d31ebf8822df
+include/libxslt/xsltlocale.h: d7b200e408cefe5082b15d3a5e1bf600
+include/libxslt/xsltutils.h: 5f7848088182b183e6d1fdb335b2616a
+lib/libexslt.lib: db86a5f1d7a41d45971e749994a5add2
+lib/libxslt.lib: eccf05fb19bcc4df01d3b34360aa0122
+licenses/COPYING: 0cd9a07afbeb24026c9b03aecfeba458
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/a19b1f00428920c59efe23b98acbe83d331049b4/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/a19b1f00428920c59efe23b98acbe83d331049b4/conanmanifest.txt
new file mode 100644
index 00000000..6e45a634
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/a19b1f00428920c59efe23b98acbe83d331049b4/conanmanifest.txt
@@ -0,0 +1,37 @@
+1582271502
+bin/libexslt.dll: dfa355cf061960fb9ac90eb96978efe2
+bin/libxslt.dll: 66d893778ed2fdb0996d65cfafde86c8
+bin/xsltproc.exe: 9758509e1893f33b8a72fac95277173d
+conaninfo.txt: 925c32911a6c22d5017050c029b235fe
+include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
+include/libexslt/exsltconfig.h: a0afe6a6e6db6ad4dc8bf86d0364f188
+include/libexslt/exsltexports.h: 03a75a174bc5b056f014e592cfd4db36
+include/libexslt/libexslt.h: 4564d6e70f8ce16e36c0bde5969fdab5
+include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
+include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
+include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
+include/libxslt/extra.h: 94fe9ce1c0c47724aae4a1bcb8c29433
+include/libxslt/functions.h: 052fd28e9971416b2bbebdc3d1103c4e
+include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
+include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
+include/libxslt/libxslt.h: b84034c942ffa214709b590b29131637
+include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
+include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
+include/libxslt/pattern.h: adf6b78e6c68a7d34ae680f6dc3f5240
+include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
+include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
+include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
+include/libxslt/transform.h: ccbcce4553f3231003b1944002814246
+include/libxslt/trio.h: 7da7b1fcf378330699c7ecdd96908641
+include/libxslt/triodef.h: e41149b088de4a04c067c85969f4db3c
+include/libxslt/variables.h: ebd9b3b1f996c4a2ed79d4473ff0fd77
+include/libxslt/win32config.h: c64153b1a2c8bba1a8aa600741f04690
+include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
+include/libxslt/xsltInternals.h: 0c245b0fcc81bf537632a45adf8fcffb
+include/libxslt/xsltconfig.h: 5a24e58adcdbe603c43a8f044ba5f763
+include/libxslt/xsltexports.h: 751f95448e71222d8e10d31ebf8822df
+include/libxslt/xsltlocale.h: d7b200e408cefe5082b15d3a5e1bf600
+include/libxslt/xsltutils.h: 5f7848088182b183e6d1fdb335b2616a
+lib/libexslt.lib: f6157fec5ccb3854968dc422548971f3
+lib/libxslt.lib: 63331e57a1bc5adaa352f3ee2c68b5cd
+licenses/COPYING: 0cd9a07afbeb24026c9b03aecfeba458
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/d4099b870b7e1ab748c13f5751cb2d32f893a78f/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/d4099b870b7e1ab748c13f5751cb2d32f893a78f/conanmanifest.txt
new file mode 100644
index 00000000..e1a69a64
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/d4099b870b7e1ab748c13f5751cb2d32f893a78f/conanmanifest.txt
@@ -0,0 +1,130 @@
+1599827795
+bin/libexslt-0.dll: a3e52849942745520c13c2d20135ada7
+bin/libxslt-1.dll: e6a19c28494ef3e908d869598b79c97a
+bin/xslt-config: bf300e18f495cea8591f79fdb0520d06
+bin/xsltproc.exe: 0d34ec7f2847d75a4140d5221366ae75
+conaninfo.txt: d905a86a351921bb21c973326d39e9de
+include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
+include/libexslt/exsltconfig.h: eb4297a735f2666c5872067c25f16005
+include/libexslt/exsltexports.h: 03a75a174bc5b056f014e592cfd4db36
+include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
+include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
+include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
+include/libxslt/extra.h: 94fe9ce1c0c47724aae4a1bcb8c29433
+include/libxslt/functions.h: 052fd28e9971416b2bbebdc3d1103c4e
+include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
+include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
+include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
+include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
+include/libxslt/pattern.h: adf6b78e6c68a7d34ae680f6dc3f5240
+include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
+include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
+include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
+include/libxslt/transform.h: ccbcce4553f3231003b1944002814246
+include/libxslt/variables.h: ebd9b3b1f996c4a2ed79d4473ff0fd77
+include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
+include/libxslt/xsltInternals.h: 0c245b0fcc81bf537632a45adf8fcffb
+include/libxslt/xsltconfig.h: 77d836d8d0a9b2fdd6bea3d379696d80
+include/libxslt/xsltexports.h: 751f95448e71222d8e10d31ebf8822df
+include/libxslt/xsltlocale.h: d7b200e408cefe5082b15d3a5e1bf600
+include/libxslt/xsltutils.h: 5f7848088182b183e6d1fdb335b2616a
+lib/libexslt.dll.a: f86f6868818b72c97c977e182700d479
+lib/libexslt.la: d0c4257b491be8cf3c45d5e01b7ffb96
+lib/libxslt.dll.a: 461a9372775da06a0747728a1b505ae2
+lib/pkgconfig/libexslt.pc: ba1963709ee3ecc7323aaf188404f144
+lib/pkgconfig/libxslt.pc: 9ef33a36710bc31556d1038e27e2510d
+lib/xsltConf.sh: 9b2f5a93679c6e963d8bf3d6efa46591
+licenses/COPYING: 0cd9a07afbeb24026c9b03aecfeba458
+share/aclocal/libxslt.m4: 7b0b8b6bd86eea30c617663c9e9439b3
+share/doc/libxslt-1.1.34/html/API.html: 205e063f09d60a36b44a61c6b7af0af9
+share/doc/libxslt-1.1.34/html/APIchunk0.html: 393346f160807a1dda5fb31574ee1457
+share/doc/libxslt-1.1.34/html/APIchunk1.html: bc91cf0e6e08b6df806ca76efb1bf6f1
+share/doc/libxslt-1.1.34/html/APIchunk10.html: b2989e9c9c581006aecf89fe5360adbd
+share/doc/libxslt-1.1.34/html/APIchunk11.html: 3d13e19d8f480f37025f27d708c05fab
+share/doc/libxslt-1.1.34/html/APIchunk12.html: 1257ecf31f3ce181cac700a9b1674484
+share/doc/libxslt-1.1.34/html/APIchunk2.html: 017db5ec517e094b99eeea4b7f494348
+share/doc/libxslt-1.1.34/html/APIchunk3.html: 951071214af1942ef8d12c8d6e87f2a3
+share/doc/libxslt-1.1.34/html/APIchunk4.html: 035ac12ab5d1974ebf1a029ac1dee309
+share/doc/libxslt-1.1.34/html/APIchunk5.html: 1e751df6345f2e6ae2f80d01ea4699b9
+share/doc/libxslt-1.1.34/html/APIchunk6.html: 3748fd39dfb4dc99453e0287548d42ca
+share/doc/libxslt-1.1.34/html/APIchunk7.html: bb08a461eb51ca86034d7898eaa9779c
+share/doc/libxslt-1.1.34/html/APIchunk8.html: 80b83f24130a9adc03151245c71be0b4
+share/doc/libxslt-1.1.34/html/APIchunk9.html: a45286d30316b24772a148d9ab3b107e
+share/doc/libxslt-1.1.34/html/APIconstructors.html: bbacba9196901ab4df80744ded578d38
+share/doc/libxslt-1.1.34/html/APIfiles.html: 2eab4f8035f681bd9e8428311ba452f5
+share/doc/libxslt-1.1.34/html/APIfunctions.html: 4ab0b09bfc13d94f19dc2e390c1f54c8
+share/doc/libxslt-1.1.34/html/APIsymbols.html: b1488e9773ab063203a9a9660e34c376
+share/doc/libxslt-1.1.34/html/EXSLT/APIchunk0.html: 7931b430411ef347e2080f39f7bbc6f7
+share/doc/libxslt-1.1.34/html/EXSLT/APIconstructors.html: 75b44d45225e2435c8cbccdb6aa617f0
+share/doc/libxslt-1.1.34/html/EXSLT/APIfiles.html: 8aafc65876afb28aff473f1502d067e8
+share/doc/libxslt-1.1.34/html/EXSLT/APIfunctions.html: a123fcaaa9396c834261eb0f734f65cf
+share/doc/libxslt-1.1.34/html/EXSLT/APIsymbols.html: 6669114987760e2853aff651b6c22377
+share/doc/libxslt-1.1.34/html/EXSLT/bugs.html: d7a0c23b923175a4055c311c219b3137
+share/doc/libxslt-1.1.34/html/EXSLT/docs.html: fc3defa0e87648748becf6092ec86487
+share/doc/libxslt-1.1.34/html/EXSLT/downloads.html: 1393428e523072adf4fcb9433fb71273
+share/doc/libxslt-1.1.34/html/EXSLT/exslt.html: b267dcf1f3e36874bbcb67db54447411
+share/doc/libxslt-1.1.34/html/EXSLT/help.html: c7e39df0856121711d7bb92a408ed320
+share/doc/libxslt-1.1.34/html/EXSLT/index.html: 64d9d65df45301a81c181d213ceef803
+share/doc/libxslt-1.1.34/html/EXSLT/intro.html: 52af4215ed80a6e36269ea879dbf23e3
+share/doc/libxslt-1.1.34/html/FAQ.html: 02feaf8ed528b4fffb1537866b1bd55f
+share/doc/libxslt-1.1.34/html/Libxslt-Logo-180x168.gif: e6f8bb7e4a5a426380d387adaedadad9
+share/doc/libxslt-1.1.34/html/Libxslt-Logo-90x34.gif: 6b3ac58ce6c3e622db3dbf83d127f1ac
+share/doc/libxslt-1.1.34/html/bugs.html: 59f370f68224527bd966172ad84720fd
+share/doc/libxslt-1.1.34/html/contexts.gif: 8d882ee509aaba54abf791a312fdb617
+share/doc/libxslt-1.1.34/html/contribs.html: 06426656757dfa9d63e2e25f7cc86496
+share/doc/libxslt-1.1.34/html/docbook.html: 9ca15cdd191b5acf369be447c4f27044
+share/doc/libxslt-1.1.34/html/docs.html: 9869f684c46bf9159de17319e94118a2
+share/doc/libxslt-1.1.34/html/downloads.html: d1088704f6d439cec1a0a1b6444d50ba
+share/doc/libxslt-1.1.34/html/extensions.html: bf062b7b72aeffcf356d06d7c859d46d
+share/doc/libxslt-1.1.34/html/help.html: 0230faa6b8697315ba13452f96d66192
+share/doc/libxslt-1.1.34/html/html/book1.html: 4ac64efce7a076016eee8b91c65f19d4
+share/doc/libxslt-1.1.34/html/html/home.png: f6192f4292d744423df690e785d60fdf
+share/doc/libxslt-1.1.34/html/html/index.html: 4ac64efce7a076016eee8b91c65f19d4
+share/doc/libxslt-1.1.34/html/html/left.png: f771308152ab24a69682daed70ce136d
+share/doc/libxslt-1.1.34/html/html/libxslt-attributes.html: a2dc8fa8e1482a6614e2febd235e9b72
+share/doc/libxslt-1.1.34/html/html/libxslt-documents.html: ff5544c5c06db000e21cffc45496e0e3
+share/doc/libxslt-1.1.34/html/html/libxslt-extensions.html: bcda217cdad6c77d228e6540474e510f
+share/doc/libxslt-1.1.34/html/html/libxslt-extra.html: 49d72e4b1f453b324c9d73ddbabbccd6
+share/doc/libxslt-1.1.34/html/html/libxslt-functions.html: 30a16899d9a4aff2819a25301dcfa599
+share/doc/libxslt-1.1.34/html/html/libxslt-imports.html: 496f606d9a344631b9bba167b4c9f14d
+share/doc/libxslt-1.1.34/html/html/libxslt-keys.html: 92ed5acbac225c7cb4ace6ff02d41e69
+share/doc/libxslt-1.1.34/html/html/libxslt-lib.html: 4ac64efce7a076016eee8b91c65f19d4
+share/doc/libxslt-1.1.34/html/html/libxslt-namespaces.html: 9f9397c7bb231cf0f99fe99457c5f8d8
+share/doc/libxslt-1.1.34/html/html/libxslt-numbersInternals.html: 69c3debdded54f0ea07690e3b6a59fbb
+share/doc/libxslt-1.1.34/html/html/libxslt-pattern.html: 908ed0ae7ca6e3e805c682a0191a0d38
+share/doc/libxslt-1.1.34/html/html/libxslt-preproc.html: 3afc35f88d6394abb5344420696d560d
+share/doc/libxslt-1.1.34/html/html/libxslt-security.html: e2aa152b3b51ba0e836f70e5ffb07086
+share/doc/libxslt-1.1.34/html/html/libxslt-templates.html: a62b46da774c809cca2108b24ca7683c
+share/doc/libxslt-1.1.34/html/html/libxslt-transform.html: d5dd4737d05b79fecb4641cb9d862ce4
+share/doc/libxslt-1.1.34/html/html/libxslt-variables.html: e8af85513e6e615ac9baa687cc76da78
+share/doc/libxslt-1.1.34/html/html/libxslt-xslt.html: efc4daad4e8a928c3d4a6ed699411af1
+share/doc/libxslt-1.1.34/html/html/libxslt-xsltInternals.html: bdeaba0346b5eeb0fe469eb6b5e5fe8a
+share/doc/libxslt-1.1.34/html/html/libxslt-xsltexports.html: 94a5ea4215bd82f9282919092f4abcf6
+share/doc/libxslt-1.1.34/html/html/libxslt-xsltlocale.html: f4416a46860870961418ef64d4fc191a
+share/doc/libxslt-1.1.34/html/html/libxslt-xsltutils.html: 37364ec86deb0b6d41a65f012fccdbb5
+share/doc/libxslt-1.1.34/html/html/right.png: ebd7e6d206d73850d77d305ab548f957
+share/doc/libxslt-1.1.34/html/html/up.png: 2f07d9272deb4ae870ca6821117877fa
+share/doc/libxslt-1.1.34/html/index.html: 28ef54704508981bac11ae159e5a1bdb
+share/doc/libxslt-1.1.34/html/internals.html: f009fed1b132f80788bfcc8e6ff735f9
+share/doc/libxslt-1.1.34/html/intro.html: ca05691aa5682537e9e4d1c62f9e7a6a
+share/doc/libxslt-1.1.34/html/news.html: c911411e4f3c62463442db3471622e47
+share/doc/libxslt-1.1.34/html/node.gif: e0b48d09fa64e4a64831c42c4f9e6331
+share/doc/libxslt-1.1.34/html/object.gif: 879905dbfdc584f7a8543b7804cc3ff4
+share/doc/libxslt-1.1.34/html/processing.gif: e6924e110962e92a04d6d3f1f1196b31
+share/doc/libxslt-1.1.34/html/python.html: b96f9c0b03998d5eab3d0becdda47f8c
+share/doc/libxslt-1.1.34/html/redhat.gif: dd0216f442bf6845c103aba1b4bcb869
+share/doc/libxslt-1.1.34/html/smallfootonly.gif: e92b022a99a76d6fceeb35576bb7718f
+share/doc/libxslt-1.1.34/html/stylesheet.gif: 15a7ac6844ef2b2a7f601ed6cb6cb277
+share/doc/libxslt-1.1.34/html/templates.gif: e1ac04018d8f602adbd28a72153f9956
+share/doc/libxslt-1.1.34/html/tutorial/libxslt_tutorial.c: 0c3d2acbfb0be23b984c695600170d16
+share/doc/libxslt-1.1.34/html/tutorial/libxslttutorial.html: ee8ec694b4a88c4b6503f5301c998ecd
+share/doc/libxslt-1.1.34/html/tutorial/libxslttutorial.xml: 7f3bb19c2dcc54c5f76e953a65dbd339
+share/doc/libxslt-1.1.34/html/tutorial2/libxslt_pipes.c: 01a91d21b5e9a1e2259752d5325feaf0
+share/doc/libxslt-1.1.34/html/tutorial2/libxslt_pipes.html: ac0dc678b3ab0da56681555c51e6fa64
+share/doc/libxslt-1.1.34/html/tutorial2/libxslt_pipes.xml: 0c0faafe5595b19ebe09f6110fe3a7fd
+share/doc/libxslt-1.1.34/html/xslt.html: 1deceec55c7f85078216bf23dde147d9
+share/doc/libxslt-1.1.34/html/xsltproc.html: fa713b8a3fd6b30a19319a821d7bb238
+share/doc/libxslt-1.1.34/html/xsltproc2.html: 860eef94cf4ea84717452da3b6b0019e
+share/man/man1/xsltproc.1: d8ec831afeed91a84b8b7fc32cb73a4e
+share/man/man3/libexslt.3: c7089bab11720e9c9c17962a68c528ff
+share/man/man3/libxslt.3: e4962632ed2590adad3621054417bd2a
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/d9686cd1257700d08189681d9907564e4a9147cb/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/d9686cd1257700d08189681d9907564e4a9147cb/conanmanifest.txt
new file mode 100644
index 00000000..8422de36
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/d9686cd1257700d08189681d9907564e4a9147cb/conanmanifest.txt
@@ -0,0 +1,37 @@
+1582271394
+bin/libexslt.dll: 1a591c14ad6a05a2fe4a20cf40573e75
+bin/libxslt.dll: 051a19fc29aff43011488ea49d2cf353
+bin/xsltproc.exe: 1105ea2e3f79fdd698feb5fa8858e01e
+conaninfo.txt: f5d7a59989b8119bea8988657e0ba42c
+include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
+include/libexslt/exsltconfig.h: a0afe6a6e6db6ad4dc8bf86d0364f188
+include/libexslt/exsltexports.h: 03a75a174bc5b056f014e592cfd4db36
+include/libexslt/libexslt.h: 4564d6e70f8ce16e36c0bde5969fdab5
+include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
+include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
+include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
+include/libxslt/extra.h: 94fe9ce1c0c47724aae4a1bcb8c29433
+include/libxslt/functions.h: 052fd28e9971416b2bbebdc3d1103c4e
+include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
+include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
+include/libxslt/libxslt.h: b84034c942ffa214709b590b29131637
+include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
+include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
+include/libxslt/pattern.h: adf6b78e6c68a7d34ae680f6dc3f5240
+include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
+include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
+include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
+include/libxslt/transform.h: ccbcce4553f3231003b1944002814246
+include/libxslt/trio.h: 7da7b1fcf378330699c7ecdd96908641
+include/libxslt/triodef.h: e41149b088de4a04c067c85969f4db3c
+include/libxslt/variables.h: ebd9b3b1f996c4a2ed79d4473ff0fd77
+include/libxslt/win32config.h: c64153b1a2c8bba1a8aa600741f04690
+include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
+include/libxslt/xsltInternals.h: 0c245b0fcc81bf537632a45adf8fcffb
+include/libxslt/xsltconfig.h: 5a24e58adcdbe603c43a8f044ba5f763
+include/libxslt/xsltexports.h: 751f95448e71222d8e10d31ebf8822df
+include/libxslt/xsltlocale.h: d7b200e408cefe5082b15d3a5e1bf600
+include/libxslt/xsltutils.h: 5f7848088182b183e6d1fdb335b2616a
+lib/libexslt.lib: b10239833b6a5f4f489202cb8b2256bd
+lib/libxslt.lib: 0fcb41267f05f802050235fa09e0688f
+licenses/COPYING: 0cd9a07afbeb24026c9b03aecfeba458
diff --git a/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/f8cbe39e2f6584ea05b56c1f3dd9b0a99f522727/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/f8cbe39e2f6584ea05b56c1f3dd9b0a99f522727/conanmanifest.txt
new file mode 100644
index 00000000..bde173da
--- /dev/null
+++ b/coin/provisioning/common/windows/conan_manifests/libxslt/1.1.34/qtproject/stable/package/f8cbe39e2f6584ea05b56c1f3dd9b0a99f522727/conanmanifest.txt
@@ -0,0 +1,37 @@
+1582270972
+bin/libexslt.dll: 6b7c76739d8c733ed320960c846691f9
+bin/libxslt.dll: 86136a3af24b1959ec96b09b1a1a92b8
+bin/xsltproc.exe: 4d2ab196d60209ce656167cb805c78d4
+conaninfo.txt: 1b228d4732e22d46c6bbbcd97ec4884d
+include/libexslt/exslt.h: f01af3bf058520059ba6d50f42133717
+include/libexslt/exsltconfig.h: a0afe6a6e6db6ad4dc8bf86d0364f188
+include/libexslt/exsltexports.h: 03a75a174bc5b056f014e592cfd4db36
+include/libexslt/libexslt.h: 4564d6e70f8ce16e36c0bde5969fdab5
+include/libxslt/attributes.h: 32e43c08f66b85266c391301d322a21f
+include/libxslt/documents.h: 22a35bd1102fd1ac301e50cf650a8b8a
+include/libxslt/extensions.h: 0396b6be07f707b0c6ee171a63b2e520
+include/libxslt/extra.h: 94fe9ce1c0c47724aae4a1bcb8c29433
+include/libxslt/functions.h: 052fd28e9971416b2bbebdc3d1103c4e
+include/libxslt/imports.h: 66e26ad969e3c37fdeedcbc2716d7cf3
+include/libxslt/keys.h: 77a11ee3de841d02d3461b829cfcc11e
+include/libxslt/libxslt.h: b84034c942ffa214709b590b29131637
+include/libxslt/namespaces.h: c784b4b8e80274491fe023ce26d4847b
+include/libxslt/numbersInternals.h: 27c2c21ab1535f84710fe1c8c8829018
+include/libxslt/pattern.h: adf6b78e6c68a7d34ae680f6dc3f5240
+include/libxslt/preproc.h: 829de337aca8b15f699708e6b7340549
+include/libxslt/security.h: 1b24b61ea6afe01d18c647c94b1245c7
+include/libxslt/templates.h: 6901f4c8fad239b588b9f6d4cdfef5ac
+include/libxslt/transform.h: ccbcce4553f3231003b1944002814246
+include/libxslt/trio.h: 7da7b1fcf378330699c7ecdd96908641
+include/libxslt/triodef.h: e41149b088de4a04c067c85969f4db3c
+include/libxslt/variables.h: ebd9b3b1f996c4a2ed79d4473ff0fd77
+include/libxslt/win32config.h: c64153b1a2c8bba1a8aa600741f04690
+include/libxslt/xslt.h: 0c08b8e7223b72f822a58457520b6387
+include/libxslt/xsltInternals.h: 0c245b0fcc81bf537632a45adf8fcffb
+include/libxslt/xsltconfig.h: 5a24e58adcdbe603c43a8f044ba5f763
+include/libxslt/xsltexports.h: 751f95448e71222d8e10d31ebf8822df
+include/libxslt/xsltlocale.h: d7b200e408cefe5082b15d3a5e1bf600
+include/libxslt/xsltutils.h: 5f7848088182b183e6d1fdb335b2616a
+lib/libexslt.lib: 84550d24382766924a35e8f94b129f9f
+lib/libxslt.lib: 00cd024fbaffc4c4d8c2925a2d968b7c
+licenses/COPYING: 0cd9a07afbeb24026c9b03aecfeba458
diff --git a/coin/provisioning/common/windows/conan_manifests/zlib/1.2.8/annulen/stable/export/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/zlib/1.2.8/annulen/stable/export/conanmanifest.txt
deleted file mode 100644
index d7806e94..00000000
--- a/coin/provisioning/common/windows/conan_manifests/zlib/1.2.8/annulen/stable/export/conanmanifest.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-1479836260
-CMakeLists.txt: 6ce169fb0b2f6eaa5d054d1dc007fc81
-FindZLIB.cmake: 4b85e65d40b77da736416f28e5931e56
-conanfile.py: e8de244463aa84c51238f1fd22a1ae00 \ No newline at end of file
diff --git a/coin/provisioning/common/windows/conan_manifests/zlib/1.2.8/annulen/stable/package/a990f14748d35a55b067140a0973ea7204f67350/conanmanifest.txt b/coin/provisioning/common/windows/conan_manifests/zlib/1.2.8/annulen/stable/package/a990f14748d35a55b067140a0973ea7204f67350/conanmanifest.txt
deleted file mode 100644
index 88b5c152..00000000
--- a/coin/provisioning/common/windows/conan_manifests/zlib/1.2.8/annulen/stable/package/a990f14748d35a55b067140a0973ea7204f67350/conanmanifest.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-1479836298
-FindZLIB.cmake: 4b85e65d40b77da736416f28e5931e56
-conaninfo.txt: e2f8774ada0606cca4800e6f6987394e
-include/blast.h: fa67f1dd7e681b188546423884fe25ec
-include/crc32.h: f28d16b67efecdfafa0d816a7d982124
-include/crypt.h: 6e72c46776f0db175ec8f15144a3c250
-include/deflate.h: 7ceae74a13201f14c91623116af169c3
-include/gzguts.h: b337a2af7b4c7af157b1b2a9dd64c0f8
-include/gzlog.h: 7d497747a90370d3b13320bbf97e65dc
-include/infback9.h: 52b1ed99960d3ed7ed60cd20295e64a8
-include/inffast.h: f3669099d3f571dbc0426401ed5f50e3
-include/inffix9.h: 1558f49aeca6376b7aa331add59e0e06
-include/inffixed.h: 7fa3e91804601b6618c915b76a8dc332
-include/inflate.h: 8f1b05cdf36a269882a955071b140162
-include/inflate9.h: 8a4de1bca6c4182d025ea55062d125d9
-include/inftree9.h: be5cf855a19b76feb28468e5b46145b7
-include/inftrees.h: ec87be89b9bcca8ced80a70f857e823b
-include/ioapi.h: 7d6c0585719ba47fd356795801befc6d
-include/iowin32.h: 818e2950cc00d787eaa9b710007dc53f
-include/mztools.h: 7caac7503f8f002d61e0f0e5b7f33bc6
-include/puff.h: 7ecbeeb67e09a843961187673974f86d
-include/trees.h: 51fdcb3e2ccf60ca13c06920c89296a3
-include/unzip.h: 11ae6a9d654c95c47da55fe16772a1e5
-include/zconf.h: 371f055f4b9c75a473da59dfb9268f21
-include/zfstream.h: 938f58c179fabf6ff9ffb85395ada81f
-include/zip.h: e1495f151b00503a64aae7b375cc3b80
-include/zlib.h: 64d8a5180bd54ff5452886e4cbb21e14
-include/zstream.h: a980b61c1e8be68d5cdb1236ba6b43e7
-include/zutil.h: 04fcfbb961591c9452c4d0fd1525ffdf
-lib/C.includecache: 2a275573d6bdd65a8b8ef59f629c18ba
-lib/DependInfo.cmake: ae32810aa874699287b057a57bb4ebe3
-lib/adler32.obj: 628307ada6c4f583837f98a86f0cdc7a
-lib/build.make: d22b7b24b231da06fed02e9c19860d8c
-lib/cmake_clean.cmake: 02e9e0e203fb9e96f49a4136f66ae6d9
-lib/cmake_clean_target.cmake: 0d82d9dfb4e94fa1d2c8201023c801ab
-lib/compress.obj: fd3ee3b189db238906e6d8c3bc7f3785
-lib/crc32.obj: 4a4ea589d4cb9c892a9690446bded090
-lib/deflate.obj: 5c08287751273abb2649a39abd33b57c
-lib/depend.internal: 9f57661ca5d24b63b07e4b17717dbf31
-lib/depend.make: 3565852809d7357179f74379be7af651
-lib/flags.make: 15b3124297b5ec74b2f7ba7876adca3e
-lib/gzclose.obj: fa130c24a884e3db58195315eb2002e9
-lib/gzlib.obj: 100b5cdf0edf3cf759446d8a836a9e63
-lib/gzread.obj: e44720562c175dd122e99a158a87272a
-lib/gzwrite.obj: 2943d7662bee2a9367c62d5a5a84e122
-lib/includes_C.rsp: 459fa74070615e1040d5c8dfd9bd5177
-lib/infback.obj: e19339854ee788b1ac54cd97e03fde0b
-lib/inffast.obj: 067b8b689801213f6740e05405053a84
-lib/inflate.obj: a429f8ec8a73d923911f50f0153b5e42
-lib/inftrees.obj: 8a7349abf3599a7d2d5b88578fa44ac4
-lib/libzlibstatic.a: 91f1ddd318e256ffb4c526e111ed063f
-lib/link.txt: f94b96609f51147e6e09cd3143aaac07
-lib/progress.make: 20799cec453b892ad5a11033508bce80
-lib/trees.obj: a9f9d07743b1742ed4e466469581c54f
-lib/uncompr.obj: d46edd5a818878e69c138a5bde688b22
-lib/zutil.obj: d59a363a9262423a29179499e1479c45 \ No newline at end of file
diff --git a/coin/provisioning/common/windows/disable-autoreboot.ps1 b/coin/provisioning/common/windows/disable-autoreboot.ps1
index 2184a7aa..d13b6b9d 100644
--- a/coin/provisioning/common/windows/disable-autoreboot.ps1
+++ b/coin/provisioning/common/windows/disable-autoreboot.ps1
@@ -1,35 +1,5 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
Get-WmiObject Win32_OSRecoveryConfiguration -EnableAllPrivileges | Set-WmiInstance -Arguments @{ AutoReboot=$False }
diff --git a/coin/provisioning/common/windows/disable-clean-manager.ps1 b/coin/provisioning/common/windows/disable-clean-manager.ps1
new file mode 100644
index 00000000..6d54e137
--- /dev/null
+++ b/coin/provisioning/common/windows/disable-clean-manager.ps1
@@ -0,0 +1,8 @@
+# This script will disable automatic disk cleanup
+
+. "$PSScriptRoot\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/provisioning/common/windows/disable-defragment.ps1 b/coin/provisioning/common/windows/disable-defragment.ps1
index 876938f8..bb449e56 100644
--- a/coin/provisioning/common/windows/disable-defragment.ps1
+++ b/coin/provisioning/common/windows/disable-defragment.ps1
@@ -1,34 +1,42 @@
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
-schtasks /Delete /TN "\Microsoft\Windows\Defrag\ScheduledDefrag" /F
+# 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/provisioning/common/windows/disable-netadapterlso.ps1 b/coin/provisioning/common/windows/disable-netadapterlso.ps1
new file mode 100644
index 00000000..29c1bbbd
--- /dev/null
+++ b/coin/provisioning/common/windows/disable-netadapterlso.ps1
@@ -0,0 +1,3 @@
+Get-NetAdapter | Disable-NetAdapterLso
+Start-Sleep -s 15 # Give windows some time to adjust network settings
+Get-NetAdapter
diff --git a/coin/provisioning/common/windows/disable-sleep.ps1 b/coin/provisioning/common/windows/disable-sleep.ps1
index a3d194b7..c6c3c814 100644
--- a/coin/provisioning/common/windows/disable-sleep.ps1
+++ b/coin/provisioning/common/windows/disable-sleep.ps1
@@ -1,35 +1,5 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
# This script prevents Windows from going to sleep
diff --git a/coin/provisioning/common/windows/disable-uac.ps1 b/coin/provisioning/common/windows/disable-uac.ps1
index c57f7e72..c84b998d 100644
--- a/coin/provisioning/common/windows/disable-uac.ps1
+++ b/coin/provisioning/common/windows/disable-uac.ps1
@@ -1,35 +1,5 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
# This script disables the Windows UAC
diff --git a/coin/provisioning/common/windows/disable-windefender.ps1 b/coin/provisioning/common/windows/disable-windefender.ps1
index e508641e..ca74e95f 100644
--- a/coin/provisioning/common/windows/disable-windefender.ps1
+++ b/coin/provisioning/common/windows/disable-windefender.ps1
@@ -1,3 +1,6 @@
+# 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
+
# Turning off win defender.
#
# If disabled manually, windows will automatically enable it after
@@ -6,3 +9,21 @@
. "$PSScriptRoot\helpers.ps1"
Run-Executable "reg.exe" "ADD `"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender`" /V DisableAntiSpyware /T REG_dWORD /D 1 /F"
+
+# 'Windows Defender Cache Maintenance' - "Periodic maintenance task."
+DisableSchedulerTask "Windows Defender\Windows Defender Cache Maintenance"
+
+# 'Windows Defender Cleanup' - "Periodic cleanup task."
+DisableSchedulerTask "Windows Defender\Windows Defender Cleanup"
+
+# 'Windows Defender Scheduled Scan' - "Periodic scan task."
+DisableSchedulerTask "Windows Defender\Windows Defender Scheduled Scan"
+
+# 'Windows Defender Verification' - "Periodic verification task."
+DisableSchedulerTask "Windows Defender\Windows Defender Verification"
+
+# 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/provisioning/common/windows/disable-windows-module-installer.ps1 b/coin/provisioning/common/windows/disable-windows-module-installer.ps1
new file mode 100644
index 00000000..c7f85ff7
--- /dev/null
+++ b/coin/provisioning/common/windows/disable-windows-module-installer.ps1
@@ -0,0 +1,4 @@
+# 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
diff --git a/coin/provisioning/common/windows/disable-windows-updates.ps1 b/coin/provisioning/common/windows/disable-windows-updates.ps1
index 87414f03..a55d5803 100644
--- a/coin/provisioning/common/windows/disable-windows-updates.ps1
+++ b/coin/provisioning/common/windows/disable-windows-updates.ps1
@@ -1,38 +1,10 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
+. "$PSScriptRoot\helpers.ps1"
+
$service = get-service wuauserv
if (-not $service) {
Write-Host "Windows Update service not found."
@@ -43,7 +15,7 @@ if ($service.Status -eq "Stopped") {
Write-Host "Windows Update service already stopped."
} else {
Write-Host "Stopping Windows Update service."
- Stop-Service -Name "wuauserv" -Force
+ Retry {Stop-Service -Name "wuauserv" -Force} 20 5
}
$startup = Get-WmiObject Win32_Service | Where-Object {$_.Name -eq "wuauserv"} | Select -ExpandProperty "StartMode"
diff --git a/coin/provisioning/common/windows/dxsdk.ps1 b/coin/provisioning/common/windows/dxsdk.ps1
index f796ae1d..e4a40108 100644
--- a/coin/provisioning/common/windows/dxsdk.ps1
+++ b/coin/provisioning/common/windows/dxsdk.ps1
@@ -4,7 +4,7 @@
$package = "DXSDK_Jun10.exe"
-$cachedUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\$package"
+$cachedUrl = "\\ci-files01-hki.ci.qt.io\provisioning\windows\$package"
$officialUrl = "https://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/$package"
$sdkChecksumSha1 = "8fe98c00fde0f524760bb9021f438bd7d9304a69"
$package_path = "C:\Windows\Temp\$package"
@@ -14,6 +14,6 @@ Verify-Checksum $package_path $sdkChecksumSha1 sha1
Write-Host "Installing DirectX SDK"
Run-Executable $package_path "/u"
-Remove-Item -Path $package_path
+Remove "$package_path"
Write-Output "DirectX SDK = 9.29.1962 (Jun 10)" >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/emsdk.ps1 b/coin/provisioning/common/windows/emsdk.ps1
new file mode 100644
index 00000000..e1b92fd3
--- /dev/null
+++ b/coin/provisioning/common/windows/emsdk.ps1
@@ -0,0 +1,58 @@
+# 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
+
+. "$PSScriptRoot\helpers.ps1"
+
+# This script will install emscripten needed by WebAssembly
+
+$version = "3.1.50"
+$zipVersion = $version -replace '\.', "_"
+$temp = "$env:tmp"
+$cacheUrl = "https://ci-files01-hki.ci.qt.io/input/emsdk/emsdk_windows_${zipVersion}.zip"
+$sha = "40dc636688166ecdb476da40d02c491ee5032f7b"
+
+# Make sure python is in the path
+Prepend-Path "C:\Python27"
+
+cd "C:\\Utils"
+$installLocationEmsdk = "C:\\Utils\\emsdk"
+try {
+ Write-Host "Fetching from cached location"
+ Download $cacheUrl $cacheUrl ${temp}\${zipVersion}.zip
+ Verify-Checksum ${temp}\${zipVersion}.zip $sha
+ Extract-7Zip ${temp}\${zipVersion}.zip C:\Utils\
+ cd $installLocationEmsdk
+ .\emsdk activate $version
+} catch {
+ Write-Host "Can't find cached emsdk. Cloning it"
+ C:\PROGRA~1\Git\bin\git clone https://github.com/emscripten-core/emsdk.git
+ cd $installLocationEmsdk
+ .\emsdk install $version
+ .\emsdk activate $version
+}
+
+$versionWinPython = $($Env:EMSDK_PYTHON -split ('python\\') -split ('_64bit'))[1]
+$versionNode = $($Env:EMSDK_NODE -split ('node\\') -split ('_64bit'))[1]
+$versionJre = $($Env:EMSDK_JAVA_HOME -split ('java\\') -split ('_64bit'))[1]
+
+# Set these environment variables permanently.
+# Note! Using 'emsdk_env.bat --permanent' doesn't set these permanently
+Set-EnvironmentVariable "EMSDK" "$env:EMSDK"
+Set-EnvironmentVariable "EM_CONFIG" "$env:EM_CONFIG"
+Set-EnvironmentVariable "EMSDK_NODE" "$env:EMSDK_NODE"
+Set-EnvironmentVariable "EMSDK_PYTHON" "$env:EMSDK_PYTHON"
+# In this case JAVA_HOME is the one emsdk install/activate set.
+# We need to use EMSDK_JAVA_HOME so that we don't override JAVA_HOME which comes from install-jdk.ps1
+Set-EnvironmentVariable "EMSDK_JAVA_HOME" "$env:JAVA_HOME"
+Set-EnvironmentVariable "EMSDK_PATH" "$installLocationEmsdk;$installLocationEmsdk\node\${versionNode}_64bit\bin;$installLocationEmsdk\upstream\emscripten;$PATH"
+Add-Path "$env:EMSDK_PATH"
+
+# These can be removed when installing emsdk using emsdk.git
+Set-Content -Path C:\Utils\emsdk\emsdk_env.bat -Value ":: This file is needed to get support for setting Emscripten environment for Webassembly through qtbase" -Encoding ASCII
+Set-Content -Path C:\Utils\emsdk\emsdk_env.bat -Value ":: This file will have environment variables when https://codereview.qt-project.org/c/qt/qt5/+/372122 get merged" -Encoding ASCII
+Set-Content -Path C:\Utils\emsdk\emsdk_env.bat -Value "echo nothing to run at this point" -Encoding ASCII
+
+Write-Output "emsdk = $version" >> ~/versions.txt
+Write-Output "emsdk NodeJs = $versionNode" >> ~/versions.txt
+Write-Output "emsdk WinPython 64bit = $versionWinPython" >> ~/versions.txt
+Write-Output "emsdk portable jre = $versionJre" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/exceutequeueditems.ps1 b/coin/provisioning/common/windows/exceutequeueditems.ps1
index 3a4ff5c4..28ed007f 100644
--- a/coin/provisioning/common/windows/exceutequeueditems.ps1
+++ b/coin/provisioning/common/windows/exceutequeueditems.ps1
@@ -1,35 +1,5 @@
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
. "$PSScriptRoot\helpers.ps1"
Start-Process -NoNewWindow -FilePath "C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ngen.exe" -ArgumentList ExecuteQueuedItems -Wait
diff --git a/coin/provisioning/common/windows/fbx_windows.ps1 b/coin/provisioning/common/windows/fbx_windows.ps1
index 285f1f66..41b8768e 100644
--- a/coin/provisioning/common/windows/fbx_windows.ps1
+++ b/coin/provisioning/common/windows/fbx_windows.ps1
@@ -1,35 +1,5 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
@@ -40,7 +10,7 @@ $version = "2016.1.2"
$name = "fbx20161_2_fbxsdk_vs2015_win_nospace"
$packageName = "$name.7z"
$installerName = "$name.exe"
-$cacheUrl = "\\ci-files01-hki.intra.qt.io\provisioning\fbx\$packageName"
+$cacheUrl = "\\ci-files01-hki.ci.qt.io\provisioning\fbx\$packageName"
$sha1 = "de80edc255ffd5ce86ba25869dad72b4c809fd41"
# The executable is an interactive installer only. We can't run it in a script silently.
diff --git a/coin/provisioning/common/windows/grpc.ps1 b/coin/provisioning/common/windows/grpc.ps1
new file mode 100644
index 00000000..7acbe896
--- /dev/null
+++ b/coin/provisioning/common/windows/grpc.ps1
@@ -0,0 +1,122 @@
+# 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
+
+. "$PSScriptRoot\helpers.ps1"
+
+# Here we build gRPC libraries for MinGW and MSVC.
+# Since it's a c++ library we need both msvc and mingw because they mangle symbols differently.
+# For MSVC it builds with both debug and release configurations because of the visual c++ runtime.
+# For MinGW we only need one, so we only build with release.
+# The function below takes care of the common part of building - invoking cmake,
+# calling ninja and installing it to a directory which we set an environment variable to.
+# Because we have two compilers we also have two env. vars. and then each
+# config in CI has the gRPC_ROOT set to the appropriate one.
+function build-install-grpc {
+ param(
+ [string]$CC,
+ [string]$CXX,
+ [string]$BuildType,
+ [string]$Postfix # Used for install-path and the environment variable name
+ )
+ $installPrefix = "C:\Utils\grpc"
+ $installPath = "${installPrefix}-$Postfix"
+ $envVariableName = "Protobuf_ROOT_$Postfix"
+ $protobufRoot = (Get-Item -Path "Env:$envVariableName").Value
+ Write-Output "Configuring and building gRPC for $CXX"
+ $oldCC = $env:CC
+ $oldCXX = $env:CXX
+ $env:CC = $CC
+ $env:CXX = $CXX
+ Remove build-grpc
+ mkdir build-grpc
+ Push-Location build-grpc
+ $configureOptions = @(
+ # add postfix for multi-config
+ "-DCMAKE_DEBUG_POSTFIX=d"
+ "-DCMAKE_RELWITHDEBINFO_POSTFIX=rd"
+ # plugins
+ "-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF"
+ "-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF"
+ "-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF"
+ "-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF"
+ "-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF"
+ "-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF"
+ # extensions
+ "-DgRPC_BUILD_CSHARP_EXT=OFF"
+ # general
+ "-DgRPC_BUILD_TESTS=OFF"
+ "-DgRPC_PROTOBUF_PROVIDER=package"
+ "-DgRPC_SSL_PROVIDER=package"
+ # protobuf
+ "-DProtobuf_USE_STATIC_LIBS=ON"
+ "-DCMAKE_PREFIX_PATH=$protobufRoot"
+ )
+ cmake .. -G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="$BuildType" -DCMAKE_INSTALL_PREFIX="$installPath" $extraCMakeArgs $configureOptions
+ $result = $LASTEXITCODE
+ if ($result -eq 0) {
+ # ninja install:all # This is broken and does not work
+ foreach ($config in $BuildType.split(";")) {
+ ninja -f "build-$config.ninja" install
+ }
+ $result = $LASTEXITCODE
+ }
+ $env:CC = $oldCC
+ $env:CXX = $oldCXX
+ Set-EnvironmentVariable "gRPC_ROOT_$Postfix" "$installPath"
+ Pop-Location
+ Remove build-grpc
+ if ($result -ne 0) {
+ throw "Build exited with $result"
+ }
+}
+
+
+# Ensures a tool is in path or adds it to path if the $Path supplied to it
+# contains it. Will throw if it's not found at all
+function Find-Tool {
+ param(
+ [string]$Name,
+ [string]$Path
+ )
+ # Is tool missing from path?
+ if (!(Get-Command $Name -ErrorAction SilentlyContinue)) {
+ # Is tool in the $Path directory?
+ if (Test-Path "$Path\$Name" -ErrorAction SilentlyContinue) {
+ $env:Path += ";$Path"
+ }
+ else {
+ throw "Cannot find $Name in path or $Name in $Path, something is configured wrong"
+ }
+ }
+}
+# This script is fairly late in provisioning so both of these should be present!
+Find-Tool -Name "cmake.exe" -Path "C:\CMake\bin"
+Find-Tool -Name "ninja.exe" -Path "C:\Utils\Ninja"
+
+$version="1.50.1"
+$sha1="be1b0c3dbfbc9714824921f50dffb7cf044da5ab"
+$internalUrl="http://ci-files01-hki.ci.qt.io/input/automotive_suite/grpc-all-$version.zip"
+$externalUrl=""
+
+$basedir = "$env:HOMEDRIVE\$env:HOMEPATH\grpc"
+mkdir $basedir
+$targetDir = "$basedir\grpc-$version"
+$targetFile = "$targetDir.zip"
+Download $externalUrl $internalUrl $targetFile
+Verify-Checksum $targetFile $sha1
+Extract-7Zip $targetFile $basedir
+Remove $targetFile
+
+Push-Location $targetDir
+
+### gRPC supports only MSVC compiler
+
+EnterVSDevShell
+
+# We pass along an extra argument to stop gRPC linking with the static runtime to match Protobuf config
+build-install-grpc -CC "cl" -CXX "cl" -BuildType "Release;RelWithDebInfo;Debug" -Postfix "msvc" -ExtraArguments @("-DgRPC_MSVC_STATIC_RUNTIME=OFF")
+
+Pop-Location
+Remove $basedir
+
+Write-Output "gRPC = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/helpers.ps1 b/coin/provisioning/common/windows/helpers.ps1
index f5318bcb..9fbf27aa 100644
--- a/coin/provisioning/common/windows/helpers.ps1
+++ b/coin/provisioning/common/windows/helpers.ps1
@@ -3,7 +3,7 @@ function Verify-Checksum
Param (
[string]$File=$(throw("You must specify a filename to get the checksum of.")),
[string]$Expected=$(throw("Checksum required")),
- [ValidateSet("sha1","md5")][string]$Algorithm="sha1"
+ [ValidateSet("sha256","sha1","md5")][string]$Algorithm="sha1"
)
Write-Host "Verifying checksum of $File"
$fs = new-object System.IO.FileStream $File, "Open"
@@ -22,14 +22,46 @@ function Run-Executable
[string]$Executable=$(throw("You must specify a program to run.")),
[string[]]$Arguments
)
+
+ $stdoutFile = [System.IO.Path]::GetTempFileName()
+ $stderrFile = [System.IO.Path]::GetTempFileName()
+
if ([string]::IsNullOrEmpty($Arguments)) {
Write-Host "Running `"$Executable`""
- $p = Start-Process -FilePath "$Executable" -Wait -PassThru
+ $p = Start-Process -FilePath "$Executable" -Wait -PassThru `
+ -RedirectStandardOutput $stdoutFile -RedirectStandardError $stderrFile
} else {
Write-Host "Running `"$Executable`" with arguments `"$Arguments`""
- $p = Start-Process -FilePath "$Executable" -ArgumentList $Arguments -PassThru
+ $p = Start-Process -FilePath "$Executable" -ArgumentList $Arguments -PassThru `
+ -RedirectStandardOutput $stdoutFile -RedirectStandardError $stderrFile
Wait-Process -InputObject $p
}
+
+ $stdoutContent = [System.IO.File]::ReadAllText($stdoutFile)
+ $stderrContent = [System.IO.File]::ReadAllText($stderrFile)
+ Remove-Item -Path $stdoutFile, $stderrFile -Force -ErrorAction Ignore
+
+ $hasOutput = $false
+ if ([string]::IsNullOrEmpty($stdoutContent) -eq $false -or [string]::IsNullOrEmpty($stderrContent) -eq $false) {
+ $hasOutput = $true
+ Write-Host
+ Write-Host "======================================================================"
+ }
+ if ([string]::IsNullOrEmpty($stdoutContent) -eq $false) {
+ Write-Host "stdout of `"$Executable`":"
+ Write-Host "======================================================================"
+ Write-Host $stdoutContent
+ Write-Host "======================================================================"
+ }
+ if ([string]::IsNullOrEmpty($stderrContent) -eq $false) {
+ Write-Host "stderr of `"$Executable`":"
+ Write-Host "======================================================================"
+ Write-Host $stderrContent
+ Write-Host "======================================================================"
+ }
+ if ($hasOutput) {
+ Write-Host
+ }
if ($p.ExitCode -ne 0) {
throw "Process $($Executable) exited with exit code $($p.ExitCode)"
}
@@ -116,7 +148,7 @@ function Download
if ($CachedUrl.StartsWith("http")) {
Invoke-WebRequest -UseBasicParsing $CachedUrl -OutFile $Destination
} else {
- Copy-Item $CachedUrl $Destination
+ Copy-Item $CachedUrl $Destination -errorAction stop
}
} catch {
Write-Host "Cached download failed: Downloading from official location: $OfficialUrl"
@@ -136,6 +168,18 @@ function Add-Path
$Env:PATH = [System.Environment]::GetEnvironmentVariable('Path', 'Machine')
}
+function Prepend-Path
+{
+ Param (
+ [string]$Path
+ )
+ Write-Host "Adding $Path to Path"
+
+ $oldPath = [System.Environment]::GetEnvironmentVariable('Path', 'Machine')
+ [Environment]::SetEnvironmentVariable("Path", "$Path;" + $oldPath, [EnvironmentVariableTarget]::Machine)
+ $Env:PATH = [System.Environment]::GetEnvironmentVariable('Path', 'Machine')
+}
+
function Set-EnvironmentVariable
{
Param (
@@ -152,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
}
@@ -160,6 +226,38 @@ function Get-Proxy {
return (Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings').proxyServer
}
+function Retry{
+ <#
+ usage:
+ Retry{CODE}
+ Retry{CODE} <num of retries> <delay_s>
+ #delay is in seconds
+ #>
+ Param(
+ [Parameter(mandatory=$true)]
+ [scriptblock]$command,
+ [int][ValidateRange(1, 20)]$retry = 5,
+ [int][ValidateRange(1, 60)]$delay_s = 5
+ )
+ $success=$false
+ $retry_count=0
+ do{
+ try {
+ Invoke-Command -ScriptBlock $command
+ $success=$true
+ }
+ catch {
+ $retry_count++
+ Write-Host "Error: $_, try: $retry_count, retrying in $delay_s seconds"
+ Start-Sleep -Seconds $delay_s
+ }
+ } until ($success -or $retry+1 -le $retry_count)
+
+ if (-not $success) {
+ Throw("Failed to run command successfully in $retry_count tries")
+ }
+}
+
function Remove {
Param (
@@ -178,3 +276,70 @@ function Remove {
}
}
}
+
+function DisableSchedulerTask {
+
+ Param (
+ [string]$Task = $(BadParam("a task"))
+ )
+
+ Write-Host "Disabling $Task from Task Scheduler"
+ SCHTASKS /Change /TN "Microsoft\Windows\$Task" /DISABLE
+}
+
+function DeleteSchedulerTask {
+
+ Param (
+ [string]$Task = $(BadParam("a task"))
+ )
+
+ Write-Host "Disabling $Task from Task Scheduler"
+ SCHTASKS /DELETE /TN "Microsoft\Windows\$Task" /F
+}
+
+function GetVSPath {
+ Param (
+ [string]$VSWhere = "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe",
+ [string]$Component = "Microsoft.VisualStudio.Component.VC.Tools.x86.x64"
+ )
+
+ return (& $VSWhere -nologo -latest -products * -requires $Component -property installationPath)
+}
+
+function EnterVSDevShell {
+ Param (
+ [string]$HostArch = "amd64",
+ [string]$Arch = "amd64"
+ )
+
+ $vsWere = "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe"
+ $vcComponent = "Microsoft.VisualStudio.Component.VC.CoreIde"
+ # We pick the oldest build tools we can find and use that to be compatible with it and any newer version:
+ # If MSVC has an ABI break this will stop working, and yet another build must be added.
+ $VSPath = (& $vsWere -nologo -products * -requires $vcComponent -sort -format value -property installationPath | Select-Object -Last 1)
+
+ 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 "-host_arch=$HostArch -arch=$Arch -no_logo"
+ } catch {
+ Write-Host "Failed to enter VisualStudio DevShell"
+ return $false
+ }
+ return $true
+}
+
+function Invoke-MtCommand {
+ param(
+ [String] $vcVarsScript,
+ [String] $arch,
+ [String] $manifest,
+ [String] $executable
+ )
+ $tempFile = [IO.Path]::GetTempFileName()
+ Add-Content -Path $tempFile -Value $manifest
+ $cmdLine = """$vcVarsScript"" $arch & mt.exe -manifest ""$tempFile"" -outputresource:""$executable"";1"
+ Write-Output Executing $cmdLine
+ & $Env:SystemRoot\system32\cmd.exe /c $cmdLine | Write-Output
+ Remove-Item $tempFile
+}
diff --git a/coin/provisioning/common/windows/icu.ps1 b/coin/provisioning/common/windows/icu.ps1
deleted file mode 100644
index 786eb88f..00000000
--- a/coin/provisioning/common/windows/icu.ps1
+++ /dev/null
@@ -1,47 +0,0 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-############################################################################
-
-. "$PSScriptRoot\helpers.ps1"
-
-# This script installs ICU.
-
-$version = "53_1"
-
-if (Is64BitWinHost) {
-
-# FIXME: do we really want to use the 4.8.2 ICU build?
-Set-EnvironmentVariable "CI_ICU_PATH_Mingw49" "C:\Utils\icu_53_1_Mingw_builds_4_8_2_posix_seh_64_devel\icu53_1"
-
-}
-
-Write-Output "ICU = $version" >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/install-azure-tool.ps1 b/coin/provisioning/common/windows/install-azure-tool.ps1
new file mode 100644
index 00000000..9f82f54e
--- /dev/null
+++ b/coin/provisioning/common/windows/install-azure-tool.ps1
@@ -0,0 +1,10 @@
+# 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
+. "$PSScriptRoot\helpers.ps1"
+
+# This script will install Azure singtool using Dotnet SDK
+$dotnet = "C:\Program Files\dotnet\dotnet.exe"
+
+$version = "2.0.17"
+Run-Executable "$dotnet" "tool install --global AzureSignTool --version $version"
+
diff --git a/coin/provisioning/common/windows/install-breakpad.ps1 b/coin/provisioning/common/windows/install-breakpad.ps1
index 7db6d8ac..6bdb4b9f 100644
--- a/coin/provisioning/common/windows/install-breakpad.ps1
+++ b/coin/provisioning/common/windows/install-breakpad.ps1
@@ -1,35 +1,5 @@
-############################################################################
-##
-## Copyright (C) 2019 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-############################################################################
+# 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
# This script install breakpad from sources.
# for manual install.. remember to checkout correct version
@@ -50,12 +20,12 @@
$breakpad_commit_sha="b988fa74ec18de6214b18f723e48331d9a7802ae"
$breakpad_tar="breakpad_$breakpad_commit_sha.tar.gz"
-$breakpad_tar_url="http://ci-files01-hki.intra.qt.io/input/breakpad/$breakpad_tar"
+$breakpad_tar_url="http://ci-files01-hki.ci.qt.io/input/breakpad/$breakpad_tar"
$breakpad_tar_sha="a2d404d2aebc947cdac5840a9bccd65dfafae24c"
$linux_syscall_support_commit_sha1="93426bda6535943ff1525d0460aab5cc0870ccaf"
$linux_syscall_support_tar="linux-syscall-support_$linux_syscall_support_commit_sha1.tar.gz"
-$linux_syscall_support_tar_url="http://ci-files01-hki.intra.qt.io/input/linux-syscall-support/$linux_syscall_support_tar"
+$linux_syscall_support_tar_url="http://ci-files01-hki.ci.qt.io/input/linux-syscall-support/$linux_syscall_support_tar"
$linux_syscall_support_tar_sha="62565be0920f3661e138d68026b79fbbdc2a11e4"
$targetBreakpad="$env:tmp\$breakpad_tar"
@@ -67,14 +37,14 @@ try {
Download $breakpad_tar_url $breakpad_tar_url $targetBreakpad
Verify-Checksum $targetBreakpad $breakpad_tar_sha
Extract-tar_gz $targetBreakpad $installFolder
- Remove-Item -Path $targetBreakpad
+ Remove "$targetBreakpad"
# linux-syscall-support
Download $linux_syscall_support_tar_url $linux_syscall_support_tar_url $targetSyscall
Verify-Checksum $targetSyscall $linux_syscall_support_tar_sha
Extract-tar_gz $targetSyscall "$env:tmp\"
New-Item -ItemType directory -Path "$installFolder\breakpad\third_party\lss"
Get-ChildItem -Path "$env:tmp\linux-syscall-support\*" -Recurse | Move-Item -Destination "$installFolder\breakpad\third_party\lss"
- Remove-Item -Path $targetSyscall
+ Remove "$targetSyscall"
}
catch {
Write-Host "Cached download failed: Attempping fallback method eg git."
diff --git a/coin/provisioning/common/windows/install-dependencywalker.ps1 b/coin/provisioning/common/windows/install-dependencywalker.ps1
index 1ccc0b7d..abaa4d79 100644
--- a/coin/provisioning/common/windows/install-dependencywalker.ps1
+++ b/coin/provisioning/common/windows/install-dependencywalker.ps1
@@ -1,35 +1,5 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
@@ -43,7 +13,7 @@ if (Is64BitWinHost) {
$arch = "_x86"
$sha1 = "bfec714057e8449b0246051be99ba46a7760bab9"
}
-$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\depends22" + $arch + ".zip"
+$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\depends22" + $arch + ".zip"
$url_official = "http://www.dependencywalker.com/depends22" + $arch + ".zip"
$dependsPackage = "C:\Windows\Temp\depends-$version.zip"
@@ -56,7 +26,11 @@ Verify-Checksum $dependsPackage $sha1
Extract-7Zip $dependsPackage $TARGETDIR
+# Copy the content also into the cache location of nuitka
+# This makes it usable without the need to download it again
+Copy-Item -Path $TARGETDIR -Destination "$env:LOCALAPPDATA\Nuitka\Nuitka\Cache\downloads\depends\x86_64" -Recurse
+
Write-Host "Cleaning $dependsPackage.."
-Remove-Item -Recurse -Force -Path "$dependsPackage"
+Remove "$dependsPackage"
Write-Output "Dependency Walker = $version" >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/install-dotnet.ps1 b/coin/provisioning/common/windows/install-dotnet.ps1
new file mode 100644
index 00000000..aea40e86
--- /dev/null
+++ b/coin/provisioning/common/windows/install-dotnet.ps1
@@ -0,0 +1,29 @@
+# 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
+. "$PSScriptRoot\helpers.ps1"
+
+# This script will install Dotnet SDK which is required for Azure installation
+
+$version = "2.1"
+if (Is64BitWinHost) {
+ $urlCache = "http://ci-files01-hki.ci.qt.io/input/windows/dotnet-sdk-2.1.809-win-x64.exe"
+ $urlOfficial = "https://download.visualstudio.microsoft.com/download/pr/c980b6fb-e570-4c73-b344-e4dae6573777/f844ac1a4c6ea5de7227a701786126fd/dotnet-sdk-2.1.809-win-x64.exe"
+ $sha1 = "343e80c2ab558a30696dbe03ad2288bf435d5cd8"
+} else {
+ $urlCache = "http://ci-files01-hki.ci.qt.io/input/windows/dotnet-sdk-2.1.809-win-x86.exe"
+ $urlOfficial = "https://download.visualstudio.microsoft.com/download/pr/cf86a2f3-f6b2-4959-8e41-cf84b0d2f294/a61e834f56abe2dc2e12599e1a60c10b/dotnet-sdk-2.1.809-win-x86.exe"
+ $sha1 = "b38a4e1392f17aed110508a1687f1c65b9d86161"
+}
+$installer = "C:\Windows\Temp\dotnet-sdk-$version.exe"
+
+Write-Host "Installing Dotnet SDK $version"
+Download $urlOfficial $urlCache $installer
+Verify-Checksum $installer $sha1
+Run-Executable "$installer" "/install /passive"
+Prepend-Path "C:\Program Files\dotnet"
+Remove $installer
+
+Write-Output "Dotnet SDK = $version" >> ~/versions.txt
+
+
+
diff --git a/coin/provisioning/common/windows/install-ffmpeg.ps1 b/coin/provisioning/common/windows/install-ffmpeg.ps1
new file mode 100644
index 00000000..b806f58d
--- /dev/null
+++ b/coin/provisioning/common/windows/install-ffmpeg.ps1
@@ -0,0 +1,170 @@
+# 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
+
+. "$PSScriptRoot\helpers.ps1"
+
+# This script will install FFmpeg
+$msys = "C:\Utils\msys64\usr\bin\bash"
+
+$version = "n6.1.1"
+$ffmpeg_name = "ffmpeg-" + $version;
+$sha1 = "7AECCED8A0366BE407329B4E176167534233DA12"
+
+$url_cached = "https://ci-files01-hki.ci.qt.io/input/ffmpeg/" + $version + ".zip"
+$url_public = "https://github.com/FFmpeg/FFmpeg/archive/refs/tags/" +$version + ".zip"
+$download_location = "C:\Windows\Temp\" + $ffmpeg_name + ".zip"
+$unzip_location = "C:\"
+
+Write-Host "Fetching FFmpeg $version..."
+
+Download $url_public $url_cached $download_location
+Verify-Checksum $download_location $sha1
+Extract-7Zip $download_location $unzip_location
+Remove $download_location
+
+$config = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt"
+Write-Host "FFmpeg configuration $config"
+
+
+function InstallFfmpeg {
+ Param (
+ [string]$buildSystem,
+ [string]$msystem,
+ [string]$additionalPath,
+ [string]$ffmpegDirEnvVar,
+ [string]$toolchain,
+ [bool]$shared
+ )
+
+ Write-Host "Configure and compile ffmpeg for $buildSystem"
+
+ $oldPath = $env:PATH
+
+ if ($additionalPath) { $env:PATH = "$additionalPath;$env:PATH" }
+ $env:MSYS2_PATH_TYPE = "inherit"
+ $env:MSYSTEM = $msystem
+
+ $cmd = "cd /c/$ffmpeg_name"
+ $cmd += " && mkdir -p build/$buildSystem && cd build/$buildSystem"
+ $cmd += " && ../../configure --prefix=installed $config"
+ if ($toolchain) { $cmd += " --toolchain=$toolchain" }
+ if ($shared) { $cmd += " --enable-shared --disable-static" }
+ $cmd += " && make install -j"
+
+ Write-Host "MSYS cmd:"
+ Write-Host $cmd
+ $buildResult = Start-Process -NoNewWindow -Wait -PassThru -ErrorAction Stop -FilePath "$msys" -ArgumentList ("-lc", "`"$cmd`"")
+
+ $env:PATH = $oldPath
+
+ if ($buildResult.ExitCode) {
+ Write-Host "Failed to build ffmpeg for $buildSystem"
+ return $false
+ }
+
+ Set-EnvironmentVariable $ffmpegDirEnvVar "C:\$ffmpeg_name\build\$buildSystem\installed"
+ return $true
+}
+
+function InstallMingwFfmpeg {
+ $mingwPath = [System.Environment]::GetEnvironmentVariable("MINGW_PATH", [System.EnvironmentVariableTarget]::Machine)
+ return InstallFfmpeg -buildSystem "mingw" -msystem "MINGW" -additionalPath "$mingwPath\bin" -ffmpegDirEnvVar "FFMPEG_DIR_MINGW" -shared $true
+}
+
+
+function InstallMsvcFfmpeg {
+ 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 $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
+ Write-Host "Rename libraries lib*.a -> *.lib"
+ try {
+ $msvcDir = [System.Environment]::GetEnvironmentVariable("FFMPEG_DIR_MSVC", [System.EnvironmentVariableTarget]::Machine)
+ Get-ChildItem "$msvcDir\lib\lib*.a" | ForEach-Object {
+ $NewName = $_.Name -replace 'lib(\w+).a$', '$1.lib'
+ $Destination = Join-Path -Path $_.Directory.FullName -ChildPath $NewName
+ Move-Item -Path $_.FullName -Destination $Destination -Force
+ }
+ } catch {
+ Write-Host "Failed to rename libraries lib*.a -> *.lib"
+ return $false
+ }
+ }
+
+ return $result
+}
+
+
+function InstallLlvmMingwFfmpeg {
+ return InstallFfmpeg -buildSystem "llvm-mingw" -msystem "CLANG64" -ffmpegDirEnvVar "FFMPEG_DIR_LLVM_MINGW" -additionalPath "C:\llvm-mingw\bin" -shared $true
+}
+
+function InstallAndroidArmv7 {
+
+ $target_toolchain_arch="armv7a-linux-androideabi"
+ $target_arch="armv7-a"
+ $target_cpu="armv7-a"
+ $api_version="24"
+
+ $ndkVersionLatest = "r26b"
+ $ndkFolderLatest = "/c/Utils/Android/android-ndk-$ndkVersionLatest"
+
+ $toolchain="${ndkFolderLatest}/toolchains/llvm/prebuilt/windows-x86_64"
+ $toolchain_bin="${toolchain}/bin"
+ $sysroot="${toolchain}/sysroot"
+ $cxx="${toolchain_bin}/${target_toolchain_arch}${api_version}-clang++"
+ $cc="${toolchain_bin}/${target_toolchain_arch}${api_version}-clang"
+ $ld="${toolchain_bin}/ld.exe"
+ $ar="${toolchain_bin}/llvm-ar.exe"
+ $ranlib="${toolchain_bin}/llvm-ranlib.exe"
+ $nm="${toolchain_bin}/llvm-nm.exe"
+ $strip="${toolchain_bin}/llvm-strip.exe"
+ $openssl_path = [System.Environment]::GetEnvironmentVariable("OPENSSL_ANDROID_HOME_DEFAULT", [System.EnvironmentVariableTarget]::Machine)
+ $openssl_path = $openssl_path.Replace("\", "/")
+
+ $config = Get-Content "$PSScriptRoot\..\shared\ffmpeg_config_options.txt"
+ $config += " --enable-cross-compile --target-os=android --enable-jni --enable-mediacodec --enable-openssl --enable-pthreads --enable-neon --disable-asm --disable-indev=android_camera"
+ $config += " --arch=$target_arch --cpu=${target_cpu} --sysroot=${sysroot} --sysinclude=${sysroot}/usr/include/"
+ $config += " --cc=${cc} --cxx=${cxx} --ar=${ar} --ranlib=${ranlib}"
+ $config += " --extra-cflags=-I$envOPENSSL_ANDROID_HOME_DEFAULT/include --extra-ldflags=-L$env:OPENSSL_ANDROID_HOME_DEFAULT/armeabi-v7a"
+ $config += " --extra-cflags=-I${openssl_path}/include --extra-ldflags=-L${openssl_path}/armeabi-v7a"
+
+ return InstallFfmpeg -buildSystem "android-arm" -msystem "ANDROID_CLANG" -ffmpegDirEnvVar "FFMPEG_DIR_ANDROID_ARMV7"
+}
+
+$mingwRes = InstallMingwFfmpeg
+$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 $msvcArm64Res -and $llvmMingwRes -and $androidArmV7Res) { 0 } else { 1 })
diff --git a/coin/provisioning/common/windows/install-git.ps1 b/coin/provisioning/common/windows/install-git.ps1
index 110c3703..47c2cc03 100644
--- a/coin/provisioning/common/windows/install-git.ps1
+++ b/coin/provisioning/common/windows/install-git.ps1
@@ -1,49 +1,19 @@
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
-# Install Git version 2.13.0
+# Install Git
-$version = "2.13.0"
+$version = "2.36.1"
if (Is64BitWinHost) {
$arch = "-64-bit"
- $sha1 = "E1D7C6E5E16ACAF3C108064A2ED158F604FA29A7"
+ $sha1 = "594bdfc4e7704fb03fe14b7c0613087dfa3d4416"
} else {
$arch = "-32-bit"
- $sha1 = "03c7df2e4ef61ea6b6f9c0eb7e6d5151d9682aec"
+ $sha1 = "1bbe040254c236607ccb84e14a3f608b1a4e959a"
}
$gitPackage = "C:\Windows\Temp\Git-" + $version + $arch + ".exe"
-$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\Git-" + $version + $arch + ".exe"
+$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\Git-" + $version + $arch + ".exe"
$url_official = "https://github.com/git-for-windows/git/releases/download/v" + $version + ".windows.1/Git-" + $version + $arch + ".exe"
Write-Host "Fetching Git $version..."
diff --git a/coin/provisioning/common/windows/install-gnuwin32.ps1 b/coin/provisioning/common/windows/install-gnuwin32.ps1
index 99862b3c..a6e300e6 100644
--- a/coin/provisioning/common/windows/install-gnuwin32.ps1
+++ b/coin/provisioning/common/windows/install-gnuwin32.ps1
@@ -1,35 +1,5 @@
-############################################################################
-##
-## Copyright (C) 2019 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
# This script will install gnuwin32
@@ -37,10 +7,11 @@
$prog = "gnuwin32"
$zipPackage = "$prog.zip"
$temp = "$env:tmp"
-$internalUrl = "http://ci-files01-hki.intra.qt.io/input/windows/$prog/$zipPackage"
+$internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/$prog/$zipPackage"
$externalUrl = "http://download.qt.io/development_releases/$prog/$zipPackage"
Download $externalUrl $internalUrl "$temp\$zipPackage"
Verify-Checksum "$temp\$zipPackage" "d7a34a385ccde2374b8a2ca3369e5b8a1452c5a5"
Extract-7Zip "$temp\$zipPackage" C:\Utils
Write-Output "$prog qt5 commit sha = 98c4f1bbebfb3cc6d8e031d36fd1da3c19e634fb" >> ~\versions.txt
+Prepend-Path "C:\Utils\gnuwin32\bin"
diff --git a/coin/provisioning/common/windows/install-jdk.ps1 b/coin/provisioning/common/windows/install-jdk.ps1
index 0c548e63..dc19551d 100644
--- a/coin/provisioning/common/windows/install-jdk.ps1
+++ b/coin/provisioning/common/windows/install-jdk.ps1
@@ -1,75 +1,45 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
# This script will install Java SE
-$installdir = "C:\Program Files\Java\jdk1.8.0_144"
-
-$version = "8u144"
if (Is64BitWinHost) {
+ $version = "11.0.12"
$arch = "x64"
- $sha1 = "adb03bc3f4b40bcb3227687860798981d58e1858"
+ $sha1 = "135ffd1c350509729551876232a5354070732e92"
+ $installdir = "C:\Program Files\Java\jdk-$version"
+ $url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\jdk-" + $version + "-windows-" + $arch + ".exe"
} else {
- $arch = "i586"
- $sha1 = "3b9ab95914514eaefd72b815c5d9dd84c8e216fc"
+ $version = "11.0.11.9"
+ $arch = "x86-32"
+ $sha1 = "a861e994208ee85bf83a76105f6858feeb6fbb33"
+ $installdir = "C:\Program Files\AdoptOpenJDK\jdk-$version-hotspot"
+ $url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\OpenJDK11U-jdk_x86-32_windows_hotspot_11.0.11_9.msi"
}
-$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\jdk-" + $version + "-windows-" + $arch + ".exe"
-$official_url = "http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-" + $version + "-windows-" + $arch + ".exe"
-$javaPackage = "C:\Windows\Temp\jdk-$version.exe"
+# NOTE! Official URL is behind login portal. It can't be used whit this script instead it need to be fetched to $url_cache first
+# java 11: https://www.oracle.com/java/technologies/downloads/#java11-windows
+# java 8: $official_url = "http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-" + $version + "-windows-" + $arch + ".exe"
+if (Is64BitWinHost) {
+ $javaPackage = "C:\Windows\Temp\jdk-$version.exe"
+} else {
+ $javaPackage = "C:\Windows\Temp\jdk-$version.msi"
+}
Write-Host "Fetching Java SE $version..."
$ProgressPreference = 'SilentlyContinue'
-try {
- Write-Host "...from local cache"
- Download $url_cache $url_cache $javaPackage
-} catch {
- Write-Host "...from oracle.com"
- $client = new-object System.Net.WebClient
- $cookie = "oraclelicense=accept-securebackup-cookie"
- $client.Headers.Add("Cookie", $cookie)
- $client.DownloadFile($official_url, $javaPackage)
-
- Download $official_url $official_url $javaPackage
-}
-
+Write-Host "...from local cache"
+Download $url_cache $url_cache $javaPackage
Verify-Checksum $javaPackage $sha1
-Run-Executable "$javaPackage" "/s SPONSORS=0"
-Write-Host "Cleaning $javaPackage.."
-Remove-Item -Recurse -Force -Path "$javaPackage"
+if (Is64BitWinHost) {
+ Run-Executable "$javaPackage" "/s SPONSORS=0"
+} else {
+ Run-Executable "msiexec" "/quiet /i $javaPackage"
+}
+Remove "$javaPackage"
Write-Host "Remove Java update from startup"
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run" /v SunJavaUpdateSched /f
diff --git a/coin/provisioning/common/windows/install-jq.ps1 b/coin/provisioning/common/windows/install-jq.ps1
new file mode 100644
index 00000000..6f5bd333
--- /dev/null
+++ b/coin/provisioning/common/windows/install-jq.ps1
@@ -0,0 +1,31 @@
+# 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
+
+. "$PSScriptRoot\helpers.ps1"
+
+# This script installs jq
+
+$jqProgram = "jq"
+$jqVersion = "1.6"
+$jqExeSHA1 = "2b7ae7b902aa251b55f2fd73ad5b067d2215ce78"
+$jqInstallLocation = "C:\Utils\jq"
+$jqExe = "C:\Windows\Temp\jq.exe"
+$jqCacheURL = "\\ci-files01-hki.ci.qt.io\provisioning\jq\jq-win64-$jqVersion.exe"
+$jqOfficialURL = "https://github.com/jqlang/jq/releases/download/jq-$jqVersion/jq-win64.exe"
+
+Download "$jqOfficialURL" "$jqCacheURL" "$jqExe"
+Verify-Checksum $jqExe $jqExeSHA1
+New-Item -Path "C:\Utils" -Name "jq" -ItemType "directory" -Force
+Move-Item -Path "$jqExe" -Destination "$jqInstallLocation" -Force
+
+if(![System.IO.File]::Exists("$jqInstallLocation\jq.exe")){
+ Write-Host "Can't find $jqInstallLocation\jq.exe."
+ exit 1
+}
+
+# Add jq to Path. It is necessary to prepend it to $env:Path as well, to make
+# it available during provisioning
+Prepend-Path "$jqInstallLocation"
+$env:Path = "$jqInstallLocation;$env:Path"
+
+Write-Output "jq = $jqVersion" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/install-mcuxpresso.ps1 b/coin/provisioning/common/windows/install-mcuxpresso.ps1
new file mode 100644
index 00000000..b3fa2b4c
--- /dev/null
+++ b/coin/provisioning/common/windows/install-mcuxpresso.ps1
@@ -0,0 +1,16 @@
+# 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
+
+. "$PSScriptRoot\helpers.ps1"
+
+# This script installs NXP MCUXpresso IDE
+# MCUXpresso IDE provides the tools for flashing and onboard debugging
+
+$version = "11.2.0_4120"
+$url = "http://ci-files01-hki.ci.qt.io/input/windows/MCUXpressoIDE_$version.zip"
+$zip = "C:\Windows\Temp\MCUXpressoIDE_$version.zip"
+
+Download $url $url $zip
+Extract-7Zip $zip C:
+Rename-Item C:\MCUXpressoIDE_$version C:\MCUXpressoIDE
+Write-Output "MCUXpresso IDE = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/install-mingw.ps1 b/coin/provisioning/common/windows/install-mingw.ps1
index bc05ba91..d42eeaab 100644
--- a/coin/provisioning/common/windows/install-mingw.ps1
+++ b/coin/provisioning/common/windows/install-mingw.ps1
@@ -1,35 +1,5 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
@@ -37,23 +7,24 @@ function InstallMinGW
{
Param (
[string] $release = $(BadParam("release file name")),
- [string] $sha1 = $(BadParam("SHA1 checksum of the file")),
- [string] $suffix = ""
+ [string] $sha1 = $(BadParam("SHA1 checksum of the file"))
)
- $arch, $version, $null, $threading, $ex_handling, $build_ver, $revision = $release.split('-')
-
- if ($arch -eq "i686") { $win_arch = "Win32" }
- elseif ($arch -eq "x86_64") { $win_arch = "Win64" }
-
- $envvar = "MINGW$version$suffix"
- $envvar = $envvar -replace '["."]'
+ if ($release -like "*11.2.0*") {
+ $null, $null, $arch, $version, $null, $threading, $ex_handling, $build_ver, $revision = $release.split('-')
+ $url_original = "https://github.com/cristianadam/mingw-builds/releases/download/v" + $version + "-" + $revision + "/" + $arch + "-" + $version + "-release-" + $threading + "-" + $ex_handling + "-" + $build_ver + "-" + $revision + ".7z"
+ }
+ else {
+ $null, $null, $arch, $version, $null, $threading, $ex_handling, $runtime_library, $build_ver, $revision = $release.split('-')
+ $url_original = "https://github.com/niXman/mingw-builds-binaries/releases/download/" + $version + "-" + $build_ver + "-" + $revision + "/" + $arch + "-" + $version + "-release-" + $threading + "-" + $ex_handling + "-" + $runtime_library + "-" + $build_ver + "-" + $revision + ".7z"
+ }
+
+ if ($arch -eq "x86_64") { $win_arch = "Win64" }
+ $envvar = "MINGW_PATH"
$targetdir = "C:\$envvar"
- $url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\" + $release + ".7z"
- $url_official = "https://netcologne.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20" + $win_arch + "/Personal%20Builds/mingw-builds/" + $version + "/threads-" + $threading + "/" + $ex_handling + "/" + $arch + "-" + $version + "-release-" + $threading + "-" + $ex_handling + "-" + $build_ver + "-" + $revision + ".7z"
-
+ $url_cache = "https://ci-files01-hki.ci.qt.io/input/windows/" + $release + ".7z"
$mingwPackage = "C:\Windows\Temp\MinGW-$version.zip"
- Download $url_official $url_cache $mingwPackage
+ Download $url_original $url_cache $mingwPackage
Verify-Checksum $mingwPackage $sha1
Extract-7Zip $mingwPackage $TARGETDIR
@@ -61,7 +32,7 @@ function InstallMinGW
Set-EnvironmentVariable "$envvar" ("$targetdir\mingw" + $win_arch.Substring($win_arch.get_Length()-2))
Write-Host "Cleaning $mingwPackage.."
- Remove-Item -Recurse -Force -Path "$mingwPackage"
+ Remove "$mingwPackage"
Write-Output "MinGW = $version $release" >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/install-msys2.ps1 b/coin/provisioning/common/windows/install-msys2.ps1
new file mode 100644
index 00000000..7a79d4ab
--- /dev/null
+++ b/coin/provisioning/common/windows/install-msys2.ps1
@@ -0,0 +1,52 @@
+# 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
+
+. "$PSScriptRoot\helpers.ps1"
+
+# This script will installs msys2
+
+$version = "20240113"
+$prog = "msys2"
+$arch = "x86_64"
+$sha1 = "b46c08fd901da0fdba1dc30422a322766d7d03c6"
+$sha1_prebuilt = "d86d45d72228f53f7ae060771bc95b6f54c703c8"
+$folder = "msys64"
+
+$package_prebuilt = $folder + "_" + $version + "_prebuilt.7z"
+$package = $prog + "-base-" + $arch + "-" + $version + ".tar.xz"
+
+$url_cache_prebuilt = "\\ci-files01-hki.ci.qt.io\provisioning\windows\$package_prebuilt"
+$url_cache = "https://ci-files01-hki.ci.qt.io/input/windows/$package"
+$url_official = "http://repo.msys2.org/distrib/$arch/$package"
+$TargetLocation = "C:\Utils"
+
+
+if ((Test-Path $url_cache_prebuilt)) {
+ $PackagePath = "C:\Windows\Temp\$package_prebuilt"
+ Download $url_cache_prebuilt $url_cache_prebuilt $PackagePath
+ Verify-Checksum $PackagePath $sha1_prebuilt
+ Extract-7Zip $PackagePath $TargetLocation
+} else {
+ $PackagePath = "C:\Windows\Temp\$package"
+ Download $url_official $url_cache $PackagePath
+ Verify-Checksum $PackagePath $sha1
+ Extract-tar_gz $PackagePath $TargetLocation
+ $msys = "$TargetLocation\$folder\msys2_shell.cmd"
+
+ # install perl make and yasm
+ # Run these without 'Run-Executable' function. When using the function the gpg-agent will lock the needed tmp*.tmp file.
+ cmd /c "$msys `"-l`" `"-c`" `"rm -rf /etc/pacman.d/gnupg;pacman-key --init;pacman-key --populate msys2;pacman-key --refresh;pacman -S --noconfirm perl make yasm diffutils`""
+ Start-Sleep -s 60
+ cmd /c "$msys `"-l`" `"-c`" `"echo y | cpan -i Text::Template Test::More`""
+
+ # Sometimes gpg-agent won't get killed after the installation process. If that happens the provisioning will won't continue and it will hang until timeout. So we need make sure it will be killed.
+ # Let's sleep for awhile and wait that msys installation is finished. Otherwise the installation might start up gpg-agent or dirmngr after the script has passed the killing process.
+ Start-Sleep -s 360
+ if (Get-Process -Name "gpg-agent" -ErrorAction SilentlyContinue) { Stop-Process -Force -Name gpg-agent }
+ if (Get-Process -Name "dirmngr" -ErrorAction SilentlyContinue) { Stop-Process -Force -Name dirmngr }
+}
+
+Write-Host "Cleaning $PackagePath.."
+Remove "$PackagePath"
+
+Write-Output "msys2 = $version" >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/install-notepad++.ps1 b/coin/provisioning/common/windows/install-notepad++.ps1
index 8f8635b3..f0648d41 100644
--- a/coin/provisioning/common/windows/install-notepad++.ps1
+++ b/coin/provisioning/common/windows/install-notepad++.ps1
@@ -1,35 +1,5 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
@@ -43,7 +13,7 @@ if (Is64BitWinHost) {
$arch = ""
$sha1 = "d4c403675a21cc381f640b92e596bae3ef958dc6"
}
-$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\npp." + $version + ".Installer" + $arch + ".exe"
+$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"
$nppPackage = "C:\Windows\Temp\npp-$version.exe"
@@ -52,7 +22,7 @@ Verify-Checksum $nppPackage $sha1
Run-Executable "$nppPackage" "/S"
Write-Host "Cleaning $nppPackage.."
-Remove-Item -Recurse -Force -Path "$nppPackage"
+Remove "$nppPackage"
Write-Output "Notepad++ = $version" >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/install-openssh.ps1 b/coin/provisioning/common/windows/install-openssh.ps1
new file mode 100644
index 00000000..d31270e0
--- /dev/null
+++ b/coin/provisioning/common/windows/install-openssh.ps1
@@ -0,0 +1,36 @@
+# 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
+. "$PSScriptRoot\helpers.ps1"
+
+# Install Openssh
+
+$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"
+}
+
+Write-Host "Fetching $zipPackage $version..."
+Download $url_official $url_cache "$temp\$zipPackage"
+Verify-Checksum "$temp\$zipPackage" $sha1
+
+Write-Host "Extracting the package"
+Extract-7Zip "$temp\$zipPackage" C:\"Program Files"
+
+Write-Host "Installing $zipPackage $version..."
+$path = "C:\Program Files\" + $zipPackage + "\install-sshd.ps1"
+
+# Installation done as shown at https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH
+powershell.exe -ExecutionPolicy Bypass -File $path
+netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
+net start sshd
+Set-Service sshd -StartupType Automatic
diff --git a/coin/provisioning/common/windows/install-protobuf.ps1 b/coin/provisioning/common/windows/install-protobuf.ps1
deleted file mode 100644
index fd3fb3d3..00000000
--- a/coin/provisioning/common/windows/install-protobuf.ps1
+++ /dev/null
@@ -1,64 +0,0 @@
-#############################################################################
-##
-## Copyright (C) 2019 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-. "$PSScriptRoot\helpers.ps1"
-
-# This script will install Google's Protocol Buffers
-# Script requires Cmake to be installed and strawberry-perl not to be installed
-
-$version = "3.6.1"
-$sha1 = "44b8ba225f3b4dc45fb56d5881ec6a91329802b6"
-$officialUrl = "https://github.com/protocolbuffers/protobuf/releases/download/v$version/protobuf-all-$version.zip"
-$cachedUrl = "http://ci-files01-hki.ci.local/input/automotive_suite/protobuf-all-$version.zip"
-$zip = "C:\Utils\protobuf-all-$version.zip"
-$installationFolder = "C:\Utils\protobuf"
-
-Write-Host "Installing Protocol Buffers"
-Add-Path "C:\CMake\bin"
-Download "$officialUrl" "$cachedUrl" "$zip"
-Verify-Checksum "$zip" "$sha1"
-Extract-7Zip "$zip" C:\Utils
-New-Item -ItemType directory -Force -Path "C:\Utils\protobuf-$version\cmake\build"
-New-Item -ItemType directory -Force -Path "C:\Utils\protobuf-$version\cmake\build\release"
-New-Item -ItemType directory -Force -Path "$installationFolder"
-cd "C:\Utils\protobuf-$version\cmake\build\release"
-cmd /c "`"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Professional\\VC\\Auxiliary\\Build\\vcvars64.bat`" && cmake -G `"NMake Makefiles`" -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$installationFolder ../.. && nmake && nmake install"
-if(![System.IO.File]::Exists("$installationFolder\bin\protoc.exe")){
- Write-Host "Can't find $installationFolder\bin\protoc.exe. Installation probably failed!"
- exit 1
-}
-
-Remove-Item "$zip"
-
-Add-Path "$installationFolder\bin"
-Set-EnvironmentVariable PROTOBUF_INCLUDE "$installationFolder\include"
-Set-EnvironmentVariable PROTOBUF_LIB "$installationFolder\lib"
diff --git a/coin/provisioning/common/windows/install-ruby.ps1 b/coin/provisioning/common/windows/install-ruby.ps1
index d3b949d1..53c8faf5 100644
--- a/coin/provisioning/common/windows/install-ruby.ps1
+++ b/coin/provisioning/common/windows/install-ruby.ps1
@@ -1,35 +1,5 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
@@ -43,7 +13,7 @@ if (Is64BitWinHost) {
$arch = "-x86"
$sha1 = "2639a481c3b5ad11f57d5523cc41ca884286089e"
}
-$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\rubyinstaller-" + $version + $arch + ".exe"
+$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\rubyinstaller-" + $version + $arch + ".exe"
$url_official = "https://github.com/oneclick/rubyinstaller2/releases/download/rubyinstaller-" + $version + "/rubyinstaller-" + $version + $arch + ".exe"
$rubyPackage = "C:\Windows\Temp\rubyinstaller-$version.exe"
@@ -52,6 +22,6 @@ Verify-Checksum $rubyPackage $sha1
Run-Executable $rubyPackage "/dir=C:\Ruby-$version$arch /tasks=modpath /verysilent"
Write-Host "Cleaning $rubyPackage.."
-Remove-Item -Recurse -Force -Path "$rubyPackage"
+Remove "$rubyPackage"
Write-Output "Ruby = $version" >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/install-sccache.ps1 b/coin/provisioning/common/windows/install-sccache.ps1
new file mode 100644
index 00000000..b8f1605c
--- /dev/null
+++ b/coin/provisioning/common/windows/install-sccache.ps1
@@ -0,0 +1,35 @@
+# 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
+
+# Install mozilla sccache
+
+param(
+ [string]$arch="x86_64-pc-windows-msvc",
+ [string]$version="0.2.14",
+ [string]$sha1="bbdceb59d6fd7b6a3af02fb36f65c8bf324757b0"
+)
+
+. "$PSScriptRoot\helpers.ps1"
+
+$basename = "sccache-" + $version + "-" + $arch
+$zipfile = $basename + ".tar.gz"
+$tempfile = "C:\Windows\Temp\" + $zipfile
+$urlCache = "http://ci-files01-hki.ci.qt.io/input/sccache/" + $zipfile
+$urlOfficial = "https://github.com/mozilla/sccache/releases/download/" + $version + "/" + $zipfile
+$targetFolder = "C:\Program Files\"
+
+Write-Host "Downloading sccache $version..."
+Download $urlOfficial $urlCache $tempfile
+Verify-Checksum $tempfile $sha1
+Write-Host "Extracting $tempfile to $targetFolder..."
+Extract-tar_gz $tempfile $targetFolder
+Remove-Item -Path $tempfile
+
+# Turnoff idle timeout to avoid sccache shutting down
+Set-EnvironmentVariable "SCCACHE_IDLE_TIMEOUT" "0"
+
+# add sccache to PATH
+Set-EnvironmentVariable "PATH" "C:\Program Files\$basename\;$([Environment]::GetEnvironmentVariable('PATH', 'Machine'))"
+
+# update versions
+Write-Output "sccache = $version" >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/install-sed.ps1 b/coin/provisioning/common/windows/install-sed.ps1
new file mode 100644
index 00000000..8b9c9671
--- /dev/null
+++ b/coin/provisioning/common/windows/install-sed.ps1
@@ -0,0 +1,30 @@
+# 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
+
+. "$PSScriptRoot\helpers.ps1"
+
+# This script installs sed and it's dependencies
+
+$prog = "sed"
+$version = "4.2.1"
+$sha1 = "dfd3d1dae27a24784d7ab40eb074196509fa48fe"
+$dep_sha1 = "f7edbd7152d8720c95d46dd128b87b8ba48a5d6f"
+$pkg = "$prog-$version-bin.zip"
+$dep_pkg = "$prog-$version-dep.zip"
+$cached_url = "http://ci-files01-hki.ci.qt.io/input/windows/gnuwin32/$pkg"
+$dep_cached_url = "http://ci-files01-hki.ci.qt.io/input/windows/gnuwin32/$dep_pkg"
+$install_location = "c:\Utils\$prog"
+
+$tmp_location = "c:\users\qt\downloads"
+Download $cached_url $cached_url "$tmp_location\$pkg"
+Verify-Checksum "$tmp_location\$pkg" $sha1 sha1
+Download $dep_cached_url $dep_cached_url "$tmp_location\$dep_pkg"
+Verify-Checksum "$tmp_location\$dep_pkg" $dep_sha1 sha1
+
+Extract-7Zip "$tmp_location\$pkg" $install_location
+Extract-7Zip "$tmp_location\$dep_pkg" $install_location
+Remove "$tmp_location\$pkg"
+Remove "$tmp_location\$dep_pkg"
+
+Prepend-Path "$install_location\bin"
+Write-Output "sed = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/install-sevenzip.ps1 b/coin/provisioning/common/windows/install-sevenzip.ps1
index 914895c1..a0d44390 100644
--- a/coin/provisioning/common/windows/install-sevenzip.ps1
+++ b/coin/provisioning/common/windows/install-sevenzip.ps1
@@ -1,52 +1,22 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
# This script installs 7-Zip
-$version = "16.04"
-$nonDottedVersion = "1604"
+$version = "23.01"
+$nonDottedVersion = "2301"
if (Is64BitWinHost) {
$arch = "-x64"
- $sha1 = "338A5CC5200E98EDD644FC21807FDBE59910C4D0"
+ $sha1 = "7DF28D340D7084647921CC25A8C2068BB192BDBB"
} else {
$arch = ""
- $sha1 = "dd1cb1163c5572951c9cd27f5a8dd550b33c58a4"
+ $sha1 = "D5D00E6EA8B8E68CE7A704FD478DC950E543C25C"
}
-$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\7z" + $nonDottedVersion + $arch + ".exe"
+$url_cache = "https://ci-files01-hki.ci.qt.io/input/windows/7z" + $nonDottedVersion + $arch + ".exe"
$url_official = "http://www.7-zip.org/a/7z" + $nonDottedVersion + $arch + ".exe"
$7zPackage = "C:\Windows\Temp\7zip-$nonDottedVersion.exe"
$7zTargetLocation = "C:\Utils\sevenzip\"
@@ -56,7 +26,7 @@ Verify-Checksum $7zPackage $sha1
Run-Executable $7zPackage "/S","/D=$7zTargetLocation"
Write-Host "Cleaning $7zPackage.."
-Remove-Item -Recurse -Force -Path "$7zPackage"
+Remove "$7zPackage"
Add-Path $7zTargetLocation
diff --git a/coin/provisioning/common/windows/install-stm32cubeprogrammer.ps1 b/coin/provisioning/common/windows/install-stm32cubeprogrammer.ps1
new file mode 100644
index 00000000..4df207ce
--- /dev/null
+++ b/coin/provisioning/common/windows/install-stm32cubeprogrammer.ps1
@@ -0,0 +1,20 @@
+# 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
+
+. "$PSScriptRoot\helpers.ps1"
+
+# This script will install STM32CubeProgrammer software needed by MCU RTA
+# Official donwload from https://www.st.com/en/development-tools/stm32cubeprog.html
+
+$version ="2_5_0"
+$url = "http://ci-files01-hki.ci.qt.io/input/windows/STMicroelectronics_v${version}.zip"
+$zip = "C:\Windows\Temp\STMicroelectronics_v${version}.zip"
+
+Download $url $url $zip
+Extract-7Zip $zip "C:\Program Files"
+Remove-Item -Recurse -Force -Path $zip
+
+Write-Output "STM32CubeProgrammer = $version" >> ~/versions.txt
+
+
+
diff --git a/coin/provisioning/common/windows/install-strawberry-perl.ps1 b/coin/provisioning/common/windows/install-strawberry-perl.ps1
index c80f16a4..94cef218 100644
--- a/coin/provisioning/common/windows/install-strawberry-perl.ps1
+++ b/coin/provisioning/common/windows/install-strawberry-perl.ps1
@@ -1,58 +1,28 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
# This script installs Strawberry Perl
-$version = "5.26.0.1"
+$version = "5.32.0.1"
if (Is64BitWinHost) {
$arch = "-64bit"
- $sha1 = "2AE2EDA36A190701399130CBFEE04D00E9BA036D"
+ $sha1 = "9ec5ebc865da82eacc2d95ff2976492ca69934ab"
} else {
$arch = "-32bit"
- $sha1 = "b50b688a879f33941433774b2813bfd4b917e4ee"
+ $sha1 = "6ad89c6358a174c048f113bfd274d2d0378d60aa"
}
$installer_name = "strawberry-perl-" + $version + $arch + ".msi"
-$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\" + $installer_name
+$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\" + $installer_name
$url_official = "http://strawberryperl.com/download/" + $version + "/" + $installer_name
$strawberryPackage = "C:\Windows\Temp\" + $installer_name
Download $url_official $url_cache $strawberryPackage
Verify-Checksum $strawberryPackage $sha1
-Run-Executable "$strawberryPackage" "/QB INSTALLDIR=C:\strawberry REBOOT=REALLYSUPPRESS"
+Run-Executable "msiexec" "/quiet /i $strawberryPackage INSTALLDIR=C:\strawberry REBOOT=REALLYSUPPRESS"
Write-Host "Cleaning $strawberryPackage.."
-Remove-Item -Recurse -Force -Path "$strawberryPackage"
+Remove "$strawberryPackage"
Write-Output "strawberry = $version" >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/install-vcpkg-ports-android.ps1 b/coin/provisioning/common/windows/install-vcpkg-ports-android.ps1
new file mode 100644
index 00000000..646f36cd
--- /dev/null
+++ b/coin/provisioning/common/windows/install-vcpkg-ports-android.ps1
@@ -0,0 +1,23 @@
+# 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
+. "$PSScriptRoot\helpers.ps1"
+
+Write-Host "Installing vcpkg android ports"
+$vcpkgExe = "$env:VCPKG_ROOT\vcpkg.exe"
+$vcpkgRoot = "$env:VCPKG_ROOT"
+
+Set-Location -Path "$PSScriptRoot\vcpkg"
+Copy-Item "$PSScriptRoot\..\shared\vcpkg-configuration.json" -Destination "$PSScriptRoot\vcpkg"
+
+Run-Executable "$vcpkgExe" "install --triplet armeabi-v7a-android-qt --x-install-root armeabi-v7a-android-qt-tmp --debug"
+
+New-Item -Path "$vcpkgRoot" -Name "installed" -ItemType "directory" -Force
+Copy-Item -Path "armeabi-v7a-android-qt-tmp\*" -Destination "$vcpkgRoot\installed" -Recurse -Force
+
+$versions = jq.exe -r '.overrides[] | \"vcpkg \(.name) for android = \(.version)\"' vcpkg.json
+$versions = $versions.Replace("vcpkg", "`nvcpkg")
+Write-Output "$versions" >> ~/versions.txt
+
+Remove-Item -Path "armeabi-v7a-android-qt-tmp" -Recurse -Force
+
+Set-Location "$PSScriptRoot"
diff --git a/coin/provisioning/common/windows/install-vcpkg-ports.ps1 b/coin/provisioning/common/windows/install-vcpkg-ports.ps1
new file mode 100644
index 00000000..55eae4be
--- /dev/null
+++ b/coin/provisioning/common/windows/install-vcpkg-ports.ps1
@@ -0,0 +1,26 @@
+# 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
+. "$PSScriptRoot\helpers.ps1"
+
+Write-Host "Installing vcpkg ports"
+$vcpkgExe = "$env:VCPKG_ROOT\vcpkg.exe"
+$vcpkgRoot = "$env:VCPKG_ROOT"
+
+Set-Location -Path "$PSScriptRoot\vcpkg"
+Copy-Item "$PSScriptRoot\..\shared\vcpkg-configuration.json" -Destination "$PSScriptRoot\vcpkg"
+
+Run-Executable "$vcpkgExe" "install --triplet x64-windows-qt --x-install-root x64-windows-qt-tmp --debug"
+Run-Executable "$vcpkgExe" "install --triplet arm64-windows-qt --x-install-root arm64-windows-qt-tmp --debug"
+
+New-Item -Path "$vcpkgRoot" -Name "installed" -ItemType "directory" -Force
+Copy-Item -Path "x64-windows-qt-tmp\*" -Destination "$vcpkgRoot\installed" -Recurse -Force
+Copy-Item -Path "arm64-windows-qt-tmp\*" -Destination "$vcpkgRoot\installed" -Recurse -Force
+
+$versions = jq.exe -r '.overrides[] | \"vcpkg \(.name) = \(.version)\"' vcpkg.json
+$versions = $versions.Replace("vcpkg", "`nvcpkg")
+Write-Output "$versions" >> ~/versions.txt
+
+Remove-Item -Path "x64-windows-qt-tmp" -Recurse -Force
+Remove-Item -Path "arm64-windows-qt-tmp" -Recurse -Force
+
+Set-Location "$PSScriptRoot"
diff --git a/coin/provisioning/common/windows/install-vcpkg.ps1 b/coin/provisioning/common/windows/install-vcpkg.ps1
new file mode 100644
index 00000000..f5d1dad3
--- /dev/null
+++ b/coin/provisioning/common/windows/install-vcpkg.ps1
@@ -0,0 +1,58 @@
+# 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
+. "$PSScriptRoot\helpers.ps1"
+
+# This script will install vcpkg
+
+Write-Host "Installing vcpkg"
+
+$n = Get-Content "$PSScriptRoot\..\shared\vcpkg_version.txt"
+$n = $n.Split('=')
+$vcpkgVersion = $n[1]
+$nonDottedVersion = $vcpkgVersion.Replace(".", "")
+
+# Download vcpkg
+$vcpkgRoot = "C:\Utils\vcpkg-$vcpkgVersion"
+$vcpkgRepo = Get-Content -Path "$PSScriptRoot\..\shared\vcpkg_registry_mirror.txt" | Select-Object -First 1
+
+Write-Host "Cloning the vcpkg repo"
+git.exe clone "$vcpkgRepo" "$vcpkgRoot"
+git.exe -C "$vcpkgRoot" checkout "tags/$vcpkgVersion"
+
+# Download vcpkg-tool, i.e., vcpkg.exe
+
+$n = Get-Content "$PSScriptRoot\..\shared\vcpkg_tool_release_tag.txt"
+$n = $n.Split('=')
+$vcpkgExeReleaseTag = $n[1]
+$nonDottedReleaseTag = $vcpkgExeReleaseTag.replace('-', "")
+
+$vcpkgExeOfficialUrl = "https://github.com/microsoft/vcpkg-tool/releases/download/$vcpkgExeReleaseTag/vcpkg.exe"
+$vcpkgExeCacheUrl = "\\ci-files01-hki.ci.qt.io\provisioning\vcpkg\vcpkg-$nonDottedReleaseTag-windows-x64.exe"
+$vcpkgExeSHA1 = "F74DCDE7F6F5082EF6DC31FED486FAD69BE8D442"
+$vcpkgExe = "C:\Windows\Temp\vcpkg.exe"
+
+Download "$vcpkgExeOfficialUrl" "$vcpkgExeCacheUrl" "$vcpkgExe"
+Verify-Checksum $vcpkgExe $vcpkgExeSHA1
+Move-Item "$vcpkgExe" -Destination "$vcpkgRoot" -Force
+
+if(![System.IO.File]::Exists("$vcpkgRoot\vcpkg.exe")){
+ Write-Host "Can't find $vcpkgRoot\vcpkg.exe."
+ exit 1
+}
+
+# Disable telemetry
+Set-Content -Value "" -Path "$vcpkgRoot\vcpkg.disable-metrics" -Force
+
+# Setting VCPKG_ROOT using Set-EnvironmentVariable makes the variable only
+# available during build time. In order to make it available during the
+# provisioning, we need to directly set it via $env:VCPKG_ROOT as well.
+Set-EnvironmentVariable "VCPKG_ROOT" "$vcpkgRoot"
+$env:VCPKG_ROOT = "$vcpkgRoot"
+
+# Set a source for vcpkg Binary and Asset Cache
+# The `coin/provisioning/common/windows/mount-vcpkg-cache-drive.ps1` script is
+# mounting the SMB share located in `vcpkg-server.ci.qt.io/vcpkg` to drive V:\
+$env:VCPKG_BINARY_SOURCES = "files,V:/binaries,readwrite"
+$env:X_VCPKG_ASSET_SOURCES = "x-azurl,file:///V:/assets,,readwrite"
+
+Write-Output "vcpkg = $vcpkgVersion" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/install_telegraf.ps1 b/coin/provisioning/common/windows/install_telegraf.ps1
new file mode 100644
index 00000000..d7d339ed
--- /dev/null
+++ b/coin/provisioning/common/windows/install_telegraf.ps1
@@ -0,0 +1,38 @@
+# 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
+
+. "$PSScriptRoot\..\..\common\windows\helpers.ps1"
+
+
+# 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"
+}
+
+$filename = "telegraf-" + $version + "_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
+
+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"
+Copy-Item "$PSScriptRoot\..\..\common\windows\telegraf-coin.conf" C:\telegraf-coin.conf
+
+. "$PSScriptRoot\telegraf_password.ps1"
+
+Start-Process -FilePath C:\Utils\telegraf\telegraf.exe -ArgumentList "--config C:\telegraf-coin.conf"
+
+Write-Output "Telegraf = $version" >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/jom.ps1 b/coin/provisioning/common/windows/jom.ps1
index 7cb60229..77216b85 100644
--- a/coin/provisioning/common/windows/jom.ps1
+++ b/coin/provisioning/common/windows/jom.ps1
@@ -3,7 +3,7 @@
$version = "1_1_2"
$zip = Get-DownloadLocation "jom_$version.zip"
-Download http://download.qt.io/official_releases/jom/jom_$version.zip http://ci-files01-hki.intra.qt.io/input/windows/jom_$version.zip $zip
+Download http://download.qt.io/official_releases/jom/jom_$version.zip http://ci-files01-hki.ci.qt.io/input/windows/jom_$version.zip $zip
Verify-Checksum $zip "80EE5678E714DE99DDAF5F7593AB04DB1C7928E4"
Extract-7Zip $zip C:\Utils\Jom
diff --git a/coin/provisioning/common/windows/libclang-v100-dyn.ps1 b/coin/provisioning/common/windows/libclang-v100-dyn.ps1
new file mode 100644
index 00000000..3bb19670
--- /dev/null
+++ b/coin/provisioning/common/windows/libclang-v100-dyn.ps1
@@ -0,0 +1,50 @@
+param(
+ [Int32]$archVer=32,
+ [string]$toolchain="vs2019",
+ [bool]$setDefault=$true
+)
+. "$PSScriptRoot\helpers.ps1"
+
+$libclang_version="10.0"
+Write-Output "libClang for QtForPython = $libclang_version" >> ~/versions.txt
+
+# PySide versions following Qt6 use a C++ parser based on Clang (http://clang.org/).
+# The Clang library (C-bindings), version 8.0 or higher is required for building.
+
+# Starting from Qt 5.11 QDoc requires Clang to parse C++
+
+$baseDestination = "C:\Utils\libclang-" + $libclang_version + "-dynlibs-" + $toolchain
+$libclang_version = $libclang_version -replace '["."]'
+
+function install() {
+
+ param(
+ [string]$sha1=$1,
+ [string]$destination=$2
+ )
+
+ $zip = "c:\users\qt\downloads\libclang-dyn.7z"
+
+ $script:OfficialUrl = "https://download.qt.io/development_releases/prebuilt/libclang/libclang-release_$libclang_version-based-windows-$toolchain`_$archVer.7z"
+ $script:CachedUrl = "http://ci-files01-hki.ci.qt.io/input/libclang/dynamic/libclang-release_$libclang_version-based-windows-$toolchain`_$archVer.7z"
+
+ Download $OfficialUrl $CachedUrl $zip
+ Verify-Checksum $zip $sha1
+ Extract-7Zip $zip C:\Utils\
+ Rename-Item C:\Utils\libclang $destination
+ Remove-Item -Force -Path $zip
+}
+
+if ( $toolchain -eq "vs2019" ) {
+ if ( $archVer -eq 64 ) {
+ $sha1 = "B2C4F24B2388AEBAA6B8FCE3AE4E63D34D1517FE"
+ }
+ else {
+ $sha1 = "b970f51df255a27e0fdb7b665e70ed5281257f40"
+ }
+}
+
+install $sha1 $baseDestination-$archVer
+
+Set-EnvironmentVariable "LLVM_DYNAMIC_LIBS_100" ($baseDestination + "-_ARCH_")
+
diff --git a/coin/provisioning/common/windows/libclang.ps1 b/coin/provisioning/common/windows/libclang.ps1
index 7caecc96..57f42057 100644
--- a/coin/provisioning/common/windows/libclang.ps1
+++ b/coin/provisioning/common/windows/libclang.ps1
@@ -1,11 +1,11 @@
param(
[Int32]$archVer=32,
- [string]$toolchain="vs2015",
+ [string]$toolchain="vs2019",
[bool]$setDefault=$true
)
. "$PSScriptRoot\helpers.ps1"
-$libclang_version="6.0"
+$libclang_version="15.0.0"
Write-Output "libClang = $libclang_version" >> ~/versions.txt
# PySide versions following 5.6 use a C++ parser based on Clang (http://clang.org/).
@@ -14,7 +14,6 @@ Write-Output "libClang = $libclang_version" >> ~/versions.txt
# Starting from Qt 5.11 QDoc requires Clang to parse C++
$baseDestination = "C:\Utils\libclang-" + $libclang_version + "-" + $toolchain
-$libclang_version = $libclang_version -replace '["."]'
function install() {
@@ -25,57 +24,41 @@ function install() {
$zip = "c:\users\qt\downloads\libclang.7z"
- $script:OfficialUrl = "https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_$libclang_version-windows-$toolchain`_$archVer.7z"
- $script:CachedUrl = "http://ci-files01-hki.intra.qt.io/input/libclang/qt/libclang-release_$libclang_version-windows-$toolchain`_$archVer.7z"
+ $script:OfficialUrl = "https://download.qt.io/development_releases/prebuilt/libclang/qt/libclang-release_$libclang_version-based-windows-$toolchain`_$archVer.7z"
+ $script:CachedUrl = "http://ci-files01-hki.ci.qt.io/input/libclang/qt/libclang-release_$libclang_version-based-windows-$toolchain`_$archVer.7z"
Download $OfficialUrl $CachedUrl $zip
Verify-Checksum $zip $sha1
Extract-7Zip $zip C:\Utils\
Rename-Item C:\Utils\libclang $destination
- Remove-Item -Force -Path $zip
+ Remove "$zip"
}
$toolchainSuffix = ""
-if ( $toolchain -eq "vs2015" ) {
+if ( $toolchain -eq "vs2019" ) {
if ( $archVer -eq 64 ) {
- $sha1 = "a399af949271e6d3bfc578ea2c17ff1d6c6318b9"
- $destination = $baseDestination + "-64"
-
- install $sha1 $destination
+ $sha1 = "e7c2d27f0e99d63e49225cb1be18c76a1e2a124b"
+ }
+ else {
+ $sha1 = ""
}
-
- $archVer=32
- $sha1 = "aa3f68f1cfa87780a4631a98ce883d3d9cb94330"
- $destination = $baseDestination + "-32"
-
- install $sha1 $destination
$toolchainSuffix = "msvc"
}
if ( $toolchain -eq "mingw" ) {
if ( $archVer -eq 64 ) {
- $sha1 = "b382502f82d1cfa7d3cc3016d909d37edc19c22c"
- $destination = $baseDestination + "-64"
-
- install $sha1 $destination
+ $sha1 = "6c9300051533d5648ffe3e8ae1eb00decae8e6bf"
+ }
+ else {
+ $sha1 = ""
}
-
- $archVer=32
- $sha1 = "cbc68e0f93f4cb0ed7084a045b7c07a1980a2a44"
- $destination = $baseDestination + "-32"
-
- install $sha1 $destination
$toolchainSuffix = "mingw"
}
-if ( $setDefault ) {
- Set-EnvironmentVariable "LLVM_INSTALL_DIR" ($baseDestination + "-_ARCH_")
-}
-Set-EnvironmentVariable ("LLVM_INSTALL_DIR_" + $toolchainSuffix) ($baseDestination + "-_ARCH_")
+install $sha1 $baseDestination-$archVer
-if ( $libclang_version -eq "60" ) {
- # This is a hacked static build of libclang which requires special
- # handling on the qdoc side.
- Set-EnvironmentVariable "QDOC_USE_STATIC_LIBCLANG" "1"
+if ( $setDefault ) {
+ Set-EnvironmentVariable "LLVM_INSTALL_DIR" ($baseDestination + "-$archVer")
}
+Set-EnvironmentVariable ("LLVM_INSTALL_DIR_${toolchainSuffix}") ($baseDestination + "-$archVer")
diff --git a/coin/provisioning/common/windows/libusb.ps1 b/coin/provisioning/common/windows/libusb.ps1
index 68375263..d654d4bf 100644
--- a/coin/provisioning/common/windows/libusb.ps1
+++ b/coin/provisioning/common/windows/libusb.ps1
@@ -1,49 +1,20 @@
-#############################################################################
-#
# Copyright (C) 2017 The Qt Company Ltd.
-# Contact: http://www.qt.io/licensing/
-#
-# This file is part of the provisioning scripts of the Qt Toolkit.
-#
-# $QT_BEGIN_LICENSE:LGPL21$
-# Commercial License Usage
-# Licensees holding valid commercial Qt licenses may use this file in
-# accordance with the commercial license agreement provided with the
-# Software or, alternatively, in accordance with the terms contained in
-# a written agreement between you and The Qt Company. For licensing terms
-# and conditions see http://www.qt.io/terms-conditions. For further
-# information use the contact form at http://www.qt.io/contact-us.
-#
-# GNU Lesser General Public License Usage
-# Alternatively, this file may be used under the terms of the GNU Lesser
-# General Public License version 2.1 or version 3 as published by the Free
-# Software Foundation and appearing in the file LICENSE.LGPLv21 and
-# LICENSE.LGPLv3 included in the packaging of this file. Please review the
-# following information to ensure the GNU Lesser General Public License
-# requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-# http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-#
-# As a special exception, The Qt Company gives you certain additional
-# rights. These rights are described in The Qt Company LGPL Exception
-# version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-#
-# $QT_END_LICENSE$
-#
-############################################################################
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# libusb-1.0 is needed by qt-apps/qdb
. "$PSScriptRoot\helpers.ps1"
-$archive = Get-DownloadLocation "libusb-1.0.21-ife3db79196-msvc2015.7z"
+$archive = Get-DownloadLocation "libusb-1.0.26.7z"
+
$libusb_location = "C:\Utils\libusb-1.0"
-Copy-Item \\ci-files01-hki.intra.qt.io\provisioning\libusb-1.0\libusb-1.0.21-ife3db79196-msvc2015.7z $archive
-Verify-Checksum $archive "396a3224c306480f24a583850d923d06aa4377c1"
+Copy-Item \\ci-files01-hki.ci.qt.io\provisioning\libusb-1.0\libusb-1.0.26.7z $archive
+Verify-Checksum $archive "89b50c7d6085350ed809a12b19131ff4f608b2f2"
Extract-7Zip $archive $libusb_location
# Tell qt-apps/qdb build system where to find libusb
Set-EnvironmentVariable "LIBUSB_PATH" $libusb_location
-Write-Output "libusb = libusb-1.0.21" >> ~/versions.txt
+Write-Output "libusb = libusb-1.0.26" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/longpath.ps1 b/coin/provisioning/common/windows/longpath.ps1
new file mode 100644
index 00000000..31666ef4
--- /dev/null
+++ b/coin/provisioning/common/windows/longpath.ps1
@@ -0,0 +1,2 @@
+New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
+
diff --git a/coin/provisioning/common/windows/mesa_llvmpipe.ps1 b/coin/provisioning/common/windows/mesa_llvmpipe.ps1
index ee792896..cae1dab8 100644
--- a/coin/provisioning/common/windows/mesa_llvmpipe.ps1
+++ b/coin/provisioning/common/windows/mesa_llvmpipe.ps1
@@ -1,45 +1,15 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
$version = "11_2_2"
$package = "C:\Windows\temp\opengl32sw.7z"
-$mesaOpenglSha1_64 = "b2ffa5f230a0caa2c2e0bb9a5398bcfb81a0e5d1"
-$mesaOpenglUrl_64_cache = "http://ci-files01-hki.intra.qt.io/input/windows/opengl32sw-64-mesa_$version.7z"
-$mesaOpenglUrl_64_alt = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-64-mesa_$version.7z"
-$mesaOpenglSha1_32 = "e742e9d4e16b9c69b6d844940861d3ef1748356b"
-$mesaOpenglUrl_32_cache = "http://ci-files01-hki.intra.qt.io/input/windows/opengl32sw-32-mesa_$version.7z"
-$mesaOpenglUrl_32_alt = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-32-mesa_$version.7z"
+$mesaOpenglSha1_64 = "58f948746696b17a594b2f542e87b0e831b28dc3"
+$mesaOpenglUrl_64_cache = "http://ci-files01-hki.ci.qt.io/input/windows/opengl32sw-64-mesa_$version-signed_sha256.7z"
+$mesaOpenglUrl_64_alt = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-64-mesa_$version-signed_sha256.7z"
+$mesaOpenglSha1_32 = "974f468acaa0018d46607e2100f1214fecd35bd4"
+$mesaOpenglUrl_32_cache = "http://ci-files01-hki.ci.qt.io/input/windows/opengl32sw-32-mesa_$version-signed_sha256.7z"
+$mesaOpenglUrl_32_alt = "http://download.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-32-mesa_$version-signed_sha256.7z"
function Extract-Mesa
{
@@ -53,7 +23,7 @@ function Extract-Mesa
Verify-Checksum $package $sha1
Extract-7Zip $package $targetFolder
Write-Host "Removing $package"
- Remove-Item -Path $package
+ Remove "$package"
}
if (Is64BitWinHost) {
diff --git a/coin/provisioning/common/windows/mimersql.ps1 b/coin/provisioning/common/windows/mimersql.ps1
new file mode 100644
index 00000000..b5e041d0
--- /dev/null
+++ b/coin/provisioning/common/windows/mimersql.ps1
@@ -0,0 +1,31 @@
+# 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
+
+. "$PSScriptRoot\helpers.ps1"
+
+# This script will install Mimer SQL
+
+
+$version = "1107b"
+
+$url_cache = "https://ci-files01-hki.ci.qt.io/input/windows/MimerSQLInstaller_x64_" + $version + ".exe"
+$url_official = "https://install.mimer.com/qt/windows_" + $version + "/MimerSQLInstaller_x64.exe"
+$mimersqlPackage = "C:\Windows\Temp\MimerSQLInstaller_x64_" + $version + ".exe"
+$sha1 = "A709A06EA1D897B13FA10DBDD4BE3BD0FEB04B28"
+$mimer_dir="c:\MimerSQL"
+
+Download $url_official $url_cache $mimersqlPackage
+Verify-Checksum $mimersqlPackage $sha1
+Run-Executable "$mimersqlPackage" "/install InstallFolder=$mimer_dir /passive"
+
+Set-EnvironmentVariable "MIMERSQL_DEV_ROOT" "$mimer_dir\dev"
+
+Write-Host "Cleaning $mimersqlPackage.."
+#Remove "$mimersqlPackage"
+Remove "$mimer_dir\dev\include\odbcinst.h"
+Remove "$mimer_dir\dev\include\Sql.h"
+Remove "$mimer_dir\dev\include\sqlext.h"
+Remove "$mimer_dir\dev\include\sqltypes.h"
+Remove "$mimer_dir\dev\include\sqlucode.h"
+
+Write-Output "Mimer SQL = $version" >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/mount-vcpkg-cache-drive.ps1 b/coin/provisioning/common/windows/mount-vcpkg-cache-drive.ps1
new file mode 100644
index 00000000..25a7536c
--- /dev/null
+++ b/coin/provisioning/common/windows/mount-vcpkg-cache-drive.ps1
@@ -0,0 +1,20 @@
+# 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
+
+$credentialsFile = "$env:USERPROFILE\vcpkg_samba_credentials"
+
+# Extract username and password from the credentials
+$username = "vcpkg"
+$securePassword = Get-Content -Path "$credentialsFile" -TotalCount 1 | ConvertTo-SecureString -AsPlainText -Force
+
+# Create a PSCredential object
+$credential = New-Object PSCredential -ArgumentList $username, $securePassword
+
+# Mount the SMB share
+# Check if the mount was successful
+if (New-PSDrive -Persist -Scope Global -Name V -PSProvider FileSystem -Root \\vcpkg-server.ci.qt.io\vcpkg -Credential $credential)
+{
+ Write-Host "SMB share mounted successfully!"
+} else {
+ Write-Host "Failed to mount SMB share."
+}
diff --git a/coin/provisioning/common/windows/mqtt_broker.ps1 b/coin/provisioning/common/windows/mqtt_broker.ps1
index 7c13cfb7..4161ddea 100644
--- a/coin/provisioning/common/windows/mqtt_broker.ps1
+++ b/coin/provisioning/common/windows/mqtt_broker.ps1
@@ -1,35 +1,5 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
@@ -38,7 +8,7 @@ $zip = Get-DownloadLocation "pahotest.zip"
$commitSHA = "20bad2475c27a6e1d24a56d90a9fceb40963261e"
$sha1 = "a0ac88715c2aebb9573a113dc13925a90da19233"
-$internalUrl = "http://ci-files01-hki.intra.qt.io/input/mqtt_broker/paho.mqtt.testing-$commitSHA.zip"
+$internalUrl = "http://ci-files01-hki.ci.qt.io/input/mqtt_broker/paho.mqtt.testing-$commitSHA.zip"
$externalUrl = "https://github.com/eclipse/paho.mqtt.testing/archive/$commitSHA.zip"
Download $externalUrl $internalUrl $zip
@@ -46,6 +16,6 @@ Verify-Checksum $zip $sha1
Write-Host "MQTT: Installing $zip..."
Extract-7Zip $zip C:\Utils
-Remove-Item -Path $zip
+Remove "$zip"
Set-EnvironmentVariable "MQTT_TEST_BROKER_LOCATION" "C:\Utils\paho.mqtt.testing-$commitSHA\interoperability\startbroker.py"
diff --git a/coin/provisioning/common/windows/msvc-2013-update5.ps1 b/coin/provisioning/common/windows/msvc-2013-update5.ps1
index 1d717fe6..c75ca030 100644
--- a/coin/provisioning/common/windows/msvc-2013-update5.ps1
+++ b/coin/provisioning/common/windows/msvc-2013-update5.ps1
@@ -1,42 +1,12 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
# Install Visual Studio 2013 update 5
$version = "2013 Update 5 (KB2829760)"
$package = "C:\Windows\Temp\vs12-kb2829760.exe"
-$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\VS2013.5.exe"
+$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\VS2013.5.exe"
Write-Host "Fetching patch for Visual Studio $version..."
Copy-Item $url_cache $package
@@ -45,6 +15,6 @@ Write-Host "Installing Update 5 for Visual Studio $version..."
Run-Executable "$package" "/norestart /passive"
Write-Host "Removing $package ..."
-Remove-Item $package
+Remove "$package"
Write-Output "Visual Studio = $version" >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/msvc_2015_update3_patch.ps1 b/coin/provisioning/common/windows/msvc_2015_update3_patch.ps1
deleted file mode 100644
index bfbb397a..00000000
--- a/coin/provisioning/common/windows/msvc_2015_update3_patch.ps1
+++ /dev/null
@@ -1,67 +0,0 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-. "$PSScriptRoot\helpers.ps1"
-
-# Install Cumulative Servicing Release Visual Studio 2015 update 3
-# Original download page: https://msdn.microsoft.com/en-us/library/mt752379.aspx
-
-$version = "2015 update3 (KB3165756)"
-$packagePath = "C:\Windows\Temp"
-$package = $packagePath + "\vs14-kb3165756.exe"
-$url_cache = "http://ci-files01-hki.intra.qt.io/input/windows/vs14-kb3165756.exe"
-$url_official = "http://go.microsoft.com/fwlink/?LinkID=816878"
-$sha1 = "6a21d9b291ca75d44baad95e278fdc0d05d84c02"
-$preparedPackage = "\\ci-files01-hki.intra.qt.io\provisioning\windows\vs14-kb3165756-update"
-
-if (Test-Path $preparedPackage) {
- # The prepared package contains updated packages so that not everything has to be downloaded
- Write-Host "Using prepared package"
- Copy-Item -Recurse $preparedPackage $packagePath
- # Remove the whole downloaded folder
- $toRemove = $packagePath + "\vs14-kb3165756-update"
- $executable = "$toRemove\vs14-kb3165756.exe"
-} else {
- Write-Host "Fetching patch for Visual Studio $version..."
- Download $url_official $url_cache $package
- $executable = $package
- # Remove the downloaded executable
- $toRemove = $executable
-}
-
-Verify-Checksum $executable $sha1
-Write-Host "Installing patch for Visual Studio $version..."
-Run-Executable $executable "/norestart /passive"
-
-Remove-Item -Force -Recurse -Path $toRemove
-
-Write-Output "Visual Studio = $version" >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/msys.ps1 b/coin/provisioning/common/windows/msys.ps1
index df67cc20..a7414788 100644
--- a/coin/provisioning/common/windows/msys.ps1
+++ b/coin/provisioning/common/windows/msys.ps1
@@ -3,7 +3,7 @@
# This script will install msys which is needed for configuring openssl for Android
$version = "1.0.11"
-$url = "\\ci-files01-hki.intra.qt.io\provisioning\windows\msys-$version.7z"
+$url = "\\ci-files01-hki.ci.qt.io\provisioning\windows\msys-$version.7z"
$zip = Get-DownloadLocation ("msys-$version.7z")
$sha1 = "22cd76f1263db8c72727a9537228c481ff33c285"
@@ -11,6 +11,6 @@ $destination = "C:\msys"
Download $url $url $zip
Verify-Checksum $zip $sha1
-C:\Utils\sevenzip\7z.exe x $zip -oC:\
-
+Extract-7Zip $zip C:\
+Set-EnvironmentVariable "MSYS_PATH" "$destination\\1.0\\bin"
Write-Output "Msys = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/mysql.ps1 b/coin/provisioning/common/windows/mysql.ps1
index 29ce0ab4..10a8b633 100644
--- a/coin/provisioning/common/windows/mysql.ps1
+++ b/coin/provisioning/common/windows/mysql.ps1
@@ -1,83 +1,37 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
# This script installs MySQL $version.
# Both x86 and x64 versions needed when x86 integrations are done on x64 machine
-$version = "5.6.11"
-$baseNameX64 = "mysql-$version-winx64"
-$packagex64 = "C:\Windows\temp\$baseNameX64.zip"
-$baseNameX86 = "mysql-$version-win32"
-$packagex86 = "C:\Windows\temp\$baseNameX86.zip"
-$installFolder = "C:\Utils\my_sql"
-
-function DownloadAndInstall
-{
- Param (
- [string]$internalUrl,
- [string]$package,
- [string]$installPath
+$version = "8.0.36"
+$installFolder = "C:\Utils"
+$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(
+ [string]$officialUrl,
+ [string]$cacheUrl,
+ [string]$zip,
+ [string]$sha
)
- Write-Host "Fetching from URL ..."
- Copy-Item $internalUrl $package
-
- $zipDir = [io.path]::GetFileNameWithoutExtension($package)
- Extract-7Zip $package $installPath "$zipDir\lib $zipDir\bin $zipDir\share $zipDir\include"
-
- Remove-Item -Path $package
-}
-
-if (Is64BitWinHost) {
- # Install x64 bit version
- $architecture = "x64"
- $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\mysql-$version-winx64.zip"
-
- DownloadAndInstall $internalUrl $packagex64 $installFolder
-
- Set-EnvironmentVariable "MYSQL_INCLUDE_x64" "$installFolder\$baseNameX64\include"
- Set-EnvironmentVariable "MYSQL_LIB_x64" "$installFolder\$baseNameX64\lib"
+ Download $officialUrl $cacheURl $zip
+ Verify-Checksum $zip $sha
+ Extract-7Zip $zip $installFolder
+ Remove $zip
}
-# Install x86 bit version
-$architecture = "x86"
-$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\mysql-$version-win32.zip"
-DownloadAndInstall $internalUrl $packagex86 $installFolder
+Install $officialUrl $cacheURl $zip $sha
-Set-EnvironmentVariable "MYSQL_INCLUDE_x86" "$installFolder\$baseNameX86\include"
-Set-EnvironmentVariable "MYSQL_LIB_x86" "$installFolder\$baseNameX86\lib"
+# 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-${version}-winx64"
+Set-EnvironmentVariable "ENV_MySQL_LIBRARY_DIR" "${installFolder}\mysql-${version}-winx64\lib"
-# Store version information to ~/versions.txt, which is used to print version information to provision log.
Write-Output "MySQL = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/ninja.ps1 b/coin/provisioning/common/windows/ninja.ps1
index 95932c61..d5557d82 100644
--- a/coin/provisioning/common/windows/ninja.ps1
+++ b/coin/provisioning/common/windows/ninja.ps1
@@ -1,13 +1,35 @@
. "$PSScriptRoot\helpers.ps1"
-$zip = Get-DownloadLocation "ninja-1.6.0-win-x86.zip"
+$zip = Get-DownloadLocation "ninja-1.10.2-win-x86.zip"
-Download https://github.com/ninja-build/ninja/releases/download/v1.6.0/ninja-win.zip \\ci-files01-hki.intra.qt.io\provisioning\ninja\ninja-1.6.0-win-x86.zip $zip
-Verify-Checksum $zip "E01093F6533818425F8EFB0843CED7DCAABEA3B2"
+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"
Extract-7Zip $zip C:\Utils\Ninja
-Remove-Item -Path $zip
+Remove "$zip"
Add-Path "C:\Utils\Ninja"
-Write-Output "Ninja = 1.6.0" >> ~/versions.txt
+Write-Output "Ninja = 1.10.2" >> ~/versions.txt
+
+
+$manifest = @"
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
+ <application>
+ <windowsSettings>
+ <activeCodePage xmlns="http://schemas.microsoft.com/SMI/2019/WindowsSettings">UTF-8</activeCodePage>
+ <longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
+ </windowsSettings>
+ </application>
+</assembly>
+"@
+
+
+$vs2019 = [System.IO.File]::Exists("C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat")
+
+if($vs2019) {
+Invoke-MtCommand "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64 $manifest "C:\Utils\Ninja\ninja.exe"
+} 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
new file mode 100644
index 00000000..5e9b8a0c
--- /dev/null
+++ b/coin/provisioning/common/windows/nodejs.ps1
@@ -0,0 +1,31 @@
+# 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
+
+. "$PSScriptRoot\helpers.ps1"
+
+# This script will install Node.js
+# Needed by QtWebengine
+
+$version = "20.7.0"
+if (Is64BitWinHost) {
+ $arch = "x64"
+ $sha256 = "b3e5cbf8e247c75f9ddd235d49cfe40f25dde65bdd0eec4cefbca2805d80376b"
+} else {
+ $arch = "x86"
+ $sha256 = "d6a3c63a5ae71374c144a33c418ab96be497b08df0e9f51861a78127db03aeb5"
+}
+
+$package = "C:\Windows\temp\nodejs-$version.7z"
+$targetFolder = "C:\Utils"
+$installFolder = "C:\Utils\node-v$version-win-$arch"
+$externalUrl = "https://nodejs.org/dist/v$version/node-v$version-win-$arch.7z"
+$internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/node-v$version-win-$arch.7z"
+
+Write-Host "Installing Node.js"
+Download $externalUrl $internalUrl $package
+Verify-Checksum $package $sha256 "sha256"
+Extract-7Zip $package $targetFolder
+Add-Path $installFolder
+Remove $package
+
+Write-Output "Node.js = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/opcua_unifiedautomation.ps1 b/coin/provisioning/common/windows/opcua_unifiedautomation.ps1
index 70fcaae0..4542b34c 100644
--- a/coin/provisioning/common/windows/opcua_unifiedautomation.ps1
+++ b/coin/provisioning/common/windows/opcua_unifiedautomation.ps1
@@ -1,35 +1,5 @@
-#############################################################################
-##
-## Copyright (C) 2019 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
@@ -44,7 +14,7 @@ function DownloadAndInstallUA
$zip = Get-DownloadLocation "uasdkcpp.zip"
Write-Host "UACPPSDK: Downloading Unified Automation CPP installer..."
- $internalUrl = "http://ci-files01-hki.intra.qt.io/input/opcua_uacpp/$InstallerFileName.zip"
+ $internalUrl = "http://ci-files01-hki.ci.qt.io/input/opcua_uacpp/$InstallerFileName.zip"
# No public download link exists
$externalUrl = $internalUrl
@@ -53,7 +23,7 @@ function DownloadAndInstallUA
Write-Host "UACPPSDK: Extracting $zip..."
Extract-7Zip $zip (Get-DefaultDownloadLocation)
- Remove-Item -Path $zip
+ Remove "$zip"
$executable = (Get-DefaultDownloadLocation) + "$InstallerFileName.exe"
# We cannot call the installer as the x86 and x64 versions of the installer are not
@@ -65,7 +35,7 @@ function DownloadAndInstallUA
#Remove-Item $executable
Extract-7Zip $executable $Destination
- Remove-Item $executable
+ Remove "$executable"
}
#x86 version
diff --git a/coin/provisioning/common/windows/openssl-arm64.ps1 b/coin/provisioning/common/windows/openssl-arm64.ps1
new file mode 100644
index 00000000..2a3de12d
--- /dev/null
+++ b/coin/provisioning/common/windows/openssl-arm64.ps1
@@ -0,0 +1,44 @@
+# 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
+
+. "$PSScriptRoot\helpers.ps1"
+
+# This script installs OpenSSL ARM64 $version.
+
+##### OpenSSL ARM64 has been pre-built with following commands #####
+# Two different builds were done to the same folder C:\openssl_arm64\. One with '--debug' and one with '--release' parameter
+# From Visual studio 'C++ Universal Windows Platform support for v142 build tools (ARM64)' and 'Windows Universal C Runtime' were installed
+# cd C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build
+# call vcvarsamd64_arm64
+# curl -o C:\Utils\openssl-3.0.7.zip http://ci-files01-hki.ci.qt.io/input/openssl/openssl-3.0.7.zip
+# cd C:\Utils
+# C:\Utils\sevenzip\7z.exe x C:\Utils\openssl-3.0.7.zip
+# cd C:\Utils\openssl-3.0.7
+# perl Configure no-asm VC-WIN64-ARM --debug --prefix=C:\openssl_arm64\ --openssldir=C:\openssl_arm64\
+# nmake
+# nmake install
+#
+# perl Configure no-asm VC-WIN64-ARM --release --prefix=C:\openssl_arm64\ --openssldir=C:\openssl_arm64\
+# nmake
+# nmake install
+#################################################################################################################################################
+
+$version = "3_0_7"
+$url = "\\ci-files01-hki.ci.qt.io\provisioning\openssl\openssl-$version-arm64.zip"
+$sha1 = "19be15069d981b4a96f5715f039df7aaa7456d52"
+$installFolder = "C:\openssl_arm64"
+$zip_package = "C:\Windows\Temp\$version.zip"
+
+Write-Host "Fetching from URL ..."
+Download $url $url $zip_package
+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"
+
+# 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/openssl.ps1 b/coin/provisioning/common/windows/openssl.ps1
index 4cc6a3b3..8f59f9d2 100644
--- a/coin/provisioning/common/windows/openssl.ps1
+++ b/coin/provisioning/common/windows/openssl.ps1
@@ -1,42 +1,12 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
# This script installs OpenSSL $version.
# Both x86 and x64 versions needed when x86 integrations are done on x64 machine
-$version = "1_0_2p"
+$version = "3_0_7"
$packagex64 = "C:\Windows\Temp\Win64OpenSSL-$version.exe"
$packagex86 = "C:\Windows\Temp\Win32OpenSSL-$version.exe"
@@ -46,8 +16,8 @@ if (Is64BitWinHost) {
$architecture = "x64"
$installFolder = "C:\openssl"
$externalUrl = "https://slproweb.com/download/Win64OpenSSL-$version.exe"
- $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\Win64OpenSSL-$version.exe"
- $sha1 = "ec8b4111afb86ffc81837a30667aa076afe9d1e6"
+ $internalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\openssl\Win64OpenSSL-$version.exe"
+ $sha1 = "2fb73f233bc565939312782b8157bebc26a5e17b"
Write-Host "Fetching from URL ..."
Download $externalUrl $internalUrl $packagex64
@@ -56,11 +26,12 @@ if (Is64BitWinHost) {
Run-Executable "$packagex64" "/SP- /SILENT /LOG /SUPPRESSMSGBOXES /NORESTART /DIR=$installFolder"
Write-Host "Remove downloaded $packagex64 ..."
- Remove-Item -Path $packagex64
+ Remove "$packagex64"
Set-EnvironmentVariable "OPENSSL_CONF_x64" "$installFolder\bin\openssl.cfg"
Set-EnvironmentVariable "OPENSSL_INCLUDE_x64" "$installFolder\include"
Set-EnvironmentVariable "OPENSSL_LIB_x64" "$installFolder\lib"
+ Prepend-Path "$installFolder\bin"
}
# Install x86 bit version
@@ -73,8 +44,8 @@ if (Is64BitWinHost) {
}
$externalUrl = "https://slproweb.com/download/Win32OpenSSL-$version.exe"
-$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\openssl\Win32OpenSSL-$version.exe"
-$sha1 = "753d6b2cb8b6c808f6212bd21b6e6e7822a4e236"
+$internalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\openssl\Win32OpenSSL-$version.exe"
+$sha1 = "ddead693fa279ad6b1baf123b3af51a9ef289dc1"
Write-Host "Fetching from URL ..."
Download $externalUrl $internalUrl $packagex86
@@ -83,7 +54,7 @@ Write-Host "Installing $packagex86 ..."
Run-Executable "$packagex86" "/SP- /SILENT /LOG /SUPPRESSMSGBOXES /NORESTART /DIR=$installFolder"
Write-Host "Remove downloaded $packagex86 ..."
-Remove-Item -Path $packagex86
+Remove "$packagex86"
Set-EnvironmentVariable "OPENSSL_CONF_x86" "$installFolder\bin\openssl.cfg"
Set-EnvironmentVariable "OPENSSL_INCLUDE_x86" "$installFolder\include"
diff --git a/coin/provisioning/common/windows/postgresql.ps1 b/coin/provisioning/common/windows/postgresql.ps1
index 46d7501a..3bb99d47 100644
--- a/coin/provisioning/common/windows/postgresql.ps1
+++ b/coin/provisioning/common/windows/postgresql.ps1
@@ -1,42 +1,12 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
# This script installs postgresql $version.
# Both x86 and x64 versions needed when x86 integrations are done on x64 machine
-$version = "9.1.9-1"
+$version = "9.6.16-1"
$packagex64 = "C:\Windows\temp\postgresql-$version-windows-x64-binaries.zip"
$packagex86 = "C:\Windows\temp\postgresql-$version-windows-binaries.zip"
@@ -45,8 +15,8 @@ if (Is64BitWinHost) {
$architecture = "x64"
$installFolder = "C:\Utils\postgresql"
$externalUrl = "http://get.enterprisedb.com/postgresql/postgresql-$version-windows-x64-binaries.zip"
- $internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\postgresql-$version-windows-x64-binaries.zip"
- $sha1 = "4da0453cdfda335e064d4437cf5bb9d356054cfd"
+ $internalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\windows\postgresql-$version-windows-x64-binaries.zip"
+ $sha1 = "5dd604f91973112209362b5abbbd1220c026f645"
Write-Host "Fetching from URL ..."
Download $externalUrl $internalUrl $packagex64
@@ -55,7 +25,10 @@ if (Is64BitWinHost) {
Extract-7Zip $packagex64 $installFolder "pgsql\lib pgsql\bin pgsql\share pgsql\include"
Write-Host "Remove downloaded $packagex64 ..."
- Remove-Item -Path $packagex64
+ Remove $packagex64
+ # Remove pthread.h file so it won't be used in mingw builds (QTBUG-79555)
+ Remove "$installFolder\pgsql\include\pthread.h"
+ Remove "$installFolder\pgsql\include\unistd.h"
Set-EnvironmentVariable "POSTGRESQL_INCLUDE_x64" "$installFolder\pgsql\include"
Set-EnvironmentVariable "POSTGRESQL_LIB_x64" "$installFolder\pgsql\lib"
@@ -64,8 +37,8 @@ if (Is64BitWinHost) {
# Install x86 bit version
$architecture = "x86"
$externalUrl = "http://get.enterprisedb.com/postgresql/postgresql-$version-windows-binaries.zip"
-$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\postgresql-$version-windows-binaries.zip"
-$sha1 = "eb4f01845e1592800edbb74f60944b6c0aca51a9"
+$internalUrl = "\\ci-files01-hki.ci.qt.io\provisioning\windows\postgresql-$version-windows-binaries.zip"
+$sha1 = "46309190e60eead99c2d39c1dd18a91f2104d000"
if (Is64BitWinHost) {
$installFolder = "C:\Utils\postgresql$architecture"
} else {
@@ -80,7 +53,10 @@ Write-Host "Installing $packagex86 ..."
Extract-7Zip $packagex86 $installFolder "pgsql\lib pgsql\bin pgsql\share pgsql\include"
Write-Host "Remove downloaded $packagex86 ..."
-Remove-Item -Path $packagex86
+Remove $packagex86
+# Remove pthread.h file so it won't be used in mingw builds (QTBUG-79555)
+Remove "$installFolder\pgsql\include\pthread.h"
+Remove "$installFolder\pgsql\include\unistd.h"
Set-EnvironmentVariable "POSTGRESQL_INCLUDE_x86" "$installFolder\pgsql\include"
Set-EnvironmentVariable "POSTGRESQL_LIB_x86" "$installFolder\pgsql\lib"
diff --git a/coin/provisioning/common/windows/protobuf.ps1 b/coin/provisioning/common/windows/protobuf.ps1
new file mode 100644
index 00000000..c0f7b257
--- /dev/null
+++ b/coin/provisioning/common/windows/protobuf.ps1
@@ -0,0 +1,118 @@
+# 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
+
+. "$PSScriptRoot\helpers.ps1"
+
+# Here we build protobuf libraries for MinGW and MSVC.
+# Since it's a c++ library we need both msvc and mingw because they mangle symbols differently.
+# For MSVC it builds with both debug and release configurations because of the visual c++ runtime.
+# For MinGW we only need one, so we only build with release.
+# The function below takes care of the common part of building - invoking cmake,
+# calling ninja and installing it to a directory which we set an environment variable to.
+# Because we have two compilers we also have two env. vars. and then each
+# config in CI has the Protobuf_ROOT set to the appropriate one.
+function build-install-protobuf {
+ param(
+ [string]$CC,
+ [string]$CXX,
+ [string]$BuildType,
+ [string]$Postfix, # Used for install-path and the environment variable name
+ [string[]]$ExtraArguments = @()
+ )
+ $installPrefix = "C:\Utils\protobuf"
+ $installPath = "${installPrefix}-$Postfix"
+ Write-Output "Configuring and building protobuf for $CXX"
+ $oldCC = $env:CC
+ $oldCXX = $env:CXX
+ $env:CC = $CC
+ $env:CXX = $CXX
+ mkdir build
+ Push-Location build
+ cmake .. -G"Ninja Multi-Config" -DCMAKE_CONFIGURATION_TYPES="$BuildType" -DCMAKE_INSTALL_PREFIX="$installPath" -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_WITH_ZLIB=OFF -DCMAKE_DEBUG_POSTFIX="d" -DCMAKE_RELWITHDEBINFO_POSTFIX="rd" $ExtraArguments
+ # ninja install:all # This is broken and does not work
+ foreach ($config in $BuildType.split(";")) {
+ ninja -f "build-$config.ninja" install
+ }
+ $env:CC = $oldCC
+ $env:CXX = $oldCXX
+ Set-EnvironmentVariable "Protobuf_ROOT_$Postfix" "$installPath"
+ # Set environment variable without "Machine" scope to be used by grpc.ps1 script
+ [Environment]::SetEnvironmentVariable("Protobuf_ROOT_$Postfix", "$installPath")
+ Pop-Location
+ Remove build
+}
+
+function Find-Tool {
+ param(
+ [string]$Name,
+ [string]$Path
+ )
+ # Is tool missing from path?
+ if (!(Get-Command $Name -ErrorAction SilentlyContinue)) {
+ # Is tool in the $Path directory?
+ if (Test-Path "$Path\$Name") {
+ $env:Path += ";$Path"
+ }
+ else {
+ throw "Cannot find $Name in path or $Name in $Name, something is configured wrong"
+ }
+ }
+}
+# This script is fairly late in provisioning so both of these should be present!
+Find-Tool -Name "cmake.exe" -Path "C:\CMake\bin"
+Find-Tool -Name "ninja.exe" -Path "C:\Utils\Ninja"
+
+$version = "21.9"
+$sha1 = "3226a0e49d048759b702ae524da79387c59f05cc"
+$internalUrl = "http://ci-files01-hki.ci.qt.io/input/protobuf/protobuf-all-$version.zip"
+$externalUrl = "https://github.com/protocolbuffers/protobuf/releases/download/v$version/protobuf-all-$version.zip"
+
+$targetDir = "$env:HOMEDRIVE\$env:HOMEPATH\protobuf-$version"
+$targetFile = "$targetDir.zip"
+Download $externalUrl $internalUrl $targetFile
+Verify-Checksum $targetFile $sha1
+Extract-7Zip $targetFile (Join-Path $env:HOMEDRIVE $env:HOMEPATH)
+Remove $targetFile
+
+
+# cd into the cmake directory where the CMakeLists.txt file is located
+# then we build in a build\ subfolder there for simplicity's sake
+Push-Location $targetDir
+
+### MinGW
+
+# Check if mingw is where we expect it to be and add it to path:
+$mingwPath = [System.Environment]::GetEnvironmentVariable("MINGW_PATH", [System.EnvironmentVariableTarget]::Machine) + "\bin"
+if (!(Test-Path $mingwPath)) {
+ throw "Cannot find mingw in $mingwPath, something is configured wrong"
+}
+
+$oldPath = $env:Path
+$env:Path = "$mingwPath;$env:Path"
+build-install-protobuf -CC "gcc" -CXX "g++" -BuildType "Release;RelWithDebInfo;Debug" -Postfix "mingw"
+$env:Path = $oldPath
+
+### LLVM MinGW
+
+$llvmMingwPath = "C:\llvm-mingw"
+if (!(Test-Path $llvmMingwPath)) {
+ throw "Cannot find llvm-mingw in $llvmMingwPath, something is configured wrong"
+}
+
+$oldPath = $env:Path
+$env:Path = "$llvmMingwPath\bin;$env:Path"
+build-install-protobuf -CC "clang" -CXX "clang++" -BuildType "Release;RelWithDebInfo;Debug" -Postfix "llvm_mingw"
+$env:Path = $oldPath
+
+### MSVC
+
+EnterVSDevShell
+
+# We pass along an extra argument to stop protobuf linking with the static runtime
+build-install-protobuf -CC "cl" -CXX "cl" -BuildType "Release;RelWithDebInfo;Debug" -Postfix "msvc" -ExtraArguments @("-Dprotobuf_MSVC_STATIC_RUNTIME=OFF")
+
+$env:Path = $oldPath
+Pop-Location
+Remove $targetDir
+
+Write-Output "Protobuf = $version" >> ~/versions.txt
diff --git a/coin/provisioning/common/windows/python.ps1 b/coin/provisioning/common/windows/python.ps1
index aee4c199..d403a834 100644
--- a/coin/provisioning/common/windows/python.ps1
+++ b/coin/provisioning/common/windows/python.ps1
@@ -1,35 +1,5 @@
-#############################################################################
-##
-## Copyright (C) 2016 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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.
@@ -49,19 +19,40 @@ if ( $archVer -eq 64 ) {
}
$package = "C:\Windows\temp\python-$version.msi"
$externalUrl = "https://www.python.org/ftp/python/$version/python-$version" + $arch + ".msi"
-$internalUrl = "\\ci-files01-hki.intra.qt.io\provisioning\windows\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
-Write-Host "Installing $package..."
-Run-Executable "msiexec" "/passive /i $package TARGETDIR=$targetDir ALLUSERS=1"
+
+# 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
-Write-Host "Remove $package..."
-Remove-Item -Path $package
+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
@@ -75,6 +66,13 @@ if (($archVer -eq 32) -And (Is64BitWinHost)) {
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
diff --git a/coin/provisioning/common/windows/python3.ps1 b/coin/provisioning/common/windows/python3.ps1
index c05c022c..a714da16 100644
--- a/coin/provisioning/common/windows/python3.ps1
+++ b/coin/provisioning/common/windows/python3.ps1
@@ -1,58 +1,28 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Copyright (C) 2017 Pelagicore AG
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2019 The Qt Company Ltd.
+# Copyright (C) 2017 Pelagicore AG
+# 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.
# Python3 is required for building some qt modules.
param(
- [Int32]$archVer=32,
- [string]$install_path = "C:\Python36"
+ [Int32]$archVer,
+ [string]$sha1,
+ [string]$install_path,
+ [string]$version,
+ [bool]$setDefault=$false
)
. "$PSScriptRoot\helpers.ps1"
-$version = "3.6.1"
$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.intra.qt.io/input/windows/python-$version-amd64.exe"
- $sha1 = "bf54252c4065b20f4a111cc39cf5215fb1edccff"
+ $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.intra.qt.io/input/windows/python-$version.exe"
- $sha1 = "76c50b747237a0974126dd8b32ea036dd77b2ad1"
+ $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/python-$version.exe"
}
Write-Host "Fetching from URL..."
@@ -60,16 +30,23 @@ Download $externalUrl $internalUrl $package
Verify-Checksum $package $sha1
Write-Host "Installing $package..."
Run-Executable "$package" "/q TargetDir=$install_path"
-Write-Host "Remove $package..."
-Remove-Item -Path $package
+Remove "$package"
# For cross-compilation we export some helper env variable
if (($archVer -eq 32) -And (Is64BitWinHost)) {
- Set-EnvironmentVariable "PYTHON3_32_PATH" "$install_path"
- Set-EnvironmentVariable "PIP3_32_PATH" "$install_path\Scripts"
+ if ($setDefault) {
+ Set-EnvironmentVariable "PYTHON3_32_PATH" "$install_path"
+ Set-EnvironmentVariable "PIP3_32_PATH" "$install_path\Scripts"
+ }
+ Set-EnvironmentVariable "PYTHON$version-32_PATH" "$install_path"
+ Set-EnvironmentVariable "PIP$version-32_PATH" "$install_path\Scripts"
} else {
- Set-EnvironmentVariable "PYTHON3_PATH" "$install_path"
- Set-EnvironmentVariable "PIP3_PATH" "$install_path\Scripts"
+ if ($setDefault) {
+ Set-EnvironmentVariable "PYTHON3_PATH" "$install_path"
+ Set-EnvironmentVariable "PIP3_PATH" "$install_path\Scripts"
+ }
+ Set-EnvironmentVariable "PYTHON$version-64_PATH" "$install_path"
+ Set-EnvironmentVariable "PIP$version-64_PATH" "$install_path\Scripts"
}
@@ -79,12 +56,14 @@ if (IsProxyEnabled) {
Write-Host "Using proxy ($proxy) with pip"
$pip_args = "--proxy=$proxy"
}
-Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install virtualenv wheel"
-# Install all needed packages in a special wheel cache directory
-$python3_wheel_dir="$install_path\python3-wheels"
-Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args wheel --wheel-dir $python3_wheel_dir -r $PSScriptRoot\..\shared\requirements.txt"
-Set-EnvironmentVariable "PYTHON3_WHEEL_CACHE" "$python3_wheel_dir"
+Write-Host "Upgrade pip3 to the latest version available."
+Run-Executable "$install_path\python.exe" "-m pip install --upgrade pip"
+
+Write-Host "Configure pip"
+Run-Executable "$install_path\python.exe" "-m pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache"
+Run-Executable "$install_path\python.exe" "-m pip config --user set global.extra-index-url https://pypi.org/simple/"
+Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install virtualenv wheel html5lib"
# Install PyPDF2 for QSR documentation
Run-Executable "$install_path\Scripts\pip3.exe" "$pip_args install PyPDF2"
diff --git a/coin/provisioning/common/windows/qnx710.ps1 b/coin/provisioning/common/windows/qnx710.ps1
new file mode 100644
index 00000000..3c8f2257
--- /dev/null
+++ b/coin/provisioning/common/windows/qnx710.ps1
@@ -0,0 +1,56 @@
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QNX 7.
+
+. "$PSScriptRoot\helpers.ps1"
+
+$tempFolder = "c:\Windows\Temp"
+
+function DownloadAndExtract($1, $2, $3, $4, $5) {
+ $url = $1
+ $sha = $2
+ $file = $3
+ $folder = $4
+ $cachedUrl = $5
+
+ Download $url $cachedUrl "$tempFolder\$file"
+ Verify-Checksum "$tempFolder\$file" "$sha"
+ Extract-tar_gz "$tempFolder\$file" $folder
+}
+
+$aarch64le_toolchain = "$PSScriptRoot\..\shared\cmake_toolchain_files\qnx-toolchain-aarch64le.cmake"
+$armv7le_toolchain = "$PSScriptRoot\..\shared\cmake_toolchain_files\qnx-toolchain-armv7le.cmake"
+$x8664_toolchain = "$PSScriptRoot\..\shared\cmake_toolchain_files\qnx-toolchain-x8664.cmake"
+
+$targetFolder = "C:\Utils\"
+$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"
+$targetFile = "qnx710.tar.xz"
+$sha1 = "134af2e0f75d7b7c516f824fafee265b89e51d48"
+DownloadAndExtract $sourceFile $sha1 $targetFile $targetFolder $cachedUrl
+
+Copy-Item $aarch64le_toolchain $targetPath
+Copy-Item $armv7le_toolchain $targetPath
+Copy-Item $x8664_toolchain $targetPath
+
+cmd /c "dir $targetPath"
+
+# Verify that we have last files in tars
+if (-not (test-path $targetPath\qnxsdp-env.bat)) {
+ throw "QNX SDP installation failed!"
+}
+if (-not (test-path $targetPath\qnx-toolchain-x8664.cmake)) {
+ throw "QNX toolchain installation failed!"
+}
+
+# Set env variables
+Set-EnvironmentVariable "QNX_710" "$targetPath"
+Set-EnvironmentVariable "QNX_710_CMAKE" "C:/Utils/$folderName"
+
+Write-Output "QNX SDP = 7.1.0" >> ~\versions.txt
+
diff --git a/coin/provisioning/common/windows/set-network-test-server.ps1 b/coin/provisioning/common/windows/set-network-test-server.ps1
index e6e92d48..938ef99a 100644
--- a/coin/provisioning/common/windows/set-network-test-server.ps1
+++ b/coin/provisioning/common/windows/set-network-test-server.ps1
@@ -1,35 +1,5 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
diff --git a/coin/provisioning/common/windows/set-proxy.ps1 b/coin/provisioning/common/windows/set-proxy.ps1
index 08d6a204..f2a89e43 100644
--- a/coin/provisioning/common/windows/set-proxy.ps1
+++ b/coin/provisioning/common/windows/set-proxy.ps1
@@ -1,35 +1,5 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
$n = Get-Content "$PSScriptRoot\..\shared\http_proxy.txt"
$n = $n.Split('=')
diff --git a/coin/provisioning/common/windows/share-test-folders.ps1 b/coin/provisioning/common/windows/share-test-folders.ps1
new file mode 100644
index 00000000..36b02e82
--- /dev/null
+++ b/coin/provisioning/common/windows/share-test-folders.ps1
@@ -0,0 +1,40 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script creates and shares folders so that we can run I/O tests with
+# UNC paths, without depending on an SBM server
+
+$readonly='testshare'
+$writable='testsharewritable'
+$readonlypath="${env:SystemDrive}\${readonly}"
+$writablepath="${env:SystemDrive}\${writable}"
+
+Write-Host "******************** Creating folders ${readonlpath} and ${writablepath}"
+
+if ($(Test-Path -Path $readonlypath)) {
+ Remove-SmbShare -Name $readonly -Force
+ Remove-Item -Path $readonlypath -Force -Recurse
+}
+if ($(Test-Path -Path $writablepath)) {
+ Remove-SmbShare -Name $writable -Force
+ Remove-Item -Path $writablepath -Force -Recurse
+}
+
+New-Item ${readonlypath} -ItemType Directory
+New-Item "${readonlypath}\tmp" -ItemType Directory
+New-SmbShare -Name ${readonly} -Path ${readonlypath} -ReadAccess Users
+# As expected by tst_networkselftest, exactly 34 bytes
+"This is 34 bytes. Do not change..." `
+ | Out-File -Encoding ascii -FilePath "${readonlypath}\test.pri" -NoNewline
+New-Item "${readonlypath}\readme.txt" -ItemType File
+
+New-Item ${writablepath} -ItemType Directory
+New-SmbShare -Name ${writable} -Path ${writablepath} -ChangeAccess Users
+
+Write-Host "******************** File system content"
+dir ${env:SystemDrive}
+cd "\\${env:COMPUTERNAME}\${readonly}"
+dir
+cd "\\${env:COMPUTERNAME}\${writable}"
+dir
+Write-Host "******************** Done Content"
diff --git a/coin/provisioning/common/windows/squish-coco.ps1 b/coin/provisioning/common/windows/squish-coco.ps1
index cef4dadf..160bc654 100644
--- a/coin/provisioning/common/windows/squish-coco.ps1
+++ b/coin/provisioning/common/windows/squish-coco.ps1
@@ -1,35 +1,5 @@
-#############################################################################
-#
# Copyright (C) 2018 The Qt Company Ltd.
-# Contact: http://www.qt.io/licensing/
-#
-# This file is part of the provisioning scripts of the Qt Toolkit.
-#
-# $QT_BEGIN_LICENSE:LGPL21$
-# Commercial License Usage
-# Licensees holding valid commercial Qt licenses may use this file in
-# accordance with the commercial license agreement provided with the
-# Software or, alternatively, in accordance with the terms contained in
-# a written agreement between you and The Qt Company. For licensing terms
-# and conditions see http://www.qt.io/terms-conditions. For further
-# information use the contact form at http://www.qt.io/contact-us.
-#
-# GNU Lesser General Public License Usage
-# Alternatively, this file may be used under the terms of the GNU Lesser
-# General Public License version 2.1 or version 3 as published by the Free
-# Software Foundation and appearing in the file LICENSE.LGPLv21 and
-# LICENSE.LGPLv3 included in the packaging of this file. Please review the
-# following information to ensure the GNU Lesser General Public License
-# requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-# http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-#
-# As a special exception, The Qt Company gives you certain additional
-# rights. These rights are described in The Qt Company LGPL Exception
-# version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-#
-# $QT_END_LICENSE$
-#
-############################################################################
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# This script installs Squish Coco for RTA
@@ -37,7 +7,7 @@
$coco_version="4.2.2"
-$url="http://ci-files01-hki.intra.qt.io/input/coco/SquishCocoSetup_" + $coco_version + "_Windows_x64.exe"
+$url="http://ci-files01-hki.ci.qt.io/input/coco/SquishCocoSetup_" + $coco_version + "_Windows_x64.exe"
$sha1="d6f9f3c20df086ec9a7e13a068f4446442ae5d51"
$installer="C:\Windows\Temp\SquishCocoSetup_" + $coco_version + "_Windows_x64.exe"
@@ -45,4 +15,4 @@ Download $url $url $installer
Verify-Checksum $installer $sha1
Run-Executable $installer "/S"
Run-Executable "C:\Program Files\squishcoco\cocolic.exe" "--license-server=Qt-SRV-33.intra.qt.io:49344"
-Remove-Item -Force -Path $installer
+Remove "$installer"
diff --git a/coin/provisioning/common/windows/squishInstall.ps1 b/coin/provisioning/common/windows/squishInstall.ps1
index de04d242..ec4d240a 100644
--- a/coin/provisioning/common/windows/squishInstall.ps1
+++ b/coin/provisioning/common/windows/squishInstall.ps1
@@ -1,154 +1,52 @@
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
-# This script will install squish package for Windows.
+# This script will pre-installed squish package for Windows.
# Squish is need by Release Test Automation (RTA)
-# NOTE! Make sure 64bit versions are always installed before 32bit,
-# because they use same folder name before a rename
-
-$version = "6.4.3"
-
-# Qt branch without dot (*.*)
-$qtBranch = "512x"
-# So far Squish built with Qt5.12 works also with 5.13, but we have to be prepared that on some point
-# the compatibility breaks, and we may need to have separate Squish packages for different Qt versions.
+$version = "7.2.1"
+$qtBranch = "66x"
$targetDir = "C:\Utils\squish"
-$squishUrl = "\\ci-files01-hki.intra.qt.io\provisioning\squish\coin"
-$squishBranchUrl = "$squishUrl\$qtBranch"
-$testSuite = "suite_test_squish"
-$testSuiteUrl = "$squishUrl\$testSuite.7z"
+$squishPackage = "C:\Utils\rta_squish"
+$squishUrl = "\\ci-files01-hki.ci.qt.io\provisioning\squish\jenkins_build\stable"
+$licenseBranch="squish_license"
+$licenseUrl = "\\ci-files01-hki.ci.qt.io\provisioning\squish\coin\$licenseBranch"
+$testSuiteUrl="\\ci-files01-hki.ci.qt.io\provisioning\squish\coin\suite_test_squish"
# Squish license
-$licensePackage = ".squish-3-license"
-
-$OSVersion = (get-itemproperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ProductName).ProductName
-
-Function DownloadAndInstallSquish {
- Param (
- [string]$version,
- [string]$bit,
- [string]$squishPackage
- )
- # MinGW x86 available only with Qt5.11, to be updated when Squish is supporting 5.13
- if ("$bit" -eq "win32" -and $squishPackage.StartsWith("mingw")) {
- $qtBranch = "511x"
- }
- $SquishUrl = $squishBranchUrl + "\squish-" + $version + "-qt" + $qtBranch + "-" + $bit + "-" + $squishPackage + ".exe"
- $SquishInstaller = "$targetDir\$squishPackage.exe"
- $SquishParameters = "unattended=1 targetdir=$targetDir\$squishPackage"
-
- Write-Host "Fetching from URL $squishUrl"
- Copy-Item "$SquishUrl" "$SquishInstaller"
- Write-Host "Installing Squish"
- Run-Executable "$SquishInstaller" "$SquishParameters"
- Remove-Item -Path $SquishInstaller
- if ("$bit" -eq "win64") {
- if ($squishPackage.StartsWith("mingw")) {
- $squishPackage64bit = "mingw_64"
- } else {
- $squishPackage64bit = "$squishPackage`_64"
- }
- Rename-Item $targetDir\$squishPackage $targetDir\$squishPackage64bit
- TestSquish $squishPackage64bit
- } else {
- if ($squishPackage.StartsWith("mingw")) {
- Rename-Item $targetDir\$squishPackage $targetDir\mingw
- TestSquish mingw
- } else {
- TestSquish $squishPackage
- }
- }
-}
-
-Function DownloadSquishLicence {
- Param (
- [string]$squishUrl
- )
-
- Write-Host "Installing Squish license to home directory"
- Copy-Item $squishUrl\$licensePackage ~\$licensePackage
-}
+$licensePackage = ".squish-license"
-Function TestSquish {
- Param (
- [string]$squishPackage
- )
+Write-Host "Installing Squish license to home directory"
+Copy-Item $licenseUrl\$licensePackage ~\$licensePackage
- Write-Host "Verifying Squish Installation"
- if (cmd /c "$targetDir\$squishPackage\bin\squishrunner.exe --testsuite $targetDir\$testSuite" |Select-String -Pattern "Squish test run successfully") {
- Write-Host "Squish installation tested successfully!"
- } else {
- Write-Host "Squish test failed! $squishPackage wasn't installed correctly."
- [Environment]::Exit(1)
- }
+if (Is64BitWinHost) {
+ $arch = "x64"
+} else {
+ $arch = "x86"
}
-Write-Host "Creating $targetDir"
-New-Item -ErrorAction Ignore -ItemType directory -Path "$targetDir"
-
-Write-Host "Download and install Test Suite for squish"
-Copy-Item $testSuiteUrl $targetDir/$testSuite.7z
-Extract-7Zip $targetDir/$testSuite.7z $targetDir
-
-DownloadSquishLicence $squishUrl
-
-if ($OSVersion -eq "Windows 10 Enterprise") {
+$OSVersion = (get-itemproperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion" -Name ProductName).ProductName
+if (($OSVersion -eq "Windows 10 Enterprise") -or ($OSVersion -eq "Windows 10 Pro")) {
+ # In Windows 11 case $OSVersion is 'Windows 10 Pro'
+ $winVersion = "win10"
if (Is64BitWinHost) {
- DownloadAndInstallSquish $version win64 "msvc14"
- DownloadAndInstallSquish $version win64 "msvc141"
- DownloadAndInstallSquish $version win64 "mingw_gcc73_posix_seh"
- } else {
- DownloadAndInstallSquish $version win32 "mingw_gcc53_posix_dwarf"
+ $sha1 = "eed4ed4936fbbacb11e0d8a00ff190e1ea808eeb"
}
- DownloadAndInstallSquish $version win32 "msvc141"
-
-} elseif ($OSVersion -eq "Windows 8.1 Enterprise") {
+} else {
+ $winVersion = "n/a"
+}
+$squishArchive = "prebuild-squish-$version-$qtBranch-$winVersion-$arch.zip"
- if (Is64BitWinHost) {
- DownloadAndInstallSquish $version win64 "msvc14"
- }
- DownloadAndInstallSquish $version win32 "msvc141"
+Copy-Item "$squishUrl\$squishArchive" "C:\Utils"
+Copy-Item -Recurse "$testSuiteUrl" "C:\Utils"
+Verify-Checksum "C:\Utils\$squishArchive" $sha1
+Extract-7Zip "C:\Utils\$squishArchive" "C:\Utils"
-} elseif ($OSVersion -eq "Windows 7 Enterprise") {
+Remove-Item "C:\Utils\prebuild*"
- if (Is64BitWinHost) {
- DownloadAndInstallSquish $version win64 "msvc14"
- } else {
- DownloadAndInstallSquish $version win32 "mingw_gcc53_posix_dwarf"
- }
- DownloadAndInstallSquish $version win32 "msvc141"
-}
+Write-Host "Verifying Squish Installation for following targets:"
+get-childitem "$targetDir" -Filter squishrunner.exe -Recurse | % { $_.FullName }
+get-childitem "$targetDir" -Filter squishrunner.exe -Recurse | % { if (cmd /c $_.FullName --testsuite "C:\Utils\suite_test_squish" |Select-String -Pattern "Squish test run successfully") { Write-Host "Squish tested successfully"} else { [Environment]::Exit(1) } }
diff --git a/coin/provisioning/common/windows/telegraf-coin.conf b/coin/provisioning/common/windows/telegraf-coin.conf
new file mode 100644
index 00000000..9a4d22e8
--- /dev/null
+++ b/coin/provisioning/common/windows/telegraf-coin.conf
@@ -0,0 +1,41 @@
+[global_tags]
+[agent]
+ interval = "10s"
+ round_interval = true
+ metric_batch_size = 100
+ metric_buffer_limit = 10000
+ collection_jitter = "0s"
+ flush_interval = "10s"
+ flush_jitter = "5s"
+ precision = ""
+ logfile = "C:\\telegraf-coin.log"
+ hostname = "$COIN_UNIQUE_JOB_ID"
+ omit_hostname = false
+[[outputs.influxdb]]
+ urls= ["https://qtinfluxdb01.intra.qt.io:8086"]
+ insecure_skip_verify = true
+ database = "coin_vms"
+ skip_database_creation = true
+ username = "coin_vms_writer"
+ password = "COIN_VMS_WRITER_PASS"
+[[inputs.cpu]]
+ percpu = true
+ totalcpu = true
+ collect_cpu_time = false
+ report_active = false
+[[inputs.disk]]
+ ignore_fs = ["tmpfs", "devtmpfs", "devfs", "iso9660", "overlay", "aufs", "squashfs"]
+[[inputs.diskio]]
+[[inputs.kernel]]
+[[inputs.mem]]
+#[[inputs.processes]]
+[[inputs.swap]]
+[[inputs.system]]
+#[[inputs.kernel_vmstat]] # linux-only
+[[inputs.netstat]]
+
+
+# Monitor Coin process
+[[inputs.procstat]]
+ exe = "coin-"
+ pid_finder = "native"
diff --git a/coin/provisioning/common/windows/telegraf_password.ps1 b/coin/provisioning/common/windows/telegraf_password.ps1
new file mode 100644
index 00000000..36a4f523
--- /dev/null
+++ b/coin/provisioning/common/windows/telegraf_password.ps1
@@ -0,0 +1,18 @@
+# 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
+
+. "$PSScriptRoot\helpers.ps1"
+
+$auth_file = "C:\Users\qt\work\influxdb\coin_vms_writer.auth"
+
+# Provisioning should run even without the secrets repository
+if (Test-Path $auth_file) {
+ $auth_content = Get-Content $auth_file
+ $influxdb_password = $auth_content.Substring($auth_content.LastIndexOf(':') + 1)
+ Remove "$auth_file"
+} else {
+ $influxdb_password = "no_password_provided"
+}
+
+$telegraf_conf = "C:\telegraf-coin.conf"
+(Get-Content $telegraf_conf) | ForEach-Object { $_.Replace("COIN_VMS_WRITER_PASS", $influxdb_password) } | Out-File -Encoding UTF8 $telegraf_conf
diff --git a/coin/provisioning/common/windows/unset-proxy.ps1 b/coin/provisioning/common/windows/unset-proxy.ps1
index 9c3dddb3..fa9e74d1 100644
--- a/coin/provisioning/common/windows/unset-proxy.ps1
+++ b/coin/provisioning/common/windows/unset-proxy.ps1
@@ -1,35 +1,5 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
Write-Host "Disabling proxy"
# A bit-mask is needed to disable "Automatically detect settings" from LAN
@@ -38,6 +8,11 @@ $dcs = (Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\
$dcs[8] = $_ -band 0xF7
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections" -Name DefaultConnectionSettings -Value $dcs
Set-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyEnable -Value 0
-Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyServer
-Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyOverride
+if(Get-ItemProperty -ErrorAction SilentlyContinue -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyServer){
+ Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyServer
+
+}
+if(Get-ItemProperty -ErrorAction SilentlyContinue -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyOverride){
+ Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" -Name ProxyOverride
+}
diff --git a/coin/provisioning/common/windows/update-msvc2019.ps1 b/coin/provisioning/common/windows/update-msvc2019.ps1
new file mode 100644
index 00000000..30f96594
--- /dev/null
+++ b/coin/provisioning/common/windows/update-msvc2019.ps1
@@ -0,0 +1,102 @@
+# 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
+
+. "$PSScriptRoot\helpers.ps1"
+
+# This script will update MSVC 2019.
+# NOTE! Visual Studio is pre-installed to tier 1 image so this script won't install the whole Visual Studio. See ../../../pre-provisioning/qtci-windows-10-x86_64/msvc2019.txt
+# MSVC 2019 online installers can be found from here https://docs.microsoft.com/en-us/visualstudio/releases/2019/history#installing-an-earlier-release
+
+# NOTE! Currenlty Buildtools are not updated. There seems to be an issue with installer. When it's run twice it get stuck and can't be run again.
+
+$version = "16.11.10"
+$urlCache_vsInstaller = "\\ci-files01-hki.ci.qt.io\provisioning\windows\msvc\vs2019_Professional_$version.exe"
+$urlOfficial_vsInstaller = "https://download.visualstudio.microsoft.com/download/pr/791f3d28-7e20-45d9-9373-5dcfbdd1f6db/cd440cf67c0cf1519131d1d51a396e44c5b4f7b68b541c9f35c05a310d692f0a/vs_Professional.exe"
+$sha1_vsInstaller = "d4f3b3b7dc28dcc3f25474cd1ca1e39fca7dcf3f"
+$urlCache_buildToolsInstaller = "\\ci-files01-hki.ci.qt.io\provisioning\windows\msvc\vs2019_BuildTools_$version.exe"
+# $urlOfficial_buildToolsInstaller = "https://download.visualstudio.microsoft.com/download/pr/791f3d28-7e20-45d9-9373-5dcfbdd1f6db/d5eabc3f4472d5ab18662648c8b6a08ea0553699819b88f89d84ec42d12f6ad7/vs_BuildTools.exe"
+# $sha1_buildToolsInstaller = "69889f45d229de8e0e76b6d9e05964477eee2e78"
+$installerPath = "C:\Windows\Temp\installer.exe"
+
+function Install {
+
+ Param (
+ [string] $urlOfficial = $(BadParam("Official url path")),
+ [string] $urlCache = $(BadParam("Cached url path")),
+ [string] $sha1 = $(BadParam("SHA1 checksum of the file"))
+
+ )
+
+ Write-Host "Installing msvc 2019 $version"
+ Download $urlOfficial $urlCache $installerPath
+ Verify-Checksum $installerPath $sha1
+ # We have to update the installer bootstrapper before calling the actual installer.
+ # Otherwise installation might fail silently
+ Run-Executable "$installerPath" "--quiet --update"
+ Run-Executable "$installerPath" "update --passive --wait"
+ Remove-Item -Force -Path $installerPath
+}
+
+function Get-Vswhere-Property {
+ Param (
+ [ValidateSet(2017, 2019, 2022)]
+ [int] $vsYear = $(BadParam("Visual Studio Year")),
+
+ [ValidatePattern("Professional|Build *Tools|Community|Enterprise")]
+ [string] $vsEdition = $(BadParam("Visual Studio Edition")),
+
+ [string] $property = $(BadParam("vswhere property"))
+ )
+
+ $range = switch ($vsYear)
+ {
+ 2017 { "[15.0,16`)" }
+ 2019 { "[16.0,17`)" }
+ 2022 { "[17.0,18`)" }
+ }
+
+ $vsEdition = $vsEdition -replace " ",""
+
+ $vswhereInfo = New-Object System.Diagnostics.ProcessStartInfo
+ $vswhereInfo.FileName = "${Env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
+ $vswhereInfo.RedirectStandardError = $true
+ $vswhereInfo.RedirectStandardOutput = $true
+ $vswhereInfo.UseShellExecute = $false
+ $vswhereInfo.Arguments = "-version $range", "-latest", `
+ "-products Microsoft.VisualStudio.Product.$vsEdition", "-property $property"
+ $vswhereProcess = New-Object System.Diagnostics.Process
+ $vswhereProcess.StartInfo = $vswhereInfo
+ $vswhereProcess.Start() | Out-Null
+ $vswhereProcess.WaitForExit()
+ $stdout = $vswhereProcess.StandardOutput.ReadToEnd()
+ if ([string]::IsNullOrEmpty($stdout))
+ {
+ throw "VS edition or property $property not found by vswhere"
+ }
+ $stderr = $vswhereProcess.StandardError.ReadToEnd()
+ $vsExit = $vswhereProcess.ExitCode
+ if ($vsExit -ne 0)
+ {
+ throw "vswhere failed with exit code $vsExit. stderr: $stderr"
+ }
+ return $stdout
+}
+
+Install $urlOfficial_vsInstaller $urlCache_vsInstaller $sha1_vsInstaller
+# Install $urlOfficial_buildToolsInstaller $urlCache_buildToolsInstaller $sha1_buildToolsInstaller
+
+$msvc2019Version = Get-Vswhere-Property 2019 "Professional" catalog_productDisplayVersion
+$msvc2019Complete = Get-Vswhere-Property 2019 "Professional" isComplete
+$msvc2019Launchable = Get-Vswhere-Property 2019 "Professional" isLaunchable
+
+if($msvc2019Version -ne $version -or [int]$msvc2019Complete -ne 1 `
+ -or [int]$msvc2019Launchable -ne 1) {
+ throw "MSVC 2019 update failed. msvc2019Version: $($msvc2019Version) `
+ msvc2019Complete: $($msvc2019Complete) msvc2019Launchable: $($msvc2019Launchable)"
+}
+
+Write-Output "Visual Studio 2019 = $msvc2019Version" >> ~\versions.txt
+Write-Output "Visual Studio 2019 Build Tools = $version" >> ~\versions.txt
+
+# Add Windows SDK Version and VCTools Version to versions.txt
+cmd /c '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64 & set' |Select-String -Pattern '(WindowsSDKVersion)|(VCToolsVersion)' >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/vc_redist.ps1 b/coin/provisioning/common/windows/vc_redist.ps1
index 1cd81a37..69eab4d2 100644
--- a/coin/provisioning/common/windows/vc_redist.ps1
+++ b/coin/provisioning/common/windows/vc_redist.ps1
@@ -1,36 +1,6 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Copyright (C) 2017 Pelagicore AG
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2017 The Qt Company Ltd.
+# Copyright (C) 2017 Pelagicore AG
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
. "$PSScriptRoot\helpers.ps1"
@@ -41,12 +11,12 @@ if (Is64BitWinHost) {
Write-Host "Running in 64 bit system"
$arch = "x64"
$externalUrl = "https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe"
- $internalUrl = "http://ci-files01-hki.intra.qt.io/input/windows/vc_redist.x64.exe"
+ $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/vc_redist.x64.exe"
$sha1 = "3155cb0f146b927fcc30647c1a904cd162548c8c"
} else {
$arch = "x86"
$externalUrl = "https://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe"
- $internalUrl = "http://ci-files01-hki.intra.qt.io/input/windows/vc_redist.x86.exe"
+ $internalUrl = "http://ci-files01-hki.ci.qt.io/input/windows/vc_redist.x86.exe"
$sha1 = "bfb74e498c44d3a103ca3aa2831763fb417134d1"
}
diff --git a/coin/provisioning/common/windows/vcpkg/vcpkg.json b/coin/provisioning/common/windows/vcpkg/vcpkg.json
new file mode 100644
index 00000000..70cb16fb
--- /dev/null
+++ b/coin/provisioning/common/windows/vcpkg/vcpkg.json
@@ -0,0 +1,12 @@
+{
+ "overrides": [
+ {
+ "name": "openssl",
+ "version": "3.0.7",
+ "port-version": 2
+ }
+ ],
+ "dependencies": [
+ "openssl"
+ ]
+}
diff --git a/coin/provisioning/common/windows/version.ps1 b/coin/provisioning/common/windows/version.ps1
new file mode 100644
index 00000000..7f701f63
--- /dev/null
+++ b/coin/provisioning/common/windows/version.ps1
@@ -0,0 +1,6 @@
+Write-Host '******************** SW VERSIONS ********************'
+type ~/versions.txt
+Write-Host '*****************************************************'
+Write-Host '******************** Get-PSDrive ********************'
+Get-PSDrive
+Write-Host '*****************************************************'
diff --git a/coin/provisioning/common/windows/vulkansdk.ps1 b/coin/provisioning/common/windows/vulkansdk.ps1
index 90d214cb..aeeff696 100644
--- a/coin/provisioning/common/windows/vulkansdk.ps1
+++ b/coin/provisioning/common/windows/vulkansdk.ps1
@@ -1,48 +1,20 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\helpers.ps1"
# This script will install Vulkan SDK
+# Original Download page: https://vulkan.lunarg.com/sdk/home#windows
-$version = "1.0.51.0"
-$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\VulkanSDK-" +$version+ "-Installer.exe"
+$version = "1.2.182.0"
$vulkanPackage = "C:\Windows\Temp\vulkan-installer-$version.exe"
+$sha1 = "1b662f338bfbfdd00fb9b0c09113eacb94f68a0e"
+Download "https://sdk.lunarg.com/sdk/download/1.2.182.0/windows/VulkanSDK-$version-Installer.exe" "\\ci-files01-hki.ci.qt.io\provisioning\windows\VulkanSDK-$version-Installer.exe" $vulkanPackage
+Verify-Checksum "$vulkanPackage" "$sha1"
-Copy-Item $url_cache $vulkanPackage
Run-Executable $vulkanPackage "/S"
Write-Host "Cleaning $vulkanPackage.."
-Remove-Item -Recurse -Force -Path "$vulkanPackage"
+Remove "$vulkanPackage"
Write-Output "Vulkan SDK = $version" >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/win10sdk.ps1 b/coin/provisioning/common/windows/win10sdk.ps1
index 3d5b84ef..f5c87846 100644
--- a/coin/provisioning/common/windows/win10sdk.ps1
+++ b/coin/provisioning/common/windows/win10sdk.ps1
@@ -1,41 +1,11 @@
-############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
. "$PSScriptRoot\helpers.ps1"
# This script will install Windows 10 SDK
-$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\winsdksetup.exe"
+$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\winsdksetup.exe"
$url_official = "https://download.microsoft.com/download/8/C/3/8C37C5CE-C6B9-4CC8-8B5F-149A9C976035/windowssdk/winsdksetup.exe"
$package = "C:\Windows\Temp\winsdksetup.exe"
$sha1 = "db237323f1779fb143e7cdc558e4345e7004489e"
@@ -45,6 +15,6 @@ Verify-Checksum $package $sha1
Run-Executable $package "/features + /q"
Write-Host "Cleaning $package.."
-Remove-Item -Recurse -Force -Path "$package"
+Remove "$package"
Write-Output "Windows 10 SDK = 10.0.16229.91" >> ~\versions.txt
diff --git a/coin/provisioning/common/windows/winrtrunner.ps1 b/coin/provisioning/common/windows/winrtrunner.ps1
index 5d91dc66..bb29e1a6 100644
--- a/coin/provisioning/common/windows/winrtrunner.ps1
+++ b/coin/provisioning/common/windows/winrtrunner.ps1
@@ -2,11 +2,11 @@
$zip = Get-DownloadLocation "winrtrunner.zip"
$url = "http://download.qt.io/development_releases/prebuilt/winrtrunner/winrtrunner_2018-07-06.zip"
-$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\winrtrunner\winrtrunner_2018-07-06.zip"
+$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\winrtrunner\winrtrunner_2018-07-06.zip"
Download $url $url_cache $zip
Verify-Checksum $zip "93548e8c3fb8fded2474996ef5e0163f489ce8cf"
Extract-7Zip $zip C:\Utils\winrtrunner
-Remove-Item -Path $zip
+Remove "$zip"
Set-EnvironmentVariable "CI_WINRTRUNNER_PATH" "C:\Utils\winrtrunner"
diff --git a/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/90-mimer.sh
new file mode 100755
index 00000000..bff2a7c7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-CentOS-8.3-x86_64/90-mimer.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm"
diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/01-disable_auto_suspend.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/01-disable_auto_suspend.sh
new file mode 100755
index 00000000..8ad69bfa
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Debian-11.6-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-Debian-11.6-aarch64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/01-systemsetup.sh
new file mode 100755
index 00000000..98744822
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Debian-11.6-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-Debian-11.6-aarch64/02-apt.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh
new file mode 100755
index 00000000..b7919fe1
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-apt.sh
@@ -0,0 +1,257 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# 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 tee "/etc/apt/apt.conf.d/20auto-upgrades" > /dev/null <<-EOC
+ APT::Periodic::Update-Package-Lists "0";
+ APT::Periodic::Unattended-Upgrade "1";
+EOC
+
+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
+
+
+echo "Using public repositories for now. Repo-clones isn't set yet for Debian use"
+# (ping -c 3 repo-clones.ci.qt.io && set_internal_repo) || echo "Internal package repository not found. Using public repositories."
+echo "deb http://deb.debian.org/debian bullseye-backports main" | sudo tee -a /etc/apt/sources.list
+echo "deb-src http://deb.debian.org/debian bullseye-backports main" | sudo tee -a /etc/apt/sources.list
+
+# Make sure needed ca-certificates are available
+installPackages+=(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+=(libegl1-mesa-dev)
+installPackages+=(libfontconfig1-dev)
+installPackages+=(libgbm-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)
+# 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-bad1.0-dev)
+installPackages+=(libgstreamer-gl1.0-0)
+installPackages+=(gir1.2-gst-plugins-base-1.0)
+installPackages+=(gir1.2-gst-plugins-bad-1.0)
+
+## Support for cross-building to x86 (needed by WebEngine boot2qt builds)
+#installPackages+=(g++-multilib)
+## python3 development package
+installPackages+=(python3-dev)
+installPackages+=(python3-pip)
+installPackages+=(python3-venv)
+installPackages+=(virtualenv)
+## Automates interactive applications (Needed by RTA to automate configure testing)
+installPackages+=(expect)
+installPackages+=(mesa-common-dev)
+installPackages+=(libgl1-mesa-glx)
+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-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)
+installPackages+=(dkms)
+# Needed for qtspeech
+installPackages+=(libspeechd-dev)
+#Pypdf for PDF reading in RTA tests
+installPackages+=(python3-pypdf2)
+# Needed for b2qt
+installPackages+=(git-lfs)
+installPackages+=(chrpath)
+installPackages+=(gawk)
+installPackages+=(texinfo)
+# Needed for Poppler test in QtWebEngine
+installPackages+=(libpoppler-cpp-dev)
+# Needed for QtCore
+installPackages+=(libdouble-conversion-dev)
+installPackages+=(libpcre2-dev)
+# Needed for 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)
+# 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 building debian packages
+installPackages+=(sbuild)
+installPackages+=(ubuntu-dev-tools)
+installPackages+=(apt-cacher-ng)
+installPackages+=(devscripts)
+installPackages+=(piuparts)
+installPackages+=(ubuntu-dev-tools)
+installPackages+=(libcurl4-openssl-dev)
+installPackages+=(libexpat1-dev)
+installPackages+=(libjsoncpp-dev)
+installPackages+=(zlib1g-dev)
+installPackages+=(libarchive-dev)
+installPackages+=(libncurses5-dev)
+installPackages+=(librhash-dev)
+installPackages+=(libuv1-dev)
+installPackages+=(python3-sphinx:native)
+installPackages+=(dh-elpa)
+installPackages+=(dh-sequence-sphinxdoc)
+installPackages+=(debhelper-compat)
+installPackages+=(default-libmysqlclient-dev)
+installPackages+=(dh-exec)
+installPackages+=(libcups2-dev)
+installPackages+=(libdbus-1-dev)
+installPackages+=(libegl-dev)
+installPackages+=(libfontconfig-dev)
+installPackages+=(libfreetype-dev)
+installPackages+=(libgl-dev)
+installPackages+=(libglib2.0-dev)
+installPackages+=(libglx-dev)
+installPackages+=(libgss-dev)
+installPackages+=(libgtk-3-dev)
+installPackages+=(libicu-dev)
+installPackages+=(libpq-dev)
+installPackages+=(libsqlite3-dev)
+installPackages+=(libssl-dev)
+installPackages+=(libvulkan-dev)
+installPackages+=(libx11-dev)
+installPackages+=(libx11-xcb-dev)
+installPackages+=(libxcb-glx0-dev)
+installPackages+=(libxcb-icccm4-dev)
+installPackages+=(libxcb-image0-dev)
+installPackages+=(libxcb-keysyms1-dev)
+installPackages+=(libxcb-randr0-dev)
+installPackages+=(libxcb-render-util0-dev)
+installPackages+=(libxcb-render0-dev)
+installPackages+=(libxcb-shape0-dev)
+installPackages+=(libxcb-shm0-dev)
+installPackages+=(libxcb-sync-dev)
+installPackages+=(libxcb-util-dev)
+installPackages+=(libxcb-xfixes0-dev)
+installPackages+=(libxcb-xinerama0-dev)
+installPackages+=(libxcb-xinput-dev)
+installPackages+=(libxcb-xkb-dev)
+installPackages+=(libxcb1-dev)
+installPackages+=(libxext-dev)
+installPackages+=(libxfixes-dev)
+installPackages+=(libxi-dev)
+installPackages+=(libxkbcommon-dev)
+installPackages+=(libxkbcommon-x11-dev)
+installPackages+=(libxrender-dev)
+installPackages+=(ninja-build)
+installPackages+=(pkg-config)
+installPackages+=(pkg-kde-tools)
+installPackages+=(unixodbc-dev)
+installPackages+=(zlib1g-dev)
+installPackages+=(libusb-1.0-0-dev)
+
+
+echo "Running update for apt"
+waitLoop
+sudo apt-get update
+echo "Installing packages"
+waitLoop
+sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}"
+sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install cmake apt-cacher-ng -t bullseye-backports
+
+# Disable keyring password prompt
+keyring --disable
+
+# 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-Debian-11.6-aarch64/02-disable-notifications.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-disable-notifications.sh
new file mode 100755
index 00000000..1b9ed6c9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Debian-11.6-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-Debian-11.6-aarch64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-disable-ntp.sh
new file mode 100755
index 00000000..1995aa14
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Debian-11.6-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-Debian-11.6-aarch64/02-remove-apport.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-remove-apport.sh
new file mode 100755
index 00000000..879f3ffb
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Debian-11.6-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-Debian-11.6-aarch64/02-remove-update_notifier.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/02-remove-update_notifier.sh
new file mode 100755
index 00000000..f4a5119f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Debian-11.6-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-Debian-11.6-aarch64/03-install-nodejs.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/03-install-nodejs.sh
new file mode 100755
index 00000000..07121a36
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/03-install-nodejs.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/linux/install-nodejs.sh
+source "${BASH_SOURCE%/*}/../common/linux/install-nodejs.sh"
diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/04-libclang.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/04-libclang.sh
new file mode 100755
index 00000000..fac8d4e7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/04-libclang.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-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/30-install_icu.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/30-install_icu.sh
new file mode 100755
index 00000000..9343eae0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/30-install_icu.sh
@@ -0,0 +1,35 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+set -ex
+
+# This script will install ICU
+
+icuVersion="73.2"
+icuLocationLib="/usr/local"
+sha1="84b4acc6062a75d795e272d222cc682cd2f33cdd"
+
+sha1Dev="94c27ce0c7cbd310e7746d08f54bb7318e297c31"
+develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Debian11.6-aarch64-devel.7z"
+develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Debian11.6-aarch64-devel.7z"
+
+echo "Installing custom ICU $icuVersion $sha1 packages on Debian to $icuLocationLib"
+
+tempDir=$(mktemp -d)
+
+targetFile=$(mktemp)
+DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile"
+7z x -y -o"$tempDir" "$targetFile"
+
+sudo cp -a "$tempDir"/* "$icuLocationLib"
+
+sudo rm "$targetFile"
+sudo rm -fr "$tempDir"
+
+sudo /sbin/ldconfig
+
+echo "ICU = $icuVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/60-install_protobuf.sh
new file mode 100644
index 00000000..e5236960
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/60-install_protobuf.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+sudo DEBIAN_FRONTEND=noninteractive apt -q -y install libprotobuf-dev libgrpc-dev libprotoc-dev protobuf-compiler
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
new file mode 100755
index 00000000..8991bcca
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/92-sbuild.sh
@@ -0,0 +1,64 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# Setups sbuild environment
+
+tee ~/.sbuildrc << EOF
+##############################################################################
+# PACKAGE BUILD RELATED (additionally produce _source.changes)
+##############################################################################
+# -d
+\$distribution = 'stable';
+# -A
+\$build_arch_all = 1;
+# -s
+\$build_source = 1;
+# -v
+\$verbose = 1;
+# parallel build
+\$ENV{'DEB_BUILD_OPTIONS'} = 'parallel=8';
+##############################################################################
+# POST-BUILD RELATED (turn off functionality by setting variables to 0)
+##############################################################################
+\$run_lintian = 1;
+\$lintian_opts = ['-i', '-I'];
+\$run_piuparts = 0;
+\$piuparts_opts = ['--schroot', 'stable-arm64-sbuild', '--no-eatmydata'];
+\$run_autopkgtest = 0;
+\$autopkgtest_root_args = '';
+\$autopkgtest_opts = [ '--', 'schroot', '%r-%a-sbuild' ];
+
+##############################################################################
+# PERL MAGIC
+##############################################################################
+1;
+EOF
+
+# Add user group
+sudo sbuild-adduser "$LOGNAME"
+newgrp sbuild
+
+# Create chroot for debian stable
+sudo sbuild-createchroot --include=eatmydata,ccache,gnupg,ca-certificates stable /srv/chroot/stable-arm64
+
+echo "Create chroot for Ubuntu Jammy"
+# First we need update the deboostrap scripts
+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
+tar xzvf debootstrap_1.0.134~bpo12+1.tar.gz
+cd debootstrap
+sudo make install
+cd
+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"
+
+# Update chroot.
+sudo sbuild-update -udcar stable
+sudo sbuild-update -udcar jammy
diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/93-download-files-for-sbuild.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/93-download-files-for-sbuild.sh
new file mode 100755
index 00000000..b31a86f2
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/93-download-files-for-sbuild.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Get required deb files for sbuild to build qt debian packages for Ubuntu focal
+mkdir -p /home/qt/debian_packages
+cd /home/qt/debian_packages || exit
+# Backported cmake 3.24
+wget https://ci-files01-hki.intra.qt.io/input/debian/cmake/arm64-jammy/cmake-3.24-deb.tar.gz
+tar xzf cmake-3.24-deb.tar.gz
+# get rest of ready made Ubuntu arm debian packages
+# so that sbuild can find those
+
+wget http://ci-files01-hki.ci.qt.io/input/debian/icu/arm64-jammy/libicu-56.1-qt_56.1-1_arm64.deb
+wget http://ci-files01-hki.ci.qt.io/input/debian/icu/arm64-jammy/libicu-56.1-qt-dev_56.1-1_arm64.deb
+
+
+
+
+
+
diff --git a/coin/provisioning/qtci-linux-Debian-11.6-aarch64/99-enable_test_stacktraces.sh b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/99-enable_test_stacktraces.sh
new file mode 100755
index 00000000..600b7850
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Debian-11.6-aarch64/99-enable_test_stacktraces.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/linux/enable_test_stacktraces.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-disable-mlocate.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-disable-mlocate.sh
deleted file mode 100755
index f12cff1e..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-disable-mlocate.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-BASEDIR=$(dirname "$0")
-# shellcheck source=../common/linux/disable-mlocate.sh
-"$BASEDIR/../common/linux/disable-mlocate.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-refresh-subscription-manager.sh
deleted file mode 100755
index 84238ebf..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-refresh-subscription-manager.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# refresh local certificates
-sudo subscription-manager refresh
-
-# Attach available subscriptions to system. This is needed when subscriptions are renewed.
-sudo subscription-manager attach --auto
-
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh
deleted file mode 100755
index 0b85f10d..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/01-systemsetup.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/unix/check_and_set_proxy.sh
-source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
-
-# shellcheck disable=SC2031
-if [ "$http_proxy" != "" ]; then
- echo "proxy=$proxy" | sudo tee -a /etc/yum.conf
-fi
-
-sudo yum update -y nss curl
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/02-disable-ntp.sh
deleted file mode 100755
index 89806892..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/02-disable-ntp.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-
-# shellcheck source=../common/linux/disable-ntp_linux.sh
-source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh
deleted file mode 100755
index 21a45506..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/03-install-rhel-epel.sh
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# shellcheck source=../common/unix/DownloadURL.sh
-source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
-
-package="epel-release-6-8.noarch.rpm"
-primaryUrl="https://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/e/$package"
-cacheUrl="http://ci-files01-hki.intra.qt.io/input/rhel6/$package"
-sha1="2b2767a5ae0de30b9c7b840f2e34f5dd9deaf19a"
-targetFile="/tmp/$package"
-
-DownloadURL "$primaryUrl" "$cacheUrl" "$sha1" "$targetFile"
-
-sudo rpm -ivh "$targetFile"
-rm "$targetFile"
-
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/04-install-packages.sh
deleted file mode 100755
index c1189a94..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/04-install-packages.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-installPackages=()
-
-# For Jenkins
-installPackages+=(java-1.8.0-openjdk-devel)
-# For Qt Creator
-installPackages+=(openssl-devel)
-
-sudo yum -y install "${installPackages[@]}"
-
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/05-subscription-manager-tooling.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/05-subscription-manager-tooling.sh
deleted file mode 100755
index d3072b37..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/05-subscription-manager-tooling.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env bash
-# provides: fix for possible bug in the subscription manager
-# version: provided by RedHat
-# needed for yum to work properly in case there is incorrect data in
-# the sslclientkey repository parameter value
-
-set -ex
-
-sudo rm -f /etc/pki/entitlement/*
-sudo subscription-manager refresh
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/06-odbc.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/06-odbc.sh
deleted file mode 100755
index c8edc2a2..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/06-odbc.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env bash
-# provides: odbc devel packages on RHEL
-# version: provided by default Linux distribution repository
-# needed for configure -plugin-sql-odbc in qtbase
-
-set -ex
-
-sudo yum install -y unixODBC-devel
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh
deleted file mode 100755
index 2861821c..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/08-pythondev.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# provides: python development libraries
-# version: provided by default Linux distribution repository
-# needed to build pyside
-
-set -ex
-
-sudo yum install -y python-devel python-virtualenv
-
-# install python3
-sudo yum install -y python34-devel
-
-# install pip3
-wget https://bootstrap.pypa.io/get-pip.py
-sudo python3 get-pip.py
-sudo rm -f get-pip.py
-sudo pip3 install virtualenv
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh
deleted file mode 100755
index 74520b6e..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/09-cmake.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-"$(dirname "$0")/../common/linux/cmake_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/20-libusb.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/20-libusb.sh
deleted file mode 100755
index b156e8f9..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/20-libusb.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-# Required for tqtc-boot2qt/qdb
-
-set -ex
-
-sudo yum install -y libusb1-devel
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/22-mqtt_broker.sh
deleted file mode 100755
index 505374c5..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/22-mqtt_broker.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the test suite of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# shellcheck source=../common/unix/mqtt_broker.sh
-source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh
deleted file mode 100755
index 67c17954..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/30-install_icu.sh
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2016 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the test suite of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs the right ICU version
-
-set -ex
-icuVersion="56.1"
-icuLocation="/usr/lib64"
-sha1="f2eab775c04ce5f3bdae6c47d06b62158b5d6753"
-
-function Install7ZPackageFromURL {
- url=$1
- expectedSha1=$2
- targetDirectory=$3
-
- targetFile=$(mktemp)
- wget --tries=5 --waitretry=5 --output-document="$targetFile" "$url"
- echo "$expectedSha1 $targetFile" | sha1sum --check
- sudo /usr/local/bin/7z x -yo"$targetDirectory" "$targetFile"
- rm "$targetFile"
-}
-
-echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation"
-
-baseBinaryPackageURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel6.6-x64.7z"
-Install7ZPackageFromURL "$baseBinaryPackageURL" "$sha1" "/usr/lib64"
-
-echo "Installing custom ICU devel packages on RHEL"
-
-sha1Dev="82f8b216371b848b8d36ecec7fe7b6e9b0dba0df"
-develPackageURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel6.6-x64-devel.7z"
-tempDir=$(mktemp -d)
-# shellcheck disable=SC2064
-trap "sudo rm -fr $tempDir" EXIT
-Install7ZPackageFromURL "$develPackageURL" "$sha1Dev" "$tempDir"
-sudo cp -a "$tempDir/lib"/* /usr/lib64
-sudo cp -a "$tempDir"/* /usr/
-
-sudo /sbin/ldconfig
-
-# Storage version information to ~/versions.txt, which is used to print version information to provision log.
-echo "ICU = $icuVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/99-version.sh
deleted file mode 100755
index 1354bf6b..00000000
--- a/coin/provisioning/qtci-linux-RHEL-6.6-x86_64/99-version.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2016 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the test suite of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script needs to be called last during provisioning so that the software information will show up last in provision log.
-
-# Storage installed RPM packages information
-
-set -ex
-
-# shellcheck disable=SC2129
-echo "*********************************************" >> ~/versions.txt
-echo "***** All installed RPM packages *****" >> ~/versions.txt
-rpm -q -a | sort >> ~/versions.txt
-echo "*********************************************" >> ~/versions.txt
-
-"$(dirname "$0")/../common/linux/version.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-disable-mlocate.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-disable-mlocate.sh
deleted file mode 100755
index f12cff1e..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-disable-mlocate.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-BASEDIR=$(dirname "$0")
-# shellcheck source=../common/linux/disable-mlocate.sh
-"$BASEDIR/../common/linux/disable-mlocate.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-refresh-subscription-manager.sh
deleted file mode 100755
index 84238ebf..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-refresh-subscription-manager.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# refresh local certificates
-sudo subscription-manager refresh
-
-# Attach available subscriptions to system. This is needed when subscriptions are renewed.
-sudo subscription-manager attach --auto
-
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-systemsetup.sh
deleted file mode 100755
index c0f94a49..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/01-systemsetup.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-# shellcheck source=../common/shared/network_test_server_ip.txt
-source "$BASEDIR/../common/shared/network_test_server_ip.txt"
-
-echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
-echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
-echo "Set DISPLAY"
-echo 'export DISPLAY=":0"' >> ~/.bashrc
-# for current session
-export DISPLAY=:0
-
-# disable Automatic screen lock
-gsettings set org.gnome.desktop.screensaver lock-enabled false
-# disable blank screen power saving
-gsettings set org.gnome.desktop.session idle-delay 0
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/02-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/02-enable-repos.sh
deleted file mode 100755
index 548cb9ca..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/02-enable-repos.sh
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-echo "set WritePreparedUpdates=false" | sudo tee -a /etc/PackageKit/PackageKit.conf
-sudo systemctl stop packagekit
-sudo systemctl disable packagekit
-
-sudo subscription-manager config --rhsm.manage_repos=0
-sudo subscription-manager refresh
-
-sudo tee "/etc/yum.repos.d/local.repo" > /dev/null <<EOC
-[rhel-7-workstation-rpms]
-metadata_expire = 86400
-baseurl = http://repo-clones.ci.qt.io/repos/rhel-7-workstation-rpms
-ui_repoid_vars = releasever basearch
-name = Qt Red Hat Enterprise Linux 7 Workstation (RPMs)
-gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
-enabled = 1
-gpgcheck = 1
-
-[rhel-7-workstation-optional-rpms]
-metadata_expire = 86400
-baseurl = http://repo-clones.ci.qt.io/repos/rhel-7-workstation-optional-rpms
-ui_repoid_vars = releasever basearch
-name = Qt Red Hat Enterprise Linux 7 Workstation - Optional (RPMs)
-gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
-enabled = 1
-gpgcheck = 1
-
-[rhel-workstation-rhscl-7-rpms]
-metadata_expire = 86400
-baseurl = http://repo-clones.ci.qt.io/repos/rhel-workstation-rhscl-7-rpms
-ui_repoid_vars = releasever basearch
-name = Qt Red Hat Software Collections RPMs for Red Hat Enterprise Linux 7 Workstation
-gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
-enabled = 1
-gpgcheck = 1
-EOC
-
-sudo yum clean all
-# As well as this fetching the repository data, we also get a printout of the used repos
-sudo yum repolist
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/03-install-devtoolset.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/03-install-devtoolset.sh
deleted file mode 100755
index ebc7cac6..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/03-install-devtoolset.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-sudo yum -y install devtoolset-4
-
-echo "source /opt/rh/devtoolset-4/enable" >> ~/.bashrc
-
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/03-install-rhel-epel.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/03-install-rhel-epel.sh
deleted file mode 100755
index 5cdf7df0..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/03-install-rhel-epel.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/unix/DownloadURL.sh
-source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
-
-package="epel-release-7-11.noarch.rpm"
-primaryUrl="https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/$package"
-cacheUrl="http://ci-files01-hki.intra.qt.io/input/rhel7/$package"
-sha1="5512b80e5b71f2370d8419fa16a0bc14c5edf854"
-targetFile="/tmp/$package"
-
-DownloadURL "$primaryUrl" "$cacheUrl" "$sha1" "$targetFile"
-
-sudo rpm -ivh "$targetFile"
-rm "$targetFile"
-
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh
deleted file mode 100755
index b956d6a3..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-install-packages.sh
+++ /dev/null
@@ -1,134 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# Remove update notifications and packagekit running in the background
-sudo yum -y remove PackageKit gnome-software
-
-installPackages=()
-installPackages+=(git)
-installPackages+=(zlib-devel)
-installPackages+=(glib2-devel)
-installPackages+=(openssl-devel)
-installPackages+=(freetype-devel)
-installPackages+=(fontconfig-devel)
-# EGL support
-installPackages+=(mesa-libEGL-devel)
-installPackages+=(mesa-libGL-devel)
-installPackages+=(libxkbfile-devel)
-# Xinput2
-installPackages+=(libXi-devel)
-installPackages+=(mysql-server)
-installPackages+=(mysql)
-installPackages+=(mysql-devel)
-installPackages+=(postgresql-devel)
-installPackages+=(cups-devel)
-installPackages+=(dbus-devel)
-# gstreamer 1 for QtMultimedia
-installPackages+=(gstreamer1-devel)
-installPackages+=(gstreamer1-plugins-base-devel)
-# gtk3 style for QtGui/QStyle
-installPackages+=(gtk3-devel)
-# libusb1 for tqtc-boot2qt/qdb
-installPackages+=(libusbx-devel)
-# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux
-installPackages+=(speech-dispatcher-devel)
-# Python 2 devel and pip. python-pip requires the EPEL repository to be added
-installPackages+=(python-devel python-pip)
-# Python 3 with python-devel, pip and virtualenv
-installPackages+=(rh-python36)
-installPackages+=(python36-devel)
-# WebEngine
-installPackages+=(bison)
-installPackages+=(flex)
-installPackages+=(gperf)
-installPackages+=(alsa-lib-devel)
-installPackages+=(pulseaudio-libs-devel)
-installPackages+=(libXtst-devel)
-installPackages+=(nspr-devel)
-installPackages+=(nss-devel)
-# For Android builds
-installPackages+=(java-1.8.0-openjdk-devel)
-# For receiving shasum
-installPackages+=(perl-Digest-SHA)
-# INTEGRITY requirements
-installPackages+=(glibc.i686)
-# Enable Qt Bluetooth
-installPackages+=(bluez-libs-devel)
-# QtWebKit
-installPackages+=(libxml2-devel)
-installPackages+=(libxslt-devel)
-# For building Wayland from source
-installPackages+=(libffi-devel)
-# QtWayland
-installPackages+=(mesa-libwayland-egl)
-installPackages+=(mesa-libwayland-egl-devel)
-installPackages+=(libwayland-client)
-installPackages+=(libwayland-cursor)
-installPackages+=(libwayland-server)
-# Jenkins
-installPackages+=(chrpath)
-# libxkbcommon
-installPackages+=(libxkbcommon-devel)
-installPackages+=(libxkbcommon-x11-devel)
-# xcb-util-* libraries
-installPackages+=(xcb-util-devel)
-installPackages+=(xcb-util-image-devel)
-installPackages+=(xcb-util-keysyms-devel)
-installPackages+=(xcb-util-wm-devel)
-installPackages+=(xcb-util-renderutil-devel)
-# ODBC support
-installPackages+=(unixODBC-devel)
-installPackages+=(unixODBC)
-# Vulkan support
-installPackages+=(vulkan-devel)
-
-sudo yum -y install "${installPackages[@]}"
-
-sudo ln -s /opt/rh/rh-python36/root/usr/bin/python3 /usr/local/bin/python3
-sudo ln -s /opt/rh/rh-python36/root/usr/bin/pip3 /usr/local/bin/pip3
-# We shouldn't use yum to install virtualenv. The one found from package repo is not
-# working, but we can use installed pip
-sudo pip install --upgrade pip
-sudo pip install virtualenv wheel
-
-sudo /usr/local/bin/pip3 install wheel
-# Install all needed packages in a special wheel cache directory
-/usr/local/bin/pip3 wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt"
-
-# shellcheck source=../common/unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-p7zip.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-p7zip.sh
deleted file mode 100755
index 45565766..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/04-p7zip.sh
+++ /dev/null
@@ -1,46 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-name="p7zip"
-version="7-11"
-sudo yum -y install "$name"
-
-# Link 7za to 7z so we can use existing installation scripts
-sudo ln -s /usr/bin/7za /usr/bin/7z
-
-echo "$name = $version" >> ~/versions.txt
-
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/05-libclang.sh
deleted file mode 100755
index 7074cbc1..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/05-libclang.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-BASEDIR=$(dirname "$0")
-# shellcheck source=../common/unix/libclang.sh
-"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/06-cmake.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/06-cmake.sh
deleted file mode 100755
index 062b2790..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/06-cmake.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs CMake 3.6.2
-
-set -ex
-
-# CMake is needed for autotests that verify that Qt can be built with CMake
-
-# shellcheck source=../common/linux/cmake_linux.sh
-source "${BASH_SOURCE%/*}/../common/linux/cmake_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/07-qnx_700.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/07-qnx_700.sh
deleted file mode 100755
index 92c741fb..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/07-qnx_700.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/linux/qnx_700.sh
-source "${BASH_SOURCE%/*}/../common/linux/qnx_700.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/08-integrity.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/08-integrity.sh
deleted file mode 100755
index 154370da..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/08-integrity.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/linux/integrity.sh
-source "${BASH_SOURCE%/*}/../common/linux/integrity.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/09-disable_selinux.sh
deleted file mode 100755
index b7a53cd4..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/09-disable_selinux.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/linux/disable_selinux.sh
-source "${BASH_SOURCE%/*}/../common/linux/disable_selinux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/10-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/10-openssl_for_android_linux.sh
deleted file mode 100755
index ef2b3ba8..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/10-openssl_for_android_linux.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-set +e
-
-# shellcheck disable=SC1091
-source /opt/rh/devtoolset-4/enable
-
-set -ex
-
-# shellcheck source=../common/linux/openssl_for_android_linux.sh
-source "${BASH_SOURCE%/*}/../common/linux/openssl_for_android_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/22-mqtt_broker.sh
deleted file mode 100755
index e677427f..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/22-mqtt_broker.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# shellcheck source=../common/unix/mqtt_broker.sh
-source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-fbx.sh
deleted file mode 100755
index d8df4375..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-fbx.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/linux/fbx_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-install_icu.sh
deleted file mode 100755
index 7c4d46dd..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/30-install_icu.sh
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# shellcheck source=../common/unix/DownloadURL.sh
-source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
-
-set -ex
-
-# This script will install ICU
-
-icuVersion="56.1"
-icuLocation="/usr/lib64"
-sha1="6dd9ca6b185681a7ddc4bb94fd7fced27647a21c"
-baseBinaryPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z"
-baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z"
-
-sha1Dev="bffde26cdea752bee0edd281820c57f1adac3864"
-develPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z"
-develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z"
-
-echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation"
-
-targetFile=$(mktemp)
-DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile"
-sudo 7z x -y -o/usr/lib64 "$targetFile"
-sudo rm "$targetFile"
-
-echo "Installing custom ICU devel packages on RHEL"
-
-tempDir=$(mktemp -d)
-
-targetFile=$(mktemp)
-DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile"
-7z x -y -o"$tempDir" "$targetFile"
-
-sudo cp -a "$tempDir"/lib/* /usr/lib64
-sudo cp -a "$tempDir"/* /usr/
-
-sudo rm "$targetFile"
-sudo rm -fr "$tempDir"
-
-sudo /sbin/ldconfig
-
-echo "ICU = $icuVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/35-install-breakpad.sh
deleted file mode 100644
index 74dd1579..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/35-install-breakpad.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-# shellcheck source=../common/unix/install-breakpad.sh
-source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/40-android_linux.sh
deleted file mode 100755
index a6c4dfff..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/40-android_linux.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/linux/android_linux.sh
-source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/60-install_protobuff.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/60-install_protobuff.sh
deleted file mode 100755
index a77938b3..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/60-install_protobuff.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/unix/install_protobuff.sh
-source "${BASH_SOURCE%/*}/../common/unix/install_protobuff.sh"
-
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/99-version.sh
deleted file mode 100755
index 03565da2..00000000
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/99-version.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script needs to be called last during provisioning so that the software information will show up last in provision log.
-
-# Storage installed RPM packages information
-
-set -ex
-
-# shellcheck disable=SC2129
-echo "*********************************************" >> ~/versions.txt
-echo "***** All installed RPM packages *****" >> ~/versions.txt
-rpm -q -a | sort >> ~/versions.txt
-echo "*********************************************" >> ~/versions.txt
-
-"$(dirname "$0")/../common/linux/version.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-disable-automounting.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-disable-automounting.sh
new file mode 100755
index 00000000..aeac4768
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-disable-automounting.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+sudo tee -a /etc/dconf/db/local.d/00-media-automount <<"EOF"
+[org/gnome/desktop/media-handling]
+automount=false
+automount-open=false
+EOF
+
+sudo dconf update
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-disable_net_lso.sh
new file mode 100755
index 00000000..4da6aaaa
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-disable_net_lso.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+echo "ETHTOOL_OPTS='-K \${DEVICE} tso off'" | sudo tee -a /etc/sysconfig/network-scripts/ifcfg-Wired_connection_1
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-refresh-subscription-manager.sh
new file mode 100755
index 00000000..88f675df
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-refresh-subscription-manager.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -e
+
+curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak.sh -o "/tmp/redhat_ak.sh" &>/dev/null
+sudo chmod 755 /tmp/redhat_ak.sh
+/tmp/redhat_ak.sh
+
+# refresh local certificates
+sudo subscription-manager refresh
+
+# Attach available subscriptions to system. This is needed when subscriptions are renewed.
+sudo subscription-manager attach --auto
+
+sudo rm -f /tmp/redhat_ak.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-remove_network_manager_secret_key.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-remove_network_manager_secret_key.sh
new file mode 100755
index 00000000..7f9790ae
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-remove_network_manager_secret_key.sh
@@ -0,0 +1,11 @@
+#!/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
+
+# Ipv6 link local becomes tentative and dadfailed if two systems has the same secret_key
+# New unique secret key will be created automatically during start up.
+# https://access.redhat.com/solutions/3553581
+echo "Removing secret_key"
+sudo rm -f "/var/lib/NetworkManager/secret_key"
+
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-remove_stable-privacy.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-remove_stable-privacy.sh
new file mode 100755
index 00000000..969b47f0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-remove_stable-privacy.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+echo "Change default stable-secret to based on MAC"
+sudo sed -i '/^IPV6_ADDR_GEN_MODE/d' "/etc/sysconfig/network-scripts/ifcfg-ens192"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-set-ulimit.sh
new file mode 100755
index 00000000..e951e82a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-set-ulimit.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/set_ulimit.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-systemsetup.sh
new file mode 100755
index 00000000..434c0651
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/01-systemsetup.sh
@@ -0,0 +1,30 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/shared/network_test_server_ip.txt
+source "$BASEDIR/../common/shared/network_test_server_ip.txt"
+
+echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
+echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+echo "Set DISPLAY"
+echo 'export DISPLAY=":0"' >> ~/.bashrc
+# for current session
+export DISPLAY=:0
+
+# Set timezone to UTC.
+sudo timedatectl set-timezone Etc/UTC
+# disable Automatic screen lock
+gsettings set org.gnome.desktop.screensaver lock-enabled false
+# disable blank screen power saving
+gsettings set org.gnome.desktop.session idle-delay 0
+
+# Set Wayland enable as false.
+echo "Setting Wayland enable as false"
+sudo sed -i 's/#WaylandEnable=false/WaylandEnable=false/g' /etc/gdm/custom.conf
+
+# Set system locale
+sudo localectl set-locale LANG=en_US.UTF-8
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-enable-repos.sh
new file mode 100755
index 00000000..4f6c6d18
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-enable-repos.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+echo "set WritePreparedUpdates=false" | sudo tee -a /etc/PackageKit/PackageKit.conf
+sudo systemctl stop packagekit
+sudo systemctl disable packagekit
+sudo yum -y remove PackageKit gnome-software
+
+sudo subscription-manager config --rhsm.manage_repos=1
+sudo subscription-manager refresh
+
+# List available RHEL versions and bind with correct one
+sudo subscription-manager release --list
+sudo subscription-manager release --set=8.2
+sudo yum clean all
+
+# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
+sudo yum config-manager --enable 'codeready-builder-for-rhel-8-x86_64-rpms'
+sudo yum config-manager --enable 'rhel-8-for-x86_64-baseos-rpms'
+sudo yum config-manager --enable 'rhel-8-for-x86_64-appstream-rpms'
+# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
+sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
+
+sudo yum clean all
+# As well as this fetching the repository data, we also get a printout of the used repos
+sudo yum repolist
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-install-gcc-toolset.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-install-gcc-toolset.sh
new file mode 100755
index 00000000..f3af4f5b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/03-install-gcc-toolset.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+sudo yum -y install gcc-toolset-10
+
+echo "source /opt/rh/gcc-toolset-10/enable" >> ~/.bashrc
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/04-install-packages.sh
new file mode 100755
index 00000000..fda995ca
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/04-install-packages.sh
@@ -0,0 +1,143 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# Remove update notifications and packagekit running in the background
+sudo yum -y remove PackageKit gnome-software
+
+# CI: All platforms should have up-to-date packages when new provision is made
+sudo yum -y update
+
+installPackages=()
+installPackages+=(git)
+installPackages+=(zlib-devel)
+installPackages+=(glib2-devel)
+installPackages+=(openssl-devel)
+installPackages+=(freetype-devel)
+installPackages+=(fontconfig-devel)
+installPackages+=(curl-devel)
+installPackages+=(expat-devel)
+installPackages+=(gettext-devel)
+installPackages+=(perl-devel)
+installPackages+=(dh-autoreconf)
+# cmake build
+installPackages+=(ninja-build)
+installPackages+=(pcre2-devel)
+installPackages+=(double-conversion-devel)
+installPackages+=(zstd)
+# EGL support
+installPackages+=(mesa-libEGL-devel)
+installPackages+=(mesa-libGL-devel)
+installPackages+=(libxkbfile-devel)
+# Xinput2
+installPackages+=(libXi-devel)
+installPackages+=(mysql-server)
+installPackages+=(mysql)
+installPackages+=(mysql-devel)
+installPackages+=(postgresql-devel)
+installPackages+=(cups-devel)
+installPackages+=(dbus-devel)
+# gstreamer 1 for QtMultimedia
+# Note! gstreamer1-plugins-bad-free needs to be upgraded or it will conflicts with gstreamer1-plugins-base-devel
+installPackages+=(gstreamer1-plugins-bad-free)
+installPackages+=(gstreamer1-devel)
+installPackages+=(gstreamer1-plugins-base-devel)
+# for QtMultimedia, ffmpeg
+installPackages+=(yasm)
+installPackages+=(libva-devel)
+# gtk3 style for QtGui/QStyle
+installPackages+=(gtk3-devel)
+# libusb1 for tqtc-boot2qt/qdb
+installPackages+=(libusbx-devel)
+# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux
+installPackages+=(speech-dispatcher-devel)
+# Python 2 devel and pip. python-pip requires the EPEL repository to be added
+installPackages+=(python2-devel python2-pip)
+# WebEngine
+installPackages+=(bison)
+installPackages+=(flex)
+installPackages+=(gperftools-libs)
+installPackages+=(gperf)
+installPackages+=(alsa-lib-devel)
+installPackages+=(pulseaudio-libs-devel)
+installPackages+=(libXtst-devel)
+installPackages+=(libxshmfence-devel)
+installPackages+=(nspr-devel)
+installPackages+=(nss-devel)
+installPackages+=(python3-html5lib)
+# For Android builds
+installPackages+=(java-11-openjdk-devel)
+# For receiving shasum
+installPackages+=(perl-Digest-SHA)
+# INTEGRITY requirements
+installPackages+=(glibc.i686)
+# Enable Qt Bluetooth
+installPackages+=(bluez-libs-devel)
+# QtWebKit
+installPackages+=(libxml2-devel)
+installPackages+=(libxslt-devel)
+# For building Wayland from source
+installPackages+=(libffi-devel)
+# QtWayland
+installPackages+=(mesa-libwayland-egl)
+installPackages+=(mesa-libwayland-egl-devel)
+installPackages+=(libwayland-client)
+installPackages+=(libwayland-cursor)
+installPackages+=(libwayland-server)
+# Jenkins
+installPackages+=(chrpath)
+# libxkbcommon
+installPackages+=(libxkbcommon-devel)
+installPackages+=(libxkbcommon-x11-devel)
+# xcb-util-* libraries
+installPackages+=(xcb-util)
+installPackages+=(xcb-util-image-devel)
+installPackages+=(xcb-util-keysyms-devel)
+installPackages+=(xcb-util-wm-devel)
+installPackages+=(xcb-util-renderutil-devel)
+installPackages+=(xcb-util-cursor)
+installPackages+=(xcb-util-cursor-devel)
+
+# ODBC support
+installPackages+=(unixODBC-devel)
+installPackages+=(unixODBC)
+# Vulkan support
+installPackages+=(vulkan-devel)
+installPackages+=(vulkan-tools)
+# Conan: For Python build
+installPackages+=(xz-devel)
+installPackages+=(zlib-devel)
+installPackages+=(libffi-devel)
+installPackages+=(libsqlite3x-devel)
+# Build.pl
+installPackages+=(perl-Data-Dumper)
+# In RedHat these come with Devtoolset
+installPackages+=(gcc)
+installPackages+=(gcc-c++)
+installPackages+=(make)
+# Open source VMware Tools
+installPackages+=(open-vm-tools)
+# Install all available locales (COIN-727)
+installPackages+=(langpacks-*)
+
+sudo yum -y install "${installPackages[@]}"
+
+sudo ln -s /usr/bin/python2 /usr/bin/python
+
+sudo dnf -y module install nodejs:12
+
+# We shouldn't use yum to install virtualenv. The one found from package repo is not
+# working, but we can use installed pip
+sudo pip3 install --upgrade pip
+# Configure pip
+sudo pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
+sudo pip config --user set global.extra-index-url https://pypi.org/simple/
+
+sudo pip3 install virtualenv wheel
+
+sudo /usr/bin/pip3 install wheel
+
+OpenSSLVersion="$(openssl version |cut -b 9-14)"
+echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/04-p7zip.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/04-p7zip.sh
new file mode 100755
index 00000000..9a7e899b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/04-p7zip.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+set -ex
+
+name="p7zip"
+version="7-11"
+sudo yum -y install "$name"
+
+# Link 7za to 7z so we can use existing installation scripts
+sudo ln -s /usr/bin/7za /usr/bin/7z
+
+echo "$name = $version" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-libclang-v100-dyn.sh
new file mode 100755
index 00000000..2e08049d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-libclang-v100-dyn.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang-v100-dyn.sh
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-libclang.sh
new file mode 100755
index 00000000..cc68ed1f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/05-libclang.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang.sh
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/09-disable_selinux.sh
new file mode 100755
index 00000000..1659419a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/09-disable_selinux.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/disable_selinux.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable_selinux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/20-sccache.sh
new file mode 100755
index 00000000..b371d947
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/20-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/22-mqtt_broker.sh
new file mode 100755
index 00000000..c81f5c66
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/22-mqtt_broker.sh
@@ -0,0 +1,6 @@
+#!/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
+
+# shellcheck source=../common/unix/mqtt_broker.sh
+source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-fbx.sh
new file mode 100755
index 00000000..16a9bda8
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-fbx.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/fbx_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..67a4f911
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install-git.sh
new file mode 100755
index 00000000..7a73f354
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install-git.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-git.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install_icu.sh
new file mode 100755
index 00000000..ac47413c
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/30-install_icu.sh
@@ -0,0 +1,45 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+set -ex
+
+# This script will install ICU
+
+icuVersion="56.1"
+icuLocation="/usr/lib64"
+sha1="6dd9ca6b185681a7ddc4bb94fd7fced27647a21c"
+baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z"
+baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z"
+
+sha1Dev="bffde26cdea752bee0edd281820c57f1adac3864"
+develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z"
+develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z"
+
+echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation"
+
+targetFile=$(mktemp)
+DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile"
+sudo 7z x -y -o/usr/lib64 "$targetFile"
+sudo rm "$targetFile"
+
+echo "Installing custom ICU devel packages on RHEL"
+
+tempDir=$(mktemp -d)
+
+targetFile=$(mktemp)
+DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile"
+7z x -y -o"$tempDir" "$targetFile"
+
+sudo cp -a "$tempDir"/lib/* /usr/lib64
+sudo cp -a "$tempDir"/* /usr/
+
+sudo rm "$targetFile"
+sudo rm -fr "$tempDir"
+
+sudo /sbin/ldconfig
+
+echo "ICU = $icuVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/35-install-breakpad.sh
new file mode 100755
index 00000000..8a9dde56
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/35-install-breakpad.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/40-android_linux.sh
new file mode 100755
index 00000000..7ac2ce72
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/40-android_linux.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/android_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/40-install-cmake.sh
new file mode 100755
index 00000000..41139756
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/40-install-cmake.sh
@@ -0,0 +1,12 @@
+#!/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 installs CMake 3.6.2
+
+set -ex
+
+# CMake is needed for autotests that verify that Qt can be built with CMake
+
+# shellcheck source=../common/linux/cmake_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/cmake_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/50-openssl_for_android_linux.sh
new file mode 100755
index 00000000..3872e744
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/50-openssl_for_android_linux.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+# shellcheck source=../common/unix/openssl_for_android.sh
+source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/60-install_protobuf.sh
new file mode 100755
index 00000000..3e2b8921
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/60-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/70-install_QemuGA.sh
new file mode 100755
index 00000000..27ee6f50
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/70-install_QemuGA.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QEMU Guest Agent
+
+set -ex
+
+sudo yum -y install qemu-guest-agent
+sudo systemctl start qemu-guest-agent
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/70-install_dwz.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/70-install_dwz.sh
new file mode 100755
index 00000000..ef076d7c
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/70-install_dwz.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 Konstantin Tokarev <annulen@yandex.ru>
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+sudo yum -y install elfutils-libelf-devel
+
+# shellcheck source=../common/linux/install_dwz.sh
+source "${BASH_SOURCE%/*}/../common/linux/install_dwz.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..61da9b7b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-install-ffmpeg.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-mimer.sh
new file mode 100755
index 00000000..bff2a7c7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-mimer.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-squish.sh
new file mode 100755
index 00000000..f803ccc1
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/90-squish.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/99-cleanup.sh
new file mode 100755
index 00000000..4d6e16ea
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/99-cleanup.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+"$(dirname "$0")"/../common/linux/cleanup_cache.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/99-version.sh
new file mode 100755
index 00000000..00d06674
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.2-x86_64/99-version.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script needs to be called last during provisioning so that the software information will show up last in provision log.
+
+# Storage installed RPM packages information
+
+set -ex
+
+# shellcheck disable=SC2129
+echo "*********************************************" >> ~/versions.txt
+echo "***** All installed RPM packages *****" >> ~/versions.txt
+rpm -q -a | sort >> ~/versions.txt
+echo "*********************************************" >> ~/versions.txt
+
+"$(dirname "$0")/../common/linux/version.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-disable-automounting.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-disable-automounting.sh
new file mode 100755
index 00000000..aeac4768
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-disable-automounting.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+sudo tee -a /etc/dconf/db/local.d/00-media-automount <<"EOF"
+[org/gnome/desktop/media-handling]
+automount=false
+automount-open=false
+EOF
+
+sudo dconf update
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-disable_net_lso.sh
new file mode 100755
index 00000000..4da6aaaa
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-disable_net_lso.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+echo "ETHTOOL_OPTS='-K \${DEVICE} tso off'" | sudo tee -a /etc/sysconfig/network-scripts/ifcfg-Wired_connection_1
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-refresh-subscription-manager.sh
new file mode 100755
index 00000000..51417f1b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-refresh-subscription-manager.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -e
+
+curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions.sh -o "/tmp/redhat_ak.sh" &>/dev/null
+sudo chmod 755 /tmp/redhat_ak.sh
+/tmp/redhat_ak.sh
+
+# refresh local certificates
+sudo subscription-manager refresh
+
+# Attach available subscriptions to system. This is needed when subscriptions are renewed.
+sudo subscription-manager attach --auto
+
+sudo rm -f /tmp/redhat_ak.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_network_manager_secret_key.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_network_manager_secret_key.sh
new file mode 100755
index 00000000..7f9790ae
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_network_manager_secret_key.sh
@@ -0,0 +1,11 @@
+#!/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
+
+# Ipv6 link local becomes tentative and dadfailed if two systems has the same secret_key
+# New unique secret key will be created automatically during start up.
+# https://access.redhat.com/solutions/3553581
+echo "Removing secret_key"
+sudo rm -f "/var/lib/NetworkManager/secret_key"
+
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_stable-privacy.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_stable-privacy.sh
new file mode 100755
index 00000000..969b47f0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_stable-privacy.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+echo "Change default stable-secret to based on MAC"
+sudo sed -i '/^IPV6_ADDR_GEN_MODE/d' "/etc/sysconfig/network-scripts/ifcfg-ens192"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-set-ulimit.sh
new file mode 100755
index 00000000..e951e82a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-set-ulimit.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/set_ulimit.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-systemsetup.sh
new file mode 100755
index 00000000..b4bbc865
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-systemsetup.sh
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/shared/network_test_server_ip.txt
+source "$BASEDIR/../common/shared/network_test_server_ip.txt"
+
+echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
+echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+echo "Set DISPLAY"
+echo 'export DISPLAY=":0"' >> ~/.bashrc
+# for current session
+export DISPLAY=:0
+
+# Set timezone to UTC.
+sudo timedatectl set-timezone Etc/UTC
+# disable Automatic screen lock
+gsettings set org.gnome.desktop.screensaver lock-enabled false
+# disable blank screen power saving
+gsettings set org.gnome.desktop.session idle-delay 0
+
+# Set Wayland enable as false.
+echo "Setting Wayland enable as false"
+sudo sed -i 's/#WaylandEnable=false/WaylandEnable=false/g' /etc/gdm/custom.conf
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-enable-repos.sh
new file mode 100755
index 00000000..4de5f9d8
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-enable-repos.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+echo "set WritePreparedUpdates=false" | sudo tee -a /etc/PackageKit/PackageKit.conf
+sudo systemctl stop packagekit
+sudo systemctl disable packagekit
+sudo yum -y remove PackageKit gnome-software
+
+sudo subscription-manager config --rhsm.manage_repos=1
+sudo subscription-manager refresh
+
+# List available RHEL versions and bind with correct one
+sudo subscription-manager release --list
+sudo subscription-manager release --set=8.4
+sudo yum clean all
+
+# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
+sudo yum config-manager --enable 'codeready-builder-for-rhel-8-x86_64-rpms'
+sudo yum config-manager --enable 'rhel-8-for-x86_64-baseos-rpms'
+sudo yum config-manager --enable 'rhel-8-for-x86_64-appstream-rpms'
+# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
+sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
+
+sudo yum clean all
+# As well as this fetching the repository data, we also get a printout of the used repos
+sudo yum repolist
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-install-gcc-toolset.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-install-gcc-toolset.sh
new file mode 100755
index 00000000..f3af4f5b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-install-gcc-toolset.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+sudo yum -y install gcc-toolset-10
+
+echo "source /opt/rh/gcc-toolset-10/enable" >> ~/.bashrc
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-install-packages.sh
new file mode 100755
index 00000000..da03076a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-install-packages.sh
@@ -0,0 +1,155 @@
+#!/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
+
+# Remove update notifications and packagekit running in the background
+sudo yum -y remove PackageKit gnome-software
+
+# CI: All platforms should have up-to-date packages when new provision is made
+sudo yum -y update
+
+installPackages=()
+installPackages+=(git)
+installPackages+=(zlib-devel)
+installPackages+=(glib2-devel)
+installPackages+=(openssl3)
+installPackages+=(openssl3-devel)
+installPackages+=(freetype-devel)
+installPackages+=(fontconfig-devel)
+installPackages+=(curl-devel)
+installPackages+=(expat-devel)
+installPackages+=(gettext-devel)
+installPackages+=(perl-devel)
+installPackages+=(dh-autoreconf)
+# cmake build
+installPackages+=(ninja-build)
+installPackages+=(pcre2-devel)
+installPackages+=(double-conversion-devel)
+installPackages+=(zstd)
+# EGL support
+installPackages+=(mesa-libEGL-devel)
+installPackages+=(mesa-libGL-devel)
+installPackages+=(libxkbfile-devel)
+# Xinput2
+installPackages+=(libXi-devel)
+installPackages+=(mysql-server)
+installPackages+=(mysql)
+installPackages+=(mysql-devel)
+installPackages+=(postgresql-devel)
+installPackages+=(cups-devel)
+installPackages+=(dbus-devel)
+# gstreamer 1 for QtMultimedia
+# Note! gstreamer1-plugins-bad-free needs to be upgraded or it will conflicts with gstreamer1-plugins-base-devel
+installPackages+=(gstreamer1-plugins-bad-free)
+installPackages+=(gstreamer1-devel)
+installPackages+=(gstreamer1-plugins-base-devel)
+# for QtMultimedia, ffmpeg
+installPackages+=(yasm)
+installPackages+=(libva-devel)
+# gtk3 style for QtGui/QStyle
+installPackages+=(gtk3-devel)
+# libusb1 for tqtc-boot2qt/qdb
+installPackages+=(libusbx-devel)
+# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux
+installPackages+=(speech-dispatcher-devel)
+# Python 2 devel and pip. python-pip requires the EPEL repository to be added
+installPackages+=(python2-devel python2-pip)
+# Python 3 with python-devel, pip and virtualenv
+installPackages+=(python36)
+installPackages+=(python36-devel)
+# Python 3.8 for pyside. Qt for Python support for Python 3.6 will be deprecated in within pyside6.3
+installPackages+=(python38)
+installPackages+=(python38-devel)
+# WebEngine
+installPackages+=(bison)
+installPackages+=(flex)
+installPackages+=(gperftools-libs)
+installPackages+=(gperf)
+installPackages+=(alsa-lib-devel)
+installPackages+=(pulseaudio-libs-devel)
+installPackages+=(libdrm-devel)
+installPackages+=(libva-devel)
+installPackages+=(libXtst-devel)
+installPackages+=(libxshmfence-devel)
+installPackages+=(nspr-devel)
+installPackages+=(nss-devel)
+installPackages+=(python3-html5lib)
+installPackages+=(mesa-libgbm-devel)
+# For Android builds
+installPackages+=(java-11-openjdk-devel)
+# For receiving shasum
+installPackages+=(perl-Digest-SHA)
+# INTEGRITY requirements
+installPackages+=(glibc.i686)
+# Enable Qt Bluetooth
+installPackages+=(bluez-libs-devel)
+# QtNfc
+installPackages+=(pcsc-lite-devel)
+# QtWebKit
+installPackages+=(libxml2-devel)
+installPackages+=(libxslt-devel)
+# For building Wayland from source
+installPackages+=(libffi-devel)
+# QtWayland
+installPackages+=(mesa-libwayland-egl)
+installPackages+=(mesa-libwayland-egl-devel)
+installPackages+=(libwayland-client)
+installPackages+=(libwayland-cursor)
+installPackages+=(libwayland-server)
+# Jenkins
+installPackages+=(chrpath)
+# libxkbcommon
+installPackages+=(libxkbcommon-devel)
+installPackages+=(libxkbcommon-x11-devel)
+# xcb-util-* libraries
+installPackages+=(xcb-util)
+installPackages+=(xcb-util-image-devel)
+installPackages+=(xcb-util-keysyms-devel)
+installPackages+=(xcb-util-wm-devel)
+installPackages+=(xcb-util-renderutil-devel)
+installPackages+=(xcb-util-cursor)
+installPackages+=(xcb-util-cursor-devel)
+
+# ODBC support
+installPackages+=(unixODBC-devel)
+installPackages+=(unixODBC)
+# Vulkan support
+installPackages+=(vulkan-devel)
+installPackages+=(vulkan-tools)
+# Conan: For Python build
+installPackages+=(xz-devel)
+installPackages+=(zlib-devel)
+installPackages+=(libffi-devel)
+installPackages+=(libsqlite3x-devel)
+# Build.pl
+installPackages+=(perl-Data-Dumper)
+# In RedHat these come with Devtoolset
+installPackages+=(gcc)
+installPackages+=(gcc-c++)
+installPackages+=(make)
+# Open source VMware Tools
+installPackages+=(open-vm-tools)
+
+sudo yum -y install "${installPackages[@]}"
+
+sudo ln -s /usr/bin/python2 /usr/bin/python
+
+sudo dnf -y module install nodejs:12
+
+# We shouldn't use yum to install virtualenv. The one found from package repo is not
+# working, but we can use installed pip
+sudo pip3 install --upgrade pip
+# Configure pip
+sudo pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
+sudo pip config --user set global.extra-index-url https://pypi.org/simple/
+
+sudo pip3 install virtualenv wheel
+# Just make sure we have virtualenv to run with python3.8 -m virtualenv
+sudo python3.8 -m pip install virtualenv wheel
+
+sudo /usr/bin/pip3 install wheel
+
+OpenSSLVersion="$(openssl3 version |cut -b 9-14)"
+echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-p7zip.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-p7zip.sh
new file mode 100755
index 00000000..9a7e899b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-p7zip.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+set -ex
+
+name="p7zip"
+version="7-11"
+sudo yum -y install "$name"
+
+# Link 7za to 7z so we can use existing installation scripts
+sudo ln -s /usr/bin/7za /usr/bin/7z
+
+echo "$name = $version" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-libclang-v100-dyn.sh
new file mode 100755
index 00000000..2e08049d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-libclang-v100-dyn.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang-v100-dyn.sh
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-libclang.sh
new file mode 100755
index 00000000..cc68ed1f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-libclang.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang.sh
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/09-disable_selinux.sh
new file mode 100755
index 00000000..1659419a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/09-disable_selinux.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/disable_selinux.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable_selinux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/09-openssl.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/09-openssl.sh
new file mode 100755
index 00000000..ae8024f2
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/09-openssl.sh
@@ -0,0 +1,10 @@
+#!/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
+
+# Required by Rhel source build
+sudo yum -y install perl-IPC-Cmd
+
+"$(dirname "$0")/../common/unix/install-openssl.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/20-sccache.sh
new file mode 100755
index 00000000..b371d947
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/20-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/22-mqtt_broker.sh
new file mode 100755
index 00000000..c81f5c66
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/22-mqtt_broker.sh
@@ -0,0 +1,6 @@
+#!/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
+
+# shellcheck source=../common/unix/mqtt_broker.sh
+source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-fbx.sh
new file mode 100755
index 00000000..16a9bda8
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-fbx.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/fbx_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..67a4f911
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install-git.sh
new file mode 100755
index 00000000..7a73f354
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install-git.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-git.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install_icu.sh
new file mode 100755
index 00000000..ac47413c
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install_icu.sh
@@ -0,0 +1,45 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+set -ex
+
+# This script will install ICU
+
+icuVersion="56.1"
+icuLocation="/usr/lib64"
+sha1="6dd9ca6b185681a7ddc4bb94fd7fced27647a21c"
+baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z"
+baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z"
+
+sha1Dev="bffde26cdea752bee0edd281820c57f1adac3864"
+develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z"
+develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z"
+
+echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation"
+
+targetFile=$(mktemp)
+DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile"
+sudo 7z x -y -o/usr/lib64 "$targetFile"
+sudo rm "$targetFile"
+
+echo "Installing custom ICU devel packages on RHEL"
+
+tempDir=$(mktemp -d)
+
+targetFile=$(mktemp)
+DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile"
+7z x -y -o"$tempDir" "$targetFile"
+
+sudo cp -a "$tempDir"/lib/* /usr/lib64
+sudo cp -a "$tempDir"/* /usr/
+
+sudo rm "$targetFile"
+sudo rm -fr "$tempDir"
+
+sudo /sbin/ldconfig
+
+echo "ICU = $icuVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/35-install-breakpad.sh
new file mode 100755
index 00000000..8a9dde56
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/35-install-breakpad.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-android_linux.sh
new file mode 100755
index 00000000..7ac2ce72
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-android_linux.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/android_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-install-cmake.sh
new file mode 100755
index 00000000..41139756
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-install-cmake.sh
@@ -0,0 +1,12 @@
+#!/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 installs CMake 3.6.2
+
+set -ex
+
+# CMake is needed for autotests that verify that Qt can be built with CMake
+
+# shellcheck source=../common/linux/cmake_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/cmake_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/50-openssl_for_android_linux.sh
new file mode 100755
index 00000000..3872e744
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/50-openssl_for_android_linux.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+# shellcheck source=../common/unix/openssl_for_android.sh
+source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/60-install_protobuf.sh
new file mode 100755
index 00000000..c538ca07
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/60-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/61-install_grpc.sh
new file mode 100755
index 00000000..ecd6a51f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/61-install_grpc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_QemuGA.sh
new file mode 100755
index 00000000..27ee6f50
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_QemuGA.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QEMU Guest Agent
+
+set -ex
+
+sudo yum -y install qemu-guest-agent
+sudo systemctl start qemu-guest-agent
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_dwz.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_dwz.sh
new file mode 100755
index 00000000..ef076d7c
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_dwz.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 Konstantin Tokarev <annulen@yandex.ru>
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+sudo yum -y install elfutils-libelf-devel
+
+# shellcheck source=../common/linux/install_dwz.sh
+source "${BASH_SOURCE%/*}/../common/linux/install_dwz.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-bootstrap-autostart.sh
new file mode 100755
index 00000000..1ff43850
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-bootstrap-autostart.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..333885a3
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-install-ffmpeg.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
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86"
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-mimer.sh
new file mode 100755
index 00000000..bff2a7c7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-mimer.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-squish.sh
new file mode 100755
index 00000000..f803ccc1
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-squish.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/99-cleanup.sh
new file mode 100755
index 00000000..4d6e16ea
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/99-cleanup.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+"$(dirname "$0")"/../common/linux/cleanup_cache.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/99-version.sh
new file mode 100755
index 00000000..00d06674
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/99-version.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script needs to be called last during provisioning so that the software information will show up last in provision log.
+
+# Storage installed RPM packages information
+
+set -ex
+
+# shellcheck disable=SC2129
+echo "*********************************************" >> ~/versions.txt
+echo "***** All installed RPM packages *****" >> ~/versions.txt
+rpm -q -a | sort >> ~/versions.txt
+echo "*********************************************" >> ~/versions.txt
+
+"$(dirname "$0")/../common/linux/version.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-disable-automounting.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-disable-automounting.sh
new file mode 100755
index 00000000..c9d490b1
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-disable-automounting.sh
@@ -0,0 +1,15 @@
+#!/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
+
+sudo tee -a /etc/dconf/db/local.d/00-media-automount <<"EOF"
+[org/gnome/desktop/media-handling]
+automount=false
+automount-open=false
+EOF
+
+sudo dconf update
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-disable_net_lso.sh
new file mode 100755
index 00000000..4da6aaaa
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-disable_net_lso.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+echo "ETHTOOL_OPTS='-K \${DEVICE} tso off'" | sudo tee -a /etc/sysconfig/network-scripts/ifcfg-Wired_connection_1
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-refresh-subscription-manager.sh
new file mode 100755
index 00000000..51417f1b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-refresh-subscription-manager.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -e
+
+curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions.sh -o "/tmp/redhat_ak.sh" &>/dev/null
+sudo chmod 755 /tmp/redhat_ak.sh
+/tmp/redhat_ak.sh
+
+# refresh local certificates
+sudo subscription-manager refresh
+
+# Attach available subscriptions to system. This is needed when subscriptions are renewed.
+sudo subscription-manager attach --auto
+
+sudo rm -f /tmp/redhat_ak.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-remove_network_manager_secret_key.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-remove_network_manager_secret_key.sh
new file mode 100755
index 00000000..7f9790ae
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-remove_network_manager_secret_key.sh
@@ -0,0 +1,11 @@
+#!/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
+
+# Ipv6 link local becomes tentative and dadfailed if two systems has the same secret_key
+# New unique secret key will be created automatically during start up.
+# https://access.redhat.com/solutions/3553581
+echo "Removing secret_key"
+sudo rm -f "/var/lib/NetworkManager/secret_key"
+
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-remove_stable-privacy.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-remove_stable-privacy.sh
new file mode 100755
index 00000000..29be3fbd
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-remove_stable-privacy.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+echo "Change default stable-secret to based on MAC"
+sudo sed -i '/^IPV6_ADDR_GEN_MODE/d' "/etc/sysconfig/network-scripts/ifcfg-ens3"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-set-ulimit.sh
new file mode 100755
index 00000000..e951e82a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-set-ulimit.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/set_ulimit.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-systemsetup.sh
new file mode 100755
index 00000000..8d43ace0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/01-systemsetup.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/shared/network_test_server_ip.txt
+source "$BASEDIR/../common/shared/network_test_server_ip.txt"
+
+echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
+echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+echo "Set DISPLAY"
+echo 'export DISPLAY=":0"' >> ~/.bashrc
+# for current session
+export DISPLAY=:0
+
+# Set timezone to UTC.
+sudo timedatectl set-timezone Etc/UTC
+# disable Automatic screen lock
+gsettings set org.gnome.desktop.screensaver lock-enabled false
+# disable blank screen power saving
+gsettings set org.gnome.desktop.session idle-delay 0
+
+# Set Wayland enable as false.
+echo "Setting Wayland enable as false"
+sudo sed -i 's/#WaylandEnable=false/WaylandEnable=false/g' /etc/gdm/custom.conf
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/03-enable-repos.sh
new file mode 100755
index 00000000..64bf2e93
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/03-enable-repos.sh
@@ -0,0 +1,34 @@
+#!/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
+
+echo "set WritePreparedUpdates=false" | sudo tee -a /etc/PackageKit/PackageKit.conf
+sudo systemctl stop packagekit
+sudo systemctl disable packagekit
+while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
+ echo "Waiting for PackageKit to finish..."
+ sleep 1
+done
+sudo yum -y remove PackageKit gnome-software
+
+sudo subscription-manager config --rhsm.manage_repos=1
+sudo subscription-manager refresh
+
+# List available RHEL versions and bind with correct one
+sudo subscription-manager release --list
+sudo subscription-manager release --set=8.6
+sudo yum clean all
+
+# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
+sudo yum config-manager --enable 'codeready-builder-for-rhel-8-x86_64-rpms'
+sudo yum config-manager --enable 'rhel-8-for-x86_64-baseos-rpms'
+sudo yum config-manager --enable 'rhel-8-for-x86_64-appstream-rpms'
+# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
+sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
+
+sudo yum clean all
+# As well as this fetching the repository data, we also get a printout of the used repos
+sudo yum repolist
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/03-install-gcc-toolset.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/03-install-gcc-toolset.sh
new file mode 100755
index 00000000..032a841d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/03-install-gcc-toolset.sh
@@ -0,0 +1,10 @@
+#!/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
+
+sudo yum -y install gcc-toolset-10
+
+echo "source /opt/rh/gcc-toolset-10/enable" >> ~/.bashrc
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/04-install-packages.sh
new file mode 100755
index 00000000..9a81bd12
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/04-install-packages.sh
@@ -0,0 +1,165 @@
+#!/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
+
+# Remove update notifications and packagekit running in the background
+sudo yum -y remove PackageKit gnome-software
+
+# CI: All platforms should have up-to-date packages when new provision is made
+sudo yum -y update
+
+installPackages=()
+installPackages+=(git)
+installPackages+=(zlib-devel)
+installPackages+=(glib2-devel)
+installPackages+=(openssl3)
+installPackages+=(openssl3-devel)
+installPackages+=(freetype-devel)
+installPackages+=(fontconfig-devel)
+installPackages+=(curl-devel)
+installPackages+=(expat-devel)
+installPackages+=(gettext-devel)
+installPackages+=(perl-devel)
+installPackages+=(dh-autoreconf)
+# cmake build
+installPackages+=(ninja-build)
+installPackages+=(pcre2-devel)
+installPackages+=(double-conversion-devel)
+installPackages+=(zstd)
+# update kernel
+installPackages+=(kernel)
+installPackages+=(kernel-tools)
+installPackages+=(kernel-devel)
+installPackages+=(kernel-core)
+installPackages+=(kernel-modules)
+installPackages+=(kernel-headers)
+# EGL support
+# mesa-libraries need to use older version than 22.1.5-2 which cause Xorg to crash
+installPackages+=(mesa-libEGL-devel-21.3.4-1.el8)
+installPackages+=(mesa-libGL-devel-21.3.4-1.el8)
+installPackages+=(mesa-dri-drivers-21.3.4-1.el8.x86_64)
+installPackages+=(mesa-libgbm-21.3.4-1.el8.x86_64)
+installPackages+=(mesa-vulkan-drivers-21.3.4-1.el8.x86_64)
+installPackages+=(libxkbfile-devel)
+# Xinput2
+installPackages+=(libXi-devel)
+installPackages+=(mysql-server)
+installPackages+=(mysql)
+installPackages+=(mysql-devel)
+installPackages+=(postgresql-devel)
+installPackages+=(cups-devel)
+installPackages+=(dbus-devel)
+# gstreamer 1 for QtMultimedia
+# Note! gstreamer1-plugins-bad-free needs to be upgraded or it will conflicts with gstreamer1-plugins-base-devel
+installPackages+=(gstreamer1-plugins-bad-free)
+installPackages+=(gstreamer1-devel)
+installPackages+=(gstreamer1-plugins-base-devel)
+# for QtMultimedia, ffmpeg
+installPackages+=(yasm)
+installPackages+=(libva-devel)
+# gtk3 style for QtGui/QStyle
+installPackages+=(gtk3-devel)
+# libusb1 for tqtc-boot2qt/qdb
+installPackages+=(libusbx-devel)
+# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux
+installPackages+=(speech-dispatcher-devel)
+# Python 2 devel and pip. python-pip requires the EPEL repository to be added
+installPackages+=(python2-devel python2-pip)
+# Python 3 with python-devel, pip and virtualenv
+installPackages+=(python36)
+installPackages+=(python36-devel)
+# Python 3.8 for pyside. Qt for Python support for Python 3.6 will be deprecated in within pyside6.3
+installPackages+=(python38)
+installPackages+=(python38-devel)
+# WebEngine
+installPackages+=(bison)
+installPackages+=(flex)
+installPackages+=(gperftools-libs)
+installPackages+=(gperf)
+installPackages+=(alsa-lib-devel)
+installPackages+=(pulseaudio-libs-devel)
+installPackages+=(libXtst-devel)
+installPackages+=(libxshmfence-devel)
+installPackages+=(nspr-devel)
+installPackages+=(nss-devel)
+installPackages+=(python3-html5lib)
+# For Android builds
+installPackages+=(java-11-openjdk-devel-11.0.19.0.7)
+# For receiving shasum
+installPackages+=(perl-Digest-SHA)
+# INTEGRITY requirements
+installPackages+=(glibc.i686)
+# Enable Qt Bluetooth
+installPackages+=(bluez-libs-devel)
+# QtNfc
+installPackages+=(pcsc-lite-devel)
+# QtWebKit
+installPackages+=(libxml2-devel)
+installPackages+=(libxslt-devel)
+# For building Wayland from source
+installPackages+=(libffi-devel)
+# QtWayland
+installPackages+=(mesa-libwayland-egl)
+installPackages+=(mesa-libwayland-egl-devel)
+installPackages+=(libwayland-client)
+installPackages+=(libwayland-cursor)
+installPackages+=(libwayland-server)
+# Jenkins
+installPackages+=(chrpath)
+# libxkbcommon
+installPackages+=(libxkbcommon-devel)
+installPackages+=(libxkbcommon-x11-devel)
+# xcb-util-* libraries
+installPackages+=(xcb-util)
+installPackages+=(xcb-util-image-devel)
+installPackages+=(xcb-util-keysyms-devel)
+installPackages+=(xcb-util-wm-devel)
+installPackages+=(xcb-util-renderutil-devel)
+installPackages+=(xcb-util-cursor)
+installPackages+=(xcb-util-cursor-devel)
+
+# ODBC support
+installPackages+=(unixODBC-devel)
+installPackages+=(unixODBC)
+# Vulkan support
+installPackages+=(vulkan-devel)
+installPackages+=(vulkan-tools)
+# Conan: For Python build
+installPackages+=(xz-devel)
+installPackages+=(zlib-devel)
+installPackages+=(libffi-devel)
+installPackages+=(libsqlite3x-devel)
+# Build.pl
+installPackages+=(perl-Data-Dumper)
+# In RedHat these come with Devtoolset
+installPackages+=(gcc)
+installPackages+=(gcc-c++)
+installPackages+=(make)
+# Open source VMware Tools
+installPackages+=(open-vm-tools)
+
+sudo yum -y install "${installPackages[@]}"
+
+sudo ln -s /usr/bin/python2 /usr/bin/python
+
+sudo dnf -y module install nodejs:16
+
+# We shouldn't use yum to install virtualenv. The one found from package repo is not
+# working, but we can use installed pip
+sudo pip3 install --upgrade pip
+# Configure pip
+sudo pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
+sudo pip config --user set global.extra-index-url https://pypi.org/simple/
+
+sudo pip3 install virtualenv wheel
+# Just make sure we have virtualenv to run with python3.8 -m virtualenv
+sudo python3.8 -m pip install virtualenv wheel
+
+sudo /usr/bin/pip3 install wheel
+sudo /usr/bin/pip3 install dataclasses
+
+OpenSSLVersion="$(openssl3 version |cut -b 9-14)"
+echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/04-p7zip.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/04-p7zip.sh
new file mode 100755
index 00000000..98be8b40
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/04-p7zip.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+set -ex
+
+name="p7zip"
+version="7-11"
+sudo yum -y install "$name"
+
+# Link 7za to 7z so we can use existing installation scripts
+sudo ln -s /usr/bin/7za /usr/bin/7z
+
+echo "$name = $version" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-libclang-v100-dyn.sh
new file mode 100755
index 00000000..2e08049d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-libclang-v100-dyn.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang-v100-dyn.sh
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-libclang.sh
new file mode 100755
index 00000000..cc68ed1f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/05-libclang.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang.sh
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/09-disable_selinux.sh
new file mode 100755
index 00000000..17f9422f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/09-disable_selinux.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/disable_selinux.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable_selinux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/09-openssl.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/09-openssl.sh
new file mode 100755
index 00000000..ae8024f2
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/09-openssl.sh
@@ -0,0 +1,10 @@
+#!/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
+
+# Required by Rhel source build
+sudo yum -y install perl-IPC-Cmd
+
+"$(dirname "$0")/../common/unix/install-openssl.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/20-sccache.sh
new file mode 100755
index 00000000..b371d947
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/20-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/22-mqtt_broker.sh
new file mode 100755
index 00000000..fd568537
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/22-mqtt_broker.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
+
+# shellcheck source=../common/unix/mqtt_broker.sh
+source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-fbx.sh
new file mode 100755
index 00000000..16a9bda8
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-fbx.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/fbx_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..67a4f911
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install-git.sh
new file mode 100755
index 00000000..7a73f354
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install-git.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-git.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install_icu.sh
new file mode 100755
index 00000000..0effaefa
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/30-install_icu.sh
@@ -0,0 +1,46 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+set -ex
+
+# This script will install ICU
+
+icuVersion="73.2"
+icuLocation="/usr/lib64"
+sha1="d2bbb7b2a9a9ee00dba5cc6a68137f6c8a98c27e"
+baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel8.6-x64.7z"
+baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel8.6-x64.7z"
+
+sha1Dev="edc9cba31ffeac28bf7360c52b85b5e4d2f39043"
+develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel8.6-x64-devel.7z"
+develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel8.6-x64-devel.7z"
+
+echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation"
+
+targetFile=$(mktemp)
+DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile"
+sudo 7z x -y -o/usr/lib64 "$targetFile"
+sudo rm "$targetFile"
+
+echo "Installing custom ICU devel packages on RHEL"
+
+tempDir=$(mktemp -d)
+
+targetFile=$(mktemp)
+DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile"
+7z x -y -o"$tempDir" "$targetFile"
+
+sudo cp -a "$tempDir"/lib/* /usr/lib64
+sudo cp -a "$tempDir"/* /usr/
+
+sudo rm "$targetFile"
+sudo rm -fr "$tempDir"
+
+sudo /sbin/ldconfig
+
+echo "ICU = $icuVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/35-install-breakpad.sh
new file mode 100755
index 00000000..8a9dde56
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/35-install-breakpad.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/40-android_linux.sh
new file mode 100755
index 00000000..f7591d82
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/40-android_linux.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/android_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/40-install-cmake.sh
new file mode 100755
index 00000000..7effb8d7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/40-install-cmake.sh
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs CMake 3.6.2
+
+set -ex
+
+# CMake is needed for autotests that verify that Qt can be built with CMake
+
+# shellcheck source=../common/linux/cmake_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/cmake_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/50-openssl_for_android_linux.sh
new file mode 100755
index 00000000..4e5ec7f0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/50-openssl_for_android_linux.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/openssl_for_android.sh
+source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/60-install_protobuf.sh
new file mode 100755
index 00000000..ef6fdec0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/60-install_protobuf.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/61-install_grpc.sh
new file mode 100755
index 00000000..ba69ffef
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/61-install_grpc.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/70-install_QemuGA.sh
new file mode 100755
index 00000000..62b799e0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/70-install_QemuGA.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QEMU Guest Agent
+
+set -ex
+
+sudo yum -y install qemu-guest-agent
+sudo systemctl start qemu-guest-agent
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/70-install_dwz.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/70-install_dwz.sh
new file mode 100755
index 00000000..3647cc48
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/70-install_dwz.sh
@@ -0,0 +1,12 @@
+#!/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
+
+sudo yum -y install elfutils-libelf-devel
+
+# shellcheck source=../common/linux/install_dwz.sh
+source "${BASH_SOURCE%/*}/../common/linux/install_dwz.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-bootstrap-autostart.sh
new file mode 100755
index 00000000..1ff43850
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-bootstrap-autostart.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..a3252c08
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-install-ffmpeg.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
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-mimer.sh
new file mode 100755
index 00000000..bff2a7c7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-mimer.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-squish.sh
new file mode 100755
index 00000000..f803ccc1
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/90-squish.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/99-cleanup.sh
new file mode 100755
index 00000000..842cd294
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/99-cleanup.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+"$(dirname "$0")"/../common/linux/cleanup_cache.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/99-version.sh
new file mode 100755
index 00000000..725351ae
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.6-x86_64/99-version.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script needs to be called last during provisioning so that the software information will show up last in provision log.
+
+# Storage installed RPM packages information
+
+set -ex
+
+# shellcheck disable=SC2129
+echo "*********************************************" >> ~/versions.txt
+echo "***** All installed RPM packages *****" >> ~/versions.txt
+rpm -q -a | sort >> ~/versions.txt
+echo "*********************************************" >> ~/versions.txt
+
+"$(dirname "$0")/../common/linux/version.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable-automounting.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable-automounting.sh
new file mode 100755
index 00000000..c9d490b1
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable-automounting.sh
@@ -0,0 +1,15 @@
+#!/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
+
+sudo tee -a /etc/dconf/db/local.d/00-media-automount <<"EOF"
+[org/gnome/desktop/media-handling]
+automount=false
+automount-open=false
+EOF
+
+sudo dconf update
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable_net_lso.sh
new file mode 100755
index 00000000..4da6aaaa
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable_net_lso.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+echo "ETHTOOL_OPTS='-K \${DEVICE} tso off'" | sudo tee -a /etc/sysconfig/network-scripts/ifcfg-Wired_connection_1
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-refresh-subscription-manager.sh
new file mode 100755
index 00000000..51417f1b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-refresh-subscription-manager.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -e
+
+curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions.sh -o "/tmp/redhat_ak.sh" &>/dev/null
+sudo chmod 755 /tmp/redhat_ak.sh
+/tmp/redhat_ak.sh
+
+# refresh local certificates
+sudo subscription-manager refresh
+
+# Attach available subscriptions to system. This is needed when subscriptions are renewed.
+sudo subscription-manager attach --auto
+
+sudo rm -f /tmp/redhat_ak.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_network_manager_secret_key.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_network_manager_secret_key.sh
new file mode 100755
index 00000000..7f9790ae
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_network_manager_secret_key.sh
@@ -0,0 +1,11 @@
+#!/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
+
+# Ipv6 link local becomes tentative and dadfailed if two systems has the same secret_key
+# New unique secret key will be created automatically during start up.
+# https://access.redhat.com/solutions/3553581
+echo "Removing secret_key"
+sudo rm -f "/var/lib/NetworkManager/secret_key"
+
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_stable-privacy.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_stable-privacy.sh
new file mode 100755
index 00000000..6d59f866
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_stable-privacy.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+echo "Change default stable-secret to based on MAC"
+sudo sed -i '/^IPV6_ADDR_GEN_MODE/d' "/etc/sysconfig/network-scripts/ifcfg-enp1s0"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-set-ulimit.sh
new file mode 100755
index 00000000..e951e82a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-set-ulimit.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/set_ulimit.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-systemsetup.sh
new file mode 100755
index 00000000..8d43ace0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-systemsetup.sh
@@ -0,0 +1,29 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/shared/network_test_server_ip.txt
+source "$BASEDIR/../common/shared/network_test_server_ip.txt"
+
+echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
+echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+echo "Set DISPLAY"
+echo 'export DISPLAY=":0"' >> ~/.bashrc
+# for current session
+export DISPLAY=:0
+
+# Set timezone to UTC.
+sudo timedatectl set-timezone Etc/UTC
+# disable Automatic screen lock
+gsettings set org.gnome.desktop.screensaver lock-enabled false
+# disable blank screen power saving
+gsettings set org.gnome.desktop.session idle-delay 0
+
+# Set Wayland enable as false.
+echo "Setting Wayland enable as false"
+sudo sed -i 's/#WaylandEnable=false/WaylandEnable=false/g' /etc/gdm/custom.conf
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-enable-repos.sh
new file mode 100755
index 00000000..1ad60c7d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-enable-repos.sh
@@ -0,0 +1,34 @@
+#!/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
+
+echo "set WritePreparedUpdates=false" | sudo tee -a /etc/PackageKit/PackageKit.conf
+sudo systemctl stop packagekit
+sudo systemctl disable packagekit
+while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
+ echo "Waiting for PackageKit to finish..."
+ sleep 1
+done
+sudo yum -y remove PackageKit gnome-software
+
+sudo subscription-manager config --rhsm.manage_repos=1
+sudo subscription-manager refresh
+
+# List available RHEL versions and bind with correct one
+sudo subscription-manager release --list
+sudo subscription-manager release --set=8.8
+sudo yum clean all
+
+# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
+sudo yum config-manager --enable 'codeready-builder-for-rhel-8-x86_64-rpms'
+sudo yum config-manager --enable 'rhel-8-for-x86_64-baseos-rpms'
+sudo yum config-manager --enable 'rhel-8-for-x86_64-appstream-rpms'
+# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
+sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
+
+sudo yum clean all
+# As well as this fetching the repository data, we also get a printout of the used repos
+sudo yum repolist
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-install-gcc-toolset.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-install-gcc-toolset.sh
new file mode 100755
index 00000000..dfed7489
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-install-gcc-toolset.sh
@@ -0,0 +1,10 @@
+#!/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
+
+sudo yum -y install gcc-toolset-10 gcc-toolset-10-libatomic-devel
+
+echo "source /opt/rh/gcc-toolset-10/enable" >> ~/.bashrc
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
new file mode 100755
index 00000000..b0eaebb0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh
@@ -0,0 +1,175 @@
+#!/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
+
+# Remove update notifications and packagekit running in the background
+sudo yum -y remove PackageKit gnome-software
+
+# CI: All platforms should have up-to-date packages when new provision is made
+sudo yum -y update
+
+installPackages=()
+installPackages+=(git)
+installPackages+=(zlib-devel)
+installPackages+=(glib2-devel)
+installPackages+=(openssl3)
+installPackages+=(openssl3-devel)
+installPackages+=(freetype-devel)
+installPackages+=(fontconfig-devel)
+installPackages+=(curl-devel)
+installPackages+=(expat-devel)
+installPackages+=(gettext-devel)
+installPackages+=(perl-devel)
+installPackages+=(dh-autoreconf)
+# cmake build
+installPackages+=(ninja-build)
+installPackages+=(pcre2-devel)
+installPackages+=(double-conversion-devel)
+installPackages+=(zstd)
+# update kernel
+installPackages+=(kernel)
+installPackages+=(kernel-tools)
+installPackages+=(kernel-devel)
+installPackages+=(kernel-core)
+installPackages+=(kernel-modules)
+installPackages+=(kernel-headers)
+# EGL support
+# mesa-libraries need to use older version than 22.1.5-2 which cause Xorg to crash
+installPackages+=(mesa-libEGL-devel-21.3.4-1.el8)
+installPackages+=(mesa-libGL-devel-21.3.4-1.el8)
+installPackages+=(mesa-dri-drivers-21.3.4-1.el8.x86_64)
+installPackages+=(mesa-libgbm-21.3.4-1.el8.x86_64)
+installPackages+=(mesa-vulkan-drivers-21.3.4-1.el8.x86_64)
+installPackages+=(libxkbfile-devel)
+# Xinput2
+installPackages+=(libXi-devel)
+installPackages+=(mysql-server)
+installPackages+=(mysql)
+installPackages+=(mysql-devel)
+installPackages+=(postgresql-devel)
+installPackages+=(cups-devel)
+installPackages+=(dbus-devel)
+# gstreamer 1 for QtMultimedia
+# Note! gstreamer1-plugins-bad-free needs to be upgraded or it will conflicts with gstreamer1-plugins-base-devel
+installPackages+=(gstreamer1-plugins-bad-free)
+installPackages+=(gstreamer1-devel)
+installPackages+=(gstreamer1-plugins-base-devel)
+# for QtMultimedia, ffmpeg
+installPackages+=(yasm)
+installPackages+=(libva-devel)
+# gtk3 style for QtGui/QStyle
+installPackages+=(gtk3-devel)
+# libusb1 for tqtc-boot2qt/qdb
+installPackages+=(libusbx-devel)
+# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux
+installPackages+=(speech-dispatcher-devel)
+# Python 3.8 for pyside. Qt for Python support for Python 3.6 will be deprecated in within pyside6.3
+installPackages+=(python3.11)
+installPackages+=(python3.11-pip)
+installPackages+=(python3.11-devel)
+# WebEngine
+installPackages+=(bison)
+installPackages+=(flex)
+installPackages+=(gperftools-libs)
+installPackages+=(gperf)
+installPackages+=(alsa-lib-devel)
+installPackages+=(pulseaudio-libs-devel)
+installPackages+=(libdrm-devel)
+installPackages+=(libva-devel)
+installPackages+=(libXtst-devel)
+installPackages+=(libxshmfence-devel)
+installPackages+=(nspr-devel)
+installPackages+=(nss-devel)
+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)
+# For receiving shasum
+installPackages+=(perl-Digest-SHA)
+# INTEGRITY requirements
+installPackages+=(glibc.i686)
+# Enable Qt Bluetooth
+installPackages+=(bluez-libs-devel)
+# QtNfc
+installPackages+=(pcsc-lite-devel)
+# QtWebKit
+installPackages+=(libxml2-devel)
+installPackages+=(libxslt-devel)
+# For building Wayland from source
+installPackages+=(libffi-devel)
+# QtWayland
+#installPackages+=(mesa-libwayland-egl)
+#installPackages+=(mesa-libwayland-egl-devel)
+installPackages+=(libwayland-client)
+installPackages+=(libwayland-cursor)
+installPackages+=(libwayland-server)
+# Jenkins
+installPackages+=(chrpath)
+# libxkbcommon
+installPackages+=(libxkbcommon-devel)
+installPackages+=(libxkbcommon-x11-devel)
+# xcb-util-* libraries
+installPackages+=(xcb-util)
+installPackages+=(xcb-util-image-devel)
+installPackages+=(xcb-util-keysyms-devel)
+installPackages+=(xcb-util-wm-devel)
+installPackages+=(xcb-util-renderutil-devel)
+installPackages+=(xcb-util-cursor)
+installPackages+=(xcb-util-cursor-devel)
+
+# ODBC support
+installPackages+=(unixODBC-devel)
+installPackages+=(unixODBC)
+# Vulkan support
+installPackages+=(vulkan-devel)
+installPackages+=(vulkan-tools)
+# Conan: For Python build
+installPackages+=(xz-devel)
+installPackages+=(zlib-devel)
+installPackages+=(libffi-devel)
+installPackages+=(libsqlite3x-devel)
+# Build.pl
+installPackages+=(perl-Data-Dumper)
+# In RedHat these come with Devtoolset
+installPackages+=(gcc)
+installPackages+=(gcc-c++)
+installPackages+=(make)
+# Open source VMware Tools
+installPackages+=(open-vm-tools)
+# cifs-utils, for mounting smb drive
+installPackages+=(keyutils)
+installPackages+=(cifs-utils)
+# used for reading vcpkg packages version, from vcpkg.json
+installPackages+=(jq)
+# zip, needed for vcpkg caching
+installPackages+=(zip)
+# OpenSSL requirement, built by vcpkg
+installPackages+=(perl-IPC-Cmd)
+
+sudo yum -y install "${installPackages[@]}"
+
+sudo dnf -y module install nodejs:16
+
+# We shouldn't use yum to install virtualenv. The one found from package repo is not
+# working, but we can use installed pip
+sudo pip3 install --upgrade pip
+# Configure pip
+sudo pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
+sudo pip config --user set global.extra-index-url https://pypi.org/simple/
+
+sudo pip3 install virtualenv wheel
+# Just make sure we have virtualenv to run with python3.8 -m virtualenv
+sudo python3.11 -m pip install virtualenv wheel
+
+sudo /usr/bin/pip3 install wheel
+sudo /usr/bin/pip3 install dataclasses
+
+OpenSSLVersion="$(openssl3 version |cut -b 9-14)"
+echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt
+
+# List all available updates
+sudo yum -y list updates
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-p7zip.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-p7zip.sh
new file mode 100755
index 00000000..98be8b40
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-p7zip.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+set -ex
+
+name="p7zip"
+version="7-11"
+sudo yum -y install "$name"
+
+# Link 7za to 7z so we can use existing installation scripts
+sudo ln -s /usr/bin/7za /usr/bin/7z
+
+echo "$name = $version" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang-v100-dyn.sh
new file mode 100755
index 00000000..2e08049d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang-v100-dyn.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang-v100-dyn.sh
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang.sh
new file mode 100755
index 00000000..cc68ed1f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang.sh
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-mount-vcpkg-cache-drive.sh
new file mode 100755
index 00000000..ed49b3a5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-mount-vcpkg-cache-drive.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/mount-vcpkg-cache-drive.sh
+source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-disable_selinux.sh
new file mode 100755
index 00000000..17f9422f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-disable_selinux.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/disable_selinux.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable_selinux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-openssl.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-openssl.sh
new file mode 100755
index 00000000..ae8024f2
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-openssl.sh
@@ -0,0 +1,10 @@
+#!/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
+
+# Required by Rhel source build
+sudo yum -y install perl-IPC-Cmd
+
+"$(dirname "$0")/../common/unix/install-openssl.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/20-sccache.sh
new file mode 100755
index 00000000..b371d947
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/20-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/22-mqtt_broker.sh
new file mode 100755
index 00000000..fd568537
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/22-mqtt_broker.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
+
+# shellcheck source=../common/unix/mqtt_broker.sh
+source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-fbx.sh
new file mode 100755
index 00000000..16a9bda8
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-fbx.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/fbx_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..67a4f911
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-git.sh
new file mode 100755
index 00000000..7a73f354
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-git.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-git.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install_icu.sh
new file mode 100755
index 00000000..0effaefa
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install_icu.sh
@@ -0,0 +1,46 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+set -ex
+
+# This script will install ICU
+
+icuVersion="73.2"
+icuLocation="/usr/lib64"
+sha1="d2bbb7b2a9a9ee00dba5cc6a68137f6c8a98c27e"
+baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel8.6-x64.7z"
+baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel8.6-x64.7z"
+
+sha1Dev="edc9cba31ffeac28bf7360c52b85b5e4d2f39043"
+develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel8.6-x64-devel.7z"
+develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel8.6-x64-devel.7z"
+
+echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation"
+
+targetFile=$(mktemp)
+DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile"
+sudo 7z x -y -o/usr/lib64 "$targetFile"
+sudo rm "$targetFile"
+
+echo "Installing custom ICU devel packages on RHEL"
+
+tempDir=$(mktemp -d)
+
+targetFile=$(mktemp)
+DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile"
+7z x -y -o"$tempDir" "$targetFile"
+
+sudo cp -a "$tempDir"/lib/* /usr/lib64
+sudo cp -a "$tempDir"/* /usr/
+
+sudo rm "$targetFile"
+sudo rm -fr "$tempDir"
+
+sudo /sbin/ldconfig
+
+echo "ICU = $icuVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/35-install-breakpad.sh
new file mode 100755
index 00000000..8a9dde56
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/35-install-breakpad.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-android_linux.sh
new file mode 100755
index 00000000..f7591d82
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-android_linux.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/android_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-install-cmake.sh
new file mode 100755
index 00000000..7effb8d7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-install-cmake.sh
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs CMake 3.6.2
+
+set -ex
+
+# CMake is needed for autotests that verify that Qt can be built with CMake
+
+# shellcheck source=../common/linux/cmake_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/cmake_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/41-install-vcpkg.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/41-install-vcpkg.sh
new file mode 100644
index 00000000..aa88364d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/41-install-vcpkg.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-vcpkg.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/42-install-vcpkg-ports.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/42-install-vcpkg-ports.sh
new file mode 100755
index 00000000..4bc799eb
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/42-install-vcpkg-ports.sh
@@ -0,0 +1,14 @@
+#!/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
+
+echo "Installing vcpkg ports"
+echo "VCPKG_ROOT: ${VCPKG_ROOT}"
+echo "ANDOID_NDK_HOME: ${ANDROID_NDK_HOME}"
+
+# Installing common ports
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-vcpkg-ports.sh"
+
+# Installing platform specific ports
+"$BASEDIR/../common/linux/install-vcpkg-ports-android.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/50-openssl_for_android_linux.sh
new file mode 100755
index 00000000..4e5ec7f0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/50-openssl_for_android_linux.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/openssl_for_android.sh
+source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/60-install_protobuf.sh
new file mode 100755
index 00000000..ef6fdec0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/60-install_protobuf.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/61-install_grpc.sh
new file mode 100755
index 00000000..ba69ffef
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/61-install_grpc.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_QemuGA.sh
new file mode 100755
index 00000000..62b799e0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_QemuGA.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QEMU Guest Agent
+
+set -ex
+
+sudo yum -y install qemu-guest-agent
+sudo systemctl start qemu-guest-agent
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_dwz.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_dwz.sh
new file mode 100755
index 00000000..3647cc48
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_dwz.sh
@@ -0,0 +1,12 @@
+#!/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
+
+sudo yum -y install elfutils-libelf-devel
+
+# shellcheck source=../common/linux/install_dwz.sh
+source "${BASH_SOURCE%/*}/../common/linux/install_dwz.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-bootstrap-autostart.sh
new file mode 100755
index 00000000..1ff43850
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-bootstrap-autostart.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..06e28f34
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.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
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64"
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-mimer.sh
new file mode 100755
index 00000000..bff2a7c7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-mimer.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm"
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-squish.sh
new file mode 100755
index 00000000..f803ccc1
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-squish.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-cleanup.sh
new file mode 100755
index 00000000..842cd294
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-cleanup.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+"$(dirname "$0")"/../common/linux/cleanup_cache.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-enable_test_stacktraces.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-enable_test_stacktraces.sh
new file mode 100755
index 00000000..600b7850
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-enable_test_stacktraces.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/linux/enable_test_stacktraces.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-version.sh
new file mode 100755
index 00000000..725351ae
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-version.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script needs to be called last during provisioning so that the software information will show up last in provision log.
+
+# Storage installed RPM packages information
+
+set -ex
+
+# shellcheck disable=SC2129
+echo "*********************************************" >> ~/versions.txt
+echo "***** All installed RPM packages *****" >> ~/versions.txt
+rpm -q -a | sort >> ~/versions.txt
+echo "*********************************************" >> ~/versions.txt
+
+"$(dirname "$0")/../common/linux/version.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-disable_net_lso.sh
new file mode 100755
index 00000000..4da6aaaa
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-disable_net_lso.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+echo "ETHTOOL_OPTS='-K \${DEVICE} tso off'" | sudo tee -a /etc/sysconfig/network-scripts/ifcfg-Wired_connection_1
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-refresh-subscription-manager.sh
new file mode 100755
index 00000000..51417f1b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-refresh-subscription-manager.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -e
+
+curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions.sh -o "/tmp/redhat_ak.sh" &>/dev/null
+sudo chmod 755 /tmp/redhat_ak.sh
+/tmp/redhat_ak.sh
+
+# refresh local certificates
+sudo subscription-manager refresh
+
+# Attach available subscriptions to system. This is needed when subscriptions are renewed.
+sudo subscription-manager attach --auto
+
+sudo rm -f /tmp/redhat_ak.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-remove_network_manager_secret_key.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-remove_network_manager_secret_key.sh
new file mode 100755
index 00000000..7f9790ae
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-remove_network_manager_secret_key.sh
@@ -0,0 +1,11 @@
+#!/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
+
+# Ipv6 link local becomes tentative and dadfailed if two systems has the same secret_key
+# New unique secret key will be created automatically during start up.
+# https://access.redhat.com/solutions/3553581
+echo "Removing secret_key"
+sudo rm -f "/var/lib/NetworkManager/secret_key"
+
+
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-set-ulimit.sh
new file mode 100755
index 00000000..e951e82a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-set-ulimit.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/set_ulimit.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-systemsetup.sh
new file mode 100755
index 00000000..5e3ecb27
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/01-systemsetup.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/shared/network_test_server_ip.txt
+source "$BASEDIR/../common/shared/network_test_server_ip.txt"
+
+echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
+echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+echo "Set DISPLAY"
+echo 'export DISPLAY=":0"' >> ~/.bashrc
+# for current session
+export DISPLAY=:0
+
+# Set timezone to UTC.
+sudo timedatectl set-timezone Etc/UTC
+# disable Automatic screen lock
+gsettings set org.gnome.desktop.screensaver lock-enabled false
+# disable blank screen power saving
+gsettings set org.gnome.desktop.session idle-delay 0
+# Disable hot corner feature
+gsettings set org.gnome.desktop.interface enable-hot-corners false
+# Disable windows key from showing the GNOME Shell Activities overlay
+gsettings set org.gnome.mutter overlay-key ""
+
+# Set Wayland enable as false.
+echo "Setting Wayland enable as false"
+sudo sed -i 's/#WaylandEnable=false/WaylandEnable=false/g' /etc/gdm/custom.conf
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/03-enable-repos.sh
new file mode 100755
index 00000000..f2ac6a71
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/03-enable-repos.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+echo "set WritePreparedUpdates=false" | sudo tee -a /etc/PackageKit/PackageKit.conf
+sudo systemctl stop packagekit
+sudo systemctl disable packagekit
+while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
+ echo "Waiting for PackageKit to finish..."
+ sleep 1
+done
+sudo yum -y remove PackageKit gnome-software
+
+sudo subscription-manager config --rhsm.manage_repos=1
+sudo subscription-manager refresh
+
+# List available RHEL versions and bind with correct one
+sudo subscription-manager release --list
+sudo subscription-manager release --set=9.0
+sudo yum clean all
+
+# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
+sudo yum config-manager --enable 'codeready-builder-for-rhel-9-x86_64-rpms'
+sudo yum config-manager --enable 'rhel-9-for-x86_64-baseos-rpms'
+sudo yum config-manager --enable 'rhel-9-for-x86_64-appstream-rpms'
+# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
+sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
+
+sudo yum clean all
+# As well as this fetching the repository data, we also get a printout of the used repos
+sudo yum repolist
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
new file mode 100755
index 00000000..c843bbd0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-install-packages.sh
@@ -0,0 +1,167 @@
+#!/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
+
+# Remove update notifications and packagekit running in the background
+sudo yum -y remove PackageKit gnome-software
+
+# CI: All platforms should have up-to-date packages when new provision is made
+sudo yum -y update
+
+installPackages=()
+installPackages+=(git)
+installPackages+=(zlib-devel)
+installPackages+=(glib2-devel)
+installPackages+=(openssl-devel)
+installPackages+=(freetype-devel)
+installPackages+=(fontconfig-devel)
+installPackages+=(curl-devel)
+installPackages+=(expat-devel)
+installPackages+=(gettext-devel)
+installPackages+=(perl-devel)
+# Required by some old pkg perl script, FindBin.pm was moved to new package in perl 5.32
+installPackages+=(perl-FindBin)
+installPackages+=(dh-autoreconf)
+# cmake build
+installPackages+=(ninja-build)
+installPackages+=(pcre2-devel)
+installPackages+=(double-conversion-devel)
+installPackages+=(zstd)
+# EGL support
+# mesa-libEGL-devel need to use older version than 22.1.5-2.el9 which cause Xorg to crash
+installPackages+=(mesa-libEGL-devel-21.3.4-2.el9)
+installPackages+=(mesa-libGL-devel-21.3.4-2.el9)
+installPackages+=(libxkbfile-devel)
+# Xinput2
+installPackages+=(libXi-devel)
+installPackages+=(mysql-server)
+installPackages+=(mysql)
+installPackages+=(mysql-devel)
+installPackages+=(postgresql-devel)
+installPackages+=(cups-devel)
+installPackages+=(dbus-devel)
+# gstreamer 1 for QtMultimedia
+# Note! gstreamer1-plugins-bad-free needs to be upgraded or it will conflicts with gstreamer1-plugins-base-devel
+installPackages+=(gstreamer1-plugins-bad-free)
+installPackages+=(gstreamer1-devel)
+installPackages+=(gstreamer1-plugins-base-devel)
+# QtMultimedia, ffmpeg
+installPackages+=(yasm)
+installPackages+=(libva-devel)
+# gtk3 style for QtGui/QStyle
+installPackages+=(gtk3-devel)
+# libusb1 for tqtc-boot2qt/qdb
+installPackages+=(libusbx-devel)
+# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux
+installPackages+=(speech-dispatcher-devel)
+# Python 2 devel and pip. python-pip requires the EPEL repository to be added
+# Python 2 no longer supported
+# installPackages+=(python2-devel python2-pip)
+# Python 3 with python-devel, pip and virtualenv
+installPackages+=(python3)
+installPackages+=(python3-devel)
+# WebEngine
+installPackages+=(bison)
+installPackages+=(flex)
+installPackages+=(gperftools-libs)
+installPackages+=(gperf)
+installPackages+=(alsa-lib-devel)
+installPackages+=(pulseaudio-libs-devel)
+installPackages+=(libdrm-devel)
+installPackages+=(libva-devel)
+installPackages+=(libuuid-devel)
+installPackages+=(libXtst-devel)
+installPackages+=(libxshmfence-devel)
+installPackages+=(nspr-devel)
+installPackages+=(nss-devel)
+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)
+# For receiving shasum
+installPackages+=(perl-Digest-SHA)
+# INTEGRITY requirements
+installPackages+=(glibc.i686)
+# Enable Qt Bluetooth
+installPackages+=(bluez-libs-devel)
+# QtNfc
+installPackages+=(pcsc-lite-devel)
+# QtWebKit
+installPackages+=(libxml2-devel)
+installPackages+=(libxslt-devel)
+# For building Wayland from source
+installPackages+=(libffi-devel)
+# QtWayland
+# installPackages+=(mesa-libwayland-egl)
+# installPackages+=(mesa-libwayland-egl-devel)
+installPackages+=(libwayland-egl)
+installPackages+=(libwayland-client)
+installPackages+=(libwayland-cursor)
+installPackages+=(libwayland-server)
+# Jenkins
+installPackages+=(chrpath)
+# libxkbcommon
+installPackages+=(libxkbcommon-devel)
+installPackages+=(libxkbcommon-x11-devel)
+# xcb-util-* libraries
+installPackages+=(xcb-util)
+installPackages+=(xcb-util-image-devel)
+installPackages+=(xcb-util-keysyms-devel)
+installPackages+=(xcb-util-wm-devel)
+installPackages+=(xcb-util-renderutil-devel)
+installPackages+=(xcb-util-cursor)
+installPackages+=(xcb-util-cursor-devel)
+
+# ODBC support
+installPackages+=(unixODBC-devel)
+installPackages+=(unixODBC)
+# Vulkan support
+installPackages+=(vulkan-devel)
+installPackages+=(vulkan-tools)
+# Conan: For Python build
+installPackages+=(xz-devel)
+installPackages+=(zlib-devel)
+installPackages+=(libffi-devel)
+installPackages+=(libsqlite3x-devel)
+# Build.pl
+installPackages+=(perl-Data-Dumper)
+# In RedHat these come with Devtoolset
+installPackages+=(gcc)
+installPackages+=(gcc-c++)
+installPackages+=(make)
+# Open source VMware Tools
+installPackages+=(open-vm-tools)
+# nfs-utils is needed to make mount work with ci-files01
+installPackages+=(nfs-utils)
+# cifs-utils, for mounting smb drive
+installPackages+=(keyutils)
+installPackages+=(cifs-utils)
+
+
+sudo yum -y install "${installPackages[@]}"
+
+sudo dnf install nodejs-16.14.0-4.el9_0 -y
+# Required by QtCore
+sudo dnf install 'perl(English)' -y
+
+# We shouldn't use yum to install virtualenv. The one found from package repo is not
+# working, but we can use installed pip
+sudo pip3 install --upgrade pip
+# Configure pip
+sudo pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
+sudo pip config --user set global.extra-index-url https://pypi.org/simple/
+
+sudo pip3 install virtualenv wheel
+# Just make sure we have virtualenv to run with python3.8 -m virtualenv
+sudo python -m pip install virtualenv wheel
+
+sudo /usr/bin/pip3 install wheel
+
+# Make FindPython3.cmake to find python3
+sudo ln -s /usr/bin/python3 /usr/local/bin/python3
+
+OpenSSLVersion="$(openssl version |cut -b 9-14)"
+echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-p7zip.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-p7zip.sh
new file mode 100755
index 00000000..9a7e899b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/04-p7zip.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+set -ex
+
+name="p7zip"
+version="7-11"
+sudo yum -y install "$name"
+
+# Link 7za to 7z so we can use existing installation scripts
+sudo ln -s /usr/bin/7za /usr/bin/7z
+
+echo "$name = $version" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-libclang-v100-dyn.sh
new file mode 100755
index 00000000..2e08049d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-libclang-v100-dyn.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang-v100-dyn.sh
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-libclang.sh
new file mode 100755
index 00000000..cc68ed1f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-libclang.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang.sh
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-mount-vcpkg-cache-drive.sh
new file mode 100755
index 00000000..ed49b3a5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/05-mount-vcpkg-cache-drive.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/mount-vcpkg-cache-drive.sh
+source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/09-disable_selinux.sh
new file mode 100755
index 00000000..1659419a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/09-disable_selinux.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/disable_selinux.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable_selinux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/20-sccache.sh
new file mode 100755
index 00000000..b371d947
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/20-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/22-mqtt_broker.sh
new file mode 100755
index 00000000..c81f5c66
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/22-mqtt_broker.sh
@@ -0,0 +1,6 @@
+#!/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
+
+# shellcheck source=../common/unix/mqtt_broker.sh
+source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-fbx.sh
new file mode 100755
index 00000000..16a9bda8
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-fbx.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/fbx_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..67a4f911
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install-git.sh
new file mode 100755
index 00000000..7a73f354
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install-git.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-git.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install_icu.sh
new file mode 100755
index 00000000..8cba7c33
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/30-install_icu.sh
@@ -0,0 +1,45 @@
+#!/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
+
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+set -ex
+
+# This script will install ICU
+
+icuVersion="56.1"
+icuLocation="/usr/lib64"
+sha1="6dd9ca6b185681a7ddc4bb94fd7fced27647a21c"
+baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z"
+baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z"
+
+sha1Dev="bffde26cdea752bee0edd281820c57f1adac3864"
+develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z"
+develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z"
+
+echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation"
+
+targetFile=$(mktemp)
+DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile"
+sudo 7z x -y -o/usr/lib64 "$targetFile"
+sudo rm "$targetFile"
+
+echo "Installing custom ICU devel packages on RHEL"
+
+tempDir=$(mktemp -d)
+
+targetFile=$(mktemp)
+DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile"
+7z x -y -o"$tempDir" "$targetFile"
+
+sudo cp -a "$tempDir"/lib/* /usr/lib64
+sudo cp -a "$tempDir"/* /usr/
+
+sudo rm "$targetFile"
+sudo rm -fr "$tempDir"
+
+sudo /sbin/ldconfig
+
+echo "ICU = $icuVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/35-install-breakpad.sh
new file mode 100755
index 00000000..8a9dde56
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/35-install-breakpad.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/40-android_linux.sh
new file mode 100755
index 00000000..7ac2ce72
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/40-android_linux.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/android_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/40-install-cmake.sh
new file mode 100755
index 00000000..41139756
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/40-install-cmake.sh
@@ -0,0 +1,12 @@
+#!/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 installs CMake 3.6.2
+
+set -ex
+
+# CMake is needed for autotests that verify that Qt can be built with CMake
+
+# shellcheck source=../common/linux/cmake_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/cmake_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/50-openssl_for_android_linux.sh
new file mode 100755
index 00000000..36aa6983
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/50-openssl_for_android_linux.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
+
+# shellcheck source=../common/unix/openssl_for_android.sh
+source "${BASH_SOURCE%/*}/../common/unix/openssl_3_for_android.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/60-install_protobuf.sh
new file mode 100755
index 00000000..c538ca07
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/60-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/61-install_grpc.sh
new file mode 100755
index 00000000..ecd6a51f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/61-install_grpc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/70-install_QemuGA.sh
new file mode 100755
index 00000000..27ee6f50
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/70-install_QemuGA.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QEMU Guest Agent
+
+set -ex
+
+sudo yum -y install qemu-guest-agent
+sudo systemctl start qemu-guest-agent
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/70-install_dwz.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/70-install_dwz.sh
new file mode 100755
index 00000000..ef076d7c
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/70-install_dwz.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 Konstantin Tokarev <annulen@yandex.ru>
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+sudo yum -y install elfutils-libelf-devel
+
+# shellcheck source=../common/linux/install_dwz.sh
+source "${BASH_SOURCE%/*}/../common/linux/install_dwz.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-bootstrap-autostart.sh
new file mode 100755
index 00000000..1ff43850
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-bootstrap-autostart.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..61da9b7b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-install-ffmpeg.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-mimer.sh
new file mode 100755
index 00000000..a27ebdc5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-mimer.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/mimersql.sh" "openssl-3" "rpm"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-squish.sh
new file mode 100755
index 00000000..f803ccc1
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/90-squish.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/99-cleanup.sh
new file mode 100755
index 00000000..4d6e16ea
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/99-cleanup.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+"$(dirname "$0")"/../common/linux/cleanup_cache.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/99-version.sh
new file mode 100755
index 00000000..00d06674
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.0-x86_64/99-version.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script needs to be called last during provisioning so that the software information will show up last in provision log.
+
+# Storage installed RPM packages information
+
+set -ex
+
+# shellcheck disable=SC2129
+echo "*********************************************" >> ~/versions.txt
+echo "***** All installed RPM packages *****" >> ~/versions.txt
+rpm -q -a | sort >> ~/versions.txt
+echo "*********************************************" >> ~/versions.txt
+
+"$(dirname "$0")/../common/linux/version.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-disable_net_lso.sh
new file mode 100755
index 00000000..4da6aaaa
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-disable_net_lso.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+echo "ETHTOOL_OPTS='-K \${DEVICE} tso off'" | sudo tee -a /etc/sysconfig/network-scripts/ifcfg-Wired_connection_1
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-refresh-subscription-manager.sh
new file mode 100755
index 00000000..51417f1b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-refresh-subscription-manager.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -e
+
+curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.ci.qt.io/input/semisecure/redhat_ak_all_versions.sh -o "/tmp/redhat_ak.sh" &>/dev/null
+sudo chmod 755 /tmp/redhat_ak.sh
+/tmp/redhat_ak.sh
+
+# refresh local certificates
+sudo subscription-manager refresh
+
+# Attach available subscriptions to system. This is needed when subscriptions are renewed.
+sudo subscription-manager attach --auto
+
+sudo rm -f /tmp/redhat_ak.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-remove_network_manager_secret_key.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-remove_network_manager_secret_key.sh
new file mode 100755
index 00000000..7f9790ae
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-remove_network_manager_secret_key.sh
@@ -0,0 +1,11 @@
+#!/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
+
+# Ipv6 link local becomes tentative and dadfailed if two systems has the same secret_key
+# New unique secret key will be created automatically during start up.
+# https://access.redhat.com/solutions/3553581
+echo "Removing secret_key"
+sudo rm -f "/var/lib/NetworkManager/secret_key"
+
+
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-set-ulimit.sh
new file mode 100755
index 00000000..e951e82a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-set-ulimit.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/set_ulimit.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-systemsetup.sh
new file mode 100755
index 00000000..fbd00eef
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/01-systemsetup.sh
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/shared/network_test_server_ip.txt
+source "$BASEDIR/../common/shared/network_test_server_ip.txt"
+
+echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
+echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+echo "Set DISPLAY"
+echo 'export DISPLAY=":0"' >> ~/.bashrc
+# for current session
+export DISPLAY=:0
+
+# Set timezone to UTC.
+sudo timedatectl set-timezone Etc/UTC
+# disable Automatic screen lock
+gsettings set org.gnome.desktop.screensaver lock-enabled false
+# disable blank screen power saving
+gsettings set org.gnome.desktop.session idle-delay 0
+# Disable hot corner feature
+gsettings set org.gnome.desktop.interface enable-hot-corners false
+# Disable windows key from showing the GNOME Shell Activities overlay
+gsettings set org.gnome.mutter overlay-key ""
+
+# Set Wayland enable as false.
+echo "Setting Wayland enable as false"
+sudo sed -i 's/#WaylandEnable=false/WaylandEnable=false/g' /etc/gdm/custom.conf
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/03-enable-repos.sh
new file mode 100755
index 00000000..33f2faa9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/03-enable-repos.sh
@@ -0,0 +1,34 @@
+#!/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
+
+echo "set WritePreparedUpdates=false" | sudo tee -a /etc/PackageKit/PackageKit.conf
+sudo systemctl stop packagekit
+sudo systemctl mask --now packagekit
+while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do
+ echo "Waiting for PackageKit to finish..."
+ sleep 1
+ sudo systemctl stop packagekit
+done
+sudo yum -y remove PackageKit gnome-software
+
+sudo subscription-manager config --rhsm.manage_repos=1
+sudo subscription-manager refresh
+
+# List available RHEL versions and bind with correct one
+sudo subscription-manager release --list
+sudo subscription-manager release --set=9.2
+sudo yum clean all
+
+# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms'
+sudo yum config-manager --enable 'codeready-builder-for-rhel-9-x86_64-rpms'
+sudo yum config-manager --enable 'rhel-9-for-x86_64-baseos-rpms'
+sudo yum config-manager --enable 'rhel-9-for-x86_64-appstream-rpms'
+# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip'
+sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
+
+sudo yum clean all
+# As well as this fetching the repository data, we also get a printout of the used repos
+sudo yum repolist
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
new file mode 100755
index 00000000..dda345ac
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-install-packages.sh
@@ -0,0 +1,189 @@
+#!/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
+
+# Remove update notifications and packagekit running in the background
+sudo yum -y remove PackageKit gnome-software
+
+# CI: All platforms should have up-to-date packages when new provision is made
+sudo yum -y update
+
+installPackages=()
+installPackages+=(git)
+installPackages+=(zlib-devel)
+installPackages+=(glib2-devel)
+installPackages+=(openssl-devel)
+installPackages+=(freetype-devel)
+installPackages+=(fontconfig-devel)
+installPackages+=(curl-devel)
+installPackages+=(expat-devel)
+installPackages+=(gettext-devel)
+installPackages+=(perl-devel)
+# Required by some old pkg perl script, FindBin.pm was moved to new package in perl 5.32
+installPackages+=(perl-FindBin)
+installPackages+=(dh-autoreconf)
+# cmake build
+installPackages+=(ninja-build)
+installPackages+=(pcre2-devel)
+installPackages+=(double-conversion-devel)
+installPackages+=(zstd)
+# EGL support
+# mesa-libEGL-devel need to use older version than 22.1.5-2.el9 which cause Xorg to crash
+#installPackages+=(mesa-libEGL-devel-21.3.4-2.el9)
+#installPackages+=(mesa-libGL-devel-21.3.4-2.el9)
+
+# Using same mesa libraries for RHEL 9.2 which also RHEL 8.8 had due to Xorg crash issue:
+#installPackages+=(mesa-libEGL-devel-21.3.4-1.el9.x86_64)
+#installPackages+=(mesa-libGL-devel-21.3.4-1.el9.x86_64)
+#installPackages+=(mesa-dri-drivers-21.3.4-1.el9.x86_64)
+#installPackages+=(mesa-libgbm-21.3.4-1.el9.x86_64)
+#installPackages+=(mesa-vulkan-drivers-21.3.4-1.el9.x86_64)
+
+# Same as lines above but with -2 version which should be found for el9
+installPackages+=(mesa-libEGL-devel-21.3.4-2.el9.x86_64)
+installPackages+=(mesa-libGL-devel-21.3.4-2.el9.x86_64)
+installPackages+=(mesa-dri-drivers-21.3.4-2.el9.x86_64)
+installPackages+=(mesa-libgbm-21.3.4-2.el9.x86_64)
+installPackages+=(mesa-vulkan-drivers-21.3.4-2.el9.x86_64)
+
+installPackages+=(libxkbfile-devel)
+# Xinput2
+installPackages+=(libXi-devel)
+installPackages+=(mysql-server)
+installPackages+=(mysql)
+installPackages+=(mysql-devel)
+installPackages+=(postgresql-devel)
+installPackages+=(cups-devel)
+installPackages+=(dbus-devel)
+# gstreamer 1 for QtMultimedia
+# Note! gstreamer1-plugins-bad-free needs to be upgraded or it will conflicts with gstreamer1-plugins-base-devel
+installPackages+=(gstreamer1-plugins-bad-free)
+installPackages+=(gstreamer1-devel)
+installPackages+=(gstreamer1-plugins-base-devel)
+# yasm for QtMultimedia
+installPackages+=(yasm)
+# gtk3 style for QtGui/QStyle
+installPackages+=(gtk3-devel)
+# libusb1 for tqtc-boot2qt/qdb
+installPackages+=(libusbx-devel)
+# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux
+installPackages+=(speech-dispatcher-devel)
+# Python 2 devel and pip. python-pip requires the EPEL repository to be added
+# Python 2 no longer supported
+# installPackages+=(python2-devel python2-pip)
+# Python 3 with python-devel, pip and virtualenv
+installPackages+=(python3)
+installPackages+=(python3-devel)
+# WebEngine
+installPackages+=(bison)
+installPackages+=(flex)
+installPackages+=(gperftools-libs)
+installPackages+=(gperf)
+installPackages+=(alsa-lib-devel)
+installPackages+=(pulseaudio-libs-devel)
+installPackages+=(libdrm-devel)
+installPackages+=(libva-devel)
+installPackages+=(libXtst-devel)
+installPackages+=(libxshmfence-devel)
+installPackages+=(nspr-devel)
+installPackages+=(nss-devel)
+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)
+# For receiving shasum
+installPackages+=(perl-Digest-SHA)
+# INTEGRITY requirements
+installPackages+=(glibc.i686)
+# Enable Qt Bluetooth
+installPackages+=(bluez-libs-devel)
+# QtNfc
+installPackages+=(pcsc-lite-devel)
+# QtWebKit
+installPackages+=(libxml2-devel)
+installPackages+=(libxslt-devel)
+# For building Wayland from source
+installPackages+=(libffi-devel)
+# QtWayland
+# installPackages+=(mesa-libwayland-egl)
+# installPackages+=(mesa-libwayland-egl-devel)
+installPackages+=(libwayland-egl)
+installPackages+=(libwayland-client)
+installPackages+=(libwayland-cursor)
+installPackages+=(libwayland-server)
+# Jenkins
+installPackages+=(chrpath)
+# libxkbcommon
+installPackages+=(libxkbcommon-devel)
+installPackages+=(libxkbcommon-x11-devel)
+# xcb-util-* libraries
+installPackages+=(xcb-util)
+installPackages+=(xcb-util-image-devel)
+installPackages+=(xcb-util-keysyms-devel)
+installPackages+=(xcb-util-wm-devel)
+installPackages+=(xcb-util-renderutil-devel)
+installPackages+=(xcb-util-cursor)
+installPackages+=(xcb-util-cursor-devel)
+
+# ODBC support
+installPackages+=(unixODBC-devel)
+installPackages+=(unixODBC)
+# Vulkan support
+installPackages+=(vulkan-devel)
+installPackages+=(vulkan-tools)
+# Conan: For Python build
+installPackages+=(xz-devel)
+installPackages+=(zlib-devel)
+installPackages+=(libffi-devel)
+installPackages+=(libsqlite3x-devel)
+# Build.pl
+installPackages+=(perl-Data-Dumper)
+# In RedHat these come with Devtoolset
+installPackages+=(gcc)
+installPackages+=(gcc-c++)
+installPackages+=(make)
+installPackages+=(gcc-toolset-12)
+# Open source VMware Tools
+installPackages+=(open-vm-tools)
+# nfs-utils is needed to make mount work with ci-files01
+installPackages+=(nfs-utils)
+# cifs-utils, for mounting smb drive
+installPackages+=(keyutils)
+installPackages+=(cifs-utils)
+# used for reading vcpkg packages version, from vcpkg.json
+installPackages+=(jq)
+# zip, needed for vcpkg caching
+installPackages+=(zip)
+# OpenSSL requirement, built by vcpkg
+installPackages+=(perl-IPC-Cmd)
+
+sudo yum -y install "${installPackages[@]}"
+
+sudo dnf install nodejs-16.14.0-4.el9_0 -y
+# Required by QtCore
+sudo dnf install 'perl(English)' -y
+
+# We shouldn't use yum to install virtualenv. The one found from package repo is not
+# working, but we can use installed pip
+sudo pip3 install --upgrade pip
+# Configure pip
+sudo pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
+sudo pip config --user set global.extra-index-url https://pypi.org/simple/
+
+sudo pip3 install virtualenv wheel
+# Just make sure we have virtualenv to run with python3.8 -m virtualenv
+sudo python -m pip install virtualenv wheel
+
+sudo /usr/bin/pip3 install wheel
+
+# Make FindPython3.cmake to find python3
+sudo ln -s /usr/bin/python3 /usr/local/bin/python3
+
+OpenSSLVersion="$(openssl version |cut -b 9-14)"
+echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt
+
+# List all available updates
+sudo yum -y list updates
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-p7zip.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-p7zip.sh
new file mode 100755
index 00000000..f1035285
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/04-p7zip.sh
@@ -0,0 +1,15 @@
+#!/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
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+set -ex
+
+name="p7zip"
+version="7-11"
+sudo yum -y install "$name"
+
+# Link 7za to 7z so we can use existing installation scripts
+sudo ln -s /usr/bin/7za /usr/bin/7z
+
+echo "$name = $version" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-libclang-v100-dyn.sh
new file mode 100755
index 00000000..2e08049d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-libclang-v100-dyn.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang-v100-dyn.sh
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-libclang.sh
new file mode 100755
index 00000000..cc68ed1f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-libclang.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang.sh
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-mount-vcpkg-cache-drive.sh
new file mode 100755
index 00000000..ed49b3a5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/05-mount-vcpkg-cache-drive.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/mount-vcpkg-cache-drive.sh
+source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/09-disable_selinux.sh
new file mode 100755
index 00000000..d044472b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/09-disable_selinux.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/disable_selinux.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable_selinux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/20-sccache.sh
new file mode 100755
index 00000000..b371d947
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/20-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/22-mqtt_broker.sh
new file mode 100755
index 00000000..bb69e88a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/22-mqtt_broker.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/unix/mqtt_broker.sh
+source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-fbx.sh
new file mode 100755
index 00000000..16a9bda8
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-fbx.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/fbx_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..67a4f911
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install-git.sh
new file mode 100755
index 00000000..7a73f354
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install-git.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-git.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install_icu.sh
new file mode 100755
index 00000000..8d365c9d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/30-install_icu.sh
@@ -0,0 +1,45 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+set -ex
+
+# This script will install ICU
+
+icuVersion="73.2"
+icuLocation="/usr/lib64"
+sha1="d2bbb7b2a9a9ee00dba5cc6a68137f6c8a98c27e"
+baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel8.6-x64.7z"
+baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel8.6-x64.7z"
+
+sha1Dev="edc9cba31ffeac28bf7360c52b85b5e4d2f39043"
+develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel8.6-x64-devel.7z"
+develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel8.6-x64-devel.7z"
+
+echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation"
+
+targetFile=$(mktemp)
+DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile"
+sudo 7z x -y -o/usr/lib64 "$targetFile"
+sudo rm "$targetFile"
+
+echo "Installing custom ICU devel packages on RHEL"
+
+tempDir=$(mktemp -d)
+
+targetFile=$(mktemp)
+DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile"
+7z x -y -o"$tempDir" "$targetFile"
+
+sudo cp -a "$tempDir"/lib/* /usr/lib64
+sudo cp -a "$tempDir"/* /usr/
+
+sudo rm "$targetFile"
+sudo rm -fr "$tempDir"
+
+sudo /sbin/ldconfig
+
+echo "ICU = $icuVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/35-install-breakpad.sh
new file mode 100755
index 00000000..8a9dde56
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/35-install-breakpad.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/40-android_linux.sh
new file mode 100755
index 00000000..877dfd08
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/40-android_linux.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/android_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/40-install-cmake.sh
new file mode 100755
index 00000000..155f6b7d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/40-install-cmake.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs CMake 3.6.2
+
+set -ex
+
+# CMake is needed for autotests that verify that Qt can be built with CMake
+
+# shellcheck source=../common/linux/cmake_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/cmake_linux.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/41-install-vcpkg.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/41-install-vcpkg.sh
new file mode 100644
index 00000000..aa88364d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/41-install-vcpkg.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-vcpkg.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/42-install-vcpkg-ports.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/42-install-vcpkg-ports.sh
new file mode 100755
index 00000000..71a46f9a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/42-install-vcpkg-ports.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-vcpkg-ports.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/50-openssl_for_android_linux.sh
new file mode 100755
index 00000000..a71ba0a7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/50-openssl_for_android_linux.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
+
+# shellcheck source=../common/unix/openssl_for_android.sh
+source "${BASH_SOURCE%/*}/../common/unix/openssl_3_for_android.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/60-install_protobuf.sh
new file mode 100755
index 00000000..b0761374
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/60-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/61-install_grpc.sh
new file mode 100755
index 00000000..3d14832d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/61-install_grpc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/70-install_QemuGA.sh
new file mode 100755
index 00000000..dbaed25d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/70-install_QemuGA.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QEMU Guest Agent
+
+set -ex
+
+sudo yum -y install qemu-guest-agent
+sudo systemctl start qemu-guest-agent
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/70-install_dwz.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/70-install_dwz.sh
new file mode 100755
index 00000000..518c5533
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/70-install_dwz.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 Konstantin Tokarev <annulen@yandex.ru>
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+sudo yum -y install elfutils-libelf-devel
+
+# shellcheck source=../common/linux/install_dwz.sh
+source "${BASH_SOURCE%/*}/../common/linux/install_dwz.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-bootstrap-autostart.sh
new file mode 100755
index 00000000..1ff43850
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-bootstrap-autostart.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..61da9b7b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-install-ffmpeg.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-mimer.sh
new file mode 100755
index 00000000..4683452a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-mimer.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/mimersql.sh" "openssl-3" "rpm"
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-squish.sh
new file mode 100755
index 00000000..f803ccc1
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/90-squish.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-cleanup.sh
new file mode 100755
index 00000000..dd268210
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-cleanup.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/linux/cleanup_cache.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-enable_test_stacktraces.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-enable_test_stacktraces.sh
new file mode 100755
index 00000000..600b7850
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-enable_test_stacktraces.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/linux/enable_test_stacktraces.sh
diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-version.sh
new file mode 100755
index 00000000..b12622c6
--- /dev/null
+++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/99-version.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script needs to be called last during provisioning so that the software information will show up last in provision log.
+
+# Storage installed RPM packages information
+
+set -ex
+
+# shellcheck disable=SC2129
+echo "*********************************************" >> ~/versions.txt
+echo "***** All installed RPM packages *****" >> ~/versions.txt
+rpm -q -a | sort >> ~/versions.txt
+echo "*********************************************" >> ~/versions.txt
+
+"$(dirname "$0")/../common/linux/version.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-btrfs-balance.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-btrfs-balance.sh
new file mode 100755
index 00000000..4b87251f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-btrfs-balance.sh
@@ -0,0 +1,11 @@
+#!/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
+
+# Stops the balance job if one is running at the moment. This is a very expensive thing to run and causes major slow down.
+sudo systemctl stop btrfs-balance.service
+
+# This will disable btrfs balance job scheduling.
+sudo sed -i 's/BTRFS_BALANCE_PERIOD="weekly"/BTRFS_BALANCE_PERIOD="none"/g' /etc/sysconfig/btrfsmaintenance
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-coredump.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-coredump.sh
new file mode 100755
index 00000000..3d6b8ef4
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-coredump.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+sudo chkconfig kdump off
+sudo sed -i 's/#Storage=external/Storage=none/g' /etc/systemd/coredump.conf
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-fstrim_timer.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-fstrim_timer.sh
new file mode 100755
index 00000000..9b65c43a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-fstrim_timer.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# This will disable fstrim. The fstrim.timer is scheduled to activate the fstrim.service
+sudo systemctl stop fstrim.timer
+sudo systemctl disable fstrim.timer
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable_net_lso.sh
new file mode 100755
index 00000000..d094d755
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable_net_lso.sh
@@ -0,0 +1,8 @@
+#!/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 mkdir -p /etc/wicked/scripts
+echo "ethtool -K \$2 tso off" | sudo tee -a /etc/wicked/scripts/net_tso_off
+sudo chmod 744 /etc/wicked/scripts/net_tso_off
+echo "PRE_UP_SCRIPT='wicked:/etc/wicked/scripts/net_tso_off'" | sudo tee -a /etc/sysconfig/network/ifcfg-eth0
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-set-ulimit.sh
new file mode 100755
index 00000000..e951e82a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-set-ulimit.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/set_ulimit.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-systemsetup.sh
new file mode 100755
index 00000000..32c789bb
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-systemsetup.sh
@@ -0,0 +1,42 @@
+#!/usr/bin/env bash
+# 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
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/shared/network_test_server_ip.txt
+source "$BASEDIR/../common/shared/network_test_server_ip.txt"
+# shellcheck source=../common/unix/check_and_set_proxy.sh
+source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
+
+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
+gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true'
+
+sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub
+sudo grub2-mkconfig -o /boot/grub2/grub.cfg
+
+echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
+echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+echo "Set DISPLAY"
+echo 'export DISPLAY=":0"' >> ~/.bashrc
+
+sudo systemctl stop packagekit
+sudo systemctl disable packagekit
+sudo systemctl mask packagekit
+while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do
+ echo "Waiting for PackageKit to finish..."
+ sleep 5
+done
+sudo zypper -nq remove gnome-software
+
+# shellcheck disable=SC2031
+if [ "$http_proxy" != "" ]; then
+ sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy
+ sudo sed -i "s|HTTP_PROXY=\".*\"|HTTP_PROXY=\"$proxy\"|" /etc/sysconfig/proxy
+fi
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-disable-gnome-notifications.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-disable-gnome-notifications.sh
new file mode 100755
index 00000000..1b9ed6c9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-disable-gnome-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-openSUSE-42.3-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-disable-ntp.sh
index 38707a8a..38707a8a 100755
--- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-disable-ntp.sh
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-disable-ntp.sh
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-enable-modules.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-enable-modules.sh
new file mode 100755
index 00000000..e441c959
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-enable-modules.sh
@@ -0,0 +1,23 @@
+#!/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
+
+sudo curl http://repo-clones.ci.qt.io:8081/tools/rmt-client-setup --output rmt-client-setup
+sudo chmod 755 rmt-client-setup
+sudo SUSEConnect --cleanup
+sudo sh rmt-client-setup https://repo-clones.ci.qt.io:8082 --yes --fingerprint 80:90:7F:45:C6:DF:45:8A:57:25:1E:17:5E:D7:E3:6E:96:1B:1B:95
+
+# Activate these modules
+sudo SUSEConnect -p sle-module-basesystem/15.4/x86_64
+sudo SUSEConnect -p sle-module-server-applications/15.4/x86_64
+sudo SUSEConnect -p sle-module-desktop-applications/15.4/x86_64
+sudo SUSEConnect -p sle-module-development-tools/15.4/x86_64
+sudo SUSEConnect -p sle-module-python3/15.4/x86_64
+# sle-module-web-scripting is required for Nodejs
+sudo SUSEConnect -p sle-module-web-scripting/15.4/x86_64
+
+sudo zypper lr -u
+
+sudo rm -f /tmp/suse_rk.sh
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-zypperpackages.sh
new file mode 100755
index 00000000..a9fab9bd
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-zypperpackages.sh
@@ -0,0 +1,103 @@
+#!/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
+
+sudo zypper -nq install elfutils binutils
+
+sudo zypper addrepo --no-gpgcheck https://download.opensuse.org/repositories/devel:gcc/SLE-15/devel:gcc.repo
+sudo zypper refresh
+sudo zypper -nq install --force-resolution gcc10 gcc10-c++
+
+sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 1 \
+ --slave /usr/bin/g++ g++ /usr/bin/g++-10 \
+ --slave /usr/bin/cc cc /usr/bin/gcc-10 \
+ --slave /usr/bin/c++ c++ /usr/bin/g++-10
+
+sudo zypper -nq install git ninja make patch wget tar
+
+sudo zypper -nq install bison flex gperf \
+ zlib-devel \
+ libudev-devel \
+ glib2-devel \
+ libopenssl-3-devel \
+ freetype2-devel \
+ fontconfig-devel \
+ sqlite3-devel \
+ libxkbcommon-devel \
+ libxkbcommon-x11-devel
+
+sudo zypper -nq install cmake
+
+sudo zypper -nq install p7zip
+
+# EGL support
+sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel
+
+# ICU
+sudo zypper -nq install libicu-devel libicu-suse65_1
+
+# gtk3 style for QtGui/QStyle
+sudo zypper -nq install gtk3-devel
+
+# Xinput2
+sudo zypper -nq install libXi-devel postgresql14 postgresql14-devel mysql-devel mysql mysql-server
+
+# system provided XCB libraries
+sudo zypper -nq install xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel \
+ xcb-util-wm-devel xcb-util-renderutil-devel
+
+# temporary solution for libxcb-cursor0 xcb-util-cursor-devel
+sudo zypper addrepo --no-gpgcheck https://download.opensuse.org/repositories/home:liangqi_qt:branches:SUSE:SLE-15-SP4:GA/standard/home:liangqi_qt:branches:SUSE:SLE-15-SP4:GA.repo
+sudo zypper refresh
+sudo zypper -nq install --force-resolution libxcb-cursor0 xcb-util-cursor-devel
+
+# qtwebengine
+sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel libdrm-devel \
+ libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \
+ mozilla-nspr-devel mozilla-nss-devel glproto-devel libxshmfence-devel \
+ libgbm-devel Mesa-dri-devel vulkan-devel
+
+# qtwebengine, qtmultimedia+ffmpeg
+sudo zypper -nq install libva-devel
+
+# qtwebkit
+sudo zypper -nq install libxml2-devel libxslt-devel
+
+# yasm (for ffmpeg in multimedia)
+sudo zypper -nq install yasm
+
+# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia)
+sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel
+
+# cups
+sudo zypper -nq install cups-devel
+
+# speech-dispatcher
+sudo zypper -nq install libspeechd-devel
+#sudo sed -i 's:includedir=/usr/include:includedir=/usr/include/speech-dispatcher:' /usr/lib64/pkgconfig/speech-dispatcher.pc
+
+# ODBC support
+sudo zypper -nq install unixODBC-devel unixODBC
+
+# sqlite support
+sudo zypper -nq install sqlite3 sqlite3-devel
+
+# Java - needed by RTA jenkins
+sudo zypper -nq install java
+
+# open-vm-tools requires update. Version in tier1 is broken and causes segfault on boot.
+sudo zypper -nq update open-vm-tools
+
+# Tools to build Git
+sudo zypper -nq install autoconf libcurl-devel libexpat-devel
+
+# Nodejs - required by QtWebengine
+sudo zypper -nq install nodejs16
+
+# OpenSSL 3
+sudo zypper -nq install openssl-3
+
+gccVersion="$(gcc --version |grep gcc |cut -b 17-23)"
+echo "GCC = $gccVersion" >> versions.txt
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang-v100-dyn.sh
new file mode 100755
index 00000000..e1fc1550
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang-v100-dyn.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang-v100-dyn.sh
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang.sh
new file mode 100755
index 00000000..4e371161
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang.sh
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-pythondev.sh
new file mode 100755
index 00000000..74a34847
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-pythondev.sh
@@ -0,0 +1,81 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# provides: python development libraries
+# version: provided by default Linux distribution repository
+# needed to build pyside
+
+set -ex
+
+PROVISIONING_DIR="$(dirname "$0")/../"
+# shellcheck source=../common/unix/common.sourced.sh
+source "${BASH_SOURCE%/*}/../common/unix/common.sourced.sh"
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+# Selected installation instructions coming from:
+# https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/Python3/build_python3.sh
+export PACKAGE_NAME="python"
+python2Version="2.7.18"
+python3Version="3.8.16"
+python2Sha="678d4cf483a1c92efd347ee8e1e79326dc82810b"
+python3Sha="d85dbb3774132473d8081dcb158f34a10ccad7a90b96c7e50ea4bb61f5ce4562"
+
+
+function InstallPython {
+
+ PACKAGE_VERSION=$1
+ PACKAGE_SHA=$2
+
+ $CMD_PKG_INSTALL ncurses zlib-devel libffi-devel
+
+ echo 'Configuration and Installation started'
+
+ #Download Source code
+ DownloadURL \
+ "http://ci-files01-hki.ci.qt.io/input/python/Python-${PACKAGE_VERSION}.tar.xz" \
+ "https://www.python.org/ftp/${PACKAGE_NAME}/${PACKAGE_VERSION}/Python-${PACKAGE_VERSION}.tar.xz" \
+ "$PACKAGE_SHA"
+ tar -xf "Python-${PACKAGE_VERSION}.tar.xz"
+
+ #Configure and Build
+ cd "Python-${PACKAGE_VERSION}"
+ ./configure --prefix=/usr/local --exec-prefix=/usr/local
+ make
+ sudo make install
+
+ echo 'Installed python successfully'
+
+ #Cleanup
+ cd -
+ rm "Python-${PACKAGE_VERSION}.tar.xz"
+
+ #Verify python installation
+ export PATH="/usr/local/bin:${PATH}"
+ if command -V "$PACKAGE_NAME${PACKAGE_VERSION:0:1}" >/dev/null
+ then
+ printf -- "%s installation completed. Please check the Usage to start the service.\n" "$PACKAGE_NAME"
+ else
+ printf -- "Error while installing %s, exiting with 127 \n" "$PACKAGE_NAME"
+ exit 127
+ fi
+
+
+}
+
+InstallPython "$python2Version" "$python2Sha"
+InstallPython "$python3Version" "$python3Sha"
+
+python3 --version | grep -F "$python3Version"
+
+# 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/
+
+pip3 install --user wheel
+pip3 install --user virtualenv
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+SetEnvVar "PYTHON3_PATH" "/usr/local/bin"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/09-cmake.sh
new file mode 100755
index 00000000..38e86081
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/09-cmake.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/linux/cmake_linux.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/09-openssl.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/09-openssl.sh
new file mode 100755
index 00000000..94f30890
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/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-SLES-15_SP4-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/20-sccache.sh
new file mode 100755
index 00000000..b371d947
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/20-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/22-mqtt_broker.sh
new file mode 100755
index 00000000..c81f5c66
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/22-mqtt_broker.sh
@@ -0,0 +1,6 @@
+#!/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
+
+# shellcheck source=../common/unix/mqtt_broker.sh
+source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..c5b53fac
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/30-install-git.sh
new file mode 100755
index 00000000..7a73f354
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/30-install-git.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-git.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/55-emsdk.sh
new file mode 100755
index 00000000..6b1a79e5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/55-emsdk.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/60-install_protobuf.sh
new file mode 100755
index 00000000..c538ca07
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/60-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/61-install_grpc.sh
new file mode 100755
index 00000000..ecd6a51f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/61-install_grpc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/70-install_QemuGA.sh
new file mode 100755
index 00000000..76459a03
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/70-install_QemuGA.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QEMU Guest Agent
+
+set -ex
+
+sudo zypper -nq install qemu-guest-agent
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-bootstrap-autostart.sh
new file mode 100755
index 00000000..1ff43850
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-bootstrap-autostart.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..61da9b7b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-install-ffmpeg.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-mimer.sh
new file mode 100755
index 00000000..bff2a7c7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-mimer.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-squish.sh
new file mode 100755
index 00000000..f803ccc1
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-squish.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-unset-proxy.sh
new file mode 100755
index 00000000..d63c4919
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-unset-proxy.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# Having proxy set while running autotests makes them fail
+sudo sed -i 's/PROXY_ENABLED=\"yes\"/PROXY_ENABLED=\"no\"/' /etc/sysconfig/proxy
+
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-version.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-version.sh
new file mode 100755
index 00000000..00d06674
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-version.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script needs to be called last during provisioning so that the software information will show up last in provision log.
+
+# Storage installed RPM packages information
+
+set -ex
+
+# shellcheck disable=SC2129
+echo "*********************************************" >> ~/versions.txt
+echo "***** All installed RPM packages *****" >> ~/versions.txt
+rpm -q -a | sort >> ~/versions.txt
+echo "*********************************************" >> ~/versions.txt
+
+"$(dirname "$0")/../common/linux/version.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-btrfs-balance.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-btrfs-balance.sh
new file mode 100644
index 00000000..23f9ce85
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-btrfs-balance.sh
@@ -0,0 +1,11 @@
+#!/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
+
+# Stops the balance job if one is running at the moment. This is a very expensive thing to run and causes major slow down.
+sudo systemctl stop btrfs-balance.service
+
+# This will disable btrfs balance job scheduling.
+sudo sed -i 's/BTRFS_BALANCE_PERIOD="weekly"/BTRFS_BALANCE_PERIOD="none"/g' /etc/sysconfig/btrfsmaintenance
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-coredump.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-coredump.sh
new file mode 100644
index 00000000..c757ecb9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-coredump.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+sudo chkconfig kdump off
+sudo sed -i 's/#Storage=external/Storage=none/g' /etc/systemd/coredump.conf
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-fstrim_timer.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-fstrim_timer.sh
new file mode 100644
index 00000000..93c694d0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-fstrim_timer.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# This will disable fstrim. The fstrim.timer is scheduled to activate the fstrim.service
+sudo systemctl stop fstrim.timer
+sudo systemctl disable fstrim.timer
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable_net_lso.sh
new file mode 100644
index 00000000..19ce7038
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable_net_lso.sh
@@ -0,0 +1,8 @@
+#!/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 mkdir -p /etc/wicked/scripts
+echo "ethtool -K \$2 tso off" | sudo tee -a /etc/wicked/scripts/net_tso_off
+sudo chmod 744 /etc/wicked/scripts/net_tso_off
+echo "PRE_UP_SCRIPT='wicked:/etc/wicked/scripts/net_tso_off'" | sudo tee -a /etc/sysconfig/network/ifcfg-eth0
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-install_telegraf.sh
new file mode 100644
index 00000000..70aeca1a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-install_telegraf.sh
@@ -0,0 +1,5 @@
+#!/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
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-set-ulimit.sh
new file mode 100644
index 00000000..59cbf4bb
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-set-ulimit.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/set_ulimit.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-systemsetup.sh
new file mode 100644
index 00000000..dcbbfea9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-systemsetup.sh
@@ -0,0 +1,49 @@
+#!/usr/bin/env bash
+# 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
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/shared/network_test_server_ip.txt
+source "$BASEDIR/../common/shared/network_test_server_ip.txt"
+# shellcheck source=../common/unix/check_and_set_proxy.sh
+source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
+
+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
+gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true'
+
+sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub
+sudo grub2-mkconfig -o /boot/grub2/grub.cfg
+
+echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
+echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+echo "Set DISPLAY"
+echo 'export DISPLAY=":0"' >> ~/.bashrc
+
+echo "Checking packagekit status"
+sudo systemctl status packagekit || true
+
+while sudo systemctl is-active packagekit >/dev/null 2>&1 ; do
+ echo "Waiting for PackageKit to finish..."
+ sudo systemctl is-active packagekit
+ sleep 5
+done
+
+sudo systemctl stop packagekit
+sudo systemctl disable packagekit # With --now this could stop and disable
+sudo systemctl mask packagekit
+sudo systemctl status packagekit || true
+
+sudo zypper -nq remove gnome-software
+
+# shellcheck disable=SC2031
+if [ "$http_proxy" != "" ]; then
+ sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy
+ sudo sed -i "s|HTTP_PROXY=\".*\"|HTTP_PROXY=\"$proxy\"|" /etc/sysconfig/proxy
+fi
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-gnome-notifications.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-gnome-notifications.sh
new file mode 100644
index 00000000..bf699969
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-gnome-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-SLES-15_SP5-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-ntp.sh
new file mode 100644
index 00000000..b3b4880c
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-ntp.sh
@@ -0,0 +1,5 @@
+#!/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-SLES-15_SP5-x86_64/02-enable-modules.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-enable-modules.sh
new file mode 100644
index 00000000..55c697e3
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-enable-modules.sh
@@ -0,0 +1,23 @@
+#!/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
+
+sudo curl http://repo-clones.ci.qt.io:8081/tools/rmt-client-setup --output rmt-client-setup
+sudo chmod 755 rmt-client-setup
+sudo SUSEConnect --cleanup
+sudo sh rmt-client-setup https://repo-clones.ci.qt.io:8082 --yes --fingerprint 80:90:7F:45:C6:DF:45:8A:57:25:1E:17:5E:D7:E3:6E:96:1B:1B:95
+
+# Activate these modules
+sudo SUSEConnect -p sle-module-basesystem/15.5/x86_64
+sudo SUSEConnect -p sle-module-server-applications/15.5/x86_64
+sudo SUSEConnect -p sle-module-desktop-applications/15.5/x86_64
+sudo SUSEConnect -p sle-module-development-tools/15.5/x86_64
+sudo SUSEConnect -p sle-module-python3/15.5/x86_64
+# sle-module-web-scripting is required for Nodejs
+sudo SUSEConnect -p sle-module-web-scripting/15.5/x86_64
+
+sudo zypper lr -u
+
+sudo rm -f /tmp/suse_rk.sh
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-zypperpackages.sh
new file mode 100644
index 00000000..275592ea
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-zypperpackages.sh
@@ -0,0 +1,113 @@
+#!/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
+
+sudo zypper -nq install elfutils binutils
+
+sudo zypper addrepo --no-gpgcheck https://download.opensuse.org/repositories/devel:gcc/SLE-15/devel:gcc.repo
+sudo zypper refresh
+sudo zypper -nq install --force-resolution gcc10 gcc10-c++
+
+sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 1 \
+ --slave /usr/bin/g++ g++ /usr/bin/g++-10 \
+ --slave /usr/bin/cc cc /usr/bin/gcc-10 \
+ --slave /usr/bin/c++ c++ /usr/bin/g++-10
+
+sudo zypper -nq install git ninja make patch wget tar
+
+sudo zypper -nq install bison flex gperf \
+ zlib-devel \
+ libudev-devel \
+ glib2-devel \
+ freetype2-devel \
+ fontconfig-devel \
+ sqlite3-devel \
+ libxkbcommon-devel \
+ libxkbcommon-x11-devel
+
+sudo zypper -nq install cmake
+
+sudo zypper -nq install p7zip
+
+# EGL support
+sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel
+
+# ICU
+sudo zypper -nq install libicu-devel libicu-suse65_1
+
+# gtk3 style for QtGui/QStyle
+sudo zypper -nq install gtk3-devel
+
+# Xinput2
+sudo zypper addrepo --no-gpgcheck https://download.postgresql.org/pub/repos/zypp/repo/pgdg-sles-15-pg14.repo
+# Leaving postgresql14-devel out as dependency with clang15-devel doesn't yet have provider
+sudo zypper -nq install libXi-devel postgresql14 mysql-devel mysql mysql-server
+
+# system provided XCB libraries
+sudo zypper -nq install xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel \
+ xcb-util-wm-devel xcb-util-renderutil-devel
+
+# temporary solution for libxcb-cursor0 xcb-util-cursor-devel
+sudo zypper addrepo --no-gpgcheck https://download.opensuse.org/repositories/home:/liangqi_qt:/branches:/SUSE:/SLE-15-SP5:/GA/standard/home:liangqi_qt:branches:SUSE:SLE-15-SP5:GA.repo
+sudo zypper refresh
+sudo zypper -nq install --force-resolution libxcb-cursor0 xcb-util-cursor-devel
+
+# qtwebengine
+sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel libdrm-devel \
+ libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \
+ mozilla-nspr-devel mozilla-nss-devel glproto-devel libxshmfence-devel \
+ vulkan-devel
+
+# qtwebkit
+sudo zypper -nq install libxml2-devel libxslt-devel
+
+# yasm (for ffmpeg in multimedia)
+sudo zypper -nq install yasm
+
+# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia)
+sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel
+
+# cups
+sudo zypper -nq install cups-devel
+
+# speech-dispatcher
+sudo zypper -nq install libspeechd-devel
+#sudo sed -i 's:includedir=/usr/include:includedir=/usr/include/speech-dispatcher:' /usr/lib64/pkgconfig/speech-dispatcher.pc
+
+# ODBC support
+sudo zypper -nq install unixODBC-devel unixODBC
+
+# sqlite support
+sudo zypper -nq install sqlite3 sqlite3-devel
+
+# Java - needed by RTA jenkins
+sudo zypper -nq install java
+
+# open-vm-tools requires update. Version in tier1 is broken and causes segfault on boot.
+sudo zypper -nq update open-vm-tools
+
+# Tools to build Git
+sudo zypper -nq install autoconf libcurl-devel libexpat-devel
+
+# used for reading vcpkg packages version, from vcpkg.json
+sudo zypper -nq install jq
+
+# zip, needed for vcpkg caching
+sudo zypper -nq install zip
+
+# Nodejs - required by QtWebengine
+sudo zypper -nq install nodejs18
+
+# OpenSSL 3
+sudo zypper -nq install openssl-3
+
+# cifs-utils, for mounting smb drive
+sudo zypper -nq install cifs-utils
+
+gccVersion="$(gcc --version |grep gcc |cut -b 17-23)"
+echo "GCC = $gccVersion" >> versions.txt
+
+OpenSSLVersion="$(openssl-3 version |cut -b 9-14)"
+echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/03-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/03-mount-vcpkg-cache-drive.sh
new file mode 100755
index 00000000..ed49b3a5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/03-mount-vcpkg-cache-drive.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/mount-vcpkg-cache-drive.sh
+source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang-v100-dyn.sh
new file mode 100644
index 00000000..fc446b09
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang-v100-dyn.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang-v100-dyn.sh
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang.sh
new file mode 100644
index 00000000..85786c6d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang.sh
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-pythondev.sh
new file mode 100644
index 00000000..79e172ee
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-pythondev.sh
@@ -0,0 +1,77 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# provides: python development libraries
+# version: provided by default Linux distribution repository
+# needed to build pyside
+
+set -ex
+
+PROVISIONING_DIR="$(dirname "$0")/../"
+# shellcheck source=../common/unix/common.sourced.sh
+source "${BASH_SOURCE%/*}/../common/unix/common.sourced.sh"
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+# Selected installation instructions coming from:
+# https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/Python3/build_python3.sh
+export PACKAGE_NAME="python"
+python2Version="2.7.18"
+python3Version="3.8.16"
+python2Sha="678d4cf483a1c92efd347ee8e1e79326dc82810b"
+python3Sha="d85dbb3774132473d8081dcb158f34a10ccad7a90b96c7e50ea4bb61f5ce4562"
+
+
+function InstallPython {
+
+ PACKAGE_VERSION=$1
+ PACKAGE_SHA=$2
+
+ $CMD_PKG_INSTALL ncurses zlib-devel libffi-devel
+
+ echo 'Configuration and Installation started'
+
+ #Download Source code
+ DownloadURL \
+ "http://ci-files01-hki.ci.qt.io/input/python/Python-${PACKAGE_VERSION}.tar.xz" \
+ "https://www.python.org/ftp/${PACKAGE_NAME}/${PACKAGE_VERSION}/Python-${PACKAGE_VERSION}.tar.xz" \
+ "$PACKAGE_SHA"
+ tar -xf "Python-${PACKAGE_VERSION}.tar.xz"
+
+ #Configure and Build
+ cd "Python-${PACKAGE_VERSION}"
+ ./configure --prefix=/usr/local --exec-prefix=/usr/local
+ make
+ sudo make install
+
+ echo 'Installed python successfully'
+
+ #Cleanup
+ cd -
+ rm "Python-${PACKAGE_VERSION}.tar.xz"
+
+ #Verify python installation
+ export PATH="/usr/local/bin:${PATH}"
+ if command -V "$PACKAGE_NAME${PACKAGE_VERSION:0:1}" >/dev/null
+ then
+ printf -- "%s installation completed. Please check the Usage to start the service.\n" "$PACKAGE_NAME"
+ else
+ printf -- "Error while installing %s, exiting with 127 \n" "$PACKAGE_NAME"
+ exit 127
+ fi
+
+
+}
+
+InstallPython "$python2Version" "$python2Sha"
+InstallPython "$python3Version" "$python3Sha"
+
+python3 --version | grep -F "$python3Version"
+
+pip3 install --user wheel
+pip3 install --user virtualenv
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+SetEnvVar "PYTHON3_PATH" "/usr/local/bin"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-cmake.sh
new file mode 100644
index 00000000..2f9acc6b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-cmake.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/linux/cmake_linux.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-openssl.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-openssl.sh
new file mode 100644
index 00000000..3a65360e
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/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-SLES-15_SP5-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/20-sccache.sh
new file mode 100644
index 00000000..1e30c811
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/20-sccache.sh
@@ -0,0 +1,5 @@
+#!/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
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/22-mqtt_broker.sh
new file mode 100644
index 00000000..c81f5c66
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/22-mqtt_broker.sh
@@ -0,0 +1,6 @@
+#!/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
+
+# shellcheck source=../common/unix/mqtt_broker.sh
+source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-conan.sh
new file mode 100644
index 00000000..337d7c0c
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-git.sh
new file mode 100644
index 00000000..4931b6ae
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-git.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-git.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/41-install-vcpkg.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/41-install-vcpkg.sh
new file mode 100644
index 00000000..aa88364d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/41-install-vcpkg.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-vcpkg.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/42-install-vcpkg-ports.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/42-install-vcpkg-ports.sh
new file mode 100755
index 00000000..71a46f9a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/42-install-vcpkg-ports.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-vcpkg-ports.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/55-emsdk.sh
new file mode 100644
index 00000000..6b1a79e5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/55-emsdk.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/60-install_protobuf.sh
new file mode 100644
index 00000000..c538ca07
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/60-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/61-install_grpc.sh
new file mode 100644
index 00000000..ecd6a51f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/61-install_grpc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/70-install_QemuGA.sh
new file mode 100644
index 00000000..76459a03
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/70-install_QemuGA.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QEMU Guest Agent
+
+set -ex
+
+sudo zypper -nq install qemu-guest-agent
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-bootstrap-autostart.sh
new file mode 100644
index 00000000..d524920e
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-bootstrap-autostart.sh
@@ -0,0 +1,5 @@
+#!/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
+
+source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh
new file mode 100644
index 00000000..2a0d7258
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh
@@ -0,0 +1,5 @@
+#!/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
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-mimer.sh
new file mode 100644
index 00000000..bff2a7c7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-mimer.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-squish.sh
new file mode 100644
index 00000000..68f0fba2
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-squish.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-enable_test_stacktraces.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-enable_test_stacktraces.sh
new file mode 100755
index 00000000..600b7850
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-enable_test_stacktraces.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/linux/enable_test_stacktraces.sh
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-unset-proxy.sh
new file mode 100644
index 00000000..d63c4919
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-unset-proxy.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# Having proxy set while running autotests makes them fail
+sudo sed -i 's/PROXY_ENABLED=\"yes\"/PROXY_ENABLED=\"no\"/' /etc/sysconfig/proxy
+
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-version.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-version.sh
new file mode 100644
index 00000000..00d06674
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-version.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script needs to be called last during provisioning so that the software information will show up last in provision log.
+
+# Storage installed RPM packages information
+
+set -ex
+
+# shellcheck disable=SC2129
+echo "*********************************************" >> ~/versions.txt
+echo "***** All installed RPM packages *****" >> ~/versions.txt
+rpm -q -a | sort >> ~/versions.txt
+echo "*********************************************" >> ~/versions.txt
+
+"$(dirname "$0")/../common/linux/version.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-cracklib.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-cracklib.sh
deleted file mode 100755
index 8590d4e4..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-cracklib.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-
-# shellcheck source=../common/linux/disable-cracklib.sh
-source "${BASH_SOURCE%/*}/../common/linux/disable-cracklib.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-mlocate.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-mlocate.sh
deleted file mode 100755
index f12cff1e..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-disable-mlocate.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-BASEDIR=$(dirname "$0")
-# shellcheck source=../common/linux/disable-mlocate.sh
-"$BASEDIR/../common/linux/disable-mlocate.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-remove_update-manager b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-remove_update-manager
deleted file mode 100755
index 12302976..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-remove_update-manager
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-
-# shellcheck source=../common/linux/remove_update-manager.sh
-source "${BASH_SOURCE%/*}/../common/linux/remove_update-manager.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-systemsetup.sh
deleted file mode 100755
index ee6af148..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/01-systemsetup.sh
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# 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 "Disable questions on shutdown."
-gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown true
-
-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
-
-if [ "$proxy" != "" ]; then
- echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf
-fi
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/02-apt.sh
deleted file mode 100755
index bfbb6a8e..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/02-apt.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# Install required packages with APT
-
-set -ex
-
-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
-
-installPackages+=(git)
-installPackages+=(p7zip-full)
-installPackages+=(expect)
-
-echo "Running update for apt"
-sudo apt-get update
-echo "Installing packages"
-sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}"
-
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/90-squish.sh
deleted file mode 100755
index 965112af..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86/90-squish.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env bash
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/unix/squishInstall.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-cracklib.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-cracklib.sh
deleted file mode 100755
index 8590d4e4..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-cracklib.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-
-# shellcheck source=../common/linux/disable-cracklib.sh
-source "${BASH_SOURCE%/*}/../common/linux/disable-cracklib.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-mlocate.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-mlocate.sh
deleted file mode 100755
index f12cff1e..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-disable-mlocate.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-BASEDIR=$(dirname "$0")
-# shellcheck source=../common/linux/disable-mlocate.sh
-"$BASEDIR/../common/linux/disable-mlocate.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-remove_update-manager b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-remove_update-manager
deleted file mode 100755
index 12302976..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-remove_update-manager
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-
-# shellcheck source=../common/linux/remove_update-manager.sh
-source "${BASH_SOURCE%/*}/../common/linux/remove_update-manager.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh
deleted file mode 100755
index b917d292..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/01-systemsetup.sh
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# 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 "Disable questions on shutdown."
-gsettings set com.canonical.indicator.session suppress-logout-restart-shutdown true
-echo "Set grub timeout to 0"
-sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub
-sudo update-grub
-
-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
-
-if [ "$http_proxy" != "" ]; then
- echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf
-fi
-
-# This won't be needed for Ubuntu 17 and above, see QTBUG-67757.
-sudo sed -i '/-UnityDecoration-extents/c\ -UnityDecoration-extents: 0 0 0 0;' /usr/share/themes/Ambiance/gtk-3.0/apps/unity.css
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh
deleted file mode 100755
index f2eb6e60..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-apt.sh
+++ /dev/null
@@ -1,185 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# Install required packages with APT
-
-set -ex
-
-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
-
-# aptdaemon is used by update notifiers and similar and there is no point in having those (the symptom is aptd holding a lock)
-for i in $(seq 10); do
- echo attempting to remove aptdaemon
- sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y remove aptdaemon || true
- # check that aptdaemon is no longer installed
- which aptd > /dev/null || break
- if [[ $i -eq 10 ]]; then
- exit 1
- fi
- sleep 10
-done
-
-# 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+=(libudev-dev)
-installPackages+=(libegl1-mesa-dev)
-installPackages+=(libfontconfig1-dev)
-installPackages+=(libxss-dev)
-# 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)
-# 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)
-# Support for cross-building to x86 (needed by WebEngine boot2qt builds)
-installPackages+=(g++-multilib)
-# python2 development package
-installPackages+=(python-pip)
-# python3 development package
-installPackages+=(python3-dev)
-installPackages+=(python3-pip)
-installPackages+=(python3-virtualenv)
-installPackages+=(python3-wheel)
-# Needed to be able to build Yocto
-installPackages+=(chrpath)
-installPackages+=(gawk)
-installPackages+=(texinfo)
-# Automates interactive applications (Needed by RTA to automate configure testing)
-installPackages+=(expect)
-installPackages+=(mesa-common-dev)
-installPackages+=(libgl1-mesa-glx)
-installPackages+=(libgl1-mesa-dev)
-installPackages+=(libegl1-mesa-dev)
-installPackages+=(curl)
-installPackages+=(libicu-dev)
-installPackages+=(zlib1g-dev)
-installPackages+=(zlib1g)
-installPackages+=(zlib1g:i386)
-installPackages+=(openjdk-8-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+=(libxss-dev)
-installPackages+=(libsrtp0-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+=(libopenal-dev)
-installPackages+=(libbluetooth-dev)
-#VirtualBox for RTA
-installPackages+=(virtualbox)
-installPackages+=(dkms)
-#Pypdf for QSR documentation
-installPackages+=(python-pypdf2)
-
-sudo tee "/etc/apt/sources.list" > /dev/null <<-EOC
-deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial main restricted universe multiverse
-deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-updates main restricted universe multiverse
-deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-backports main restricted universe
-deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-security main restricted universe multiverse
-deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial main restricted universe multiverse
-deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-updates main restricted universe multiverse
-deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-backports main restricted universe
-deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ xenial-security main restricted universe multiverse
-EOC
-
-echo "Running update for apt"
-sudo apt-get update
-echo "Installing packages"
-sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}"
-
-# Install all needed packages in a special wheel cache directory
-pip3 wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt"
-
-# shellcheck source=../common/unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-disable-ntp.sh
deleted file mode 100755
index 89806892..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-disable-ntp.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-
-# 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-16.04-x86_64/02-git_lfs.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-git_lfs.sh
deleted file mode 100755
index 7f5140fd..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/02-git_lfs.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# Install Git Large File Storage
-
-set -ex
-
-curl -L https://packagecloud.io/github/git-lfs/gpgkey | sudo apt-key add -
-sudo apt-add-repository 'deb https://packagecloud.io/github/git-lfs/ubuntu/ xenial main'
-sudo apt update
-sudo apt install git-lfs
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-libclang.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-libclang.sh
deleted file mode 100755
index 331a14d9..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/04-libclang.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-
-BASEDIR=$(dirname "$0")
-# shellcheck source=../common/unix/libclang.sh
-"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/22-mqtt_broker.sh
deleted file mode 100755
index 96b197ea..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/22-mqtt_broker.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/unix/mqtt_broker.sh
-source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/30-fbx.sh
deleted file mode 100755
index d8df4375..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/30-fbx.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/linux/fbx_linux.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/35-install-breakpad.sh
deleted file mode 100755
index 74dd1579..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/35-install-breakpad.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-# shellcheck source=../common/unix/install-breakpad.sh
-source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-android_linux.sh
deleted file mode 100755
index 0527fe85..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-android_linux.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/linux/android_linux.sh
-source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-cmake.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-cmake.sh
deleted file mode 100755
index db8a3ff5..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/40-cmake.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/linux/cmake_linux.sh"
-
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/60-qnx660.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/60-qnx660.sh
deleted file mode 100755
index 4034162e..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/60-qnx660.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/linux/qnx_660.sh
-source "${BASH_SOURCE%/*}/../common/linux/qnx_660.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/70-qnx700.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/70-qnx700.sh
deleted file mode 100755
index a2d162d3..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/70-qnx700.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/linux/qnx_700.sh
-source "${BASH_SOURCE%/*}/../common/linux/qnx_700.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh
deleted file mode 100755
index 82c2c659..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/80-docker.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/bash
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/linux/docker.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/90-squish.sh
deleted file mode 100755
index e4281588..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-16.04-x86_64/90-squish.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/unix/squishInstall.sh"
-
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh
index 96bf23f8..81b42211 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/01-systemsetup.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
@@ -57,6 +26,9 @@ 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
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 dae1a58e..d0c1a9fc 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
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
# Install required packages with APT
@@ -46,12 +15,15 @@ for service in apt-daily.timer apt-daily-upgrade.timer apt-daily.service apt-dai
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=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ bionic main restricted universe multiverse
- deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ bionic main restricted universe multiverse
- deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ bionic-updates main restricted universe multiverse
- deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ bionic-backports main restricted universe
- deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu.trumpetti.atm.tut.fi/ubuntu/ bionic-security main restricted universe multiverse
+ deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ bionic main restricted universe multiverse
+ deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ bionic-updates main restricted universe multiverse
+ deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ bionic-backports main restricted universe
+ deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ bionic-security main restricted universe multiverse
EOC
}
@@ -81,6 +53,9 @@ installPackages+=(libudev-dev)
installPackages+=(libegl1-mesa-dev)
installPackages+=(libfontconfig1-dev)
installPackages+=(libxss-dev)
+installPackages+=(nodejs)
+# NOTE! Can't install nodejs-dev because libssl1.0-dev conflicts with libssl1.0-dev which is depandency of nodejs-dev.
+
# Common event loop handling
installPackages+=(libglib2.0-dev)
# MySQL support
@@ -97,18 +72,26 @@ installPackages+=(libfreetype6-dev)
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+=(yasm)
+installPackages+=(libva-dev)
+# for QtMultimedia streaming tests
+installPackages+=(vlc-bin)
+installPackages+=(vlc-plugin-base)
+
# Support for cross-building to x86 (needed by WebEngine boot2qt builds)
installPackages+=(g++-multilib)
# python3 development package
installPackages+=(python3-dev)
installPackages+=(python3-pip)
-installPackages+=(python3-virtualenv)
+installPackages+=(virtualenv)
installPackages+=(python3-wheel)
# python2 development package
installPackages+=(python-dev)
@@ -119,6 +102,7 @@ installPackages+=(libgl1-mesa-glx)
installPackages+=(libgl1-mesa-dev)
installPackages+=(libegl1-mesa-dev)
installPackages+=(curl)
+installPackages+=(libcurl4-openssl-dev)
installPackages+=(libicu-dev)
installPackages+=(zlib1g-dev)
installPackages+=(zlib1g)
@@ -159,6 +143,24 @@ installPackages+=(dkms)
installPackages+=(libspeechd-dev)
#Pypdf for PDF reading in RTA tests
installPackages+=(python-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 qtgampepad
+installPackages+=(libsdl2-2.0)
+installPackages+=(libsdl2-dev)
+# Needed for qtwebkit
+installPackages+=(ruby)
+installPackages+=(libxslt1-dev)
+installPackages+=(libxml2-dev)
+installPackages+=(libhyphen-dev)
echo "Running update for apt"
waitLoop
@@ -167,8 +169,9 @@ echo "Installing packages"
waitLoop
sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y install "${installPackages[@]}"
-# Install all needed packages in a special wheel cache directory
-pip3 wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt"
+# 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 "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels"
+OpenSSLVersion="$(openssl version |cut -b 9-14)"
+echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-notifications.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-notifications.sh
index f38c9bab..1b9ed6c9 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-notifications.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-notifications.sh
@@ -1,4 +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-18.04-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-ntp.sh
index 89806892..1995aa14 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-ntp.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-disable-ntp.sh
@@ -1,4 +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-18.04-x86_64/02-git_lfs.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-git_lfs.sh
new file mode 100755
index 00000000..987e3624
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-git_lfs.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Install Git Large File Storage
+
+set -ex
+
+curl -L https://packagecloud.io/github/git-lfs/gpgkey | sudo apt-key add -
+sudo apt-add-repository 'deb https://packagecloud.io/github/git-lfs/ubuntu/ xenial main'
+sudo apt update
+sudo apt install git-lfs
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-apport.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-apport.sh
index 09477763..879f3ffb 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-apport.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-apport.sh
@@ -1,4 +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-18.04-x86_64/02-remove-update_notifier.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-update_notifier.sh
index 55c6ce79..f4a5119f 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-update_notifier.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/02-remove-update_notifier.sh
@@ -1,4 +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-18.04-x86_64/03-gcc.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh
index 62940e21..43a9f098 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-gcc.sh
@@ -1,9 +1,10 @@
#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
# shellcheck source=../common/linux/gcc.sh
source "${BASH_SOURCE%/*}/../common/linux/gcc.sh"
-InstallGCC 8.2.0 50 19e40bea7df5dbadb22eec09ada621ecd9235687 19926bdb6c4b58891015929853d41aeff019d400
-
+InstallGCC 8.3.0 50 ccccfe4fe9206d111a173c19a21f8700d1133ae8 c27f4499dd263fe4fb01bcc5565917f3698583b2
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh
deleted file mode 100755
index 4ca84072..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh
+++ /dev/null
@@ -1,178 +0,0 @@
-#!/usr/bin/env bash
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-
-# build latest qemu to usermode
-sudo apt-get -y install automake autoconf libtool
-
-tempDir=$(mktemp -d)
-git clone git://git.qemu.org/qemu.git "$tempDir"
-cd "$tempDir"
-
-#latest commit from the master proven to work
-git checkout c7f1cf01b8245762ca5864e835d84f6677ae8b1f
-git cherry-pick 75e5b70e6b5dcc4f2219992d7cffa462aa406af0
-git cherry-pick 04b33e21866412689f18b7ad6daf0a54d8f959a7
-git submodule update --init pixman
-
-patch -p1 <<EOT
-From aad6a8f17dc7ad3681d2d98a01e474a8904a129b Mon Sep 17 00:00:00 2001
-From: Simon Hausmann <simon.hausmann@qt.io>
-Date: Fri, 24 Aug 2018 10:38:29 +0200
-Subject: [PATCH] linux-user: add support for MADV_DONTNEED
-
-Most flags to madvise() are just hints, so typically ignoring the
-syscall and returning okay is fine. However applications exist that do
-rely on MADV_DONTNEED behavior to guarantee that upon subsequent access
-the mapping is refreshed from the backing file or zero for anonymous
-mappings.
----
- linux-user/mmap.c | 18 ++++++++++++++++++
- linux-user/qemu.h | 1 +
- linux-user/syscall.c | 6 +-----
- 3 files changed, 20 insertions(+), 5 deletions(-)
-
-diff --git a/linux-user/mmap.c b/linux-user/mmap.c
-index 61685bf79e..cb3069f27e 100644
---- a/linux-user/mmap.c
-+++ b/linux-user/mmap.c
-@@ -764,3 +764,16 @@ int target_msync(abi_ulong start, abi_ulong len, int flags)
- start &= qemu_host_page_mask;
- return msync(g2h(start), end - start, flags);
- }
-+
-+int target_madvise(abi_ulong start, abi_ulong len, int flags)
-+{
-+ /* A straight passthrough may not be safe because qemu sometimes
-+ turns private file-backed mappings into anonymous mappings.
-+ Most flags are hints, except for MADV_DONTNEED that applications
-+ may rely on to zero out pages, so we pass that through.
-+ Otherwise returning success is ok. */
-+ if (flags & MADV_DONTNEED) {
-+ return madvise(g2h(start), len, MADV_DONTNEED);
-+ }
-+ return 0;
-+}
-diff --git a/linux-user/qemu.h b/linux-user/qemu.h
-index 4edd7d0c08..3c975909a1 100644
---- a/linux-user/qemu.h
-+++ b/linux-user/qemu.h
-@@ -429,6 +429,7 @@ int target_munmap(abi_ulong start, abi_ulong len);
- abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size,
- abi_ulong new_size, unsigned long flags,
- abi_ulong new_addr);
-+int target_madvise(abi_ulong start, abi_ulong len, int flags);
- int target_msync(abi_ulong start, abi_ulong len, int flags);
- extern unsigned long last_brk;
- extern abi_ulong mmap_next_start;
-diff --git a/linux-user/syscall.c b/linux-user/syscall.c
-index 11a311f9db..94d8abc745 100644
---- a/linux-user/syscall.c
-+++ b/linux-user/syscall.c
-@@ -11148,11 +11148,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
-
- #ifdef TARGET_NR_madvise
- case TARGET_NR_madvise:
-- /* A straight passthrough may not be safe because qemu sometimes
-- turns private file-backed mappings into anonymous mappings.
-- This will break MADV_DONTNEED.
-- This is a hint, so ignoring and returning success is ok. */
-- ret = get_errno(0);
-+ ret = get_errno(target_madvise(arg1, arg2, arg3));
- break;
- #endif
- #if TARGET_ABI_BITS == 32
---
-2.17.1
-EOT
-
-./configure --target-list=arm-linux-user,aarch64-linux-user --static --disable-werror
-make
-sudo make install
-rm -rf "$tempDir"
-
-# Enable binfmt support
-sudo apt-get -y install binfmt-support
-
-# Install qemu binfmt for 32bit and 64bit arm architectures
-sudo update-binfmts --package qemu-arm --install arm \
-/usr/local/bin/qemu-arm \
---magic \
-"\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00" \
---mask \
-"\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
-sudo update-binfmts --package qemu-aarch64 --install aarch64 \
-/usr/local/bin/qemu-aarch64 \
---magic \
-"\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00" \
---mask \
-"\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
-
-# First test using QFont fails if fonts-noto-cjk is installed. This happens because
-# running fontcache for that font takes > 5 mins when run on QEMU. Running fc-cache
-# doesn't help since host version creates cache for a wrong architecture and running
-# armv7 fc-cache segfaults on QEMU.
-sudo DEBIAN_FRONTEND=noninteractive apt-get -y remove fonts-noto-cjk
-
-# If normal fontconfig paths are used, qemu parses what ever files it finds from
-# the toolchain sysroot and the rest from the system fonts.
-QEMU_FONTCONFPATH=~/qemu_fonts
-QEMU_FONTCONFFILE=$QEMU_FONTCONFPATH/fonts.qemu.conf
-mkdir -p $QEMU_FONTCONFPATH
-
-# Copy system font configuration files from system to a location with prefix that can't be found from
-# the toolchain sysroot
-cp -Lr /etc/fonts/* $QEMU_FONTCONFPATH
-
-# Create links to the actual system font files
-ln -s /usr/share/fonts $QEMU_FONTCONFPATH/fonts
-ln -s /usr/local/share/fonts $QEMU_FONTCONFPATH/local_fonts
-
-# Change font configuration file to point to files that can't be found from the toolchain sysroot
-sed $QEMU_FONTCONFPATH/fonts.conf -e "s:conf.d:$QEMU_FONTCONFPATH/conf.d:" > $QEMU_FONTCONFFILE
-sed $QEMU_FONTCONFFILE -e "s:/usr/share/fonts:$QEMU_FONTCONFPATH/fonts:" -i
-sed $QEMU_FONTCONFFILE -e "s:/usr/local/share/fonts:$QEMU_FONTCONFPATH/local_fonts:" -i
-
-# Set QEMU font configuration variables
-qemu_env="FONTCONFIG_FILE=$QEMU_FONTCONFFILE"
-qemu_env="${qemu_env},FONTCONFIG_PATH=$QEMU_FONTCONFPATH"
-
-# Disable QtWayland window decorations, as they cause flakiness when used inside qemu (QTBUG-66173)
-qemu_env="${qemu_env},QT_WAYLAND_DISABLE_WINDOWDECORATION=1"
-
-SetEnvVar "QEMU_SET_ENV" "\"${qemu_env}\""
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang-v100-dyn.sh
new file mode 100755
index 00000000..85c261ee
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang-v100-dyn.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang.sh
index 0d18dbcf..fac8d4e7 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-libclang.sh
@@ -1,4 +1,6 @@
#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh
deleted file mode 100755
index c9daf834..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh
+++ /dev/null
@@ -1,98 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs the Yocto toolchain
-
-set -ex
-
-# shellcheck source=../common/unix/DownloadURL.sh
-source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
-# shellcheck source=../common/unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-
-echo "Installing Yocto toolchain for 32-bit b2qt..."
-
-versionARM="2.3.4"
-package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarmv7-7608ebe.sh"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/pyro/$package"
-AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/pyro/$package"
-SHA1="db7a0f4f9ddd5992a563d5348889021a7ceb1c56"
-yoctoInstaller="/tmp/yocto-toolchain-ARMv7.sh"
-yoctoLocationARMv7="/opt/yocto-armv7"
-sysrootARMv7="sysroots/armv7ahf-neon-poky-linux-gnueabi"
-crosscompileARMv7="sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-"
-
-DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
-chmod +x "$yoctoInstaller"
-
-/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARMv7"
-rm -rf "$yoctoInstaller"
-
-echo "Installing Yocto toolchain for 64-bit b2qt..."
-
-versionARM64="2.3.4"
-package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarm64-7608ebe.sh"
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/pyro/$package"
-AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/pyro/$package"
-SHA1="5dcae7c6cbc266798ba49a9e51fff1f06790729d"
-yoctoInstaller="/tmp/yocto-toolchain-ARM64.sh"
-yoctoLocationARM64="/opt/yocto-arm64"
-sysrootARM64="sysroots/aarch64-poky-linux"
-crosscompileARM64="sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-"
-
-DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
-chmod +x "$yoctoInstaller"
-
-/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARM64"
-rm -rf "$yoctoInstaller"
-
-if [ -e "$yoctoLocationARMv7/$sysrootARMv7" ] && [ -e "$yoctoLocationARMv7/${crosscompileARMv7}g++" ] && [ -e "$yoctoLocationARM64/$sysrootARM64" ] && [ -e "$yoctoLocationARM64/${crosscompileARM64}g++" ]; then
- SetEnvVar "QEMUARMV7_TOOLCHAIN_SYSROOT" "$yoctoLocationARMv7/$sysrootARMv7"
- SetEnvVar "QEMUARMV7_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARMv7/$crosscompileARMv7"
- SetEnvVar "QEMUARM64_TOOLCHAIN_SYSROOT" "$yoctoLocationARM64/$sysrootARM64"
- SetEnvVar "QEMUARM64_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARM64/$crosscompileARM64"
-else
- echo "Error! Couldn't find installation paths for Yocto toolchain. Aborting provisioning." 1>&2
- exit 1
-fi
-
-echo "Yocto ARMv7 toolchain = $versionARM" >> ~/versions.txt
-echo "Yocto ARM64 toolchain = $versionARM64" >> ~/versions.txt
-
-# List qt user in qemu toolchain sysroots
-sudo sh -c "grep ^qt /etc/passwd >> /opt/yocto-armv7/sysroots/armv7ahf-neon-poky-linux-gnueabi/etc/passwd"
-sudo sh -c "grep ^qt /etc/group >> /opt/yocto-armv7/sysroots/armv7ahf-neon-poky-linux-gnueabi/etc/group"
-sudo sh -c "grep ^qt /etc/passwd >> /opt/yocto-arm64/sysroots/aarch64-poky-linux/etc/passwd"
-sudo sh -c "grep ^qt /etc/group >> /opt/yocto-arm64/sysroots/aarch64-poky-linux/etc/group"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto_ssh_configurations.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto_ssh_configurations.sh
deleted file mode 100755
index a6aa3b10..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto_ssh_configurations.sh
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/unix/DownloadURL.sh
-source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
-
-url="http://ci-files01-hki.intra.qt.io/input/semisecure/test_farm_id_rsa"
-sha1="1b0d651661c33a654ac89ef3c97bbe06d6bf1ca1"
-sshKey="$HOME/.ssh/test_farm_id_rsa"
-
-DownloadURL "$url" "$url" "$sha1" "$sshKey"
-chmod 600 "$sshKey"
-
-echo "Configuring ssh config file for Yocto"
-cat <<EOT >> "$HOME/.ssh/config"
-StrictHostKeyChecking=no
-Host codereview.qt-project.org
- Port 29418
- User qt-builder
- IdentityFile "$sshKey"
-EOT
-
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/10-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/10-openssl_for_android_linux.sh
deleted file mode 100755
index 81ea3b17..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/10-openssl_for_android_linux.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/linux/openssl_for_android_linux.sh
-source "${BASH_SOURCE%/*}/../common/linux/openssl_for_android_linux.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/20-sccache.sh
new file mode 100755
index 00000000..b371d947
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/20-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh
index 7c58c478..b0791cb1 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/22-mqtt_broker.sh
@@ -1,37 +1,6 @@
#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-fbx.sh
index d8df4375..16a9bda8 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-fbx.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-fbx.sh
@@ -1,4 +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
set -ex
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..c5b53fac
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-install-git.sh
new file mode 100755
index 00000000..7a73f354
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/30-install-git.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-git.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/35-install-breakpad.sh
index 74dd1579..8a9dde56 100644..100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/35-install-breakpad.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/35-install-breakpad.sh
@@ -1,4 +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
set -ex
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-android_linux.sh
index 0527fe85..2526bc6d 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-android_linux.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-android_linux.sh
@@ -1,37 +1,6 @@
#!/bin/bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
set -ex
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-cmake.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-cmake.sh
deleted file mode 100755
index db8a3ff5..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-cmake.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/bash
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/linux/cmake_linux.sh"
-
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-install-cmake.sh
new file mode 100755
index 00000000..a418e4c5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/40-install-cmake.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/cmake_linux.sh"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-install_protobuf.sh
new file mode 100755
index 00000000..3e2b8921
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-qnx660.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-qnx660.sh
deleted file mode 100755
index 4dd1d40e..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/60-qnx660.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the test suite of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/linux/qnx_660.sh
-source "${BASH_SOURCE%/*}/../common/linux/qnx_660.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/70-qnx700.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/70-qnx700.sh
deleted file mode 100755
index 1d7a3968..00000000
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/70-qnx700.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the test suite of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/linux/qnx_700.sh
-source "${BASH_SOURCE%/*}/../common/linux/qnx_700.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh
index 82c2c659..561e762f 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/80-docker.sh
@@ -1,4 +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/docker.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..61da9b7b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-install-ffmpeg.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-mimer.sh
new file mode 100755
index 00000000..ddd5bc33
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-mimer.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "deb"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-squish.sh
index e4281588..f803ccc1 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-squish.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/90-squish.sh
@@ -1,4 +1,6 @@
#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
BASEDIR=$(dirname "$0")
"$BASEDIR/../common/unix/squishInstall.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/91-squish-coco.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/91-squish-coco.sh
index fcc7d31c..e42a5373 100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/91-squish-coco.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/91-squish-coco.sh
@@ -1,4 +1,6 @@
#!/bin/bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
# shellcheck source=../common/linux/squish-coco.sh
source "${BASH_SOURCE%/*}/../common/linux/squish-coco.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-cleanup.sh
new file mode 100755
index 00000000..4d6e16ea
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-cleanup.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+"$(dirname "$0")"/../common/linux/cleanup_cache.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh
index c8f3ac03..31821f6b 100644..100755
--- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh
+++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/99-version.sh
@@ -1,4 +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-20.04-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-disable_net_lso.sh
new file mode 100755
index 00000000..81e7d137
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-disable_net_lso.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off
+sudo chmod +x /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-set-ulimit.sh
new file mode 100755
index 00000000..e951e82a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-set-ulimit.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/set_ulimit.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-systemsetup.sh
new file mode 100755
index 00000000..98744822
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/01-systemsetup.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script modifies system settings for automated use
+
+set -ex
+
+# shellcheck source=../common/unix/check_and_set_proxy.sh
+source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
+
+NTS_IP=10.212.2.216
+
+echo "Set timezone to UTC."
+sudo timedatectl set-timezone Etc/UTC
+echo "Timeout for blanking the screen (0 = never)"
+gsettings set org.gnome.desktop.session idle-delay 0
+echo "Prevents screen lock when screesaver goes active."
+gsettings set org.gnome.desktop.screensaver lock-enabled false
+echo "Set grub timeout to 0"
+sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub
+sudo update-grub
+
+# https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624320
+# Checking if Ubuntu 20.04 works without this
+#echo "Setting up workaround for Ubuntu systemd resolve bug"
+#sudo rm -f /etc/resolv.conf
+#sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
+
+# remove hostname to get unique based on IP address
+sudo rm /etc/hostname
+
+echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
+echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+
+echo 'LC_ALL=en_US.UTF8' | sudo tee /etc/default/locale
+
+if [ "$http_proxy" != "" ]; then
+ echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf
+fi
+
+# This script diverts qtlogging.ini file so we don't get debugging related auto-test failures.
+sudo dpkg-divert --divert /etc/xdg/QtProject/qtlogging.ini.foo --rename /etc/xdg/QtProject/qtlogging.ini
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh
new file mode 100755
index 00000000..148a6357
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-apt.sh
@@ -0,0 +1,229 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# 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=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ focal main restricted universe multiverse
+ deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ focal-updates main restricted universe multiverse
+ deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ focal-backports main restricted universe
+ deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ focal-security main restricted universe multiverse
+ deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ focal main restricted
+ deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ focal-updates main restricted
+ deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ focal universe
+EOC
+}
+
+(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
+
+# 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+=(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-mozilla) # use nodejs-mozilla because nodejs is outdated
+installPackages+=(python3-html5lib)
+
+# Common event loop handling
+installPackages+=(libglib2.0-dev)
+# MySQL support
+installPackages+=(libmysqlclient-dev)
+# PostgreSQL support
+installPackages+=(libpq-dev)
+# SQLite support
+installPackages+=(libsqlite3-dev)
+# ODBC support
+installPackages+=(unixodbc-dev)
+# Support for FreeType font engine
+installPackages+=(libfreetype6-dev)
+# Enable the usage of system jpeg libraries
+installPackages+=(libjpeg-dev)
+# Enable support for printer driver
+installPackages+=(libcups2-dev)
+# Enable support for printer test
+installPackages+=(cups-pdf)
+# Install libraries needed for QtMultimedia to be able to support all plugins
+installPackages+=(libasound2-dev)
+installPackages+=(libgstreamer1.0-dev)
+installPackages+=(libgstreamer-plugins-base1.0-dev)
+installPackages+=(libgstreamer-plugins-good1.0-dev)
+installPackages+=(libgstreamer-plugins-bad1.0-dev)
+installPackages+=(libgstreamer-gl1.0-0)
+installPackages+=(gir1.2-gst-plugins-base-1.0)
+installPackages+=(gir1.2-gst-plugins-bad-1.0)
+installPackages+=(yasm)
+installPackages+=(libva-dev)
+# for QtMultimedia streaming tests
+installPackages+=(vlc-bin)
+installPackages+=(vlc-plugin-base)
+
+# Support for cross-building to x86 (needed by WebEngine boot2qt builds)
+installPackages+=(g++-multilib)
+# python3 development package
+installPackages+=(python3-dev)
+installPackages+=(python3-pip)
+installPackages+=(virtualenv)
+installPackages+=(python3-wheel)
+# python2 development package
+installPackages+=(python-dev)
+# Automates interactive applications (Needed by RTA to automate configure testing)
+installPackages+=(expect)
+installPackages+=(mesa-common-dev)
+installPackages+=(libgl1-mesa-glx)
+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)
+#VirtualBox for RTA
+installPackages+=(virtualbox)
+installPackages+=(dkms)
+# Needed for qtspeech
+installPackages+=(libspeechd-dev)
+#Pypdf for PDF reading in RTA tests
+installPackages+=(python-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 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)
+# Vulkan is needed for examples
+installPackages+=(libvulkan-dev)
+# Needed for qtdltlogging
+installPackages+=(libdlt-dev)
+# For integrity
+installPackages+=(libc6:i386)
+installPackages+=(libncurses5:i386)
+installPackages+=(libstdc++6:i386)
+installPackages+=(libx11-6:i386)
+installPackages+=(lib32z1)
+installPackages+=(linux-libc-dev:i386)
+installPackages+=(libxcursor1:i386)
+installPackages+=(libc6-dev-i386)
+sudo dpkg --add-architecture i386
+# For QNX
+installPackages+=(nfs-kernel-server)
+installPackages+=(net-tools)
+installPackages+=(bridge-utils)
+
+echo "Running update for apt"
+waitLoop
+sudo apt-get update
+echo "Installing packages"
+waitLoop
+sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y 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 "OpenSSL = $OpenSSLVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-disable-notifications.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-disable-notifications.sh
new file mode 100755
index 00000000..1b9ed6c9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-disable-notifications.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/linux/disable-notifications.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-disable-ntp.sh
new file mode 100755
index 00000000..1995aa14
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-disable-ntp.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/linux/disable-ntp_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-git_lfs.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-git_lfs.sh
new file mode 100755
index 00000000..06b5b1e7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-git_lfs.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Install Git Large File Storage
+
+set -ex
+
+curl -L https://packagecloud.io/github/git-lfs/gpgkey | sudo apt-key add -
+sudo apt-add-repository 'deb https://packagecloud.io/github/git-lfs/ubuntu/ focal main'
+sudo apt update
+sudo apt install git-lfs
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-remove-apport.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-remove-apport.sh
new file mode 100755
index 00000000..879f3ffb
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-remove-apport.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/linux/remove-apport.sh
+source "${BASH_SOURCE%/*}/../common/linux/remove-apport.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-remove-update_notifier.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-remove-update_notifier.sh
new file mode 100755
index 00000000..f4a5119f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/02-remove-update_notifier.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/linux/remove-update_notifier.sh
+source "${BASH_SOURCE%/*}/../common/linux/remove-update_notifier.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-gcc.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-gcc.sh
new file mode 100755
index 00000000..8ca760ad
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-gcc.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/gcc.sh
+source "${BASH_SOURCE%/*}/../common/linux/gcc.sh"
+
+InstallGCC 9.3.0 50 5038e8752407d14e5a70c8efc80c20a6d4219aaa 212f77d7b7fe1fdf01a1c0b0ebc9d82aeda5e1e0
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-qemu.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-qemu.sh
new file mode 100755
index 00000000..5ed06f29
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/03-qemu.sh
@@ -0,0 +1,19 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+# First test using QFont fails if fonts-noto-cjk is installed. This happens because
+# running fontcache for that font takes > 5 mins when run on QEMU. Running fc-cache
+# doesn't help since host version creates cache for a wrong architecture and running
+# armv7 fc-cache segfaults on QEMU.
+sudo DEBIAN_FRONTEND=noninteractive apt-get -y remove fonts-noto-cjk
+
+# Disable QtWayland window decorations, as they cause flakiness when used inside qemu (QTBUG-66173)
+qemu_env="QT_WAYLAND_DISABLE_WINDOWDECORATION=1"
+
+SetEnvVar "QEMU_SET_ENV" "\"${qemu_env}\""
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang-v100-dyn.sh
new file mode 100755
index 00000000..85c261ee
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang-v100-dyn.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang.sh
new file mode 100755
index 00000000..fac8d4e7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-libclang.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh
new file mode 100755
index 00000000..26430c71
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/04-yocto.sh
@@ -0,0 +1,125 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs the Yocto toolchain
+
+set -ex
+
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+primaryBaseUrlPath="http://ci-files01-hki.ci.qt.io/input/boot2qt/gatesgarth"
+altBaseUrlPath="http://download.qt.io/development_releases/prebuilt/boot2qt/gatesgarth"
+
+echo "Installing Yocto toolchain for 32-bit b2qt ARMV7..."
+
+versionARM="3.2"
+package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemuarm-a9d5156a.sh"
+PrimaryUrl="$primaryBaseUrlPath/$package"
+AltUrl="$altBaseUrlPath/$package"
+SHA1="f9f7d51656067a1cc9d7ab92ddcddb219886ab22"
+yoctoInstaller="/tmp/yocto-toolchain-ARMv7.sh"
+yoctoLocationARMv7="/opt/b2qt/$versionARM"
+sysrootARMv7="armv7vet2hf-neon-poky-linux-gnueabi"
+crosscompileARMv7="sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-"
+envSetupARMv7="environment-setup-$sysrootARMv7"
+toolchainFileARMv7="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake"
+
+DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
+chmod +x "$yoctoInstaller"
+
+/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARMv7"
+rm -rf "$yoctoInstaller"
+
+echo "Installing Yocto toolchain for 64-bit b2qt ARM64..."
+
+versionARM64="3.2"
+package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemuarm64-a9d5156a.sh"
+PrimaryUrl="$primaryBaseUrlPath/$package"
+AltUrl="$altBaseUrlPath/$package"
+SHA1="f490cbcc4e0d5a87f4e07607a71013aeeabce94a"
+yoctoInstaller="/tmp/yocto-toolchain-ARM64.sh"
+yoctoLocationARM64="/opt/b2qt/$versionARM64"
+sysrootARM64="cortexa57-poky-linux"
+crosscompileARM64="sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-"
+envSetupARM64="environment-setup-$sysrootARM64"
+toolchainFileARM64="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake"
+
+DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
+chmod +x "$yoctoInstaller"
+
+/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARM64"
+rm -rf "$yoctoInstaller"
+
+echo "Installing Yocto toolchain for 64-bit b2qt MIPS64..."
+
+versionMIPS64="3.2"
+package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemumips64-a9d5156a.sh"
+PrimaryUrl="$primaryBaseUrlPath/$package"
+AltUrl="$altBaseUrlPath/$package"
+SHA1="5d3a8bb4384de273937286d275d1dab36f969951"
+yoctoInstaller="/tmp/yocto-toolchain-mips64.sh"
+yoctoLocationMIPS64="/opt/b2qt/$versionMIPS64"
+sysrootMIPS64="mips64r2-poky-linux"
+crosscompileMIPS64="sysroots/x86_64-pokysdk-linux/usr/bin/mips64-poky-linux/mips64-poky-linux-"
+envSetupMIPS64="environment-setup-$sysrootMIPS64"
+toolchainFileMIPS64="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake"
+
+DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
+chmod +x "$yoctoInstaller"
+
+/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationMIPS64"
+rm -rf "$yoctoInstaller"
+
+
+
+if [ -e "$yoctoLocationARMv7/sysroots/$sysrootARMv7" ] && [ -e "$yoctoLocationARMv7/${crosscompileARMv7}g++" ] && \
+ [ -e "$yoctoLocationARMv7/$envSetupARMv7" ] && [ -e "$yoctoLocationARMv7/$toolchainFileARMv7" ] && \
+ [ -e "$yoctoLocationARM64/sysroots/$sysrootARM64" ] && [ -e "$yoctoLocationARM64/${crosscompileARM64}g++" ] && \
+ [ -e "$yoctoLocationARM64/$envSetupARM64" ] && [ -e "$yoctoLocationARM64/$toolchainFileARM64" ] && \
+ [ -e "$yoctoLocationMIPS64/sysroots/$sysrootMIPS64" ] && [ -e "$yoctoLocationMIPS64/${crosscompileMIPS64}g++" ] && \
+ [ -e "$yoctoLocationMIPS64/$envSetupMIPS64" ] && [ -e "$yoctoLocationMIPS64/$toolchainFileMIPS64" ]; then
+ SetEnvVar "QEMUARMV7_TOOLCHAIN_SYSROOT" "$yoctoLocationARMv7/sysroots/$sysrootARMv7"
+ SetEnvVar "QEMUARMV7_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARMv7/$crosscompileARMv7"
+ SetEnvVar "QEMUARMV7_TOOLCHAIN_ENVSETUP" "$yoctoLocationARMv7/$envSetupARMv7"
+ SetEnvVar "QEMUARMV7_TOOLCHAIN_FILE" "$yoctoLocationARMv7/$toolchainFileARMv7"
+ SetEnvVar "QEMUARM64_TOOLCHAIN_SYSROOT" "$yoctoLocationARM64/sysroots/$sysrootARM64"
+ SetEnvVar "QEMUARM64_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARM64/$crosscompileARM64"
+ SetEnvVar "QEMUARM64_TOOLCHAIN_ENVSETUP" "$yoctoLocationARM64/$envSetupARM64"
+ SetEnvVar "QEMUARM64_TOOLCHAIN_FILE" "$yoctoLocationARM64/$toolchainFileARM64"
+ SetEnvVar "QEMUMIPS64_TOOLCHAIN_SYSROOT" "$yoctoLocationMIPS64/sysroots/$sysrootMIPS64"
+ SetEnvVar "QEMUMIPS64_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationMIPS64/$crosscompileMIPS64"
+ SetEnvVar "QEMUMIPS64_TOOLCHAIN_ENVSETUP" "$yoctoLocationMIPS64/$envSetupMIPS64"
+ SetEnvVar "QEMUMIPS64_TOOLCHAIN_FILE" "$yoctoLocationMIPS64/$toolchainFileMIPS64"
+else
+ echo "Error! Couldn't find installation paths for Yocto toolchain. Aborting provisioning." 1>&2
+ exit 1
+fi
+
+cat << EOB >> ~/versions.txt
+Yocto ARMv7 toolchain = $versionARM
+Yocto ARM64 toolchain = $versionARM64
+Yocto MIPS64 toolchain = $versionMIPS64
+EOB
+
+# List qt user in qemu toolchain sysroots
+sudo sh -c "grep ^qt /etc/passwd >> $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/passwd"
+sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/group"
+sudo sh -c "grep ^qt /etc/passwd >> $yoctoLocationARM64/sysroots/$sysrootARM64/etc/passwd"
+sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARM64/sysroots/$sysrootARM64/etc/group"
+
+# Fix mdns to support both docker and network tests
+# See also https://bugreports.qt.io/browse/QTBUG-106013
+sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf"
+sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf"
+
+# Install qemu binfmt for 32bit and 64bit arm architectures
+sudo update-binfmts --package qemu-arm --install arm $yoctoLocationARMv7/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-arm \
+--magic "\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00" \
+--mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
+sudo update-binfmts --package qemu-aarch64 --install aarch64 $yoctoLocationARM64/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-aarch64 \
+--magic "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00" \
+--mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/08-integrity.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/08-integrity.sh
new file mode 100755
index 00000000..0e8dbb39
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/08-integrity.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/integrity.sh
+source "${BASH_SOURCE%/*}/../common/linux/integrity.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/20-sccache.sh
new file mode 100755
index 00000000..b371d947
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/20-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/22-mqtt_broker.sh
new file mode 100755
index 00000000..b0791cb1
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/22-mqtt_broker.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/mqtt_broker.sh
+source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-fbx.sh
new file mode 100755
index 00000000..16a9bda8
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-fbx.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/fbx_linux.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..c5b53fac
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install-git.sh
new file mode 100755
index 00000000..7a73f354
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install-git.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-git.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install_icu.sh
new file mode 100755
index 00000000..b417a12f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/30-install_icu.sh
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+set -ex
+
+# This script will install ICU
+
+icuVersion="60.2"
+icuLocationLib="/opt/icu/lib64"
+icuLocationInclude="/opt/icu/include"
+sha1="2b972d8897783c08dfe1e52af49216ed92656736"
+baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu18.04-x64_60_2.7z"
+baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Ubuntu18.04-x64_60_2.7z"
+
+sha1Dev="416c89d3ded143ea1d4fcc688dce02b01aaa9ee2"
+develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu18.04-x64-devel_60_2.7z"
+develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Ubuntu18.04-x64-devel_60_2.7z"
+
+echo "Installing custom ICU $icuVersion $sha1 packages on CentOS to $icuLocationLib"
+
+targetFile=$(mktemp)
+sudo mkdir -p "$icuLocationLib"
+sudo mkdir -p "$icuLocationInclude"
+DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile"
+sudo 7z x -y -o$icuLocationLib "$targetFile"
+sudo rm "$targetFile"
+
+echo "Installing custom ICU devel packages on CentOS"
+
+tempDir=$(mktemp -d)
+
+targetFile=$(mktemp)
+DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile"
+7z x -y -o"$tempDir" "$targetFile"
+
+sudo cp -a "$tempDir"/lib/* "$icuLocationLib"
+sudo cp -a "$tempDir"/* /opt/icu/
+
+sudo rm "$targetFile"
+sudo rm -fr "$tempDir"
+
+sudo /sbin/ldconfig
+
+echo "ICU = $icuVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/35-install-breakpad.sh
new file mode 100755
index 00000000..8a9dde56
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/35-install-breakpad.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/40-android_linux.sh
new file mode 100755
index 00000000..2526bc6d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/40-android_linux.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/android_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/40-install-cmake.sh
new file mode 100755
index 00000000..a418e4c5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/40-install-cmake.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/cmake_linux.sh"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/50-openssl_for_android_linux.sh
new file mode 100755
index 00000000..fd1151d9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/50-openssl_for_android_linux.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/openssl_for_android.sh
+source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/60-install_protobuf.sh
new file mode 100755
index 00000000..3e2b8921
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/60-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/61-install_grpc.sh
new file mode 100755
index 00000000..ecd6a51f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/61-install_grpc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/70-install_QemuGA.sh
new file mode 100755
index 00000000..9a80fc0b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/70-install_QemuGA.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QEMU Guest Agent
+
+set -ex
+
+sudo apt -y install qemu-guest-agent
+sudo systemctl start qemu-guest-agent
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/70-qnx710.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/70-qnx710.sh
new file mode 100755
index 00000000..08eeb57b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/70-qnx710.sh
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/qnx_710.sh
+source "${BASH_SOURCE%/*}/../common/linux/qnx_710.sh"
+
+# setup NFS
+sudo bash -c "echo '/home/qt/work ${qemuNetwork}/24(rw,sync,root_squash,no_subtree_check,anonuid=1000,anongid=1000)' >> /etc/exports"
+sudo exportfs -a
+sudo systemctl restart nfs-kernel-server
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/80-docker.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/80-docker.sh
new file mode 100755
index 00000000..561e762f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/80-docker.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/docker.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/81-fix_mdns_docker_resolution.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/81-fix_mdns_docker_resolution.sh
new file mode 100755
index 00000000..fb73a0e9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/81-fix_mdns_docker_resolution.sh
@@ -0,0 +1,15 @@
+#!/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
+
+# The new version of libnss-mdns resolver library automatically rejects all
+# hostnames with more than two labels (i.e. subdomains deep), for example
+# vsftpd.test-net.qt.local is automatically rejected. The changes here fix
+# this, see also https://github.com/lathiat/nss-mdns#etcmdnsallow
+
+cat <<EOT | sudo tee /etc/mdns.allow
+.local.
+.local
+EOT
+
+sudo sed -i '/^hosts:/s/.*/hosts: files mdns_minimal [NOTFOUND=return] mdns4 dns/' /etc/nsswitch.conf
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/85-qdoc_qtattributionsscanner.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/85-qdoc_qtattributionsscanner.sh
new file mode 100755
index 00000000..09d4664f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/85-qdoc_qtattributionsscanner.sh
@@ -0,0 +1,34 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Provisions qdoc and qtattributionsscanner binaries; these are used for
+# documentation testing without the need for a dependency to qttools.
+
+set -e
+
+# shellcheck source=../common/unix/check_and_set_proxy.sh
+"${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+version="39fad60085501729985888d3f546c7b8d897a394"
+sha1="b3bc413866951807fe2e87e84394cd6f69904718"
+url="https://download.qt.io/development_releases/prebuilt/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu20.04-gcc9.3-x86_64.7z"
+url_cached="http://ci-files01-hki.ci.qt.io/input/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu20.04-gcc9.3-x86_64.7z"
+
+zip="/tmp/qdoc-qtattributionsscanner.7z"
+destination="/opt/qt-doctools"
+
+sudo mkdir -p "$destination"
+sudo chmod 755 "$destination"
+DownloadURL "$url_cached" "$url" "$sha1" "$zip"
+if command -v 7zr &> /dev/null; then
+ sudo 7zr x "$zip" "-o$destination/"
+else
+ sudo 7z x "$zip" "-o$destination/"
+fi
+sudo chown -R qt:users "$destination"
+rm -rf "$zip"
+
+echo -e "qdoc = $version\nqtattributionsscanner = $version" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-bootstrap-autostart.sh
new file mode 100755
index 00000000..1ff43850
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-bootstrap-autostart.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..61da9b7b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-install-ffmpeg.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-mimer.sh
new file mode 100755
index 00000000..ddd5bc33
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-mimer.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "deb"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-squish.sh
new file mode 100755
index 00000000..f803ccc1
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/90-squish.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/91-squish-coco.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/91-squish-coco.sh
new file mode 100755
index 00000000..e42a5373
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/91-squish-coco.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/linux/squish-coco.sh
+source "${BASH_SOURCE%/*}/../common/linux/squish-coco.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/99-cleanup.sh
new file mode 100755
index 00000000..4d6e16ea
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/99-cleanup.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+"$(dirname "$0")"/../common/linux/cleanup_cache.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/99-version.sh
new file mode 100755
index 00000000..31821f6b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-20.04-x86_64/99-version.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/ubuntu-version.sh"
diff --git a/coin/provisioning/qtci-linux-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/01-disable-updates.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-disable-updates.sh
new file mode 100755
index 00000000..4c9adc5f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-disable-updates.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# Disalbe updates
+echo "Disabling auto-upgrades"
+sudo sed -i 's/"1"/"0"/g' /etc/apt/apt.conf.d/20auto-upgrades
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-disable_net_lso.sh
new file mode 100755
index 00000000..81e7d137
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-disable_net_lso.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off
+sudo chmod +x /etc/NetworkManager/dispatcher.d/pre-up.d/net_tso_off
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-set-ulimit.sh
new file mode 100755
index 00000000..e951e82a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-set-ulimit.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/set_ulimit.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-systemsetup.sh
new file mode 100755
index 00000000..98744822
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/01-systemsetup.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script modifies system settings for automated use
+
+set -ex
+
+# shellcheck source=../common/unix/check_and_set_proxy.sh
+source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
+
+NTS_IP=10.212.2.216
+
+echo "Set timezone to UTC."
+sudo timedatectl set-timezone Etc/UTC
+echo "Timeout for blanking the screen (0 = never)"
+gsettings set org.gnome.desktop.session idle-delay 0
+echo "Prevents screen lock when screesaver goes active."
+gsettings set org.gnome.desktop.screensaver lock-enabled false
+echo "Set grub timeout to 0"
+sudo sed -i 's|GRUB_TIMEOUT=10|GRUB_TIMEOUT=0|g' /etc/default/grub
+sudo update-grub
+
+# https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624320
+# Checking if Ubuntu 20.04 works without this
+#echo "Setting up workaround for Ubuntu systemd resolve bug"
+#sudo rm -f /etc/resolv.conf
+#sudo ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
+
+# remove hostname to get unique based on IP address
+sudo rm /etc/hostname
+
+echo "Set Network Test Server address to $NTS_IP in /etc/hosts"
+echo "$NTS_IP qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+
+echo 'LC_ALL=en_US.UTF8' | sudo tee /etc/default/locale
+
+if [ "$http_proxy" != "" ]; then
+ echo "Acquire::http::Proxy \"$proxy\";" | sudo tee -a /etc/apt/apt.conf
+fi
+
+# This script diverts qtlogging.ini file so we don't get debugging related auto-test failures.
+sudo dpkg-divert --divert /etc/xdg/QtProject/qtlogging.ini.foo --rename /etc/xdg/QtProject/qtlogging.ini
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh
new file mode 100755
index 00000000..bd689a41
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-apt.sh
@@ -0,0 +1,244 @@
+#!/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=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy main restricted universe multiverse
+ deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy-updates main restricted universe multiverse
+ deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy-backports main restricted universe
+ deb [arch=amd64] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy-security main restricted universe multiverse
+ deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy main restricted
+ deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy-updates main restricted
+ deb [arch=i386] http://repo-clones.ci.qt.io/apt-mirror/mirror/ubuntu/ jammy universe
+EOC
+}
+
+(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
+
+# Git is not needed by builds themselves, but is nice to have
+# immediately as one starts debugging
+installPackages+=(git)
+# 7zip is a needed decompressing tool
+installPackages+=(p7zip-full)
+# To be able to mount yocto-cache during builds
+installPackages+=(nfs-common)
+# libssl-dev provides headers for OpenSSL
+installPackages+=(libssl-dev)
+# Needed libraries for X11 support accordingly to https://wiki.qt.io/Building_Qt_5_from_Git
+installPackages+=("^libxcb.*")
+installPackages+=(libxkbcommon-dev)
+installPackages+=(libxkbcommon-x11-dev)
+installPackages+=(libx11-xcb-dev)
+installPackages+=(libglu1-mesa-dev)
+installPackages+=(libxrender-dev)
+installPackages+=(libxi-dev)
+# Enable linking to system dbus
+installPackages+=(libdbus-1-dev)
+# Needed libraries for WebEngine
+installPackages+=(udev)
+installPackages+=(libudev-dev)
+installPackages+=(libdrm-dev)
+installPackages+=(libegl1-mesa-dev)
+installPackages+=(libfontconfig1-dev)
+installPackages+=(libgbm-dev)
+installPackages+=(liblcms2-dev)
+installPackages+=(libpci-dev)
+installPackages+=(libre2-dev)
+installPackages+=(libsnappy-dev)
+installPackages+=(libva-dev)
+installPackages+=(libvpx-dev)
+installPackages+=(libxkbfile-dev)
+installPackages+=(libxshmfence-dev)
+installPackages+=(libxss-dev)
+# installPackages+=(nodejs) too old
+installPackages+=(python3-html5lib)
+
+# Common event loop handling
+installPackages+=(libglib2.0-dev)
+# MySQL support
+installPackages+=(libmysqlclient-dev)
+# PostgreSQL support
+installPackages+=(libpq-dev)
+# SQLite support
+installPackages+=(libsqlite3-dev)
+# ODBC support
+installPackages+=(unixodbc-dev)
+# Support for FreeType font engine
+installPackages+=(libfreetype6-dev)
+# Enable the usage of system jpeg libraries
+installPackages+=(libjpeg-dev)
+# Enable support for printer driver
+installPackages+=(libcups2-dev)
+# Enable support for printer test
+installPackages+=(cups-pdf)
+# Install libraries needed for QtMultimedia to be able to support all plugins
+installPackages+=(libasound2-dev)
+installPackages+=(libgstreamer1.0-dev)
+installPackages+=(libgstreamer-plugins-base1.0-dev)
+installPackages+=(libgstreamer-plugins-good1.0-dev)
+installPackages+=(libgstreamer-plugins-bad1.0-dev)
+installPackages+=(libgstreamer-gl1.0-0)
+installPackages+=(gir1.2-gst-plugins-base-1.0)
+installPackages+=(gir1.2-gst-plugins-bad-1.0)
+installPackages+=(yasm)
+installPackages+=(libva-dev)
+# for QtMultimedia streaming tests
+installPackages+=(vlc-bin)
+installPackages+=(vlc-plugin-base)
+
+# Support for cross-building to x86 (needed by WebEngine boot2qt builds)
+installPackages+=(g++-multilib)
+# python3 development package
+installPackages+=(python3-dev)
+installPackages+=(python3-pip)
+installPackages+=(virtualenv)
+installPackages+=(python3-wheel)
+installPackages+=(python-is-python3)
+# python2 development package
+installPackages+=(python2-dev)
+# Automates interactive applications (Needed by RTA to automate configure testing)
+installPackages+=(expect)
+installPackages+=(mesa-common-dev)
+installPackages+=(libgl1-mesa-glx)
+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)
+#VirtualBox for RTA
+installPackages+=(virtualbox)
+installPackages+=(dkms)
+# Needed for qtspeech
+installPackages+=(libspeechd-dev)
+#Pypdf for PDF reading in RTA tests
+installPackages+=(python3-pypdf2)
+# Needed for b2qt
+installPackages+=(git-lfs)
+installPackages+=(chrpath)
+installPackages+=(gawk)
+installPackages+=(texinfo)
+# Needed for Poppler test in QtWebEngine
+installPackages+=(libpoppler-cpp-dev)
+# Needed for QtCore
+installPackages+=(libdouble-conversion-dev)
+installPackages+=(libpcre2-dev)
+# Needed for testlib selftests
+installPackages+=(valgrind)
+# Needed for qtgampepad
+installPackages+=(libsdl2-2.0)
+installPackages+=(libsdl2-dev)
+# Needed for qtwebkit
+installPackages+=(ruby)
+installPackages+=(libxslt1-dev)
+installPackages+=(libxml2-dev)
+installPackages+=(libhyphen-dev)
+# For remote access
+installPackages+=(ssh)
+# For bitbake
+installPackages+=(diffstat)
+installPackages+=(binfmt-support)
+installPackages+=(zstd)
+installPackages+=(lz4)
+# Vulkan is needed for examples
+installPackages+=(libvulkan-dev)
+# Needed for qtdltlogging
+installPackages+=(libdlt-dev)
+# For integrity
+installPackages+=(libc6:i386)
+installPackages+=(libncurses5:i386)
+installPackages+=(libstdc++6:i386)
+installPackages+=(libx11-6:i386)
+installPackages+=(lib32z1)
+installPackages+=(linux-libc-dev:i386)
+installPackages+=(libxcursor1:i386)
+installPackages+=(libc6-dev-i386)
+sudo dpkg --add-architecture i386
+# For QNX
+installPackages+=(nfs-kernel-server)
+installPackages+=(net-tools)
+installPackages+=(bridge-utils)
+# For Debian packaging
+installPackages+=(sbuild)
+installPackages+=(ubuntu-dev-tools)
+# cifs-utils, for mounting smb drive
+installPackages+=(keyutils)
+installPackages+=(cifs-utils)
+# VxWorks QEMU network setup (tunctl)
+installPackages+=(uml-utilities)
+# used for reading vcpkg packages version, from vcpkg.json
+installPackages+=(jq)
+
+echo "Running update for apt"
+waitLoop
+sudo apt-get update
+echo "Installing packages"
+waitLoop
+sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 install "${installPackages[@]}"
+
+# Configure pip
+pip config --user set global.index https://ci-files01-hki.ci.qt.io/input/python_module_cache
+pip config --user set global.extra-index-url https://pypi.org/simple/
+
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+# SetEnvVar "PATH" "/usr/lib/nodejs-mozilla/bin:\$PATH"
+
+OpenSSLVersion="$(openssl version |cut -b 9-14)"
+echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-disable-notifications.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-disable-notifications.sh
new file mode 100755
index 00000000..1b9ed6c9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-disable-notifications.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/linux/disable-notifications.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-disable-ntp.sh
new file mode 100755
index 00000000..1995aa14
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-disable-ntp.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/linux/disable-ntp_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-git_lfs.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-git_lfs.sh
new file mode 100755
index 00000000..d2c0ad14
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-git_lfs.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Install Git Large File Storage
+
+set -ex
+
+curl -L https://packagecloud.io/github/git-lfs/gpgkey | sudo apt-key add -
+sudo apt-add-repository 'deb https://packagecloud.io/github/git-lfs/ubuntu/ jammy main'
+sudo apt update
+sudo apt install git-lfs
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-remove-apport.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-remove-apport.sh
new file mode 100755
index 00000000..879f3ffb
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-remove-apport.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/linux/remove-apport.sh
+source "${BASH_SOURCE%/*}/../common/linux/remove-apport.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-remove-update_notifier.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-remove-update_notifier.sh
new file mode 100755
index 00000000..f4a5119f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/02-remove-update_notifier.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/linux/remove-update_notifier.sh
+source "${BASH_SOURCE%/*}/../common/linux/remove-update_notifier.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-install-nodejs.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-install-nodejs.sh
new file mode 100755
index 00000000..07121a36
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-install-nodejs.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/linux/install-nodejs.sh
+source "${BASH_SOURCE%/*}/../common/linux/install-nodejs.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-mount-vcpkg-cache-drive.sh
new file mode 100755
index 00000000..ed49b3a5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-mount-vcpkg-cache-drive.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/mount-vcpkg-cache-drive.sh
+source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-qemu.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-qemu.sh
new file mode 100755
index 00000000..5ed06f29
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/03-qemu.sh
@@ -0,0 +1,19 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+# First test using QFont fails if fonts-noto-cjk is installed. This happens because
+# running fontcache for that font takes > 5 mins when run on QEMU. Running fc-cache
+# doesn't help since host version creates cache for a wrong architecture and running
+# armv7 fc-cache segfaults on QEMU.
+sudo DEBIAN_FRONTEND=noninteractive apt-get -y remove fonts-noto-cjk
+
+# Disable QtWayland window decorations, as they cause flakiness when used inside qemu (QTBUG-66173)
+qemu_env="QT_WAYLAND_DISABLE_WINDOWDECORATION=1"
+
+SetEnvVar "QEMU_SET_ENV" "\"${qemu_env}\""
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-libclang-v100-dyn.sh
new file mode 100755
index 00000000..85c261ee
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-libclang-v100-dyn.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-libclang.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-libclang.sh
new file mode 100755
index 00000000..fac8d4e7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-libclang.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh
new file mode 100755
index 00000000..26430c71
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/04-yocto.sh
@@ -0,0 +1,125 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs the Yocto toolchain
+
+set -ex
+
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+primaryBaseUrlPath="http://ci-files01-hki.ci.qt.io/input/boot2qt/gatesgarth"
+altBaseUrlPath="http://download.qt.io/development_releases/prebuilt/boot2qt/gatesgarth"
+
+echo "Installing Yocto toolchain for 32-bit b2qt ARMV7..."
+
+versionARM="3.2"
+package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemuarm-a9d5156a.sh"
+PrimaryUrl="$primaryBaseUrlPath/$package"
+AltUrl="$altBaseUrlPath/$package"
+SHA1="f9f7d51656067a1cc9d7ab92ddcddb219886ab22"
+yoctoInstaller="/tmp/yocto-toolchain-ARMv7.sh"
+yoctoLocationARMv7="/opt/b2qt/$versionARM"
+sysrootARMv7="armv7vet2hf-neon-poky-linux-gnueabi"
+crosscompileARMv7="sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-"
+envSetupARMv7="environment-setup-$sysrootARMv7"
+toolchainFileARMv7="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake"
+
+DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
+chmod +x "$yoctoInstaller"
+
+/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARMv7"
+rm -rf "$yoctoInstaller"
+
+echo "Installing Yocto toolchain for 64-bit b2qt ARM64..."
+
+versionARM64="3.2"
+package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemuarm64-a9d5156a.sh"
+PrimaryUrl="$primaryBaseUrlPath/$package"
+AltUrl="$altBaseUrlPath/$package"
+SHA1="f490cbcc4e0d5a87f4e07607a71013aeeabce94a"
+yoctoInstaller="/tmp/yocto-toolchain-ARM64.sh"
+yoctoLocationARM64="/opt/b2qt/$versionARM64"
+sysrootARM64="cortexa57-poky-linux"
+crosscompileARM64="sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-"
+envSetupARM64="environment-setup-$sysrootARM64"
+toolchainFileARM64="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake"
+
+DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
+chmod +x "$yoctoInstaller"
+
+/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationARM64"
+rm -rf "$yoctoInstaller"
+
+echo "Installing Yocto toolchain for 64-bit b2qt MIPS64..."
+
+versionMIPS64="3.2"
+package="b2qt-x86_64-meta-toolchain-b2qt-ci-sdk-qemumips64-a9d5156a.sh"
+PrimaryUrl="$primaryBaseUrlPath/$package"
+AltUrl="$altBaseUrlPath/$package"
+SHA1="5d3a8bb4384de273937286d275d1dab36f969951"
+yoctoInstaller="/tmp/yocto-toolchain-mips64.sh"
+yoctoLocationMIPS64="/opt/b2qt/$versionMIPS64"
+sysrootMIPS64="mips64r2-poky-linux"
+crosscompileMIPS64="sysroots/x86_64-pokysdk-linux/usr/bin/mips64-poky-linux/mips64-poky-linux-"
+envSetupMIPS64="environment-setup-$sysrootMIPS64"
+toolchainFileMIPS64="sysroots/x86_64-pokysdk-linux/usr/share/cmake/OEToolchainConfig.cmake"
+
+DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller"
+chmod +x "$yoctoInstaller"
+
+/bin/bash "$yoctoInstaller" -y -d "$yoctoLocationMIPS64"
+rm -rf "$yoctoInstaller"
+
+
+
+if [ -e "$yoctoLocationARMv7/sysroots/$sysrootARMv7" ] && [ -e "$yoctoLocationARMv7/${crosscompileARMv7}g++" ] && \
+ [ -e "$yoctoLocationARMv7/$envSetupARMv7" ] && [ -e "$yoctoLocationARMv7/$toolchainFileARMv7" ] && \
+ [ -e "$yoctoLocationARM64/sysroots/$sysrootARM64" ] && [ -e "$yoctoLocationARM64/${crosscompileARM64}g++" ] && \
+ [ -e "$yoctoLocationARM64/$envSetupARM64" ] && [ -e "$yoctoLocationARM64/$toolchainFileARM64" ] && \
+ [ -e "$yoctoLocationMIPS64/sysroots/$sysrootMIPS64" ] && [ -e "$yoctoLocationMIPS64/${crosscompileMIPS64}g++" ] && \
+ [ -e "$yoctoLocationMIPS64/$envSetupMIPS64" ] && [ -e "$yoctoLocationMIPS64/$toolchainFileMIPS64" ]; then
+ SetEnvVar "QEMUARMV7_TOOLCHAIN_SYSROOT" "$yoctoLocationARMv7/sysroots/$sysrootARMv7"
+ SetEnvVar "QEMUARMV7_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARMv7/$crosscompileARMv7"
+ SetEnvVar "QEMUARMV7_TOOLCHAIN_ENVSETUP" "$yoctoLocationARMv7/$envSetupARMv7"
+ SetEnvVar "QEMUARMV7_TOOLCHAIN_FILE" "$yoctoLocationARMv7/$toolchainFileARMv7"
+ SetEnvVar "QEMUARM64_TOOLCHAIN_SYSROOT" "$yoctoLocationARM64/sysroots/$sysrootARM64"
+ SetEnvVar "QEMUARM64_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationARM64/$crosscompileARM64"
+ SetEnvVar "QEMUARM64_TOOLCHAIN_ENVSETUP" "$yoctoLocationARM64/$envSetupARM64"
+ SetEnvVar "QEMUARM64_TOOLCHAIN_FILE" "$yoctoLocationARM64/$toolchainFileARM64"
+ SetEnvVar "QEMUMIPS64_TOOLCHAIN_SYSROOT" "$yoctoLocationMIPS64/sysroots/$sysrootMIPS64"
+ SetEnvVar "QEMUMIPS64_TOOLCHAIN_CROSS_COMPILE" "$yoctoLocationMIPS64/$crosscompileMIPS64"
+ SetEnvVar "QEMUMIPS64_TOOLCHAIN_ENVSETUP" "$yoctoLocationMIPS64/$envSetupMIPS64"
+ SetEnvVar "QEMUMIPS64_TOOLCHAIN_FILE" "$yoctoLocationMIPS64/$toolchainFileMIPS64"
+else
+ echo "Error! Couldn't find installation paths for Yocto toolchain. Aborting provisioning." 1>&2
+ exit 1
+fi
+
+cat << EOB >> ~/versions.txt
+Yocto ARMv7 toolchain = $versionARM
+Yocto ARM64 toolchain = $versionARM64
+Yocto MIPS64 toolchain = $versionMIPS64
+EOB
+
+# List qt user in qemu toolchain sysroots
+sudo sh -c "grep ^qt /etc/passwd >> $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/passwd"
+sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/group"
+sudo sh -c "grep ^qt /etc/passwd >> $yoctoLocationARM64/sysroots/$sysrootARM64/etc/passwd"
+sudo sh -c "grep ^qt /etc/group >> $yoctoLocationARM64/sysroots/$sysrootARM64/etc/group"
+
+# Fix mdns to support both docker and network tests
+# See also https://bugreports.qt.io/browse/QTBUG-106013
+sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARMv7/sysroots/$sysrootARMv7/etc/nsswitch.conf"
+sudo sh -c "sed -i '/^hosts:/s/.*/hosts: files myhostname mdns_minimal [NOTFOUND=return] dns mdns4/' $yoctoLocationARM64/sysroots/$sysrootARM64/etc/nsswitch.conf"
+
+# Install qemu binfmt for 32bit and 64bit arm architectures
+sudo update-binfmts --package qemu-arm --install arm $yoctoLocationARMv7/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-arm \
+--magic "\x7f\x45\x4c\x46\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00" \
+--mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
+sudo update-binfmts --package qemu-aarch64 --install aarch64 $yoctoLocationARM64/sysroots/x86_64-pokysdk-linux/usr/bin/qemu-aarch64 \
+--magic "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00" \
+--mask "\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/08-integrity.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/08-integrity.sh
new file mode 100755
index 00000000..0e8dbb39
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/08-integrity.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/integrity.sh
+source "${BASH_SOURCE%/*}/../common/linux/integrity.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/20-sccache.sh
new file mode 100755
index 00000000..b371d947
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/20-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/22-mqtt_broker.sh
new file mode 100755
index 00000000..b0791cb1
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/22-mqtt_broker.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/mqtt_broker.sh
+source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-fbx.sh
new file mode 100755
index 00000000..16a9bda8
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-fbx.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/fbx_linux.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..c5b53fac
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-install_icu.sh
new file mode 100755
index 00000000..260dc55a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/30-install_icu.sh
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+set -ex
+
+# This script will install ICU
+
+icuVersion="73.2"
+icuLocationLib="/opt/icu/lib64"
+icuLocationInclude="/opt/icu/include"
+sha1="5699987afcceb0390e52fb860bb3b4ab8b39cabe"
+baseBinaryPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu22.04-x64.7z"
+baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Ubuntu22.04-x64.7z"
+
+sha1Dev="6b9da2fa5fd88db88e9957ee5e3cf9dbcd08fe6b"
+develPackageURL="http://ci-files01-hki.ci.qt.io/input/icu/$icuVersion/icu-linux-g++-Ubuntu22.04-x64-devel.7z"
+develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Ubuntu22.04-x64-devel.7z"
+
+echo "Installing custom ICU $icuVersion $sha1 packages on CentOS to $icuLocationLib"
+
+targetFile=$(mktemp)
+sudo mkdir -p "$icuLocationLib"
+sudo mkdir -p "$icuLocationInclude"
+DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile"
+sudo 7z x -y -o$icuLocationLib "$targetFile"
+sudo rm "$targetFile"
+
+echo "Installing custom ICU devel packages on CentOS"
+
+tempDir=$(mktemp -d)
+
+targetFile=$(mktemp)
+DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile"
+7z x -y -o"$tempDir" "$targetFile"
+
+sudo cp -a "$tempDir"/lib/* "$icuLocationLib"
+sudo cp -a "$tempDir"/* /opt/icu/
+
+sudo rm "$targetFile"
+sudo rm -fr "$tempDir"
+
+sudo /sbin/ldconfig
+
+echo "ICU = $icuVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/35-install-breakpad.sh
new file mode 100755
index 00000000..8a9dde56
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/35-install-breakpad.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/40-android_linux.sh
new file mode 100755
index 00000000..2526bc6d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/40-android_linux.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/android_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/40-install-cmake.sh
new file mode 100755
index 00000000..a418e4c5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/40-install-cmake.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/cmake_linux.sh"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/41-install-vcpkg.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/41-install-vcpkg.sh
new file mode 100644
index 00000000..aa88364d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/41-install-vcpkg.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-vcpkg.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/42-install-vcpkg-ports.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/42-install-vcpkg-ports.sh
new file mode 100755
index 00000000..71a46f9a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/42-install-vcpkg-ports.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-vcpkg-ports.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/45-install-cpdb.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/45-install-cpdb.sh
new file mode 100755
index 00000000..40497ee0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/45-install-cpdb.sh
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script install cpdb from sources.
+# Requires GCC and Perl to be in PATH.
+set -ex
+
+# Install the dependencies
+sudo apt install -y make autoconf autopoint libglib2.0-dev libdbus-1-dev libtool
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-cpdb.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/50-openssl_for_android_linux.sh
new file mode 100755
index 00000000..fd1151d9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/50-openssl_for_android_linux.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/openssl_for_android.sh
+source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/60-install_protobuf.sh
new file mode 100755
index 00000000..3e2b8921
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/60-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/61-install_grpc.sh
new file mode 100755
index 00000000..ecd6a51f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/61-install_grpc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-install_QemuGA.sh
new file mode 100755
index 00000000..9a80fc0b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-install_QemuGA.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QEMU Guest Agent
+
+set -ex
+
+sudo apt -y install qemu-guest-agent
+sudo systemctl start qemu-guest-agent
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-qnx710.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-qnx710.sh
new file mode 100755
index 00000000..08eeb57b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-qnx710.sh
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/qnx_710.sh
+source "${BASH_SOURCE%/*}/../common/linux/qnx_710.sh"
+
+# setup NFS
+sudo bash -c "echo '/home/qt/work ${qemuNetwork}/24(rw,sync,root_squash,no_subtree_check,anonuid=1000,anongid=1000)' >> /etc/exports"
+sudo exportfs -a
+sudo systemctl restart nfs-kernel-server
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-vxworks.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-vxworks.sh
new file mode 100755
index 00000000..3bb48d11
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/70-vxworks.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/vx_works.sh
+source "${BASH_SOURCE%/*}/../common/linux/vx_works.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/80-docker.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/80-docker.sh
new file mode 100755
index 00000000..3338562f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/80-docker.sh
@@ -0,0 +1,58 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -e
+
+PROVISIONING_DIR="$(dirname "$0")/../"
+# shellcheck source=../common/unix/common.sourced.sh
+source "$PROVISIONING_DIR"/common/unix/common.sourced.sh
+# shellcheck source=../common/unix/DownloadURL.sh
+source "$PROVISIONING_DIR"/common/unix/DownloadURL.sh
+
+localRepo=http://ci-files01-hki.ci.qt.io/input/docker
+# upstreamRepo=https://download.docker.com/linux/ubuntu/dists/bionic/pool/stable/amd64
+upstreamRepo=https://download.docker.com/linux/ubuntu/dists/jammy/pool/stable/amd64
+echo '
+ 429078ba4948395ab88cd06c6ef49ea37c965273 containerd.io_1.6.4-1_amd64.deb
+ 5ce7508bb9d478dd9fe8ed9869e8ab0eed0355d9 docker-ce_20.10.15_3-0_ubuntu-jammy_amd64.deb
+ 445e81ad86c37d796de64644da4f9b3d6c6df913 docker-ce-cli_20.10.15_3-0_ubuntu-jammy_amd64.deb
+' \
+ | xargs -n2 | while read -r sha f
+do
+ DownloadURL "$localRepo/$f" "$upstreamRepo/$f" "$sha"
+done
+
+sudo apt-get -y install ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb
+rm -f ./containerd.io_*.deb ./docker-ce_*.deb ./docker-ce-cli_*.deb
+
+sudo usermod -a -G docker "$USER"
+sudo docker --version
+
+# Download and install the docker-compose extension from https://github.com/docker/compose/releases
+f=docker-compose-$(uname -s)-$(uname -m)
+DownloadURL \
+ "$localRepo/$f-1.24.1" \
+ "https://github.com/docker/compose/releases/download/1.24.1/$f" \
+ cfb3439956216b1248308141f7193776fcf4b9c9b49cbbe2fb07885678e2bb8a
+sudo install -m 755 ./docker-compose* /usr/local/bin/docker-compose
+sudo docker-compose --version
+rm ./docker-compose*
+
+# Install Avahi to discover Docker containers in the test network
+sudo apt-get install avahi-daemon -y
+
+# Add registry mirror for docker images
+sudo tee -a /etc/docker/daemon.json <<"EOF"
+{
+ "registry-mirrors": ["http://repo-clones.ci.qt.io:5000"]
+}
+EOF
+
+echo "Restart Docker"
+sudo systemctl daemon-reload
+sudo systemctl restart docker
+
+# Start testserver provisioning
+sudo "$(readlink -f "$(dirname "${BASH_SOURCE[0]}")")/../common/shared/testserver/docker_testserver.sh"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/81-fix_mdns_docker_resolution.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/81-fix_mdns_docker_resolution.sh
new file mode 100755
index 00000000..30fe71ca
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/81-fix_mdns_docker_resolution.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# The new version of libnss-mdns resolver library automatically rejects all
+# hostnames with more than two labels (i.e. subdomains deep), for example
+# vsftpd.test-net.qt.local is automatically rejected. The changes here fix
+# this, see also https://github.com/lathiat/nss-mdns#etcmdnsallow
+
+cat <<EOT | sudo tee /etc/mdns.allow
+.local.
+.local
+EOT
+
+sudo sed -i '/^hosts:/s/.*/hosts: files mdns_minimal [NOTFOUND=return] mdns4 dns/' /etc/nsswitch.conf
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/85-qdoc_qtattributionsscanner.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/85-qdoc_qtattributionsscanner.sh
new file mode 100755
index 00000000..fd2a3afd
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/85-qdoc_qtattributionsscanner.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Provisions qdoc and qtattributionsscanner binaries; these are used for
+# documentation testing without the need for a dependency to qttools.
+
+set -e
+
+# shellcheck source=../common/unix/check_and_set_proxy.sh
+"${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+version="68bdc5764da2d4e442181b408751b6572f36fa74"
+sha1="dac76e8f6cb69990661e7d814bea6f32fea29bf4"
+url="https://download.qt.io/development_releases/prebuilt/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu22.04-gcc11.4-x86_64.7z"
+url_cached="http://ci-files01-hki.ci.qt.io/input/qdoc/qt/qdoc-qtattributionsscanner_${version//\./}-based-linux-Ubuntu22.04-gcc11.4-x86_64.7z"
+
+zip="/tmp/qdoc-qtattributionsscanner.7z"
+destination="/opt/qt-doctools"
+
+sudo mkdir -p "$destination"
+sudo chmod 755 "$destination"
+DownloadURL "$url_cached" "$url" "$sha1" "$zip"
+if command -v 7zr &> /dev/null; then
+ sudo 7zr x "$zip" "-o$destination/"
+else
+ sudo 7z x "$zip" "-o$destination/"
+fi
+sudo chown -R qt:users "$destination"
+rm -rf "$zip"
+
+echo -e "qdoc = $version\nqtattributionsscanner = $version" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-bootstrap-autostart.sh
new file mode 100755
index 00000000..1ff43850
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-bootstrap-autostart.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..61da9b7b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-install-ffmpeg.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-mimer.sh
new file mode 100755
index 00000000..f06ca1c8
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-mimer.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/mimersql.sh" "openssl-3" "deb"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-squish.sh
new file mode 100755
index 00000000..f803ccc1
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/90-squish.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/91-squish-coco.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/91-squish-coco.sh
new file mode 100755
index 00000000..e42a5373
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/91-squish-coco.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/linux/squish-coco.sh
+source "${BASH_SOURCE%/*}/../common/linux/squish-coco.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/92-sbuild.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/92-sbuild.sh
new file mode 100755
index 00000000..b178d71a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/92-sbuild.sh
@@ -0,0 +1,57 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Setups sbuild environment
+
+tee ~/.sbuildrc << EOF
+##############################################################################
+# PACKAGE BUILD RELATED (additionally produce _source.changes)
+##############################################################################
+# -d
+\$distribution = 'stable';
+# -A
+\$build_arch_all = 1;
+# -s
+\$build_source = 1;
+# -v
+\$verbose = 1;
+# parallel build
+\$ENV{'DEB_BUILD_OPTIONS'} = 'parallel=8';
+##############################################################################
+# POST-BUILD RELATED (turn off functionality by setting variables to 0)
+##############################################################################
+\$run_lintian = 1;
+\$lintian_opts = ['-i', '-I'];
+\$run_piuparts = 0;
+\$piuparts_opts = ['--schroot', 'stable-amd64-sbuild', '--no-eatmydata'];
+\$run_autopkgtest = 0;
+\$autopkgtest_root_args = '';
+\$autopkgtest_opts = [ '--', 'schroot', '%r-%a-sbuild' ];
+
+##############################################################################
+# PERL MAGIC
+##############################################################################
+1;
+EOF
+
+# Add user group
+sudo sbuild-adduser "$LOGNAME"
+newgrp sbuild
+
+# Create chroot
+sudo sbuild-createchroot --include=eatmydata,ccache,gnupg,ca-certificates stable /srv/chroot/stable-amd64
+
+# For ubuntu 22.04
+echo "Create chroot for Ubuntu Jammy"
+## ccache can't be found with Jammy
+sudo sbuild-createchroot --include=eatmydata,gnupg,ca-certificates jammy /srv/chroot/jammy-amd64 http://archive.ubuntu.com/ubuntu/
+echo "Done creating chroot for Ubuntu Jammy"
+
+# Update chroot.
+sudo sbuild-update -udcar stable
+
+
+
+
+
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-axivion-bauhaus-suite.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-axivion-bauhaus-suite.sh
new file mode 100755
index 00000000..8cecbbc3
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-axivion-bauhaus-suite.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/linux/axivion-bauhaus-suite.sh
+source "${BASH_SOURCE%/*}/../common/linux/axivion-bauhaus-suite.sh"
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-download-files-for-sbuild.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-download-files-for-sbuild.sh
new file mode 100755
index 00000000..8b8530a3
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-download-files-for-sbuild.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Get required deb files for sbuild to build qt debian packages for Ubuntu jammy
+mkdir -p /home/qt/debian_packages
+cd /home/qt/debian_packages || exit
+# Backported cmake 3.24
+wget https://ci-files01-hki.intra.qt.io/input/debian/cmake/amd64-jammy/cmake-3.24-deb.tar.gz
+tar xzf cmake-3.24-deb.tar.gz
+rm -rf cmake-3.24-deb.tar.gz
+# get rest of ready made Ubuntu jammy arm debian packages
+# so that sbuild can find those
+
+wget http://ci-files01-hki.ci.qt.io/input/debian/icu/amd64-jammy/libicu-56.1-qt_56.1-1_amd64.deb
+wget http://ci-files01-hki.ci.qt.io/input/debian/icu/amd64-jammy/libicu-56.1-qt-dev_56.1-1_amd64.deb
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-lcov.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-lcov.sh
new file mode 100755
index 00000000..de4a74d5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/93-lcov.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Install lcov 2.0 from 24.04/noble numbat
+
+echo "Installing lcov"
+wget https://ci-files01-hki.ci.qt.io/input/lcov/lcov_2.0-4ubuntu1_all.deb
+sudo DEBIAN_FRONTEND=noninteractive apt-get -q -y -o DPkg::Lock::Timeout=300 install -f ./lcov_2.0-4ubuntu1_all.deb
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-cleanup.sh
new file mode 100755
index 00000000..4d6e16ea
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-cleanup.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+"$(dirname "$0")"/../common/linux/cleanup_cache.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-enable_test_stacktraces.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-enable_test_stacktraces.sh
new file mode 100755
index 00000000..600b7850
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-enable_test_stacktraces.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/linux/enable_test_stacktraces.sh
diff --git a/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-version.sh b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-version.sh
new file mode 100755
index 00000000..31821f6b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-Ubuntu-22.04-x86_64/99-version.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/ubuntu-version.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-disable_net_lso.sh
new file mode 100755
index 00000000..fc209ad8
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-disable_net_lso.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/net_tso_off
+sudo chmod +x /etc/NetworkManager/dispatcher.d/net_tso_off
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-set-ulimit.sh
new file mode 100755
index 00000000..e951e82a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-set-ulimit.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/set_ulimit.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-systemsetup.sh
new file mode 100755
index 00000000..13e5c31d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/01-systemsetup.sh
@@ -0,0 +1,43 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/shared/network_test_server_ip.txt
+source "$BASEDIR/../common/shared/network_test_server_ip.txt"
+# shellcheck source=../common/unix/check_and_set_proxy.sh
+source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
+
+# https://bugzilla.opensuse.org/show_bug.cgi?id=1032027
+sudo btrfs quota disable /
+
+sed -i '$ a\[Daemon\]\nAutolock=false\nLockOnResume=false' ~/.config/kscreenlockerrc
+
+sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub
+sudo grub2-mkconfig -o /boot/grub2/grub.cfg
+
+echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
+echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+echo "Set DISPLAY"
+echo 'export DISPLAY=":0"' >> ~/.bashrc
+echo "Disabling file indexing."
+sudo balooctl disable
+
+sudo systemctl stop packagekit
+sudo systemctl disable packagekit
+sudo systemctl mask packagekit
+while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do
+ echo "Waiting for PackageKit to finish..."
+ sleep 0.5
+done
+echo "Disabling update notifications"
+sudo zypper -nq remove plasma5-pk-updates
+
+
+# shellcheck disable=SC2031
+if [ "$http_proxy" != "" ]; then
+ sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy
+ sudo sed -i "s|HTTP_PROXY=\".*\"|HTTP_PROXY=\"$proxy\"|" /etc/sysconfig/proxy
+fi
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/02-disable-ntp.sh
new file mode 100755
index 00000000..38707a8a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/02-disable-ntp.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+# shellcheck source=../common/linux/disable-ntp_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/03-enable-repos.sh
new file mode 100755
index 00000000..5542b071
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/03-enable-repos.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/distribution/leap/15.3/repo/oss/#g" /etc/zypp/repos.d/repo-oss.repo
+sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/distribution/leap/15.3/repo/non-oss/#g" /etc/zypp/repos.d/repo-non-oss.repo
+sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/update/leap/15.3/oss/#g" /etc/zypp/repos.d/repo-update.repo
+sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/update/leap/15.3/non-oss/#g" /etc/zypp/repos.d/repo-update-non-oss.repo
+
+sudo zypper lr -u
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/04-zypperpackages.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/04-zypperpackages.sh
new file mode 100755
index 00000000..49d2333d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/04-zypperpackages.sh
@@ -0,0 +1,73 @@
+#!/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
+
+sudo zypper -nq install git gcc9 gcc9-c++ ninja
+sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1 \
+ --slave /usr/bin/g++ g++ /usr/bin/g++-9 \
+ --slave /usr/bin/cc cc /usr/bin/gcc-9 \
+ --slave /usr/bin/c++ c++ /usr/bin/g++-9
+
+sudo zypper -nq install bison flex gperf \
+ zlib-devel \
+ libudev-devel \
+ glib2-devel \
+ libopenssl-devel \
+ freetype2-devel \
+ fontconfig-devel \
+ sqlite3-devel \
+ libxkbcommon-devel \
+ libxkbcommon-x11-devel \
+ pcre2-devel libpng16-devel
+
+# EGL support
+sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel
+
+
+# Xinput2
+sudo zypper -nq install libXi-devel
+
+# system provided XCB libraries
+sudo zypper -nq install xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel \
+ xcb-util-wm-devel xcb-util-renderutil-devel xcb-util-cursor-devel
+
+# ICU
+sudo zypper -nq install libicu-devel
+
+# qtwebengine
+sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel \
+ libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \
+ mozilla-nspr-devel mozilla-nss-devel nodejs12 glproto-devel \
+ libxshmfence-devel libXdamage-devel libdrm-devel libgbm-devel
+
+# qtwebengine, qtmultimedia+ffmpeg
+sudo zypper -nq install libva-devel
+
+# qtwebkit
+sudo zypper -nq install libxml2-devel libxslt-devel
+
+# yasm (for ffmpeg in multimedia)
+sudo zypper -nq install yasm
+
+# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia)
+sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel
+
+# cups
+sudo zypper -nq install cups-devel
+
+#speech-dispatcher
+sudo zypper -nq install libspeechd-devel
+
+# make
+sudo zypper -nq install make
+
+# Tools to build Git
+sudo zypper -nq install autoconf libcurl-devel libexpat-devel
+
+gccVersion="$(gcc --version |grep gcc |cut -b 17-23)"
+echo "GCC = $gccVersion" >> versions.txt
+
+OpenSSLVersion="$(openssl version |cut -b 9-14)"
+echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/05-disable_kwin_overview.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/05-disable_kwin_overview.sh
new file mode 100755
index 00000000..f6a3d71c
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/05-disable_kwin_overview.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/linux/disable_kwin_overview.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-libclang-v100-dyn.sh
new file mode 100755
index 00000000..e1fc1550
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-libclang-v100-dyn.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang-v100-dyn.sh
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-libclang.sh
new file mode 100755
index 00000000..4e371161
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-libclang.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang.sh
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-pythondev.sh
new file mode 100755
index 00000000..1523e042
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/08-pythondev.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# provides: python development libraries
+# version: provided by default Linux distribution repository
+# needed to build pyside
+
+set -ex
+
+sudo zypper -nq install python-devel python-xml
+
+# install python3
+sudo zypper -nq install python3-base python3 python3-pip python3-devel python3-virtualenv python3-wheel
+
+# 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/
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/09-cmake.sh
new file mode 100755
index 00000000..38e86081
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/09-cmake.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/linux/cmake_linux.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/10-cmake-min-supported.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/10-cmake-min-supported.sh
new file mode 100755
index 00000000..70bd2d08
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/10-cmake-min-supported.sh
@@ -0,0 +1,10 @@
+#!/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/linux/cmake_min_supported.sh"
+
+# For testing Qt's CMake deployment API with CMake < 3.21, we need patchelf.
+sudo zypper -nq install patchelf
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/20-sccache.sh
new file mode 100755
index 00000000..b371d947
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/20-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/22-mqtt_broker.sh
new file mode 100755
index 00000000..c81f5c66
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/22-mqtt_broker.sh
@@ -0,0 +1,6 @@
+#!/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
+
+# shellcheck source=../common/unix/mqtt_broker.sh
+source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..c5b53fac
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/30-install-git.sh
new file mode 100755
index 00000000..7a73f354
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/30-install-git.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-git.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/40-install-flite.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/40-install-flite.sh
new file mode 100755
index 00000000..acd5b030
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/40-install-flite.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-flite.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/55-emsdk.sh
new file mode 100755
index 00000000..6b1a79e5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/55-emsdk.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/60-install_protobuf.sh
new file mode 100755
index 00000000..3e2b8921
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/60-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/70-install_QemuGA.sh
new file mode 100755
index 00000000..76459a03
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/70-install_QemuGA.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QEMU Guest Agent
+
+set -ex
+
+sudo zypper -nq install qemu-guest-agent
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/80-install-chrome.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/80-install-chrome.sh
new file mode 100755
index 00000000..d680e017
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/80-install-chrome.sh
@@ -0,0 +1,25 @@
+#!/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
+
+# This script will install up-to-date google Chrome needed for Webassembly auto tests.
+
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+# Webassembly auto tests run requires latest Chrome. Let's use the latest stable one which means we can't cache this
+sudo zypper ar http://dl.google.com/linux/chrome/rpm/stable/x86_64 Google-Chrome
+
+# Add the Google public signing key
+externalUrl="https://dl.google.com/linux/linux_signing_key.pub"
+Download "$externalUrl" "/tmp/linux_signing_key.pub"
+sudo rpm --import /tmp/linux_signing_key.pub
+
+# Update the repo cache of zypper and install Chrome
+sudo zypper ref -f
+sudo zypper -nq install --no-confirm google-chrome-stable
+
+# Install Chromedriver Chromium
+sudo zypper -nq install chromedriver
+
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..61da9b7b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-install-ffmpeg.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-mimer.sh
new file mode 100755
index 00000000..bff2a7c7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-mimer.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-squish.sh
new file mode 100755
index 00000000..f803ccc1
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/90-squish.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-cleanup.sh
new file mode 100755
index 00000000..4d6e16ea
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-cleanup.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+"$(dirname "$0")"/../common/linux/cleanup_cache.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-unset-proxy.sh
new file mode 100755
index 00000000..d63c4919
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-unset-proxy.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# Having proxy set while running autotests makes them fail
+sudo sed -i 's/PROXY_ENABLED=\"yes\"/PROXY_ENABLED=\"no\"/' /etc/sysconfig/proxy
+
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-version.sh b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-version.sh
new file mode 100755
index 00000000..00d06674
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.3-x86_64/99-version.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script needs to be called last during provisioning so that the software information will show up last in provision log.
+
+# Storage installed RPM packages information
+
+set -ex
+
+# shellcheck disable=SC2129
+echo "*********************************************" >> ~/versions.txt
+echo "***** All installed RPM packages *****" >> ~/versions.txt
+rpm -q -a | sort >> ~/versions.txt
+echo "*********************************************" >> ~/versions.txt
+
+"$(dirname "$0")/../common/linux/version.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-disable_net_lso.sh
new file mode 100755
index 00000000..fc209ad8
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-disable_net_lso.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/net_tso_off
+sudo chmod +x /etc/NetworkManager/dispatcher.d/net_tso_off
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-set-ulimit.sh
new file mode 100755
index 00000000..e951e82a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-set-ulimit.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/set_ulimit.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-systemsetup.sh
new file mode 100755
index 00000000..f89ed0c6
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-systemsetup.sh
@@ -0,0 +1,44 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/shared/network_test_server_ip.txt
+source "$BASEDIR/../common/shared/network_test_server_ip.txt"
+# shellcheck source=../common/unix/check_and_set_proxy.sh
+source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
+
+# https://bugzilla.opensuse.org/show_bug.cgi?id=1032027
+sudo btrfs quota disable /
+
+sed -i '$ a\[Daemon\]\nAutolock=false\nLockOnResume=false' ~/.config/kscreenlockerrc
+
+sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub
+sudo grub2-mkconfig -o /boot/grub2/grub.cfg
+
+echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
+echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+echo "Set DISPLAY"
+echo 'export DISPLAY=":0"' >> ~/.bashrc
+echo "Disabling file indexing."
+sudo balooctl disable
+
+sudo systemctl enable sshd
+sudo systemctl stop packagekit
+sudo systemctl disable packagekit
+sudo systemctl mask packagekit
+while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do
+ echo "Waiting for PackageKit to finish..."
+ sleep 0.5
+done
+echo "Disabling update notifications"
+sudo zypper -nq remove plasma5-pk-updates
+
+
+# shellcheck disable=SC2031
+if [ "$http_proxy" != "" ]; then
+ sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy
+ sudo sed -i "s|HTTP_PROXY=\".*\"|HTTP_PROXY=\"$proxy\"|" /etc/sysconfig/proxy
+fi
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/02-disable-ntp.sh
new file mode 100755
index 00000000..38707a8a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/02-disable-ntp.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+# shellcheck source=../common/linux/disable-ntp_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/03-enable-repos.sh
new file mode 100755
index 00000000..1378a305
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/03-enable-repos.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/distribution/leap/15.4/repo/oss/#g" /etc/zypp/repos.d/repo-oss.repo
+sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/distribution/leap/15.4/repo/non-oss/#g" /etc/zypp/repos.d/repo-non-oss.repo
+sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/update/leap/15.4/oss/#g" /etc/zypp/repos.d/repo-update.repo
+sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/update/leap/15.4/non-oss/#g" /etc/zypp/repos.d/repo-update-non-oss.repo
+
+sudo zypper lr -u
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/04-zypperpackages.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/04-zypperpackages.sh
new file mode 100755
index 00000000..f55387b4
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/04-zypperpackages.sh
@@ -0,0 +1,79 @@
+#!/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
+
+sudo zypper -nq install git gcc9 gcc9-c++ ninja
+sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1 \
+ --slave /usr/bin/g++ g++ /usr/bin/g++-9 \
+ --slave /usr/bin/cc cc /usr/bin/gcc-9 \
+ --slave /usr/bin/c++ c++ /usr/bin/g++-9
+
+sudo zypper -nq install bison flex gperf \
+ zlib-devel \
+ systemd-devel \
+ glib2-devel \
+ libopenssl-3-devel \
+ freetype2-devel \
+ fontconfig-devel \
+ sqlite3-devel \
+ libxkbcommon-devel \
+ libxkbcommon-x11-devel \
+ pcre2-devel libpng16-devel
+
+# EGL support
+sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel
+
+
+# Xinput2
+sudo zypper -nq install libXi-devel
+
+# system provided XCB libraries
+sudo zypper -nq install xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel \
+ xcb-util-wm-devel xcb-util-renderutil-devel xcb-util-cursor-devel
+
+# ICU
+sudo zypper -nq install libicu-devel
+
+# qtwebengine
+sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel \
+ libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \
+ mozilla-nspr-devel mozilla-nss-devel nodejs12 glproto-devel \
+ libxshmfence-devel libXdamage-devel libdrm-devel libgbm-devel
+
+# qtwebengine, qtmultimedia+ffmpeg
+sudo zypper -nq install libva-devel
+
+# qtwebkit
+sudo zypper -nq install libxml2-devel libxslt-devel
+
+# yasm (for ffmpeg in multimedia)
+sudo zypper -nq install yasm
+
+# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia)
+sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel
+
+# cups
+sudo zypper -nq install cups-devel
+
+#speech-dispatcher
+sudo zypper -nq install libspeechd-devel
+
+# make
+sudo zypper -nq install make
+
+# Tools to build Git
+sudo zypper -nq install autoconf libcurl-devel libexpat-devel
+
+# OpenSSL 3
+sudo zypper -nq install openssl-3
+
+# Valgrind (Needed for testlib selftests)
+sudo zypper -nq install valgrind-devel
+
+gccVersion="$(gcc --version |grep gcc |cut -b 17-23)"
+echo "GCC = $gccVersion" >> versions.txt
+
+OpenSSLVersion="$(openssl-3 version |cut -b 9-14)"
+echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/05-disable_kwin_overview.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/05-disable_kwin_overview.sh
new file mode 100755
index 00000000..f6a3d71c
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/05-disable_kwin_overview.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/linux/disable_kwin_overview.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-libclang-v100-dyn.sh
new file mode 100755
index 00000000..e1fc1550
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-libclang-v100-dyn.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang-v100-dyn.sh
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-libclang.sh
new file mode 100755
index 00000000..4e371161
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-libclang.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang.sh
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-pythondev.sh
new file mode 100755
index 00000000..a43e9fad
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-pythondev.sh
@@ -0,0 +1,18 @@
+#!/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
+
+# provides: python development libraries
+# version: provided by default Linux distribution repository
+# needed to build pyside
+
+set -ex
+
+sudo zypper -nq install python-devel python-xml
+
+# install python3
+sudo zypper -nq install python3-base python3 python3-pip python3-devel python3-virtualenv python3-wheel
+
+# 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/
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/09-cmake.sh
new file mode 100755
index 00000000..38e86081
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/09-cmake.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/linux/cmake_linux.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/09-openssl.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/09-openssl.sh
new file mode 100755
index 00000000..94f30890
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/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-openSUSE-15.4-x86_64/10-cmake-min-supported.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/10-cmake-min-supported.sh
new file mode 100755
index 00000000..70bd2d08
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/10-cmake-min-supported.sh
@@ -0,0 +1,10 @@
+#!/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/linux/cmake_min_supported.sh"
+
+# For testing Qt's CMake deployment API with CMake < 3.21, we need patchelf.
+sudo zypper -nq install patchelf
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/20-sccache.sh
new file mode 100755
index 00000000..b371d947
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/20-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/22-mqtt_broker.sh
new file mode 100755
index 00000000..c81f5c66
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/22-mqtt_broker.sh
@@ -0,0 +1,6 @@
+#!/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
+
+# shellcheck source=../common/unix/mqtt_broker.sh
+source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..c5b53fac
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/30-install-git.sh
new file mode 100755
index 00000000..7a73f354
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/30-install-git.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-git.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/40-install-flite.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/40-install-flite.sh
new file mode 100755
index 00000000..acd5b030
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/40-install-flite.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-flite.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/55-emsdk.sh
new file mode 100755
index 00000000..6b1a79e5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/55-emsdk.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/60-install_protobuf.sh
new file mode 100755
index 00000000..c538ca07
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/60-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/61-install_grpc.sh
new file mode 100755
index 00000000..ecd6a51f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/61-install_grpc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/70-install_QemuGA.sh
new file mode 100755
index 00000000..76459a03
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/70-install_QemuGA.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QEMU Guest Agent
+
+set -ex
+
+sudo zypper -nq install qemu-guest-agent
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/80-install-chrome.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/80-install-chrome.sh
new file mode 100755
index 00000000..d680e017
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/80-install-chrome.sh
@@ -0,0 +1,25 @@
+#!/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
+
+# This script will install up-to-date google Chrome needed for Webassembly auto tests.
+
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+# Webassembly auto tests run requires latest Chrome. Let's use the latest stable one which means we can't cache this
+sudo zypper ar http://dl.google.com/linux/chrome/rpm/stable/x86_64 Google-Chrome
+
+# Add the Google public signing key
+externalUrl="https://dl.google.com/linux/linux_signing_key.pub"
+Download "$externalUrl" "/tmp/linux_signing_key.pub"
+sudo rpm --import /tmp/linux_signing_key.pub
+
+# Update the repo cache of zypper and install Chrome
+sudo zypper ref -f
+sudo zypper -nq install --no-confirm google-chrome-stable
+
+# Install Chromedriver Chromium
+sudo zypper -nq install chromedriver
+
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-bootstrap-autostart.sh
new file mode 100755
index 00000000..1ff43850
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-bootstrap-autostart.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..61da9b7b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-install-ffmpeg.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-mimer.sh
new file mode 100755
index 00000000..bff2a7c7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-mimer.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-squish.sh
new file mode 100755
index 00000000..f803ccc1
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-squish.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-cleanup.sh
new file mode 100755
index 00000000..4d6e16ea
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-cleanup.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+"$(dirname "$0")"/../common/linux/cleanup_cache.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-unset-proxy.sh
new file mode 100755
index 00000000..d63c4919
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-unset-proxy.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# Having proxy set while running autotests makes them fail
+sudo sed -i 's/PROXY_ENABLED=\"yes\"/PROXY_ENABLED=\"no\"/' /etc/sysconfig/proxy
+
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-version.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-version.sh
new file mode 100755
index 00000000..00d06674
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-version.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script needs to be called last during provisioning so that the software information will show up last in provision log.
+
+# Storage installed RPM packages information
+
+set -ex
+
+# shellcheck disable=SC2129
+echo "*********************************************" >> ~/versions.txt
+echo "***** All installed RPM packages *****" >> ~/versions.txt
+rpm -q -a | sort >> ~/versions.txt
+echo "*********************************************" >> ~/versions.txt
+
+"$(dirname "$0")/../common/linux/version.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-disable_net_lso.sh
new file mode 100755
index 00000000..c404c366
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-disable_net_lso.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/net_tso_off
+sudo chmod +x /etc/NetworkManager/dispatcher.d/net_tso_off
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..729f9003
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-set-ulimit.sh
new file mode 100755
index 00000000..dadc0781
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-set-ulimit.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/set_ulimit.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-systemsetup.sh
new file mode 100755
index 00000000..f3334d07
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/01-systemsetup.sh
@@ -0,0 +1,42 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/shared/network_test_server_ip.txt
+source "$BASEDIR/../common/shared/network_test_server_ip.txt"
+# shellcheck source=../common/unix/check_and_set_proxy.sh
+source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
+
+# https://bugzilla.opensuse.org/show_bug.cgi?id=1032027
+sudo btrfs quota disable /
+
+sed -i '$ a\[Daemon\]\nAutolock=false\nLockOnResume=false' ~/.config/kscreenlockerrc
+
+sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub
+sudo grub2-mkconfig -o /boot/grub2/grub.cfg
+
+echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
+echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
+echo "Set DISPLAY"
+echo 'export DISPLAY=":0"' >> ~/.bashrc
+echo "Disabling file indexing."
+sudo balooctl disable
+
+sudo systemctl stop packagekit
+sudo systemctl disable packagekit
+sudo systemctl mask packagekit
+while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do
+ echo "Waiting for PackageKit to finish..."
+ sleep 0.5
+done
+echo "Disabling update notifications"
+sudo zypper -nq remove plasma5-pk-updates
+
+
+# shellcheck disable=SC2031
+if [ "$http_proxy" != "" ]; then
+ sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy
+ sudo sed -i "s|HTTP_PROXY=\".*\"|HTTP_PROXY=\"$proxy\"|" /etc/sysconfig/proxy
+fi
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/02-disable-ntp.sh
new file mode 100755
index 00000000..38707a8a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/02-disable-ntp.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+# shellcheck source=../common/linux/disable-ntp_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/03-enable-repos.sh
new file mode 100755
index 00000000..4dd0314f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/03-enable-repos.sh
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/distribution/leap/15.5/repo/oss/#g" /etc/zypp/repos.d/repo-oss.repo
+sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/distribution/leap/15.5/repo/non-oss/#g" /etc/zypp/repos.d/repo-non-oss.repo
+sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/update/leap/15.5/oss/#g" /etc/zypp/repos.d/repo-update.repo
+sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/update/leap/15.5/non-oss/#g" /etc/zypp/repos.d/repo-update-non-oss.repo
+
+sudo zypper lr -u
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/04-zypperpackages.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/04-zypperpackages.sh
new file mode 100755
index 00000000..afea0ff8
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/04-zypperpackages.sh
@@ -0,0 +1,85 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+
+set -ex
+
+sudo zypper -nq install git gcc9 gcc9-c++ ninja
+sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1 \
+ --slave /usr/bin/g++ g++ /usr/bin/g++-9 \
+ --slave /usr/bin/cc cc /usr/bin/gcc-9 \
+ --slave /usr/bin/c++ c++ /usr/bin/g++-9
+
+sudo zypper -nq install bison flex gperf \
+ zlib-devel \
+ systemd-devel \
+ glib2-devel \
+ libopenssl-3-devel \
+ freetype2-devel \
+ fontconfig-devel \
+ sqlite3-devel \
+ libxkbcommon-devel \
+ libxkbcommon-x11-devel \
+ pcre2-devel libpng16-devel
+
+# EGL support
+sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel
+
+
+# Xinput2
+sudo zypper -nq install libXi-devel
+
+# system provided XCB libraries
+sudo zypper -nq install xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel \
+ xcb-util-wm-devel xcb-util-renderutil-devel xcb-util-cursor-devel
+
+# ICU
+sudo zypper -nq install libicu-devel
+
+# qtwebengine
+# Removing nodejs12 as it's not available and testing with common nodejs 18.16.0
+sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel \
+ libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \
+ mozilla-nspr-devel mozilla-nss-devel glproto-devel \
+ libxshmfence-devel libXdamage-devel
+
+# qtwebkit
+sudo zypper -nq install libxml2-devel libxslt-devel
+
+# yasm (for ffmpeg in multimedia)
+sudo zypper -nq install yasm
+
+# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia)
+sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel
+
+# cups
+sudo zypper -nq install cups-devel
+
+#speech-dispatcher
+sudo zypper -nq install libspeechd-devel
+
+# make
+sudo zypper -nq install make
+
+# Tools to build Git
+sudo zypper -nq install autoconf libcurl-devel libexpat-devel
+
+# zip, needed for vcpkg caching
+sudo zypper -nq install zip
+
+# OpenSSL 3
+sudo zypper -nq install openssl-3
+
+# used for reading vcpkg packages version, from vcpkg.json
+sudo zypper -nq install jq
+
+# Valgrind (Needed for testlib selftests)
+sudo zypper -nq install valgrind-devel
+
+# cifs-utils, for mounting smb drive
+sudo zypper -nq install cifs-utils
+
+gccVersion="$(gcc --version |grep gcc |cut -b 17-23)"
+echo "GCC = $gccVersion" >> versions.txt
+
+OpenSSLVersion="$(openssl-3 version |cut -b 9-14)"
+echo "System's OpenSSL = $OpenSSLVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/05-disable_kwin_overview.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/05-disable_kwin_overview.sh
new file mode 100755
index 00000000..f6a3d71c
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/05-disable_kwin_overview.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/linux/disable_kwin_overview.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/05-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/05-mount-vcpkg-cache-drive.sh
new file mode 100755
index 00000000..ed49b3a5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/05-mount-vcpkg-cache-drive.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/linux/mount-vcpkg-cache-drive.sh
+source "${BASH_SOURCE%/*}/../common/linux/mount-vcpkg-cache-drive.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-libclang-v100-dyn.sh
new file mode 100755
index 00000000..b0080cbc
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-libclang-v100-dyn.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang-v100-dyn.sh
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-libclang.sh
index bbe2b4b4..bbe2b4b4 100755
--- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-libclang.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-libclang.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-pythondev.sh
new file mode 100755
index 00000000..82101c9b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/08-pythondev.sh
@@ -0,0 +1,18 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+
+# provides: python development libraries
+# version: provided by default Linux distribution repository
+# needed to build pyside
+
+set -ex
+
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+sudo zypper -nq install python-devel python-xml
+
+# install python3
+sudo zypper -nq install python311-base python311-devel python311-pip python311-virtualenv python311-wheel
+python3.11 -m pip install selenium netifaces scache webdriver-manager
+
+SetEnvVar "PYTHON3_EXECUTABLE" "/usr/bin/python3.11"
diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/09-cmake.sh
index 5eb53566..5eb53566 100755
--- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/09-cmake.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/09-cmake.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/09-openssl.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/09-openssl.sh
new file mode 100755
index 00000000..e1131e39
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/09-openssl.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -ex
+
+"$(dirname "$0")/../common/unix/install-openssl.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/10-cmake-min-supported.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/10-cmake-min-supported.sh
new file mode 100755
index 00000000..cc79d066
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/10-cmake-min-supported.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+
+set -ex
+
+"$(dirname "$0")/../common/linux/cmake_min_supported.sh"
+
+# For testing Qt's CMake deployment API with CMake < 3.21, we need patchelf.
+sudo zypper -nq install patchelf
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/20-sccache.sh
new file mode 100755
index 00000000..b371d947
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/20-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/22-mqtt_broker.sh
new file mode 100755
index 00000000..c81f5c66
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/22-mqtt_broker.sh
@@ -0,0 +1,6 @@
+#!/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
+
+# shellcheck source=../common/unix/mqtt_broker.sh
+source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..b8820053
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/30-install-conan.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/30-install-git.sh
new file mode 100755
index 00000000..05fcdf8e
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/30-install-git.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-git.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/40-install-flite.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/40-install-flite.sh
new file mode 100755
index 00000000..67ed1991
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/40-install-flite.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-flite.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/41-install-vcpkg.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/41-install-vcpkg.sh
new file mode 100644
index 00000000..aa88364d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/41-install-vcpkg.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-vcpkg.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/42-install-vcpkg-ports.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/42-install-vcpkg-ports.sh
new file mode 100755
index 00000000..71a46f9a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/42-install-vcpkg-ports.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-vcpkg-ports.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/55-emsdk.sh
new file mode 100755
index 00000000..6b1a79e5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/55-emsdk.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/60-install_protobuf.sh
new file mode 100755
index 00000000..c538ca07
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/60-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/61-install_grpc.sh
new file mode 100755
index 00000000..ecd6a51f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/61-install_grpc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/70-install_QemuGA.sh
new file mode 100755
index 00000000..76459a03
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/70-install_QemuGA.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QEMU Guest Agent
+
+set -ex
+
+sudo zypper -nq install qemu-guest-agent
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/80-install-chrome.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/80-install-chrome.sh
new file mode 100755
index 00000000..1cd18de0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/80-install-chrome.sh
@@ -0,0 +1,24 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+set -ex
+
+# This script will install up-to-date google Chrome needed for Webassembly auto tests.
+
+# shellcheck source=../common/unix/DownloadURL.sh
+source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
+
+# Webassembly auto tests run requires latest Chrome. Let's use the latest stable one which means we can't cache this
+sudo zypper ar http://dl.google.com/linux/chrome/rpm/stable/x86_64 Google-Chrome
+
+# Add the Google public signing key
+externalUrl="https://dl.google.com/linux/linux_signing_key.pub"
+Download "$externalUrl" "/tmp/linux_signing_key.pub"
+sudo rpm --import /tmp/linux_signing_key.pub
+
+# Update the repo cache of zypper and install Chrome
+sudo zypper ref -f
+sudo zypper -nq install --no-confirm google-chrome-stable
+
+# Install Chromedriver Chromium
+sudo zypper -nq install chromedriver
+
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-bootstrap-autostart.sh
new file mode 100755
index 00000000..1ff43850
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-bootstrap-autostart.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..61da9b7b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-install-ffmpeg.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-mimer.sh
new file mode 100755
index 00000000..bff2a7c7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-mimer.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm"
diff --git a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-squish.sh
index e4281588..e4281588 100755
--- a/coin/provisioning/qtci-linux-RHEL-7.4-x86_64/90-squish.sh
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/90-squish.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/91-install-dummy-sound.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/91-install-dummy-sound.sh
new file mode 100755
index 00000000..345c5efa
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/91-install-dummy-sound.sh
@@ -0,0 +1,60 @@
+#!/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
+
+systemd_folder=/etc/systemd/system
+systemd_file=dummysound.service
+script_folder=/home/qt/bin
+script_file=dummy_sound.sh
+
+# Create script to install dummy sound driver,
+# in case no other sound driver is installed.
+sudo tee "${script_folder}/${script_file}" <<"EOF"
+# Check for existing sound driver
+if lsmod | grep -q -i snd
+then
+ echo "(**) Sound driver already loaded. Nothing to do.";
+ exit 0;
+fi
+
+# load dummy sound module
+sudo modprobe snd-dummy
+
+# Check result
+if lsmod | grep -q snd_dummy
+then
+ echo "(**) Dummy sound driver loaded.";
+else
+ echo "(EE) Failed to load dummy sound driver.";
+ exit 1;
+fi
+EOF
+
+# set permissions
+sudo chmod 750 "${script_folder}/${script_file}"
+
+# Create service file
+sudo tee "${systemd_folder}/${systemd_file}" <<"EOF"
+# /etc/systemd/system/dummysound.service
+#
+
+[Unit]
+Description=Install dummy sound driver
+
+[Service]
+Type=oneshot
+ExecStart=/bin/sh -c "/home/qt/bin/dummy_sound.sh"
+
+[Install]
+WantedBy=multi-user.target
+EOF
+
+# Start servive and output result, just for logging
+sudo systemctl start dummysound.service
+# status commented out, returns 3 on VM.
+# sudo systemctl status dummysound.service
+
+# enable service
+sudo systemctl enable dummysound.service
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-cleanup.sh
new file mode 100755
index 00000000..4d6e16ea
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-cleanup.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+"$(dirname "$0")"/../common/linux/cleanup_cache.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-enable_test_stacktraces.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-enable_test_stacktraces.sh
new file mode 100755
index 00000000..600b7850
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-enable_test_stacktraces.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/linux/enable_test_stacktraces.sh
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-unset-proxy.sh
new file mode 100755
index 00000000..d63c4919
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-unset-proxy.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# Having proxy set while running autotests makes them fail
+sudo sed -i 's/PROXY_ENABLED=\"yes\"/PROXY_ENABLED=\"no\"/' /etc/sysconfig/proxy
+
diff --git a/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-version.sh b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-version.sh
new file mode 100755
index 00000000..00d06674
--- /dev/null
+++ b/coin/provisioning/qtci-linux-openSUSE-15.5-x86_64/99-version.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script needs to be called last during provisioning so that the software information will show up last in provision log.
+
+# Storage installed RPM packages information
+
+set -ex
+
+# shellcheck disable=SC2129
+echo "*********************************************" >> ~/versions.txt
+echo "***** All installed RPM packages *****" >> ~/versions.txt
+rpm -q -a | sort >> ~/versions.txt
+echo "*********************************************" >> ~/versions.txt
+
+"$(dirname "$0")/../common/linux/version.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh
deleted file mode 100755
index 61c19510..00000000
--- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/01-systemsetup.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-# shellcheck source=../common/shared/network_test_server_ip.txt
-source "$BASEDIR/../common/shared/network_test_server_ip.txt"
-# shellcheck source=../common/unix/check_and_set_proxy.sh
-source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh"
-
-sed -i '$ a\[Daemon\]\nAutolock=false\nLockOnResume=false' ~/.config/kscreenlockerrc
-
-sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub
-sudo grub2-mkconfig -o /boot/grub2/grub.cfg
-
-echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts"
-echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts
-echo "Set DISPLAY"
-echo 'export DISPLAY=":0"' >> ~/.bashrc
-echo "Disabling file indexing."
-sudo balooctl disable
-
-while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do
- echo "Waiting for PackageKit to finish..."
- sleep 0.5
-done
-echo "Disabling update notifications"
-sudo zypper -nq remove plasma5-pk-updates
-
-
-# shellcheck disable=SC2031
-if [ "$http_proxy" != "" ]; then
- sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy
- sudo sed -i "s|HTTP_PROXY=\".*\"|HTTP_PROXY=\"$proxy\"|" /etc/sysconfig/proxy
-fi
-
diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-zypperpackages.sh
deleted file mode 100755
index 2fab85ac..00000000
--- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/02-zypperpackages.sh
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-sudo zypper -nq install git
-sudo zypper -nq install gcc7
-sudo zypper -nq install gcc7-c++
-sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 1 \
- --slave /usr/bin/g++ g++ /usr/bin/g++-7 \
- --slave /usr/bin/cc cc /usr/bin/gcc-7 \
- --slave /usr/bin/c++ c++ /usr/bin/g++-7
-
-sudo zypper -nq install bison
-sudo zypper -nq install flex
-sudo zypper -nq install gperf
-
-sudo zypper -nq install zlib-devel
-sudo zypper -nq install libudev-devel
-sudo zypper -nq install glib2-devel
-sudo zypper -nq install libopenssl-devel
-sudo zypper -nq install freetype2-devel
-sudo zypper -nq install fontconfig-devel
-sudo zypper -nq install sqlite3-devel
-
-# EGL support
-sudo zypper -nq install Mesa-libEGL-devel
-sudo zypper -nq install Mesa-libGL-devel
-
-# libxkbcommon
-sudo zypper -nq install libxkbcommon-devel
-sudo zypper -nq install libxkbcommon-x11-devel
-
-# Xinput2
-sudo zypper -nq install libXi-devel
-
-# system provided XCB libraries
-sudo zypper -nq install xcb-util-devel
-sudo zypper -nq install xcb-util-image-devel
-sudo zypper -nq install xcb-util-keysyms-devel
-sudo zypper -nq install xcb-util-wm-devel
-sudo zypper -nq install xcb-util-renderutil-devel
-
-# ICU
-sudo zypper -nq install libicu-devel
-sudo zypper -nq install libicu52_1
-
-# qtwebengine
-sudo zypper -nq install alsa-devel
-sudo zypper -nq install dbus-1-devel
-sudo zypper -nq install libXcomposite-devel
-sudo zypper -nq install libXcursor-devel
-sudo zypper -nq install libXrandr-devel
-sudo zypper -nq install libXtst-devel
-sudo zypper -nq install mozilla-nspr-devel
-sudo zypper -nq install mozilla-nss-devel
-
-# qtwebkit
-sudo zypper -nq install libxml2-devel
-sudo zypper -nq install libxslt-devel
-
-# GStreamer (qtwebkit and qtmultimedia)
-sudo zypper -nq install gstreamer-devel
-sudo zypper -nq install gstreamer-plugins-base-devel
-
-# pulseaudio (qtmultimedia)
-sudo zypper -nq install libpulse-devel
-
-# cups
-sudo zypper -nq install cups-devel
diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-pythondev.sh
deleted file mode 100755
index 6c5d2a0f..00000000
--- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/08-pythondev.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/env bash
-# provides: python development libraries
-# version: provided by default Linux distribution repository
-# needed to build pyside
-
-set -ex
-
-sudo pkcon -y refresh
-sudo pkcon -y install python-devel python-virtualenv
-
-# install python3
-sudo pkcon -y install libpython3_4m1_0 python3-base python3 python3-pip python3-devel python3-virtualenv python3-wheel
-
-# Install all needed packages in a special wheel cache directory
-pip3 wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt"
-
-# shellcheck source=../common/unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels"
diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/18-icc.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/18-icc.sh
deleted file mode 100755
index 7ab8528a..00000000
--- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/18-icc.sh
+++ /dev/null
@@ -1,86 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script install Intel Parallel Studio XE Composer Edition for C++ Linux
-
-# shellcheck source=../common/unix/DownloadURL.sh
-source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh"
-
-set -ex
-
-mainStorage="ci-files01-hki.intra.qt.io:/hdd/www/input"
-localMount="/mnt/storage/"
-
-iccPackage="parallel_studio_xe_2018_update1_composer_edition_for_cpp.tgz"
-iccPackageSource="$localMount/intel/$iccPackage"
-iccInstallPath="/opt/intel"
-iccTmpPath="/tmp/icc"
-
-iccLicense="l_icc_2018.lic"
-iccLicenseSource="$localMount/semisecure/$iccLicense"
-iccLicenseTarget="/home/qt/$iccLicense"
-
-iccInstallInstructions="$iccTmpPath/instructions.txt"
-
-sudo mkdir -p "$localMount"
-sudo mount "$mainStorage" "$localMount"
-mkdir -p "$iccTmpPath"
-tar -zxf "$iccPackageSource" -C "$iccTmpPath" --strip 1
-
-cp "$iccLicenseSource" "$iccLicenseTarget"
-
-sudo umount "$localMount"
-
-cat >"$iccInstallInstructions" <<EOT
-ACCEPT_EULA=accept
-CONTINUE_WITH_OPTIONAL_ERROR=yes
-PSET_INSTALL_DIR=$iccInstallPath
-CONTINUE_WITH_INSTALLDIR_OVERWRITE=yes
-PSET_MODE=install
-ACTIVATION_LICENSE_FILE=$iccLicenseTarget
-ACTIVATION_TYPE=license_file
-PHONEHOME_SEND_USAGE_DATA=no
-ARCH_SELECTED=ALL
-COMPONENTS=;intel-comp__x86_64;intel-comp-32bit__x86_64;intel-comp-doc__noarch;intel-comp-l-all-common__noarch;intel-comp-l-all-vars__noarch;intel-comp-nomcu-vars__noarch;intel-comp-ps-32bit__x86_64;intel-comp-ps__x86_64;intel-comp-ps-ss__x86_64;intel-comp-ps-ss-bec__x86_64;intel-comp-ps-ss-bec-32bit__x86_64;intel-openmp__x86_64;intel-openmp-32bit__x86_64;intel-openmp-common__noarch;intel-openmp-common-icc__noarch;intel-tbb-libs-32bit__x86_64;intel-tbb-libs__x86_64;intel-idesupport-icc-common-ps__noarch;intel-icc__x86_64;intel-icc-32bit__x86_64;intel-c-comp-common__noarch;intel-icc-common__noarch;intel-icc-common-ps__noarch;intel-icc-common-ps-ss-bec__noarch;intel-icc-doc__noarch;intel-icc-doc-ps__noarch;intel-icc-ps__x86_64;intel-icc-ps-ss__x86_64;intel-icc-ps-ss-bec__x86_64;intel-icc-ps-ss-bec-32bit__x86_64;intel-tbb-devel-32bit__x86_64;intel-tbb-devel__x86_64;intel-tbb-common__noarch;intel-tbb-doc__noarch;intel-ism__noarch;intel-ccompxe__noarch;intel-psxe-common__noarch;intel-psxe-doc__noarch;intel-psxe-common-doc__noarch;intel-ccompxe-doc__noarch;intel-psxe-licensing__noarch;intel-psxe-licensing-doc__noarch;intel-icsxe-pset
-EOT
-
-(cd "$iccTmpPath" && sudo ./install.sh --silent $iccInstallInstructions --ignore-cpu)
-
-# Export LD_LIBRARY_PATH to Coin
-echo "export ICC64_18_LDLP=$iccInstallPath/lib/intel64" >>~/.bashrc
-echo "export ICC64_18_PATH=$iccInstallPath/compilers_and_libraries_2018.1.163/linux/bin/intel64:$iccInstallPath/bin" >>~/.bashrc
-echo "ICC = 18.0.1 20171018" >> ~/versions.txt
-
-rm -rf "$iccTmpPath"
diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/22-mqtt_broker.sh
deleted file mode 100755
index e677427f..00000000
--- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/22-mqtt_broker.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# shellcheck source=../common/unix/mqtt_broker.sh
-source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/55-emsdk.sh
deleted file mode 100755
index 09a76778..00000000
--- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/55-emsdk.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/linux/emsdk.sh
-source "${BASH_SOURCE%/*}/../common/linux/emsdk.sh"
diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/90-squish.sh
deleted file mode 100755
index e4281588..00000000
--- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/90-squish.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/unix/squishInstall.sh"
-
diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-unset-proxy.sh
deleted file mode 100755
index 5ff78055..00000000
--- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-unset-proxy.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env bash
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# Having proxy set while running autotests makes them fail
-sudo sed -i 's/PROXY_ENABLED=\"yes\"/PROXY_ENABLED=\"no\"/' /etc/sysconfig/proxy
-
diff --git a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-version.sh b/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-version.sh
deleted file mode 100755
index 03565da2..00000000
--- a/coin/provisioning/qtci-linux-openSUSE-42.3-x86_64/99-version.sh
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script needs to be called last during provisioning so that the software information will show up last in provision log.
-
-# Storage installed RPM packages information
-
-set -ex
-
-# shellcheck disable=SC2129
-echo "*********************************************" >> ~/versions.txt
-echo "***** All installed RPM packages *****" >> ~/versions.txt
-rpm -q -a | sort >> ~/versions.txt
-echo "*********************************************" >> ~/versions.txt
-
-"$(dirname "$0")/../common/linux/version.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-10.12-x86_64/01-sha1sum-compatibility.sh
deleted file mode 100755
index 52650fea..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/01-sha1sum-compatibility.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-#!/usr/bin/env bash
-
-set -ex
-
-# shellcheck source=../common/macos/sha1sum-compatibility.sh
-source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-macos-10.12-x86_64/02-disable-ntp.sh
deleted file mode 100755
index 3304cc3e..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/02-disable-ntp.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-# shellcheck source=../common/unix/disable-ntp_macos.sh
-source "${BASH_SOURCE%/*}/../common/unix/disable-ntp_macos.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-10.12-x86_64/03-bashprofile.sh
deleted file mode 100755
index 2c3e45f3..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/03-bashprofile.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env sh
-
-set -ex
-
-# Read .bashrc if exist
-printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile
-
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-10.12-x86_64/05-systemsetup.sh
deleted file mode 100755
index ce8043fa..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/05-systemsetup.sh
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# This script modified system settings for automated use
-
-VNCPassword=qt
-NTS_IP=10.212.2.216
-
-echo "Disable Screensaver"
-# For current session
-defaults -currentHost write com.apple.screensaver idleTime 0
-
-echo "Disable sleep"
-sudo pmset sleep 0 displaysleep 0
-
-# For session after a reboot
-mkdir -p "$HOME/Library/LaunchAgents"
-cat >"$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-
-<plist version="1.0">
- <dict>
- <key>Label</key>
- <string>org.qt.io.screensaver_disable</string>
- <key>ProgramArguments</key>
- <array>
- <string>defaults</string>
- <string>-currentHost</string>
- <string>write</string>
- <string>com.apple.screensaver</string>
- <string>idleTime</string>
- <string>0</string>
- </array>
- <key>RunAtLoad</key>
- <true/>
- <key>KeepAlive</key>
- <false/>
- </dict>
-</plist>
-EOT
-
-defaults write com.apple.screensaver askForPassword -int 0
-
-echo "Set keyboard type rates and delays"
-# normal minimum is 15 (225 ms)
-defaults write -g InitialKeyRepeat -int 15
-# normal minimum is 2 (30 ms)
-defaults write -g KeyRepeat -int 2
-
-echo "Enable remote desktop sharing"
-sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all
-
-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
-
-sudo systemsetup settimezone GMT
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-10.12-x86_64/06-crashreporter.sh
deleted file mode 100755
index 8461c656..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/06-crashreporter.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env sh
-
-set -ex
-
-defaults write com.apple.CrashReporter DialogType server
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-10.12-x86_64/06-disable_spotlight.sh
deleted file mode 100755
index 67e2c1f6..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/06-disable_spotlight.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-# shellcheck source=../common/macos/disable_spotlight.sh
-source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-10.12-x86_64/06-disable_update_downloads.sh
deleted file mode 100755
index 3c11214d..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/06-disable_update_downloads.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-BASEDIR=$(dirname "$0")
-"$BASEDIR"/../common/macos/disable_update_downloads.sh
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-10.12-x86_64/07-SSL_keychain.sh
deleted file mode 100755
index 6e7c796a..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/07-SSL_keychain.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env sh
-
-set -ex
-
-# shellcheck source=../common/unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-
-# Enables the usage of temporary keychains for SSL autotests
-SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-10.12-x86_64/15-xz.sh
deleted file mode 100755
index 6e47f6a5..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/15-xz.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs XZ-Utils
-
-# XZ-Utils are needed for uncompressing xz-compressed files
-
-set -ex
-
-# shellcheck source=../common/macos/InstallPKGFromURL.sh
-source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh"
-
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/XZ.pkg"
-AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg"
-SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67"
-DestDir="/"
-
-InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
-
-echo "XZ = 5.0.7" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/20-java.sh b/coin/provisioning/qtci-macos-10.12-x86_64/20-java.sh
deleted file mode 100755
index dcfcb93b..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/20-java.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/java.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-10.12-x86_64/20-xcode.sh
deleted file mode 100755
index 304eb0b6..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/20-xcode.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs Xcode
-# Prerequisites: Have Xcode prefetched to local cache as xz compressed.
-# This can be achieved by fetching Xcode_8.xip from Apple Store.
-# Uncompress it with 'xar -xf Xcode_8.xip'
-# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py
-# with which you can run 'python parse_pbzx2.py Content'.
-# This will give you a file called "Content.part00.cpio.xz" that
-# can be renamed to Xcode_8.xz for this script.
-
-set -ex
-
-# shellcheck source=../common/macos/install_xcode.sh
-source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"
-
-InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_9.2.tar.gz 9.2
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh
deleted file mode 100755
index 1fa8b05d..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/21-install-commandlinetools.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/macos/install-commandlinetools.sh
-source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh"
-
-version="9.2"
-packageName="Command_Line_Tools_macOS_10.12_for_Xcode_$version.dmg"
-url="http://ci-files01-hki.intra.qt.io/input/mac/$packageName"
-sha1="f121c3b70fb77a98c1f2fc5e1932bd93bde03acf"
-
-InstallCommandLineTools $url $url $sha1 $packageName $version
-
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-10.12-x86_64/25-cmake.sh
deleted file mode 100755
index 4f4d405e..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/25-cmake.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/cmake.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-10.12-x86_64/25-homebrew.sh
deleted file mode 100755
index 06e984ec..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/25-homebrew.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/homebrew.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-10.12-x86_64/25-mysql.sh
deleted file mode 100755
index a28e306f..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/25-mysql.sh
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs MySQL
-
-# MySQL is needed for Qt to be able to support MySQL
-
-set -ex
-
-# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
-source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
-# shellcheck source=../common/unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz"
-AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz"
-SHA1="07949bd42f350b0504a1536b8830b809b4a34fca"
-appPrefix=""
-targetDir="/opt/mysql57/"
-
-sudo mkdir -p "/opt"
-
-InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir"
-
-SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin"
-echo "MySQL = 5.7.15" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-10.12-x86_64/25-postgresql.sh
deleted file mode 100755
index 9f79c594..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/25-postgresql.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs PostgreSQL
-
-# PostgreSQL is needed for Qt to be able to support PostgreSQL
-
-set -ex
-
-# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
-source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
-# shellcheck source=../common/unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-
-psqlVersion="9.6.0"
-
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/Postgres-$psqlVersion.zip"
-AltUrl="https://github.com/PostgresApp/PostgresApp/releases/download/$psqlVersion/Postgres-$psqlVersion.zip"
-SHA1="5078e44663787006ca55fa3b5e2be598bed82eb5"
-appPrefix=""
-
-InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix"
-
-SetEnvVar "POSTGRESQLBINPATH" "/Applications/Postgres.app/Contents/Versions/9.6/bin"
-echo "PostgreSQL = $psqlVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-10.12-x86_64/25-python2.sh
deleted file mode 100755
index 7ebb8825..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/25-python2.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-# shellcheck source=../common/macos/python2.sh
-source "${BASH_SOURCE%/*}/../common/macos/python2.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-10.12-x86_64/25-python3.sh
deleted file mode 100755
index eb2a4863..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/25-python3.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-# shellcheck source=../common/macos/python3.sh
-source "${BASH_SOURCE%/*}/../common/macos/python3.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/26-odbc.sh b/coin/provisioning/qtci-macos-10.12-x86_64/26-odbc.sh
deleted file mode 100755
index 2aedfe7b..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/26-odbc.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-# Install libiodbc
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/libiodbc.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-10.12-x86_64/26-p7zip.sh
deleted file mode 100755
index 15511332..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/26-p7zip.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-# Install 7z to be used from command line
-
-set -ex
-
-brew update
-brew install p7zip
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/26-virtualenv.sh b/coin/provisioning/qtci-macos-10.12-x86_64/26-virtualenv.sh
deleted file mode 100755
index eaabce82..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/26-virtualenv.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/virtualenv.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-10.12-x86_64/27-libclang.sh
deleted file mode 100755
index 33795b08..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/27-libclang.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-# There is only one mac package
-"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-10.12-x86_64/30-fbx.sh
deleted file mode 100755
index 34eefeb6..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/30-fbx.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/fbx_macos.sh"
-
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh
deleted file mode 100755
index 963f48d6..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/35-openssl.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-# shellcheck source=../common/macos/install_openssl.sh
-source "${BASH_SOURCE%/*}/../common/macos/install_openssl.sh"
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/55-signtools.sh b/coin/provisioning/qtci-macos-10.12-x86_64/55-signtools.sh
deleted file mode 100755
index 5bc77ad3..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/55-signtools.sh
+++ /dev/null
@@ -1,138 +0,0 @@
-#!/usr/bin/env sh
-
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# Install tools for singing packages
-# This script assume that OS is vanilla. Target machine dosen't have any signing certificates installed.
-
-set -ex
-
-cache="http://ci-files01-hki.intra.qt.io/input"
-cacheSigningTools="$cache/mac/sign_tools"
-targetFolder="/Users/qt"
-keychains="$targetFolder/Library/Keychains"
-
-Install() {
-
- url=$1
- targetFile=$2
- expectedSha1=$3
-
- echo "Fetching $targetFile from $url..."
- curl --retry 5 --retry-delay 10 --retry-max-time 60 "$url" -o "$targetFile"
- shasum "$targetFile" |grep "$expectedSha1"
-
-}
-
-# qt-license
-sha1QtLicense="9d59241d16f68d914f1c7aa1dc23e05faa169e8d"
-Install "$cache/semisecure/.qt-license" "$targetFolder/.qt-license" $sha1QtLicense
-
-# Login keychain
-sha1LoginKeychainPassword="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
-Install "$cacheSigningTools/login_keychain_password.txt" "$targetFolder/login_keychain_password.txt" "$sha1LoginKeychainPassword"
-loginKeychainPassword=$(cat "$targetFolder/login_keychain_password.txt")
-loginKeychain=$keychains/login.keychain
-
-echo "Setting login.keychain as default keychain.."
-security default-keychain -s $loginKeychain*
-echo "Unlocking Login keychain with password.."
-security unlock-keychain -p "$loginKeychainPassword" $loginKeychain*
-
-echo "remove the "Lock after X minutes of inactivity" from login.keychain"
-security set-keychain-settings $loginKeychain
-
-# Apple Worldwide Developer Relations Certification Authority -> https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
-sha1AppleWWDRCA="ff6797793a3cd798dc5b2abef56f73edc9f83a64"
-Install "$cacheSigningTools/AppleWWDRCA.cer" "$targetFolder/AppleWWDRCA.cer" $sha1AppleWWDRCA
-sudo security add-certificates -k $loginKeychain* "$targetFolder/AppleWWDRCA.cer"
-
-# Developer ID Certification Authority -> https://www.apple.com/certificateauthority/DeveloperIDCA.cer
-sha1DeveloperIDCA="3b166c3b7dc4b751c9fe2afab9135641e388e186"
-Install "$cacheSigningTools/DeveloperIDCA.cer" "$targetFolder/DeveloperIDCA.cer" $sha1DeveloperIDCA
-sudo security add-certificates -k $loginKeychain* "$targetFolder/DeveloperIDCA.cer"
-
-# Create script to unlock keychain 'security unlock-keychain -p 'password' Developer_ID_TheQtCompany.keychain'
-sha1UnLockKeychain="4398870e3f558ad28c80566b5f70e24dc29ea724"
-unlockKeychain=$targetFolder/unlock-keychain.sh
-Install "$cacheSigningTools/unlock-keychain.sh" "$unlockKeychain" $sha1UnLockKeychain
-sudo chmod 755 "$unlockKeychain"
-
-# Codesigning requirements file. The bundle identifier in the requirements file should match the identifier of the application that is signed.
-shaCsreq="2c3f00b1845a0f475673fd6934ba25ea51d1f910"
-csreq=$targetFolder/csreq_qt_company.txt
-Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq
-chmod 755 "$csreq"
-
-# iOS signing tools
-devIDKeychain="Developer_ID_TheQtCompany.keychain"
-shaDevIdKeychain="0420a129c17725a97afd6fdafeb9cddfb80a65ca"
-Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain
-echo "Opening $devIDKeychain.."
-open "$keychains/$devIDKeychain"
-
-sha1DeveloperIDTheQtCompanyKeychainPassword="d758e067736bbda7a91ffaec66cd38afdaf68ea6"
-Install "$cacheSigningTools/Developer_ID_TheQtCompany_keychain_password.txt" "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt" "$sha1DeveloperIDTheQtCompanyKeychainPassword"
-DeveloperIDTheQtCompanyKeychainPassword=$(cat "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt")
-
-echo "Unlocking $devIDKeychain with password.."
-security unlock-keychain -p "$DeveloperIDTheQtCompanyKeychainPassword" $keychains/Developer_ID_TheQtCompany.keychain
-security set-keychain-settings $keychains/Developer_ID_TheQtCompany.keychain
-
-sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
-Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios
-iosPassword=$(cat "$targetFolder/ios_password.txt")
-
-iPhoneDeveloper="iosdevelopment.p12"
-shaIPhoneDeveloper="f48f6827e8d0ccdc764cb987e401b9a6f7d3f10c"
-Install "$cacheSigningTools/latest_ios_cert/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper
-echo "Importing $iPhoneDeveloper.."
-security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign
-
-iPhoneDistribution="iosdistribution.p12"
-shaIPhoneDistribution="64b1174fc3ce0eca044fbc9fa144f6a2d4330171"
-Install "$cacheSigningTools/latest_ios_cert/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution
-echo "Importing $iPhoneDistribution.."
-security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign
-
-# Mobileprovision
-echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.."
-mkdir "$targetFolder/Library/MobileDevice"
-mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles"
-shaMobileprovision="88c67c95a6f59e6463a00da0b5021f581db624bf"
-Install "$cacheSigningTools/latest_ios_cert/iOS_Dev08112017.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev08112017.mobileprovision" $shaMobileprovision
-
-# Removing password files
-rm -fr "$targetFolder/login_keychain_password.txt"
-
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-10.12-x86_64/90-squish.sh
deleted file mode 100755
index 17a0c38e..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/90-squish.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/unix/squishInstall.sh"
-
diff --git a/coin/provisioning/qtci-macos-10.12-x86_64/99-mac-version.sh b/coin/provisioning/qtci-macos-10.12-x86_64/99-mac-version.sh
deleted file mode 100755
index 99d94150..00000000
--- a/coin/provisioning/qtci-macos-10.12-x86_64/99-mac-version.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-$BASEDIR/../common/macos/macos-version.sh
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-10.13-x86_64/01-sha1sum-compatibility.sh
deleted file mode 100755
index 52650fea..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/01-sha1sum-compatibility.sh
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-#!/usr/bin/env bash
-
-set -ex
-
-# shellcheck source=../common/macos/sha1sum-compatibility.sh
-source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-macos-10.13-x86_64/02-disable-ntp.sh
deleted file mode 100755
index 64d43d83..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/02-disable-ntp.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-
-# shellcheck source=../common/unix/disable-ntp_macos.sh
-source "${BASH_SOURCE%/*}/../common/unix/disable-ntp_macos.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-10.13-x86_64/03-bashprofile.sh
deleted file mode 100755
index 2c3e45f3..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/03-bashprofile.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env sh
-
-set -ex
-
-# Read .bashrc if exist
-printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile
-
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh
deleted file mode 100755
index d91316bd..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/05-systemsetup.sh
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# This script modified system settings for automated use
-
-VNCPassword=qt
-NTS_IP=10.212.2.216
-
-echo "Disable Screensaver"
-# For current session
-defaults -currentHost write com.apple.screensaver idleTime 0
-
-echo "Disable sleep"
-sudo pmset sleep 0 displaysleep 0
-
-# For session after a reboot
-mkdir -p "$HOME/Library/LaunchAgents"
-cat >"$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
-
-<plist version="1.0">
- <dict>
- <key>Label</key>
- <string>org.qt.io.screensaver_disable</string>
- <key>ProgramArguments</key>
- <array>
- <string>defaults</string>
- <string>-currentHost</string>
- <string>write</string>
- <string>com.apple.screensaver</string>
- <string>idleTime</string>
- <string>0</string>
- </array>
- <key>RunAtLoad</key>
- <true/>
- <key>KeepAlive</key>
- <false/>
- </dict>
-</plist>
-EOT
-
-defaults write com.apple.screensaver askForPassword -int 0
-
-echo "Set keyboard type rates and delays"
-# normal minimum is 15 (225 ms)
-defaults write -g InitialKeyRepeat -int 15
-# normal minimum is 2 (30 ms)
-defaults write -g KeyRepeat -int 2
-
-echo "Enable remote desktop sharing"
-sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw $VNCPassword -restart -agent -privs -all
-
-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
-
-sudo systemsetup settimezone GMT
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-10.13-x86_64/06-crashreporter.sh
deleted file mode 100755
index 8461c656..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/06-crashreporter.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env sh
-
-set -ex
-
-defaults write com.apple.CrashReporter DialogType server
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_spotlight.sh
deleted file mode 100755
index 67e2c1f6..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_spotlight.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-# shellcheck source=../common/macos/disable_spotlight.sh
-source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_update_downloads.sh
deleted file mode 100755
index 3c11214d..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/06-disable_update_downloads.sh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-BASEDIR=$(dirname "$0")
-"$BASEDIR"/../common/macos/disable_update_downloads.sh
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-10.13-x86_64/07-SSL_keychain.sh
deleted file mode 100755
index 6e7c796a..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/07-SSL_keychain.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env sh
-
-set -ex
-
-# shellcheck source=../common/unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-
-# Enables the usage of temporary keychains for SSL autotests
-SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-10.13-x86_64/15-xz.sh
deleted file mode 100755
index 9a667c64..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/15-xz.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs XZ-Utils
-
-# XZ-Utils are needed for uncompressing xz-compressed files
-
-set -ex
-
-# shellcheck source=../common/macos/InstallPKGFromURL.sh
-source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh"
-
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/XZ.pkg"
-AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg"
-SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67"
-DestDir="/"
-
-InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
-
-echo "XZ = 5.0.7" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/20-java.sh b/coin/provisioning/qtci-macos-10.13-x86_64/20-java.sh
deleted file mode 100755
index dcfcb93b..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/20-java.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/java.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-10.13-x86_64/20-xcode.sh
deleted file mode 100755
index 1ab68fec..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/20-xcode.sh
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs Xcode
-# Prerequisites: Have Xcode prefetched to local cache as xz compressed.
-# This can be achieved by fetching Xcode_9.xip from Apple Store.
-# Uncompress it with 'xar -xf Xcode_9.xip'
-# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py
-# with which you can run 'python parse_pbzx2.py Content'.
-# This will give you five files called "Content.part<00..05>.cpio.xz".
-# Extract those that have the extension .xz with xz.
-# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new"
-# Compress the new file with xz back to something like Xcode_9.xz
-# Upload the file to temporary storage for this script to use.
-
-set -ex
-
-# shellcheck source=../common/macos/install_xcode.sh
-source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"
-
-InstallXCode /net/ci-files01-hki.intra.qt.io/hdd/www/input/mac/Xcode_10.1.tar.gz 10.1
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-10.13-x86_64/21-install-commandlinetools.sh
deleted file mode 100755
index d4708031..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/21-install-commandlinetools.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/macos/install-commandlinetools.sh
-source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh"
-
-version="10.1"
-packageName="Command_Line_Tools_macOS_10.13_for_Xcode_$version.dmg"
-url="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.13_high_sierra/$packageName"
-sha1="c8d198347adf836de7937691282b35e9d086e4c2"
-
-InstallCommandLineTools $url $url $sha1 $packageName $version
-
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-cmake.sh
deleted file mode 100755
index 4f4d405e..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/25-cmake.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/cmake.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh
deleted file mode 100755
index 06e984ec..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/25-homebrew.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/homebrew.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-mysql.sh
deleted file mode 100755
index d873499c..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/25-mysql.sh
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs MySQL
-
-# MySQL is needed for Qt to be able to support MySQL
-
-set -ex
-
-# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
-source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
-# shellcheck source=../common/unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz"
-AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz"
-SHA1="07949bd42f350b0504a1536b8830b809b4a34fca"
-appPrefix=""
-targetDir="/opt/mysql57/"
-
-sudo mkdir -p "/opt"
-
-InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir"
-
-SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin"
-echo "MySQL = 5.7.15" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-pip.sh
deleted file mode 100755
index 86db3e27..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/25-pip.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/pip.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-postgresql.sh
deleted file mode 100755
index e59f0f03..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/25-postgresql.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs PostgreSQL
-
-# PostgreSQL is needed for Qt to be able to support PostgreSQL
-
-set -ex
-
-# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
-source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
-# shellcheck source=../common/unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-
-psqlVersion="9.6.0"
-
-PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/mac/macos_10.12_sierra/Postgres-$psqlVersion.zip"
-AltUrl="https://github.com/PostgresApp/PostgresApp/releases/download/$psqlVersion/Postgres-$psqlVersion.zip"
-SHA1="5078e44663787006ca55fa3b5e2be598bed82eb5"
-appPrefix=""
-
-InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix"
-
-SetEnvVar "POSTGRESQLBINPATH" "/Applications/Postgres.app/Contents/Versions/9.6/bin"
-echo "PostgreSQL = $psqlVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-python2.sh
deleted file mode 100755
index 7ebb8825..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/25-python2.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-# shellcheck source=../common/macos/python2.sh
-source "${BASH_SOURCE%/*}/../common/macos/python2.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-10.13-x86_64/25-python3.sh
deleted file mode 100755
index eb2a4863..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/25-python3.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-# shellcheck source=../common/macos/python3.sh
-source "${BASH_SOURCE%/*}/../common/macos/python3.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/26-odbc.sh b/coin/provisioning/qtci-macos-10.13-x86_64/26-odbc.sh
deleted file mode 100755
index 2aedfe7b..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/26-odbc.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-# Install libiodbc
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/libiodbc.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh
deleted file mode 100755
index 15511332..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/26-p7zip.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-# Install 7z to be used from command line
-
-set -ex
-
-brew update
-brew install p7zip
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/26-virtualenv.sh b/coin/provisioning/qtci-macos-10.13-x86_64/26-virtualenv.sh
deleted file mode 100755
index eaabce82..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/26-virtualenv.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/virtualenv.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-10.13-x86_64/27-libclang.sh
deleted file mode 100755
index aad628cb..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/27-libclang.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-# There is only one mac package and common script uses it as a default
-"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh
deleted file mode 100755
index c0d75ff6..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/30-android.sh
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script install Android sdk and ndk.
-
-# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
-
-set -ex
-
-# shellcheck source=../common/unix/SetEnvVar.sh
-source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
-
-targetFolder="/opt/android"
-sdkTargetFolder="$targetFolder/sdk"
-
-basePath="/net/ci-files01-hki.intra.qt.io/hdd/www/input/android"
-
-toolsVersion="r26.1.1"
-# toolsFile dertermines tools version
-toolsFile="sdk-tools-darwin-4333796.zip"
-
-ndkVersion="r18b"
-ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip"
-sdkBuildToolsVersion="28.0.3"
-# this is compile sdk version
-sdkApiLevel="android-28"
-
-toolsSourceFile="$basePath/$toolsFile"
-ndkSourceFile="$basePath/$ndkFile"
-
-echo "Unzipping Android NDK to '$targetFolder'"
-sudo unzip -q "$ndkSourceFile" -d "$targetFolder"
-echo "Unzipping Android Tools to '$sdkTargetFolder'"
-sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
-
-echo "Changing ownership of Android files."
-sudo chown -R qt:wheel "$targetFolder"
-
-echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
-(echo "y"; echo "y") |"$sdkTargetFolder/tools/bin/sdkmanager" "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion"
-
-echo "Checking the contents of Android SDK..."
-ls -l "$sdkTargetFolder"
-
-SetEnvVar "ANDROID_SDK_HOME" "$sdkTargetFolder"
-SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersion"
-SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64"
-SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
-
-echo "Android SDK tools = $toolsVersion" >> ~/versions.txt
-echo "Android SDK Build Tools = $sdkBuildToolsVersion" >> ~/versions.txt
-echo "Android SDK API level = $sdkApiLevel" >> ~/versions.txt
-echo "Android NDK = $ndkVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-10.13-x86_64/30-fbx.sh
deleted file mode 100755
index 34eefeb6..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/30-fbx.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/macos/fbx_macos.sh"
-
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-macos-10.13-x86_64/35-install-breakpad.sh
deleted file mode 100755
index 74dd1579..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/35-install-breakpad.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-# shellcheck source=../common/unix/install-breakpad.sh
-source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/35-install_protobuff.sh b/coin/provisioning/qtci-macos-10.13-x86_64/35-install_protobuff.sh
deleted file mode 100755
index a77938b3..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/35-install_protobuff.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-set -ex
-
-# shellcheck source=../common/unix/install_protobuff.sh
-source "${BASH_SOURCE%/*}/../common/unix/install_protobuff.sh"
-
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh
deleted file mode 100755
index 963f48d6..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/35-openssl.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-# shellcheck source=../common/macos/install_openssl.sh
-source "${BASH_SOURCE%/*}/../common/macos/install_openssl.sh"
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/40-qnx700.sh b/coin/provisioning/qtci-macos-10.13-x86_64/40-qnx700.sh
deleted file mode 100755
index a5547972..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/40-qnx700.sh
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/bash
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# This script installs QNX 7.
-
-targetFolder="/opt/"
-sourceFile="/net/ci-files01-hki.intra.qt.io/hdd/www/input/qnx/qnx700_mac.zip"
-folderName="qnx700"
-
-sudo mkdir -p "$targetFolder"
-
-echo "Extracting QNX 7"
-sudo unzip -q "$sourceFile" -d "$targetFolder"
-
-sudo chown -R qt:wheel "$targetFolder"/"$folderName"
-
-# Verify that we have last file in zip
-if [ ! -f $targetFolder/$folderName/qnxsdp-env.sh ]; then
- exit 1
-fi
-
-# Set env variables
-echo "export QNX_700=$targetFolder/$folderName" >> ~/.bashrc
-echo "QNX SDP = 7.0.0" >> ~/versions.txt
-
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh b/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh
deleted file mode 100755
index 0b8595a0..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh
+++ /dev/null
@@ -1,138 +0,0 @@
-#!/usr/bin/env sh
-
-#############################################################################
-##
-## Copyright (C) 2018 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# Install tools for singing packages
-# This script assume that OS is vanilla. Target machine dosen't have any signing certificates installed.
-
-set -ex
-
-cache="http://ci-files01-hki.intra.qt.io/input"
-cacheSigningTools="$cache/mac/sign_tools"
-targetFolder="/Users/qt"
-keychains="$targetFolder/Library/Keychains"
-
-Install() {
-
- url=$1
- targetFile=$2
- expectedSha1=$3
-
- echo "Fetching $targetFile from $url..."
- curl --retry 5 --retry-delay 10 --retry-max-time 60 "$url" -o "$targetFile"
- shasum "$targetFile" |grep "$expectedSha1"
-
-}
-
-# qt-license
-sha1QtLicense="9d59241d16f68d914f1c7aa1dc23e05faa169e8d"
-Install "$cache/semisecure/.qt-license" "$targetFolder/.qt-license" $sha1QtLicense
-
-# Login keychain
-sha1LoginKeychainPassword="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
-Install "$cacheSigningTools/login_keychain_password.txt" "$targetFolder/login_keychain_password.txt" "$sha1LoginKeychainPassword"
-{ loginKeychainPassword=$(cat "$targetFolder/login_keychain_password.txt"); } 2> /dev/null
-loginKeychain=$keychains/login.keychain
-
-echo "Setting login.keychain as default keychain.."
-security default-keychain -s $loginKeychain*
-echo "Unlocking Login keychain with password.."
-{ security unlock-keychain -p "$loginKeychainPassword" $loginKeychain*; } 2> /dev/null
-
-echo "remove the "Lock after X minutes of inactivity" from login.keychain"
-security set-keychain-settings $loginKeychain
-
-# Apple Worldwide Developer Relations Certification Authority -> https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
-sha1AppleWWDRCA="ff6797793a3cd798dc5b2abef56f73edc9f83a64"
-Install "$cacheSigningTools/AppleWWDRCA.cer" "$targetFolder/AppleWWDRCA.cer" $sha1AppleWWDRCA
-sudo security add-certificates -k $loginKeychain* "$targetFolder/AppleWWDRCA.cer"
-
-# Developer ID Certification Authority -> https://www.apple.com/certificateauthority/DeveloperIDCA.cer
-sha1DeveloperIDCA="3b166c3b7dc4b751c9fe2afab9135641e388e186"
-Install "$cacheSigningTools/DeveloperIDCA.cer" "$targetFolder/DeveloperIDCA.cer" $sha1DeveloperIDCA
-sudo security add-certificates -k $loginKeychain* "$targetFolder/DeveloperIDCA.cer"
-
-# Create script to unlock keychain 'security unlock-keychain -p 'password' Developer_ID_TheQtCompany.keychain'
-sha1UnLockKeychain="4398870e3f558ad28c80566b5f70e24dc29ea724"
-unlockKeychain=$targetFolder/unlock-keychain.sh
-{ Install "$cacheSigningTools/unlock-keychain.sh" "$unlockKeychain" $sha1UnLockKeychain; } 2> /dev/null
-sudo chmod 755 "$unlockKeychain"
-
-# Codesigning requirements file. The bundle identifier in the requirements file should match the identifier of the application that is signed.
-shaCsreq="2c3f00b1845a0f475673fd6934ba25ea51d1f910"
-csreq=$targetFolder/csreq_qt_company.txt
-Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq
-chmod 755 "$csreq"
-
-# iOS signing tools
-devIDKeychain="Developer_ID_TheQtCompany.keychain"
-shaDevIdKeychain="0420a129c17725a97afd6fdafeb9cddfb80a65ca"
-Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain
-echo "Opening $devIDKeychain.."
-open "$keychains/$devIDKeychain"
-
-sha1DeveloperIDTheQtCompanyKeychainPassword="d758e067736bbda7a91ffaec66cd38afdaf68ea6"
-Install "$cacheSigningTools/Developer_ID_TheQtCompany_keychain_password.txt" "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt" "$sha1DeveloperIDTheQtCompanyKeychainPassword"
-{ DeveloperIDTheQtCompanyKeychainPassword=$(cat "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt"); } 2> /dev/null
-
-echo "Unlocking $devIDKeychain with password.."
-{ security unlock-keychain -p "$DeveloperIDTheQtCompanyKeychainPassword" $keychains/Developer_ID_TheQtCompany.keychain; } 2> /dev/null
-security set-keychain-settings $keychains/Developer_ID_TheQtCompany.keychain
-
-sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
-{ Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios; } 2> /dev/null
-{ iosPassword=$(cat "$targetFolder/ios_password.txt"); } 2> /dev/null
-
-iPhoneDeveloper="iosdevelopment_2019.p12"
-shaIPhoneDeveloper="fbc89661c5295b4105f3890989a94c559ea4a61c"
-Install "$cacheSigningTools/latest_ios_cert/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper
-echo "Importing $iPhoneDeveloper.."
-{ security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null
-
-iPhoneDistribution="iosdistribution_2019.p12"
-shaIPhoneDistribution="f306102f9e18e2074a7b655a9b151ce69c95baac"
-Install "$cacheSigningTools/latest_ios_cert/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution
-echo "Importing $iPhoneDistribution.."
-{ security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null
-
-# Mobileprovision
-echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.."
-mkdir "$targetFolder/Library/MobileDevice"
-mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles"
-shaMobileprovision="88c67c95a6f59e6463a00da0b5021f581db624bf"
-Install "$cacheSigningTools/latest_ios_cert/iOS_Dev08112017.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev08112017.mobileprovision" $shaMobileprovision
-
-# Removing password files
-rm -fr "$targetFolder/login_keychain_password.txt"
-
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-10.13-x86_64/90-squish.sh
deleted file mode 100755
index 17a0c38e..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/90-squish.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-set -ex
-
-BASEDIR=$(dirname "$0")
-"$BASEDIR/../common/unix/squishInstall.sh"
-
diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/99-mac-version.sh b/coin/provisioning/qtci-macos-10.13-x86_64/99-mac-version.sh
deleted file mode 100755
index 99d94150..00000000
--- a/coin/provisioning/qtci-macos-10.13-x86_64/99-mac-version.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-BASEDIR=$(dirname "$0")
-$BASEDIR/../common/macos/macos-version.sh
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/01-disable-net-lso.sh b/coin/provisioning/qtci-macos-10.15-x86_64/01-disable-net-lso.sh
new file mode 100755
index 00000000..659ebe96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/01-disable-net-lso.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable_net_lso.sh
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-10.15-x86_64/01-disable-notifications_and_warnings.sh
new file mode 100755
index 00000000..27efbb62
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/01-disable-notifications_and_warnings.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable-notifications_and_warnings.sh
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/01-disable-updates.sh b/coin/provisioning/qtci-macos-10.15-x86_64/01-disable-updates.sh
new file mode 100755
index 00000000..a2b2a0f0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/01-disable-updates.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/system_updates.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/01-enable_zsh_history_and_viminfo.sh b/coin/provisioning/qtci-macos-10.15-x86_64/01-enable_zsh_history_and_viminfo.sh
new file mode 100755
index 00000000..6004b140
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/01-enable_zsh_history_and_viminfo.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+# shellcheck source=../common/macos/enable_zsh_history_and_viminfo.sh
+source "${BASH_SOURCE%/*}/../common/macos/enable_zsh_history_and_viminfo.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/01-increase_limits.sh b/coin/provisioning/qtci-macos-10.15-x86_64/01-increase_limits.sh
new file mode 100755
index 00000000..08669e52
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/01-increase_limits.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/increase_limits.sh
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-macos-10.15-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..abd9ba0d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/telegraf_install.sh
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-10.15-x86_64/01-sha1sum-compatibility.sh
new file mode 100755
index 00000000..e52367c8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/01-sha1sum-compatibility.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/macos/sha1sum-compatibility.sh
+source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-10.15-x86_64/03-bashprofile.sh
new file mode 100755
index 00000000..4eed8433
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/03-bashprofile.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env 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
+
+set -ex
+
+# Read .bashrc if exist
+printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile
+
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-10.15-x86_64/05-systemsetup.sh
new file mode 100755
index 00000000..115c0489
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/05-systemsetup.sh
@@ -0,0 +1,80 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# This script modified system settings for automated use
+
+targetFile="$HOME/vncpw.txt"
+
+# Fetch password
+curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.ci.qt.io/input/semisecure/vncpw.txt" -o "$targetFile"
+shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0"
+
+{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null
+NTS_IP=10.212.2.216
+
+echo "Disable Screensaver"
+# For current session
+defaults -currentHost write com.apple.screensaver idleTime 0
+
+echo "Disable sleep"
+sudo pmset sleep 0 displaysleep 0
+
+# For session after a reboot
+mkdir -p "$HOME/Library/LaunchAgents"
+sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>org.qt.io.screensaver_disable</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>defaults</string>
+ <string>-currentHost</string>
+ <string>write</string>
+ <string>com.apple.screensaver</string>
+ <string>idleTime</string>
+ <string>0</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>KeepAlive</key>
+ <false/>
+ </dict>
+</plist>
+EOT
+
+defaults write com.apple.screensaver askForPassword -int 0
+
+echo "Set keyboard type rates and delays"
+# normal minimum is 15 (225 ms)
+defaults write -g InitialKeyRepeat -int 15
+# normal minimum is 2 (30 ms)
+defaults write -g KeyRepeat -int 2
+
+set +x
+echo "Enable remote desktop sharing"
+sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all
+set -x
+
+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
+
+sudo systemsetup settimezone GMT
+sudo systemsetup setusingnetworktime off
+sudo rm -f "$targetFile"
+
+# Enable automount for nfs shares
+sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master
+sudo automount -cv
+
+# Disable multicast advertisements
+sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true
+
+# Enable Use keyboard navigation to move focus between controls
+defaults write -g AppleKeyboardUIMode -int 2
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-10.15-x86_64/06-crashreporter.sh
new file mode 100755
index 00000000..cb7c0774
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/06-crashreporter.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env 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
+
+set -ex
+
+defaults write com.apple.CrashReporter DialogType server
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-10.15-x86_64/06-disable_spotlight.sh
new file mode 100755
index 00000000..ab85a262
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/06-disable_spotlight.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
+
+# shellcheck source=../common/macos/disable_spotlight.sh
+source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-10.15-x86_64/06-disable_update_downloads.sh
new file mode 100755
index 00000000..18cb98ea
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/06-disable_update_downloads.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
+set -ex
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/disable_update_downloads.sh
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-10.15-x86_64/07-SSL_keychain.sh
new file mode 100755
index 00000000..e14dcee9
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/07-SSL_keychain.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+# Enables the usage of temporary keychains for SSL autotests
+SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-10.15-x86_64/15-xz.sh
new file mode 100755
index 00000000..ffe00992
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/15-xz.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs XZ-Utils
+
+# XZ-Utils are needed for uncompressing xz-compressed files
+
+set -ex
+
+# shellcheck source=../common/macos/InstallPKGFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/XZ.pkg"
+AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg"
+SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67"
+DestDir="/"
+
+InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
+
+echo "XZ = 5.0.7" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/20-java.sh b/coin/provisioning/qtci-macos-10.15-x86_64/20-java.sh
new file mode 100755
index 00000000..325fee63
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/20-java.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/java.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-10.15-x86_64/20-xcode.sh
new file mode 100755
index 00000000..0f711c1c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/20-xcode.sh
@@ -0,0 +1,22 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs Xcode
+# Prerequisites: Have Xcode prefetched to local cache as xz compressed.
+# This can be achieved by fetching Xcode_9.xip from Apple Store.
+# Uncompress it with 'xar -xf Xcode_9.xip'
+# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py
+# with which you can run 'python parse_pbzx2.py Content'.
+# This will give you five files called "Content.part<00..05>.cpio.xz".
+# Extract those that have the extension .xz with xz.
+# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new"
+# Compress the new file with xz back to something like Xcode_9.xz
+# Upload the file to temporary storage for this script to use.
+
+set -ex
+
+# shellcheck source=../common/macos/install_xcode.sh
+source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"
+
+InstallXCode /net/ci-files01-hki.ci.qt.io/hdd/www/input/mac/macos_10.15_catalina/Xcode_12.4.xip 12.4
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-10.15-x86_64/21-install-commandlinetools.sh
new file mode 100755
index 00000000..a3e91ae8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/21-install-commandlinetools.sh
@@ -0,0 +1,15 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/install-commandlinetools.sh
+source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh"
+version="12.4"
+packageName="Command_Line_Tools_for_Xcode_$version.dmg"
+url="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.15_catalina/$packageName"
+sha1="eabb32d167da029dfc70af94de2bf61abd416ca1"
+
+InstallCommandLineTools $url $url $sha1 $packageName $version
+
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/24-sccache.sh b/coin/provisioning/qtci-macos-10.15-x86_64/24-sccache.sh
new file mode 100755
index 00000000..358b23fb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/24-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/macos/sccache.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-10.15-x86_64/25-cmake.sh
new file mode 100755
index 00000000..33095880
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/25-cmake.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/cmake.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-10.15-x86_64/25-homebrew.sh
new file mode 100755
index 00000000..b26d81da
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/25-homebrew.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -e
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/homebrew.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-10.15-x86_64/25-mysql.sh
new file mode 100755
index 00000000..0be1e6e8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/25-mysql.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs MySQL
+
+# MySQL is needed for Qt to be able to support MySQL
+
+set -ex
+
+# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+SHA1="07949bd42f350b0504a1536b8830b809b4a34fca"
+appPrefix=""
+targetDir="/opt/mysql57/"
+
+sudo mkdir -p "/opt"
+
+InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir"
+
+SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin"
+echo "MySQL = 5.7.15" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-10.15-x86_64/25-pip.sh
new file mode 100755
index 00000000..3fc865d0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/25-pip.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pip.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-10.15-x86_64/25-postgresql.sh
new file mode 100755
index 00000000..95460b55
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/25-postgresql.sh
@@ -0,0 +1,26 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs PostgreSQL
+
+# PostgreSQL is needed for Qt to be able to support PostgreSQL
+
+set -ex
+
+# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+psqlVersion="9.6.0"
+
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/Postgres-$psqlVersion.zip"
+AltUrl="https://github.com/PostgresApp/PostgresApp/releases/download/$psqlVersion/Postgres-$psqlVersion.zip"
+SHA1="5078e44663787006ca55fa3b5e2be598bed82eb5"
+appPrefix=""
+
+InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix"
+
+SetEnvVar "POSTGRESQLBINPATH" "/Applications/Postgres.app/Contents/Versions/9.6/bin"
+echo "PostgreSQL = $psqlVersion" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-10.15-x86_64/25-python2.sh
new file mode 100755
index 00000000..4c88a413
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/25-python2.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
+
+# shellcheck source=../common/macos/python2.sh
+source "${BASH_SOURCE%/*}/../common/macos/python2.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-10.15-x86_64/25-python3.sh
new file mode 100755
index 00000000..8fee606c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/25-python3.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
+
+# shellcheck source=../common/macos/python3.sh
+source "${BASH_SOURCE%/*}/../common/macos/python3.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/26-freetype.sh b/coin/provisioning/qtci-macos-10.15-x86_64/26-freetype.sh
new file mode 100755
index 00000000..fa0790f8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/26-freetype.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
+
+brew install freetype
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/26-ninja.sh b/coin/provisioning/qtci-macos-10.15-x86_64/26-ninja.sh
new file mode 100755
index 00000000..4443eeb4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/26-ninja.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/ninja.sh
+source "${BASH_SOURCE%/*}/../common/macos/ninja.sh"
+
+
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/26-odbc.sh b/coin/provisioning/qtci-macos-10.15-x86_64/26-odbc.sh
new file mode 100755
index 00000000..388ce0f0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/26-odbc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# Install libiodbc
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/libiodbc.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-10.15-x86_64/26-p7zip.sh
new file mode 100755
index 00000000..8cdcd0c3
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/26-p7zip.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# Install 7z to be used from command line
+
+set -ex
+
+brew update
+brew install p7zip
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/26-pcre2.sh b/coin/provisioning/qtci-macos-10.15-x86_64/26-pcre2.sh
new file mode 100755
index 00000000..c10d6206
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/26-pcre2.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
+
+brew install pcre2
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-10.15-x86_64/27-libclang.sh
new file mode 100755
index 00000000..cc025e6e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/27-libclang.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# There is only one mac package and common script uses it as a default
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-10.15-x86_64/28-libclang-v100-dyn.sh
new file mode 100755
index 00000000..d95e7e00
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/28-libclang-v100-dyn.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.15-x86_64/30-android.sh
new file mode 100755
index 00000000..3ae2cbf6
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/30-android.sh
@@ -0,0 +1,64 @@
+#!/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
+
+# This script install Android sdk and ndk.
+
+# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+targetFolder="/opt/android"
+sdkTargetFolder="$targetFolder/sdk"
+
+basePath="/net/ci-files01-hki.ci.qt.io/hdd/www/input/android"
+
+toolsVersion="2.1"
+# toolsFile dertermines tools version
+toolsFile="commandlinetools-mac-6609375_latest.zip"
+
+ndkVersion="r26b"
+ndkFile="android-ndk-$ndkVersion-darwin.zip"
+sdkBuildToolsVersion="34.0.0"
+# this is compile sdk version
+sdkApiLevel="android-34"
+
+toolsSourceFile="$basePath/$toolsFile"
+ndkSourceFile="$basePath/$ndkFile"
+
+echo "Unzipping Android NDK to '$targetFolder'"
+sudo unzip -q "$ndkSourceFile" -d "$targetFolder"
+echo "Unzipping Android Tools to '$sdkTargetFolder'"
+sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
+
+echo "Changing ownership of Android files."
+sudo chown -R qt:wheel "$targetFolder"
+
+# Run the following command under `eval` or `sh -c` so that the shell properly splits it
+sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
+
+sudo mkdir "$sdkTargetFolder/cmdline-tools"
+sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
+
+echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
+(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \
+ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
+ | eval "$sdkmanager_no_progress_bar_cmd"
+
+echo "Checking the contents of Android SDK..."
+ls -l "$sdkTargetFolder"
+
+SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder"
+SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion"
+SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64"
+SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
+
+cat << EOB >> ~/versions.txt
+Android SDK tools = $toolsVersion
+Android SDK Build Tools = $sdkBuildToolsVersion
+Android SDK API level = $sdkApiLevel
+Android NDK = $ndkVersion
+EOB
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-10.15-x86_64/30-fbx.sh
new file mode 100755
index 00000000..e991bc08
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/30-fbx.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/fbx_macos.sh"
+
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/30-install-conan.sh b/coin/provisioning/qtci-macos-10.15-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..8d90ef37
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh" "macos"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/30-install-git.sh b/coin/provisioning/qtci-macos-10.15-x86_64/30-install-git.sh
new file mode 100755
index 00000000..08114adf
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/30-install-git.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/install-git.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-10.15-x86_64/30-nodejs.sh
new file mode 100755
index 00000000..a5cf7d4d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/30-nodejs.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/nodejs.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-macos-10.15-x86_64/35-install-breakpad.sh
new file mode 100755
index 00000000..8a9dde56
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/35-install-breakpad.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/35-install_protobuf.sh b/coin/provisioning/qtci-macos-10.15-x86_64/35-install_protobuf.sh
new file mode 100755
index 00000000..ecb5f835
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/35-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-10.15-x86_64/35-openssl.sh
new file mode 100755
index 00000000..c67c0aaf
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/35-openssl.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-openssl.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos"
+
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/36-emsdk.sh b/coin/provisioning/qtci-macos-10.15-x86_64/36-emsdk.sh
new file mode 100755
index 00000000..c8aec444
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/36-emsdk.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/80-screenresolution.sh b/coin/provisioning/qtci-macos-10.15-x86_64/80-screenresolution.sh
new file mode 100755
index 00000000..ed905a33
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/80-screenresolution.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
+
+"$(dirname "$0")"/../common/macos/screenresolution.sh
+
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/81-bluetooth.sh b/coin/provisioning/qtci-macos-10.15-x86_64/81-bluetooth.sh
new file mode 100755
index 00000000..c58b9a34
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/81-bluetooth.sh
@@ -0,0 +1,10 @@
+#!/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
+
+brew install blueutil
+
+#Disable Bluetooth
+blueutil -p 0
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/90-docker.sh b/coin/provisioning/qtci-macos-10.15-x86_64/90-docker.sh
new file mode 100755
index 00000000..1ab281cb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/90-docker.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/docker.sh
+source "${BASH_SOURCE%/*}/../common/macos/docker.sh" "amd64"
+
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-10.15-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..4a41cb74
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/90-install-ffmpeg.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
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-10.15-x86_64/90-squish.sh
new file mode 100755
index 00000000..c2658d0e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/90-squish.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/97-set-locale.sh b/coin/provisioning/qtci-macos-10.15-x86_64/97-set-locale.sh
new file mode 100755
index 00000000..bc966cbf
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/97-set-locale.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/set-locale.sh"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/98-mimersql.sh b/coin/provisioning/qtci-macos-10.15-x86_64/98-mimersql.sh
new file mode 100755
index 00000000..75be3f12
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/98-mimersql.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/mimersql.sh" "macos"
diff --git a/coin/provisioning/qtci-macos-10.15-x86_64/99-mac-version.sh b/coin/provisioning/qtci-macos-10.15-x86_64/99-mac-version.sh
new file mode 100755
index 00000000..b9b5aeb0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-10.15-x86_64/99-mac-version.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/macos-version.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/01-disable-app-reopen.sh b/coin/provisioning/qtci-macos-11-arm/01-disable-app-reopen.sh
new file mode 100755
index 00000000..382fb40c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/01-disable-app-reopen.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
+set -ex
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/disable-app-reopen.sh
diff --git a/coin/provisioning/qtci-macos-11-arm/01-disable-net-lso.sh b/coin/provisioning/qtci-macos-11-arm/01-disable-net-lso.sh
new file mode 100755
index 00000000..659ebe96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/01-disable-net-lso.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable_net_lso.sh
diff --git a/coin/provisioning/qtci-macos-11-arm/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-11-arm/01-disable-notifications_and_warnings.sh
new file mode 100755
index 00000000..27efbb62
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/01-disable-notifications_and_warnings.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable-notifications_and_warnings.sh
diff --git a/coin/provisioning/qtci-macos-11-arm/01-disable-updates.sh b/coin/provisioning/qtci-macos-11-arm/01-disable-updates.sh
new file mode 100755
index 00000000..a2b2a0f0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/01-disable-updates.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/system_updates.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/01-increase_limits.sh b/coin/provisioning/qtci-macos-11-arm/01-increase_limits.sh
new file mode 100755
index 00000000..08669e52
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/01-increase_limits.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/increase_limits.sh
diff --git a/coin/provisioning/qtci-macos-11-arm/01-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-macos-11-arm/01-mount-vcpkg-cache-drive.sh
new file mode 100755
index 00000000..2739f40f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/01-mount-vcpkg-cache-drive.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/mount-vcpkg-cache-drive.sh
+source "${BASH_SOURCE%/*}/../common/macos/mount-vcpkg-cache-drive.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-11-arm/01-sha1sum-compatibility.sh
new file mode 100755
index 00000000..e52367c8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/01-sha1sum-compatibility.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/macos/sha1sum-compatibility.sh
+source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/03-bashprofile.sh b/coin/provisioning/qtci-macos-11-arm/03-bashprofile.sh
new file mode 100755
index 00000000..4eed8433
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/03-bashprofile.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env 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
+
+set -ex
+
+# Read .bashrc if exist
+printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile
+
diff --git a/coin/provisioning/qtci-macos-11-arm/05-systemsetup.sh b/coin/provisioning/qtci-macos-11-arm/05-systemsetup.sh
new file mode 100755
index 00000000..1d8b7f09
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/05-systemsetup.sh
@@ -0,0 +1,80 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# This script modified system settings for automated use
+
+targetFile="$HOME/vncpw.txt"
+
+# Fetch password
+curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.ci.qt.io/input/semisecure/vncpw.txt" -o "$targetFile"
+shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0"
+
+{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null
+NTS_IP=10.212.2.216
+
+echo "Disable Screensaver"
+# For current session
+defaults -currentHost write com.apple.screensaver idleTime 0
+
+echo "Disable sleep"
+sudo pmset sleep 0 displaysleep 0
+
+# For session after a reboot
+mkdir -p "$HOME/Library/LaunchAgents"
+sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>org.qt.io.screensaver_disable</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>defaults</string>
+ <string>-currentHost</string>
+ <string>write</string>
+ <string>com.apple.screensaver</string>
+ <string>idleTime</string>
+ <string>0</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>KeepAlive</key>
+ <false/>
+ </dict>
+</plist>
+EOT
+
+defaults write com.apple.screensaver askForPassword -int 0
+
+echo "Set keyboard type rates and delays"
+# normal minimum is 15 (225 ms)
+defaults write -g InitialKeyRepeat -int 15
+# normal minimum is 2 (30 ms)
+defaults write -g KeyRepeat -int 2
+
+set +x
+echo "Enable remote desktop sharing"
+sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all
+set -x
+
+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
+
+sudo systemsetup settimezone GMT
+sudo systemsetup setusingnetworktime on
+sudo rm -f "$targetFile"
+
+# Enable automount for nfs shares
+sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master || sudo curl -o /etc/auto_master http://ci-files01-hki.ci.qt.io/input/mac/arm/auto_master
+sudo automount -cv
+
+# Disable multicast advertisements
+sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true
+
+# Enable Use keyboard navigation to move focus between controls
+defaults write -g AppleKeyboardUIMode -int 2
diff --git a/coin/provisioning/qtci-macos-11-arm/06-crashreporter.sh b/coin/provisioning/qtci-macos-11-arm/06-crashreporter.sh
new file mode 100755
index 00000000..cb7c0774
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/06-crashreporter.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env 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
+
+set -ex
+
+defaults write com.apple.CrashReporter DialogType server
diff --git a/coin/provisioning/qtci-macos-11-arm/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-11-arm/06-disable_spotlight.sh
new file mode 100755
index 00000000..ab85a262
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/06-disable_spotlight.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
+
+# shellcheck source=../common/macos/disable_spotlight.sh
+source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-11-arm/06-disable_update_downloads.sh
new file mode 100755
index 00000000..18cb98ea
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/06-disable_update_downloads.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
+set -ex
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/disable_update_downloads.sh
diff --git a/coin/provisioning/qtci-macos-11-arm/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-11-arm/07-SSL_keychain.sh
new file mode 100755
index 00000000..e14dcee9
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/07-SSL_keychain.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+# Enables the usage of temporary keychains for SSL autotests
+SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1"
diff --git a/coin/provisioning/qtci-macos-11-arm/15-xz.sh b/coin/provisioning/qtci-macos-11-arm/15-xz.sh
new file mode 100755
index 00000000..b7e00a20
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/15-xz.sh
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs XZ-Utils
+
+# XZ-Utils are needed for uncompressing xz-compressed files
+
+# pkg was self builded.
+# wget https://downloads.sourceforge.net/project/lzmautils/xz-5.2.5.tar.gz
+# tar -xzf xz-5.2.5.tar.gz -C /tmp
+# cd /tmp/xz-5.2.5
+# ./configure
+# make
+# ./configure prefix=/tmp/destination_root
+# make install
+# cd /tmp
+# pkgbuild --root destination_root --identifier io.qt.xz.pkg xz-arm64.pkg
+
+set -ex
+
+# shellcheck source=../common/macos/InstallPKGFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh"
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_11.0_big_sur_arm/xz-arm64.pkg"
+# SourceUrl="https://tukaani.org/xz/xz-5.2.5.tar.gz"
+
+SHA1="1afc327965d4af33399ae28f22c4b8e5a9e98dc2"
+DestDir="/"
+
+InstallPKGFromURL "$PrimaryUrl" "$PrimaryUrl" "$SHA1" "$DestDir"
+
+echo "XZ = 5.2.5" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-11-arm/20-java.sh b/coin/provisioning/qtci-macos-11-arm/20-java.sh
new file mode 100755
index 00000000..00c867f4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/20-java.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/java_arm.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/20-xcode.sh b/coin/provisioning/qtci-macos-11-arm/20-xcode.sh
new file mode 100755
index 00000000..0e844bf0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/20-xcode.sh
@@ -0,0 +1,22 @@
+#!/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
+
+# This script installs Xcode
+# Prerequisites: Have Xcode prefetched to local cache as xz compressed.
+# This can be achieved by fetching Xcode_9.xip from Apple Store.
+# Uncompress it with 'xar -xf Xcode_9.xip'
+# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py
+# with which you can run 'python parse_pbzx2.py Content'.
+# This will give you five files called "Content.part<00..05>.cpio.xz".
+# Extract those that have the extension .xz with xz.
+# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new"
+# Compress the new file with xz back to something like Xcode_9.xz
+# Upload the file to temporary storage for this script to use.
+
+set -ex
+
+# shellcheck source=../common/macos/install_xcode.sh
+source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"
+
+InstallXCode /net/ci-files01-hki.ci.qt.io/hdd/www/input/mac/Xcode_13.2.1.xip 13.2.1
diff --git a/coin/provisioning/qtci-macos-11-arm/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-11-arm/21-install-commandlinetools.sh
new file mode 100755
index 00000000..6aea79fb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/21-install-commandlinetools.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/install-commandlinetools.sh
+source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh"
+version="13.2"
+packageName="Command_Line_Tools_for_Xcode_$version.dmg"
+url="http://ci-files01-hki.ci.qt.io/input/mac/$packageName"
+sha1="b3a0b597435cfbc5c09ad5772cf7313c87032252"
+
+InstallCommandLineTools $url $url $sha1 $packageName $version
diff --git a/coin/provisioning/qtci-macos-11-arm/23-homebrew.sh b/coin/provisioning/qtci-macos-11-arm/23-homebrew.sh
new file mode 100755
index 00000000..c6377114
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/23-homebrew.sh
@@ -0,0 +1,12 @@
+#!/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
+
+# Will install homebrew package manager for macOS.
+# WARNING: Requires commandlinetools
+
+
+set -e
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/homebrew_for_arm_mac.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/24-pyenv.sh b/coin/provisioning/qtci-macos-11-arm/24-pyenv.sh
new file mode 100755
index 00000000..3a7a8f77
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/24-pyenv.sh
@@ -0,0 +1,49 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2021 The Qt Company Ltd.
+## Copyright (C) 2017 Pelagicore AG
+## Contact: https://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 3 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL3 included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 3 requirements
+## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 2.0 or (at your option) the GNU General
+## Public license version 3 or any later version approved by the KDE Free
+## Qt Foundation. The licenses are as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-2.0.html and
+## https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs python3
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+# Try with default
+/opt/homebrew/bin/brew install pyenv
diff --git a/coin/provisioning/qtci-macos-11-arm/24-sccache.sh b/coin/provisioning/qtci-macos-11-arm/24-sccache.sh
new file mode 100755
index 00000000..358b23fb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/24-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/macos/sccache.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/25-cmake.sh b/coin/provisioning/qtci-macos-11-arm/25-cmake.sh
new file mode 100755
index 00000000..33095880
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/25-cmake.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/cmake.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/25-mysql.sh b/coin/provisioning/qtci-macos-11-arm/25-mysql.sh
new file mode 100755
index 00000000..0be1e6e8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/25-mysql.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs MySQL
+
+# MySQL is needed for Qt to be able to support MySQL
+
+set -ex
+
+# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+SHA1="07949bd42f350b0504a1536b8830b809b4a34fca"
+appPrefix=""
+targetDir="/opt/mysql57/"
+
+sudo mkdir -p "/opt"
+
+InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir"
+
+SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin"
+echo "MySQL = 5.7.15" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-11-arm/25-pip.sh b/coin/provisioning/qtci-macos-11-arm/25-pip.sh
new file mode 100755
index 00000000..3fc865d0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/25-pip.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pip.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/25-postgresql.sh b/coin/provisioning/qtci-macos-11-arm/25-postgresql.sh
new file mode 100755
index 00000000..06cae6ef
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/25-postgresql.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/postgresql.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/25-python2.sh b/coin/provisioning/qtci-macos-11-arm/25-python2.sh
new file mode 100755
index 00000000..51331de4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/25-python2.sh
@@ -0,0 +1,22 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# Copyright (C) 2017 Pelagicore AG
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+# This script installs python2
+
+# shellcheck source=../common/macos/InstallPKGFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+# shellcheck source=../common/macos/pip.sh
+source "${BASH_SOURCE%/*}/../common/macos/pip.sh"
+
+InstallPip python2.7
+
+/usr/local/bin/pip install virtualenv
+
+SetEnvVar "PATH" "/Library/Frameworks/Python.framework/Versions/2.7/bin/:\$PATH"
+
+echo "python2 = 2.7.16" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-11-arm/25-python3.sh b/coin/provisioning/qtci-macos-11-arm/25-python3.sh
new file mode 100755
index 00000000..5a0df739
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/25-python3.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# Copyright (C) 2017 Pelagicore AG
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs python3
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+pyenv install 3.9.7
+
+/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user install virtualenv wheel html5lib
+
+SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/"
+SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/"
+# Use 3.9 as a default python
+SetEnvVar "PATH" "\$PYTHON3_PATH:\$PATH"
+
+echo "python3 = 3.9.7" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-11-arm/26-brew_packages.sh b/coin/provisioning/qtci-macos-11-arm/26-brew_packages.sh
new file mode 100644
index 00000000..aa5b881b
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/26-brew_packages.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env 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
+
+set -ex
+
+# Util-linux is needed for libuuid which is needed during the license service build
+# Path to util-linux folder is defined in 'src/libs/qlicenseservice/CMakeLists.txt'
+brew install util-linux
diff --git a/coin/provisioning/qtci-macos-11-arm/26-freetype.sh b/coin/provisioning/qtci-macos-11-arm/26-freetype.sh
new file mode 100755
index 00000000..fa0790f8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/26-freetype.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
+
+brew install freetype
diff --git a/coin/provisioning/qtci-macos-11-arm/26-jq.sh b/coin/provisioning/qtci-macos-11-arm/26-jq.sh
new file mode 100755
index 00000000..4dffcb96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/26-jq.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install jq
diff --git a/coin/provisioning/qtci-macos-11-arm/26-ninja.sh b/coin/provisioning/qtci-macos-11-arm/26-ninja.sh
new file mode 100755
index 00000000..4443eeb4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/26-ninja.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/ninja.sh
+source "${BASH_SOURCE%/*}/../common/macos/ninja.sh"
+
+
diff --git a/coin/provisioning/qtci-macos-11-arm/26-odbc.sh b/coin/provisioning/qtci-macos-11-arm/26-odbc.sh
new file mode 100755
index 00000000..2b6b013a
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/26-odbc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# Install libiodbc
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/libiodbc.sh" --with-universal
diff --git a/coin/provisioning/qtci-macos-11-arm/26-p7zip.sh b/coin/provisioning/qtci-macos-11-arm/26-p7zip.sh
new file mode 100755
index 00000000..8cdcd0c3
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/26-p7zip.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# Install 7z to be used from command line
+
+set -ex
+
+brew update
+brew install p7zip
diff --git a/coin/provisioning/qtci-macos-11-arm/26-pcre2.sh b/coin/provisioning/qtci-macos-11-arm/26-pcre2.sh
new file mode 100755
index 00000000..c10d6206
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/26-pcre2.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
+
+brew install pcre2
diff --git a/coin/provisioning/qtci-macos-11-arm/27-libclang.sh b/coin/provisioning/qtci-macos-11-arm/27-libclang.sh
new file mode 100755
index 00000000..cc025e6e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/27-libclang.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# There is only one mac package and common script uses it as a default
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-11-arm/28-libclang-v100-dyn.sh
new file mode 100755
index 00000000..d95e7e00
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/28-libclang-v100-dyn.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/29-install-pkgconfig.sh b/coin/provisioning/qtci-macos-11-arm/29-install-pkgconfig.sh
new file mode 100755
index 00000000..33e11580
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/29-install-pkgconfig.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pkgconfig.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/30-android.sh b/coin/provisioning/qtci-macos-11-arm/30-android.sh
new file mode 100755
index 00000000..3ae2cbf6
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/30-android.sh
@@ -0,0 +1,64 @@
+#!/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
+
+# This script install Android sdk and ndk.
+
+# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+targetFolder="/opt/android"
+sdkTargetFolder="$targetFolder/sdk"
+
+basePath="/net/ci-files01-hki.ci.qt.io/hdd/www/input/android"
+
+toolsVersion="2.1"
+# toolsFile dertermines tools version
+toolsFile="commandlinetools-mac-6609375_latest.zip"
+
+ndkVersion="r26b"
+ndkFile="android-ndk-$ndkVersion-darwin.zip"
+sdkBuildToolsVersion="34.0.0"
+# this is compile sdk version
+sdkApiLevel="android-34"
+
+toolsSourceFile="$basePath/$toolsFile"
+ndkSourceFile="$basePath/$ndkFile"
+
+echo "Unzipping Android NDK to '$targetFolder'"
+sudo unzip -q "$ndkSourceFile" -d "$targetFolder"
+echo "Unzipping Android Tools to '$sdkTargetFolder'"
+sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
+
+echo "Changing ownership of Android files."
+sudo chown -R qt:wheel "$targetFolder"
+
+# Run the following command under `eval` or `sh -c` so that the shell properly splits it
+sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
+
+sudo mkdir "$sdkTargetFolder/cmdline-tools"
+sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
+
+echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
+(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \
+ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
+ | eval "$sdkmanager_no_progress_bar_cmd"
+
+echo "Checking the contents of Android SDK..."
+ls -l "$sdkTargetFolder"
+
+SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder"
+SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion"
+SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64"
+SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
+
+cat << EOB >> ~/versions.txt
+Android SDK tools = $toolsVersion
+Android SDK Build Tools = $sdkBuildToolsVersion
+Android SDK API level = $sdkApiLevel
+Android NDK = $ndkVersion
+EOB
diff --git a/coin/provisioning/qtci-macos-11-arm/30-fbx.sh b/coin/provisioning/qtci-macos-11-arm/30-fbx.sh
new file mode 100755
index 00000000..e991bc08
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/30-fbx.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/fbx_macos.sh"
+
diff --git a/coin/provisioning/qtci-macos-11-arm/30-install-conan.sh b/coin/provisioning/qtci-macos-11-arm/30-install-conan.sh
new file mode 100755
index 00000000..67a4f911
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/30-nodejs.sh b/coin/provisioning/qtci-macos-11-arm/30-nodejs.sh
new file mode 100755
index 00000000..8f73b2d6
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/30-nodejs.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+brew install nodejs
+
diff --git a/coin/provisioning/qtci-macos-11-arm/35-install-breakpad.sh b/coin/provisioning/qtci-macos-11-arm/35-install-breakpad.sh
new file mode 100755
index 00000000..8a9dde56
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/35-install-breakpad.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/35-install_protobuf.sh b/coin/provisioning/qtci-macos-11-arm/35-install_protobuf.sh
new file mode 100755
index 00000000..ecb5f835
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/35-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-macos-11-arm/35-openssl.sh b/coin/provisioning/qtci-macos-11-arm/35-openssl.sh
new file mode 100755
index 00000000..c86788db
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/35-openssl.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-openssl.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal"
+
diff --git a/coin/provisioning/qtci-macos-11-arm/36-emsdk.sh b/coin/provisioning/qtci-macos-11-arm/36-emsdk.sh
new file mode 100755
index 00000000..c8aec444
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/36-emsdk.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/36-install_grpc.sh b/coin/provisioning/qtci-macos-11-arm/36-install_grpc.sh
new file mode 100755
index 00000000..ecd6a51f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/36-install_grpc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-macos-11-arm/40-qnx700.sh b/coin/provisioning/qtci-macos-11-arm/40-qnx700.sh
new file mode 100755
index 00000000..48286a67
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/40-qnx700.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QNX 7.
+
+targetFolder="/opt/"
+sourceFile="/net/ci-files01-hki.ci.qt.io/hdd/www/input/qnx/qnx700-20190325-2-macos.tar.xz"
+folderName="qnx700"
+
+sudo mkdir -p "$targetFolder"
+
+echo "Extracting QNX 7"
+sudo tar -C "$targetFolder" -Jxf $sourceFile
+
+sudo chown -R qt:wheel "$targetFolder"/"$folderName"
+
+# Verify that we have last file in zip
+if [ ! -f $targetFolder/$folderName/qnxsdp-env.sh ]; then
+ exit 1
+fi
+
+# Set env variables
+echo "export QNX_700=$targetFolder/$folderName" >> ~/.bashrc
+echo "QNX SDP = 7.0.0" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-11-arm/55-signtools.sh b/coin/provisioning/qtci-macos-11-arm/55-signtools.sh
new file mode 100755
index 00000000..ff5a977a
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/55-signtools.sh
@@ -0,0 +1,107 @@
+#!/usr/bin/env sh
+# 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
+
+# Install tools for singing packages
+# This script assume that OS is vanilla. Target machine dosen't have any signing certificates installed.
+
+set -ex
+
+cache="http://ci-files01-hki.ci.qt.io/input"
+cacheSigningTools="$cache/mac/sign_tools"
+targetFolder="/Users/qt"
+keychains="$targetFolder/Library/Keychains"
+
+Install() {
+
+ url=$1
+ targetFile=$2
+ expectedSha1=$3
+
+ echo "Fetching $targetFile from $url..."
+ curl --retry 5 --retry-delay 10 --retry-max-time 60 "$url" -o "$targetFile"
+ shasum "$targetFile" |grep "$expectedSha1"
+
+}
+
+# qt-license
+sha1QtLicense="9d59241d16f68d914f1c7aa1dc23e05faa169e8d"
+Install "$cache/semisecure/.qt-license" "$targetFolder/.qt-license" $sha1QtLicense
+
+# Login keychain
+sha1LoginKeychainPassword="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
+Install "$cacheSigningTools/login_keychain_password.txt" "$targetFolder/login_keychain_password.txt" "$sha1LoginKeychainPassword"
+{ loginKeychainPassword=$(cat "$targetFolder/login_keychain_password.txt"); } 2> /dev/null
+loginKeychain=$keychains/login.keychain
+
+echo "Setting login.keychain as default keychain.."
+security default-keychain -s $loginKeychain*
+echo "Unlocking Login keychain with password.."
+{ security unlock-keychain -p "$loginKeychainPassword" $loginKeychain*; } 2> /dev/null
+
+echo "remove the "Lock after X minutes of inactivity" from login.keychain"
+security set-keychain-settings $loginKeychain
+
+# Apple Worldwide Developer Relations Certification Authority -> https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
+sha1AppleWWDRCA="ff6797793a3cd798dc5b2abef56f73edc9f83a64"
+Install "$cacheSigningTools/AppleWWDRCA.cer" "$targetFolder/AppleWWDRCA.cer" $sha1AppleWWDRCA
+sudo security add-certificates -k $loginKeychain* "$targetFolder/AppleWWDRCA.cer"
+
+# Developer ID Certification Authority -> https://www.apple.com/certificateauthority/DeveloperIDCA.cer
+sha1DeveloperIDCA="3b166c3b7dc4b751c9fe2afab9135641e388e186"
+Install "$cacheSigningTools/DeveloperIDCA.cer" "$targetFolder/DeveloperIDCA.cer" $sha1DeveloperIDCA
+sudo security add-certificates -k $loginKeychain* "$targetFolder/DeveloperIDCA.cer"
+
+# Create script to unlock keychain 'security unlock-keychain -p 'password' Developer_ID_TheQtCompany.keychain'
+sha1UnLockKeychain="4398870e3f558ad28c80566b5f70e24dc29ea724"
+unlockKeychain=$targetFolder/unlock-keychain.sh
+{ Install "$cacheSigningTools/unlock-keychain.sh" "$unlockKeychain" $sha1UnLockKeychain; } 2> /dev/null
+sudo chmod 755 "$unlockKeychain"
+
+# Codesigning requirements file. The bundle identifier in the requirements file should match the identifier of the application that is signed.
+shaCsreq="2c3f00b1845a0f475673fd6934ba25ea51d1f910"
+csreq=$targetFolder/csreq_qt_company.txt
+Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq
+chmod 755 "$csreq"
+
+# iOS signing tools
+devIDKeychain="Developer_ID_TheQtCompany.keychain-db"
+shaDevIdKeychain="972cca1879cdaeeb6042f9879756c748a8d1eddc"
+Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain
+echo "Opening $devIDKeychain.."
+open "$keychains/$devIDKeychain"
+
+sha1DeveloperIDTheQtCompanyKeychainPassword="d758e067736bbda7a91ffaec66cd38afdaf68ea6"
+Install "$cacheSigningTools/Developer_ID_TheQtCompany_keychain_password.txt" "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt" "$sha1DeveloperIDTheQtCompanyKeychainPassword"
+{ DeveloperIDTheQtCompanyKeychainPassword=$(cat "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt"); } 2> /dev/null
+
+echo "Unlocking $devIDKeychain with password.."
+{ security unlock-keychain -p "$DeveloperIDTheQtCompanyKeychainPassword" $keychains/Developer_ID_TheQtCompany.keychain; } 2> /dev/null
+security set-keychain-settings $keychains/Developer_ID_TheQtCompany.keychain
+
+sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
+{ Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios; } 2> /dev/null
+{ iosPassword=$(cat "$targetFolder/ios_password.txt"); } 2> /dev/null
+
+iPhoneDeveloper="iPhoneDeveloperCiTeam2020.p12"
+shaIPhoneDeveloper="73136e44fed850f398e85908e4a73f20a6bdd8a2"
+Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper
+echo "Importing $iPhoneDeveloper.."
+{ security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null
+
+iPhoneDistribution="iPhoneDistributionCiTeam2020.p12"
+shaIPhoneDistribution="36215c3cbc6bfee48e86aafbd53c56282fe36d8d"
+Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution
+echo "Importing $iPhoneDistribution.."
+{ security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null
+
+# Mobileprovision
+echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.."
+mkdir "$targetFolder/Library/MobileDevice"
+mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles"
+shaMobileprovision="ec9697276253ca7bf4401912236f0e6fde4214da"
+Install "$cacheSigningTools/latest_ios_cert_2020/iOS_Dev_2020_citeam.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev_2020_citeam.mobileprovision" $shaMobileprovision
+
+# Removing password files
+rm -fr "$targetFolder/login_keychain_password.txt"
+
diff --git a/coin/provisioning/qtci-macos-11-arm/80-screenresolution.sh b/coin/provisioning/qtci-macos-11-arm/80-screenresolution.sh
new file mode 100755
index 00000000..ed905a33
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/80-screenresolution.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
+
+"$(dirname "$0")"/../common/macos/screenresolution.sh
+
diff --git a/coin/provisioning/qtci-macos-11-arm/81-bluetooth.sh b/coin/provisioning/qtci-macos-11-arm/81-bluetooth.sh
new file mode 100755
index 00000000..c58b9a34
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/81-bluetooth.sh
@@ -0,0 +1,10 @@
+#!/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
+
+brew install blueutil
+
+#Disable Bluetooth
+blueutil -p 0
diff --git a/coin/provisioning/qtci-macos-11-arm/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-11-arm/90-install-ffmpeg.sh
new file mode 100755
index 00000000..23cb13e1
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/90-install-ffmpeg.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
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-11-arm/97-set-locale.sh b/coin/provisioning/qtci-macos-11-arm/97-set-locale.sh
new file mode 100755
index 00000000..bc966cbf
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/97-set-locale.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/set-locale.sh"
diff --git a/coin/provisioning/qtci-macos-11-arm/98-mimersql.sh b/coin/provisioning/qtci-macos-11-arm/98-mimersql.sh
new file mode 100755
index 00000000..70d5bc1d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/98-mimersql.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/mimersql.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-11-arm/99-mac-version.sh b/coin/provisioning/qtci-macos-11-arm/99-mac-version.sh
new file mode 100755
index 00000000..b9b5aeb0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-arm/99-mac-version.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/macos-version.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/01-disable-net-lso.sh b/coin/provisioning/qtci-macos-11-x86_64/01-disable-net-lso.sh
new file mode 100755
index 00000000..659ebe96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/01-disable-net-lso.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable_net_lso.sh
diff --git a/coin/provisioning/qtci-macos-11-x86_64/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-11-x86_64/01-disable-notifications_and_warnings.sh
new file mode 100755
index 00000000..27efbb62
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/01-disable-notifications_and_warnings.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable-notifications_and_warnings.sh
diff --git a/coin/provisioning/qtci-macos-11-x86_64/01-disable-updates.sh b/coin/provisioning/qtci-macos-11-x86_64/01-disable-updates.sh
new file mode 100755
index 00000000..a2b2a0f0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/01-disable-updates.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/system_updates.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/01-enable_zsh_history_and_viminfo.sh b/coin/provisioning/qtci-macos-11-x86_64/01-enable_zsh_history_and_viminfo.sh
new file mode 100755
index 00000000..6004b140
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/01-enable_zsh_history_and_viminfo.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+# shellcheck source=../common/macos/enable_zsh_history_and_viminfo.sh
+source "${BASH_SOURCE%/*}/../common/macos/enable_zsh_history_and_viminfo.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/01-increase_limits.sh b/coin/provisioning/qtci-macos-11-x86_64/01-increase_limits.sh
new file mode 100755
index 00000000..08669e52
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/01-increase_limits.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/increase_limits.sh
diff --git a/coin/provisioning/qtci-macos-11-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-macos-11-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..abd9ba0d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/telegraf_install.sh
diff --git a/coin/provisioning/qtci-macos-11-x86_64/01-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-macos-11-x86_64/01-mount-vcpkg-cache-drive.sh
new file mode 100755
index 00000000..2739f40f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/01-mount-vcpkg-cache-drive.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/mount-vcpkg-cache-drive.sh
+source "${BASH_SOURCE%/*}/../common/macos/mount-vcpkg-cache-drive.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-11-x86_64/01-sha1sum-compatibility.sh
new file mode 100755
index 00000000..e52367c8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/01-sha1sum-compatibility.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/macos/sha1sum-compatibility.sh
+source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-11-x86_64/03-bashprofile.sh
new file mode 100755
index 00000000..4eed8433
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/03-bashprofile.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env 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
+
+set -ex
+
+# Read .bashrc if exist
+printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile
+
diff --git a/coin/provisioning/qtci-macos-11-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-11-x86_64/05-systemsetup.sh
new file mode 100755
index 00000000..115c0489
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/05-systemsetup.sh
@@ -0,0 +1,80 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# This script modified system settings for automated use
+
+targetFile="$HOME/vncpw.txt"
+
+# Fetch password
+curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.ci.qt.io/input/semisecure/vncpw.txt" -o "$targetFile"
+shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0"
+
+{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null
+NTS_IP=10.212.2.216
+
+echo "Disable Screensaver"
+# For current session
+defaults -currentHost write com.apple.screensaver idleTime 0
+
+echo "Disable sleep"
+sudo pmset sleep 0 displaysleep 0
+
+# For session after a reboot
+mkdir -p "$HOME/Library/LaunchAgents"
+sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>org.qt.io.screensaver_disable</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>defaults</string>
+ <string>-currentHost</string>
+ <string>write</string>
+ <string>com.apple.screensaver</string>
+ <string>idleTime</string>
+ <string>0</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>KeepAlive</key>
+ <false/>
+ </dict>
+</plist>
+EOT
+
+defaults write com.apple.screensaver askForPassword -int 0
+
+echo "Set keyboard type rates and delays"
+# normal minimum is 15 (225 ms)
+defaults write -g InitialKeyRepeat -int 15
+# normal minimum is 2 (30 ms)
+defaults write -g KeyRepeat -int 2
+
+set +x
+echo "Enable remote desktop sharing"
+sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all
+set -x
+
+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
+
+sudo systemsetup settimezone GMT
+sudo systemsetup setusingnetworktime off
+sudo rm -f "$targetFile"
+
+# Enable automount for nfs shares
+sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master
+sudo automount -cv
+
+# Disable multicast advertisements
+sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true
+
+# Enable Use keyboard navigation to move focus between controls
+defaults write -g AppleKeyboardUIMode -int 2
diff --git a/coin/provisioning/qtci-macos-11-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-11-x86_64/06-crashreporter.sh
new file mode 100755
index 00000000..cb7c0774
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/06-crashreporter.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env 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
+
+set -ex
+
+defaults write com.apple.CrashReporter DialogType server
diff --git a/coin/provisioning/qtci-macos-11-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-11-x86_64/06-disable_spotlight.sh
new file mode 100755
index 00000000..ab85a262
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/06-disable_spotlight.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
+
+# shellcheck source=../common/macos/disable_spotlight.sh
+source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-11-x86_64/06-disable_update_downloads.sh
new file mode 100755
index 00000000..18cb98ea
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/06-disable_update_downloads.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
+set -ex
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/disable_update_downloads.sh
diff --git a/coin/provisioning/qtci-macos-11-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-11-x86_64/07-SSL_keychain.sh
new file mode 100755
index 00000000..e14dcee9
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/07-SSL_keychain.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+# Enables the usage of temporary keychains for SSL autotests
+SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-11-x86_64/15-xz.sh
new file mode 100755
index 00000000..ffe00992
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/15-xz.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs XZ-Utils
+
+# XZ-Utils are needed for uncompressing xz-compressed files
+
+set -ex
+
+# shellcheck source=../common/macos/InstallPKGFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/XZ.pkg"
+AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg"
+SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67"
+DestDir="/"
+
+InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
+
+echo "XZ = 5.0.7" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-11-x86_64/20-java.sh b/coin/provisioning/qtci-macos-11-x86_64/20-java.sh
new file mode 100755
index 00000000..325fee63
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/20-java.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/java.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-11-x86_64/20-xcode.sh
new file mode 100755
index 00000000..0e844bf0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/20-xcode.sh
@@ -0,0 +1,22 @@
+#!/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
+
+# This script installs Xcode
+# Prerequisites: Have Xcode prefetched to local cache as xz compressed.
+# This can be achieved by fetching Xcode_9.xip from Apple Store.
+# Uncompress it with 'xar -xf Xcode_9.xip'
+# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py
+# with which you can run 'python parse_pbzx2.py Content'.
+# This will give you five files called "Content.part<00..05>.cpio.xz".
+# Extract those that have the extension .xz with xz.
+# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new"
+# Compress the new file with xz back to something like Xcode_9.xz
+# Upload the file to temporary storage for this script to use.
+
+set -ex
+
+# shellcheck source=../common/macos/install_xcode.sh
+source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"
+
+InstallXCode /net/ci-files01-hki.ci.qt.io/hdd/www/input/mac/Xcode_13.2.1.xip 13.2.1
diff --git a/coin/provisioning/qtci-macos-11-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-11-x86_64/21-install-commandlinetools.sh
new file mode 100755
index 00000000..6aea79fb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/21-install-commandlinetools.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/install-commandlinetools.sh
+source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh"
+version="13.2"
+packageName="Command_Line_Tools_for_Xcode_$version.dmg"
+url="http://ci-files01-hki.ci.qt.io/input/mac/$packageName"
+sha1="b3a0b597435cfbc5c09ad5772cf7313c87032252"
+
+InstallCommandLineTools $url $url $sha1 $packageName $version
diff --git a/coin/provisioning/qtci-macos-11-x86_64/24-sccache.sh b/coin/provisioning/qtci-macos-11-x86_64/24-sccache.sh
new file mode 100755
index 00000000..358b23fb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/24-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/macos/sccache.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-11-x86_64/25-cmake.sh
new file mode 100755
index 00000000..33095880
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/25-cmake.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/cmake.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-11-x86_64/25-homebrew.sh
new file mode 100755
index 00000000..f83960f4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/25-homebrew.sh
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Will install homebrew package manager for macOS.
+# WARNING: Requires commandlinetools
+
+
+set -e
+
+. "$(dirname "$0")"/../common/unix/DownloadURL.sh
+
+
+DownloadURL \
+ http://ci-files01-hki.ci.qt.io/input/mac/homebrew/a822f0d0f1838c07e86b356fcd2bf93c7a11c2aa/install.sh \
+ https://raw.githubusercontent.com/Homebrew/install/c744a716f9845988d01e6e238eee7117b8c366c9/install \
+ 3210da71e12a699ab3bba43910a6d5fc64b92000 \
+ /tmp/homebrew_install.sh
+
+DownloadURL "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw"
+{ pw=$(cat "/Users/qt/pw"); } 2> /dev/null
+sudo chmod 755 /tmp/homebrew_install.sh
+{ (echo "$pw" | /tmp/homebrew_install.sh); } 2> /dev/null
+rm -f "/Users/qt/pw"
+
+# No need to manually do `brew update`, the homebrew installer script does it.
+### brew update
+
diff --git a/coin/provisioning/qtci-macos-11-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-11-x86_64/25-mysql.sh
new file mode 100755
index 00000000..0be1e6e8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/25-mysql.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs MySQL
+
+# MySQL is needed for Qt to be able to support MySQL
+
+set -ex
+
+# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+SHA1="07949bd42f350b0504a1536b8830b809b4a34fca"
+appPrefix=""
+targetDir="/opt/mysql57/"
+
+sudo mkdir -p "/opt"
+
+InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir"
+
+SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin"
+echo "MySQL = 5.7.15" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-11-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-11-x86_64/25-pip.sh
new file mode 100755
index 00000000..3fc865d0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/25-pip.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pip.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-11-x86_64/25-postgresql.sh
new file mode 100755
index 00000000..06cae6ef
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/25-postgresql.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/postgresql.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-11-x86_64/25-python2.sh
new file mode 100755
index 00000000..4c88a413
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/25-python2.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
+
+# shellcheck source=../common/macos/python2.sh
+source "${BASH_SOURCE%/*}/../common/macos/python2.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-11-x86_64/25-python3.sh
new file mode 100755
index 00000000..8fee606c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/25-python3.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
+
+# shellcheck source=../common/macos/python3.sh
+source "${BASH_SOURCE%/*}/../common/macos/python3.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/26-freetype.sh b/coin/provisioning/qtci-macos-11-x86_64/26-freetype.sh
new file mode 100755
index 00000000..fa0790f8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/26-freetype.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
+
+brew install freetype
diff --git a/coin/provisioning/qtci-macos-11-x86_64/26-jq.sh b/coin/provisioning/qtci-macos-11-x86_64/26-jq.sh
new file mode 100755
index 00000000..4dffcb96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/26-jq.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install jq
diff --git a/coin/provisioning/qtci-macos-11-x86_64/26-ninja.sh b/coin/provisioning/qtci-macos-11-x86_64/26-ninja.sh
new file mode 100755
index 00000000..4443eeb4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/26-ninja.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/ninja.sh
+source "${BASH_SOURCE%/*}/../common/macos/ninja.sh"
+
+
diff --git a/coin/provisioning/qtci-macos-11-x86_64/26-odbc.sh b/coin/provisioning/qtci-macos-11-x86_64/26-odbc.sh
new file mode 100755
index 00000000..2b6b013a
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/26-odbc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# Install libiodbc
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/libiodbc.sh" --with-universal
diff --git a/coin/provisioning/qtci-macos-11-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-11-x86_64/26-p7zip.sh
new file mode 100755
index 00000000..8cdcd0c3
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/26-p7zip.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# Install 7z to be used from command line
+
+set -ex
+
+brew update
+brew install p7zip
diff --git a/coin/provisioning/qtci-macos-11-x86_64/26-pcre2.sh b/coin/provisioning/qtci-macos-11-x86_64/26-pcre2.sh
new file mode 100755
index 00000000..c10d6206
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/26-pcre2.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
+
+brew install pcre2
diff --git a/coin/provisioning/qtci-macos-11-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-11-x86_64/27-libclang.sh
new file mode 100755
index 00000000..cc025e6e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/27-libclang.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# There is only one mac package and common script uses it as a default
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-11-x86_64/28-libclang-v100-dyn.sh
new file mode 100755
index 00000000..d95e7e00
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/28-libclang-v100-dyn.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/29-install-pkgconfig.sh b/coin/provisioning/qtci-macos-11-x86_64/29-install-pkgconfig.sh
new file mode 100755
index 00000000..33e11580
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/29-install-pkgconfig.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pkgconfig.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/29-libusb.sh b/coin/provisioning/qtci-macos-11-x86_64/29-libusb.sh
new file mode 100755
index 00000000..e9e9e238
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/29-libusb.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+
+"$BASEDIR/../common/macos/libusb.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/30-android.sh b/coin/provisioning/qtci-macos-11-x86_64/30-android.sh
new file mode 100755
index 00000000..11bcf7ad
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/30-android.sh
@@ -0,0 +1,65 @@
+#!/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
+
+# This script install Android sdk and ndk.
+
+# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+targetFolder="/opt/android"
+sdkTargetFolder="$targetFolder/sdk"
+
+basePath="/net/ci-files01-hki.ci.qt.io/hdd/www/input/android"
+
+toolsVersion="2.1"
+# toolsFile dertermines tools version
+toolsFile="commandlinetools-mac-6609375_latest.zip"
+
+ndkVersion="r26b"
+ndkFile="android-ndk-$ndkVersion-darwin.zip"
+sdkBuildToolsVersion="34.0.0"
+# this is compile sdk version
+sdkApiLevel="android-34"
+
+toolsSourceFile="$basePath/$toolsFile"
+ndkSourceFile="$basePath/$ndkFile"
+
+echo "Unzipping Android NDK to '$targetFolder'"
+sudo unzip -q "$ndkSourceFile" -d "$targetFolder"
+echo "Unzipping Android Tools to '$sdkTargetFolder'"
+sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
+
+echo "Changing ownership of Android files."
+sudo chown -R qt:wheel "$targetFolder"
+sudo chmod -R 755 $targetFolder
+
+# Run the following command under `eval` or `sh -c` so that the shell properly splits it
+sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
+
+sudo mkdir "$sdkTargetFolder/cmdline-tools"
+sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
+
+echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
+(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \
+ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
+ | eval "$sdkmanager_no_progress_bar_cmd"
+
+echo "Checking the contents of Android SDK..."
+ls -l "$sdkTargetFolder"
+
+SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder"
+SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion"
+SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64"
+SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
+
+cat << EOB >> ~/versions.txt
+Android SDK tools = $toolsVersion
+Android SDK Build Tools = $sdkBuildToolsVersion
+Android SDK API level = $sdkApiLevel
+Android NDK = $ndkVersion
+EOB
diff --git a/coin/provisioning/qtci-macos-11-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-11-x86_64/30-fbx.sh
new file mode 100755
index 00000000..e991bc08
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/30-fbx.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/fbx_macos.sh"
+
diff --git a/coin/provisioning/qtci-macos-11-x86_64/30-install-conan.sh b/coin/provisioning/qtci-macos-11-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..8d90ef37
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh" "macos"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-11-x86_64/30-nodejs.sh
new file mode 100755
index 00000000..a5cf7d4d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/30-nodejs.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/nodejs.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-macos-11-x86_64/35-install-breakpad.sh
new file mode 100755
index 00000000..8a9dde56
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/35-install-breakpad.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/35-install_protobuf.sh b/coin/provisioning/qtci-macos-11-x86_64/35-install_protobuf.sh
new file mode 100755
index 00000000..ecb5f835
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/35-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-macos-11-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-11-x86_64/35-openssl.sh
new file mode 100755
index 00000000..c86788db
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/35-openssl.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-openssl.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal"
+
diff --git a/coin/provisioning/qtci-macos-11-x86_64/36-emsdk.sh b/coin/provisioning/qtci-macos-11-x86_64/36-emsdk.sh
new file mode 100755
index 00000000..c8aec444
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/36-emsdk.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/36-install_grpc.sh b/coin/provisioning/qtci-macos-11-x86_64/36-install_grpc.sh
new file mode 100755
index 00000000..ecd6a51f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/36-install_grpc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-macos-11-x86_64/80-screenresolution.sh b/coin/provisioning/qtci-macos-11-x86_64/80-screenresolution.sh
new file mode 100755
index 00000000..ed905a33
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/80-screenresolution.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
+
+"$(dirname "$0")"/../common/macos/screenresolution.sh
+
diff --git a/coin/provisioning/qtci-macos-11-x86_64/81-bluetooth.sh b/coin/provisioning/qtci-macos-11-x86_64/81-bluetooth.sh
new file mode 100755
index 00000000..c58b9a34
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/81-bluetooth.sh
@@ -0,0 +1,10 @@
+#!/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
+
+brew install blueutil
+
+#Disable Bluetooth
+blueutil -p 0
diff --git a/coin/provisioning/qtci-macos-11-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-11-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..23cb13e1
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/90-install-ffmpeg.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
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-11-x86_64/90-squish.sh
new file mode 100755
index 00000000..c2658d0e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/90-squish.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-macos-11-x86_64/97-set-locale.sh b/coin/provisioning/qtci-macos-11-x86_64/97-set-locale.sh
new file mode 100755
index 00000000..bc966cbf
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/97-set-locale.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/set-locale.sh"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/98-mimersql.sh b/coin/provisioning/qtci-macos-11-x86_64/98-mimersql.sh
new file mode 100755
index 00000000..70d5bc1d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/98-mimersql.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/mimersql.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-11-x86_64/99-mac-version.sh b/coin/provisioning/qtci-macos-11-x86_64/99-mac-version.sh
new file mode 100755
index 00000000..b9b5aeb0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-11-x86_64/99-mac-version.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/macos-version.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/01-disable-app-reopen.sh b/coin/provisioning/qtci-macos-12-arm/01-disable-app-reopen.sh
new file mode 100755
index 00000000..382fb40c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/01-disable-app-reopen.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
+set -ex
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/disable-app-reopen.sh
diff --git a/coin/provisioning/qtci-macos-12-arm/01-disable-net-lso.sh b/coin/provisioning/qtci-macos-12-arm/01-disable-net-lso.sh
new file mode 100755
index 00000000..659ebe96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/01-disable-net-lso.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable_net_lso.sh
diff --git a/coin/provisioning/qtci-macos-12-arm/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-12-arm/01-disable-notifications_and_warnings.sh
new file mode 100755
index 00000000..27efbb62
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/01-disable-notifications_and_warnings.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable-notifications_and_warnings.sh
diff --git a/coin/provisioning/qtci-macos-12-arm/01-disable-updates.sh b/coin/provisioning/qtci-macos-12-arm/01-disable-updates.sh
new file mode 100755
index 00000000..a2b2a0f0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/01-disable-updates.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/system_updates.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/01-increase_limits.sh b/coin/provisioning/qtci-macos-12-arm/01-increase_limits.sh
new file mode 100755
index 00000000..08669e52
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/01-increase_limits.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/increase_limits.sh
diff --git a/coin/provisioning/qtci-macos-12-arm/01-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-macos-12-arm/01-mount-vcpkg-cache-drive.sh
new file mode 100755
index 00000000..2739f40f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/01-mount-vcpkg-cache-drive.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/mount-vcpkg-cache-drive.sh
+source "${BASH_SOURCE%/*}/../common/macos/mount-vcpkg-cache-drive.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-12-arm/01-sha1sum-compatibility.sh
new file mode 100755
index 00000000..e52367c8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/01-sha1sum-compatibility.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/macos/sha1sum-compatibility.sh
+source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/03-bashprofile.sh b/coin/provisioning/qtci-macos-12-arm/03-bashprofile.sh
new file mode 100755
index 00000000..4eed8433
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/03-bashprofile.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env 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
+
+set -ex
+
+# Read .bashrc if exist
+printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile
+
diff --git a/coin/provisioning/qtci-macos-12-arm/05-systemsetup.sh b/coin/provisioning/qtci-macos-12-arm/05-systemsetup.sh
new file mode 100755
index 00000000..1d8b7f09
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/05-systemsetup.sh
@@ -0,0 +1,80 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# This script modified system settings for automated use
+
+targetFile="$HOME/vncpw.txt"
+
+# Fetch password
+curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.ci.qt.io/input/semisecure/vncpw.txt" -o "$targetFile"
+shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0"
+
+{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null
+NTS_IP=10.212.2.216
+
+echo "Disable Screensaver"
+# For current session
+defaults -currentHost write com.apple.screensaver idleTime 0
+
+echo "Disable sleep"
+sudo pmset sleep 0 displaysleep 0
+
+# For session after a reboot
+mkdir -p "$HOME/Library/LaunchAgents"
+sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>org.qt.io.screensaver_disable</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>defaults</string>
+ <string>-currentHost</string>
+ <string>write</string>
+ <string>com.apple.screensaver</string>
+ <string>idleTime</string>
+ <string>0</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>KeepAlive</key>
+ <false/>
+ </dict>
+</plist>
+EOT
+
+defaults write com.apple.screensaver askForPassword -int 0
+
+echo "Set keyboard type rates and delays"
+# normal minimum is 15 (225 ms)
+defaults write -g InitialKeyRepeat -int 15
+# normal minimum is 2 (30 ms)
+defaults write -g KeyRepeat -int 2
+
+set +x
+echo "Enable remote desktop sharing"
+sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all
+set -x
+
+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
+
+sudo systemsetup settimezone GMT
+sudo systemsetup setusingnetworktime on
+sudo rm -f "$targetFile"
+
+# Enable automount for nfs shares
+sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master || sudo curl -o /etc/auto_master http://ci-files01-hki.ci.qt.io/input/mac/arm/auto_master
+sudo automount -cv
+
+# Disable multicast advertisements
+sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true
+
+# Enable Use keyboard navigation to move focus between controls
+defaults write -g AppleKeyboardUIMode -int 2
diff --git a/coin/provisioning/qtci-macos-12-arm/06-crashreporter.sh b/coin/provisioning/qtci-macos-12-arm/06-crashreporter.sh
new file mode 100755
index 00000000..cb7c0774
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/06-crashreporter.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env 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
+
+set -ex
+
+defaults write com.apple.CrashReporter DialogType server
diff --git a/coin/provisioning/qtci-macos-12-arm/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-12-arm/06-disable_spotlight.sh
new file mode 100755
index 00000000..ab85a262
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/06-disable_spotlight.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
+
+# shellcheck source=../common/macos/disable_spotlight.sh
+source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-12-arm/06-disable_update_downloads.sh
new file mode 100755
index 00000000..18cb98ea
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/06-disable_update_downloads.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
+set -ex
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/disable_update_downloads.sh
diff --git a/coin/provisioning/qtci-macos-12-arm/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-12-arm/07-SSL_keychain.sh
new file mode 100755
index 00000000..e14dcee9
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/07-SSL_keychain.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+# Enables the usage of temporary keychains for SSL autotests
+SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1"
diff --git a/coin/provisioning/qtci-macos-12-arm/15-xz.sh b/coin/provisioning/qtci-macos-12-arm/15-xz.sh
new file mode 100755
index 00000000..b7e00a20
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/15-xz.sh
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs XZ-Utils
+
+# XZ-Utils are needed for uncompressing xz-compressed files
+
+# pkg was self builded.
+# wget https://downloads.sourceforge.net/project/lzmautils/xz-5.2.5.tar.gz
+# tar -xzf xz-5.2.5.tar.gz -C /tmp
+# cd /tmp/xz-5.2.5
+# ./configure
+# make
+# ./configure prefix=/tmp/destination_root
+# make install
+# cd /tmp
+# pkgbuild --root destination_root --identifier io.qt.xz.pkg xz-arm64.pkg
+
+set -ex
+
+# shellcheck source=../common/macos/InstallPKGFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh"
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_11.0_big_sur_arm/xz-arm64.pkg"
+# SourceUrl="https://tukaani.org/xz/xz-5.2.5.tar.gz"
+
+SHA1="1afc327965d4af33399ae28f22c4b8e5a9e98dc2"
+DestDir="/"
+
+InstallPKGFromURL "$PrimaryUrl" "$PrimaryUrl" "$SHA1" "$DestDir"
+
+echo "XZ = 5.2.5" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-12-arm/20-java.sh b/coin/provisioning/qtci-macos-12-arm/20-java.sh
new file mode 100755
index 00000000..00c867f4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/20-java.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/java_arm.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/20-xcode.sh b/coin/provisioning/qtci-macos-12-arm/20-xcode.sh
new file mode 100755
index 00000000..102211cc
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/20-xcode.sh
@@ -0,0 +1,22 @@
+#!/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
+
+# This script installs Xcode
+# Prerequisites: Have Xcode prefetched to local cache as xz compressed.
+# This can be achieved by fetching Xcode_9.xip from Apple Store.
+# Uncompress it with 'xar -xf Xcode_9.xip'
+# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py
+# with which you can run 'python parse_pbzx2.py Content'.
+# This will give you five files called "Content.part<00..05>.cpio.xz".
+# Extract those that have the extension .xz with xz.
+# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new"
+# Compress the new file with xz back to something like Xcode_9.xz
+# Upload the file to temporary storage for this script to use.
+
+set -ex
+
+# shellcheck source=../common/macos/install_xcode.sh
+source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"
+
+InstallXCode /net/ci-files01-hki.ci.qt.io/hdd/www/input/mac/Xcode_14.2.xip 14.2
diff --git a/coin/provisioning/qtci-macos-12-arm/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-12-arm/21-install-commandlinetools.sh
new file mode 100755
index 00000000..d2981173
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/21-install-commandlinetools.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/install-commandlinetools.sh
+source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh"
+version="14.2"
+packageName="Command_Line_Tools_for_Xcode_$version.dmg"
+url="http://ci-files01-hki.ci.qt.io/input/mac/$packageName"
+sha1="f9d18da696bc54755bd85fb4f42c0a8866bdade6"
+
+InstallCommandLineTools $url $url $sha1 $packageName $version
diff --git a/coin/provisioning/qtci-macos-12-arm/23-homebrew.sh b/coin/provisioning/qtci-macos-12-arm/23-homebrew.sh
new file mode 100755
index 00000000..c6377114
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/23-homebrew.sh
@@ -0,0 +1,12 @@
+#!/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
+
+# Will install homebrew package manager for macOS.
+# WARNING: Requires commandlinetools
+
+
+set -e
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/homebrew_for_arm_mac.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/24-pyenv.sh b/coin/provisioning/qtci-macos-12-arm/24-pyenv.sh
new file mode 100755
index 00000000..3a7a8f77
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/24-pyenv.sh
@@ -0,0 +1,49 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2021 The Qt Company Ltd.
+## Copyright (C) 2017 Pelagicore AG
+## Contact: https://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 3 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL3 included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 3 requirements
+## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 2.0 or (at your option) the GNU General
+## Public license version 3 or any later version approved by the KDE Free
+## Qt Foundation. The licenses are as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-2.0.html and
+## https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs python3
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+# Try with default
+/opt/homebrew/bin/brew install pyenv
diff --git a/coin/provisioning/qtci-macos-12-arm/24-sccache.sh b/coin/provisioning/qtci-macos-12-arm/24-sccache.sh
new file mode 100755
index 00000000..358b23fb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/24-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/macos/sccache.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/25-cmake.sh b/coin/provisioning/qtci-macos-12-arm/25-cmake.sh
new file mode 100755
index 00000000..33095880
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/25-cmake.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/cmake.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/25-mysql.sh b/coin/provisioning/qtci-macos-12-arm/25-mysql.sh
new file mode 100755
index 00000000..0be1e6e8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/25-mysql.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs MySQL
+
+# MySQL is needed for Qt to be able to support MySQL
+
+set -ex
+
+# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+SHA1="07949bd42f350b0504a1536b8830b809b4a34fca"
+appPrefix=""
+targetDir="/opt/mysql57/"
+
+sudo mkdir -p "/opt"
+
+InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir"
+
+SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin"
+echo "MySQL = 5.7.15" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-12-arm/25-pip.sh b/coin/provisioning/qtci-macos-12-arm/25-pip.sh
new file mode 100755
index 00000000..3fc865d0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/25-pip.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pip.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/25-postgresql.sh b/coin/provisioning/qtci-macos-12-arm/25-postgresql.sh
new file mode 100755
index 00000000..06cae6ef
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/25-postgresql.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/postgresql.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/25-python.sh b/coin/provisioning/qtci-macos-12-arm/25-python.sh
new file mode 100755
index 00000000..9bfb6384
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/25-python.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# Copyright (C) 2017 Pelagicore AG
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs python3
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+pyenv install 3.9.7
+
+/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user install virtualenv wheel html5lib
+
+SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/"
+SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/"
+# Use 3.9 as a default python
+SetEnvVar "PATH" "\$PYTHON3_PATH:\$PATH"
+
+# QtWebengine still requires python2
+pyenv install 2.7.18
+SetEnvVar "PYTHON2_PATH" "/Users/qt/.pyenv/versions/2.7.18/bin/"
+
+echo "python3 = 3.9.7" >> ~/versions.txt
+echo "python2 = 2.7.18" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-12-arm/26-brew_packages.sh b/coin/provisioning/qtci-macos-12-arm/26-brew_packages.sh
new file mode 100644
index 00000000..aa5b881b
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/26-brew_packages.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env 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
+
+set -ex
+
+# Util-linux is needed for libuuid which is needed during the license service build
+# Path to util-linux folder is defined in 'src/libs/qlicenseservice/CMakeLists.txt'
+brew install util-linux
diff --git a/coin/provisioning/qtci-macos-12-arm/26-freetype.sh b/coin/provisioning/qtci-macos-12-arm/26-freetype.sh
new file mode 100755
index 00000000..fa0790f8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/26-freetype.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
+
+brew install freetype
diff --git a/coin/provisioning/qtci-macos-12-arm/26-jq.sh b/coin/provisioning/qtci-macos-12-arm/26-jq.sh
new file mode 100755
index 00000000..4dffcb96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/26-jq.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install jq
diff --git a/coin/provisioning/qtci-macos-12-arm/26-ninja.sh b/coin/provisioning/qtci-macos-12-arm/26-ninja.sh
new file mode 100755
index 00000000..4443eeb4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/26-ninja.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/ninja.sh
+source "${BASH_SOURCE%/*}/../common/macos/ninja.sh"
+
+
diff --git a/coin/provisioning/qtci-macos-12-arm/26-odbc.sh b/coin/provisioning/qtci-macos-12-arm/26-odbc.sh
new file mode 100755
index 00000000..2b6b013a
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/26-odbc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# Install libiodbc
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/libiodbc.sh" --with-universal
diff --git a/coin/provisioning/qtci-macos-12-arm/26-p7zip.sh b/coin/provisioning/qtci-macos-12-arm/26-p7zip.sh
new file mode 100755
index 00000000..8cdcd0c3
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/26-p7zip.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# Install 7z to be used from command line
+
+set -ex
+
+brew update
+brew install p7zip
diff --git a/coin/provisioning/qtci-macos-12-arm/26-pcre2.sh b/coin/provisioning/qtci-macos-12-arm/26-pcre2.sh
new file mode 100755
index 00000000..c10d6206
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/26-pcre2.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
+
+brew install pcre2
diff --git a/coin/provisioning/qtci-macos-12-arm/27-libclang.sh b/coin/provisioning/qtci-macos-12-arm/27-libclang.sh
new file mode 100755
index 00000000..cc025e6e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/27-libclang.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# There is only one mac package and common script uses it as a default
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-12-arm/28-libclang-v100-dyn.sh
new file mode 100755
index 00000000..d95e7e00
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/28-libclang-v100-dyn.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/29-install-pkgconfig.sh b/coin/provisioning/qtci-macos-12-arm/29-install-pkgconfig.sh
new file mode 100755
index 00000000..33e11580
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/29-install-pkgconfig.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pkgconfig.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/29-libusb.sh b/coin/provisioning/qtci-macos-12-arm/29-libusb.sh
new file mode 100755
index 00000000..e9e9e238
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/29-libusb.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+
+"$BASEDIR/../common/macos/libusb.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/30-android.sh b/coin/provisioning/qtci-macos-12-arm/30-android.sh
new file mode 100755
index 00000000..6259b71e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/30-android.sh
@@ -0,0 +1,64 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script install Android sdk and ndk.
+
+# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+targetFolder="/opt/android"
+sdkTargetFolder="$targetFolder/sdk"
+
+basePath="/net/ci-files01-hki.ci.qt.io/hdd/www/input/android"
+
+toolsVersion="2.1"
+# toolsFile dertermines tools version
+toolsFile="commandlinetools-mac-6609375_latest.zip"
+
+ndkVersion="r26b"
+ndkFile="android-ndk-$ndkVersion-darwin.zip"
+sdkBuildToolsVersion="34.0.0"
+# this is compile sdk version
+sdkApiLevel="android-34"
+
+toolsSourceFile="$basePath/$toolsFile"
+ndkSourceFile="$basePath/$ndkFile"
+
+echo "Unzipping Android NDK to '$targetFolder'"
+sudo unzip -q "$ndkSourceFile" -d "$targetFolder"
+echo "Unzipping Android Tools to '$sdkTargetFolder'"
+sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
+
+echo "Changing ownership of Android files."
+sudo chown -R qt:wheel "$targetFolder"
+
+# Run the following command under `eval` or `sh -c` so that the shell properly splits it
+sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
+
+sudo mkdir "$sdkTargetFolder/cmdline-tools"
+sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
+
+echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
+(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \
+ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
+ | eval "$sdkmanager_no_progress_bar_cmd"
+
+echo "Checking the contents of Android SDK..."
+ls -l "$sdkTargetFolder"
+
+SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder"
+SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion"
+SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64"
+SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
+
+cat << EOB >> ~/versions.txt
+Android SDK tools = $toolsVersion
+Android SDK Build Tools = $sdkBuildToolsVersion
+Android SDK API level = $sdkApiLevel
+Android NDK = $ndkVersion
+EOB
diff --git a/coin/provisioning/qtci-macos-12-arm/30-fbx.sh b/coin/provisioning/qtci-macos-12-arm/30-fbx.sh
new file mode 100755
index 00000000..e991bc08
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/30-fbx.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/fbx_macos.sh"
+
diff --git a/coin/provisioning/qtci-macos-12-arm/30-install-conan.sh b/coin/provisioning/qtci-macos-12-arm/30-install-conan.sh
new file mode 100755
index 00000000..67a4f911
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/30-nodejs.sh b/coin/provisioning/qtci-macos-12-arm/30-nodejs.sh
new file mode 100755
index 00000000..8f73b2d6
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/30-nodejs.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+brew install nodejs
+
diff --git a/coin/provisioning/qtci-macos-12-arm/35-install-breakpad.sh b/coin/provisioning/qtci-macos-12-arm/35-install-breakpad.sh
new file mode 100755
index 00000000..8a9dde56
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/35-install-breakpad.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/35-install_protobuf.sh b/coin/provisioning/qtci-macos-12-arm/35-install_protobuf.sh
new file mode 100755
index 00000000..ecb5f835
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/35-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-macos-12-arm/35-openssl.sh b/coin/provisioning/qtci-macos-12-arm/35-openssl.sh
new file mode 100755
index 00000000..c86788db
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/35-openssl.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-openssl.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal"
+
diff --git a/coin/provisioning/qtci-macos-12-arm/36-emsdk.sh b/coin/provisioning/qtci-macos-12-arm/36-emsdk.sh
new file mode 100755
index 00000000..c8aec444
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/36-emsdk.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/36-install_grpc.sh b/coin/provisioning/qtci-macos-12-arm/36-install_grpc.sh
new file mode 100755
index 00000000..ecd6a51f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/36-install_grpc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-macos-12-arm/40-qnx700.sh b/coin/provisioning/qtci-macos-12-arm/40-qnx700.sh
new file mode 100755
index 00000000..48286a67
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/40-qnx700.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QNX 7.
+
+targetFolder="/opt/"
+sourceFile="/net/ci-files01-hki.ci.qt.io/hdd/www/input/qnx/qnx700-20190325-2-macos.tar.xz"
+folderName="qnx700"
+
+sudo mkdir -p "$targetFolder"
+
+echo "Extracting QNX 7"
+sudo tar -C "$targetFolder" -Jxf $sourceFile
+
+sudo chown -R qt:wheel "$targetFolder"/"$folderName"
+
+# Verify that we have last file in zip
+if [ ! -f $targetFolder/$folderName/qnxsdp-env.sh ]; then
+ exit 1
+fi
+
+# Set env variables
+echo "export QNX_700=$targetFolder/$folderName" >> ~/.bashrc
+echo "QNX SDP = 7.0.0" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-12-arm/50-openssl_for_android_darwin.sh b/coin/provisioning/qtci-macos-12-arm/50-openssl_for_android_darwin.sh
new file mode 100755
index 00000000..c3e51d23
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/50-openssl_for_android_darwin.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
+
+# shellcheck source=../common/unix/openssl_for_android.sh
+source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/55-signtools.sh b/coin/provisioning/qtci-macos-12-arm/55-signtools.sh
new file mode 100755
index 00000000..ff5a977a
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/55-signtools.sh
@@ -0,0 +1,107 @@
+#!/usr/bin/env sh
+# 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
+
+# Install tools for singing packages
+# This script assume that OS is vanilla. Target machine dosen't have any signing certificates installed.
+
+set -ex
+
+cache="http://ci-files01-hki.ci.qt.io/input"
+cacheSigningTools="$cache/mac/sign_tools"
+targetFolder="/Users/qt"
+keychains="$targetFolder/Library/Keychains"
+
+Install() {
+
+ url=$1
+ targetFile=$2
+ expectedSha1=$3
+
+ echo "Fetching $targetFile from $url..."
+ curl --retry 5 --retry-delay 10 --retry-max-time 60 "$url" -o "$targetFile"
+ shasum "$targetFile" |grep "$expectedSha1"
+
+}
+
+# qt-license
+sha1QtLicense="9d59241d16f68d914f1c7aa1dc23e05faa169e8d"
+Install "$cache/semisecure/.qt-license" "$targetFolder/.qt-license" $sha1QtLicense
+
+# Login keychain
+sha1LoginKeychainPassword="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
+Install "$cacheSigningTools/login_keychain_password.txt" "$targetFolder/login_keychain_password.txt" "$sha1LoginKeychainPassword"
+{ loginKeychainPassword=$(cat "$targetFolder/login_keychain_password.txt"); } 2> /dev/null
+loginKeychain=$keychains/login.keychain
+
+echo "Setting login.keychain as default keychain.."
+security default-keychain -s $loginKeychain*
+echo "Unlocking Login keychain with password.."
+{ security unlock-keychain -p "$loginKeychainPassword" $loginKeychain*; } 2> /dev/null
+
+echo "remove the "Lock after X minutes of inactivity" from login.keychain"
+security set-keychain-settings $loginKeychain
+
+# Apple Worldwide Developer Relations Certification Authority -> https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
+sha1AppleWWDRCA="ff6797793a3cd798dc5b2abef56f73edc9f83a64"
+Install "$cacheSigningTools/AppleWWDRCA.cer" "$targetFolder/AppleWWDRCA.cer" $sha1AppleWWDRCA
+sudo security add-certificates -k $loginKeychain* "$targetFolder/AppleWWDRCA.cer"
+
+# Developer ID Certification Authority -> https://www.apple.com/certificateauthority/DeveloperIDCA.cer
+sha1DeveloperIDCA="3b166c3b7dc4b751c9fe2afab9135641e388e186"
+Install "$cacheSigningTools/DeveloperIDCA.cer" "$targetFolder/DeveloperIDCA.cer" $sha1DeveloperIDCA
+sudo security add-certificates -k $loginKeychain* "$targetFolder/DeveloperIDCA.cer"
+
+# Create script to unlock keychain 'security unlock-keychain -p 'password' Developer_ID_TheQtCompany.keychain'
+sha1UnLockKeychain="4398870e3f558ad28c80566b5f70e24dc29ea724"
+unlockKeychain=$targetFolder/unlock-keychain.sh
+{ Install "$cacheSigningTools/unlock-keychain.sh" "$unlockKeychain" $sha1UnLockKeychain; } 2> /dev/null
+sudo chmod 755 "$unlockKeychain"
+
+# Codesigning requirements file. The bundle identifier in the requirements file should match the identifier of the application that is signed.
+shaCsreq="2c3f00b1845a0f475673fd6934ba25ea51d1f910"
+csreq=$targetFolder/csreq_qt_company.txt
+Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq
+chmod 755 "$csreq"
+
+# iOS signing tools
+devIDKeychain="Developer_ID_TheQtCompany.keychain-db"
+shaDevIdKeychain="972cca1879cdaeeb6042f9879756c748a8d1eddc"
+Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain
+echo "Opening $devIDKeychain.."
+open "$keychains/$devIDKeychain"
+
+sha1DeveloperIDTheQtCompanyKeychainPassword="d758e067736bbda7a91ffaec66cd38afdaf68ea6"
+Install "$cacheSigningTools/Developer_ID_TheQtCompany_keychain_password.txt" "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt" "$sha1DeveloperIDTheQtCompanyKeychainPassword"
+{ DeveloperIDTheQtCompanyKeychainPassword=$(cat "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt"); } 2> /dev/null
+
+echo "Unlocking $devIDKeychain with password.."
+{ security unlock-keychain -p "$DeveloperIDTheQtCompanyKeychainPassword" $keychains/Developer_ID_TheQtCompany.keychain; } 2> /dev/null
+security set-keychain-settings $keychains/Developer_ID_TheQtCompany.keychain
+
+sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
+{ Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios; } 2> /dev/null
+{ iosPassword=$(cat "$targetFolder/ios_password.txt"); } 2> /dev/null
+
+iPhoneDeveloper="iPhoneDeveloperCiTeam2020.p12"
+shaIPhoneDeveloper="73136e44fed850f398e85908e4a73f20a6bdd8a2"
+Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper
+echo "Importing $iPhoneDeveloper.."
+{ security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null
+
+iPhoneDistribution="iPhoneDistributionCiTeam2020.p12"
+shaIPhoneDistribution="36215c3cbc6bfee48e86aafbd53c56282fe36d8d"
+Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution
+echo "Importing $iPhoneDistribution.."
+{ security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null
+
+# Mobileprovision
+echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.."
+mkdir "$targetFolder/Library/MobileDevice"
+mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles"
+shaMobileprovision="ec9697276253ca7bf4401912236f0e6fde4214da"
+Install "$cacheSigningTools/latest_ios_cert_2020/iOS_Dev_2020_citeam.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev_2020_citeam.mobileprovision" $shaMobileprovision
+
+# Removing password files
+rm -fr "$targetFolder/login_keychain_password.txt"
+
diff --git a/coin/provisioning/qtci-macos-12-arm/80-screenresolution.sh b/coin/provisioning/qtci-macos-12-arm/80-screenresolution.sh
new file mode 100755
index 00000000..ed905a33
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/80-screenresolution.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
+
+"$(dirname "$0")"/../common/macos/screenresolution.sh
+
diff --git a/coin/provisioning/qtci-macos-12-arm/81-bluetooth.sh b/coin/provisioning/qtci-macos-12-arm/81-bluetooth.sh
new file mode 100755
index 00000000..c58b9a34
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/81-bluetooth.sh
@@ -0,0 +1,10 @@
+#!/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
+
+brew install blueutil
+
+#Disable Bluetooth
+blueutil -p 0
diff --git a/coin/provisioning/qtci-macos-12-arm/90-docker.sh b/coin/provisioning/qtci-macos-12-arm/90-docker.sh
new file mode 100755
index 00000000..f03971a9
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/90-docker.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/docker.sh
+source "${BASH_SOURCE%/*}/../common/macos/docker.sh" "arm64"
+
diff --git a/coin/provisioning/qtci-macos-12-arm/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-12-arm/90-install-ffmpeg.sh
new file mode 100755
index 00000000..23cb13e1
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/90-install-ffmpeg.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
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-12-arm/90-vlc.sh b/coin/provisioning/qtci-macos-12-arm/90-vlc.sh
new file mode 100644
index 00000000..4924fe5c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/90-vlc.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# for QtMM streaming tests
+brew install --cask vlc
diff --git a/coin/provisioning/qtci-macos-12-arm/97-set-locale.sh b/coin/provisioning/qtci-macos-12-arm/97-set-locale.sh
new file mode 100755
index 00000000..bc966cbf
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/97-set-locale.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/set-locale.sh"
diff --git a/coin/provisioning/qtci-macos-12-arm/98-mimersql.sh b/coin/provisioning/qtci-macos-12-arm/98-mimersql.sh
new file mode 100755
index 00000000..70d5bc1d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/98-mimersql.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/mimersql.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-12-arm/99-mac-version.sh b/coin/provisioning/qtci-macos-12-arm/99-mac-version.sh
new file mode 100755
index 00000000..b9b5aeb0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-arm/99-mac-version.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/macos-version.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/01-disable-net-lso.sh b/coin/provisioning/qtci-macos-12-x86_64/01-disable-net-lso.sh
new file mode 100755
index 00000000..659ebe96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/01-disable-net-lso.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable_net_lso.sh
diff --git a/coin/provisioning/qtci-macos-12-x86_64/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-12-x86_64/01-disable-notifications_and_warnings.sh
new file mode 100755
index 00000000..27efbb62
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/01-disable-notifications_and_warnings.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable-notifications_and_warnings.sh
diff --git a/coin/provisioning/qtci-macos-12-x86_64/01-disable-updates.sh b/coin/provisioning/qtci-macos-12-x86_64/01-disable-updates.sh
new file mode 100755
index 00000000..a2b2a0f0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/01-disable-updates.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/system_updates.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/01-enable_zsh_history_and_viminfo.sh b/coin/provisioning/qtci-macos-12-x86_64/01-enable_zsh_history_and_viminfo.sh
new file mode 100755
index 00000000..6004b140
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/01-enable_zsh_history_and_viminfo.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+# shellcheck source=../common/macos/enable_zsh_history_and_viminfo.sh
+source "${BASH_SOURCE%/*}/../common/macos/enable_zsh_history_and_viminfo.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/01-increase_limits.sh b/coin/provisioning/qtci-macos-12-x86_64/01-increase_limits.sh
new file mode 100755
index 00000000..08669e52
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/01-increase_limits.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/increase_limits.sh
diff --git a/coin/provisioning/qtci-macos-12-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-macos-12-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..abd9ba0d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/telegraf_install.sh
diff --git a/coin/provisioning/qtci-macos-12-x86_64/01-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-macos-12-x86_64/01-mount-vcpkg-cache-drive.sh
new file mode 100755
index 00000000..2739f40f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/01-mount-vcpkg-cache-drive.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/mount-vcpkg-cache-drive.sh
+source "${BASH_SOURCE%/*}/../common/macos/mount-vcpkg-cache-drive.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-12-x86_64/01-sha1sum-compatibility.sh
new file mode 100755
index 00000000..e52367c8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/01-sha1sum-compatibility.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/macos/sha1sum-compatibility.sh
+source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-12-x86_64/03-bashprofile.sh
new file mode 100755
index 00000000..4eed8433
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/03-bashprofile.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env 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
+
+set -ex
+
+# Read .bashrc if exist
+printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-12-x86_64/05-systemsetup.sh
new file mode 100755
index 00000000..115c0489
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/05-systemsetup.sh
@@ -0,0 +1,80 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# This script modified system settings for automated use
+
+targetFile="$HOME/vncpw.txt"
+
+# Fetch password
+curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.ci.qt.io/input/semisecure/vncpw.txt" -o "$targetFile"
+shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0"
+
+{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null
+NTS_IP=10.212.2.216
+
+echo "Disable Screensaver"
+# For current session
+defaults -currentHost write com.apple.screensaver idleTime 0
+
+echo "Disable sleep"
+sudo pmset sleep 0 displaysleep 0
+
+# For session after a reboot
+mkdir -p "$HOME/Library/LaunchAgents"
+sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>org.qt.io.screensaver_disable</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>defaults</string>
+ <string>-currentHost</string>
+ <string>write</string>
+ <string>com.apple.screensaver</string>
+ <string>idleTime</string>
+ <string>0</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>KeepAlive</key>
+ <false/>
+ </dict>
+</plist>
+EOT
+
+defaults write com.apple.screensaver askForPassword -int 0
+
+echo "Set keyboard type rates and delays"
+# normal minimum is 15 (225 ms)
+defaults write -g InitialKeyRepeat -int 15
+# normal minimum is 2 (30 ms)
+defaults write -g KeyRepeat -int 2
+
+set +x
+echo "Enable remote desktop sharing"
+sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all
+set -x
+
+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
+
+sudo systemsetup settimezone GMT
+sudo systemsetup setusingnetworktime off
+sudo rm -f "$targetFile"
+
+# Enable automount for nfs shares
+sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master
+sudo automount -cv
+
+# Disable multicast advertisements
+sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true
+
+# Enable Use keyboard navigation to move focus between controls
+defaults write -g AppleKeyboardUIMode -int 2
diff --git a/coin/provisioning/qtci-macos-12-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-12-x86_64/06-crashreporter.sh
new file mode 100755
index 00000000..cb7c0774
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/06-crashreporter.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env 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
+
+set -ex
+
+defaults write com.apple.CrashReporter DialogType server
diff --git a/coin/provisioning/qtci-macos-12-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-12-x86_64/06-disable_spotlight.sh
new file mode 100755
index 00000000..ab85a262
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/06-disable_spotlight.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
+
+# shellcheck source=../common/macos/disable_spotlight.sh
+source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-12-x86_64/06-disable_update_downloads.sh
new file mode 100755
index 00000000..18cb98ea
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/06-disable_update_downloads.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
+set -ex
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/disable_update_downloads.sh
diff --git a/coin/provisioning/qtci-macos-12-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-12-x86_64/07-SSL_keychain.sh
new file mode 100755
index 00000000..e14dcee9
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/07-SSL_keychain.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+# Enables the usage of temporary keychains for SSL autotests
+SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-12-x86_64/15-xz.sh
new file mode 100755
index 00000000..ffe00992
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/15-xz.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs XZ-Utils
+
+# XZ-Utils are needed for uncompressing xz-compressed files
+
+set -ex
+
+# shellcheck source=../common/macos/InstallPKGFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/XZ.pkg"
+AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg"
+SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67"
+DestDir="/"
+
+InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
+
+echo "XZ = 5.0.7" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-12-x86_64/20-java.sh b/coin/provisioning/qtci-macos-12-x86_64/20-java.sh
new file mode 100755
index 00000000..325fee63
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/20-java.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/java.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-12-x86_64/20-xcode.sh
new file mode 100755
index 00000000..102211cc
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/20-xcode.sh
@@ -0,0 +1,22 @@
+#!/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
+
+# This script installs Xcode
+# Prerequisites: Have Xcode prefetched to local cache as xz compressed.
+# This can be achieved by fetching Xcode_9.xip from Apple Store.
+# Uncompress it with 'xar -xf Xcode_9.xip'
+# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py
+# with which you can run 'python parse_pbzx2.py Content'.
+# This will give you five files called "Content.part<00..05>.cpio.xz".
+# Extract those that have the extension .xz with xz.
+# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new"
+# Compress the new file with xz back to something like Xcode_9.xz
+# Upload the file to temporary storage for this script to use.
+
+set -ex
+
+# shellcheck source=../common/macos/install_xcode.sh
+source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"
+
+InstallXCode /net/ci-files01-hki.ci.qt.io/hdd/www/input/mac/Xcode_14.2.xip 14.2
diff --git a/coin/provisioning/qtci-macos-12-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-12-x86_64/21-install-commandlinetools.sh
new file mode 100755
index 00000000..d2981173
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/21-install-commandlinetools.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/install-commandlinetools.sh
+source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh"
+version="14.2"
+packageName="Command_Line_Tools_for_Xcode_$version.dmg"
+url="http://ci-files01-hki.ci.qt.io/input/mac/$packageName"
+sha1="f9d18da696bc54755bd85fb4f42c0a8866bdade6"
+
+InstallCommandLineTools $url $url $sha1 $packageName $version
diff --git a/coin/provisioning/qtci-macos-12-x86_64/24-sccache.sh b/coin/provisioning/qtci-macos-12-x86_64/24-sccache.sh
new file mode 100755
index 00000000..358b23fb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/24-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/macos/sccache.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-12-x86_64/25-cmake.sh
new file mode 100755
index 00000000..33095880
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/25-cmake.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/cmake.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-12-x86_64/25-homebrew.sh
new file mode 100755
index 00000000..f83960f4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/25-homebrew.sh
@@ -0,0 +1,28 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# Will install homebrew package manager for macOS.
+# WARNING: Requires commandlinetools
+
+
+set -e
+
+. "$(dirname "$0")"/../common/unix/DownloadURL.sh
+
+
+DownloadURL \
+ http://ci-files01-hki.ci.qt.io/input/mac/homebrew/a822f0d0f1838c07e86b356fcd2bf93c7a11c2aa/install.sh \
+ https://raw.githubusercontent.com/Homebrew/install/c744a716f9845988d01e6e238eee7117b8c366c9/install \
+ 3210da71e12a699ab3bba43910a6d5fc64b92000 \
+ /tmp/homebrew_install.sh
+
+DownloadURL "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw"
+{ pw=$(cat "/Users/qt/pw"); } 2> /dev/null
+sudo chmod 755 /tmp/homebrew_install.sh
+{ (echo "$pw" | /tmp/homebrew_install.sh); } 2> /dev/null
+rm -f "/Users/qt/pw"
+
+# No need to manually do `brew update`, the homebrew installer script does it.
+### brew update
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-12-x86_64/25-mysql.sh
new file mode 100755
index 00000000..0be1e6e8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/25-mysql.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs MySQL
+
+# MySQL is needed for Qt to be able to support MySQL
+
+set -ex
+
+# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+SHA1="07949bd42f350b0504a1536b8830b809b4a34fca"
+appPrefix=""
+targetDir="/opt/mysql57/"
+
+sudo mkdir -p "/opt"
+
+InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir"
+
+SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin"
+echo "MySQL = 5.7.15" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-12-x86_64/25-pip.sh
new file mode 100755
index 00000000..3fc865d0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/25-pip.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pip.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-12-x86_64/25-postgresql.sh
new file mode 100755
index 00000000..06cae6ef
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/25-postgresql.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/postgresql.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-12-x86_64/25-python2.sh
new file mode 100755
index 00000000..4c88a413
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/25-python2.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
+
+# shellcheck source=../common/macos/python2.sh
+source "${BASH_SOURCE%/*}/../common/macos/python2.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-12-x86_64/25-python3.sh
new file mode 100755
index 00000000..8fee606c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/25-python3.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
+
+# shellcheck source=../common/macos/python3.sh
+source "${BASH_SOURCE%/*}/../common/macos/python3.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/26-freetype.sh b/coin/provisioning/qtci-macos-12-x86_64/26-freetype.sh
new file mode 100755
index 00000000..fa0790f8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/26-freetype.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
+
+brew install freetype
diff --git a/coin/provisioning/qtci-macos-12-x86_64/26-jq.sh b/coin/provisioning/qtci-macos-12-x86_64/26-jq.sh
new file mode 100755
index 00000000..4dffcb96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/26-jq.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install jq
diff --git a/coin/provisioning/qtci-macos-12-x86_64/26-ninja.sh b/coin/provisioning/qtci-macos-12-x86_64/26-ninja.sh
new file mode 100755
index 00000000..4443eeb4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/26-ninja.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/ninja.sh
+source "${BASH_SOURCE%/*}/../common/macos/ninja.sh"
+
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/26-odbc.sh b/coin/provisioning/qtci-macos-12-x86_64/26-odbc.sh
new file mode 100755
index 00000000..2b6b013a
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/26-odbc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# Install libiodbc
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/libiodbc.sh" --with-universal
diff --git a/coin/provisioning/qtci-macos-12-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-12-x86_64/26-p7zip.sh
new file mode 100755
index 00000000..8cdcd0c3
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/26-p7zip.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# Install 7z to be used from command line
+
+set -ex
+
+brew update
+brew install p7zip
diff --git a/coin/provisioning/qtci-macos-12-x86_64/26-pcre2.sh b/coin/provisioning/qtci-macos-12-x86_64/26-pcre2.sh
new file mode 100755
index 00000000..c10d6206
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/26-pcre2.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
+
+brew install pcre2
diff --git a/coin/provisioning/qtci-macos-12-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-12-x86_64/27-libclang.sh
new file mode 100755
index 00000000..cc025e6e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/27-libclang.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# There is only one mac package and common script uses it as a default
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-12-x86_64/28-libclang-v100-dyn.sh
new file mode 100755
index 00000000..d95e7e00
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/28-libclang-v100-dyn.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/29-install-pkgconfig.sh b/coin/provisioning/qtci-macos-12-x86_64/29-install-pkgconfig.sh
new file mode 100755
index 00000000..33e11580
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/29-install-pkgconfig.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pkgconfig.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/29-libusb.sh b/coin/provisioning/qtci-macos-12-x86_64/29-libusb.sh
new file mode 100755
index 00000000..e9e9e238
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/29-libusb.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+
+"$BASEDIR/../common/macos/libusb.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/30-android.sh b/coin/provisioning/qtci-macos-12-x86_64/30-android.sh
new file mode 100755
index 00000000..ddb3aec0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/30-android.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/android.sh
+source "${BASH_SOURCE%/*}/../common/macos/android.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-12-x86_64/30-fbx.sh
new file mode 100755
index 00000000..e991bc08
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/30-fbx.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/fbx_macos.sh"
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/30-install-conan.sh b/coin/provisioning/qtci-macos-12-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..8d90ef37
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh" "macos"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-12-x86_64/30-nodejs.sh
new file mode 100755
index 00000000..a5cf7d4d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/30-nodejs.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/nodejs.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-macos-12-x86_64/35-install-breakpad.sh
new file mode 100755
index 00000000..8a9dde56
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/35-install-breakpad.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/35-install_protobuf.sh b/coin/provisioning/qtci-macos-12-x86_64/35-install_protobuf.sh
new file mode 100755
index 00000000..ecb5f835
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/35-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-12-x86_64/35-openssl.sh
new file mode 100755
index 00000000..c86788db
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/35-openssl.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-openssl.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal"
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/36-emsdk.sh b/coin/provisioning/qtci-macos-12-x86_64/36-emsdk.sh
new file mode 100755
index 00000000..c8aec444
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/36-emsdk.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/36-install_grpc.sh b/coin/provisioning/qtci-macos-12-x86_64/36-install_grpc.sh
new file mode 100755
index 00000000..ecd6a51f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/36-install_grpc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/50-openssl_for_android_darwin.sh b/coin/provisioning/qtci-macos-12-x86_64/50-openssl_for_android_darwin.sh
new file mode 100755
index 00000000..c3e51d23
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/50-openssl_for_android_darwin.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
+
+# shellcheck source=../common/unix/openssl_for_android.sh
+source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/80-screenresolution.sh b/coin/provisioning/qtci-macos-12-x86_64/80-screenresolution.sh
new file mode 100755
index 00000000..ed905a33
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/80-screenresolution.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
+
+"$(dirname "$0")"/../common/macos/screenresolution.sh
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/81-bluetooth.sh b/coin/provisioning/qtci-macos-12-x86_64/81-bluetooth.sh
new file mode 100755
index 00000000..c58b9a34
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/81-bluetooth.sh
@@ -0,0 +1,10 @@
+#!/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
+
+brew install blueutil
+
+#Disable Bluetooth
+blueutil -p 0
diff --git a/coin/provisioning/qtci-macos-12-x86_64/90-docker.sh b/coin/provisioning/qtci-macos-12-x86_64/90-docker.sh
new file mode 100755
index 00000000..1ab281cb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/90-docker.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/docker.sh
+source "${BASH_SOURCE%/*}/../common/macos/docker.sh" "amd64"
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-12-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..8f6da818
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/90-install-ffmpeg.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos-universal"
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-12-x86_64/90-squish.sh
new file mode 100755
index 00000000..c2658d0e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/90-squish.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-macos-12-x86_64/90-vlc.sh b/coin/provisioning/qtci-macos-12-x86_64/90-vlc.sh
new file mode 100644
index 00000000..4924fe5c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/90-vlc.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# for QtMM streaming tests
+brew install --cask vlc
diff --git a/coin/provisioning/qtci-macos-12-x86_64/97-set-locale.sh b/coin/provisioning/qtci-macos-12-x86_64/97-set-locale.sh
new file mode 100755
index 00000000..bc966cbf
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/97-set-locale.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/set-locale.sh"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/98-mimersql.sh b/coin/provisioning/qtci-macos-12-x86_64/98-mimersql.sh
new file mode 100755
index 00000000..70d5bc1d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/98-mimersql.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/mimersql.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-12-x86_64/99-mac-version.sh b/coin/provisioning/qtci-macos-12-x86_64/99-mac-version.sh
new file mode 100755
index 00000000..b9b5aeb0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-12-x86_64/99-mac-version.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/macos-version.sh"
diff --git a/coin/provisioning/qtci-macos-13-arm/01-disable-app-reopen.sh b/coin/provisioning/qtci-macos-13-arm/01-disable-app-reopen.sh
new file mode 100755
index 00000000..382fb40c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/01-disable-app-reopen.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
+set -ex
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/disable-app-reopen.sh
diff --git a/coin/provisioning/qtci-macos-13-arm/01-disable-net-lso.sh b/coin/provisioning/qtci-macos-13-arm/01-disable-net-lso.sh
new file mode 100755
index 00000000..659ebe96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/01-disable-net-lso.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable_net_lso.sh
diff --git a/coin/provisioning/qtci-macos-13-arm/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-13-arm/01-disable-notifications_and_warnings.sh
new file mode 100755
index 00000000..27efbb62
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/01-disable-notifications_and_warnings.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable-notifications_and_warnings.sh
diff --git a/coin/provisioning/qtci-macos-13-arm/01-disable-updates.sh b/coin/provisioning/qtci-macos-13-arm/01-disable-updates.sh
new file mode 100755
index 00000000..a2b2a0f0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/01-disable-updates.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/system_updates.sh"
diff --git a/coin/provisioning/qtci-macos-13-arm/01-increase_limits.sh b/coin/provisioning/qtci-macos-13-arm/01-increase_limits.sh
new file mode 100755
index 00000000..08669e52
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/01-increase_limits.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/increase_limits.sh
diff --git a/coin/provisioning/qtci-macos-13-arm/01-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-macos-13-arm/01-mount-vcpkg-cache-drive.sh
new file mode 100755
index 00000000..2739f40f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/01-mount-vcpkg-cache-drive.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/mount-vcpkg-cache-drive.sh
+source "${BASH_SOURCE%/*}/../common/macos/mount-vcpkg-cache-drive.sh"
diff --git a/coin/provisioning/qtci-macos-13-arm/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-13-arm/01-sha1sum-compatibility.sh
new file mode 100755
index 00000000..e52367c8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/01-sha1sum-compatibility.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/macos/sha1sum-compatibility.sh
+source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh"
diff --git a/coin/provisioning/qtci-macos-13-arm/03-bashprofile.sh b/coin/provisioning/qtci-macos-13-arm/03-bashprofile.sh
new file mode 100755
index 00000000..4eed8433
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/03-bashprofile.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env 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
+
+set -ex
+
+# Read .bashrc if exist
+printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile
+
diff --git a/coin/provisioning/qtci-macos-13-arm/05-systemsetup.sh b/coin/provisioning/qtci-macos-13-arm/05-systemsetup.sh
new file mode 100755
index 00000000..023625d8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/05-systemsetup.sh
@@ -0,0 +1,84 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# This script modified system settings for automated use
+
+targetFile="$HOME/vncpw.txt"
+
+# Fetch password
+curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.ci.qt.io/input/semisecure/vncpw.txt" -o "$targetFile"
+shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0"
+
+{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null
+NTS_IP=10.212.2.216
+
+echo "Disable Screensaver"
+# For current session
+defaults -currentHost write com.apple.screensaver idleTime 0
+
+echo "Disable sleep"
+sudo pmset sleep 0 displaysleep 0
+
+# For session after a reboot
+mkdir -p "$HOME/Library/LaunchAgents"
+sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>org.qt.io.screensaver_disable</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>defaults</string>
+ <string>-currentHost</string>
+ <string>write</string>
+ <string>com.apple.screensaver</string>
+ <string>idleTime</string>
+ <string>0</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>KeepAlive</key>
+ <false/>
+ </dict>
+</plist>
+EOT
+
+defaults write com.apple.screensaver askForPassword -int 0
+
+echo "Set keyboard type rates and delays"
+# normal minimum is 15 (225 ms)
+defaults write -g InitialKeyRepeat -int 15
+# normal minimum is 2 (30 ms)
+defaults write -g KeyRepeat -int 2
+
+set +x
+echo "Enable remote desktop sharing"
+sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \
+ -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts \
+ -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all
+set -x
+
+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
+
+sudo systemsetup settimezone GMT
+sudo systemsetup setusingnetworktime on
+sudo rm -f "$targetFile"
+
+# Enable automount for nfs shares
+sudo sed -i'.orig' -e 's:^#/net:/net:' \
+ -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master \
+ || sudo curl -o /etc/auto_master http://ci-files01-hki.ci.qt.io/input/mac/arm/auto_master
+sudo automount -cv
+
+# Disable multicast advertisements
+sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true
+
+# Enable Use keyboard navigation to move focus between controls
+defaults write -g AppleKeyboardUIMode -int 2
diff --git a/coin/provisioning/qtci-macos-13-arm/06-crashreporter.sh b/coin/provisioning/qtci-macos-13-arm/06-crashreporter.sh
new file mode 100755
index 00000000..cb7c0774
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/06-crashreporter.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env 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
+
+set -ex
+
+defaults write com.apple.CrashReporter DialogType server
diff --git a/coin/provisioning/qtci-macos-13-arm/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-13-arm/06-disable_spotlight.sh
new file mode 100755
index 00000000..ab85a262
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/06-disable_spotlight.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
+
+# shellcheck source=../common/macos/disable_spotlight.sh
+source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh"
diff --git a/coin/provisioning/qtci-macos-13-arm/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-13-arm/06-disable_update_downloads.sh
new file mode 100755
index 00000000..18cb98ea
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/06-disable_update_downloads.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
+set -ex
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/disable_update_downloads.sh
diff --git a/coin/provisioning/qtci-macos-13-arm/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-13-arm/07-SSL_keychain.sh
new file mode 100755
index 00000000..e14dcee9
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/07-SSL_keychain.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+# Enables the usage of temporary keychains for SSL autotests
+SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1"
diff --git a/coin/provisioning/qtci-macos-13-arm/15-xz.sh b/coin/provisioning/qtci-macos-13-arm/15-xz.sh
new file mode 100755
index 00000000..b7e00a20
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/15-xz.sh
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs XZ-Utils
+
+# XZ-Utils are needed for uncompressing xz-compressed files
+
+# pkg was self builded.
+# wget https://downloads.sourceforge.net/project/lzmautils/xz-5.2.5.tar.gz
+# tar -xzf xz-5.2.5.tar.gz -C /tmp
+# cd /tmp/xz-5.2.5
+# ./configure
+# make
+# ./configure prefix=/tmp/destination_root
+# make install
+# cd /tmp
+# pkgbuild --root destination_root --identifier io.qt.xz.pkg xz-arm64.pkg
+
+set -ex
+
+# shellcheck source=../common/macos/InstallPKGFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh"
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_11.0_big_sur_arm/xz-arm64.pkg"
+# SourceUrl="https://tukaani.org/xz/xz-5.2.5.tar.gz"
+
+SHA1="1afc327965d4af33399ae28f22c4b8e5a9e98dc2"
+DestDir="/"
+
+InstallPKGFromURL "$PrimaryUrl" "$PrimaryUrl" "$SHA1" "$DestDir"
+
+echo "XZ = 5.2.5" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-13-arm/20-java.sh b/coin/provisioning/qtci-macos-13-arm/20-java.sh
new file mode 100755
index 00000000..00c867f4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/20-java.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/java_arm.sh"
diff --git a/coin/provisioning/qtci-macos-13-arm/20-xcode.sh b/coin/provisioning/qtci-macos-13-arm/20-xcode.sh
new file mode 100755
index 00000000..102211cc
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/20-xcode.sh
@@ -0,0 +1,22 @@
+#!/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
+
+# This script installs Xcode
+# Prerequisites: Have Xcode prefetched to local cache as xz compressed.
+# This can be achieved by fetching Xcode_9.xip from Apple Store.
+# Uncompress it with 'xar -xf Xcode_9.xip'
+# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py
+# with which you can run 'python parse_pbzx2.py Content'.
+# This will give you five files called "Content.part<00..05>.cpio.xz".
+# Extract those that have the extension .xz with xz.
+# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new"
+# Compress the new file with xz back to something like Xcode_9.xz
+# Upload the file to temporary storage for this script to use.
+
+set -ex
+
+# shellcheck source=../common/macos/install_xcode.sh
+source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"
+
+InstallXCode /net/ci-files01-hki.ci.qt.io/hdd/www/input/mac/Xcode_14.2.xip 14.2
diff --git a/coin/provisioning/qtci-macos-13-arm/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-13-arm/21-install-commandlinetools.sh
new file mode 100755
index 00000000..d2981173
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/21-install-commandlinetools.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/install-commandlinetools.sh
+source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh"
+version="14.2"
+packageName="Command_Line_Tools_for_Xcode_$version.dmg"
+url="http://ci-files01-hki.ci.qt.io/input/mac/$packageName"
+sha1="f9d18da696bc54755bd85fb4f42c0a8866bdade6"
+
+InstallCommandLineTools $url $url $sha1 $packageName $version
diff --git a/coin/provisioning/qtci-macos-13-arm/23-homebrew.sh b/coin/provisioning/qtci-macos-13-arm/23-homebrew.sh
new file mode 100755
index 00000000..4983540c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/23-homebrew.sh
@@ -0,0 +1,16 @@
+#!/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
+
+# Will install homebrew package manager for macOS.
+# WARNING: Requires commandlinetools
+
+
+set -e
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/homebrew_for_arm_mac.sh"
+# Can we force reading bash env this late?
+echo "if [ -f ~/.bashrc ]; then
+ . ~/.bashrc
+fi" >> .profile
diff --git a/coin/provisioning/qtci-macos-13-arm/24-pyenv.sh b/coin/provisioning/qtci-macos-13-arm/24-pyenv.sh
new file mode 100755
index 00000000..3a7a8f77
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/24-pyenv.sh
@@ -0,0 +1,49 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2021 The Qt Company Ltd.
+## Copyright (C) 2017 Pelagicore AG
+## Contact: https://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 3 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL3 included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 3 requirements
+## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 2.0 or (at your option) the GNU General
+## Public license version 3 or any later version approved by the KDE Free
+## Qt Foundation. The licenses are as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-2.0.html and
+## https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs python3
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+# Try with default
+/opt/homebrew/bin/brew install pyenv
diff --git a/coin/provisioning/qtci-macos-13-arm/24-sccache.sh b/coin/provisioning/qtci-macos-13-arm/24-sccache.sh
new file mode 100755
index 00000000..358b23fb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/24-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/macos/sccache.sh"
diff --git a/coin/provisioning/qtci-macos-13-arm/25-cmake.sh b/coin/provisioning/qtci-macos-13-arm/25-cmake.sh
new file mode 100755
index 00000000..33095880
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/25-cmake.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/cmake.sh"
diff --git a/coin/provisioning/qtci-macos-13-arm/25-mysql.sh b/coin/provisioning/qtci-macos-13-arm/25-mysql.sh
new file mode 100755
index 00000000..0be1e6e8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/25-mysql.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs MySQL
+
+# MySQL is needed for Qt to be able to support MySQL
+
+set -ex
+
+# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+SHA1="07949bd42f350b0504a1536b8830b809b4a34fca"
+appPrefix=""
+targetDir="/opt/mysql57/"
+
+sudo mkdir -p "/opt"
+
+InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir"
+
+SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin"
+echo "MySQL = 5.7.15" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-13-arm/25-pip.sh b/coin/provisioning/qtci-macos-13-arm/25-pip.sh
new file mode 100755
index 00000000..3fc865d0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/25-pip.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pip.sh"
diff --git a/coin/provisioning/qtci-macos-13-arm/25-postgresql.sh b/coin/provisioning/qtci-macos-13-arm/25-postgresql.sh
new file mode 100755
index 00000000..06cae6ef
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/25-postgresql.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/postgresql.sh"
diff --git a/coin/provisioning/qtci-macos-13-arm/25-python.sh b/coin/provisioning/qtci-macos-13-arm/25-python.sh
new file mode 100755
index 00000000..9bfb6384
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/25-python.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# Copyright (C) 2017 Pelagicore AG
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs python3
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+pyenv install 3.9.7
+
+/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user install virtualenv wheel html5lib
+
+SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/"
+SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/"
+# Use 3.9 as a default python
+SetEnvVar "PATH" "\$PYTHON3_PATH:\$PATH"
+
+# QtWebengine still requires python2
+pyenv install 2.7.18
+SetEnvVar "PYTHON2_PATH" "/Users/qt/.pyenv/versions/2.7.18/bin/"
+
+echo "python3 = 3.9.7" >> ~/versions.txt
+echo "python2 = 2.7.18" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-13-arm/26-freetype.sh b/coin/provisioning/qtci-macos-13-arm/26-freetype.sh
new file mode 100755
index 00000000..fa0790f8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/26-freetype.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
+
+brew install freetype
diff --git a/coin/provisioning/qtci-macos-13-arm/26-jq.sh b/coin/provisioning/qtci-macos-13-arm/26-jq.sh
new file mode 100755
index 00000000..4dffcb96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/26-jq.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install jq
diff --git a/coin/provisioning/qtci-macos-13-arm/26-ninja.sh b/coin/provisioning/qtci-macos-13-arm/26-ninja.sh
new file mode 100755
index 00000000..4443eeb4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/26-ninja.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/ninja.sh
+source "${BASH_SOURCE%/*}/../common/macos/ninja.sh"
+
+
diff --git a/coin/provisioning/qtci-macos-13-arm/26-odbc.sh b/coin/provisioning/qtci-macos-13-arm/26-odbc.sh
new file mode 100755
index 00000000..2b6b013a
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/26-odbc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# Install libiodbc
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/libiodbc.sh" --with-universal
diff --git a/coin/provisioning/qtci-macos-13-arm/26-p7zip.sh b/coin/provisioning/qtci-macos-13-arm/26-p7zip.sh
new file mode 100755
index 00000000..8cdcd0c3
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/26-p7zip.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# Install 7z to be used from command line
+
+set -ex
+
+brew update
+brew install p7zip
diff --git a/coin/provisioning/qtci-macos-13-arm/26-pcre2.sh b/coin/provisioning/qtci-macos-13-arm/26-pcre2.sh
new file mode 100755
index 00000000..c10d6206
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/26-pcre2.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
+
+brew install pcre2
diff --git a/coin/provisioning/qtci-macos-13-arm/27-libclang.sh b/coin/provisioning/qtci-macos-13-arm/27-libclang.sh
new file mode 100755
index 00000000..cc025e6e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/27-libclang.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# There is only one mac package and common script uses it as a default
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-macos-13-arm/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-13-arm/28-libclang-v100-dyn.sh
new file mode 100755
index 00000000..d95e7e00
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/28-libclang-v100-dyn.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-macos-13-arm/29-install-pkgconfig.sh b/coin/provisioning/qtci-macos-13-arm/29-install-pkgconfig.sh
new file mode 100755
index 00000000..33e11580
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/29-install-pkgconfig.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pkgconfig.sh"
diff --git a/coin/provisioning/qtci-macos-13-arm/30-android.sh b/coin/provisioning/qtci-macos-13-arm/30-android.sh
new file mode 100755
index 00000000..6259b71e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/30-android.sh
@@ -0,0 +1,64 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script install Android sdk and ndk.
+
+# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+targetFolder="/opt/android"
+sdkTargetFolder="$targetFolder/sdk"
+
+basePath="/net/ci-files01-hki.ci.qt.io/hdd/www/input/android"
+
+toolsVersion="2.1"
+# toolsFile dertermines tools version
+toolsFile="commandlinetools-mac-6609375_latest.zip"
+
+ndkVersion="r26b"
+ndkFile="android-ndk-$ndkVersion-darwin.zip"
+sdkBuildToolsVersion="34.0.0"
+# this is compile sdk version
+sdkApiLevel="android-34"
+
+toolsSourceFile="$basePath/$toolsFile"
+ndkSourceFile="$basePath/$ndkFile"
+
+echo "Unzipping Android NDK to '$targetFolder'"
+sudo unzip -q "$ndkSourceFile" -d "$targetFolder"
+echo "Unzipping Android Tools to '$sdkTargetFolder'"
+sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
+
+echo "Changing ownership of Android files."
+sudo chown -R qt:wheel "$targetFolder"
+
+# Run the following command under `eval` or `sh -c` so that the shell properly splits it
+sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
+
+sudo mkdir "$sdkTargetFolder/cmdline-tools"
+sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
+
+echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
+(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \
+ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
+ | eval "$sdkmanager_no_progress_bar_cmd"
+
+echo "Checking the contents of Android SDK..."
+ls -l "$sdkTargetFolder"
+
+SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder"
+SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion"
+SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64"
+SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
+
+cat << EOB >> ~/versions.txt
+Android SDK tools = $toolsVersion
+Android SDK Build Tools = $sdkBuildToolsVersion
+Android SDK API level = $sdkApiLevel
+Android NDK = $ndkVersion
+EOB
diff --git a/coin/provisioning/qtci-macos-13-arm/30-fbx.sh b/coin/provisioning/qtci-macos-13-arm/30-fbx.sh
new file mode 100755
index 00000000..e991bc08
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/30-fbx.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/fbx_macos.sh"
+
diff --git a/coin/provisioning/qtci-macos-13-arm/30-install-conan.sh b/coin/provisioning/qtci-macos-13-arm/30-install-conan.sh
new file mode 100755
index 00000000..67a4f911
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh"
diff --git a/coin/provisioning/qtci-macos-13-arm/30-nodejs.sh b/coin/provisioning/qtci-macos-13-arm/30-nodejs.sh
new file mode 100755
index 00000000..8f73b2d6
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/30-nodejs.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+brew install nodejs
+
diff --git a/coin/provisioning/qtci-macos-13-arm/35-install-breakpad.sh b/coin/provisioning/qtci-macos-13-arm/35-install-breakpad.sh
new file mode 100755
index 00000000..8a9dde56
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/35-install-breakpad.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-macos-13-arm/35-install_protobuf.sh b/coin/provisioning/qtci-macos-13-arm/35-install_protobuf.sh
new file mode 100755
index 00000000..ecb5f835
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/35-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-macos-13-arm/35-openssl.sh b/coin/provisioning/qtci-macos-13-arm/35-openssl.sh
new file mode 100755
index 00000000..c86788db
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/35-openssl.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-openssl.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal"
+
diff --git a/coin/provisioning/qtci-macos-13-arm/36-emsdk.sh b/coin/provisioning/qtci-macos-13-arm/36-emsdk.sh
new file mode 100755
index 00000000..c8aec444
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/36-emsdk.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-macos-13-arm/36-install_grpc.sh b/coin/provisioning/qtci-macos-13-arm/36-install_grpc.sh
new file mode 100755
index 00000000..ecd6a51f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/36-install_grpc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-macos-13-arm/40-qnx700.sh b/coin/provisioning/qtci-macos-13-arm/40-qnx700.sh
new file mode 100755
index 00000000..48286a67
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/40-qnx700.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QNX 7.
+
+targetFolder="/opt/"
+sourceFile="/net/ci-files01-hki.ci.qt.io/hdd/www/input/qnx/qnx700-20190325-2-macos.tar.xz"
+folderName="qnx700"
+
+sudo mkdir -p "$targetFolder"
+
+echo "Extracting QNX 7"
+sudo tar -C "$targetFolder" -Jxf $sourceFile
+
+sudo chown -R qt:wheel "$targetFolder"/"$folderName"
+
+# Verify that we have last file in zip
+if [ ! -f $targetFolder/$folderName/qnxsdp-env.sh ]; then
+ exit 1
+fi
+
+# Set env variables
+echo "export QNX_700=$targetFolder/$folderName" >> ~/.bashrc
+echo "QNX SDP = 7.0.0" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-13-arm/55-signtools.sh b/coin/provisioning/qtci-macos-13-arm/55-signtools.sh
new file mode 100755
index 00000000..ff5a977a
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/55-signtools.sh
@@ -0,0 +1,107 @@
+#!/usr/bin/env sh
+# 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
+
+# Install tools for singing packages
+# This script assume that OS is vanilla. Target machine dosen't have any signing certificates installed.
+
+set -ex
+
+cache="http://ci-files01-hki.ci.qt.io/input"
+cacheSigningTools="$cache/mac/sign_tools"
+targetFolder="/Users/qt"
+keychains="$targetFolder/Library/Keychains"
+
+Install() {
+
+ url=$1
+ targetFile=$2
+ expectedSha1=$3
+
+ echo "Fetching $targetFile from $url..."
+ curl --retry 5 --retry-delay 10 --retry-max-time 60 "$url" -o "$targetFile"
+ shasum "$targetFile" |grep "$expectedSha1"
+
+}
+
+# qt-license
+sha1QtLicense="9d59241d16f68d914f1c7aa1dc23e05faa169e8d"
+Install "$cache/semisecure/.qt-license" "$targetFolder/.qt-license" $sha1QtLicense
+
+# Login keychain
+sha1LoginKeychainPassword="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
+Install "$cacheSigningTools/login_keychain_password.txt" "$targetFolder/login_keychain_password.txt" "$sha1LoginKeychainPassword"
+{ loginKeychainPassword=$(cat "$targetFolder/login_keychain_password.txt"); } 2> /dev/null
+loginKeychain=$keychains/login.keychain
+
+echo "Setting login.keychain as default keychain.."
+security default-keychain -s $loginKeychain*
+echo "Unlocking Login keychain with password.."
+{ security unlock-keychain -p "$loginKeychainPassword" $loginKeychain*; } 2> /dev/null
+
+echo "remove the "Lock after X minutes of inactivity" from login.keychain"
+security set-keychain-settings $loginKeychain
+
+# Apple Worldwide Developer Relations Certification Authority -> https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
+sha1AppleWWDRCA="ff6797793a3cd798dc5b2abef56f73edc9f83a64"
+Install "$cacheSigningTools/AppleWWDRCA.cer" "$targetFolder/AppleWWDRCA.cer" $sha1AppleWWDRCA
+sudo security add-certificates -k $loginKeychain* "$targetFolder/AppleWWDRCA.cer"
+
+# Developer ID Certification Authority -> https://www.apple.com/certificateauthority/DeveloperIDCA.cer
+sha1DeveloperIDCA="3b166c3b7dc4b751c9fe2afab9135641e388e186"
+Install "$cacheSigningTools/DeveloperIDCA.cer" "$targetFolder/DeveloperIDCA.cer" $sha1DeveloperIDCA
+sudo security add-certificates -k $loginKeychain* "$targetFolder/DeveloperIDCA.cer"
+
+# Create script to unlock keychain 'security unlock-keychain -p 'password' Developer_ID_TheQtCompany.keychain'
+sha1UnLockKeychain="4398870e3f558ad28c80566b5f70e24dc29ea724"
+unlockKeychain=$targetFolder/unlock-keychain.sh
+{ Install "$cacheSigningTools/unlock-keychain.sh" "$unlockKeychain" $sha1UnLockKeychain; } 2> /dev/null
+sudo chmod 755 "$unlockKeychain"
+
+# Codesigning requirements file. The bundle identifier in the requirements file should match the identifier of the application that is signed.
+shaCsreq="2c3f00b1845a0f475673fd6934ba25ea51d1f910"
+csreq=$targetFolder/csreq_qt_company.txt
+Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq
+chmod 755 "$csreq"
+
+# iOS signing tools
+devIDKeychain="Developer_ID_TheQtCompany.keychain-db"
+shaDevIdKeychain="972cca1879cdaeeb6042f9879756c748a8d1eddc"
+Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain
+echo "Opening $devIDKeychain.."
+open "$keychains/$devIDKeychain"
+
+sha1DeveloperIDTheQtCompanyKeychainPassword="d758e067736bbda7a91ffaec66cd38afdaf68ea6"
+Install "$cacheSigningTools/Developer_ID_TheQtCompany_keychain_password.txt" "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt" "$sha1DeveloperIDTheQtCompanyKeychainPassword"
+{ DeveloperIDTheQtCompanyKeychainPassword=$(cat "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt"); } 2> /dev/null
+
+echo "Unlocking $devIDKeychain with password.."
+{ security unlock-keychain -p "$DeveloperIDTheQtCompanyKeychainPassword" $keychains/Developer_ID_TheQtCompany.keychain; } 2> /dev/null
+security set-keychain-settings $keychains/Developer_ID_TheQtCompany.keychain
+
+sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
+{ Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios; } 2> /dev/null
+{ iosPassword=$(cat "$targetFolder/ios_password.txt"); } 2> /dev/null
+
+iPhoneDeveloper="iPhoneDeveloperCiTeam2020.p12"
+shaIPhoneDeveloper="73136e44fed850f398e85908e4a73f20a6bdd8a2"
+Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper
+echo "Importing $iPhoneDeveloper.."
+{ security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null
+
+iPhoneDistribution="iPhoneDistributionCiTeam2020.p12"
+shaIPhoneDistribution="36215c3cbc6bfee48e86aafbd53c56282fe36d8d"
+Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution
+echo "Importing $iPhoneDistribution.."
+{ security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null
+
+# Mobileprovision
+echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.."
+mkdir "$targetFolder/Library/MobileDevice"
+mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles"
+shaMobileprovision="ec9697276253ca7bf4401912236f0e6fde4214da"
+Install "$cacheSigningTools/latest_ios_cert_2020/iOS_Dev_2020_citeam.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev_2020_citeam.mobileprovision" $shaMobileprovision
+
+# Removing password files
+rm -fr "$targetFolder/login_keychain_password.txt"
+
diff --git a/coin/provisioning/qtci-macos-13-arm/80-screenresolution.sh b/coin/provisioning/qtci-macos-13-arm/80-screenresolution.sh
new file mode 100755
index 00000000..ed905a33
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/80-screenresolution.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
+
+"$(dirname "$0")"/../common/macos/screenresolution.sh
+
diff --git a/coin/provisioning/qtci-macos-13-arm/81-bluetooth.sh b/coin/provisioning/qtci-macos-13-arm/81-bluetooth.sh
new file mode 100755
index 00000000..c58b9a34
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/81-bluetooth.sh
@@ -0,0 +1,10 @@
+#!/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
+
+brew install blueutil
+
+#Disable Bluetooth
+blueutil -p 0
diff --git a/coin/provisioning/qtci-macos-13-arm/90-docker.sh b/coin/provisioning/qtci-macos-13-arm/90-docker.sh
new file mode 100755
index 00000000..f03971a9
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/90-docker.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/docker.sh
+source "${BASH_SOURCE%/*}/../common/macos/docker.sh" "arm64"
+
diff --git a/coin/provisioning/qtci-macos-13-arm/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-13-arm/90-install-ffmpeg.sh
new file mode 100755
index 00000000..23cb13e1
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/90-install-ffmpeg.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
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-13-arm/90-vlc.sh b/coin/provisioning/qtci-macos-13-arm/90-vlc.sh
new file mode 100644
index 00000000..4924fe5c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/90-vlc.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# for QtMM streaming tests
+brew install --cask vlc
diff --git a/coin/provisioning/qtci-macos-13-arm/97-set-locale.sh b/coin/provisioning/qtci-macos-13-arm/97-set-locale.sh
new file mode 100755
index 00000000..bc966cbf
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/97-set-locale.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/set-locale.sh"
diff --git a/coin/provisioning/qtci-macos-13-arm/98-mimersql.sh b/coin/provisioning/qtci-macos-13-arm/98-mimersql.sh
new file mode 100755
index 00000000..70d5bc1d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/98-mimersql.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/mimersql.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-13-arm/99-mac-version.sh b/coin/provisioning/qtci-macos-13-arm/99-mac-version.sh
new file mode 100755
index 00000000..b9b5aeb0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-arm/99-mac-version.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/macos-version.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/01-disable-net-lso.sh b/coin/provisioning/qtci-macos-13-x86_64/01-disable-net-lso.sh
new file mode 100755
index 00000000..659ebe96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/01-disable-net-lso.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable_net_lso.sh
diff --git a/coin/provisioning/qtci-macos-13-x86_64/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-13-x86_64/01-disable-notifications_and_warnings.sh
new file mode 100755
index 00000000..27efbb62
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/01-disable-notifications_and_warnings.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable-notifications_and_warnings.sh
diff --git a/coin/provisioning/qtci-macos-13-x86_64/01-disable-updates.sh b/coin/provisioning/qtci-macos-13-x86_64/01-disable-updates.sh
new file mode 100755
index 00000000..a2b2a0f0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/01-disable-updates.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/system_updates.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/01-enable_zsh_history_and_viminfo.sh b/coin/provisioning/qtci-macos-13-x86_64/01-enable_zsh_history_and_viminfo.sh
new file mode 100755
index 00000000..6004b140
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/01-enable_zsh_history_and_viminfo.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+# shellcheck source=../common/macos/enable_zsh_history_and_viminfo.sh
+source "${BASH_SOURCE%/*}/../common/macos/enable_zsh_history_and_viminfo.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/01-increase_limits.sh b/coin/provisioning/qtci-macos-13-x86_64/01-increase_limits.sh
new file mode 100755
index 00000000..08669e52
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/01-increase_limits.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/increase_limits.sh
diff --git a/coin/provisioning/qtci-macos-13-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-macos-13-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..abd9ba0d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/telegraf_install.sh
diff --git a/coin/provisioning/qtci-macos-13-x86_64/01-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-macos-13-x86_64/01-mount-vcpkg-cache-drive.sh
new file mode 100755
index 00000000..2739f40f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/01-mount-vcpkg-cache-drive.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/mount-vcpkg-cache-drive.sh
+source "${BASH_SOURCE%/*}/../common/macos/mount-vcpkg-cache-drive.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-13-x86_64/01-sha1sum-compatibility.sh
new file mode 100755
index 00000000..583195c7
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/01-sha1sum-compatibility.sh
@@ -0,0 +1,10 @@
+#!/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
+
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/macos/sha1sum-compatibility.sh
+source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-13-x86_64/03-bashprofile.sh
new file mode 100755
index 00000000..4eed8433
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/03-bashprofile.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env 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
+
+set -ex
+
+# Read .bashrc if exist
+printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile
+
diff --git a/coin/provisioning/qtci-macos-13-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-13-x86_64/05-systemsetup.sh
new file mode 100755
index 00000000..5a1e3fbf
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/05-systemsetup.sh
@@ -0,0 +1,80 @@
+#!/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
+
+# This script modifies system settings for automated use
+
+targetFile="$HOME/vncpw.txt"
+
+# Fetch password
+curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.ci.qt.io/input/semisecure/vncpw.txt" -o "$targetFile"
+shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0"
+
+{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null
+NTS_IP=10.212.2.216
+
+echo "Disable Screensaver"
+# For current session
+defaults -currentHost write com.apple.screensaver idleTime 0
+
+echo "Disable sleep"
+sudo pmset sleep 0 displaysleep 0
+
+# For session after a reboot
+mkdir -p "$HOME/Library/LaunchAgents"
+sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>org.qt.io.screensaver_disable</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>defaults</string>
+ <string>-currentHost</string>
+ <string>write</string>
+ <string>com.apple.screensaver</string>
+ <string>idleTime</string>
+ <string>0</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>KeepAlive</key>
+ <false/>
+ </dict>
+</plist>
+EOT
+
+defaults write com.apple.screensaver askForPassword -int 0
+
+echo "Set keyboard type rates and delays"
+# normal minimum is 15 (225 ms)
+defaults write -g InitialKeyRepeat -int 15
+# normal minimum is 2 (30 ms)
+defaults write -g KeyRepeat -int 2
+
+set +x
+echo "Enable remote desktop sharing"
+sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all
+set -x
+
+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
+
+sudo systemsetup settimezone GMT
+sudo systemsetup setusingnetworktime off
+sudo rm -f "$targetFile"
+
+# Enable automount for nfs shares
+sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master
+sudo automount -cv
+
+# Disable multicast advertisements
+sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true
+
+# Enable Use keyboard navigation to move focus between controls
+defaults write -g AppleKeyboardUIMode -int 2
diff --git a/coin/provisioning/qtci-macos-13-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-13-x86_64/06-crashreporter.sh
new file mode 100755
index 00000000..cb7c0774
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/06-crashreporter.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env 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
+
+set -ex
+
+defaults write com.apple.CrashReporter DialogType server
diff --git a/coin/provisioning/qtci-macos-13-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-13-x86_64/06-disable_spotlight.sh
new file mode 100755
index 00000000..ab85a262
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/06-disable_spotlight.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
+
+# shellcheck source=../common/macos/disable_spotlight.sh
+source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-13-x86_64/06-disable_update_downloads.sh
new file mode 100755
index 00000000..18cb98ea
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/06-disable_update_downloads.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
+set -ex
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/disable_update_downloads.sh
diff --git a/coin/provisioning/qtci-macos-13-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-13-x86_64/07-SSL_keychain.sh
new file mode 100755
index 00000000..e14dcee9
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/07-SSL_keychain.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+# Enables the usage of temporary keychains for SSL autotests
+SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-13-x86_64/15-xz.sh
new file mode 100755
index 00000000..57cc1f5c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/15-xz.sh
@@ -0,0 +1,21 @@
+#!/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
+
+# This script installs XZ-Utils
+
+# XZ-Utils are needed for uncompressing xz-compressed files
+
+set -ex
+
+# shellcheck source=../common/macos/InstallPKGFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/XZ.pkg"
+AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg"
+SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67"
+DestDir="/"
+
+InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
+
+echo "XZ = 5.0.7" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-13-x86_64/20-java.sh b/coin/provisioning/qtci-macos-13-x86_64/20-java.sh
new file mode 100755
index 00000000..325fee63
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/20-java.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/java.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-13-x86_64/20-xcode.sh
new file mode 100755
index 00000000..75c7ddc9
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/20-xcode.sh
@@ -0,0 +1,22 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs Xcode
+# Prerequisites: Have Xcode prefetched to local cache as xz compressed.
+# This can be achieved by fetching Xcode_9.xip from Apple Store.
+# Uncompress it with 'xar -xf Xcode_9.xip'
+# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py
+# with which you can run 'python parse_pbzx2.py Content'.
+# This will give you five files called "Content.part<00..05>.cpio.xz".
+# Extract those that have the extension .xz with xz.
+# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new"
+# Compress the new file with xz back to something like Xcode_9.xz
+# Upload the file to temporary storage for this script to use.
+
+set -ex
+
+# shellcheck source=../common/macos/install_xcode.sh
+source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"
+
+InstallXCode /net/ci-files01-hki.ci.qt.io/hdd/www/input/mac/Xcode_14.2.xip 14.2
diff --git a/coin/provisioning/qtci-macos-13-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-13-x86_64/21-install-commandlinetools.sh
new file mode 100755
index 00000000..3e71b5c9
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/21-install-commandlinetools.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/install-commandlinetools.sh
+source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh"
+version="14.2"
+packageName="Command_Line_Tools_for_Xcode_$version.dmg"
+url="http://ci-files01-hki.ci.qt.io/input/mac/$packageName"
+sha1="f9d18da696bc54755bd85fb4f42c0a8866bdade6"
+
+InstallCommandLineTools $url $url $sha1 $packageName $version
diff --git a/coin/provisioning/qtci-macos-13-x86_64/24-sccache.sh b/coin/provisioning/qtci-macos-13-x86_64/24-sccache.sh
new file mode 100755
index 00000000..358b23fb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/24-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/macos/sccache.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-13-x86_64/25-cmake.sh
new file mode 100755
index 00000000..33095880
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/25-cmake.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/cmake.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-13-x86_64/25-homebrew.sh
new file mode 100755
index 00000000..237dc507
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/25-homebrew.sh
@@ -0,0 +1,28 @@
+#!/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
+
+# Will install homebrew package manager for macOS.
+# WARNING: Requires commandlinetools
+
+
+set -e
+
+. "$(dirname "$0")"/../common/unix/DownloadURL.sh
+
+
+DownloadURL \
+ http://ci-files01-hki.ci.qt.io/input/mac/homebrew/a822f0d0f1838c07e86b356fcd2bf93c7a11c2aa/install.sh \
+ https://raw.githubusercontent.com/Homebrew/install/c744a716f9845988d01e6e238eee7117b8c366c9/install \
+ 3210da71e12a699ab3bba43910a6d5fc64b92000 \
+ /tmp/homebrew_install.sh
+
+DownloadURL "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw"
+{ pw=$(cat "/Users/qt/pw"); } 2> /dev/null
+sudo chmod 755 /tmp/homebrew_install.sh
+{ (echo "$pw" | /tmp/homebrew_install.sh); } 2> /dev/null
+rm -f "/Users/qt/pw"
+
+# No need to manually do `brew update`, the homebrew installer script does it.
+### brew update
+
diff --git a/coin/provisioning/qtci-macos-13-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-13-x86_64/25-mysql.sh
new file mode 100755
index 00000000..f5717d0b
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/25-mysql.sh
@@ -0,0 +1,27 @@
+#!/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
+
+# This script installs MySQL
+
+# MySQL is needed for Qt to be able to support MySQL
+
+set -ex
+
+# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+SHA1="07949bd42f350b0504a1536b8830b809b4a34fca"
+appPrefix=""
+targetDir="/opt/mysql57/"
+
+sudo mkdir -p "/opt"
+
+InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir"
+
+SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin"
+echo "MySQL = 5.7.15" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-13-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-13-x86_64/25-pip.sh
new file mode 100755
index 00000000..3fc865d0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/25-pip.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pip.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-13-x86_64/25-postgresql.sh
new file mode 100755
index 00000000..06cae6ef
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/25-postgresql.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/postgresql.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-13-x86_64/25-python2.sh
new file mode 100755
index 00000000..4c88a413
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/25-python2.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
+
+# shellcheck source=../common/macos/python2.sh
+source "${BASH_SOURCE%/*}/../common/macos/python2.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-13-x86_64/25-python3.sh
new file mode 100755
index 00000000..8fee606c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/25-python3.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
+
+# shellcheck source=../common/macos/python3.sh
+source "${BASH_SOURCE%/*}/../common/macos/python3.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/26-freetype.sh b/coin/provisioning/qtci-macos-13-x86_64/26-freetype.sh
new file mode 100755
index 00000000..fa0790f8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/26-freetype.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
+
+brew install freetype
diff --git a/coin/provisioning/qtci-macos-13-x86_64/26-jq.sh b/coin/provisioning/qtci-macos-13-x86_64/26-jq.sh
new file mode 100755
index 00000000..4dffcb96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/26-jq.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install jq
diff --git a/coin/provisioning/qtci-macos-13-x86_64/26-ninja.sh b/coin/provisioning/qtci-macos-13-x86_64/26-ninja.sh
new file mode 100755
index 00000000..4443eeb4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/26-ninja.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/ninja.sh
+source "${BASH_SOURCE%/*}/../common/macos/ninja.sh"
+
+
diff --git a/coin/provisioning/qtci-macos-13-x86_64/26-odbc.sh b/coin/provisioning/qtci-macos-13-x86_64/26-odbc.sh
new file mode 100755
index 00000000..2b6b013a
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/26-odbc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# Install libiodbc
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/libiodbc.sh" --with-universal
diff --git a/coin/provisioning/qtci-macos-13-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-13-x86_64/26-p7zip.sh
new file mode 100755
index 00000000..8cdcd0c3
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/26-p7zip.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# Install 7z to be used from command line
+
+set -ex
+
+brew update
+brew install p7zip
diff --git a/coin/provisioning/qtci-macos-13-x86_64/26-pcre2.sh b/coin/provisioning/qtci-macos-13-x86_64/26-pcre2.sh
new file mode 100755
index 00000000..c10d6206
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/26-pcre2.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
+
+brew install pcre2
diff --git a/coin/provisioning/qtci-macos-13-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-13-x86_64/27-libclang.sh
new file mode 100755
index 00000000..cc025e6e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/27-libclang.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# There is only one mac package and common script uses it as a default
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-13-x86_64/28-libclang-v100-dyn.sh
new file mode 100755
index 00000000..d95e7e00
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/28-libclang-v100-dyn.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/29-install-pkgconfig.sh b/coin/provisioning/qtci-macos-13-x86_64/29-install-pkgconfig.sh
new file mode 100755
index 00000000..33e11580
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/29-install-pkgconfig.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pkgconfig.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/29-libusb.sh b/coin/provisioning/qtci-macos-13-x86_64/29-libusb.sh
new file mode 100755
index 00000000..e9e9e238
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/29-libusb.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+
+"$BASEDIR/../common/macos/libusb.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/30-android.sh b/coin/provisioning/qtci-macos-13-x86_64/30-android.sh
new file mode 100755
index 00000000..ddb3aec0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/30-android.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/android.sh
+source "${BASH_SOURCE%/*}/../common/macos/android.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-13-x86_64/30-fbx.sh
new file mode 100755
index 00000000..e991bc08
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/30-fbx.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/fbx_macos.sh"
+
diff --git a/coin/provisioning/qtci-macos-13-x86_64/30-install-conan.sh b/coin/provisioning/qtci-macos-13-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..8d90ef37
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh" "macos"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-13-x86_64/30-nodejs.sh
new file mode 100755
index 00000000..a5cf7d4d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/30-nodejs.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/nodejs.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-macos-13-x86_64/35-install-breakpad.sh
new file mode 100755
index 00000000..8a9dde56
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/35-install-breakpad.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/35-install_protobuf.sh b/coin/provisioning/qtci-macos-13-x86_64/35-install_protobuf.sh
new file mode 100755
index 00000000..c538ca07
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/35-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-macos-13-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-13-x86_64/35-openssl.sh
new file mode 100755
index 00000000..c86788db
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/35-openssl.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-openssl.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal"
+
diff --git a/coin/provisioning/qtci-macos-13-x86_64/36-emsdk.sh b/coin/provisioning/qtci-macos-13-x86_64/36-emsdk.sh
new file mode 100755
index 00000000..c8aec444
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/36-emsdk.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/36-install_grpc.sh b/coin/provisioning/qtci-macos-13-x86_64/36-install_grpc.sh
new file mode 100755
index 00000000..ecd6a51f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/36-install_grpc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-macos-13-x86_64/50-openssl_for_android_darwin.sh b/coin/provisioning/qtci-macos-13-x86_64/50-openssl_for_android_darwin.sh
new file mode 100755
index 00000000..c3e51d23
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/50-openssl_for_android_darwin.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
+
+# shellcheck source=../common/unix/openssl_for_android.sh
+source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/80-screenresolution.sh b/coin/provisioning/qtci-macos-13-x86_64/80-screenresolution.sh
new file mode 100755
index 00000000..ed905a33
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/80-screenresolution.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
+
+"$(dirname "$0")"/../common/macos/screenresolution.sh
+
diff --git a/coin/provisioning/qtci-macos-13-x86_64/81-bluetooth.sh b/coin/provisioning/qtci-macos-13-x86_64/81-bluetooth.sh
new file mode 100755
index 00000000..c58b9a34
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/81-bluetooth.sh
@@ -0,0 +1,10 @@
+#!/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
+
+brew install blueutil
+
+#Disable Bluetooth
+blueutil -p 0
diff --git a/coin/provisioning/qtci-macos-13-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-13-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..dfdc1022
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/90-install-ffmpeg.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos-universal"
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-arm64"
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-ios.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-13-x86_64/90-squish.sh
new file mode 100755
index 00000000..c2658d0e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/90-squish.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-macos-13-x86_64/90-vlc.sh b/coin/provisioning/qtci-macos-13-x86_64/90-vlc.sh
new file mode 100644
index 00000000..4924fe5c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/90-vlc.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# for QtMM streaming tests
+brew install --cask vlc
diff --git a/coin/provisioning/qtci-macos-13-x86_64/97-set-locale.sh b/coin/provisioning/qtci-macos-13-x86_64/97-set-locale.sh
new file mode 100755
index 00000000..bc966cbf
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/97-set-locale.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/set-locale.sh"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/98-mimersql.sh b/coin/provisioning/qtci-macos-13-x86_64/98-mimersql.sh
new file mode 100755
index 00000000..70d5bc1d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/98-mimersql.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/mimersql.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-13-x86_64/99-mac-version.sh b/coin/provisioning/qtci-macos-13-x86_64/99-mac-version.sh
new file mode 100755
index 00000000..b9b5aeb0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-13-x86_64/99-mac-version.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/macos-version.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/01-disable-app-reopen.sh b/coin/provisioning/qtci-macos-14-arm/01-disable-app-reopen.sh
new file mode 100755
index 00000000..382fb40c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/01-disable-app-reopen.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
+set -ex
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/disable-app-reopen.sh
diff --git a/coin/provisioning/qtci-macos-14-arm/01-disable-net-lso.sh b/coin/provisioning/qtci-macos-14-arm/01-disable-net-lso.sh
new file mode 100755
index 00000000..659ebe96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/01-disable-net-lso.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable_net_lso.sh
diff --git a/coin/provisioning/qtci-macos-14-arm/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-14-arm/01-disable-notifications_and_warnings.sh
new file mode 100755
index 00000000..27efbb62
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/01-disable-notifications_and_warnings.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable-notifications_and_warnings.sh
diff --git a/coin/provisioning/qtci-macos-14-arm/01-disable-updates.sh b/coin/provisioning/qtci-macos-14-arm/01-disable-updates.sh
new file mode 100755
index 00000000..a2b2a0f0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/01-disable-updates.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/system_updates.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/01-increase_limits.sh b/coin/provisioning/qtci-macos-14-arm/01-increase_limits.sh
new file mode 100755
index 00000000..08669e52
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/01-increase_limits.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/increase_limits.sh
diff --git a/coin/provisioning/qtci-macos-14-arm/01-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-macos-14-arm/01-mount-vcpkg-cache-drive.sh
new file mode 100755
index 00000000..2739f40f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/01-mount-vcpkg-cache-drive.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/mount-vcpkg-cache-drive.sh
+source "${BASH_SOURCE%/*}/../common/macos/mount-vcpkg-cache-drive.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/01-set_tcc_permissions.sh b/coin/provisioning/qtci-macos-14-arm/01-set_tcc_permissions.sh
new file mode 100755
index 00000000..da38f582
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/01-set_tcc_permissions.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+source "${BASH_SOURCE%/*}/../common/macos/set_tcc_permissions.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-14-arm/01-sha1sum-compatibility.sh
new file mode 100755
index 00000000..e52367c8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/01-sha1sum-compatibility.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/macos/sha1sum-compatibility.sh
+source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/03-bashprofile.sh b/coin/provisioning/qtci-macos-14-arm/03-bashprofile.sh
new file mode 100755
index 00000000..4eed8433
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/03-bashprofile.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env 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
+
+set -ex
+
+# Read .bashrc if exist
+printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile
+
diff --git a/coin/provisioning/qtci-macos-14-arm/05-systemsetup.sh b/coin/provisioning/qtci-macos-14-arm/05-systemsetup.sh
new file mode 100755
index 00000000..1d8b7f09
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/05-systemsetup.sh
@@ -0,0 +1,80 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# This script modified system settings for automated use
+
+targetFile="$HOME/vncpw.txt"
+
+# Fetch password
+curl --retry 5 --retry-delay 10 --retry-max-time 60 "http://ci-files01-hki.ci.qt.io/input/semisecure/vncpw.txt" -o "$targetFile"
+shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0"
+
+{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null
+NTS_IP=10.212.2.216
+
+echo "Disable Screensaver"
+# For current session
+defaults -currentHost write com.apple.screensaver idleTime 0
+
+echo "Disable sleep"
+sudo pmset sleep 0 displaysleep 0
+
+# For session after a reboot
+mkdir -p "$HOME/Library/LaunchAgents"
+sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>org.qt.io.screensaver_disable</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>defaults</string>
+ <string>-currentHost</string>
+ <string>write</string>
+ <string>com.apple.screensaver</string>
+ <string>idleTime</string>
+ <string>0</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>KeepAlive</key>
+ <false/>
+ </dict>
+</plist>
+EOT
+
+defaults write com.apple.screensaver askForPassword -int 0
+
+echo "Set keyboard type rates and delays"
+# normal minimum is 15 (225 ms)
+defaults write -g InitialKeyRepeat -int 15
+# normal minimum is 2 (30 ms)
+defaults write -g KeyRepeat -int 2
+
+set +x
+echo "Enable remote desktop sharing"
+sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all
+set -x
+
+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
+
+sudo systemsetup settimezone GMT
+sudo systemsetup setusingnetworktime on
+sudo rm -f "$targetFile"
+
+# Enable automount for nfs shares
+sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master || sudo curl -o /etc/auto_master http://ci-files01-hki.ci.qt.io/input/mac/arm/auto_master
+sudo automount -cv
+
+# Disable multicast advertisements
+sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true
+
+# Enable Use keyboard navigation to move focus between controls
+defaults write -g AppleKeyboardUIMode -int 2
diff --git a/coin/provisioning/qtci-macos-14-arm/06-crashreporter.sh b/coin/provisioning/qtci-macos-14-arm/06-crashreporter.sh
new file mode 100755
index 00000000..cb7c0774
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/06-crashreporter.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env 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
+
+set -ex
+
+defaults write com.apple.CrashReporter DialogType server
diff --git a/coin/provisioning/qtci-macos-14-arm/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-14-arm/06-disable_spotlight.sh
new file mode 100755
index 00000000..ab85a262
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/06-disable_spotlight.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
+
+# shellcheck source=../common/macos/disable_spotlight.sh
+source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-14-arm/06-disable_update_downloads.sh
new file mode 100755
index 00000000..18cb98ea
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/06-disable_update_downloads.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
+set -ex
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/disable_update_downloads.sh
diff --git a/coin/provisioning/qtci-macos-14-arm/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-14-arm/07-SSL_keychain.sh
new file mode 100755
index 00000000..e14dcee9
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/07-SSL_keychain.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+# Enables the usage of temporary keychains for SSL autotests
+SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1"
diff --git a/coin/provisioning/qtci-macos-14-arm/15-xz.sh b/coin/provisioning/qtci-macos-14-arm/15-xz.sh
new file mode 100755
index 00000000..b7e00a20
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/15-xz.sh
@@ -0,0 +1,32 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs XZ-Utils
+
+# XZ-Utils are needed for uncompressing xz-compressed files
+
+# pkg was self builded.
+# wget https://downloads.sourceforge.net/project/lzmautils/xz-5.2.5.tar.gz
+# tar -xzf xz-5.2.5.tar.gz -C /tmp
+# cd /tmp/xz-5.2.5
+# ./configure
+# make
+# ./configure prefix=/tmp/destination_root
+# make install
+# cd /tmp
+# pkgbuild --root destination_root --identifier io.qt.xz.pkg xz-arm64.pkg
+
+set -ex
+
+# shellcheck source=../common/macos/InstallPKGFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh"
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_11.0_big_sur_arm/xz-arm64.pkg"
+# SourceUrl="https://tukaani.org/xz/xz-5.2.5.tar.gz"
+
+SHA1="1afc327965d4af33399ae28f22c4b8e5a9e98dc2"
+DestDir="/"
+
+InstallPKGFromURL "$PrimaryUrl" "$PrimaryUrl" "$SHA1" "$DestDir"
+
+echo "XZ = 5.2.5" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-14-arm/20-java.sh b/coin/provisioning/qtci-macos-14-arm/20-java.sh
new file mode 100755
index 00000000..00c867f4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/20-java.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/java_arm.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/20-xcode.sh b/coin/provisioning/qtci-macos-14-arm/20-xcode.sh
new file mode 100755
index 00000000..62d78e72
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/20-xcode.sh
@@ -0,0 +1,22 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs Xcode
+# Prerequisites: Have Xcode prefetched to local cache as xz compressed.
+# This can be achieved by fetching Xcode_9.xip from Apple Store.
+# Uncompress it with 'xar -xf Xcode_9.xip'
+# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py
+# with which you can run 'python parse_pbzx2.py Content'.
+# This will give you five files called "Content.part<00..05>.cpio.xz".
+# Extract those that have the extension .xz with xz.
+# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new"
+# Compress the new file with xz back to something like Xcode_9.xz
+# Upload the file to temporary storage for this script to use.
+
+set -ex
+
+# shellcheck source=../common/macos/install_xcode.sh
+source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"
+
+InstallXCode /net/ci-files01-hki.ci.qt.io/hdd/www/input/mac/Xcode_15.3.xip 15.3
diff --git a/coin/provisioning/qtci-macos-14-arm/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-14-arm/21-install-commandlinetools.sh
new file mode 100755
index 00000000..7d1708bd
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/21-install-commandlinetools.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/install-commandlinetools.sh
+source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh"
+version="15.3"
+packageName="Command_Line_Tools_for_Xcode_$version.dmg"
+url="http://ci-files01-hki.ci.qt.io/input/mac/$packageName"
+sha1="e7149414aff0e3d6c85245683e77ddde2f410ec0"
+
+InstallCommandLineTools $url $url $sha1 $packageName $version
diff --git a/coin/provisioning/qtci-macos-14-arm/23-homebrew.sh b/coin/provisioning/qtci-macos-14-arm/23-homebrew.sh
new file mode 100755
index 00000000..4983540c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/23-homebrew.sh
@@ -0,0 +1,16 @@
+#!/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
+
+# Will install homebrew package manager for macOS.
+# WARNING: Requires commandlinetools
+
+
+set -e
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/homebrew_for_arm_mac.sh"
+# Can we force reading bash env this late?
+echo "if [ -f ~/.bashrc ]; then
+ . ~/.bashrc
+fi" >> .profile
diff --git a/coin/provisioning/qtci-macos-14-arm/24-pyenv.sh b/coin/provisioning/qtci-macos-14-arm/24-pyenv.sh
new file mode 100755
index 00000000..3a7a8f77
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/24-pyenv.sh
@@ -0,0 +1,49 @@
+#!/usr/bin/env bash
+
+#############################################################################
+##
+## Copyright (C) 2021 The Qt Company Ltd.
+## Copyright (C) 2017 Pelagicore AG
+## Contact: https://www.qt.io/licensing/
+##
+## This file is part of the provisioning scripts of the Qt Toolkit.
+##
+## $QT_BEGIN_LICENSE:LGPL$
+## Commercial License Usage
+## Licensees holding valid commercial Qt licenses may use this file in
+## accordance with the commercial license agreement provided with the
+## Software or, alternatively, in accordance with the terms contained in
+## a written agreement between you and The Qt Company. For licensing terms
+## and conditions see https://www.qt.io/terms-conditions. For further
+## information use the contact form at https://www.qt.io/contact-us.
+##
+## GNU Lesser General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU Lesser
+## General Public License version 3 as published by the Free Software
+## Foundation and appearing in the file LICENSE.LGPL3 included in the
+## packaging of this file. Please review the following information to
+## ensure the GNU Lesser General Public License version 3 requirements
+## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+##
+## GNU General Public License Usage
+## Alternatively, this file may be used under the terms of the GNU
+## General Public License version 2.0 or (at your option) the GNU General
+## Public license version 3 or any later version approved by the KDE Free
+## Qt Foundation. The licenses are as published by the Free Software
+## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+## included in the packaging of this file. Please review the following
+## information to ensure the GNU General Public License requirements will
+## be met: https://www.gnu.org/licenses/gpl-2.0.html and
+## https://www.gnu.org/licenses/gpl-3.0.html.
+##
+## $QT_END_LICENSE$
+##
+#############################################################################
+
+# This script installs python3
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+# Try with default
+/opt/homebrew/bin/brew install pyenv
diff --git a/coin/provisioning/qtci-macos-14-arm/24-sccache.sh b/coin/provisioning/qtci-macos-14-arm/24-sccache.sh
new file mode 100755
index 00000000..358b23fb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/24-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/macos/sccache.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/25-cmake.sh b/coin/provisioning/qtci-macos-14-arm/25-cmake.sh
new file mode 100755
index 00000000..33095880
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/25-cmake.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/cmake.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/25-mysql.sh b/coin/provisioning/qtci-macos-14-arm/25-mysql.sh
new file mode 100755
index 00000000..0be1e6e8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/25-mysql.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs MySQL
+
+# MySQL is needed for Qt to be able to support MySQL
+
+set -ex
+
+# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+SHA1="07949bd42f350b0504a1536b8830b809b4a34fca"
+appPrefix=""
+targetDir="/opt/mysql57/"
+
+sudo mkdir -p "/opt"
+
+InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir"
+
+SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin"
+echo "MySQL = 5.7.15" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-14-arm/25-pip.sh b/coin/provisioning/qtci-macos-14-arm/25-pip.sh
new file mode 100755
index 00000000..3fc865d0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/25-pip.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pip.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/25-postgresql.sh b/coin/provisioning/qtci-macos-14-arm/25-postgresql.sh
new file mode 100755
index 00000000..06cae6ef
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/25-postgresql.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/postgresql.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/25-python.sh b/coin/provisioning/qtci-macos-14-arm/25-python.sh
new file mode 100755
index 00000000..5a0df739
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/25-python.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+# Copyright (C) 2021 The Qt Company Ltd.
+# Copyright (C) 2017 Pelagicore AG
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs python3
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+pyenv install 3.9.7
+
+/Users/qt/.pyenv/versions/3.9.7/bin/pip3 install --user install virtualenv wheel html5lib
+
+SetEnvVar "PYTHON3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/"
+SetEnvVar "PIP3_PATH" "/Users/qt/.pyenv/versions/3.9.7/bin/"
+# Use 3.9 as a default python
+SetEnvVar "PATH" "\$PYTHON3_PATH:\$PATH"
+
+echo "python3 = 3.9.7" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-14-arm/26-freetype.sh b/coin/provisioning/qtci-macos-14-arm/26-freetype.sh
new file mode 100755
index 00000000..fa0790f8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/26-freetype.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
+
+brew install freetype
diff --git a/coin/provisioning/qtci-macos-14-arm/26-jq.sh b/coin/provisioning/qtci-macos-14-arm/26-jq.sh
new file mode 100755
index 00000000..4dffcb96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/26-jq.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install jq
diff --git a/coin/provisioning/qtci-macos-14-arm/26-ninja.sh b/coin/provisioning/qtci-macos-14-arm/26-ninja.sh
new file mode 100755
index 00000000..4443eeb4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/26-ninja.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/ninja.sh
+source "${BASH_SOURCE%/*}/../common/macos/ninja.sh"
+
+
diff --git a/coin/provisioning/qtci-macos-14-arm/26-odbc.sh b/coin/provisioning/qtci-macos-14-arm/26-odbc.sh
new file mode 100755
index 00000000..2b6b013a
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/26-odbc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# Install libiodbc
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/libiodbc.sh" --with-universal
diff --git a/coin/provisioning/qtci-macos-14-arm/26-p7zip.sh b/coin/provisioning/qtci-macos-14-arm/26-p7zip.sh
new file mode 100755
index 00000000..8cdcd0c3
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/26-p7zip.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# Install 7z to be used from command line
+
+set -ex
+
+brew update
+brew install p7zip
diff --git a/coin/provisioning/qtci-macos-14-arm/26-pcre2.sh b/coin/provisioning/qtci-macos-14-arm/26-pcre2.sh
new file mode 100755
index 00000000..c10d6206
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/26-pcre2.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
+
+brew install pcre2
diff --git a/coin/provisioning/qtci-macos-14-arm/27-libclang.sh b/coin/provisioning/qtci-macos-14-arm/27-libclang.sh
new file mode 100755
index 00000000..cc025e6e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/27-libclang.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# There is only one mac package and common script uses it as a default
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-14-arm/28-libclang-v100-dyn.sh
new file mode 100755
index 00000000..d95e7e00
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/28-libclang-v100-dyn.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/29-install-pkgconfig.sh b/coin/provisioning/qtci-macos-14-arm/29-install-pkgconfig.sh
new file mode 100755
index 00000000..33e11580
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/29-install-pkgconfig.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pkgconfig.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/30-android.sh b/coin/provisioning/qtci-macos-14-arm/30-android.sh
new file mode 100755
index 00000000..6259b71e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/30-android.sh
@@ -0,0 +1,64 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script install Android sdk and ndk.
+
+# It also runs update for SDK API, latest SDK tools, latest platform-tools and build-tools version
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+targetFolder="/opt/android"
+sdkTargetFolder="$targetFolder/sdk"
+
+basePath="/net/ci-files01-hki.ci.qt.io/hdd/www/input/android"
+
+toolsVersion="2.1"
+# toolsFile dertermines tools version
+toolsFile="commandlinetools-mac-6609375_latest.zip"
+
+ndkVersion="r26b"
+ndkFile="android-ndk-$ndkVersion-darwin.zip"
+sdkBuildToolsVersion="34.0.0"
+# this is compile sdk version
+sdkApiLevel="android-34"
+
+toolsSourceFile="$basePath/$toolsFile"
+ndkSourceFile="$basePath/$ndkFile"
+
+echo "Unzipping Android NDK to '$targetFolder'"
+sudo unzip -q "$ndkSourceFile" -d "$targetFolder"
+echo "Unzipping Android Tools to '$sdkTargetFolder'"
+sudo unzip -q "$toolsSourceFile" -d "$sdkTargetFolder"
+
+echo "Changing ownership of Android files."
+sudo chown -R qt:wheel "$targetFolder"
+
+# Run the following command under `eval` or `sh -c` so that the shell properly splits it
+sdkmanager_no_progress_bar_cmd="tr '\r' '\n' | grep -v '^\[[ =]*\]'"
+
+sudo mkdir "$sdkTargetFolder/cmdline-tools"
+sudo mv "$sdkTargetFolder/tools" "$sdkTargetFolder/cmdline-tools"
+
+echo "Running SDK manager for platforms;$sdkApiLevel, platform-tools and build-tools;$sdkBuildToolsVersion."
+(echo "y"; echo "y") | "$sdkTargetFolder/cmdline-tools/tools/bin/sdkmanager" "--sdk_root=$sdkTargetFolder" \
+ "platforms;$sdkApiLevel" "platform-tools" "build-tools;$sdkBuildToolsVersion" \
+ | eval "$sdkmanager_no_progress_bar_cmd"
+
+echo "Checking the contents of Android SDK..."
+ls -l "$sdkTargetFolder"
+
+SetEnvVar "ANDROID_SDK_ROOT" "$sdkTargetFolder"
+SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion"
+SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64"
+SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel"
+
+cat << EOB >> ~/versions.txt
+Android SDK tools = $toolsVersion
+Android SDK Build Tools = $sdkBuildToolsVersion
+Android SDK API level = $sdkApiLevel
+Android NDK = $ndkVersion
+EOB
diff --git a/coin/provisioning/qtci-macos-14-arm/30-fbx.sh b/coin/provisioning/qtci-macos-14-arm/30-fbx.sh
new file mode 100755
index 00000000..e991bc08
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/30-fbx.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/fbx_macos.sh"
+
diff --git a/coin/provisioning/qtci-macos-14-arm/30-install-conan.sh b/coin/provisioning/qtci-macos-14-arm/30-install-conan.sh
new file mode 100755
index 00000000..67a4f911
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/30-nodejs.sh b/coin/provisioning/qtci-macos-14-arm/30-nodejs.sh
new file mode 100755
index 00000000..8f73b2d6
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/30-nodejs.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+brew install nodejs
+
diff --git a/coin/provisioning/qtci-macos-14-arm/35-install-breakpad.sh b/coin/provisioning/qtci-macos-14-arm/35-install-breakpad.sh
new file mode 100755
index 00000000..8a9dde56
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/35-install-breakpad.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/35-install_protobuf.sh b/coin/provisioning/qtci-macos-14-arm/35-install_protobuf.sh
new file mode 100755
index 00000000..ecb5f835
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/35-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-macos-14-arm/35-openssl.sh b/coin/provisioning/qtci-macos-14-arm/35-openssl.sh
new file mode 100755
index 00000000..c86788db
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/35-openssl.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-openssl.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal"
+
diff --git a/coin/provisioning/qtci-macos-14-arm/36-emsdk.sh b/coin/provisioning/qtci-macos-14-arm/36-emsdk.sh
new file mode 100755
index 00000000..c8aec444
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/36-emsdk.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/36-install_grpc.sh b/coin/provisioning/qtci-macos-14-arm/36-install_grpc.sh
new file mode 100755
index 00000000..ecd6a51f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/36-install_grpc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-macos-14-arm/40-qnx700.sh b/coin/provisioning/qtci-macos-14-arm/40-qnx700.sh
new file mode 100755
index 00000000..48286a67
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/40-qnx700.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QNX 7.
+
+targetFolder="/opt/"
+sourceFile="/net/ci-files01-hki.ci.qt.io/hdd/www/input/qnx/qnx700-20190325-2-macos.tar.xz"
+folderName="qnx700"
+
+sudo mkdir -p "$targetFolder"
+
+echo "Extracting QNX 7"
+sudo tar -C "$targetFolder" -Jxf $sourceFile
+
+sudo chown -R qt:wheel "$targetFolder"/"$folderName"
+
+# Verify that we have last file in zip
+if [ ! -f $targetFolder/$folderName/qnxsdp-env.sh ]; then
+ exit 1
+fi
+
+# Set env variables
+echo "export QNX_700=$targetFolder/$folderName" >> ~/.bashrc
+echo "QNX SDP = 7.0.0" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-14-arm/55-signtools.sh b/coin/provisioning/qtci-macos-14-arm/55-signtools.sh
new file mode 100755
index 00000000..ff5a977a
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/55-signtools.sh
@@ -0,0 +1,107 @@
+#!/usr/bin/env sh
+# 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
+
+# Install tools for singing packages
+# This script assume that OS is vanilla. Target machine dosen't have any signing certificates installed.
+
+set -ex
+
+cache="http://ci-files01-hki.ci.qt.io/input"
+cacheSigningTools="$cache/mac/sign_tools"
+targetFolder="/Users/qt"
+keychains="$targetFolder/Library/Keychains"
+
+Install() {
+
+ url=$1
+ targetFile=$2
+ expectedSha1=$3
+
+ echo "Fetching $targetFile from $url..."
+ curl --retry 5 --retry-delay 10 --retry-max-time 60 "$url" -o "$targetFile"
+ shasum "$targetFile" |grep "$expectedSha1"
+
+}
+
+# qt-license
+sha1QtLicense="9d59241d16f68d914f1c7aa1dc23e05faa169e8d"
+Install "$cache/semisecure/.qt-license" "$targetFolder/.qt-license" $sha1QtLicense
+
+# Login keychain
+sha1LoginKeychainPassword="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
+Install "$cacheSigningTools/login_keychain_password.txt" "$targetFolder/login_keychain_password.txt" "$sha1LoginKeychainPassword"
+{ loginKeychainPassword=$(cat "$targetFolder/login_keychain_password.txt"); } 2> /dev/null
+loginKeychain=$keychains/login.keychain
+
+echo "Setting login.keychain as default keychain.."
+security default-keychain -s $loginKeychain*
+echo "Unlocking Login keychain with password.."
+{ security unlock-keychain -p "$loginKeychainPassword" $loginKeychain*; } 2> /dev/null
+
+echo "remove the "Lock after X minutes of inactivity" from login.keychain"
+security set-keychain-settings $loginKeychain
+
+# Apple Worldwide Developer Relations Certification Authority -> https://developer.apple.com/certificationauthority/AppleWWDRCA.cer
+sha1AppleWWDRCA="ff6797793a3cd798dc5b2abef56f73edc9f83a64"
+Install "$cacheSigningTools/AppleWWDRCA.cer" "$targetFolder/AppleWWDRCA.cer" $sha1AppleWWDRCA
+sudo security add-certificates -k $loginKeychain* "$targetFolder/AppleWWDRCA.cer"
+
+# Developer ID Certification Authority -> https://www.apple.com/certificateauthority/DeveloperIDCA.cer
+sha1DeveloperIDCA="3b166c3b7dc4b751c9fe2afab9135641e388e186"
+Install "$cacheSigningTools/DeveloperIDCA.cer" "$targetFolder/DeveloperIDCA.cer" $sha1DeveloperIDCA
+sudo security add-certificates -k $loginKeychain* "$targetFolder/DeveloperIDCA.cer"
+
+# Create script to unlock keychain 'security unlock-keychain -p 'password' Developer_ID_TheQtCompany.keychain'
+sha1UnLockKeychain="4398870e3f558ad28c80566b5f70e24dc29ea724"
+unlockKeychain=$targetFolder/unlock-keychain.sh
+{ Install "$cacheSigningTools/unlock-keychain.sh" "$unlockKeychain" $sha1UnLockKeychain; } 2> /dev/null
+sudo chmod 755 "$unlockKeychain"
+
+# Codesigning requirements file. The bundle identifier in the requirements file should match the identifier of the application that is signed.
+shaCsreq="2c3f00b1845a0f475673fd6934ba25ea51d1f910"
+csreq=$targetFolder/csreq_qt_company.txt
+Install "$cacheSigningTools/csreq_qt_company.txt" "$csreq" $shaCsreq
+chmod 755 "$csreq"
+
+# iOS signing tools
+devIDKeychain="Developer_ID_TheQtCompany.keychain-db"
+shaDevIdKeychain="972cca1879cdaeeb6042f9879756c748a8d1eddc"
+Install "$cacheSigningTools/$devIDKeychain" "$keychains/$devIDKeychain" $shaDevIdKeychain
+echo "Opening $devIDKeychain.."
+open "$keychains/$devIDKeychain"
+
+sha1DeveloperIDTheQtCompanyKeychainPassword="d758e067736bbda7a91ffaec66cd38afdaf68ea6"
+Install "$cacheSigningTools/Developer_ID_TheQtCompany_keychain_password.txt" "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt" "$sha1DeveloperIDTheQtCompanyKeychainPassword"
+{ DeveloperIDTheQtCompanyKeychainPassword=$(cat "$targetFolder/Developer_ID_TheQtCompany_keychain_password.txt"); } 2> /dev/null
+
+echo "Unlocking $devIDKeychain with password.."
+{ security unlock-keychain -p "$DeveloperIDTheQtCompanyKeychainPassword" $keychains/Developer_ID_TheQtCompany.keychain; } 2> /dev/null
+security set-keychain-settings $keychains/Developer_ID_TheQtCompany.keychain
+
+sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36"
+{ Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios; } 2> /dev/null
+{ iosPassword=$(cat "$targetFolder/ios_password.txt"); } 2> /dev/null
+
+iPhoneDeveloper="iPhoneDeveloperCiTeam2020.p12"
+shaIPhoneDeveloper="73136e44fed850f398e85908e4a73f20a6bdd8a2"
+Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper
+echo "Importing $iPhoneDeveloper.."
+{ security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null
+
+iPhoneDistribution="iPhoneDistributionCiTeam2020.p12"
+shaIPhoneDistribution="36215c3cbc6bfee48e86aafbd53c56282fe36d8d"
+Install "$cacheSigningTools/latest_ios_cert_2020/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution
+echo "Importing $iPhoneDistribution.."
+{ security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null
+
+# Mobileprovision
+echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.."
+mkdir "$targetFolder/Library/MobileDevice"
+mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles"
+shaMobileprovision="ec9697276253ca7bf4401912236f0e6fde4214da"
+Install "$cacheSigningTools/latest_ios_cert_2020/iOS_Dev_2020_citeam.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev_2020_citeam.mobileprovision" $shaMobileprovision
+
+# Removing password files
+rm -fr "$targetFolder/login_keychain_password.txt"
+
diff --git a/coin/provisioning/qtci-macos-14-arm/80-screenresolution.sh b/coin/provisioning/qtci-macos-14-arm/80-screenresolution.sh
new file mode 100755
index 00000000..ed905a33
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/80-screenresolution.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
+
+"$(dirname "$0")"/../common/macos/screenresolution.sh
+
diff --git a/coin/provisioning/qtci-macos-14-arm/81-bluetooth.sh b/coin/provisioning/qtci-macos-14-arm/81-bluetooth.sh
new file mode 100755
index 00000000..c58b9a34
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/81-bluetooth.sh
@@ -0,0 +1,10 @@
+#!/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
+
+brew install blueutil
+
+#Disable Bluetooth
+blueutil -p 0
diff --git a/coin/provisioning/qtci-macos-14-arm/90-docker.sh b/coin/provisioning/qtci-macos-14-arm/90-docker.sh
new file mode 100755
index 00000000..f03971a9
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/90-docker.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/docker.sh
+source "${BASH_SOURCE%/*}/../common/macos/docker.sh" "arm64"
+
diff --git a/coin/provisioning/qtci-macos-14-arm/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-14-arm/90-install-ffmpeg.sh
new file mode 100755
index 00000000..23cb13e1
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/90-install-ffmpeg.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
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-14-arm/90-vlc.sh b/coin/provisioning/qtci-macos-14-arm/90-vlc.sh
new file mode 100644
index 00000000..4924fe5c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/90-vlc.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# for QtMM streaming tests
+brew install --cask vlc
diff --git a/coin/provisioning/qtci-macos-14-arm/97-set-locale.sh b/coin/provisioning/qtci-macos-14-arm/97-set-locale.sh
new file mode 100755
index 00000000..bc966cbf
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/97-set-locale.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/set-locale.sh"
diff --git a/coin/provisioning/qtci-macos-14-arm/98-mimersql.sh b/coin/provisioning/qtci-macos-14-arm/98-mimersql.sh
new file mode 100755
index 00000000..70d5bc1d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/98-mimersql.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/mimersql.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-14-arm/99-mac-version.sh b/coin/provisioning/qtci-macos-14-arm/99-mac-version.sh
new file mode 100755
index 00000000..b9b5aeb0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-arm/99-mac-version.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/macos-version.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-disable-net-lso.sh b/coin/provisioning/qtci-macos-14-x86_64/01-disable-net-lso.sh
new file mode 100755
index 00000000..659ebe96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/01-disable-net-lso.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable_net_lso.sh
diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-disable-notifications_and_warnings.sh b/coin/provisioning/qtci-macos-14-x86_64/01-disable-notifications_and_warnings.sh
new file mode 100755
index 00000000..27efbb62
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/01-disable-notifications_and_warnings.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/disable-notifications_and_warnings.sh
diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-disable-updates.sh b/coin/provisioning/qtci-macos-14-x86_64/01-disable-updates.sh
new file mode 100755
index 00000000..a2b2a0f0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/01-disable-updates.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/system_updates.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-enable_zsh_history_and_viminfo.sh b/coin/provisioning/qtci-macos-14-x86_64/01-enable_zsh_history_and_viminfo.sh
new file mode 100755
index 00000000..6004b140
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/01-enable_zsh_history_and_viminfo.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+# shellcheck source=../common/macos/enable_zsh_history_and_viminfo.sh
+source "${BASH_SOURCE%/*}/../common/macos/enable_zsh_history_and_viminfo.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-increase_limits.sh b/coin/provisioning/qtci-macos-14-x86_64/01-increase_limits.sh
new file mode 100755
index 00000000..08669e52
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/01-increase_limits.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/increase_limits.sh
diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-macos-14-x86_64/01-install_telegraf.sh
new file mode 100755
index 00000000..abd9ba0d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/01-install_telegraf.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+"$(dirname "$0")"/../common/macos/telegraf_install.sh
diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-macos-14-x86_64/01-mount-vcpkg-cache-drive.sh
new file mode 100755
index 00000000..2739f40f
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/01-mount-vcpkg-cache-drive.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/mount-vcpkg-cache-drive.sh
+source "${BASH_SOURCE%/*}/../common/macos/mount-vcpkg-cache-drive.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/01-sha1sum-compatibility.sh b/coin/provisioning/qtci-macos-14-x86_64/01-sha1sum-compatibility.sh
new file mode 100755
index 00000000..e31fe48b
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/01-sha1sum-compatibility.sh
@@ -0,0 +1,10 @@
+#!/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
+
+#!/usr/bin/env bash
+
+set -ex
+
+# shellcheck source=../common/macos/sha1sum-compatibility.sh
+source "${BASH_SOURCE%/*}/../common/macos/sha1sum-compatibility.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/03-bashprofile.sh b/coin/provisioning/qtci-macos-14-x86_64/03-bashprofile.sh
new file mode 100755
index 00000000..4eed8433
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/03-bashprofile.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env 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
+
+set -ex
+
+# Read .bashrc if exist
+printf -- "# Get the aliases and functions\nif [ -f ~/.bashrc ]; then\n . ~/.bashrc\nfi\n" >> ~/.bash_profile
+
diff --git a/coin/provisioning/qtci-macos-14-x86_64/05-systemsetup.sh b/coin/provisioning/qtci-macos-14-x86_64/05-systemsetup.sh
new file mode 100755
index 00000000..d7f07955
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/05-systemsetup.sh
@@ -0,0 +1,84 @@
+#!/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
+
+# This script modifies system settings for automated use
+
+targetFile="$HOME/vncpw.txt"
+
+# Fetch password
+curl --retry 5 --retry-delay 10 --retry-max-time 60 \
+ "http://ci-files01-hki.ci.qt.io/input/semisecure/vncpw.txt" \
+ -o "$targetFile"
+shasum "$targetFile" |grep "a795fccaa8f277e62ec08e6056c544b8b63924a0"
+
+{ VNCPassword=$(cat "$targetFile"); } 2> /dev/null
+NTS_IP=10.212.2.216
+
+echo "Disable Screensaver"
+# For current session
+defaults -currentHost write com.apple.screensaver idleTime 0
+
+echo "Disable sleep"
+sudo pmset sleep 0 displaysleep 0
+
+# For session after a reboot
+mkdir -p "$HOME/Library/LaunchAgents"
+sudo tee -a "$HOME/Library/LaunchAgents/no-screensaver.plist" <<EOT
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+
+<plist version="1.0">
+ <dict>
+ <key>Label</key>
+ <string>org.qt.io.screensaver_disable</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>defaults</string>
+ <string>-currentHost</string>
+ <string>write</string>
+ <string>com.apple.screensaver</string>
+ <string>idleTime</string>
+ <string>0</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>KeepAlive</key>
+ <false/>
+ </dict>
+</plist>
+EOT
+
+defaults write com.apple.screensaver askForPassword -int 0
+
+echo "Set keyboard type rates and delays"
+# normal minimum is 15 (225 ms)
+defaults write -g InitialKeyRepeat -int 15
+# normal minimum is 2 (30 ms)
+defaults write -g KeyRepeat -int 2
+
+set +x
+echo "Enable remote desktop sharing"
+sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart \
+ -activate -configure -access -on -clientopts -setvnclegacy -vnclegacy yes -clientopts \
+ -setvncpw -vncpw "$VNCPassword" -restart -agent -privs -all
+set -x
+
+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
+
+sudo systemsetup settimezone GMT
+sudo systemsetup setusingnetworktime off
+sudo rm -f "$targetFile"
+
+# Enable automount for nfs shares
+sudo sed -i'.orig' -e 's:^#/net:/net:' -e 's:hidefromfinder,nosuid:hidefromfinder,nosuid,locallocks,nocallback:' /etc/auto_master
+sudo automount -cv
+
+# Disable multicast advertisements
+sudo defaults write /Library/Preferences/com.apple.mDNSResponder.plist NoMulticastAdvertisements -bool true
+
+# Enable Use keyboard navigation to move focus between controls
+defaults write -g AppleKeyboardUIMode -int 2
diff --git a/coin/provisioning/qtci-macos-14-x86_64/06-crashreporter.sh b/coin/provisioning/qtci-macos-14-x86_64/06-crashreporter.sh
new file mode 100755
index 00000000..cb7c0774
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/06-crashreporter.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env 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
+
+set -ex
+
+defaults write com.apple.CrashReporter DialogType server
diff --git a/coin/provisioning/qtci-macos-14-x86_64/06-disable_spotlight.sh b/coin/provisioning/qtci-macos-14-x86_64/06-disable_spotlight.sh
new file mode 100755
index 00000000..ab85a262
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/06-disable_spotlight.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
+
+# shellcheck source=../common/macos/disable_spotlight.sh
+source "${BASH_SOURCE%/*}/../common/macos/disable_spotlight.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/06-disable_update_downloads.sh b/coin/provisioning/qtci-macos-14-x86_64/06-disable_update_downloads.sh
new file mode 100755
index 00000000..18cb98ea
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/06-disable_update_downloads.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
+set -ex
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/disable_update_downloads.sh
diff --git a/coin/provisioning/qtci-macos-14-x86_64/07-SSL_keychain.sh b/coin/provisioning/qtci-macos-14-x86_64/07-SSL_keychain.sh
new file mode 100755
index 00000000..e14dcee9
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/07-SSL_keychain.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+# Enables the usage of temporary keychains for SSL autotests
+SetEnvVar "QT_SSL_USE_TEMPORARY_KEYCHAIN" "1"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/15-xz.sh b/coin/provisioning/qtci-macos-14-x86_64/15-xz.sh
new file mode 100755
index 00000000..9abb7f53
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/15-xz.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs XZ-Utils
+
+# XZ-Utils are needed for uncompressing xz-compressed files
+
+set -ex
+
+# shellcheck source=../common/macos/InstallPKGFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallPKGFromURL.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/XZ.pkg"
+AltUrl="http://sourceforge.net/projects/macpkg/files/XZ/5.0.7/XZ.pkg"
+SHA1="f0c1f82ebcffe0bd4b8b57b6a77805db56b2de67"
+DestDir="/"
+
+InstallPKGFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$DestDir"
+
+echo "XZ = 5.0.7" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-14-x86_64/20-java.sh b/coin/provisioning/qtci-macos-14-x86_64/20-java.sh
new file mode 100755
index 00000000..325fee63
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/20-java.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/java.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/20-xcode.sh b/coin/provisioning/qtci-macos-14-x86_64/20-xcode.sh
new file mode 100755
index 00000000..62d78e72
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/20-xcode.sh
@@ -0,0 +1,22 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs Xcode
+# Prerequisites: Have Xcode prefetched to local cache as xz compressed.
+# This can be achieved by fetching Xcode_9.xip from Apple Store.
+# Uncompress it with 'xar -xf Xcode_9.xip'
+# Then get https://gist.githubusercontent.com/pudquick/ff412bcb29c9c1fa4b8d/raw/24b25538ea8df8d0634a2a6189aa581ccc6a5b4b/parse_pbzx2.py
+# with which you can run 'python parse_pbzx2.py Content'.
+# This will give you five files called "Content.part<00..05>.cpio.xz".
+# Extract those that have the extension .xz with xz.
+# "cat" together all the content files "cat file1, file2, file3, file4, file5 >file_new"
+# Compress the new file with xz back to something like Xcode_9.xz
+# Upload the file to temporary storage for this script to use.
+
+set -ex
+
+# shellcheck source=../common/macos/install_xcode.sh
+source "${BASH_SOURCE%/*}/../common/macos/install_xcode.sh"
+
+InstallXCode /net/ci-files01-hki.ci.qt.io/hdd/www/input/mac/Xcode_15.3.xip 15.3
diff --git a/coin/provisioning/qtci-macos-14-x86_64/21-install-commandlinetools.sh b/coin/provisioning/qtci-macos-14-x86_64/21-install-commandlinetools.sh
new file mode 100755
index 00000000..7d1708bd
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/21-install-commandlinetools.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/install-commandlinetools.sh
+source "${BASH_SOURCE%/*}/../common/macos/install-commandlinetools.sh"
+version="15.3"
+packageName="Command_Line_Tools_for_Xcode_$version.dmg"
+url="http://ci-files01-hki.ci.qt.io/input/mac/$packageName"
+sha1="e7149414aff0e3d6c85245683e77ddde2f410ec0"
+
+InstallCommandLineTools $url $url $sha1 $packageName $version
diff --git a/coin/provisioning/qtci-macos-14-x86_64/24-sccache.sh b/coin/provisioning/qtci-macos-14-x86_64/24-sccache.sh
new file mode 100755
index 00000000..358b23fb
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/24-sccache.sh
@@ -0,0 +1,3 @@
+#!/usr/bin/env bash
+
+source "${BASH_SOURCE%/*}/../common/macos/sccache.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-cmake.sh b/coin/provisioning/qtci-macos-14-x86_64/25-cmake.sh
new file mode 100755
index 00000000..33095880
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/25-cmake.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/cmake.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-homebrew.sh b/coin/provisioning/qtci-macos-14-x86_64/25-homebrew.sh
new file mode 100755
index 00000000..7ff457b7
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/25-homebrew.sh
@@ -0,0 +1,26 @@
+#!/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
+
+# Will install homebrew package manager for macOS.
+# WARNING: Requires commandlinetools
+
+
+set -e
+
+. "$(dirname "$0")"/../common/unix/DownloadURL.sh
+
+DownloadURL \
+ http://ci-files01-hki.ci.qt.io/input/mac/homebrew/d8f6c666d20a3d42e007ceec161a06651ad92ba331a24a3de62912edb129a522/install.sh \
+ http://ci-files01-hki.ci.qt.io/input/mac/homebrew/d8f6c666d20a3d42e007ceec161a06651ad92ba331a24a3de62912edb129a522/install.sh \
+ d8f6c666d20a3d42e007ceec161a06651ad92ba331a24a3de62912edb129a522 \
+ /tmp/homebrew_install.sh
+
+DownloadURL "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/pw" "aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" "/Users/qt/pw"
+{ pw=$(cat "/Users/qt/pw"); } 2> /dev/null
+sudo chmod 755 /tmp/homebrew_install.sh
+{ (echo "$pw" | /tmp/homebrew_install.sh); } 2> /dev/null
+rm -f "/Users/qt/pw"
+
+# No need to manually do `brew update`, the homebrew installer script does it.
+### brew update
diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-mysql.sh b/coin/provisioning/qtci-macos-14-x86_64/25-mysql.sh
new file mode 100755
index 00000000..b9f0c0ae
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/25-mysql.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs MySQL
+
+# MySQL is needed for Qt to be able to support MySQL
+
+set -ex
+
+# shellcheck source=../common/macos/InstallAppFromCompressedFileFromURL.sh
+source "${BASH_SOURCE%/*}/../common/macos/InstallAppFromCompressedFileFromURL.sh"
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+
+PrimaryUrl="http://ci-files01-hki.ci.qt.io/input/mac/macos_10.12_sierra/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+AltUrl="https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.15-osx10.11-x86_64.tar.gz"
+SHA1="07949bd42f350b0504a1536b8830b809b4a34fca"
+appPrefix=""
+targetDir="/opt/mysql57/"
+
+sudo mkdir -p "/opt"
+
+InstallAppFromCompressedFileFromURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$appPrefix" "$targetDir"
+
+SetEnvVar "MYSQLBINPATH" "/opt/mysql57/bin"
+echo "MySQL = 5.7.15" >> ~/versions.txt
diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-pip.sh b/coin/provisioning/qtci-macos-14-x86_64/25-pip.sh
new file mode 100755
index 00000000..3fc865d0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/25-pip.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pip.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-postgresql.sh b/coin/provisioning/qtci-macos-14-x86_64/25-postgresql.sh
new file mode 100755
index 00000000..06cae6ef
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/25-postgresql.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/postgresql.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-python2.sh b/coin/provisioning/qtci-macos-14-x86_64/25-python2.sh
new file mode 100755
index 00000000..4c88a413
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/25-python2.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
+
+# shellcheck source=../common/macos/python2.sh
+source "${BASH_SOURCE%/*}/../common/macos/python2.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/25-python3.sh b/coin/provisioning/qtci-macos-14-x86_64/25-python3.sh
new file mode 100755
index 00000000..8fee606c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/25-python3.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
+
+# shellcheck source=../common/macos/python3.sh
+source "${BASH_SOURCE%/*}/../common/macos/python3.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/26-freetype.sh b/coin/provisioning/qtci-macos-14-x86_64/26-freetype.sh
new file mode 100755
index 00000000..fa0790f8
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/26-freetype.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
+
+brew install freetype
diff --git a/coin/provisioning/qtci-macos-14-x86_64/26-jq.sh b/coin/provisioning/qtci-macos-14-x86_64/26-jq.sh
new file mode 100755
index 00000000..4dffcb96
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/26-jq.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+
+set -ex
+
+brew install jq
diff --git a/coin/provisioning/qtci-macos-14-x86_64/26-ninja.sh b/coin/provisioning/qtci-macos-14-x86_64/26-ninja.sh
new file mode 100755
index 00000000..4443eeb4
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/26-ninja.sh
@@ -0,0 +1,10 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/ninja.sh
+source "${BASH_SOURCE%/*}/../common/macos/ninja.sh"
+
+
diff --git a/coin/provisioning/qtci-macos-14-x86_64/26-odbc.sh b/coin/provisioning/qtci-macos-14-x86_64/26-odbc.sh
new file mode 100755
index 00000000..2b6b013a
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/26-odbc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# Install libiodbc
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/libiodbc.sh" --with-universal
diff --git a/coin/provisioning/qtci-macos-14-x86_64/26-p7zip.sh b/coin/provisioning/qtci-macos-14-x86_64/26-p7zip.sh
new file mode 100755
index 00000000..8cdcd0c3
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/26-p7zip.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# Install 7z to be used from command line
+
+set -ex
+
+brew update
+brew install p7zip
diff --git a/coin/provisioning/qtci-macos-14-x86_64/26-pcre2.sh b/coin/provisioning/qtci-macos-14-x86_64/26-pcre2.sh
new file mode 100755
index 00000000..c10d6206
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/26-pcre2.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
+
+brew install pcre2
diff --git a/coin/provisioning/qtci-macos-14-x86_64/27-libclang.sh b/coin/provisioning/qtci-macos-14-x86_64/27-libclang.sh
new file mode 100755
index 00000000..cc025e6e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/27-libclang.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# There is only one mac package and common script uses it as a default
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/28-libclang-v100-dyn.sh b/coin/provisioning/qtci-macos-14-x86_64/28-libclang-v100-dyn.sh
new file mode 100755
index 00000000..d95e7e00
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/28-libclang-v100-dyn.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/libclang-v100-dyn.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/29-install-pkgconfig.sh b/coin/provisioning/qtci-macos-14-x86_64/29-install-pkgconfig.sh
new file mode 100755
index 00000000..33e11580
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/29-install-pkgconfig.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/pkgconfig.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/29-libusb.sh b/coin/provisioning/qtci-macos-14-x86_64/29-libusb.sh
new file mode 100755
index 00000000..e9e9e238
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/29-libusb.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+
+"$BASEDIR/../common/macos/libusb.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/30-android.sh b/coin/provisioning/qtci-macos-14-x86_64/30-android.sh
new file mode 100755
index 00000000..ddb3aec0
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/30-android.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/macos/android.sh
+source "${BASH_SOURCE%/*}/../common/macos/android.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/30-fbx.sh b/coin/provisioning/qtci-macos-14-x86_64/30-fbx.sh
new file mode 100755
index 00000000..e991bc08
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/30-fbx.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/fbx_macos.sh"
+
diff --git a/coin/provisioning/qtci-macos-14-x86_64/30-install-conan.sh b/coin/provisioning/qtci-macos-14-x86_64/30-install-conan.sh
new file mode 100755
index 00000000..8d90ef37
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh" "macos"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/30-nodejs.sh b/coin/provisioning/qtci-macos-14-x86_64/30-nodejs.sh
new file mode 100755
index 00000000..a5cf7d4d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/30-nodejs.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
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/nodejs.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-macos-14-x86_64/35-install-breakpad.sh
new file mode 100755
index 00000000..8a9dde56
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/35-install-breakpad.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-breakpad.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/35-install_protobuf.sh b/coin/provisioning/qtci-macos-14-x86_64/35-install_protobuf.sh
new file mode 100755
index 00000000..b0761374
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/35-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-macos-14-x86_64/35-openssl.sh b/coin/provisioning/qtci-macos-14-x86_64/35-openssl.sh
new file mode 100755
index 00000000..c86788db
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/35-openssl.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install-openssl.sh
+source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "macos-universal"
+
diff --git a/coin/provisioning/qtci-macos-14-x86_64/36-emsdk.sh b/coin/provisioning/qtci-macos-14-x86_64/36-emsdk.sh
new file mode 100755
index 00000000..c8aec444
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/36-emsdk.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/50-openssl_for_android_darwin.sh b/coin/provisioning/qtci-macos-14-x86_64/50-openssl_for_android_darwin.sh
new file mode 100755
index 00000000..8cb78e85
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/50-openssl_for_android_darwin.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
+
+# shellcheck source=../common/unix/openssl_for_android.sh
+source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/80-screenresolution.sh b/coin/provisioning/qtci-macos-14-x86_64/80-screenresolution.sh
new file mode 100755
index 00000000..ed905a33
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/80-screenresolution.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
+
+"$(dirname "$0")"/../common/macos/screenresolution.sh
+
diff --git a/coin/provisioning/qtci-macos-14-x86_64/81-bluetooth.sh b/coin/provisioning/qtci-macos-14-x86_64/81-bluetooth.sh
new file mode 100755
index 00000000..c58b9a34
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/81-bluetooth.sh
@@ -0,0 +1,10 @@
+#!/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
+
+brew install blueutil
+
+#Disable Bluetooth
+blueutil -p 0
diff --git a/coin/provisioning/qtci-macos-14-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-macos-14-x86_64/90-install-ffmpeg.sh
new file mode 100755
index 00000000..23cb13e1
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/90-install-ffmpeg.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
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/90-squish.sh b/coin/provisioning/qtci-macos-14-x86_64/90-squish.sh
new file mode 100755
index 00000000..c2658d0e
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/90-squish.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-macos-14-x86_64/90-vlc.sh b/coin/provisioning/qtci-macos-14-x86_64/90-vlc.sh
new file mode 100644
index 00000000..4924fe5c
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/90-vlc.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# for QtMM streaming tests
+brew install --cask vlc
diff --git a/coin/provisioning/qtci-macos-14-x86_64/97-set-locale.sh b/coin/provisioning/qtci-macos-14-x86_64/97-set-locale.sh
new file mode 100755
index 00000000..4ac0fd13
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/97-set-locale.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/set-locale.sh
diff --git a/coin/provisioning/qtci-macos-14-x86_64/98-mimersql.sh b/coin/provisioning/qtci-macos-14-x86_64/98-mimersql.sh
new file mode 100755
index 00000000..70d5bc1d
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/98-mimersql.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/macos/mimersql.sh" "macos-universal"
diff --git a/coin/provisioning/qtci-macos-14-x86_64/99-mac-version.sh b/coin/provisioning/qtci-macos-14-x86_64/99-mac-version.sh
new file mode 100755
index 00000000..d145d1e9
--- /dev/null
+++ b/coin/provisioning/qtci-macos-14-x86_64/99-mac-version.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#Copyright (C) 2023 The Qt Company Ltd
+#SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR"/../common/macos/macos-version.sh
diff --git a/coin/provisioning/qtci-windows-10-x86/00-disable-clean-manager.ps1 b/coin/provisioning/qtci-windows-10-x86/00-disable-clean-manager.ps1
new file mode 100644
index 00000000..1dc08d21
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/00-disable-clean-manager.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-clean-manager.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/00-disable-netadapterlso.ps1 b/coin/provisioning/qtci-windows-10-x86/00-disable-netadapterlso.ps1
new file mode 100644
index 00000000..d20f1402
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/00-disable-netadapterlso.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-10-x86/00-install-sevenzip.ps1
index a9044256..a9044256 100644
--- a/coin/provisioning/qtci-windows-10-x86/03-install-sevenzip.ps1
+++ b/coin/provisioning/qtci-windows-10-x86/00-install-sevenzip.ps1
diff --git a/coin/provisioning/qtci-windows-10-x86/01-disable-notifications.ps1 b/coin/provisioning/qtci-windows-10-x86/01-disable-notifications.ps1
new file mode 100644
index 00000000..ada20147
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/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-10-x86/01-disable-windows-telemetry.ps1 b/coin/provisioning/qtci-windows-10-x86/01-disable-windows-telemetry.ps1
new file mode 100644
index 00000000..3f5a75f4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/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-10-x86/01-enable-guest-logon.ps1 b/coin/provisioning/qtci-windows-10-x86/01-enable-guest-logon.ps1
new file mode 100644
index 00000000..3cf989d3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/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-10-x86/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-10-x86/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/02-change-language-settings.ps1 b/coin/provisioning/qtci-windows-10-x86/02-change-language-settings.ps1
new file mode 100644
index 00000000..313ec962
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/02-change-language-settings.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\change-language-settings.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps1
deleted file mode 100644
index 10518401..00000000
--- a/coin/provisioning/qtci-windows-10-x86/02-disable-defragment.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-defragment.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/02-disable-ntp.ps1 b/coin/provisioning/qtci-windows-10-x86/02-disable-ntp.ps1
deleted file mode 100644
index ee3b3b7d..00000000
--- a/coin/provisioning/qtci-windows-10-x86/02-disable-ntp.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-ntp.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/03-conan.ps1 b/coin/provisioning/qtci-windows-10-x86/03-conan.ps1
deleted file mode 100644
index 75c6a232..00000000
--- a/coin/provisioning/qtci-windows-10-x86/03-conan.ps1
+++ /dev/null
@@ -1,17 +0,0 @@
-. "$PSScriptRoot\..\common\windows\03-conan.ps1"
-
-Run-Conan-Install `
- -ConanfilesDir "$PSScriptRoot\conanfiles" `
- -BuildinfoDir MSVC2015-x86 `
- -Arch x86 `
- -Compiler "Visual Studio" `
- -CompilerVersion 14 `
- -CompilerRuntime MD
-
-Run-Conan-Install `
- -ConanfilesDir "$PSScriptRoot\conanfiles" `
- -BuildinfoDir MSVC2017-x86 `
- -Arch x86 `
- -Compiler "Visual Studio" `
- -CompilerVersion 15 `
- -CompilerRuntime MD
diff --git a/coin/provisioning/qtci-windows-10-x86/04-disable-windows-updates.ps1 b/coin/provisioning/qtci-windows-10-x86/04-disable-windows-updates.ps1
deleted file mode 100644
index 57428310..00000000
--- a/coin/provisioning/qtci-windows-10-x86/04-disable-windows-updates.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-windows-updates.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/05-msvc.ps1 b/coin/provisioning/qtci-windows-10-x86/05-msvc.ps1
index d019fc92..a83ddea4 100644
--- a/coin/provisioning/qtci-windows-10-x86/05-msvc.ps1
+++ b/coin/provisioning/qtci-windows-10-x86/05-msvc.ps1
@@ -1,35 +1,5 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
# Visual Studios are pre-provisioned to tier1 images
diff --git a/coin/provisioning/qtci-windows-10-x86/06-longpath.ps1 b/coin/provisioning/qtci-windows-10-x86/06-longpath.ps1
new file mode 100644
index 00000000..6561d57b
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/06-longpath.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\longpath.ps1"
+
diff --git a/coin/provisioning/qtci-windows-7-x86/08-install-git.ps1 b/coin/provisioning/qtci-windows-10-x86/08-install-git.ps1
index 38106de7..38106de7 100644
--- a/coin/provisioning/qtci-windows-7-x86/08-install-git.ps1
+++ b/coin/provisioning/qtci-windows-10-x86/08-install-git.ps1
diff --git a/coin/provisioning/qtci-windows-10-x86/08-libclang.ps1 b/coin/provisioning/qtci-windows-10-x86/08-libclang.ps1
deleted file mode 100644
index 8da8cc5a..00000000
--- a/coin/provisioning/qtci-windows-10-x86/08-libclang.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\libclang.ps1" 32 vs2015
diff --git a/coin/provisioning/qtci-windows-10-x86/08-python3.ps1 b/coin/provisioning/qtci-windows-10-x86/08-python3.ps1
index 998e6bae..8c45be0e 100644
--- a/coin/provisioning/qtci-windows-10-x86/08-python3.ps1
+++ b/coin/provisioning/qtci-windows-10-x86/08-python3.ps1
@@ -1 +1,8 @@
-. "$PSScriptRoot\..\common\windows\python3.ps1"
+# Parameters:
+# - Arch 32/64
+# - installer sha1
+# - install target dir
+# - version
+# - Optional true/false if set as default with PYTHON3/PIP3_PATH variables, default false
+
+. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "cd9744b142eca832f9534390676e6cfb84bf655d" "C:\Python36" "3.6.2" $true
diff --git a/coin/provisioning/qtci-windows-10-x86/09-install-openssh.ps1 b/coin/provisioning/qtci-windows-10-x86/09-install-openssh.ps1
new file mode 100644
index 00000000..9de844da
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/09-install-openssh.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-openssh.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/10-icu.ps1 b/coin/provisioning/qtci-windows-10-x86/10-icu.ps1
deleted file mode 100644
index 074a7a6d..00000000
--- a/coin/provisioning/qtci-windows-10-x86/10-icu.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\icu.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/11-conan.ps1 b/coin/provisioning/qtci-windows-10-x86/11-conan.ps1
new file mode 100644
index 00000000..6215f9e4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/11-conan.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\conan.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/20-install-sccache.ps1 b/coin/provisioning/qtci-windows-10-x86/20-install-sccache.ps1
new file mode 100644
index 00000000..9fc79ec1
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/20-install-sccache.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sccache.ps1" "x86-pc-windows-gnu" "0.2.13-alpha-0" "287f4c3b7db21b72138704b8fe96827e6b1643a8"
diff --git a/coin/provisioning/qtci-windows-10-x86/90-signing-tools.ps1 b/coin/provisioning/qtci-windows-10-x86/90-signing-tools.ps1
index 2ad25685..fbd8c52f 100644
--- a/coin/provisioning/qtci-windows-10-x86/90-signing-tools.ps1
+++ b/coin/provisioning/qtci-windows-10-x86/90-signing-tools.ps1
@@ -1,44 +1,14 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Copyright (C) 2017 Pelagicore AG
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2017 The Qt Company Ltd.
+# Copyright (C) 2017 Pelagicore AG
+# 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"
# Signing tools are needed to sign offline installers when releasing
-$url = "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/sign.zip"
+$url = "http://ci-files01-hki.ci.qt.io/input/semisecure/sign/sign.zip"
$destination = "C:\Windows\temp\sign.zip"
Download $url $url $destination
Extract-7Zip "$destination" "C:\Utils"
-Remove-Item -Path "$destination"
+Remove "$destination"
diff --git a/coin/provisioning/qtci-windows-10-x86/99-share-test-folders.ps1 b/coin/provisioning/qtci-windows-10-x86/99-share-test-folders.ps1
new file mode 100644
index 00000000..576fcfdc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/99-share-test-folders.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\share-test-folders.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/99-version.ps1 b/coin/provisioning/qtci-windows-10-x86/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/conanfiles/qtwebkit.txt b/coin/provisioning/qtci-windows-10-x86/conanfiles/qtwebkit.txt
index a7ced8ae..f670b394 100644
--- a/coin/provisioning/qtci-windows-10-x86/conanfiles/qtwebkit.txt
+++ b/coin/provisioning/qtci-windows-10-x86/conanfiles/qtwebkit.txt
@@ -1,7 +1,8 @@
[requires]
-icu/59.1@vitallium/stable
-libxml2/2.9.4@vitallium/stable
-libxslt/1.1.29@vitallium/stable
+icu/65.1@qtproject/stable
+libxml2/2.9.10@qtproject/stable
+libxslt/1.1.34@qtproject/stable
+libjpeg-turbo/2.0.5@qtproject/stable
[generators]
cmake
@@ -9,12 +10,20 @@ txt
[options]
icu:shared=True
+icu:data_packaging=library
+
libxml2:shared=True
+libxml2:iconv=False
+libxml2:icu=True
+libxml2:zlib=False
+
libxslt:shared=True
+libjpeg-turbo:shared=False
+
[imports]
-bin, icudt59.dll -> ./bin
-bin, icuin59.dll -> ./bin
-bin, icuuc59.dll -> ./bin
+bin, icudt65.dll -> ./bin
+bin, icuin65.dll -> ./bin
+bin, icuuc65.dll -> ./bin
bin, libxml2.dll -> ./bin
bin, libxslt.dll -> ./bin
diff --git a/coin/provisioning/qtci-windows-10-x86_64/00-disable-netadapterlso.ps1 b/coin/provisioning/qtci-windows-10-x86_64/00-disable-netadapterlso.ps1
new file mode 100644
index 00000000..d20f1402
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/00-disable-netadapterlso.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-10-x86_64/00-install-sevenzip.ps1
index a9044256..a9044256 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/03-install-sevenzip.ps1
+++ b/coin/provisioning/qtci-windows-10-x86_64/00-install-sevenzip.ps1
diff --git a/coin/provisioning/qtci-windows-10-x86_64/01-change-resolution.ps1 b/coin/provisioning/qtci-windows-10-x86_64/01-change-resolution.ps1
new file mode 100644
index 00000000..c1e73a62
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/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-10-x86_64/01-disable-notifications.ps1 b/coin/provisioning/qtci-windows-10-x86_64/01-disable-notifications.ps1
new file mode 100644
index 00000000..ada20147
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/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-10-x86_64/01-disable-runtimebroker.ps1 b/coin/provisioning/qtci-windows-10-x86_64/01-disable-runtimebroker.ps1
new file mode 100644
index 00000000..8ae8190d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/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-10-x86_64/01-disable-windows-telemetry.ps1 b/coin/provisioning/qtci-windows-10-x86_64/01-disable-windows-telemetry.ps1
new file mode 100644
index 00000000..3f5a75f4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/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-10-x86_64/01-enable-guest-logon.ps1 b/coin/provisioning/qtci-windows-10-x86_64/01-enable-guest-logon.ps1
new file mode 100644
index 00000000..3cf989d3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/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-10-x86_64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-10-x86_64/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/01-remove-ms-zune.ps1 b/coin/provisioning/qtci-windows-10-x86_64/01-remove-ms-zune.ps1
deleted file mode 100644
index 6a398725..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/01-remove-ms-zune.ps1
+++ /dev/null
@@ -1,2 +0,0 @@
-Remove-AppxPackage Microsoft.ZuneVideo_10.17092.13511.0_x64__8wekyb3d8bbwe
-Remove-AppxPackage Microsoft.ZuneMusic_10.17083.18321.0_x64__8wekyb3d8bbwe
diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-change-language-settings.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-change-language-settings.ps1
new file mode 100644
index 00000000..313ec962
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/02-change-language-settings.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\change-language-settings.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-disable-defragment.ps1
deleted file mode 100644
index 10518401..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/02-disable-defragment.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-defragment.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/02-disable-ntp.ps1 b/coin/provisioning/qtci-windows-10-x86_64/02-disable-ntp.ps1
deleted file mode 100644
index ee3b3b7d..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/02-disable-ntp.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-ntp.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/03-conan.ps1 b/coin/provisioning/qtci-windows-10-x86_64/03-conan.ps1
deleted file mode 100644
index c2068666..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/03-conan.ps1
+++ /dev/null
@@ -1,33 +0,0 @@
-. "$PSScriptRoot\..\common\windows\03-conan.ps1"
-
-Run-Conan-Install `
- -ConanfilesDir "$PSScriptRoot\conanfiles" `
- -BuildinfoDir MSVC2015-x86_64 `
- -Arch x86_64 `
- -Compiler "Visual Studio" `
- -CompilerVersion 14 `
- -CompilerRuntime MD
-
-Run-Conan-Install `
- -ConanfilesDir "$PSScriptRoot\conanfiles" `
- -BuildinfoDir MSVC2015-x86 `
- -Arch x86 `
- -Compiler "Visual Studio" `
- -CompilerVersion 14 `
- -CompilerRuntime MD
-
-Run-Conan-Install `
- -ConanfilesDir "$PSScriptRoot\conanfiles" `
- -BuildinfoDir MSVC2017-x86_64 `
- -Arch x86_64 `
- -Compiler "Visual Studio" `
- -CompilerVersion 15 `
- -CompilerRuntime MD
-
-Run-Conan-Install `
- -ConanfilesDir "$PSScriptRoot\conanfiles" `
- -BuildinfoDir MSVC2017-x86 `
- -Arch x86 `
- -Compiler "Visual Studio" `
- -CompilerVersion 15 `
- -CompilerRuntime MD
diff --git a/coin/provisioning/qtci-windows-10-x86_64/03-nodejs.ps1 b/coin/provisioning/qtci-windows-10-x86_64/03-nodejs.ps1
new file mode 100644
index 00000000..6032e945
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/03-nodejs.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\nodejs.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/04-disable-windows-updates.ps1 b/coin/provisioning/qtci-windows-10-x86_64/04-disable-windows-updates.ps1
deleted file mode 100644
index 57428310..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/04-disable-windows-updates.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-windows-updates.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/05-msvc.ps1 b/coin/provisioning/qtci-windows-10-x86_64/05-msvc.ps1
deleted file mode 100644
index d019fc92..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/05-msvc.ps1
+++ /dev/null
@@ -1,43 +0,0 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-# Visual Studios are pre-provisioned to tier1 images
-
-# MSVC 2015 Update 3
-Write-Output "Visual Studio 2015 = Version 14.0.25421.3 Update 3" >> ~\versions.txt
-
-# MSVC 2017
-Write-Output "Visual Studio 2017 = Version 15.1 (26403.7)" >> ~\versions.txt
-
-# MSVC 2017 Build Tools
-Write-Output "Visual Studio 2017 Build Tools = Version 15.1 (26403.7)" >> ~\versions.txt
diff --git a/coin/provisioning/qtci-windows-10-x86_64/05-qnx_700.ps1 b/coin/provisioning/qtci-windows-10-x86_64/05-qnx_700.ps1
deleted file mode 100644
index 74c8dc6b..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/05-qnx_700.ps1
+++ /dev/null
@@ -1,47 +0,0 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-. "$PSScriptRoot\..\common\windows\helpers.ps1"
-
-# This script installs QNX SDP 7.0
-
-$zip = Get-DownloadLocation "qnx700.7z"
-$url = "http://ci-files01-hki.intra.qt.io/input/windows/qnx700-20180801-windows.7z"
-
-Download $url $url $zip
-Verify-Checksum $zip "E281897C957B5FAB249BABB2DEB77EEBB9BA75E6"
-Extract-7Zip $zip C:\
-
-Set-EnvironmentVariable "QNX_700" "C:\QNX700"
-Write-Output "QNX SDP = 7.0.0" >> ~/versions.txt
-Remove-Item -Path $zip
diff --git a/coin/provisioning/qtci-windows-10-x86_64/06-longpath.ps1 b/coin/provisioning/qtci-windows-10-x86_64/06-longpath.ps1
new file mode 100644
index 00000000..6561d57b
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/06-longpath.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\longpath.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10-x86_64/08-libclang-v100-dyn.ps1 b/coin/provisioning/qtci-windows-10-x86_64/08-libclang-v100-dyn.ps1
new file mode 100644
index 00000000..82b91257
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/08-libclang-v100-dyn.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 64 vs2019
+. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 32 vs2019
diff --git a/coin/provisioning/qtci-windows-10-x86_64/08-libclang.ps1 b/coin/provisioning/qtci-windows-10-x86_64/08-libclang.ps1
index 62f11292..7681f01a 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/08-libclang.ps1
+++ b/coin/provisioning/qtci-windows-10-x86_64/08-libclang.ps1
@@ -1,3 +1,3 @@
# Do not set the default LLVM_INSTALL_DIR for mingw, leave it with msvc for compat
. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 mingw $False
-. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 vs2015
+. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 vs2019
diff --git a/coin/provisioning/qtci-windows-10-x86_64/08-python3-32.ps1 b/coin/provisioning/qtci-windows-10-x86_64/08-python3-32.ps1
deleted file mode 100644
index 5ffeab3b..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/08-python3-32.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "C:\Python36_32"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/08-python3.ps1 b/coin/provisioning/qtci-windows-10-x86_64/08-python3.ps1
index 3201032d..71fa32bf 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/08-python3.ps1
+++ b/coin/provisioning/qtci-windows-10-x86_64/08-python3.ps1
@@ -1 +1,14 @@
-. "$PSScriptRoot\..\common\windows\python3.ps1" 64
+# Parameters:
+# - Arch 32/64
+# - installer sha1
+# - install target dir
+# - version
+# - Optional true/false if set as default with PYTHON3/PIP3_PATH variables, default false
+
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "3ee4e92a8ef94c70fb56859503fdc805d217d689" "C:\Python310_64" "3.10.0"
+
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "a8ac14ee5486547caf84abdf151be22d9d069c0a" "C:\Python38_64" "3.8.1"
+. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "14ff2c2e5538b03a012cb4c9d519d970444ebd42" "C:\Python38_32" "3.8.1"
+# default ones
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "bcf9bda733a9153811209c62d628c41ab6cedbe2" "C:\Python36" "3.6.2" $true
+. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "cd9744b142eca832f9534390676e6cfb84bf655d" "C:\Python36_32" "3.6.2" $true
diff --git a/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw1120_64.ps1 b/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw1120_64.ps1
new file mode 100644
index 00000000..e23cec73
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw1120_64.ps1
@@ -0,0 +1,11 @@
+. "$PSScriptRoot\..\common\windows\install-mingw.ps1"
+
+# This script will install 64-bit MinGW 11.2.0
+# Note! MinGW version is 9.0.0 but the GCC version is 11.2 which is used with the naming of MinGW
+
+$release = "MinGW-w64-x86_64-11.2.0-release-posix-seh-rt_v9-rev3"
+
+$sha1 = "50174112ceca6f9fe42debbedda54ce6e9187302"
+
+InstallMinGW $release $sha1
+
diff --git a/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw530.ps1 b/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw530.ps1
deleted file mode 100644
index 00392e4c..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw530.ps1
+++ /dev/null
@@ -1,10 +0,0 @@
-. "$PSScriptRoot\..\common\windows\install-mingw.ps1"
-
-# This script will install 64-bit MinGW 5.3.0
-
-$release = "x86_64-5.3.0-release-posix-seh-rt_v4-rev0"
-$sha1 = "7EB12DD3EDDCF609722C9552F8592BD9948DA1FC"
-
-InstallMinGW $release $sha1
-
-
diff --git a/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw630.ps1 b/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw630.ps1
deleted file mode 100644
index 2986db90..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw630.ps1
+++ /dev/null
@@ -1,8 +0,0 @@
-. "$PSScriptRoot\..\common\windows\install-mingw.ps1"
-
-# This script will install 64-bit MinGW 6.3.0
-
-$release = "x86_64-6.3.0-release-posix-seh-rt_v5-rev2"
-$sha1 = "49E7F8997E3D15C75B1A4DE1C380ABE1FB9B7533"
-
-InstallMinGW $release $sha1
diff --git a/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw730.ps1 b/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw730.ps1
deleted file mode 100644
index 5401b36a..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw730.ps1
+++ /dev/null
@@ -1,11 +0,0 @@
-. "$PSScriptRoot\..\common\windows\install-mingw.ps1"
-
-# This script will install MinGW 7.3.0
-
-$release = "i686-7.3.0-release-posix-dwarf-rt_v5-rev0"
-$sha1 = "96e11c754b379c093e1cb3133f71db5b9f3e0532"
-$suffix = "_i686"
-
-InstallMinGW $release $sha1 $suffix
-
-
diff --git a/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw730_64.ps1 b/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw730_64.ps1
deleted file mode 100644
index c928e270..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/09-install-mingw730_64.ps1
+++ /dev/null
@@ -1,9 +0,0 @@
-. "$PSScriptRoot\..\common\windows\install-mingw.ps1"
-
-# This script will install 64-bit MinGW 7.3.0
-
-$release = "x86_64-7.3.0-release-posix-seh-rt_v5-rev0"
-$sha1 = "0fce15036400568babd10d65b247e9576515da2c"
-
-InstallMinGW $release $sha1
-
diff --git a/coin/provisioning/qtci-windows-10-x86_64/09-install-openssh.ps1 b/coin/provisioning/qtci-windows-10-x86_64/09-install-openssh.ps1
new file mode 100644
index 00000000..9de844da
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/09-install-openssh.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-openssh.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/09-install-sed.ps1 b/coin/provisioning/qtci-windows-10-x86_64/09-install-sed.ps1
new file mode 100644
index 00000000..b3c8fded
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/09-install-sed.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sed.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/09-openssl-arm64.ps1 b/coin/provisioning/qtci-windows-10-x86_64/09-openssl-arm64.ps1
new file mode 100644
index 00000000..c1bbf271
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/09-openssl-arm64.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\openssl-arm64.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/10-icu.ps1 b/coin/provisioning/qtci-windows-10-x86_64/10-icu.ps1
deleted file mode 100644
index 074a7a6d..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/10-icu.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\icu.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/10-install-msys2.ps1 b/coin/provisioning/qtci-windows-10-x86_64/10-install-msys2.ps1
new file mode 100644
index 00000000..be9a3634
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/10-install-msys2.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-msys2.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/10-msvc_2015_update3_patch.ps1 b/coin/provisioning/qtci-windows-10-x86_64/10-msvc_2015_update3_patch.ps1
deleted file mode 100644
index fe1aec7d..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/10-msvc_2015_update3_patch.ps1
+++ /dev/null
@@ -1,34 +0,0 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-. "$PSScriptRoot\..\common\windows\msvc_2015_update3_patch.ps1"
-
diff --git a/coin/provisioning/qtci-windows-10-x86_64/11-conan.ps1 b/coin/provisioning/qtci-windows-10-x86_64/11-conan.ps1
new file mode 100644
index 00000000..6215f9e4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/11-conan.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\conan.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/20-install-sccache.ps1 b/coin/provisioning/qtci-windows-10-x86_64/20-install-sccache.ps1
new file mode 100644
index 00000000..0794bff3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/20-install-sccache.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sccache.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/25-llvm-mingw.ps1 b/coin/provisioning/qtci-windows-10-x86_64/25-llvm-mingw.ps1
new file mode 100644
index 00000000..adc2c506
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/25-llvm-mingw.ps1
@@ -0,0 +1,19 @@
+# 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
+
+. "$PSScriptRoot\..\common\windows\helpers.ps1"
+
+# This script installs LLVM-Mingw by mstorsjo
+
+$zip = Get-DownloadLocation "llvm-mingw-20220906-ucrt-x86_64.zip"
+$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/llvm-mingw-20220906-ucrt-x86_64.zip"
+$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20220906/llvm-mingw-20220906-ucrt-x86_64.zip"
+
+Download $url_official $url_cache $zip
+Verify-Checksum $zip "51ff525eefa4f5db905cc7b4c8b56079c3baed65"
+Extract-7Zip $zip C:\
+
+Rename-Item C:\llvm-mingw-20220906-ucrt-x86_64 C:\llvm-mingw
+
+Write-Output "llvm-mingw = 15.0.0" >> ~/versions.txt
+Remove-Item -Path $zip
diff --git a/coin/provisioning/qtci-windows-10-x86_64/29-libusb.ps1 b/coin/provisioning/qtci-windows-10-x86_64/29-libusb.ps1
new file mode 100644
index 00000000..6035912d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/29-libusb.ps1
@@ -0,0 +1,3 @@
+
+
+. "$PSScriptRoot\..\common\windows\libusb.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/10-openssl_for_android.ps1 b/coin/provisioning/qtci-windows-10-x86_64/50-openssl_for_android.ps1
index 25c6f28a..25c6f28a 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/10-openssl_for_android.ps1
+++ b/coin/provisioning/qtci-windows-10-x86_64/50-openssl_for_android.ps1
diff --git a/coin/provisioning/qtci-windows-10-x86_64/80-emsdk.ps1 b/coin/provisioning/qtci-windows-10-x86_64/80-emsdk.ps1
new file mode 100644
index 00000000..b72470a2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/80-emsdk.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\emsdk.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-install-dotnet.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-install-dotnet.ps1
new file mode 100644
index 00000000..a2ecfba2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/90-install-dotnet.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-dotnet.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-install-ffmpeg.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-install-ffmpeg.ps1
new file mode 100644
index 00000000..e16f634c
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/90-install-ffmpeg.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-ffmpeg.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-install-mcuxpresso.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-install-mcuxpresso.ps1
new file mode 100644
index 00000000..22d19322
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/90-install-mcuxpresso.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-mcuxpresso.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-install-stm32cubeprogrammer.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-install-stm32cubeprogrammer.ps1
new file mode 100644
index 00000000..25c2bb42
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/90-install-stm32cubeprogrammer.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-stm32cubeprogrammer.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-install-virtualbox.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-install-virtualbox.ps1
index d1b6ac9e..bf14fd23 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/90-install-virtualbox.ps1
+++ b/coin/provisioning/qtci-windows-10-x86_64/90-install-virtualbox.ps1
@@ -1,35 +1,5 @@
-############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# 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
. "$PSScriptRoot\..\common\windows\helpers.ps1"
@@ -37,7 +7,7 @@
$version = "5.2.4"
$sha1 = "71df4474a5e94918728b62d1f6bc036674ef0e96"
-$url_cache = "\\ci-files01-hki.intra.qt.io\provisioning\windows\VirtualBox-" + $version + "-119785-Win.exe"
+$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\VirtualBox-" + $version + "-119785-Win.exe"
$url_official = "http://download.virtualbox.org/virtualbox/" + $version + "/VirtualBox-" + $version + "-119785-Win.exe"
$virtualboxPackage = "C:\Windows\Temp\virtualbox-$version.exe"
@@ -46,6 +16,6 @@ Verify-Checksum $virtualboxPackage $sha1
Run-Executable $virtualboxPackage "--silent"
Write-Output "Cleaning $virtualboxPackage.."
-Remove-Item -Recurse -Force -Path "$virtualboxPackage"
+Remove "$virtualboxPackage"
Write-Output "VirtualBox = $version" >> ~\versions.txt
diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-mimersql.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-mimersql.ps1
new file mode 100644
index 00000000..576dd9d2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/90-mimersql.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mimersql.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-python-modules.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-python-modules.ps1
new file mode 100644
index 00000000..3646d826
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/90-python-modules.ps1
@@ -0,0 +1,3 @@
+# Needed by packaging scripts
+C:\Python36\Scripts\pip3 install bs4
+C:\Python36\Scripts\pip3 install sh
diff --git a/coin/provisioning/qtci-windows-10-x86_64/90-signing-tools.ps1 b/coin/provisioning/qtci-windows-10-x86_64/90-signing-tools.ps1
deleted file mode 100644
index 2ad25685..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/90-signing-tools.ps1
+++ /dev/null
@@ -1,44 +0,0 @@
-#############################################################################
-##
-## Copyright (C) 2017 The Qt Company Ltd.
-## Copyright (C) 2017 Pelagicore AG
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the provisioning scripts of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
-
-. "$PSScriptRoot\..\common\windows\helpers.ps1"
-
-# Signing tools are needed to sign offline installers when releasing
-
-$url = "http://ci-files01-hki.intra.qt.io/input/semisecure/sign/sign.zip"
-$destination = "C:\Windows\temp\sign.zip"
-
-Download $url $url $destination
-Extract-7Zip "$destination" "C:\Utils"
-Remove-Item -Path "$destination"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/91-install-azure-tool.ps1 b/coin/provisioning/qtci-windows-10-x86_64/91-install-azure-tool.ps1
new file mode 100644
index 00000000..f1d5acc3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/91-install-azure-tool.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-azure-tool.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/92-install-protobuf.ps1 b/coin/provisioning/qtci-windows-10-x86_64/92-install-protobuf.ps1
deleted file mode 100644
index 8bcdf3fa..00000000
--- a/coin/provisioning/qtci-windows-10-x86_64/92-install-protobuf.ps1
+++ /dev/null
@@ -1,2 +0,0 @@
-. "$PSScriptRoot\..\common\windows\install-protobuf.ps1"
-
diff --git a/coin/provisioning/qtci-windows-10-x86_64/92-protobuf.ps1 b/coin/provisioning/qtci-windows-10-x86_64/92-protobuf.ps1
new file mode 100644
index 00000000..c455bce7
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/92-protobuf.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\protobuf.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10-x86_64/96-disable-windows-module-installer.ps1 b/coin/provisioning/qtci-windows-10-x86_64/96-disable-windows-module-installer.ps1
new file mode 100644
index 00000000..fb8ec541
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/96-disable-windows-module-installer.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-windows-module-installer.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/97-msvc2015.ps1 b/coin/provisioning/qtci-windows-10-x86_64/97-msvc2015.ps1
new file mode 100644
index 00000000..2f458f75
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/97-msvc2015.ps1
@@ -0,0 +1,10 @@
+# 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
+
+# Visual Studios are pre-provisioned to tier1 images
+
+# MSVC 2015 Update 3
+Write-Output "Visual Studio 2015 = Version 14.0.25420.1 Update 3" >> ~\versions.txt
+
+# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with "$PSScriptRoot\..\common\windows\update-msvc2019.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10-x86_64/97-msvc2019.ps1 b/coin/provisioning/qtci-windows-10-x86_64/97-msvc2019.ps1
new file mode 100644
index 00000000..96f0a2d3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/97-msvc2019.ps1
@@ -0,0 +1,6 @@
+# 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
+
+# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with:
+. "$PSScriptRoot\..\common\windows\update-msvc2019.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10-x86_64/99-unset-proxy.ps1 b/coin/provisioning/qtci-windows-10-x86_64/98-unset-proxy.ps1
index 0c25a0fb..0c25a0fb 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/99-unset-proxy.ps1
+++ b/coin/provisioning/qtci-windows-10-x86_64/98-unset-proxy.ps1
diff --git a/coin/provisioning/qtci-windows-10-x86_64/99-share-test-folders.ps1 b/coin/provisioning/qtci-windows-10-x86_64/99-share-test-folders.ps1
new file mode 100644
index 00000000..576fcfdc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/99-share-test-folders.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\share-test-folders.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/99-version.ps1 b/coin/provisioning/qtci-windows-10-x86_64/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10-x86_64/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/conanfiles/qtwebkit.txt b/coin/provisioning/qtci-windows-10-x86_64/conanfiles/qtwebkit.txt
index a7ced8ae..eaafc008 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/conanfiles/qtwebkit.txt
+++ b/coin/provisioning/qtci-windows-10-x86_64/conanfiles/qtwebkit.txt
@@ -1,7 +1,8 @@
[requires]
-icu/59.1@vitallium/stable
-libxml2/2.9.4@vitallium/stable
-libxslt/1.1.29@vitallium/stable
+icu/65.1@qtproject/stable
+libxml2/2.9.10@qtproject/stable
+libxslt/1.1.34@qtproject/stable
+libjpeg-turbo/2.0.5@qtproject/stable
[generators]
cmake
@@ -9,12 +10,22 @@ txt
[options]
icu:shared=True
+icu:data_packaging=library
+
libxml2:shared=True
+libxml2:iconv=False
+libxml2:icu=True
+libxml2:zlib=False
+
libxslt:shared=True
+libjpeg-turbo:shared=False
+
[imports]
-bin, icudt59.dll -> ./bin
-bin, icuin59.dll -> ./bin
-bin, icuuc59.dll -> ./bin
+bin, icudt65.dll -> ./bin
+bin, icuin65.dll -> ./bin
+bin, icuuc65.dll -> ./bin
bin, libxml2.dll -> ./bin
bin, libxslt.dll -> ./bin
+bin, libxml2-2.dll -> ./bin
+bin, libxslt-1.dll -> ./bin
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/00-disable-netadapterlso.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/00-disable-netadapterlso.ps1
new file mode 100644
index 00000000..d20f1402
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/00-disable-netadapterlso.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/00-install-sevenzip.ps1
index a9044256..a9044256 100644
--- a/coin/provisioning/qtci-windows-7-x86/03-install-sevenzip.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/00-install-sevenzip.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86/01-allow-remote-desktop-access.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-allow-remote-desktop-access.ps1
index af05e838..af05e838 100644
--- a/coin/provisioning/qtci-windows-7-x86/01-allow-remote-desktop-access.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-allow-remote-desktop-access.ps1
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/01-change-resolution.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-change-resolution.ps1
new file mode 100644
index 00000000..c1e73a62
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/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-10_21H2-x86_64/01-disable-notifications.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-disable-notifications.ps1
new file mode 100644
index 00000000..ada20147
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/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-10_21H2-x86_64/01-disable-runtimebroker.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-disable-runtimebroker.ps1
new file mode 100644
index 00000000..8ae8190d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/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-10_21H2-x86_64/01-disable-windows-telemetry.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-disable-windows-telemetry.ps1
new file mode 100644
index 00000000..3f5a75f4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/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-10_21H2-x86_64/01-enable-guest-logon.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-enable-guest-logon.ps1
new file mode 100644
index 00000000..3cf989d3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/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-10_21H2-x86_64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/01-mount-vcpkg-cache-drive.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-mount-vcpkg-cache-drive.ps1
new file mode 100644
index 00000000..97dbd7d6
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-mount-vcpkg-cache-drive.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mount-vcpkg-cache-drive.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/01-msvc2019.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-msvc2019.ps1
new file mode 100644
index 00000000..53136f18
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-msvc2019.ps1
@@ -0,0 +1,6 @@
+# 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
+
+# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with:
+. "$PSScriptRoot\..\common\windows\update-msvc2019.ps1"
+
diff --git a/coin/provisioning/qtci-windows-7-x86/01-set-proxy.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-set-proxy.ps1
index 13b1ec60..13b1ec60 100644
--- a/coin/provisioning/qtci-windows-7-x86/01-set-proxy.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/01-set-proxy.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86/02-disable-autoreboot.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/02-disable-autoreboot.ps1
index 73430b76..73430b76 100644
--- a/coin/provisioning/qtci-windows-7-x86/02-disable-autoreboot.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/02-disable-autoreboot.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86/02-disable-sleep.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/02-disable-sleep.ps1
index 5bf811ef..5bf811ef 100644
--- a/coin/provisioning/qtci-windows-7-x86/02-disable-sleep.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/02-disable-sleep.ps1
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
new file mode 100644
index 00000000..bd2d52c3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python-32bit.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/02-python.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python.ps1
index e2e9be9c..e2e9be9c 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/02-python.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/02-python.ps1
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/03-nodejs.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/03-nodejs.ps1
new file mode 100644
index 00000000..6032e945
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/03-nodejs.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\nodejs.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/04-msys.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/04-msys.ps1
new file mode 100644
index 00000000..44efea92
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/04-msys.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\msys.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/05-enable-devmode.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/05-enable-devmode.ps1
new file mode 100644
index 00000000..01e6f8b0
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/05-enable-devmode.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\win10-enable-devmode.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/05-wsearch-off.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/05-wsearch-off.ps1
index eed6b734..eed6b734 100644
--- a/coin/provisioning/qtci-windows-7-x86/05-wsearch-off.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/05-wsearch-off.ps1
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/06-longpath.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/06-longpath.ps1
new file mode 100644
index 00000000..6561d57b
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/06-longpath.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\longpath.ps1"
+
diff --git a/coin/provisioning/qtci-windows-7-x86/08-mesa_llvmpipe.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/06-mesa_llvmpipe.ps1
index 1b1a07e9..1b1a07e9 100644
--- a/coin/provisioning/qtci-windows-7-x86/08-mesa_llvmpipe.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/06-mesa_llvmpipe.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86/08-ninja.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/06-ninja.ps1
index ba571a1e..ba571a1e 100644
--- a/coin/provisioning/qtci-windows-7-x86/08-ninja.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/06-ninja.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86_64/08-install-git.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/08-install-git.ps1
index 38106de7..38106de7 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/08-install-git.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/08-install-git.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86/08-install-jdk.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/08-install-jdk.ps1
index 15065b55..15065b55 100644
--- a/coin/provisioning/qtci-windows-7-x86/08-install-jdk.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/08-install-jdk.ps1
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/08-install-jq.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/08-install-jq.ps1
new file mode 100644
index 00000000..18fa568a
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/08-install-jq.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-jq.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/08-libclang-v100-dyn.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/08-libclang-v100-dyn.ps1
new file mode 100644
index 00000000..82b91257
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/08-libclang-v100-dyn.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 64 vs2019
+. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 32 vs2019
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/08-libclang.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/08-libclang.ps1
new file mode 100644
index 00000000..7681f01a
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/08-libclang.ps1
@@ -0,0 +1,3 @@
+# Do not set the default LLVM_INSTALL_DIR for mingw, leave it with msvc for compat
+. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 mingw $False
+. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 vs2019
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/08-python3.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/08-python3.ps1
new file mode 100644
index 00000000..78598946
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/08-python3.ps1
@@ -0,0 +1,11 @@
+# Parameters:
+# - Arch 32/64
+# - installer sha1
+# - install target dir
+# - version
+# - Optional true/false if set as default with PYTHON3/PIP3_PATH variables, default false
+
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "3ee4e92a8ef94c70fb56859503fdc805d217d689" "C:\Python310_64" "3.10.0"
+# default ones
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "a8ac14ee5486547caf84abdf151be22d9d069c0a" "C:\Python38_64" "3.8.1" $true
+. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "14ff2c2e5538b03a012cb4c9d519d970444ebd42" "C:\Python38_32" "3.8.1" $true
diff --git a/coin/provisioning/qtci-windows-7-x86/09-install-dependencywalker.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-dependencywalker.ps1
index 331de489..331de489 100644
--- a/coin/provisioning/qtci-windows-7-x86/09-install-dependencywalker.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-dependencywalker.ps1
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-mingw1120_64.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-mingw1120_64.ps1
new file mode 100644
index 00000000..e23cec73
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-mingw1120_64.ps1
@@ -0,0 +1,11 @@
+. "$PSScriptRoot\..\common\windows\install-mingw.ps1"
+
+# This script will install 64-bit MinGW 11.2.0
+# Note! MinGW version is 9.0.0 but the GCC version is 11.2 which is used with the naming of MinGW
+
+$release = "MinGW-w64-x86_64-11.2.0-release-posix-seh-rt_v9-rev3"
+
+$sha1 = "50174112ceca6f9fe42debbedda54ce6e9187302"
+
+InstallMinGW $release $sha1
+
diff --git a/coin/provisioning/qtci-windows-7-x86/09-install-ruby.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-ruby.ps1
index 875b426f..875b426f 100644
--- a/coin/provisioning/qtci-windows-7-x86/09-install-ruby.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-ruby.ps1
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-sed.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-sed.ps1
new file mode 100644
index 00000000..b3c8fded
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-sed.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sed.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/09-install-strawberry-perl.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-strawberry-perl.ps1
index 2b5756be..2b5756be 100644
--- a/coin/provisioning/qtci-windows-7-x86/09-install-strawberry-perl.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-install-strawberry-perl.ps1
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/09-openssl-arm64.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-openssl-arm64.ps1
new file mode 100644
index 00000000..c1bbf271
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-openssl-arm64.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\openssl-arm64.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/09-openssl.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-openssl.ps1
index d57ad1cd..d57ad1cd 100644
--- a/coin/provisioning/qtci-windows-7-x86/09-openssl.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-openssl.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86/09-set-network-test-server.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-set-network-test-server.ps1
index 7918fabf..7918fabf 100644
--- a/coin/provisioning/qtci-windows-7-x86/09-set-network-test-server.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-set-network-test-server.ps1
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/09-vulkansdk.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-vulkansdk.ps1
new file mode 100644
index 00000000..54a3d563
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/09-vulkansdk.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\vulkansdk.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/10-dxsdk.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/10-dxsdk.ps1
index 155df6b8..155df6b8 100644
--- a/coin/provisioning/qtci-windows-7-x86/10-dxsdk.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/10-dxsdk.ps1
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/10-install-msys2.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/10-install-msys2.ps1
new file mode 100644
index 00000000..be9a3634
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/10-install-msys2.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-msys2.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/11-conan.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/11-conan.ps1
new file mode 100644
index 00000000..6215f9e4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/11-conan.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\conan.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/20-install-sccache.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/20-install-sccache.ps1
new file mode 100644
index 00000000..0794bff3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/20-install-sccache.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sccache.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/22-mqtt_broker.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/22-mqtt_broker.ps1
index 71deb0d4..71deb0d4 100644
--- a/coin/provisioning/qtci-windows-7-x86/22-mqtt_broker.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/22-mqtt_broker.ps1
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/23-winrtrunner.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/23-winrtrunner.ps1
new file mode 100644
index 00000000..078f862e
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/23-winrtrunner.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\winrtrunner.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/25-llvm-mingw.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/25-llvm-mingw.ps1
new file mode 100644
index 00000000..8912f952
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/25-llvm-mingw.ps1
@@ -0,0 +1,20 @@
+# 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
+
+. "$PSScriptRoot\..\common\windows\helpers.ps1"
+
+# This script installs LLVM-Mingw by mstorsjo
+# https://github.com/mstorsjo/llvm-mingw/releases/tag/20220906
+
+$zip = Get-DownloadLocation "llvm-mingw-20220906-ucrt-x86_64.zip"
+$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/llvm-mingw-20220906-ucrt-x86_64.zip"
+$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20220906/llvm-mingw-20220906-ucrt-x86_64.zip"
+
+Download $url_official $url_cache $zip
+Verify-Checksum $zip "51ff525eefa4f5db905cc7b4c8b56079c3baed65"
+Extract-7Zip $zip C:\
+
+Rename-Item C:\llvm-mingw-20220906-ucrt-x86_64 C:\llvm-mingw
+
+Write-Output "llvm-mingw = 15.0.0" >> ~/versions.txt
+Remove-Item -Path $zip
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/29-libusb.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/29-libusb.ps1
new file mode 100644
index 00000000..6035912d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/29-libusb.ps1
@@ -0,0 +1,3 @@
+
+
+. "$PSScriptRoot\..\common\windows\libusb.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/30-fbx.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/30-fbx.ps1
new file mode 100644
index 00000000..468b0433
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/30-fbx.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\fbx_windows.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/35-install-breakpad.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/35-install-breakpad.ps1
index 9360a326..9360a326 100644
--- a/coin/provisioning/qtci-windows-7-x86/35-install-breakpad.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/35-install-breakpad.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86/36-install-gnuwin32.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/36-install-gnuwin32.ps1
index 0e2abbac..0e2abbac 100644
--- a/coin/provisioning/qtci-windows-7-x86/36-install-gnuwin32.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/36-install-gnuwin32.ps1
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/40-android.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/40-android.ps1
new file mode 100644
index 00000000..69799974
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/40-android.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\android.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/40-qnx710.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/40-qnx710.ps1
new file mode 100644
index 00000000..826cc5b2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/40-qnx710.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\qnx710.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/50-openssl_for_android.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/50-openssl_for_android.ps1
new file mode 100644
index 00000000..25c6f28a
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/50-openssl_for_android.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\android-openssl.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/09-jom.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/60-jom.ps1
index b246ce25..b246ce25 100644
--- a/coin/provisioning/qtci-windows-7-x86/09-jom.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/60-jom.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86/09-cmake.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/70-cmake.ps1
index 73dc7bc2..73dc7bc2 100644
--- a/coin/provisioning/qtci-windows-7-x86/09-cmake.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/70-cmake.ps1
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/79-opcua_unifiedautomation.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/79-opcua_unifiedautomation.ps1
new file mode 100644
index 00000000..e7f14459
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/79-opcua_unifiedautomation.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\opcua_unifiedautomation.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/80-emsdk.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/80-emsdk.ps1
new file mode 100644
index 00000000..b72470a2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/80-emsdk.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\emsdk.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/85-disable_quickedit_powershell.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/85-disable_quickedit_powershell.ps1
new file mode 100644
index 00000000..547e15a8
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/85-disable_quickedit_powershell.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-quickedit.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/90-3dstudio_3rdparty.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-3dstudio_3rdparty.ps1
new file mode 100644
index 00000000..114f52f9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-3dstudio_3rdparty.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\3dstudio_3rdparty.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/90-exceutequeueditems.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-exceutequeueditems.ps1
index 52306fb9..52306fb9 100644
--- a/coin/provisioning/qtci-windows-7-x86/90-exceutequeueditems.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-exceutequeueditems.ps1
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-dotnet.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-dotnet.ps1
new file mode 100644
index 00000000..a2ecfba2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-dotnet.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-dotnet.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-ffmpeg.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-ffmpeg.ps1
new file mode 100644
index 00000000..e16f634c
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-ffmpeg.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-ffmpeg.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-mcuxpresso.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-mcuxpresso.ps1
new file mode 100644
index 00000000..22d19322
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-mcuxpresso.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-mcuxpresso.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/90-install-notepad++.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-notepad++.ps1
index 455d92bf..455d92bf 100644
--- a/coin/provisioning/qtci-windows-7-x86/90-install-notepad++.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-notepad++.ps1
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-stm32cubeprogrammer.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-stm32cubeprogrammer.ps1
new file mode 100644
index 00000000..25c2bb42
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-stm32cubeprogrammer.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-stm32cubeprogrammer.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-virtualbox.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-virtualbox.ps1
new file mode 100644
index 00000000..bf14fd23
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-install-virtualbox.ps1
@@ -0,0 +1,21 @@
+# 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
+
+. "$PSScriptRoot\..\common\windows\helpers.ps1"
+
+# This script will install VirtualBox
+
+$version = "5.2.4"
+$sha1 = "71df4474a5e94918728b62d1f6bc036674ef0e96"
+$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\VirtualBox-" + $version + "-119785-Win.exe"
+$url_official = "http://download.virtualbox.org/virtualbox/" + $version + "/VirtualBox-" + $version + "-119785-Win.exe"
+$virtualboxPackage = "C:\Windows\Temp\virtualbox-$version.exe"
+
+Download $url_official $url_cache $virtualboxPackage
+Verify-Checksum $virtualboxPackage $sha1
+Run-Executable $virtualboxPackage "--silent"
+
+Write-Output "Cleaning $virtualboxPackage.."
+Remove "$virtualboxPackage"
+
+Write-Output "VirtualBox = $version" >> ~\versions.txt
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/90-libusb.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-libusb.ps1
new file mode 100644
index 00000000..29a1cfa4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-libusb.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\libusb.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/90-mimersql.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-mimersql.ps1
new file mode 100644
index 00000000..576dd9d2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-mimersql.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mimersql.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/90-mysql.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-mysql.ps1
new file mode 100644
index 00000000..864a79a5
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-mysql.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\mysql.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/90-postgresql.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-postgresql.ps1
new file mode 100644
index 00000000..0e0d87be
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-postgresql.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\postgresql.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/90-python-modules.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-python-modules.ps1
new file mode 100644
index 00000000..80ab54dc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-python-modules.ps1
@@ -0,0 +1,4 @@
+. "$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-10-x86/90-squish.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-squish.ps1
index ff758845..ff758845 100644
--- a/coin/provisioning/qtci-windows-10-x86/90-squish.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-squish.ps1
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/90-vclibs_debug.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-vclibs_debug.ps1
new file mode 100644
index 00000000..49148017
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/90-vclibs_debug.ps1
@@ -0,0 +1,3 @@
+. "$PSScriptRoot\..\common\windows\vclibs_debug.ps1"
+
+Install-VCLibsDebug X64
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/91-install-azure-tool.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/91-install-azure-tool.ps1
new file mode 100644
index 00000000..f1d5acc3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/91-install-azure-tool.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-azure-tool.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/91-squish-coco.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/91-squish-coco.ps1
new file mode 100644
index 00000000..bf4f8a96
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/91-squish-coco.ps1
@@ -0,0 +1,2 @@
+ "$PSScriptRoot\..\common\windows\squish-coco.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/92-protobuf.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/92-protobuf.ps1
new file mode 100644
index 00000000..c455bce7
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/92-protobuf.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\protobuf.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/93-grpc.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/93-grpc.ps1
new file mode 100644
index 00000000..7d0b471d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/93-grpc.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\grpc.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/93-install-vcpkg.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/93-install-vcpkg.ps1
new file mode 100644
index 00000000..3c360de9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/93-install-vcpkg.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-vcpkg.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/94-install-vcpkg-ports.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/94-install-vcpkg-ports.ps1
new file mode 100644
index 00000000..1dd657bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/94-install-vcpkg-ports.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-vcpkg-ports.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/96-disable-windows-module-installer.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/96-disable-windows-module-installer.ps1
new file mode 100644
index 00000000..fb8ec541
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/96-disable-windows-module-installer.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-windows-module-installer.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/97-msvc2015.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/97-msvc2015.ps1
new file mode 100644
index 00000000..2c1735d0
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/97-msvc2015.ps1
@@ -0,0 +1,10 @@
+# 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
+
+# Visual Studios are pre-provisioned to tier1 images
+
+# MSVC 2015 Update 3
+Write-Output "Visual Studio 2015 = Version 14.0.25431.01 Update 3" >> ~\versions.txt
+
+# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with "$PSScriptRoot\..\common\windows\update-msvc2019.ps1"
+
diff --git a/coin/provisioning/qtci-windows-7-x86/99-unset-proxy.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/98-unset-proxy.ps1
index 0c25a0fb..0c25a0fb 100644
--- a/coin/provisioning/qtci-windows-7-x86/99-unset-proxy.ps1
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/98-unset-proxy.ps1
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/99-share-test-folders.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/99-share-test-folders.ps1
new file mode 100644
index 00000000..576fcfdc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/99-share-test-folders.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\share-test-folders.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/99-version.ps1 b/coin/provisioning/qtci-windows-10_21H2-x86_64/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-10_21H2-x86_64/conanfiles/qtwebkit.txt b/coin/provisioning/qtci-windows-10_21H2-x86_64/conanfiles/qtwebkit.txt
new file mode 100644
index 00000000..eaafc008
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_21H2-x86_64/conanfiles/qtwebkit.txt
@@ -0,0 +1,31 @@
+[requires]
+icu/65.1@qtproject/stable
+libxml2/2.9.10@qtproject/stable
+libxslt/1.1.34@qtproject/stable
+libjpeg-turbo/2.0.5@qtproject/stable
+
+[generators]
+cmake
+txt
+
+[options]
+icu:shared=True
+icu:data_packaging=library
+
+libxml2:shared=True
+libxml2:iconv=False
+libxml2:icu=True
+libxml2:zlib=False
+
+libxslt:shared=True
+
+libjpeg-turbo:shared=False
+
+[imports]
+bin, icudt65.dll -> ./bin
+bin, icuin65.dll -> ./bin
+bin, icuuc65.dll -> ./bin
+bin, libxml2.dll -> ./bin
+bin, libxslt.dll -> ./bin
+bin, libxml2-2.dll -> ./bin
+bin, libxslt-1.dll -> ./bin
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/00-disable-netadapterlso.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/00-disable-netadapterlso.ps1
new file mode 100644
index 00000000..d20f1402
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/00-disable-netadapterlso.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/00-install-sevenzip.ps1
index a9044256..a9044256 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/03-install-sevenzip.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/00-install-sevenzip.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86_64/01-allow-remote-desktop-access.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-allow-remote-desktop-access.ps1
index af05e838..af05e838 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/01-allow-remote-desktop-access.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-allow-remote-desktop-access.ps1
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/01-change-resolution.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-change-resolution.ps1
new file mode 100644
index 00000000..c1e73a62
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/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-10_22H2-x86_64/01-disable-notifications.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-disable-notifications.ps1
new file mode 100644
index 00000000..ada20147
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/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-10_22H2-x86_64/01-disable-runtimebroker.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-disable-runtimebroker.ps1
new file mode 100644
index 00000000..8ae8190d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/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-10_22H2-x86_64/01-disable-windows-telemetry.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-disable-windows-telemetry.ps1
new file mode 100644
index 00000000..3f5a75f4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/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-10_22H2-x86_64/01-enable-guest-logon.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-enable-guest-logon.ps1
new file mode 100644
index 00000000..3cf989d3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/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-10_22H2-x86_64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/01-mount-vcpkg-cache-drive.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-mount-vcpkg-cache-drive.ps1
new file mode 100644
index 00000000..97dbd7d6
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-mount-vcpkg-cache-drive.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mount-vcpkg-cache-drive.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/01-set-proxy.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-set-proxy.ps1
new file mode 100644
index 00000000..13b1ec60
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/01-set-proxy.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\set-proxy.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/02-disable-autoreboot.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/02-disable-autoreboot.ps1
index 73430b76..73430b76 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/02-disable-autoreboot.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/02-disable-autoreboot.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86_64/02-disable-sleep.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/02-disable-sleep.ps1
index 5bf811ef..5bf811ef 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/02-disable-sleep.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/02-disable-sleep.ps1
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
new file mode 100644
index 00000000..bd2d52c3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python-32bit.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\python.ps1" 32 "C:\Python27_32"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/25-python.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python.ps1
index e2e9be9c..e2e9be9c 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/25-python.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/02-python.ps1
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/03-nodejs.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/03-nodejs.ps1
new file mode 100644
index 00000000..6032e945
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/03-nodejs.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\nodejs.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/04-msys.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/04-msys.ps1
new file mode 100644
index 00000000..44efea92
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/04-msys.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\msys.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/05-enable-devmode.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/05-enable-devmode.ps1
new file mode 100644
index 00000000..01e6f8b0
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/05-enable-devmode.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\win10-enable-devmode.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/05-wsearch-off.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/05-wsearch-off.ps1
index eed6b734..eed6b734 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/05-wsearch-off.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/05-wsearch-off.ps1
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/06-longpath.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/06-longpath.ps1
new file mode 100644
index 00000000..6561d57b
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/06-longpath.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\longpath.ps1"
+
diff --git a/coin/provisioning/qtci-windows-7-x86_64/08-mesa_llvmpipe.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/06-mesa_llvmpipe.ps1
index 1b1a07e9..1b1a07e9 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/08-mesa_llvmpipe.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/06-mesa_llvmpipe.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86_64/08-ninja.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/06-ninja.ps1
index ba571a1e..ba571a1e 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/08-ninja.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/06-ninja.ps1
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-git.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-git.ps1
new file mode 100644
index 00000000..38106de7
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-git.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-git.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/08-install-jdk.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-jdk.ps1
index 15065b55..15065b55 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/08-install-jdk.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-jdk.ps1
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-jq.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-jq.ps1
new file mode 100644
index 00000000..18fa568a
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-install-jq.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-jq.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/08-libclang-v100-dyn.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-libclang-v100-dyn.ps1
new file mode 100644
index 00000000..82b91257
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-libclang-v100-dyn.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 64 vs2019
+. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 32 vs2019
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/08-libclang.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-libclang.ps1
new file mode 100644
index 00000000..7681f01a
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-libclang.ps1
@@ -0,0 +1,3 @@
+# Do not set the default LLVM_INSTALL_DIR for mingw, leave it with msvc for compat
+. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 mingw $False
+. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 vs2019
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/08-python3.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-python3.ps1
new file mode 100644
index 00000000..78598946
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/08-python3.ps1
@@ -0,0 +1,11 @@
+# Parameters:
+# - Arch 32/64
+# - installer sha1
+# - install target dir
+# - version
+# - Optional true/false if set as default with PYTHON3/PIP3_PATH variables, default false
+
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "3ee4e92a8ef94c70fb56859503fdc805d217d689" "C:\Python310_64" "3.10.0"
+# default ones
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "a8ac14ee5486547caf84abdf151be22d9d069c0a" "C:\Python38_64" "3.8.1" $true
+. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "14ff2c2e5538b03a012cb4c9d519d970444ebd42" "C:\Python38_32" "3.8.1" $true
diff --git a/coin/provisioning/qtci-windows-7-x86_64/09-install-dependencywalker.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-dependencywalker.ps1
index 331de489..331de489 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/09-install-dependencywalker.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-dependencywalker.ps1
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-mingw1310_64.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-mingw1310_64.ps1
new file mode 100644
index 00000000..ef8e0a50
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-mingw1310_64.ps1
@@ -0,0 +1,11 @@
+. "$PSScriptRoot\..\common\windows\install-mingw.ps1"
+
+# This script will install 64-bit MinGW 13.1.0
+# Note! MinGW version is 9.0.0 but the GCC version is 13.1 which is used with the naming of MinGW
+
+$release = "MinGW-w64-x86_64-13.1.0-release-posix-seh-msvcrt-rt_v11-rev1"
+
+$sha1 = "561db0989c1b2cb73e0ceb27aed3b0ee8cb1db48"
+
+InstallMinGW $release $sha1
+
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-openssh.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-openssh.ps1
new file mode 100644
index 00000000..9de844da
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-openssh.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-openssh.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/09-install-ruby.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-ruby.ps1
index 875b426f..875b426f 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/09-install-ruby.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-ruby.ps1
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-sed.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-sed.ps1
new file mode 100644
index 00000000..b3c8fded
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-sed.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sed.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/09-install-strawberry-perl.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-strawberry-perl.ps1
index 2b5756be..2b5756be 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/09-install-strawberry-perl.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-install-strawberry-perl.ps1
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/09-openssl-arm64.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-openssl-arm64.ps1
new file mode 100644
index 00000000..c1bbf271
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-openssl-arm64.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\openssl-arm64.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/09-openssl.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-openssl.ps1
index d57ad1cd..d57ad1cd 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/09-openssl.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-openssl.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86_64/09-set-network-test-server.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-set-network-test-server.ps1
index 7918fabf..7918fabf 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/09-set-network-test-server.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-set-network-test-server.ps1
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/09-vulkansdk.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-vulkansdk.ps1
new file mode 100644
index 00000000..54a3d563
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/09-vulkansdk.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\vulkansdk.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/10-dxsdk.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/10-dxsdk.ps1
index 155df6b8..155df6b8 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/10-dxsdk.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/10-dxsdk.ps1
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/10-install-msys2.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/10-install-msys2.ps1
new file mode 100644
index 00000000..be9a3634
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/10-install-msys2.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-msys2.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/11-conan.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/11-conan.ps1
new file mode 100644
index 00000000..6215f9e4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/11-conan.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\conan.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/20-install-sccache.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/20-install-sccache.ps1
new file mode 100644
index 00000000..0794bff3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/20-install-sccache.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sccache.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/22-mqtt_broker.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/22-mqtt_broker.ps1
new file mode 100644
index 00000000..71deb0d4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/22-mqtt_broker.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mqtt_broker.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/23-winrtrunner.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/23-winrtrunner.ps1
new file mode 100644
index 00000000..078f862e
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/23-winrtrunner.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\winrtrunner.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/25-llvm-mingw.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/25-llvm-mingw.ps1
new file mode 100644
index 00000000..3b84e504
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/25-llvm-mingw.ps1
@@ -0,0 +1,20 @@
+# 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
+
+. "$PSScriptRoot\..\common\windows\helpers.ps1"
+
+# This script installs LLVM-Mingw by mstorsjo
+# https://github.com/mstorsjo/llvm-mingw/releases/tag/20220323
+
+$zip = Get-DownloadLocation "llvm-mingw-20231017-ucrt-x86_64.zip"
+$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/llvm-mingw-20231017-ucrt-x86_64.zip"
+$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20231017/llvm-mingw-20231017-ucrt-x86_64.zip"
+
+Download $url_official $url_cache $zip
+Verify-Checksum $zip "1a39032b5add2f06fe0dfa56d0279b313b974da3"
+Extract-7Zip $zip C:\
+
+Rename-Item C:\llvm-mingw-20231017-ucrt-x86_64 C:\llvm-mingw
+
+Write-Output "llvm-mingw = 17.0.3" >> ~/versions.txt
+Remove-Item -Path $zip
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/29-libusb.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/29-libusb.ps1
new file mode 100644
index 00000000..6035912d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/29-libusb.ps1
@@ -0,0 +1,3 @@
+
+
+. "$PSScriptRoot\..\common\windows\libusb.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/30-fbx.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/30-fbx.ps1
new file mode 100644
index 00000000..468b0433
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/30-fbx.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\fbx_windows.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/35-install-breakpad.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/35-install-breakpad.ps1
index 9360a326..9360a326 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/35-install-breakpad.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/35-install-breakpad.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86_64/36-install-gnuwin32.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/36-install-gnuwin32.ps1
index 0e2abbac..0e2abbac 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/36-install-gnuwin32.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/36-install-gnuwin32.ps1
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/40-android.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/40-android.ps1
new file mode 100644
index 00000000..69799974
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/40-android.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\android.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/40-qnx710.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/40-qnx710.ps1
new file mode 100644
index 00000000..826cc5b2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/40-qnx710.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\qnx710.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/50-openssl_for_android.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/50-openssl_for_android.ps1
new file mode 100644
index 00000000..25c6f28a
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/50-openssl_for_android.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\android-openssl.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/09-jom.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/60-jom.ps1
index b246ce25..b246ce25 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/09-jom.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/60-jom.ps1
diff --git a/coin/provisioning/qtci-windows-7-x86_64/09-cmake.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/70-cmake.ps1
index 73dc7bc2..73dc7bc2 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/09-cmake.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/70-cmake.ps1
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/79-opcua_unifiedautomation.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/79-opcua_unifiedautomation.ps1
new file mode 100644
index 00000000..e7f14459
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/79-opcua_unifiedautomation.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\opcua_unifiedautomation.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/80-emsdk.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/80-emsdk.ps1
new file mode 100644
index 00000000..b72470a2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/80-emsdk.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\emsdk.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/85-disable_quickedit_powershell.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/85-disable_quickedit_powershell.ps1
new file mode 100644
index 00000000..547e15a8
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/85-disable_quickedit_powershell.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-quickedit.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-3dstudio_3rdparty.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-3dstudio_3rdparty.ps1
new file mode 100644
index 00000000..114f52f9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-3dstudio_3rdparty.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\3dstudio_3rdparty.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/90-exceutequeueditems.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-exceutequeueditems.ps1
index 52306fb9..52306fb9 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/90-exceutequeueditems.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-exceutequeueditems.ps1
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-dotnet.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-dotnet.ps1
new file mode 100644
index 00000000..a2ecfba2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-dotnet.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-dotnet.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-ffmpeg.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-ffmpeg.ps1
new file mode 100644
index 00000000..e16f634c
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-ffmpeg.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-ffmpeg.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-mcuxpresso.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-mcuxpresso.ps1
new file mode 100644
index 00000000..22d19322
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-mcuxpresso.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-mcuxpresso.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/02-install-notepad++.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-notepad++.ps1
index 455d92bf..455d92bf 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/02-install-notepad++.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-notepad++.ps1
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-stm32cubeprogrammer.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-stm32cubeprogrammer.ps1
new file mode 100644
index 00000000..25c2bb42
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-stm32cubeprogrammer.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-stm32cubeprogrammer.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-virtualbox.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-virtualbox.ps1
new file mode 100644
index 00000000..bf14fd23
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-install-virtualbox.ps1
@@ -0,0 +1,21 @@
+# 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
+
+. "$PSScriptRoot\..\common\windows\helpers.ps1"
+
+# This script will install VirtualBox
+
+$version = "5.2.4"
+$sha1 = "71df4474a5e94918728b62d1f6bc036674ef0e96"
+$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\VirtualBox-" + $version + "-119785-Win.exe"
+$url_official = "http://download.virtualbox.org/virtualbox/" + $version + "/VirtualBox-" + $version + "-119785-Win.exe"
+$virtualboxPackage = "C:\Windows\Temp\virtualbox-$version.exe"
+
+Download $url_official $url_cache $virtualboxPackage
+Verify-Checksum $virtualboxPackage $sha1
+Run-Executable $virtualboxPackage "--silent"
+
+Write-Output "Cleaning $virtualboxPackage.."
+Remove "$virtualboxPackage"
+
+Write-Output "VirtualBox = $version" >> ~\versions.txt
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-libusb.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-libusb.ps1
new file mode 100644
index 00000000..29a1cfa4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-libusb.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\libusb.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-mimersql.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-mimersql.ps1
new file mode 100644
index 00000000..576dd9d2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-mimersql.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mimersql.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-mysql.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-mysql.ps1
new file mode 100644
index 00000000..864a79a5
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-mysql.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\mysql.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-postgresql.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-postgresql.ps1
new file mode 100644
index 00000000..0e0d87be
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-postgresql.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\postgresql.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-python-modules.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-python-modules.ps1
new file mode 100644
index 00000000..80ab54dc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-python-modules.ps1
@@ -0,0 +1,4 @@
+. "$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-7-x86/90-squish.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-squish.ps1
index ff758845..ff758845 100644
--- a/coin/provisioning/qtci-windows-7-x86/90-squish.ps1
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-squish.ps1
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/90-vclibs_debug.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-vclibs_debug.ps1
new file mode 100644
index 00000000..49148017
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/90-vclibs_debug.ps1
@@ -0,0 +1,3 @@
+. "$PSScriptRoot\..\common\windows\vclibs_debug.ps1"
+
+Install-VCLibsDebug X64
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/91-install-azure-tool.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/91-install-azure-tool.ps1
new file mode 100644
index 00000000..f1d5acc3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/91-install-azure-tool.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-azure-tool.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/91-squish-coco.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/91-squish-coco.ps1
new file mode 100644
index 00000000..bf4f8a96
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/91-squish-coco.ps1
@@ -0,0 +1,2 @@
+ "$PSScriptRoot\..\common\windows\squish-coco.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/92-protobuf.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/92-protobuf.ps1
new file mode 100644
index 00000000..c455bce7
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/92-protobuf.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\protobuf.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/93-grpc.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/93-grpc.ps1
new file mode 100644
index 00000000..7d0b471d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/93-grpc.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\grpc.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/93-install-vcpkg.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/93-install-vcpkg.ps1
new file mode 100644
index 00000000..3c360de9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/93-install-vcpkg.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-vcpkg.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/94-install-vcpkg-ports.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/94-install-vcpkg-ports.ps1
new file mode 100644
index 00000000..9d5a693e
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/94-install-vcpkg-ports.ps1
@@ -0,0 +1,3 @@
+. "$PSScriptRoot\..\common\windows\install-vcpkg-ports.ps1"
+
+. "$PSScriptRoot\..\common\windows\install-vcpkg-ports-android.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/96-disable-windows-module-installer.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/96-disable-windows-module-installer.ps1
new file mode 100644
index 00000000..fb8ec541
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/96-disable-windows-module-installer.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-windows-module-installer.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/97-msvc2015.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/97-msvc2015.ps1
new file mode 100644
index 00000000..2c1735d0
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/97-msvc2015.ps1
@@ -0,0 +1,10 @@
+# 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
+
+# Visual Studios are pre-provisioned to tier1 images
+
+# MSVC 2015 Update 3
+Write-Output "Visual Studio 2015 = Version 14.0.25431.01 Update 3" >> ~\versions.txt
+
+# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with "$PSScriptRoot\..\common\windows\update-msvc2019.ps1"
+
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/98-unset-proxy.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/98-unset-proxy.ps1
new file mode 100644
index 00000000..0c25a0fb
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/98-unset-proxy.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\unset-proxy.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/99-share-test-folders.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/99-share-test-folders.ps1
new file mode 100644
index 00000000..576fcfdc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/99-share-test-folders.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\share-test-folders.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/99-version.ps1 b/coin/provisioning/qtci-windows-10_22H2-x86_64/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-10_22H2-x86_64/conanfiles/qtwebkit.txt b/coin/provisioning/qtci-windows-10_22H2-x86_64/conanfiles/qtwebkit.txt
new file mode 100644
index 00000000..eaafc008
--- /dev/null
+++ b/coin/provisioning/qtci-windows-10_22H2-x86_64/conanfiles/qtwebkit.txt
@@ -0,0 +1,31 @@
+[requires]
+icu/65.1@qtproject/stable
+libxml2/2.9.10@qtproject/stable
+libxslt/1.1.34@qtproject/stable
+libjpeg-turbo/2.0.5@qtproject/stable
+
+[generators]
+cmake
+txt
+
+[options]
+icu:shared=True
+icu:data_packaging=library
+
+libxml2:shared=True
+libxml2:iconv=False
+libxml2:icu=True
+libxml2:zlib=False
+
+libxslt:shared=True
+
+libjpeg-turbo:shared=False
+
+[imports]
+bin, icudt65.dll -> ./bin
+bin, icuin65.dll -> ./bin
+bin, icuuc65.dll -> ./bin
+bin, libxml2.dll -> ./bin
+bin, libxslt.dll -> ./bin
+bin, libxml2-2.dll -> ./bin
+bin, libxslt-1.dll -> ./bin
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/00-disable-netadapterlso.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/00-disable-netadapterlso.ps1
new file mode 100644
index 00000000..d20f1402
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/00-disable-netadapterlso.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/00-install-sevenzip.ps1
index a9044256..a9044256 100644
--- a/coin/provisioning/qtci-windows-8.1-x86/03-install-sevenzip.ps1
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/00-install-sevenzip.ps1
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/01-allow-remote-desktop-access.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/01-allow-remote-desktop-access.ps1
new file mode 100644
index 00000000..af05e838
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/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_21H2-x86_64/01-change-resolution.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/01-change-resolution.ps1
new file mode 100644
index 00000000..c1e73a62
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/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_21H2-x86_64/01-disable-notifications.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/01-disable-notifications.ps1
new file mode 100644
index 00000000..ada20147
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/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_21H2-x86_64/01-disable-runtimebroker.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/01-disable-runtimebroker.ps1
new file mode 100644
index 00000000..8ae8190d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/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_21H2-x86_64/01-disable-windows-telemetry.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/01-disable-windows-telemetry.ps1
new file mode 100644
index 00000000..3f5a75f4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/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_21H2-x86_64/01-enable-guest-logon.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/01-enable-guest-logon.ps1
new file mode 100644
index 00000000..3cf989d3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/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_21H2-x86_64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/01-mount-vcpkg-cache-drive.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/01-mount-vcpkg-cache-drive.ps1
new file mode 100644
index 00000000..97dbd7d6
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/01-mount-vcpkg-cache-drive.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mount-vcpkg-cache-drive.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/01-set-proxy.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/01-set-proxy.ps1
new file mode 100644
index 00000000..13b1ec60
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/01-set-proxy.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\set-proxy.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/02-disable-autoreboot.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/02-disable-autoreboot.ps1
new file mode 100644
index 00000000..73430b76
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/02-disable-autoreboot.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-autoreboot.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/02-disable-sleep.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/02-disable-sleep.ps1
new file mode 100644
index 00000000..5bf811ef
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/02-disable-sleep.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-sleep.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python-32bit.ps1
new file mode 100644
index 00000000..bd2d52c3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python-32bit.ps1
@@ -0,0 +1 @@
+. "$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
new file mode 100644
index 00000000..e2e9be9c
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/02-python.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\python.ps1" 64
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/03-nodejs.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/03-nodejs.ps1
new file mode 100644
index 00000000..6032e945
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/03-nodejs.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\nodejs.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/04-msys.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/04-msys.ps1
new file mode 100644
index 00000000..44efea92
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/04-msys.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\msys.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/05-enable-devmode.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/05-enable-devmode.ps1
new file mode 100644
index 00000000..01e6f8b0
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/05-enable-devmode.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\win10-enable-devmode.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/05-wsearch-off.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/05-wsearch-off.ps1
new file mode 100644
index 00000000..eed6b734
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/05-wsearch-off.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\wsearch-off.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/06-longpath.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/06-longpath.ps1
new file mode 100644
index 00000000..6561d57b
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/06-longpath.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\longpath.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/06-mesa_llvmpipe.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/06-mesa_llvmpipe.ps1
new file mode 100644
index 00000000..1b1a07e9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/06-mesa_llvmpipe.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mesa_llvmpipe.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/06-ninja.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/06-ninja.ps1
new file mode 100644
index 00000000..ba571a1e
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/06-ninja.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\ninja.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-git.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-git.ps1
new file mode 100644
index 00000000..38106de7
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-git.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-git.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-jdk.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-jdk.ps1
new file mode 100644
index 00000000..15065b55
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-jdk.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-jdk.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-jq.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-jq.ps1
new file mode 100644
index 00000000..18fa568a
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/08-install-jq.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-jq.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/08-libclang-v100-dyn.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/08-libclang-v100-dyn.ps1
new file mode 100644
index 00000000..82b91257
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/08-libclang-v100-dyn.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 64 vs2019
+. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 32 vs2019
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/08-libclang.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/08-libclang.ps1
new file mode 100644
index 00000000..7681f01a
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/08-libclang.ps1
@@ -0,0 +1,3 @@
+# Do not set the default LLVM_INSTALL_DIR for mingw, leave it with msvc for compat
+. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 mingw $False
+. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 vs2019
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/08-python3.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/08-python3.ps1
new file mode 100644
index 00000000..7d52476a
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/08-python3.ps1
@@ -0,0 +1,12 @@
+# Parameters:
+# - Arch 32/64
+# - installer sha1
+# - install target dir
+# - version
+# - Optional true/false if set as default with PYTHON3/PIP3_PATH variables, default false
+
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "f8d42a421db25a01b53f0c135a9a74ddae042643" "C:\Python37_64" "3.7.9"
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "3ee4e92a8ef94c70fb56859503fdc805d217d689" "C:\Python310_64" "3.10.0"
+# default ones
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "a8ac14ee5486547caf84abdf151be22d9d069c0a" "C:\Python38_64" "3.8.1" $true
+. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "14ff2c2e5538b03a012cb4c9d519d970444ebd42" "C:\Python38_32" "3.8.1" $true
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-dependencywalker.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-dependencywalker.ps1
new file mode 100644
index 00000000..331de489
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-dependencywalker.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-dependencywalker.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-mingw1120_64.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-mingw1120_64.ps1
new file mode 100644
index 00000000..e23cec73
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-mingw1120_64.ps1
@@ -0,0 +1,11 @@
+. "$PSScriptRoot\..\common\windows\install-mingw.ps1"
+
+# This script will install 64-bit MinGW 11.2.0
+# Note! MinGW version is 9.0.0 but the GCC version is 11.2 which is used with the naming of MinGW
+
+$release = "MinGW-w64-x86_64-11.2.0-release-posix-seh-rt_v9-rev3"
+
+$sha1 = "50174112ceca6f9fe42debbedda54ce6e9187302"
+
+InstallMinGW $release $sha1
+
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-ruby.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-ruby.ps1
new file mode 100644
index 00000000..875b426f
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-ruby.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-ruby.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-sed.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-sed.ps1
new file mode 100644
index 00000000..b3c8fded
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-sed.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sed.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-strawberry-perl.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-strawberry-perl.ps1
new file mode 100644
index 00000000..2b5756be
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-install-strawberry-perl.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-strawberry-perl.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/09-openssl-arm64.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-openssl-arm64.ps1
new file mode 100644
index 00000000..c1bbf271
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-openssl-arm64.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\openssl-arm64.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/09-openssl.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-openssl.ps1
new file mode 100644
index 00000000..d57ad1cd
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-openssl.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\openssl.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/09-set-network-test-server.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-set-network-test-server.ps1
new file mode 100644
index 00000000..7918fabf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/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_21H2-x86_64/09-vulkansdk.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-vulkansdk.ps1
new file mode 100644
index 00000000..54a3d563
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/09-vulkansdk.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\vulkansdk.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/10-dxsdk.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/10-dxsdk.ps1
new file mode 100644
index 00000000..155df6b8
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/10-dxsdk.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\dxsdk.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/10-install-msys2.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/10-install-msys2.ps1
new file mode 100644
index 00000000..be9a3634
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/10-install-msys2.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-msys2.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/11-conan.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/11-conan.ps1
new file mode 100644
index 00000000..6215f9e4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/11-conan.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\conan.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/20-install-sccache.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/20-install-sccache.ps1
new file mode 100644
index 00000000..0794bff3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/20-install-sccache.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sccache.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/22-mqtt_broker.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/22-mqtt_broker.ps1
new file mode 100644
index 00000000..71deb0d4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/22-mqtt_broker.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mqtt_broker.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/23-winrtrunner.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/23-winrtrunner.ps1
new file mode 100644
index 00000000..078f862e
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/23-winrtrunner.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\winrtrunner.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/25-llvm-mingw.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/25-llvm-mingw.ps1
new file mode 100644
index 00000000..8912f952
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/25-llvm-mingw.ps1
@@ -0,0 +1,20 @@
+# 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
+
+. "$PSScriptRoot\..\common\windows\helpers.ps1"
+
+# This script installs LLVM-Mingw by mstorsjo
+# https://github.com/mstorsjo/llvm-mingw/releases/tag/20220906
+
+$zip = Get-DownloadLocation "llvm-mingw-20220906-ucrt-x86_64.zip"
+$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/llvm-mingw-20220906-ucrt-x86_64.zip"
+$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20220906/llvm-mingw-20220906-ucrt-x86_64.zip"
+
+Download $url_official $url_cache $zip
+Verify-Checksum $zip "51ff525eefa4f5db905cc7b4c8b56079c3baed65"
+Extract-7Zip $zip C:\
+
+Rename-Item C:\llvm-mingw-20220906-ucrt-x86_64 C:\llvm-mingw
+
+Write-Output "llvm-mingw = 15.0.0" >> ~/versions.txt
+Remove-Item -Path $zip
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/29-libusb.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/29-libusb.ps1
new file mode 100644
index 00000000..6035912d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/29-libusb.ps1
@@ -0,0 +1,3 @@
+
+
+. "$PSScriptRoot\..\common\windows\libusb.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/30-fbx.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/30-fbx.ps1
new file mode 100644
index 00000000..468b0433
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/30-fbx.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\fbx_windows.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/35-install-breakpad.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/35-install-breakpad.ps1
new file mode 100644
index 00000000..9360a326
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/35-install-breakpad.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-breakpad.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/36-install-gnuwin32.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/36-install-gnuwin32.ps1
new file mode 100644
index 00000000..0e2abbac
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/36-install-gnuwin32.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-gnuwin32.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/40-android.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/40-android.ps1
new file mode 100644
index 00000000..69799974
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/40-android.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\android.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/50-openssl_for_android.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/50-openssl_for_android.ps1
new file mode 100644
index 00000000..25c6f28a
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/50-openssl_for_android.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\android-openssl.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/60-jom.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/60-jom.ps1
new file mode 100644
index 00000000..b246ce25
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/60-jom.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\jom.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/70-cmake.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/70-cmake.ps1
new file mode 100644
index 00000000..73dc7bc2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/70-cmake.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\cmake.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/79-opcua_unifiedautomation.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/79-opcua_unifiedautomation.ps1
new file mode 100644
index 00000000..e7f14459
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/79-opcua_unifiedautomation.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\opcua_unifiedautomation.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/80-emsdk.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/80-emsdk.ps1
new file mode 100644
index 00000000..b72470a2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/80-emsdk.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\emsdk.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/85-disable_quickedit_powershell.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/85-disable_quickedit_powershell.ps1
new file mode 100644
index 00000000..547e15a8
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/85-disable_quickedit_powershell.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-quickedit.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-3dstudio_3rdparty.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-3dstudio_3rdparty.ps1
new file mode 100644
index 00000000..114f52f9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-3dstudio_3rdparty.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\3dstudio_3rdparty.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-exceutequeueditems.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-exceutequeueditems.ps1
new file mode 100644
index 00000000..52306fb9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-exceutequeueditems.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\exceutequeueditems.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-dotnet.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-dotnet.ps1
new file mode 100644
index 00000000..a2ecfba2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-dotnet.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-dotnet.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-ffmpeg.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-ffmpeg.ps1
new file mode 100644
index 00000000..e16f634c
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-ffmpeg.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-ffmpeg.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-mcuxpresso.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-mcuxpresso.ps1
new file mode 100644
index 00000000..22d19322
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-mcuxpresso.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-mcuxpresso.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-notepad++.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-notepad++.ps1
new file mode 100644
index 00000000..455d92bf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-notepad++.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-notepad++.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-stm32cubeprogrammer.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-stm32cubeprogrammer.ps1
new file mode 100644
index 00000000..25c2bb42
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-stm32cubeprogrammer.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-stm32cubeprogrammer.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-virtualbox.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-virtualbox.ps1
new file mode 100644
index 00000000..bf14fd23
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-install-virtualbox.ps1
@@ -0,0 +1,21 @@
+# 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
+
+. "$PSScriptRoot\..\common\windows\helpers.ps1"
+
+# This script will install VirtualBox
+
+$version = "5.2.4"
+$sha1 = "71df4474a5e94918728b62d1f6bc036674ef0e96"
+$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\VirtualBox-" + $version + "-119785-Win.exe"
+$url_official = "http://download.virtualbox.org/virtualbox/" + $version + "/VirtualBox-" + $version + "-119785-Win.exe"
+$virtualboxPackage = "C:\Windows\Temp\virtualbox-$version.exe"
+
+Download $url_official $url_cache $virtualboxPackage
+Verify-Checksum $virtualboxPackage $sha1
+Run-Executable $virtualboxPackage "--silent"
+
+Write-Output "Cleaning $virtualboxPackage.."
+Remove "$virtualboxPackage"
+
+Write-Output "VirtualBox = $version" >> ~\versions.txt
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-libusb.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-libusb.ps1
new file mode 100644
index 00000000..29a1cfa4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-libusb.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\libusb.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-mimersql.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-mimersql.ps1
new file mode 100644
index 00000000..576dd9d2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-mimersql.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mimersql.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-mysql.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-mysql.ps1
new file mode 100644
index 00000000..864a79a5
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-mysql.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\mysql.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-postgresql.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-postgresql.ps1
new file mode 100644
index 00000000..0e0d87be
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-postgresql.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\postgresql.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-python-modules.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-python-modules.ps1
new file mode 100644
index 00000000..80ab54dc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-python-modules.ps1
@@ -0,0 +1,4 @@
+. "$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-7-x86_64/27-squish.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-squish.ps1
index ff758845..ff758845 100644
--- a/coin/provisioning/qtci-windows-7-x86_64/27-squish.ps1
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-squish.ps1
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/90-vclibs_debug.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-vclibs_debug.ps1
new file mode 100644
index 00000000..49148017
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/90-vclibs_debug.ps1
@@ -0,0 +1,3 @@
+. "$PSScriptRoot\..\common\windows\vclibs_debug.ps1"
+
+Install-VCLibsDebug X64
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/91-install-azure-tool.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/91-install-azure-tool.ps1
new file mode 100644
index 00000000..f1d5acc3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/91-install-azure-tool.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-azure-tool.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/91-squish-coco.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/91-squish-coco.ps1
new file mode 100644
index 00000000..bf4f8a96
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/91-squish-coco.ps1
@@ -0,0 +1,2 @@
+ "$PSScriptRoot\..\common\windows\squish-coco.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/92-protobuf.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/92-protobuf.ps1
new file mode 100644
index 00000000..c455bce7
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/92-protobuf.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\protobuf.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/93-grpc.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/93-grpc.ps1
new file mode 100644
index 00000000..7d0b471d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/93-grpc.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\grpc.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/93-install-vcpkg.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/93-install-vcpkg.ps1
new file mode 100644
index 00000000..3c360de9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/93-install-vcpkg.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-vcpkg.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/94-install-vcpkg-ports.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/94-install-vcpkg-ports.ps1
new file mode 100644
index 00000000..1dd657bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/94-install-vcpkg-ports.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-vcpkg-ports.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/96-disable-windows-module-installer.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/96-disable-windows-module-installer.ps1
new file mode 100644
index 00000000..fb8ec541
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/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_21H2-x86_64/97-msvc2015.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/97-msvc2015.ps1
new file mode 100644
index 00000000..2c1735d0
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/97-msvc2015.ps1
@@ -0,0 +1,10 @@
+# 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
+
+# Visual Studios are pre-provisioned to tier1 images
+
+# MSVC 2015 Update 3
+Write-Output "Visual Studio 2015 = Version 14.0.25431.01 Update 3" >> ~\versions.txt
+
+# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with "$PSScriptRoot\..\common\windows\update-msvc2019.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/98-unset-proxy.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/98-unset-proxy.ps1
new file mode 100644
index 00000000..0c25a0fb
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/98-unset-proxy.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\unset-proxy.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/99-share-test-folders.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/99-share-test-folders.ps1
new file mode 100644
index 00000000..576fcfdc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/99-share-test-folders.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\share-test-folders.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/99-version.ps1 b/coin/provisioning/qtci-windows-11_21H2-x86_64/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-11_21H2-x86_64/conanfiles/qtwebkit.txt b/coin/provisioning/qtci-windows-11_21H2-x86_64/conanfiles/qtwebkit.txt
new file mode 100644
index 00000000..eaafc008
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_21H2-x86_64/conanfiles/qtwebkit.txt
@@ -0,0 +1,31 @@
+[requires]
+icu/65.1@qtproject/stable
+libxml2/2.9.10@qtproject/stable
+libxslt/1.1.34@qtproject/stable
+libjpeg-turbo/2.0.5@qtproject/stable
+
+[generators]
+cmake
+txt
+
+[options]
+icu:shared=True
+icu:data_packaging=library
+
+libxml2:shared=True
+libxml2:iconv=False
+libxml2:icu=True
+libxml2:zlib=False
+
+libxslt:shared=True
+
+libjpeg-turbo:shared=False
+
+[imports]
+bin, icudt65.dll -> ./bin
+bin, icuin65.dll -> ./bin
+bin, icuuc65.dll -> ./bin
+bin, libxml2.dll -> ./bin
+bin, libxslt.dll -> ./bin
+bin, libxml2-2.dll -> ./bin
+bin, libxslt-1.dll -> ./bin
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/00-disable-netadapterlso.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/00-disable-netadapterlso.ps1
new file mode 100644
index 00000000..d20f1402
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/00-disable-netadapterlso.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/03-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/00-install-sevenzip.ps1
index a9044256..a9044256 100644
--- a/coin/provisioning/qtci-windows-8.1-x86_64/03-install-sevenzip.ps1
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/00-install-sevenzip.ps1
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/01-allow-remote-desktop-access.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-allow-remote-desktop-access.ps1
new file mode 100644
index 00000000..af05e838
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/01-change-resolution.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-change-resolution.ps1
new file mode 100644
index 00000000..c1e73a62
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/01-disable-notifications.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-disable-notifications.ps1
new file mode 100644
index 00000000..ada20147
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/01-disable-runtimebroker.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-disable-runtimebroker.ps1
new file mode 100644
index 00000000..8ae8190d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/01-disable-windows-telemetry.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-disable-windows-telemetry.ps1
new file mode 100644
index 00000000..3f5a75f4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/01-enable-guest-logon.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-enable-guest-logon.ps1
new file mode 100644
index 00000000..3cf989d3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/01-mount-vcpkg-cache-drive.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-mount-vcpkg-cache-drive.ps1
new file mode 100644
index 00000000..97dbd7d6
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-mount-vcpkg-cache-drive.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mount-vcpkg-cache-drive.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/01-set-proxy.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-set-proxy.ps1
new file mode 100644
index 00000000..13b1ec60
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/01-set-proxy.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\set-proxy.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/02-disable-autoreboot.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/02-disable-autoreboot.ps1
new file mode 100644
index 00000000..73430b76
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/02-disable-autoreboot.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-autoreboot.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/02-disable-sleep.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/02-disable-sleep.ps1
new file mode 100644
index 00000000..5bf811ef
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/02-disable-sleep.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-sleep.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
new file mode 100644
index 00000000..bd2d52c3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/02-python-32bit.ps1
@@ -0,0 +1 @@
+. "$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
new file mode 100644
index 00000000..e2e9be9c
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/02-python.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\python.ps1" 64
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/03-nodejs.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/03-nodejs.ps1
new file mode 100644
index 00000000..6032e945
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/03-nodejs.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\nodejs.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/04-msys.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/04-msys.ps1
new file mode 100644
index 00000000..44efea92
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/04-msys.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\msys.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/05-enable-devmode.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/05-enable-devmode.ps1
new file mode 100644
index 00000000..01e6f8b0
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/05-enable-devmode.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\win10-enable-devmode.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/05-wsearch-off.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/05-wsearch-off.ps1
new file mode 100644
index 00000000..eed6b734
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/05-wsearch-off.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\wsearch-off.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/06-longpath.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/06-longpath.ps1
new file mode 100644
index 00000000..6561d57b
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/06-longpath.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\longpath.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/06-mesa_llvmpipe.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/06-mesa_llvmpipe.ps1
new file mode 100644
index 00000000..1b1a07e9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/06-mesa_llvmpipe.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mesa_llvmpipe.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/06-ninja.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/06-ninja.ps1
new file mode 100644
index 00000000..ba571a1e
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/06-ninja.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\ninja.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-git.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-git.ps1
new file mode 100644
index 00000000..38106de7
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-git.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-git.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-jdk.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-jdk.ps1
new file mode 100644
index 00000000..15065b55
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-jdk.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-jdk.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-jq.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-jq.ps1
new file mode 100644
index 00000000..18fa568a
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-install-jq.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-jq.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/08-libclang-v100-dyn.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-libclang-v100-dyn.ps1
new file mode 100644
index 00000000..82b91257
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-libclang-v100-dyn.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 64 vs2019
+. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 32 vs2019
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/08-libclang.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-libclang.ps1
new file mode 100644
index 00000000..7681f01a
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-libclang.ps1
@@ -0,0 +1,3 @@
+# Do not set the default LLVM_INSTALL_DIR for mingw, leave it with msvc for compat
+. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 mingw $False
+. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 vs2019
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/08-python3.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-python3.ps1
new file mode 100644
index 00000000..7d52476a
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/08-python3.ps1
@@ -0,0 +1,12 @@
+# Parameters:
+# - Arch 32/64
+# - installer sha1
+# - install target dir
+# - version
+# - Optional true/false if set as default with PYTHON3/PIP3_PATH variables, default false
+
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "f8d42a421db25a01b53f0c135a9a74ddae042643" "C:\Python37_64" "3.7.9"
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "3ee4e92a8ef94c70fb56859503fdc805d217d689" "C:\Python310_64" "3.10.0"
+# default ones
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "a8ac14ee5486547caf84abdf151be22d9d069c0a" "C:\Python38_64" "3.8.1" $true
+. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "14ff2c2e5538b03a012cb4c9d519d970444ebd42" "C:\Python38_32" "3.8.1" $true
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-dependencywalker.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-dependencywalker.ps1
new file mode 100644
index 00000000..331de489
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-dependencywalker.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-dependencywalker.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-mingw1310_64.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-mingw1310_64.ps1
new file mode 100644
index 00000000..ef8e0a50
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-mingw1310_64.ps1
@@ -0,0 +1,11 @@
+. "$PSScriptRoot\..\common\windows\install-mingw.ps1"
+
+# This script will install 64-bit MinGW 13.1.0
+# Note! MinGW version is 9.0.0 but the GCC version is 13.1 which is used with the naming of MinGW
+
+$release = "MinGW-w64-x86_64-13.1.0-release-posix-seh-msvcrt-rt_v11-rev1"
+
+$sha1 = "561db0989c1b2cb73e0ceb27aed3b0ee8cb1db48"
+
+InstallMinGW $release $sha1
+
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-openssh.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-openssh.ps1
new file mode 100644
index 00000000..9de844da
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-openssh.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-openssh.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-ruby.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-ruby.ps1
new file mode 100644
index 00000000..875b426f
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-ruby.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-ruby.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-sed.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-sed.ps1
new file mode 100644
index 00000000..b3c8fded
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-sed.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sed.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-strawberry-perl.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-strawberry-perl.ps1
new file mode 100644
index 00000000..2b5756be
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-install-strawberry-perl.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-strawberry-perl.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/09-openssl-arm64.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-openssl-arm64.ps1
new file mode 100644
index 00000000..c1bbf271
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-openssl-arm64.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\openssl-arm64.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/09-openssl.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-openssl.ps1
new file mode 100644
index 00000000..d57ad1cd
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-openssl.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\openssl.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/09-set-network-test-server.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-set-network-test-server.ps1
new file mode 100644
index 00000000..7918fabf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/09-vulkansdk.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-vulkansdk.ps1
new file mode 100644
index 00000000..54a3d563
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/09-vulkansdk.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\vulkansdk.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/10-dxsdk.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/10-dxsdk.ps1
new file mode 100644
index 00000000..155df6b8
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/10-dxsdk.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\dxsdk.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/10-install-msys2.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/10-install-msys2.ps1
new file mode 100644
index 00000000..be9a3634
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/10-install-msys2.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-msys2.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/11-conan.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/11-conan.ps1
new file mode 100644
index 00000000..6215f9e4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/11-conan.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\conan.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/20-install-sccache.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/20-install-sccache.ps1
new file mode 100644
index 00000000..0794bff3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/20-install-sccache.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sccache.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/22-mqtt_broker.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/22-mqtt_broker.ps1
new file mode 100644
index 00000000..71deb0d4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/22-mqtt_broker.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mqtt_broker.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/23-winrtrunner.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/23-winrtrunner.ps1
new file mode 100644
index 00000000..078f862e
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/23-winrtrunner.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\winrtrunner.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/25-llvm-mingw.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/25-llvm-mingw.ps1
new file mode 100644
index 00000000..3b84e504
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/25-llvm-mingw.ps1
@@ -0,0 +1,20 @@
+# 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
+
+. "$PSScriptRoot\..\common\windows\helpers.ps1"
+
+# This script installs LLVM-Mingw by mstorsjo
+# https://github.com/mstorsjo/llvm-mingw/releases/tag/20220323
+
+$zip = Get-DownloadLocation "llvm-mingw-20231017-ucrt-x86_64.zip"
+$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/llvm-mingw-20231017-ucrt-x86_64.zip"
+$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20231017/llvm-mingw-20231017-ucrt-x86_64.zip"
+
+Download $url_official $url_cache $zip
+Verify-Checksum $zip "1a39032b5add2f06fe0dfa56d0279b313b974da3"
+Extract-7Zip $zip C:\
+
+Rename-Item C:\llvm-mingw-20231017-ucrt-x86_64 C:\llvm-mingw
+
+Write-Output "llvm-mingw = 17.0.3" >> ~/versions.txt
+Remove-Item -Path $zip
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/29-libusb.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/29-libusb.ps1
new file mode 100644
index 00000000..6035912d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/29-libusb.ps1
@@ -0,0 +1,3 @@
+
+
+. "$PSScriptRoot\..\common\windows\libusb.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/30-fbx.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/30-fbx.ps1
new file mode 100644
index 00000000..468b0433
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/30-fbx.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\fbx_windows.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/35-install-breakpad.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/35-install-breakpad.ps1
new file mode 100644
index 00000000..9360a326
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/35-install-breakpad.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-breakpad.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/36-install-gnuwin32.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/36-install-gnuwin32.ps1
new file mode 100644
index 00000000..0e2abbac
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/36-install-gnuwin32.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-gnuwin32.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/40-android.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/40-android.ps1
new file mode 100644
index 00000000..69799974
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/40-android.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\android.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/50-openssl_for_android.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/50-openssl_for_android.ps1
new file mode 100644
index 00000000..25c6f28a
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/50-openssl_for_android.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\android-openssl.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/60-jom.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/60-jom.ps1
new file mode 100644
index 00000000..b246ce25
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/60-jom.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\jom.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/70-cmake.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/70-cmake.ps1
new file mode 100644
index 00000000..73dc7bc2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/70-cmake.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\cmake.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/79-opcua_unifiedautomation.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/79-opcua_unifiedautomation.ps1
new file mode 100644
index 00000000..e7f14459
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/79-opcua_unifiedautomation.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\opcua_unifiedautomation.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/80-emsdk.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/80-emsdk.ps1
new file mode 100644
index 00000000..b72470a2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/80-emsdk.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\emsdk.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/85-disable_quickedit_powershell.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/85-disable_quickedit_powershell.ps1
new file mode 100644
index 00000000..547e15a8
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/85-disable_quickedit_powershell.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-quickedit.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-3dstudio_3rdparty.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-3dstudio_3rdparty.ps1
new file mode 100644
index 00000000..114f52f9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-3dstudio_3rdparty.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\3dstudio_3rdparty.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-exceutequeueditems.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-exceutequeueditems.ps1
new file mode 100644
index 00000000..52306fb9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-exceutequeueditems.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\exceutequeueditems.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-dotnet.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-dotnet.ps1
new file mode 100644
index 00000000..a2ecfba2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-dotnet.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-dotnet.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-ffmpeg.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-ffmpeg.ps1
new file mode 100644
index 00000000..e16f634c
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-ffmpeg.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-ffmpeg.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-mcuxpresso.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-mcuxpresso.ps1
new file mode 100644
index 00000000..22d19322
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-mcuxpresso.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-mcuxpresso.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-notepad++.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-notepad++.ps1
new file mode 100644
index 00000000..455d92bf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-notepad++.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-notepad++.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-stm32cubeprogrammer.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-stm32cubeprogrammer.ps1
new file mode 100644
index 00000000..25c2bb42
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-stm32cubeprogrammer.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-stm32cubeprogrammer.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-virtualbox.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-virtualbox.ps1
new file mode 100644
index 00000000..bf14fd23
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-install-virtualbox.ps1
@@ -0,0 +1,21 @@
+# 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
+
+. "$PSScriptRoot\..\common\windows\helpers.ps1"
+
+# This script will install VirtualBox
+
+$version = "5.2.4"
+$sha1 = "71df4474a5e94918728b62d1f6bc036674ef0e96"
+$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\VirtualBox-" + $version + "-119785-Win.exe"
+$url_official = "http://download.virtualbox.org/virtualbox/" + $version + "/VirtualBox-" + $version + "-119785-Win.exe"
+$virtualboxPackage = "C:\Windows\Temp\virtualbox-$version.exe"
+
+Download $url_official $url_cache $virtualboxPackage
+Verify-Checksum $virtualboxPackage $sha1
+Run-Executable $virtualboxPackage "--silent"
+
+Write-Output "Cleaning $virtualboxPackage.."
+Remove "$virtualboxPackage"
+
+Write-Output "VirtualBox = $version" >> ~\versions.txt
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-libusb.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-libusb.ps1
new file mode 100644
index 00000000..29a1cfa4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-libusb.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\libusb.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-mimersql.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-mimersql.ps1
new file mode 100644
index 00000000..576dd9d2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-mimersql.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mimersql.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-mysql.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-mysql.ps1
new file mode 100644
index 00000000..864a79a5
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-mysql.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\mysql.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-postgresql.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-postgresql.ps1
new file mode 100644
index 00000000..0e0d87be
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-postgresql.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\postgresql.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/90-python-modules.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-python-modules.ps1
new file mode 100644
index 00000000..80ab54dc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-python-modules.ps1
@@ -0,0 +1,4 @@
+. "$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-x86_64/90-squish.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-squish.ps1
new file mode 100644
index 00000000..ff758845
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/90-squish.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\squishInstall.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/91-install-azure-tool.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/91-install-azure-tool.ps1
new file mode 100644
index 00000000..f1d5acc3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/91-install-azure-tool.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-azure-tool.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/91-squish-coco.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/91-squish-coco.ps1
new file mode 100644
index 00000000..bf4f8a96
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/91-squish-coco.ps1
@@ -0,0 +1,2 @@
+ "$PSScriptRoot\..\common\windows\squish-coco.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/92-protobuf.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/92-protobuf.ps1
new file mode 100644
index 00000000..c455bce7
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/92-protobuf.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\protobuf.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/93-grpc.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/93-grpc.ps1
new file mode 100644
index 00000000..7d0b471d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/93-grpc.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\grpc.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/93-install-vcpkg.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/93-install-vcpkg.ps1
new file mode 100644
index 00000000..3c360de9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/93-install-vcpkg.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-vcpkg.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/94-install-vcpkg-ports.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/94-install-vcpkg-ports.ps1
new file mode 100644
index 00000000..1dd657bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/94-install-vcpkg-ports.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-vcpkg-ports.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/96-disable-windows-module-installer.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/96-disable-windows-module-installer.ps1
new file mode 100644
index 00000000..fb8ec541
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/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-x86_64/97-msvc2015.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/97-msvc2015.ps1
new file mode 100644
index 00000000..2c1735d0
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/97-msvc2015.ps1
@@ -0,0 +1,10 @@
+# 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
+
+# Visual Studios are pre-provisioned to tier1 images
+
+# MSVC 2015 Update 3
+Write-Output "Visual Studio 2015 = Version 14.0.25431.01 Update 3" >> ~\versions.txt
+
+# MSVC 2019 and Build Tools are pre-provisioned, but the updating happens with "$PSScriptRoot\..\common\windows\update-msvc2019.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/98-unset-proxy.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/98-unset-proxy.ps1
new file mode 100644
index 00000000..0c25a0fb
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/98-unset-proxy.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\unset-proxy.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/99-share-test-folders.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/99-share-test-folders.ps1
new file mode 100644
index 00000000..576fcfdc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/99-share-test-folders.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\share-test-folders.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/99-version.ps1 b/coin/provisioning/qtci-windows-11_22H2-x86_64/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-11_22H2-x86_64/conanfiles/qtwebkit.txt b/coin/provisioning/qtci-windows-11_22H2-x86_64/conanfiles/qtwebkit.txt
new file mode 100644
index 00000000..eaafc008
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_22H2-x86_64/conanfiles/qtwebkit.txt
@@ -0,0 +1,31 @@
+[requires]
+icu/65.1@qtproject/stable
+libxml2/2.9.10@qtproject/stable
+libxslt/1.1.34@qtproject/stable
+libjpeg-turbo/2.0.5@qtproject/stable
+
+[generators]
+cmake
+txt
+
+[options]
+icu:shared=True
+icu:data_packaging=library
+
+libxml2:shared=True
+libxml2:iconv=False
+libxml2:icu=True
+libxml2:zlib=False
+
+libxslt:shared=True
+
+libjpeg-turbo:shared=False
+
+[imports]
+bin, icudt65.dll -> ./bin
+bin, icuin65.dll -> ./bin
+bin, icuuc65.dll -> ./bin
+bin, libxml2.dll -> ./bin
+bin, libxslt.dll -> ./bin
+bin, libxml2-2.dll -> ./bin
+bin, libxslt-1.dll -> ./bin
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/00-disable-netadapterlso.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/00-disable-netadapterlso.ps1
new file mode 100644
index 00000000..d20f1402
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/00-disable-netadapterlso.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/00-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/00-install-sevenzip.ps1
new file mode 100644
index 00000000..a9044256
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/00-install-sevenzip.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sevenzip.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/01-allow-remote-desktop-access.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-allow-remote-desktop-access.ps1
new file mode 100644
index 00000000..af05e838
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/01-change-resolution.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-change-resolution.ps1
new file mode 100644
index 00000000..c1e73a62
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/01-disable-notifications.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-disable-notifications.ps1
new file mode 100644
index 00000000..ada20147
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/01-disable-runtimebroker.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-disable-runtimebroker.ps1
new file mode 100644
index 00000000..8ae8190d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/01-disable-windows-telemetry.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-disable-windows-telemetry.ps1
new file mode 100644
index 00000000..3f5a75f4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/01-enable-guest-logon.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-enable-guest-logon.ps1
new file mode 100644
index 00000000..3cf989d3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/01-mount-vcpkg-cache-drive.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-mount-vcpkg-cache-drive.ps1
new file mode 100644
index 00000000..97dbd7d6
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-mount-vcpkg-cache-drive.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mount-vcpkg-cache-drive.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/01-set-proxy.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-set-proxy.ps1
new file mode 100644
index 00000000..13b1ec60
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/01-set-proxy.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\set-proxy.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/02-disable-autoreboot.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/02-disable-autoreboot.ps1
new file mode 100644
index 00000000..73430b76
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/02-disable-autoreboot.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-autoreboot.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/02-disable-sleep.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/02-disable-sleep.ps1
new file mode 100644
index 00000000..5bf811ef
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/02-disable-sleep.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-sleep.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/02-python-32bit.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/02-python-32bit.ps1
new file mode 100644
index 00000000..bd2d52c3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/02-python-32bit.ps1
@@ -0,0 +1 @@
+. "$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
new file mode 100644
index 00000000..e2e9be9c
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/02-python.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\python.ps1" 64
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/03-nodejs.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/03-nodejs.ps1
new file mode 100644
index 00000000..6032e945
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/03-nodejs.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\nodejs.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/04-msys.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/04-msys.ps1
new file mode 100644
index 00000000..44efea92
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/04-msys.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\msys.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/05-enable-devmode.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/05-enable-devmode.ps1
new file mode 100644
index 00000000..01e6f8b0
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/05-enable-devmode.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\win10-enable-devmode.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/05-wsearch-off.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/05-wsearch-off.ps1
new file mode 100644
index 00000000..eed6b734
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/05-wsearch-off.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\wsearch-off.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/06-longpath.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/06-longpath.ps1
new file mode 100644
index 00000000..6561d57b
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/06-longpath.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\longpath.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/06-mesa_llvmpipe.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/06-mesa_llvmpipe.ps1
new file mode 100644
index 00000000..1b1a07e9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/06-mesa_llvmpipe.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mesa_llvmpipe.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/06-ninja.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/06-ninja.ps1
new file mode 100644
index 00000000..ba571a1e
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/06-ninja.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\ninja.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-git.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-git.ps1
new file mode 100644
index 00000000..38106de7
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-git.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-git.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-jdk.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-jdk.ps1
new file mode 100644
index 00000000..15065b55
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-jdk.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-jdk.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-jq.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-jq.ps1
new file mode 100644
index 00000000..18fa568a
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-install-jq.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-jq.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/08-libclang-v100-dyn.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-libclang-v100-dyn.ps1
new file mode 100644
index 00000000..82b91257
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-libclang-v100-dyn.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 64 vs2019
+. "$PSScriptRoot\..\common\windows\libclang-v100-dyn.ps1" 32 vs2019
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/08-libclang.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-libclang.ps1
new file mode 100644
index 00000000..7681f01a
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-libclang.ps1
@@ -0,0 +1,3 @@
+# Do not set the default LLVM_INSTALL_DIR for mingw, leave it with msvc for compat
+. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 mingw $False
+. "$PSScriptRoot\..\common\windows\libclang.ps1" 64 vs2019
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/08-python3.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-python3.ps1
new file mode 100644
index 00000000..7d52476a
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/08-python3.ps1
@@ -0,0 +1,12 @@
+# Parameters:
+# - Arch 32/64
+# - installer sha1
+# - install target dir
+# - version
+# - Optional true/false if set as default with PYTHON3/PIP3_PATH variables, default false
+
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "f8d42a421db25a01b53f0c135a9a74ddae042643" "C:\Python37_64" "3.7.9"
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "3ee4e92a8ef94c70fb56859503fdc805d217d689" "C:\Python310_64" "3.10.0"
+# default ones
+. "$PSScriptRoot\..\common\windows\python3.ps1" 64 "a8ac14ee5486547caf84abdf151be22d9d069c0a" "C:\Python38_64" "3.8.1" $true
+. "$PSScriptRoot\..\common\windows\python3.ps1" 32 "14ff2c2e5538b03a012cb4c9d519d970444ebd42" "C:\Python38_32" "3.8.1" $true
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-dependencywalker.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-dependencywalker.ps1
new file mode 100644
index 00000000..331de489
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-dependencywalker.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-dependencywalker.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-mingw1310_64.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-mingw1310_64.ps1
new file mode 100644
index 00000000..ef8e0a50
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-mingw1310_64.ps1
@@ -0,0 +1,11 @@
+. "$PSScriptRoot\..\common\windows\install-mingw.ps1"
+
+# This script will install 64-bit MinGW 13.1.0
+# Note! MinGW version is 9.0.0 but the GCC version is 13.1 which is used with the naming of MinGW
+
+$release = "MinGW-w64-x86_64-13.1.0-release-posix-seh-msvcrt-rt_v11-rev1"
+
+$sha1 = "561db0989c1b2cb73e0ceb27aed3b0ee8cb1db48"
+
+InstallMinGW $release $sha1
+
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-openssh.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-openssh.ps1
new file mode 100644
index 00000000..9de844da
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-openssh.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-openssh.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-ruby.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-ruby.ps1
new file mode 100644
index 00000000..875b426f
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-ruby.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-ruby.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-sed.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-sed.ps1
new file mode 100644
index 00000000..b3c8fded
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-sed.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sed.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-strawberry-perl.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-strawberry-perl.ps1
new file mode 100644
index 00000000..2b5756be
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-install-strawberry-perl.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-strawberry-perl.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/09-openssl-arm64.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-openssl-arm64.ps1
new file mode 100644
index 00000000..c1bbf271
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-openssl-arm64.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\openssl-arm64.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/09-openssl.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-openssl.ps1
new file mode 100644
index 00000000..d57ad1cd
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-openssl.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\openssl.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/09-set-network-test-server.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-set-network-test-server.ps1
new file mode 100644
index 00000000..7918fabf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/09-vulkansdk.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-vulkansdk.ps1
new file mode 100644
index 00000000..54a3d563
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/09-vulkansdk.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\vulkansdk.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/10-dxsdk.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/10-dxsdk.ps1
new file mode 100644
index 00000000..155df6b8
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/10-dxsdk.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\dxsdk.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/10-install-msys2.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/10-install-msys2.ps1
new file mode 100644
index 00000000..be9a3634
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/10-install-msys2.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-msys2.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/11-conan.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/11-conan.ps1
new file mode 100644
index 00000000..6215f9e4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/11-conan.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\conan.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/20-install-sccache.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/20-install-sccache.ps1
new file mode 100644
index 00000000..0794bff3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/20-install-sccache.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sccache.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/22-mqtt_broker.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/22-mqtt_broker.ps1
new file mode 100644
index 00000000..71deb0d4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/22-mqtt_broker.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mqtt_broker.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/23-winrtrunner.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/23-winrtrunner.ps1
new file mode 100644
index 00000000..078f862e
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/23-winrtrunner.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\winrtrunner.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/25-llvm-mingw.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/25-llvm-mingw.ps1
new file mode 100644
index 00000000..3b84e504
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/25-llvm-mingw.ps1
@@ -0,0 +1,20 @@
+# 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
+
+. "$PSScriptRoot\..\common\windows\helpers.ps1"
+
+# This script installs LLVM-Mingw by mstorsjo
+# https://github.com/mstorsjo/llvm-mingw/releases/tag/20220323
+
+$zip = Get-DownloadLocation "llvm-mingw-20231017-ucrt-x86_64.zip"
+$url_cache = "http://ci-files01-hki.ci.qt.io/input/windows/llvm-mingw-20231017-ucrt-x86_64.zip"
+$url_official = "https://github.com/mstorsjo/llvm-mingw/releases/download/20231017/llvm-mingw-20231017-ucrt-x86_64.zip"
+
+Download $url_official $url_cache $zip
+Verify-Checksum $zip "1a39032b5add2f06fe0dfa56d0279b313b974da3"
+Extract-7Zip $zip C:\
+
+Rename-Item C:\llvm-mingw-20231017-ucrt-x86_64 C:\llvm-mingw
+
+Write-Output "llvm-mingw = 17.0.3" >> ~/versions.txt
+Remove-Item -Path $zip
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/29-libusb.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/29-libusb.ps1
new file mode 100644
index 00000000..6035912d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/29-libusb.ps1
@@ -0,0 +1,3 @@
+
+
+. "$PSScriptRoot\..\common\windows\libusb.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/30-fbx.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/30-fbx.ps1
new file mode 100644
index 00000000..468b0433
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/30-fbx.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\fbx_windows.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/35-install-breakpad.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/35-install-breakpad.ps1
new file mode 100644
index 00000000..9360a326
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/35-install-breakpad.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-breakpad.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/36-install-gnuwin32.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/36-install-gnuwin32.ps1
new file mode 100644
index 00000000..0e2abbac
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/36-install-gnuwin32.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-gnuwin32.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/40-android.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/40-android.ps1
new file mode 100644
index 00000000..69799974
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/40-android.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\android.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/50-openssl_for_android.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/50-openssl_for_android.ps1
new file mode 100644
index 00000000..25c6f28a
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/50-openssl_for_android.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\android-openssl.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/60-jom.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/60-jom.ps1
new file mode 100644
index 00000000..b246ce25
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/60-jom.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\jom.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/70-cmake.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/70-cmake.ps1
new file mode 100644
index 00000000..73dc7bc2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/70-cmake.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\cmake.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/79-opcua_unifiedautomation.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/79-opcua_unifiedautomation.ps1
new file mode 100644
index 00000000..e7f14459
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/79-opcua_unifiedautomation.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\opcua_unifiedautomation.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/80-emsdk.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/80-emsdk.ps1
new file mode 100644
index 00000000..b72470a2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/80-emsdk.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\emsdk.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/85-disable_quickedit_powershell.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/85-disable_quickedit_powershell.ps1
new file mode 100644
index 00000000..547e15a8
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/85-disable_quickedit_powershell.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-quickedit.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-3dstudio_3rdparty.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-3dstudio_3rdparty.ps1
new file mode 100644
index 00000000..114f52f9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-3dstudio_3rdparty.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\3dstudio_3rdparty.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-exceutequeueditems.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-exceutequeueditems.ps1
new file mode 100644
index 00000000..52306fb9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-exceutequeueditems.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\exceutequeueditems.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-dotnet.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-dotnet.ps1
new file mode 100644
index 00000000..a2ecfba2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-dotnet.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-dotnet.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-ffmpeg.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-ffmpeg.ps1
new file mode 100644
index 00000000..e16f634c
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-ffmpeg.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\install-ffmpeg.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-mcuxpresso.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-mcuxpresso.ps1
new file mode 100644
index 00000000..22d19322
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-mcuxpresso.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-mcuxpresso.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-notepad++.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-notepad++.ps1
new file mode 100644
index 00000000..455d92bf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-notepad++.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-notepad++.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-stm32cubeprogrammer.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-stm32cubeprogrammer.ps1
new file mode 100644
index 00000000..25c2bb42
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-stm32cubeprogrammer.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-stm32cubeprogrammer.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-virtualbox.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-virtualbox.ps1
new file mode 100644
index 00000000..bf14fd23
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-install-virtualbox.ps1
@@ -0,0 +1,21 @@
+# 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
+
+. "$PSScriptRoot\..\common\windows\helpers.ps1"
+
+# This script will install VirtualBox
+
+$version = "5.2.4"
+$sha1 = "71df4474a5e94918728b62d1f6bc036674ef0e96"
+$url_cache = "\\ci-files01-hki.ci.qt.io\provisioning\windows\VirtualBox-" + $version + "-119785-Win.exe"
+$url_official = "http://download.virtualbox.org/virtualbox/" + $version + "/VirtualBox-" + $version + "-119785-Win.exe"
+$virtualboxPackage = "C:\Windows\Temp\virtualbox-$version.exe"
+
+Download $url_official $url_cache $virtualboxPackage
+Verify-Checksum $virtualboxPackage $sha1
+Run-Executable $virtualboxPackage "--silent"
+
+Write-Output "Cleaning $virtualboxPackage.."
+Remove "$virtualboxPackage"
+
+Write-Output "VirtualBox = $version" >> ~\versions.txt
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-libusb.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-libusb.ps1
new file mode 100644
index 00000000..29a1cfa4
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-libusb.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\libusb.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-mimersql.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-mimersql.ps1
new file mode 100644
index 00000000..576dd9d2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-mimersql.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mimersql.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-mysql.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-mysql.ps1
new file mode 100644
index 00000000..864a79a5
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-mysql.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\mysql.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-postgresql.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-postgresql.ps1
new file mode 100644
index 00000000..0e0d87be
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-postgresql.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\postgresql.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/90-python-modules.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-python-modules.ps1
new file mode 100644
index 00000000..80ab54dc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-python-modules.ps1
@@ -0,0 +1,4 @@
+. "$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_23H2-x86_64/90-squish.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-squish.ps1
new file mode 100644
index 00000000..ff758845
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/90-squish.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\squishInstall.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/91-install-azure-tool.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/91-install-azure-tool.ps1
new file mode 100644
index 00000000..f1d5acc3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/91-install-azure-tool.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-azure-tool.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/91-squish-coco.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/91-squish-coco.ps1
new file mode 100644
index 00000000..bf4f8a96
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/91-squish-coco.ps1
@@ -0,0 +1,2 @@
+ "$PSScriptRoot\..\common\windows\squish-coco.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/92-protobuf.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/92-protobuf.ps1
new file mode 100644
index 00000000..c455bce7
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/92-protobuf.ps1
@@ -0,0 +1,2 @@
+. "$PSScriptRoot\..\common\windows\protobuf.ps1"
+
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/93-grpc.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/93-grpc.ps1
new file mode 100644
index 00000000..7d0b471d
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/93-grpc.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\grpc.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/93-install-vcpkg.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/93-install-vcpkg.ps1
new file mode 100644
index 00000000..3c360de9
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/93-install-vcpkg.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-vcpkg.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/94-install-vcpkg-ports.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/94-install-vcpkg-ports.ps1
new file mode 100644
index 00000000..1dd657bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/94-install-vcpkg-ports.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-vcpkg-ports.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/96-disable-windows-module-installer.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/96-disable-windows-module-installer.ps1
new file mode 100644
index 00000000..fb8ec541
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/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_23H2-x86_64/98-unset-proxy.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/98-unset-proxy.ps1
new file mode 100644
index 00000000..0c25a0fb
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/98-unset-proxy.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\unset-proxy.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/99-share-test-folders.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/99-share-test-folders.ps1
new file mode 100644
index 00000000..576fcfdc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/99-share-test-folders.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\share-test-folders.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/99-version.ps1 b/coin/provisioning/qtci-windows-11_23H2-x86_64/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-11_23H2-x86_64/conanfiles/qtwebkit.txt b/coin/provisioning/qtci-windows-11_23H2-x86_64/conanfiles/qtwebkit.txt
new file mode 100644
index 00000000..eaafc008
--- /dev/null
+++ b/coin/provisioning/qtci-windows-11_23H2-x86_64/conanfiles/qtwebkit.txt
@@ -0,0 +1,31 @@
+[requires]
+icu/65.1@qtproject/stable
+libxml2/2.9.10@qtproject/stable
+libxslt/1.1.34@qtproject/stable
+libjpeg-turbo/2.0.5@qtproject/stable
+
+[generators]
+cmake
+txt
+
+[options]
+icu:shared=True
+icu:data_packaging=library
+
+libxml2:shared=True
+libxml2:iconv=False
+libxml2:icu=True
+libxml2:zlib=False
+
+libxslt:shared=True
+
+libjpeg-turbo:shared=False
+
+[imports]
+bin, icudt65.dll -> ./bin
+bin, icuin65.dll -> ./bin
+bin, icuuc65.dll -> ./bin
+bin, libxml2.dll -> ./bin
+bin, libxslt.dll -> ./bin
+bin, libxml2-2.dll -> ./bin
+bin, libxslt-1.dll -> ./bin
diff --git a/coin/provisioning/qtci-windows-7-x86/01-disable-uac.ps1 b/coin/provisioning/qtci-windows-7-x86/01-disable-uac.ps1
deleted file mode 100644
index 51eb0b2b..00000000
--- a/coin/provisioning/qtci-windows-7-x86/01-disable-uac.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-uac.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-7-x86/02-disable-defragment.ps1
deleted file mode 100644
index 10518401..00000000
--- a/coin/provisioning/qtci-windows-7-x86/02-disable-defragment.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-defragment.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/02-disable-ntp.ps1 b/coin/provisioning/qtci-windows-7-x86/02-disable-ntp.ps1
deleted file mode 100644
index ee3b3b7d..00000000
--- a/coin/provisioning/qtci-windows-7-x86/02-disable-ntp.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-ntp.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/02-memorypershell.ps1 b/coin/provisioning/qtci-windows-7-x86/02-memorypershell.ps1
deleted file mode 100644
index e9a9c438..00000000
--- a/coin/provisioning/qtci-windows-7-x86/02-memorypershell.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\memorypershell.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/02-python.ps1 b/coin/provisioning/qtci-windows-7-x86/02-python.ps1
deleted file mode 100644
index 19e64a94..00000000
--- a/coin/provisioning/qtci-windows-7-x86/02-python.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python.ps1" 32
diff --git a/coin/provisioning/qtci-windows-7-x86/03-conan.ps1 b/coin/provisioning/qtci-windows-7-x86/03-conan.ps1
deleted file mode 100644
index 807e5480..00000000
--- a/coin/provisioning/qtci-windows-7-x86/03-conan.ps1
+++ /dev/null
@@ -1,9 +0,0 @@
-. "$PSScriptRoot\..\common\windows\03-conan.ps1"
-
-Run-Conan-Install `
- -ConanfilesDir "$PSScriptRoot\conanfiles" `
- -BuildinfoDir Mingw53-x86 `
- -Arch x86 `
- -Compiler "gcc" `
- -CompilerVersion "5.3" `
- -CompilerLibcxx "libstdc++11"
diff --git a/coin/provisioning/qtci-windows-7-x86/04-disable-windefender.ps1 b/coin/provisioning/qtci-windows-7-x86/04-disable-windefender.ps1
deleted file mode 100644
index 8f94b3d5..00000000
--- a/coin/provisioning/qtci-windows-7-x86/04-disable-windefender.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-windefender.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/04-disable-windows-updates.ps1 b/coin/provisioning/qtci-windows-7-x86/04-disable-windows-updates.ps1
deleted file mode 100644
index 57428310..00000000
--- a/coin/provisioning/qtci-windows-7-x86/04-disable-windows-updates.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-windows-updates.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/07-vc_redist.ps1 b/coin/provisioning/qtci-windows-7-x86/07-vc_redist.ps1
deleted file mode 100644
index 1e465fe1..00000000
--- a/coin/provisioning/qtci-windows-7-x86/07-vc_redist.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\vc_redist.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/08-libclang.ps1 b/coin/provisioning/qtci-windows-7-x86/08-libclang.ps1
deleted file mode 100644
index 375deed3..00000000
--- a/coin/provisioning/qtci-windows-7-x86/08-libclang.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\libclang.ps1" 32 mingw
diff --git a/coin/provisioning/qtci-windows-7-x86/08-python3.ps1 b/coin/provisioning/qtci-windows-7-x86/08-python3.ps1
deleted file mode 100644
index 998e6bae..00000000
--- a/coin/provisioning/qtci-windows-7-x86/08-python3.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python3.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/09-install-mingw730.ps1 b/coin/provisioning/qtci-windows-7-x86/09-install-mingw730.ps1
deleted file mode 100644
index c893926e..00000000
--- a/coin/provisioning/qtci-windows-7-x86/09-install-mingw730.ps1
+++ /dev/null
@@ -1,10 +0,0 @@
-. "$PSScriptRoot\..\common\windows\install-mingw.ps1"
-
-# This script will install MinGW 7.3.0
-
-$release = "i686-7.3.0-release-posix-dwarf-rt_v5-rev0"
-$sha1 = "96e11c754b379c093e1cb3133f71db5b9f3e0532"
-
-InstallMinGW $release $sha1
-
-
diff --git a/coin/provisioning/qtci-windows-7-x86/09-mysql.ps1 b/coin/provisioning/qtci-windows-7-x86/09-mysql.ps1
deleted file mode 100644
index eca19011..00000000
--- a/coin/provisioning/qtci-windows-7-x86/09-mysql.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\mysql.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/09-postgresql.ps1 b/coin/provisioning/qtci-windows-7-x86/09-postgresql.ps1
deleted file mode 100644
index 451d2452..00000000
--- a/coin/provisioning/qtci-windows-7-x86/09-postgresql.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\postgresql.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/10-icu.ps1 b/coin/provisioning/qtci-windows-7-x86/10-icu.ps1
deleted file mode 100644
index 074a7a6d..00000000
--- a/coin/provisioning/qtci-windows-7-x86/10-icu.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\icu.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86/conanfiles/qtwebkit.txt b/coin/provisioning/qtci-windows-7-x86/conanfiles/qtwebkit.txt
deleted file mode 100644
index 4a5bc05d..00000000
--- a/coin/provisioning/qtci-windows-7-x86/conanfiles/qtwebkit.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-[requires]
-icu/57.1@annulen/stable
-libxml2/2.9.4@annulen/stable
-libxslt/1.1.29@annulen/stable
-zlib/1.2.8@annulen/stable
-
-[generators]
-cmake
-txt
-
-[options]
-icu:shared=True
-libxml2:shared=True
-libxslt:shared=True
-zlib:shared=False
-
-[imports]
-lib, icudt57.dll -> ./bin
-lib, icuin57.dll -> ./bin
-lib, icuuc57.dll -> ./bin
-bin, libxml2-2.dll -> ./bin
-bin, libxslt-1.dll -> ./bin
diff --git a/coin/provisioning/qtci-windows-7-x86_64/01-disable-uac.ps1 b/coin/provisioning/qtci-windows-7-x86_64/01-disable-uac.ps1
deleted file mode 100644
index 51eb0b2b..00000000
--- a/coin/provisioning/qtci-windows-7-x86_64/01-disable-uac.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-uac.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/02-disable-defragment.ps1 b/coin/provisioning/qtci-windows-7-x86_64/02-disable-defragment.ps1
deleted file mode 100644
index 10518401..00000000
--- a/coin/provisioning/qtci-windows-7-x86_64/02-disable-defragment.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-defragment.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/02-disable-ntp.ps1 b/coin/provisioning/qtci-windows-7-x86_64/02-disable-ntp.ps1
deleted file mode 100644
index ee3b3b7d..00000000
--- a/coin/provisioning/qtci-windows-7-x86_64/02-disable-ntp.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-ntp.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/04-disable-windefender.ps1 b/coin/provisioning/qtci-windows-7-x86_64/04-disable-windefender.ps1
deleted file mode 100644
index 8f94b3d5..00000000
--- a/coin/provisioning/qtci-windows-7-x86_64/04-disable-windefender.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-windefender.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/04-disable-windows-updates.ps1 b/coin/provisioning/qtci-windows-7-x86_64/04-disable-windows-updates.ps1
deleted file mode 100644
index 57428310..00000000
--- a/coin/provisioning/qtci-windows-7-x86_64/04-disable-windows-updates.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-windows-updates.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/07-vc_redist.ps1 b/coin/provisioning/qtci-windows-7-x86_64/07-vc_redist.ps1
deleted file mode 100644
index 1e465fe1..00000000
--- a/coin/provisioning/qtci-windows-7-x86_64/07-vc_redist.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\vc_redist.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/09-mysql.ps1 b/coin/provisioning/qtci-windows-7-x86_64/09-mysql.ps1
deleted file mode 100644
index eca19011..00000000
--- a/coin/provisioning/qtci-windows-7-x86_64/09-mysql.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\mysql.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/09-postgresql.ps1 b/coin/provisioning/qtci-windows-7-x86_64/09-postgresql.ps1
deleted file mode 100644
index 451d2452..00000000
--- a/coin/provisioning/qtci-windows-7-x86_64/09-postgresql.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\postgresql.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/12-icu.ps1 b/coin/provisioning/qtci-windows-7-x86_64/12-icu.ps1
deleted file mode 100644
index 074a7a6d..00000000
--- a/coin/provisioning/qtci-windows-7-x86_64/12-icu.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\icu.ps1"
diff --git a/coin/provisioning/qtci-windows-7-x86_64/25-python3.ps1 b/coin/provisioning/qtci-windows-7-x86_64/25-python3.ps1
deleted file mode 100644
index 3201032d..00000000
--- a/coin/provisioning/qtci-windows-7-x86_64/25-python3.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\python3.ps1" 64
diff --git a/coin/provisioning/qtci-windows-8.1-x86/00-disable-netadapterlso.ps1 b/coin/provisioning/qtci-windows-8.1-x86/00-disable-netadapterlso.ps1
new file mode 100644
index 00000000..d20f1402
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86/00-disable-netadapterlso.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86/04-disable-windefender.ps1 b/coin/provisioning/qtci-windows-8.1-x86/00-disable-windefender.ps1
index 8f94b3d5..8f94b3d5 100644
--- a/coin/provisioning/qtci-windows-10-x86/04-disable-windefender.ps1
+++ b/coin/provisioning/qtci-windows-8.1-x86/00-disable-windefender.ps1
diff --git a/coin/provisioning/qtci-windows-8.1-x86/00-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-8.1-x86/00-install-sevenzip.ps1
new file mode 100644
index 00000000..a9044256
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86/00-install-sevenzip.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sevenzip.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-8.1-x86/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86/04-disable-windefender.ps1 b/coin/provisioning/qtci-windows-8.1-x86/04-disable-windefender.ps1
deleted file mode 100644
index 8f94b3d5..00000000
--- a/coin/provisioning/qtci-windows-8.1-x86/04-disable-windefender.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-windefender.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86/20-install-sccache.ps1 b/coin/provisioning/qtci-windows-8.1-x86/20-install-sccache.ps1
new file mode 100644
index 00000000..0794bff3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86/20-install-sccache.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sccache.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86/99-version.ps1 b/coin/provisioning/qtci-windows-8.1-x86/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/00-disable-netadapterlso.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/00-disable-netadapterlso.ps1
new file mode 100644
index 00000000..d20f1402
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/00-disable-netadapterlso.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\disable-netadapterlso.ps1"
diff --git a/coin/provisioning/qtci-windows-10-x86_64/01-disable-windefender.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/00-disable-windefender.ps1
index 8f94b3d5..8f94b3d5 100644
--- a/coin/provisioning/qtci-windows-10-x86_64/01-disable-windefender.ps1
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/00-disable-windefender.ps1
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/00-install-sevenzip.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/00-install-sevenzip.ps1
new file mode 100644
index 00000000..a9044256
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/00-install-sevenzip.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sevenzip.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/01-install_telegraf.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/01-install_telegraf.ps1
new file mode 100644
index 00000000..77fa8cbf
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/01-install_telegraf.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install_telegraf.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/04-disable-windefender.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/04-disable-windefender.ps1
deleted file mode 100644
index 8f94b3d5..00000000
--- a/coin/provisioning/qtci-windows-8.1-x86_64/04-disable-windefender.ps1
+++ /dev/null
@@ -1 +0,0 @@
-. "$PSScriptRoot\..\common\windows\disable-windefender.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/20-install-sccache.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/20-install-sccache.ps1
new file mode 100644
index 00000000..0794bff3
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/20-install-sccache.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\install-sccache.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/90-mimersql.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/90-mimersql.ps1
new file mode 100644
index 00000000..576dd9d2
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/90-mimersql.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\mimersql.ps1"
diff --git a/coin/provisioning/qtci-windows-8.1-x86_64/99-version.ps1 b/coin/provisioning/qtci-windows-8.1-x86_64/99-version.ps1
new file mode 100644
index 00000000..36e498bc
--- /dev/null
+++ b/coin/provisioning/qtci-windows-8.1-x86_64/99-version.ps1
@@ -0,0 +1 @@
+. "$PSScriptRoot\..\common\windows\version.ps1"
diff --git a/configure b/configure
index b6954b85..aab559b9 100755
--- a/configure
+++ b/configure
@@ -1,49 +1,22 @@
#! /bin/sh
-#############################################################################
-##
-## Copyright (C) 2015 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the build tools of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
-srcpath=`dirname $0`
-srcpath=`(cd "$srcpath"; pwd)`
-configure=$srcpath/qtbase/configure
-if [ ! -e "$configure" ]; then
- echo "$configure not found. Did you forget to run \"init-repository\"?" >&2
- exit 1
-fi
+src_path=`dirname $0`
+src_path=`(cd "$src_path"; /bin/pwd)`
-mkdir -p qtbase || exit
+optfile=config.tl.opt
+opttmpfile=config.tl.opt.in
-echo "+ cd qtbase"
-cd qtbase || exit
+# Posix compatible way to truncate file
+: > "$optfile"
+: > "$opttmpfile"
-echo "+ $configure -top-level $@"
-exec "$configure" -top-level "$@"
+# For consistency, use QtWriteArgsFile.cmake to write the optfile like we do on Windows.
+# We do the same with the configure script in qtbase.
+for arg in "$@"; do echo \"$arg\" >> "$opttmpfile"; done
+
+cmake -DIN_FILE="${opttmpfile}" -DOUT_FILE="${optfile}" -P "${src_path}/cmake/QtWriteArgsFile.cmake"
+
+cmake_script_path="$src_path/cmake/QtTopLevelConfigureScript.cmake"
+exec cmake -DTOP_LEVEL_SRC_PATH="$src_path" -DOPTFILE="${optfile}" -P "$cmake_script_path"
diff --git a/configure.bat b/configure.bat
index a9f81cb7..9c0e0e62 100644
--- a/configure.bat
+++ b/configure.bat
@@ -1,53 +1,23 @@
-@echo off
-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-::
-:: Copyright (C) 2015 The Qt Company Ltd.
-:: Contact: http://www.qt.io/licensing/
-::
-:: This file is part of the tools applications of the Qt Toolkit.
-::
-:: $QT_BEGIN_LICENSE:LGPL21$
-:: Commercial License Usage
-:: Licensees holding valid commercial Qt licenses may use this file in
-:: accordance with the commercial license agreement provided with the
-:: Software or, alternatively, in accordance with the terms contained in
-:: a written agreement between you and The Qt Company. For licensing terms
-:: and conditions see http://www.qt.io/terms-conditions. For further
-:: information use the contact form at http://www.qt.io/contact-us.
-::
-:: GNU Lesser General Public License Usage
-:: Alternatively, this file may be used under the terms of the GNU Lesser
-:: General Public License version 2.1 or version 3 as published by the Free
-:: Software Foundation and appearing in the file LICENSE.LGPLv21 and
-:: LICENSE.LGPLv3 included in the packaging of this file. Please review the
-:: following information to ensure the GNU Lesser General Public License
-:: requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-:: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-::
-:: As a special exception, The Qt Company gives you certain additional
-:: rights. These rights are described in The Qt Company LGPL Exception
-:: version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-::
-:: $QT_END_LICENSE$
-::
-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-
-set "srcpath=%~dp0"
-set "configure=%srcpath%qtbase\configure.bat"
-if not exist "%configure%" (
- echo %configure% not found. Did you forget to run "init-repository"? >&2
- exit /b 1
-)
+:: Copyright (C) 2024 The Qt Company Ltd.
+:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
-if not exist qtbase mkdir qtbase || exit /b 1
-
-echo + cd qtbase
-cd qtbase || exit /b 1
+@echo off
+setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
+set script_dir_path=%~dp0
+set script_dir_path=%script_dir_path:~0,-1%
-echo + %configure% -top-level %*
-call %configure% -top-level %*
-set err=%errorlevel%
+set cmake_scripts_dir=%script_dir_path%\cmake
+:: The '.' in 'echo.%*' ensures we don't print "echo is off" when no arguments are passed
+:: https://devblogs.microsoft.com/oldnewthing/20170802-00/?p=96735
+:: The space before the '>' makes sure that when we have a digit at the end of the args, we
+:: don't accidentally concatenate it with the '>' resulting in '0>' or '2>' which redirects into the
+:: file from a stream different than stdout, leading to broken or empty content.
+echo.%* >config.tl.opt.in
-cd ..
+call cmake -DIN_FILE=config.tl.opt.in -DOUT_FILE=config.tl.opt ^
+ -P "%cmake_scripts_dir%\QtWriteArgsFile.cmake"
+call cmake -DOPTFILE=config.tl.opt -DTOP_LEVEL_SRC_PATH="%script_dir_path%" ^
+ -P "%cmake_scripts_dir%\QtTopLevelConfigureScript.cmake"
-exit /b %err%
+del config.tl.opt.in
+del config.tl.opt
diff --git a/gnuwin32/README b/gnuwin32/README
deleted file mode 100644
index c3a43063..00000000
--- a/gnuwin32/README
+++ /dev/null
@@ -1,9 +0,0 @@
-This directory contains the Windows binaries of various tools such as bison
-from the GnuWin32 project (http://gnuwin32.sourceforge.net/). We've put them
-here for your convenience, as they are needed to build projects such as
-QtWebKit.
-
-Aside from GnuWin32 binaries this directory also contains a distribution of Win
-flex-bison project (http://sourceforge.net/projects/winflexbison/), which provides
-much newer ports of Flex and Bison than what GnuWin32 provides.
-
diff --git a/gnuwin32/bin/bison.exe b/gnuwin32/bin/bison.exe
deleted file mode 100755
index 035eb2a4..00000000
--- a/gnuwin32/bin/bison.exe
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/bin/data/README b/gnuwin32/bin/data/README
deleted file mode 100644
index 842c0041..00000000
--- a/gnuwin32/bin/data/README
+++ /dev/null
@@ -1,70 +0,0 @@
--*- outline -*-
-
-This directory contains data needed by Bison.
-
-* Skeletons
-Bison skeletons: the general shapes of the different parser kinds,
-that are specialized for specific grammars by the bison program.
-
-Currently, the supported skeletons are:
-
-- yacc.c
- It used to be named bison.simple: it corresponds to C Yacc
- compatible LALR(1) parsers.
-
-- lalr1.cc
- Produces a C++ parser class.
-
-- lalr1.java
- Produces a Java parser class.
-
-- glr.c
- A Generalized LR C parser based on Bison's LALR(1) tables.
-
-- glr.cc
- A Generalized LR C++ parser. Actually a C++ wrapper around glr.c.
-
-These skeletons are the only ones supported by the Bison team.
-Because the interface between skeletons and the bison program is not
-finished, *we are not bound to it*. In particular, Bison is not
-mature enough for us to consider that "foreign skeletons" are
-supported.
-
-* m4sugar
-This directory contains M4sugar, sort of an extended library for M4,
-which is used by Bison to instantiate the skeletons.
-
-* xslt
-This directory contains XSLT programs that transform Bison's XML output
-into various formats.
-
-- bison.xsl
- A library of routines used by the other XSLT programs.
-
-- xml2dot.xsl
- Conversion into GraphViz's dot format.
-
-- xml2text.xsl
- Conversion into text.
-
-- xml2xhtml.xsl
- Conversion into XHTML.
-
------
-
-Copyright (C) 2002, 2008-2013 Free Software Foundation, Inc.
-
-This file is part of GNU Bison.
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
diff --git a/gnuwin32/bin/data/bison.m4 b/gnuwin32/bin/data/bison.m4
deleted file mode 100644
index ca27159c..00000000
--- a/gnuwin32/bin/data/bison.m4
+++ /dev/null
@@ -1,1063 +0,0 @@
- -*- Autoconf -*-
-
-# Language-independent M4 Macros for Bison.
-
-# Copyright (C) 2002, 2004-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-## ---------------- ##
-## Identification. ##
-## ---------------- ##
-
-# b4_copyright(TITLE, [YEARS])
-# ----------------------------
-# If YEARS are not defined, use b4_copyright_years.
-m4_define([b4_copyright],
-[b4_comment([A Bison parser, made by GNU Bison b4_version.])
-
-b4_comment([$1
-
-]m4_dquote(m4_text_wrap([Copyright (C)
-]m4_ifval([$2], [[$2]], [m4_defn([b4_copyright_years])])[
-Free Software Foundation, Inc.]))[
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.])
-
-b4_comment([As a special exception, you may create a larger work that contains
-part or all of the Bison parser skeleton and distribute that work
-under terms of your choice, so long as that work isn't itself a
-parser generator using the skeleton or a modified version thereof
-as a parser skeleton. Alternatively, if you modify or redistribute
-the parser skeleton itself, you may (at your option) remove this
-special exception, which will cause the skeleton and the resulting
-Bison output files to be licensed under the GNU General Public
-License without this special exception.
-
-This special exception was added by the Free Software Foundation in
-version 2.2 of Bison.])])
-
-
-## -------- ##
-## Output. ##
-## -------- ##
-
-# b4_output_begin(FILE)
-# ---------------------
-# Enable output, i.e., send to diversion 0, expand after "#", and
-# generate the tag to output into FILE. Must be followed by EOL.
-m4_define([b4_output_begin],
-[m4_changecom()
-m4_divert_push(0)dnl
-@output(m4_unquote([$1])@)@dnl
-])
-
-
-# b4_output_end()
-# ---------------
-# Output nothing, restore # as comment character (no expansions after #).
-m4_define([b4_output_end],
-[m4_divert_pop(0)
-m4_changecom([#])
-])
-
-
-# b4_divert_kill(CODE)
-# --------------------
-# Expand CODE for its side effects, discard its output.
-m4_define([b4_divert_kill],
-[m4_divert_text([KILL], [$1])])
-
-
-# b4_define_silent(MACRO, CODE)
-# -----------------------------
-# Same as m4_define, but throw away the expansion of CODE.
-m4_define([b4_define_silent],
-[m4_define([$1], [b4_divert_kill([$2])])])
-
-
-## ---------------- ##
-## Error handling. ##
-## ---------------- ##
-
-# The following error handling macros print error directives that should not
-# become arguments of other macro invocations since they would likely then be
-# mangled. Thus, they print to stdout directly.
-
-# b4_cat(TEXT)
-# ------------
-# Write TEXT to stdout. Precede the final newline with an @ so that it's
-# escaped. For example:
-#
-# b4_cat([[@complain(invalid input@)]])
-m4_define([b4_cat],
-[m4_syscmd([cat <<'_m4eof'
-]m4_bpatsubst(m4_dquote($1), [_m4eof], [_m4@`eof])[@
-_m4eof
-])dnl
-m4_if(m4_sysval, [0], [], [m4_fatal([$0: cannot write to stdout])])])
-
-# b4_error(KIND, START, END, FORMAT, [ARG1], [ARG2], ...)
-# -------------------------------------------------------
-# Write @KIND(START@,END@,FORMAT@,ARG1@,ARG2@,...@) to stdout.
-#
-# For example:
-#
-# b4_error([[complain]], [[input.y:2.3]], [[input.y:5.4]],
-# [[invalid %s]], [[foo]])
-m4_define([b4_error],
-[b4_cat([[@complain][(]$1[@,]$2[@,]$3[@,]$4[]]dnl
-[m4_if([$#], [4], [],
- [m4_foreach([b4_arg],
- m4_dquote(m4_shift(m4_shift(m4_shift(m4_shift($@))))),
- [[@,]b4_arg])])[@)]])])
-
-# b4_warn(FORMAT, [ARG1], [ARG2], ...)
-# ------------------------------------
-# Write @warn(FORMAT@,ARG1@,ARG2@,...@) to stdout.
-#
-# For example:
-#
-# b4_warn([[invalid value for '%s': %s]], [[foo]], [[3]])
-#
-# As a simple test suite, this:
-#
-# m4_divert(-1)
-# m4_define([asdf], [ASDF])
-# m4_define([fsa], [FSA])
-# m4_define([fdsa], [FDSA])
-# b4_warn_at([[[asdf), asdf]]], [[[fsa), fsa]]], [[[fdsa), fdsa]]])
-# b4_warn_at([[asdf), asdf]], [[fsa), fsa]], [[fdsa), fdsa]])
-# b4_warn_at()
-# b4_warn_at(1)
-# b4_warn_at(1, 2)
-#
-# Should produce this without newlines:
-#
-# @warn_at([asdf), asdf]@,@,@,[fsa), fsa]@,[fdsa), fdsa]@)
-# @warn(asdf), asdf@,@,@,fsa), fsa@,fdsa), fdsa@)
-# @warn(@)
-# @warn(1@)
-# @warn(1@,2@)
-m4_define([b4_warn],
-[b4_error([[warn]], [], [], $@)])
-
-# b4_warn_at(START, END, FORMAT, [ARG1], [ARG2], ...)
-# ---------------------------------------------------
-# Write @warn(START@,END@,FORMAT@,ARG1@,ARG2@,...@) to stdout.
-#
-# For example:
-#
-# b4_warn_at([[input.y:2.3]], [[input.y:5.4]], [[invalid %s]], [[foo]])
-m4_define([b4_warn_at],
-[b4_error([[warn]], $@)])
-
-# b4_complain(FORMAT, [ARG1], [ARG2], ...)
-# ----------------------------------------
-# Bounce to b4_complain_at.
-#
-# See b4_warn example.
-m4_define([b4_complain],
-[b4_error([[complain]], [], [], $@)])
-
-# b4_complain_at(START, END, FORMAT, [ARG1], [ARG2], ...)
-# -------------------------------------------------------
-# Write @complain(START@,END@,FORMAT@,ARG1@,ARG2@,...@) to stdout.
-#
-# See b4_warn_at example.
-m4_define([b4_complain_at],
-[b4_error([[complain]], $@)])
-
-# b4_fatal(FORMAT, [ARG1], [ARG2], ...)
-# -------------------------------------
-# Bounce to b4_fatal_at.
-#
-# See b4_warn example.
-m4_define([b4_fatal],
-[b4_error([[fatal]], [], [], $@)dnl
-m4_exit(1)])
-
-# b4_fatal_at(START, END, FORMAT, [ARG1], [ARG2], ...)
-# ----------------------------------------------------
-# Write @fatal(START@,END@,FORMAT@,ARG1@,ARG2@,...@) to stdout and exit.
-#
-# See b4_warn_at example.
-m4_define([b4_fatal_at],
-[b4_error([[fatal]], $@)dnl
-m4_exit(1)])
-
-
-## ------------ ##
-## Data Types. ##
-## ------------ ##
-
-# b4_ints_in(INT1, INT2, LOW, HIGH)
-# ---------------------------------
-# Return 1 iff both INT1 and INT2 are in [LOW, HIGH], 0 otherwise.
-m4_define([b4_ints_in],
-[m4_eval([$3 <= $1 && $1 <= $4 && $3 <= $2 && $2 <= $4])])
-
-
-# b4_subtract(LHS, RHS)
-# ---------------------
-# Evaluate LHS - RHS if they are integer literals, otherwise expand
-# to (LHS) - (RHS).
-m4_define([b4_subtract],
-[m4_bmatch([$1$2], [^[0123456789]*$],
- [m4_eval([$1 - $2])],
- [($1) - ($2)])])
-
-# b4_join(ARG1, ...)
-# _b4_join(ARG1, ...)
-# -------------------
-# Join with comma, skipping empty arguments.
-# b4_join calls itself recursively until it sees the first non-empty
-# argument, then calls _b4_join which prepends each non-empty argument
-# with a comma.
-m4_define([b4_join],
-[m4_if([$#$1],
- [1], [],
- [m4_ifval([$1],
- [$1[]_$0(m4_shift($@))],
- [$0(m4_shift($@))])])])
-
-# _b4_join(ARGS1, ...)
-# --------------------
-m4_define([_b4_join],
-[m4_if([$#$1],
- [1], [],
- [m4_ifval([$1], [, $1])[]$0(m4_shift($@))])])
-
-
-
-
-# b4_integral_parser_tables_map(MACRO)
-# -------------------------------------
-# Map MACRO on all the integral tables. MACRO is expected to have
-# the signature MACRO(TABLE-NAME, CONTENT, COMMENT).
-m4_define([b4_integral_parser_tables_map],
-[$1([pact], [b4_pact],
- [[YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
-STATE-NUM.]])
-
-$1([defact], [b4_defact],
- [[YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
-Performed when YYTABLE does not specify something else to do. Zero
-means the default is an error.]])
-
-$1([pgoto], [b4_pgoto], [[YYPGOTO[NTERM-NUM].]])
-
-$1([defgoto], [b4_defgoto], [[YYDEFGOTO[NTERM-NUM].]])
-
-$1([table], [b4_table],
- [[YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If
-positive, shift that token. If negative, reduce the rule whose
-number is the opposite. If YYTABLE_NINF, syntax error.]])
-
-$1([check], [b4_check])
-
-$1([stos], [b4_stos],
- [[YYSTOS[STATE-NUM] -- The (internal number of the) accessing
-symbol of state STATE-NUM.]])
-
-$1([r1], [b4_r1],
- [[YYR1[YYN] -- Symbol number of symbol that rule YYN derives.]])
-
-$1([r2], [b4_r2],
- [[YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.]])
-])
-
-
-# b4_parser_tables_declare
-# b4_parser_tables_define
-# ------------------------
-# Define/declare the (deterministic) parser tables.
-m4_define([b4_parser_tables_declare],
-[b4_integral_parser_tables_map([b4_integral_parser_table_declare])])
-
-m4_define([b4_parser_tables_define],
-[b4_integral_parser_tables_map([b4_integral_parser_table_define])])
-
-
-
-## ------------------ ##
-## Decoding options. ##
-## ------------------ ##
-
-# b4_flag_if(FLAG, IF-TRUE, IF-FALSE)
-# -----------------------------------
-# Run IF-TRUE if b4_FLAG_flag is 1, IF-FALSE if FLAG is 0, otherwise fail.
-m4_define([b4_flag_if],
-[m4_case(b4_$1_flag,
- [0], [$3],
- [1], [$2],
- [m4_fatal([invalid $1 value: ]b4_$1_flag)])])
-
-
-# b4_define_flag_if(FLAG)
-# -----------------------
-# Define "b4_FLAG_if(IF-TRUE, IF-FALSE)" that depends on the
-# value of the Boolean FLAG.
-m4_define([b4_define_flag_if],
-[_b4_define_flag_if($[1], $[2], [$1])])
-
-# _b4_define_flag_if($1, $2, FLAG)
-# --------------------------------
-# Work around the impossibility to define macros inside macros,
-# because issuing '[$1]' is not possible in M4. GNU M4 should provide
-# $$1 a la M5/TeX.
-m4_define([_b4_define_flag_if],
-[m4_if([$1$2], $[1]$[2], [],
- [m4_fatal([$0: Invalid arguments: $@])])dnl
-m4_define([b4_$3_if],
- [b4_flag_if([$3], [$1], [$2])])])
-
-
-# b4_FLAG_if(IF-TRUE, IF-FALSE)
-# -----------------------------
-# Expand IF-TRUE, if FLAG is true, IF-FALSE otherwise.
-b4_define_flag_if([defines]) # Whether headers are requested.
-b4_define_flag_if([glr]) # Whether a GLR parser is requested.
-b4_define_flag_if([nondeterministic]) # Whether conflicts should be handled.
-b4_define_flag_if([token_table]) # Whether yytoken_table is demanded.
-b4_define_flag_if([yacc]) # Whether POSIX Yacc is emulated.
-
-
-## --------- ##
-## Symbols. ##
-## --------- ##
-
-# In order to unify the handling of the various aspects of symbols
-# (tag, type_name, whether terminal, etc.), bison.exe defines one
-# macro per (token, field), where field can has_id, id, etc.: see
-# src/output.c:prepare_symbols_definitions().
-#
-# The various FIELDS are:
-#
-# - has_id: 0 or 1.
-# Whether the symbol has an id.
-# - id: string
-# If has_id, the id. Guaranteed to be usable as a C identifier.
-# Prefixed by api.token.prefix if defined.
-# - tag: string.
-# A representat of the symbol. Can be 'foo', 'foo.id', '"foo"' etc.
-# - user_number: integer
-# The assigned (external) number as used by yylex.
-# - is_token: 0 or 1
-# Whether this is a terminal symbol.
-# - number: integer
-# The internalized number (used after yytranslate).
-# - has_type: 0, 1
-# Whether has a semantic value.
-# - type_tag: string
-# When api.value.type=union, the generated name for the union member.
-# yytype_INT etc. for symbols that has_id, otherwise yytype_1 etc.
-# - type
-# If it has a semantic value, its type tag, or, if variant are used,
-# its type.
-# In the case of api.value.type=union, type is the real type (e.g. int).
-# - has_printer: 0, 1
-# - printer: string
-# - printer_file: string
-# - printer_line: integer
-# If the symbol has a printer, everything about it.
-# - has_destructor, destructor, destructor_file, destructor_line
-# Likewise.
-#
-# The following macros provide access to these values.
-
-# b4_symbol_(NUM, FIELD)
-# ----------------------
-# Recover a FIELD about symbol #NUM. Thanks to m4_indir, fails if
-# undefined.
-m4_define([b4_symbol_],
-[m4_indir([b4_symbol($1, $2)])])
-
-
-# b4_symbol(NUM, FIELD)
-# ---------------------
-# Recover a FIELD about symbol #NUM. Thanks to m4_indir, fails if
-# undefined. If FIELD = id, prepend the token prefix.
-m4_define([b4_symbol],
-[m4_case([$2],
- [id], [m4_do([b4_percent_define_get([api.token.prefix])],
- [b4_symbol_([$1], [id])])],
- [b4_symbol_($@)])])
-
-
-# b4_symbol_if(NUM, FIELD, IF-TRUE, IF-FALSE)
-# -------------------------------------------
-# If FIELD about symbol #NUM is 1 expand IF-TRUE, if is 0, expand IF-FALSE.
-# Otherwise an error.
-m4_define([b4_symbol_if],
-[m4_case(b4_symbol([$1], [$2]),
- [1], [$3],
- [0], [$4],
- [m4_fatal([$0: field $2 of $1 is not a Boolean:] b4_symbol([$1], [$2]))])])
-
-
-# b4_symbol_tag_comment(SYMBOL-NUM)
-# ---------------------------------
-# Issue a comment giving the tag of symbol NUM.
-m4_define([b4_symbol_tag_comment],
-[b4_comment([b4_symbol([$1], [tag])])
-])
-
-
-# b4_symbol_action_location(SYMBOL-NUM, KIND)
-# -------------------------------------------
-# Report the location of the KIND action as FILE:LINE.
-m4_define([b4_symbol_action_location],
-[b4_symbol([$1], [$2_file]):b4_syncline([b4_symbol([$1], [$2_line])])])
-
-
-# b4_symbol_action(SYMBOL-NUM, KIND)
-# ----------------------------------
-# Run the action KIND (destructor or printer) for SYMBOL-NUM.
-# Same as in C, but using references instead of pointers.
-m4_define([b4_symbol_action],
-[b4_symbol_if([$1], [has_$2],
-[b4_dollar_pushdef([(*yyvaluep)],
- b4_symbol_if([$1], [has_type],
- [m4_dquote(b4_symbol([$1], [type]))]),
- [(*yylocationp)])dnl
- b4_symbol_case_([$1])[]dnl
-b4_syncline([b4_symbol([$1], [$2_line])], ["b4_symbol([$1], [$2_file])"])
- b4_symbol([$1], [$2])
-b4_syncline([@oline@], [@ofile@])
- break;
-
-b4_dollar_popdef[]dnl
-])])
-
-
-# b4_symbol_destructor(SYMBOL-NUM)
-# b4_symbol_printer(SYMBOL-NUM)
-# --------------------------------
-m4_define([b4_symbol_destructor], [b4_symbol_action([$1], [destructor])])
-m4_define([b4_symbol_printer], [b4_symbol_action([$1], [printer])])
-
-
-# b4_symbol_actions(KIND, [TYPE = yytype])
-# ----------------------------------------
-# Emit the symbol actions for KIND ("printer" or "destructor").
-# Dispatch on TYPE.
-m4_define([b4_symbol_actions],
-[m4_pushdef([b4_actions_], m4_expand([b4_symbol_foreach([b4_symbol_$1])]))dnl
-m4_ifval(m4_defn([b4_actions_]),
-[switch (m4_default([$2], [yytype]))
- {
- m4_defn([b4_actions_])
- default:
- break;
- }dnl
-],
-[YYUSE (m4_default([$2], [yytype]));])dnl
-m4_popdef([b4_actions_])dnl
-])
-
-# b4_symbol_case_(SYMBOL-NUM)
-# ---------------------------
-# Issue a "case NUM" for SYMBOL-NUM.
-m4_define([b4_symbol_case_],
-[case b4_symbol([$1], [number]): b4_symbol_tag_comment([$1])])
-])
-
-
-# b4_symbol_foreach(MACRO)
-# ------------------------
-# Invoke MACRO(SYMBOL-NUM) for each SYMBOL-NUM.
-m4_define([b4_symbol_foreach],
- [m4_map([$1], m4_defn([b4_symbol_numbers]))])
-
-# b4_symbol_map(MACRO)
-# --------------------
-# Return a list (possibly empty elements) of MACRO invoked for each
-# SYMBOL-NUM.
-m4_define([b4_symbol_map],
-[m4_map_args_sep([$1(], [)], [,], b4_symbol_numbers)])
-
-
-# b4_token_visible_if(NUM, IF-TRUE, IF-FALSE)
-# -------------------------------------------
-# Whether NUM denotes a token that has an exported definition (i.e.,
-# shows in enum yytokentype).
-m4_define([b4_token_visible_if],
-[b4_symbol_if([$1], [is_token],
- [b4_symbol_if([$1], [has_id], [$2], [$3])],
- [$3])])
-
-# b4_token_has_definition(NUM)
-# ----------------------------
-# 1 if NUM is visible, nothing otherwise.
-m4_define([b4_token_has_definition],
-[b4_token_visible_if([$1], [1])])
-
-# b4_any_token_visible_if([IF-TRUE], [IF-FALSE])
-# ----------------------------------------------
-# Whether there is a token that needs to be defined.
-m4_define([b4_any_token_visible_if],
-[m4_ifval(b4_symbol_foreach([b4_token_has_definition]),
- [$1], [$2])])
-
-
-# b4_token_format(FORMAT, NUM)
-# ----------------------------
-m4_define([b4_token_format],
-[b4_token_visible_if([$2],
-[m4_quote(m4_format([$1],
- [b4_symbol([$2], [id])],
- [b4_symbol([$2], [user_number])]))])])
-
-
-## ------- ##
-## Types. ##
-## ------- ##
-
-# b4_type_action_(NUMS)
-# ---------------------
-# Run actions for the symbol NUMS that all have the same type-name.
-# Skip NUMS that have no type-name.
-#
-# To specify the action to run, define b4_dollar_dollar(NUMBER,
-# TAG, TYPE).
-m4_define([b4_type_action_],
-[b4_symbol_if([$1], [has_type],
-[m4_map([ b4_symbol_case_], [$@])[]dnl
- b4_dollar_dollar([b4_symbol([$1], [number])],
- [b4_symbol([$1], [tag])],
- [b4_symbol([$1], [type])]);
- break;
-
-])])
-
-# b4_type_foreach(MACRO)
-# ----------------------
-# Invoke MACRO(SYMBOL-NUMS) for each set of SYMBOL-NUMS for each type set.
-m4_define([b4_type_foreach],
- [m4_map([$1], m4_defn([b4_type_names]))])
-
-
-
-## ----------- ##
-## Synclines. ##
-## ----------- ##
-
-# b4_basename(NAME)
-# -----------------
-# Similar to POSIX basename; the differences don't matter here.
-# Beware that NAME is not evaluated.
-m4_define([b4_basename],
-[m4_bpatsubst([$1], [^.*/\([^/]+\)/*$], [\1])])
-
-
-# b4_syncline(LINE, FILE)
-# -----------------------
-m4_define([b4_syncline],
-[b4_flag_if([synclines],
-[b4_sync_start([$1], [$2]) b4_sync_end([__line__],
- [b4_basename(m4_quote(__file__))])[]dnl
-])])
-
-# b4_sync_start(LINE, FILE)
-# -----------------------
-# Syncline for the new place. Typically a directive for the compiler.
-m4_define([b4_sync_start], [b4_comment([$2:$1])])
-
-# b4_sync_end(LINE, FILE)
-# -----------------------
-# Syncline for the current place, which ends. Typically a comment
-# left for the reader.
-m4_define([b4_sync_end], [b4_comment([$2:$1])])
-
-
-# b4_user_code(USER-CODE)
-# -----------------------
-# Emit code from the user, ending it with synclines.
-m4_define([b4_user_code],
-[$1
-b4_syncline([@oline@], [@ofile@])])
-
-
-# b4_define_user_code(MACRO)
-# --------------------------
-# From b4_MACRO, build b4_user_MACRO that includes the synclines.
-m4_define([b4_define_user_code],
-[m4_define([b4_user_$1],
-[b4_user_code([b4_$1])])])
-
-
-# b4_user_actions
-# b4_user_initial_action
-# b4_user_post_prologue
-# b4_user_pre_prologue
-# b4_user_union_members
-# ----------------------
-# Macros that issue user code, ending with synclines.
-b4_define_user_code([actions])
-b4_define_user_code([initial_action])
-b4_define_user_code([post_prologue])
-b4_define_user_code([pre_prologue])
-b4_define_user_code([union_members])
-
-
-# b4_check_user_names(WHAT, USER-LIST, BISON-NAMESPACE)
-# -----------------------------------------------------
-# Complain if any name of type WHAT is used by the user (as recorded in
-# USER-LIST) but is not used by Bison (as recorded by macros in the
-# namespace BISON-NAMESPACE).
-#
-# USER-LIST must expand to a list specifying all user occurrences of all names
-# of type WHAT. Each item in the list must be a triplet specifying one
-# occurrence: name, start boundary, and end boundary. Empty string names are
-# fine. An empty list is fine.
-#
-# For example, to define b4_foo_user_names to be used for USER-LIST with three
-# name occurrences and with correct quoting:
-#
-# m4_define([b4_foo_user_names],
-# [[[[[[bar]], [[parser.y:1.7]], [[parser.y:1.16]]]],
-# [[[[bar]], [[parser.y:5.7]], [[parser.y:5.16]]]],
-# [[[[baz]], [[parser.y:8.7]], [[parser.y:8.16]]]]]])
-#
-# The macro BISON-NAMESPACE(bar) must be defined iff the name bar of type WHAT
-# is used by Bison (in the front-end or in the skeleton). Empty string names
-# are fine, but it would be ugly for Bison to actually use one.
-#
-# For example, to use b4_foo_bison_names for BISON-NAMESPACE and define that
-# the names bar and baz are used by Bison:
-#
-# m4_define([b4_foo_bison_names(bar)])
-# m4_define([b4_foo_bison_names(baz)])
-#
-# To invoke b4_check_user_names with TYPE foo, with USER-LIST
-# b4_foo_user_names, with BISON-NAMESPACE b4_foo_bison_names, and with correct
-# quoting:
-#
-# b4_check_user_names([[foo]], [b4_foo_user_names],
-# [[b4_foo_bison_names]])
-m4_define([b4_check_user_names],
-[m4_foreach([b4_occurrence], $2,
-[m4_pushdef([b4_occurrence], b4_occurrence)dnl
-m4_pushdef([b4_user_name], m4_car(b4_occurrence))dnl
-m4_pushdef([b4_start], m4_car(m4_shift(b4_occurrence)))dnl
-m4_pushdef([b4_end], m4_shift(m4_shift(b4_occurrence)))dnl
-m4_ifndef($3[(]m4_quote(b4_user_name)[)],
- [b4_complain_at([b4_start], [b4_end],
- [[%s '%s' is not used]],
- [$1], [b4_user_name])])[]dnl
-m4_popdef([b4_occurrence])dnl
-m4_popdef([b4_user_name])dnl
-m4_popdef([b4_start])dnl
-m4_popdef([b4_end])dnl
-])])
-
-
-
-## --------------------- ##
-## b4_percent_define_*. ##
-## --------------------- ##
-
-
-# b4_percent_define_use(VARIABLE)
-# -------------------------------
-# Declare that VARIABLE was used.
-m4_define([b4_percent_define_use],
-[m4_define([b4_percent_define_bison_variables(]$1[)])dnl
-])
-
-# b4_percent_define_get(VARIABLE, [DEFAULT])
-# ------------------------------------------
-# Mimic muscle_percent_define_get in ../src/muscle-tab.h. That is, if
-# the %define variable VARIABLE is defined, emit its value. Contrary
-# to its C counterpart, return DEFAULT otherwise. Also, record
-# Bison's usage of VARIABLE by defining
-# b4_percent_define_bison_variables(VARIABLE).
-#
-# For example:
-#
-# b4_percent_define_get([[foo]])
-m4_define([b4_percent_define_get],
-[b4_percent_define_use([$1])dnl
-b4_percent_define_ifdef_([$1],
- [m4_indir([b4_percent_define(]$1[)])],
- [$2])])
-
-# b4_percent_define_get_loc(VARIABLE)
-# -----------------------------------
-# Mimic muscle_percent_define_get_loc in ../src/muscle-tab.h exactly. That is,
-# if the %define variable VARIABLE is undefined, complain fatally since that's
-# a Bison or skeleton error. Otherwise, return its definition location in a
-# form approriate for the first two arguments of b4_warn_at, b4_complain_at, or
-# b4_fatal_at. Don't record this as a Bison usage of VARIABLE as there's no
-# reason to suspect that the user-supplied value has yet influenced the output.
-#
-# For example:
-#
-# b4_complain_at(b4_percent_define_get_loc([[foo]]), [[invalid foo]])
-m4_define([b4_percent_define_get_loc],
-[m4_ifdef([b4_percent_define_loc(]$1[)],
- [m4_pushdef([b4_loc], m4_indir([b4_percent_define_loc(]$1[)]))dnl
-b4_loc[]dnl
-m4_popdef([b4_loc])],
- [b4_fatal([[$0: undefined %%define variable '%s']], [$1])])])
-
-# b4_percent_define_get_kind(VARIABLE)
-# ------------------------------------
-# Get the kind (code, keyword, string) of VARIABLE, i.e., how its
-# value was defined (braces, not delimiters, quotes).
-#
-# If the %define variable VARIABLE is undefined, complain fatally
-# since that's a Bison or skeleton error. Don't record this as a
-# Bison usage of VARIABLE as there's no reason to suspect that the
-# user-supplied value has yet influenced the output.
-m4_define([b4_percent_define_get_kind],
-[m4_ifdef([b4_percent_define_kind(]$1[)],
- [m4_indir([b4_percent_define_kind(]$1[)])],
- [b4_fatal([[$0: undefined %%define variable '%s']], [$1])])])
-
-# b4_percent_define_get_syncline(VARIABLE)
-# ----------------------------------------
-# Mimic muscle_percent_define_get_syncline in ../src/muscle-tab.h exactly.
-# That is, if the %define variable VARIABLE is undefined, complain fatally
-# since that's a Bison or skeleton error. Otherwise, return its definition
-# location as a b4_syncline invocation. Don't record this as a Bison usage of
-# VARIABLE as there's no reason to suspect that the user-supplied value has yet
-# influenced the output.
-#
-# For example:
-#
-# b4_percent_define_get_syncline([[foo]])
-m4_define([b4_percent_define_get_syncline],
-[m4_ifdef([b4_percent_define_syncline(]$1[)],
- [m4_indir([b4_percent_define_syncline(]$1[)])],
- [b4_fatal([[$0: undefined %%define variable '%s']], [$1])])])
-
-# b4_percent_define_ifdef_(VARIABLE, IF-TRUE, [IF-FALSE])
-# ------------------------------------------------------
-# If the %define variable VARIABLE is defined, expand IF-TRUE, else expand
-# IF-FALSE. Don't record usage of VARIABLE.
-#
-# For example:
-#
-# b4_percent_define_ifdef_([[foo]], [[it's defined]], [[it's undefined]])
-m4_define([b4_percent_define_ifdef_],
-[m4_ifdef([b4_percent_define(]$1[)],
- [$2],
- [$3])])
-
-# b4_percent_define_ifdef(VARIABLE, IF-TRUE, [IF-FALSE])
-# ------------------------------------------------------
-# Mimic muscle_percent_define_ifdef in ../src/muscle-tab.h exactly. That is,
-# if the %define variable VARIABLE is defined, expand IF-TRUE, else expand
-# IF-FALSE. Also, record Bison's usage of VARIABLE by defining
-# b4_percent_define_bison_variables(VARIABLE).
-#
-# For example:
-#
-# b4_percent_define_ifdef([[foo]], [[it's defined]], [[it's undefined]])
-m4_define([b4_percent_define_ifdef],
-[b4_percent_define_ifdef_([$1],
- [b4_percent_define_use([$1])$2],
- [$3])])
-
-
-## --------- ##
-## Options. ##
-## --------- ##
-
-
-# b4_percent_define_flag_if(VARIABLE, IF-TRUE, [IF-FALSE])
-# --------------------------------------------------------
-# Mimic muscle_percent_define_flag_if in ../src/muscle-tab.h exactly. That is,
-# if the %define variable VARIABLE is defined to "" or "true", expand IF-TRUE.
-# If it is defined to "false", expand IF-FALSE. Complain if it is undefined
-# (a Bison or skeleton error since the default value should have been set
-# already) or defined to any other value (possibly a user error). Also, record
-# Bison's usage of VARIABLE by defining
-# b4_percent_define_bison_variables(VARIABLE).
-#
-# For example:
-#
-# b4_percent_define_flag_if([[foo]], [[it's true]], [[it's false]])
-m4_define([b4_percent_define_flag_if],
-[b4_percent_define_ifdef([$1],
- [m4_case(b4_percent_define_get([$1]),
- [], [$2], [true], [$2], [false], [$3],
- [m4_expand_once([b4_complain_at(b4_percent_define_get_loc([$1]),
- [[invalid value for %%define Boolean variable '%s']],
- [$1])],
- [[b4_percent_define_flag_if($1)]])])],
- [b4_fatal([[$0: undefined %%define variable '%s']], [$1])])])
-
-
-# b4_percent_define_default(VARIABLE, DEFAULT, [KIND = keyword])
-# --------------------------------------------------------------
-# Mimic muscle_percent_define_default in ../src/muscle-tab.h exactly. That is,
-# if the %define variable VARIABLE is undefined, set its value to DEFAULT.
-# Don't record this as a Bison usage of VARIABLE as there's no reason to
-# suspect that the value has yet influenced the output.
-#
-# For example:
-#
-# b4_percent_define_default([[foo]], [[default value]])
-m4_define([b4_percent_define_default],
-[b4_percent_define_ifdef_([$1], [],
- [m4_define([b4_percent_define(]$1[)], [$2])dnl
- m4_define([b4_percent_define_kind(]$1[)],
- [m4_default([$3], [keyword])])dnl
- m4_define([b4_percent_define_loc(]$1[)],
- [[[[<skeleton default value>:-1.-1]],
- [[<skeleton default value>:-1.-1]]]])dnl
- m4_define([b4_percent_define_syncline(]$1[)], [[]])])])
-
-
-# b4_percent_define_if_define(NAME, [VARIABLE = NAME])
-# ----------------------------------------------------
-# Define b4_NAME_if that executes its $1 or $2 depending whether
-# VARIABLE was %defined. The characters '.' and `-' in VARIABLE are mapped
-# to '_'.
-m4_define([b4_percent_define_if_define_],
-[m4_define(m4_bpatsubst([b4_$1_if], [[-.]], [_]),
- [b4_percent_define_flag_if(m4_default([$2], [$1]),
- [$3], [$4])])])
-m4_define([b4_percent_define_if_define],
-[b4_percent_define_default([m4_default([$2], [$1])], [[false]])
-b4_percent_define_if_define_([$1], [$2], $[1], $[2])])
-
-
-# b4_percent_define_check_kind(VARIABLE, KIND, [DIAGNOSTIC = complain])
-# ---------------------------------------------------------------------
-m4_define([b4_percent_define_check_kind],
-[b4_percent_define_ifdef_([$1],
- [m4_if(b4_percent_define_get_kind([$1]), [$2], [],
- [b4_error([m4_default([$3], [complain])],
- b4_percent_define_get_loc([$1]),
- [m4_case([$2],
- [code], [[%%define variable '%s' requires '{...}' values]],
- [keyword], [[%%define variable '%s' requires keyword values]],
- [string], [[%%define variable '%s' requires '"..."' values]])],
- [$1])])])dnl
-])
-
-
-# b4_percent_define_check_values(VALUES)
-# --------------------------------------
-# Mimic muscle_percent_define_check_values in ../src/muscle-tab.h exactly
-# except that the VALUES structure is more appropriate for M4. That is, VALUES
-# is a list of sublists of strings. For each sublist, the first string is the
-# name of a %define variable, and all remaining strings in that sublist are the
-# valid values for that variable. Complain if such a variable is undefined (a
-# Bison error since the default value should have been set already) or defined
-# to any other value (possibly a user error). Don't record this as a Bison
-# usage of the variable as there's no reason to suspect that the value has yet
-# influenced the output.
-#
-# For example:
-#
-# b4_percent_define_check_values([[[[foo]], [[foo-value1]], [[foo-value2]]]],
-# [[[[bar]], [[bar-value1]]]])
-m4_define([b4_percent_define_check_values],
-[m4_foreach([b4_sublist], m4_quote($@),
- [_b4_percent_define_check_values(b4_sublist)])])
-
-m4_define([_b4_percent_define_check_values],
-[b4_percent_define_ifdef_([$1],
- [b4_percent_define_check_kind(]$1[, [keyword], [deprecated])dnl
- m4_pushdef([b4_good_value], [0])dnl
- m4_if($#, 1, [],
- [m4_foreach([b4_value], m4_dquote(m4_shift($@)),
- [m4_if(m4_indir([b4_percent_define(]$1[)]), b4_value,
- [m4_define([b4_good_value], [1])])])])dnl
- m4_if(b4_good_value, [0],
- [b4_complain_at(b4_percent_define_get_loc([$1]),
- [[invalid value for %%define variable '%s': '%s']],
- [$1],
- m4_dquote(m4_indir([b4_percent_define(]$1[)])))
- m4_foreach([b4_value], m4_dquote(m4_shift($@)),
- [b4_error([[note]], b4_percent_define_get_loc([$1]), []
- [[accepted value: '%s']],
- m4_dquote(b4_value))])])dnl
- m4_popdef([b4_good_value])],
- [b4_fatal([[$0: undefined %%define variable '%s']], [$1])])])
-
-# b4_percent_code_get([QUALIFIER])
-# --------------------------------
-# If any %code blocks for QUALIFIER are defined, emit them beginning with a
-# comment and ending with synclines and a newline. If QUALIFIER is not
-# specified or empty, do this for the unqualified %code blocks. Also, record
-# Bison's usage of QUALIFIER (if specified) by defining
-# b4_percent_code_bison_qualifiers(QUALIFIER).
-#
-# For example, to emit any unqualified %code blocks followed by any %code
-# blocks for the qualifier foo:
-#
-# b4_percent_code_get
-# b4_percent_code_get([[foo]])
-m4_define([b4_percent_code_get],
-[m4_pushdef([b4_macro_name], [[b4_percent_code(]$1[)]])dnl
-m4_ifval([$1], [m4_define([b4_percent_code_bison_qualifiers(]$1[)])])dnl
-m4_ifdef(b4_macro_name,
-[b4_comment([m4_if([$#], [0], [[Unqualified %code]],
- [["%code ]$1["]])[ blocks.]])
-b4_user_code([m4_indir(b4_macro_name)])
-])dnl
-m4_popdef([b4_macro_name])])
-
-# b4_percent_code_ifdef(QUALIFIER, IF-TRUE, [IF-FALSE])
-# -----------------------------------------------------
-# If any %code blocks for QUALIFIER (or unqualified %code blocks if
-# QUALIFIER is empty) are defined, expand IF-TRUE, else expand IF-FALSE.
-# Also, record Bison's usage of QUALIFIER (if specified) by defining
-# b4_percent_code_bison_qualifiers(QUALIFIER).
-m4_define([b4_percent_code_ifdef],
-[m4_ifdef([b4_percent_code(]$1[)],
- [m4_ifval([$1], [m4_define([b4_percent_code_bison_qualifiers(]$1[)])])$2],
- [$3])])
-
-
-## ------------------ ##
-## Common variables. ##
-## ------------------ ##
-
-
-# b4_parse_assert_if([IF-ASSERTIONS-ARE-USED], [IF-NOT])
-# b4_parse_trace_if([IF-DEBUG-TRACES-ARE-ENABLED], [IF-NOT])
-# b4_token_ctor_if([IF-YYLEX-RETURNS-A-TOKEN], [IF-NOT])
-# ----------------------------------------------
-b4_percent_define_if_define([token_ctor], [api.token.constructor])
-b4_percent_define_if_define([locations]) # Whether locations are tracked.
-b4_percent_define_if_define([parse.assert])
-b4_percent_define_if_define([parse.trace])
-
-
-# b4_bison_locations_if([IF-TRUE])
-# --------------------------------
-# Expand IF-TRUE if using locations, and using the default location
-# type.
-m4_define([b4_bison_locations_if],
-[b4_locations_if([b4_percent_define_ifdef([[api.location.type]], [], [$1])])])
-
-
-# b4_error_verbose_if([IF-ERRORS-ARE-VERBOSE], [IF-NOT])
-# ------------------------------------------------------
-# Map %define parse.error "(simple|verbose)" to b4_error_verbose_if and
-# b4_error_verbose_flag.
-b4_percent_define_default([[parse.error]], [[simple]])
-b4_percent_define_check_values([[[[parse.error]],
- [[simple]], [[verbose]]]])
-m4_define([b4_error_verbose_flag],
- [m4_case(b4_percent_define_get([[parse.error]]),
- [simple], [[0]],
- [verbose], [[1]])])
-b4_define_flag_if([error_verbose])
-
-# yytoken_table is needed to support verbose errors.
-b4_error_verbose_if([m4_define([b4_token_table_flag], [1])])
-
-
-# b4_variant_if([IF-VARIANT-ARE-USED], [IF-NOT])
-# ----------------------------------------------
-b4_percent_define_if_define([variant])
-m4_define([b4_variant_flag], [[0]])
-b4_percent_define_ifdef([[api.value.type]],
- [m4_case(b4_percent_define_get_kind([[api.value.type]]), [keyword],
- [m4_case(b4_percent_define_get([[api.value.type]]), [variant],
- [m4_define([b4_variant_flag], [[1]])])])])
-b4_define_flag_if([variant])
-
-
-## ----------------------------------------------------------- ##
-## After processing the skeletons, check that all the user's ##
-## %define variables and %code qualifiers were used by Bison. ##
-## ----------------------------------------------------------- ##
-
-m4_define([b4_check_user_names_wrap],
-[m4_ifdef([b4_percent_]$1[_user_]$2[s],
- [b4_check_user_names([[%]$1 $2],
- [b4_percent_]$1[_user_]$2[s],
- [[b4_percent_]$1[_bison_]$2[s]])])])
-
-m4_wrap_lifo([
-b4_check_user_names_wrap([[define]], [[variable]])
-b4_check_user_names_wrap([[code]], [[qualifier]])
-])
-
-
-## ---------------- ##
-## Default values. ##
-## ---------------- ##
-
-# m4_define_default([b4_lex_param], []) dnl breaks other skeletons
-m4_define_default([b4_pre_prologue], [])
-m4_define_default([b4_post_prologue], [])
-m4_define_default([b4_epilogue], [])
-m4_define_default([b4_parse_param], [])
-
-# The initial column and line.
-m4_define_default([b4_location_initial_column], [1])
-m4_define_default([b4_location_initial_line], [1])
-
-
-## --------------- ##
-## Sanity checks. ##
-## --------------- ##
-
-# api.location.prefix={...} (Java and C++).
-b4_percent_define_check_kind([api.location.type], [code], [deprecated])
-
-# api.position.prefix={...} (Java).
-b4_percent_define_check_kind([api.position.type], [code], [deprecated])
-
-# api.prefix >< %name-prefix.
-b4_percent_define_check_kind([api.prefix], [code], [deprecated])
-b4_percent_define_ifdef([api.prefix],
-[m4_ifdef([b4_prefix],
-[b4_complain_at(b4_percent_define_get_loc([api.prefix]),
- [['%s' and '%s' cannot be used together]],
- [%name-prefix],
- [%define api.prefix])])])
-
-# api.token.prefix={...}
-# Make it a warning for those who used betas of Bison 3.0.
-b4_percent_define_check_kind([api.token.prefix], [code], [deprecated])
-
-# api.value.type >< %union.
-b4_percent_define_ifdef([api.value.type],
-[m4_ifdef([b4_union_members],
-[b4_complain_at(b4_percent_define_get_loc([api.value.type]),
- [['%s' and '%s' cannot be used together]],
- [%union],
- [%define api.value.type])])])
-
-# api.value.type=union >< %yacc.
-b4_percent_define_ifdef([api.value.type],
-[m4_if(b4_percent_define_get([api.value.type]), [union],
-[b4_yacc_if(dnl
-[b4_complain_at(b4_percent_define_get_loc([api.value.type]),
- [['%s' and '%s' cannot be used together]],
- [%yacc],
- [%define api.value.type "union"])])])])
diff --git a/gnuwin32/bin/data/c++-skel.m4 b/gnuwin32/bin/data/c++-skel.m4
deleted file mode 100644
index 06597a8b..00000000
--- a/gnuwin32/bin/data/c++-skel.m4
+++ /dev/null
@@ -1,26 +0,0 @@
- -*- Autoconf -*-
-
-# C++ skeleton dispatching for Bison.
-
-# Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-b4_glr_if( [m4_define([b4_used_skeleton], [b4_pkgdatadir/[glr.cc]])])
-b4_nondeterministic_if([m4_define([b4_used_skeleton], [b4_pkgdatadir/[glr.cc]])])
-
-m4_define_default([b4_used_skeleton], [b4_pkgdatadir/[lalr1.cc]])
-m4_define_default([b4_skeleton], ["b4_basename(b4_used_skeleton)"])
-
-m4_include(b4_used_skeleton)
diff --git a/gnuwin32/bin/data/c++.m4 b/gnuwin32/bin/data/c++.m4
deleted file mode 100644
index be12c0a2..00000000
--- a/gnuwin32/bin/data/c++.m4
+++ /dev/null
@@ -1,544 +0,0 @@
- -*- Autoconf -*-
-
-# C++ skeleton for Bison
-
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-m4_include(b4_pkgdatadir/[c.m4])
-
-# b4_comment(TEXT, [PREFIX])
-# --------------------------
-# Put TEXT in comment. Prefix all the output lines with PREFIX.
-m4_define([b4_comment],
-[b4_comment_([$1], [$2// ], [$2// ])])
-
-## -------- ##
-## Checks. ##
-## -------- ##
-
-b4_percent_define_check_kind([api.namespace], [code], [deprecated])
-b4_percent_define_check_kind([parser_class_name], [code], [deprecated])
-
-## ---------------- ##
-## Default values. ##
-## ---------------- ##
-
-b4_percent_define_default([[parser_class_name]], [[parser]])
-
-# Don't do that so that we remember whether we're using a user
-# request, or the default value.
-#
-# b4_percent_define_default([[api.location.type]], [[location]])
-
-b4_percent_define_default([[filename_type]], [[std::string]])
-# Make it a warning for those who used betas of Bison 3.0.
-b4_percent_define_default([[api.namespace]], m4_defn([b4_prefix]))
-
-b4_percent_define_default([[global_tokens_and_yystype]], [[false]])
-b4_percent_define_default([[define_location_comparison]],
- [m4_if(b4_percent_define_get([[filename_type]]),
- [std::string], [[true]], [[false]])])
-
-
-
-## ----------- ##
-## Namespace. ##
-## ----------- ##
-
-m4_define([b4_namespace_ref], [b4_percent_define_get([[api.namespace]])])
-
-
-# Don't permit an empty b4_namespace_ref. Any '::parser::foo' appended to it
-# would compile as an absolute reference with 'parser' in the global namespace.
-# b4_namespace_open would open an anonymous namespace and thus establish
-# internal linkage. This would compile. However, it's cryptic, and internal
-# linkage for the parser would be specified in all translation units that
-# include the header, which is always generated. If we ever need to permit
-# internal linkage somehow, surely we can find a cleaner approach.
-m4_if(m4_bregexp(b4_namespace_ref, [^[ ]*$]), [-1], [],
-[b4_complain_at(b4_percent_define_get_loc([[api.namespace]]),
- [[namespace reference is empty]])])
-
-# Instead of assuming the C++ compiler will do it, Bison should reject any
-# invalid b4_namepsace_ref that would be converted to a valid
-# b4_namespace_open. The problem is that Bison doesn't always output
-# b4_namespace_ref to uncommented code but should reserve the ability to do so
-# in future releases without risking breaking any existing user grammars.
-# Specifically, don't allow empty names as b4_namespace_open would just convert
-# those into anonymous namespaces, and that might tempt some users.
-m4_if(m4_bregexp(b4_namespace_ref, [::[ ]*::]), [-1], [],
-[b4_complain_at(b4_percent_define_get_loc([[api.namespace]]),
- [[namespace reference has consecutive "::"]])])
-m4_if(m4_bregexp(b4_namespace_ref, [::[ ]*$]), [-1], [],
-[b4_complain_at(b4_percent_define_get_loc([[api.namespace]]),
- [[namespace reference has a trailing "::"]])])
-
-m4_define([b4_namespace_open],
-[b4_user_code([b4_percent_define_get_syncline([[api.namespace]])
-[namespace ]m4_bpatsubst(m4_dquote(m4_bpatsubst(m4_dquote(b4_namespace_ref),
- [^\(.\)[ ]*::], [\1])),
- [::], [ { namespace ])[ {]])])
-
-m4_define([b4_namespace_close],
-[b4_user_code([b4_percent_define_get_syncline([[api.namespace]])
-m4_bpatsubst(m4_dquote(m4_bpatsubst(m4_dquote(b4_namespace_ref[ ]),
- [^\(.\)[ ]*\(::\)?\([^][:]\|:[^:]\)*],
- [\1])),
- [::\([^][:]\|:[^:]\)*], [} ])[} // ]b4_namespace_ref])])
-
-
-# b4_token_enums
-# --------------
-# Output the definition of the tokens as enums.
-m4_define([b4_token_enums],
-[[enum yytokentype
- {
- ]m4_join([,
- ],
- b4_symbol_map([b4_token_enum]))[
- };]dnl
-])
-
-
-
-
-## ----------------- ##
-## Semantic Values. ##
-## ----------------- ##
-
-
-
-# b4_value_type_declare
-# ---------------------
-# Declare semantic_type.
-m4_define([b4_value_type_declare],
-[b4_value_type_setup[]dnl
-[ /// Symbol semantic values.
-]m4_bmatch(b4_percent_define_get_kind([[api.value.type]]),
-[code],
-[[ typedef ]b4_percent_define_get([[api.value.type]])[ semantic_type;]],
-[m4_bmatch(b4_percent_define_get([[api.value.type]]),
-[union\|union-directive],
-[[ union semantic_type
- {
- ]b4_user_union_members[
- };]])])dnl
-])
-
-
-# b4_public_types_declare
-# -----------------------
-# Define the public types: token, semantic value, location, and so forth.
-# Depending on %define token_lex, may be output in the header or source file.
-m4_define([b4_public_types_declare],
-[[#ifndef ]b4_api_PREFIX[STYPE
-]b4_value_type_declare[
-#else
- typedef ]b4_api_PREFIX[STYPE semantic_type;
-#endif]b4_locations_if([
- /// Symbol locations.
- typedef b4_percent_define_get([[api.location.type]],
- [[location]]) location_type;])[
-
- /// Syntax errors thrown from user actions.
- struct syntax_error : std::runtime_error
- {
- syntax_error (]b4_locations_if([const location_type& l, ])[const std::string& m);]b4_locations_if([
- location_type location;])[
- };
-
- /// Tokens.
- struct token
- {
- ]b4_token_enums[
- };
-
- /// (External) token type, as returned by yylex.
- typedef token::yytokentype token_type;
-
- /// Internal symbol number.
- typedef int symbol_number_type;
-
- /// Internal symbol number for tokens (subsumed by symbol_number_type).
- typedef ]b4_int_type_for([b4_translate])[ token_number_type;
-
- /// A complete symbol.
- ///
- /// Expects its Base type to provide access to the symbol type
- /// via type_get().
- ///
- /// Provide access to semantic value]b4_locations_if([ and location])[.
- template <typename Base>
- struct basic_symbol : Base
- {
- /// Alias to Base.
- typedef Base super_type;
-
- /// Default constructor.
- basic_symbol ();
-
- /// Copy constructor.
- basic_symbol (const basic_symbol& other);
-]b4_variant_if([[
- /// Constructor for valueless symbols, and symbols from each type.
-]b4_type_foreach([b4_basic_symbol_constructor_declare])], [[
- /// Constructor for valueless symbols.
- basic_symbol (typename Base::kind_type t]b4_locations_if([,
- const location_type& l])[);]])[
-
- /// Constructor for symbols with semantic value.
- basic_symbol (typename Base::kind_type t,
- const semantic_type& v]b4_locations_if([,
- const location_type& l])[);
-
- ~basic_symbol ();
-
- /// Destructive move, \a s is emptied into this.
- void move (basic_symbol& s);
-
- /// The semantic value.
- semantic_type value;]b4_locations_if([
-
- /// The location.
- location_type location;])[
-
- private:
- /// Assignment operator.
- basic_symbol& operator= (const basic_symbol& other);
- };
-
- /// Type access provider for token (enum) based symbols.
- struct by_type
- {
- /// Default constructor.
- by_type ();
-
- /// Copy constructor.
- by_type (const by_type& other);
-
- /// The symbol type as needed by the constructor.
- typedef token_type kind_type;
-
- /// Constructor from (external) token numbers.
- by_type (kind_type t);
-
- /// Steal the symbol type from \a that.
- void move (by_type& that);
-
- /// The (internal) type number (corresponding to \a type).
- /// -1 when this symbol is empty.
- symbol_number_type type_get () const;
-
- /// The token.
- token_type token () const;
-
- enum { empty = 0 };
-
- /// The symbol type.
- /// -1 when this symbol is empty.
- token_number_type type;
- };
-
- /// "External" symbols: returned by the scanner.
- typedef basic_symbol<by_type> symbol_type;
-
-]b4_symbol_constructor_declare])
-
-
-# b4_public_types_define
-# ----------------------
-# Provide the implementation needed by the public types.
-m4_define([b4_public_types_define],
-[[ inline
- ]b4_parser_class_name[::syntax_error::syntax_error (]b4_locations_if([const location_type& l, ])[const std::string& m)
- : std::runtime_error (m)]b4_locations_if([
- , location (l)])[
- {}
-
- // basic_symbol.
- template <typename Base>
- inline
- ]b4_parser_class_name[::basic_symbol<Base>::basic_symbol ()
- : value ()
- {}
-
- template <typename Base>
- inline
- ]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (const basic_symbol& other)
- : Base (other)
- , value ()]b4_locations_if([
- , location (other.location)])[
- {
- ]b4_variant_if([b4_symbol_variant([other.type_get ()], [value], [copy],
- [other.value])],
- [value = other.value;])[
- }
-
-
- template <typename Base>
- inline
- ]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (]b4_join(
- [typename Base::kind_type t],
- [const semantic_type& v],
- b4_locations_if([const location_type& l]))[)
- : Base (t)
- , value (]b4_variant_if([], [v])[)]b4_locations_if([
- , location (l)])[
- {]b4_variant_if([[
- (void) v;
- ]b4_symbol_variant([this->type_get ()], [value], [copy], [v])])[}
-
-]b4_variant_if([[
- // Implementation of basic_symbol constructor for each type.
-]b4_type_foreach([b4_basic_symbol_constructor_define])], [[
- /// Constructor for valueless symbols.
- template <typename Base>
- inline
- ]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (]b4_join(
- [typename Base::kind_type t],
- b4_locations_if([const location_type& l]))[)
- : Base (t)
- , value ()]b4_locations_if([
- , location (l)])[
- {}]])[
-
- template <typename Base>
- inline
- ]b4_parser_class_name[::basic_symbol<Base>::~basic_symbol ()
- {]b4_variant_if([[
- // User destructor.
- symbol_number_type yytype = this->type_get ();
- switch (yytype)
- {
-]b4_symbol_foreach([b4_symbol_destructor])dnl
-[ default:
- break;
- }
-
- // Type destructor.
- ]b4_symbol_variant([[yytype]], [[value]], [[template destroy]])])[
- }
-
- template <typename Base>
- inline
- void
- ]b4_parser_class_name[::basic_symbol<Base>::move (basic_symbol& s)
- {
- super_type::move(s);
- ]b4_variant_if([b4_symbol_variant([this->type_get ()], [value], [move],
- [s.value])],
- [value = s.value;])[]b4_locations_if([
- location = s.location;])[
- }
-
- // by_type.
- inline
- ]b4_parser_class_name[::by_type::by_type ()
- : type (empty)
- {}
-
- inline
- ]b4_parser_class_name[::by_type::by_type (const by_type& other)
- : type (other.type)
- {}
-
- inline
- ]b4_parser_class_name[::by_type::by_type (token_type t)
- : type (yytranslate_ (t))
- {}
-
- inline
- void
- ]b4_parser_class_name[::by_type::move (by_type& that)
- {
- type = that.type;
- that.type = empty;
- }
-
- inline
- int
- ]b4_parser_class_name[::by_type::type_get () const
- {
- return type;
- }
-]b4_token_ctor_if([[
- inline
- ]b4_parser_class_name[::token_type
- ]b4_parser_class_name[::by_type::token () const
- {
- // YYTOKNUM[NUM] -- (External) token number corresponding to the
- // (internal) symbol number NUM (which must be that of a token). */
- static
- const ]b4_int_type_for([b4_toknum])[
- yytoken_number_[] =
- {
- ]b4_toknum[
- };
- return static_cast<token_type> (yytoken_number_[type]);
- }
-]])[]dnl
-b4_symbol_constructor_define])
-
-
-# b4_symbol_constructor_declare
-# b4_symbol_constructor_define
-# -----------------------------
-# Declare/define symbol constructors for all the value types.
-# Use at class-level. Redefined in variant.hh.
-m4_define([b4_symbol_constructor_declare], [])
-m4_define([b4_symbol_constructor_define], [])
-
-
-# b4_yytranslate_define
-# ---------------------
-# Define yytranslate_. Sometimes used in the header file,
-# sometimes in the cc file.
-m4_define([b4_yytranslate_define],
-[[ // Symbol number corresponding to token number t.
- inline
- ]b4_parser_class_name[::token_number_type
- ]b4_parser_class_name[::yytranslate_ (]b4_token_ctor_if([token_type],
- [int])[ t)
- {
- static
- const token_number_type
- translate_table[] =
- {
-]b4_translate[
- };
- const unsigned int user_token_number_max_ = ]b4_user_token_number_max[;
- const token_number_type undef_token_ = ]b4_undef_token_number[;
-
- if (static_cast<int>(t) <= yyeof_)
- return yyeof_;
- else if (static_cast<unsigned int> (t) <= user_token_number_max_)
- return translate_table[t];
- else
- return undef_token_;
- }
-]])
-
-
-# b4_lhs_value([TYPE])
-# --------------------
-# Expansion of $<TYPE>$.
-m4_define([b4_lhs_value],
-[b4_symbol_value([yyval], [$1])])
-
-
-# b4_rhs_value(RULE-LENGTH, NUM, [TYPE])
-# --------------------------------------
-# Expansion of $<TYPE>NUM, where the current rule has RULE-LENGTH
-# symbols on RHS.
-m4_define([b4_rhs_value],
-[b4_symbol_value([yysemantic_stack_@{($1) - ($2)@}], [$3])])
-
-
-# b4_lhs_location()
-# -----------------
-# Expansion of @$.
-m4_define([b4_lhs_location],
-[(yyloc)])
-
-
-# b4_rhs_location(RULE-LENGTH, NUM)
-# ---------------------------------
-# Expansion of @NUM, where the current rule has RULE-LENGTH symbols
-# on RHS.
-m4_define([b4_rhs_location],
-[(yylocation_stack_@{($1) - ($2)@})])
-
-
-# b4_parse_param_decl
-# -------------------
-# Extra formal arguments of the constructor.
-# Change the parameter names from "foo" into "foo_yyarg", so that
-# there is no collision bw the user chosen attribute name, and the
-# argument name in the constructor.
-m4_define([b4_parse_param_decl],
-[m4_ifset([b4_parse_param],
- [m4_map_sep([b4_parse_param_decl_1], [, ], [b4_parse_param])])])
-
-m4_define([b4_parse_param_decl_1],
-[$1_yyarg])
-
-
-
-# b4_parse_param_cons
-# -------------------
-# Extra initialisations of the constructor.
-m4_define([b4_parse_param_cons],
- [m4_ifset([b4_parse_param],
- [
- b4_cc_constructor_calls(b4_parse_param)])])
-m4_define([b4_cc_constructor_calls],
- [m4_map_sep([b4_cc_constructor_call], [,
- ], [$@])])
-m4_define([b4_cc_constructor_call],
- [$2 ($2_yyarg)])
-
-# b4_parse_param_vars
-# -------------------
-# Extra instance variables.
-m4_define([b4_parse_param_vars],
- [m4_ifset([b4_parse_param],
- [
- // User arguments.
-b4_cc_var_decls(b4_parse_param)])])
-m4_define([b4_cc_var_decls],
- [m4_map_sep([b4_cc_var_decl], [
-], [$@])])
-m4_define([b4_cc_var_decl],
- [ $1;])
-
-
-## ---------##
-## Values. ##
-## ---------##
-
-# b4_yylloc_default_define
-# ------------------------
-# Define YYLLOC_DEFAULT.
-m4_define([b4_yylloc_default_define],
-[[/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
- If N is 0, then set CURRENT to the empty location which ends
- the previous symbol: RHS[0] (always defined). */
-
-# ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N) \
- do \
- if (N) \
- { \
- (Current).begin = YYRHSLOC (Rhs, 1).begin; \
- (Current).end = YYRHSLOC (Rhs, N).end; \
- } \
- else \
- { \
- (Current).begin = (Current).end = YYRHSLOC (Rhs, 0).end; \
- } \
- while (/*CONSTCOND*/ false)
-# endif
-]])
-
-## -------- ##
-## Checks. ##
-## -------- ##
-
-b4_token_ctor_if([b4_variant_if([],
- [b4_fatal_at(b4_percent_define_get_loc(api.token.constructor),
- [cannot use '%s' without '%s'],
- [%define api.token.constructor],
- [%define api.value.type variant]))])])
diff --git a/gnuwin32/bin/data/c-like.m4 b/gnuwin32/bin/data/c-like.m4
deleted file mode 100644
index eb06de2a..00000000
--- a/gnuwin32/bin/data/c-like.m4
+++ /dev/null
@@ -1,65 +0,0 @@
- -*- Autoconf -*-
-
-# Common code for C-like languages (C, C++, Java, etc.)
-
-# Copyright (C) 2012-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# b4_comment_(TEXT, OPEN, CONTINUE, END)
-# --------------------------------------
-# Put TEXT in comment. Avoid trailing spaces: don't indent empty lines.
-# Avoid adding indentation to the first line, as the indentation comes
-# from OPEN. That's why we don't patsubst([$1], [^\(.\)], [ \1]).
-#
-# Prefix all the output lines with PREFIX.
-m4_define([b4_comment_],
-[$2[]m4_bpatsubst(m4_expand([[$1]]), [
-\(.\)], [
-$3\1])$4])
-
-
-# b4_comment(TEXT, [PREFIX])
-# --------------------------
-# Put TEXT in comment. Prefix all the output lines with PREFIX.
-m4_define([b4_comment],
-[b4_comment_([$1], [$2/* ], [$2 ], [ */])])
-
-
-
-
-# b4_dollar_dollar_(VALUE, FIELD, DEFAULT-FIELD)
-# ----------------------------------------------
-# If FIELD (or DEFAULT-FIELD) is non-null, return "VALUE.FIELD",
-# otherwise just VALUE. Be sure to pass "(VALUE)" is VALUE is a
-# pointer.
-m4_define([b4_dollar_dollar_],
-[b4_symbol_value([$1],
- m4_if([$2], [[]],
- [[$3]], [[$2]]))])
-
-# b4_dollar_pushdef(VALUE-POINTER, DEFAULT-FIELD, LOCATION)
-# b4_dollar_popdef
-# ---------------------------------------------------------
-# Define b4_dollar_dollar for VALUE and DEFAULT-FIELD,
-# and b4_at_dollar for LOCATION.
-m4_define([b4_dollar_pushdef],
-[m4_pushdef([b4_dollar_dollar],
- [b4_dollar_dollar_([$1], m4_dquote($][1), [$2])])dnl
-m4_pushdef([b4_at_dollar], [$3])dnl
-])
-m4_define([b4_dollar_popdef],
-[m4_popdef([b4_at_dollar])dnl
-m4_popdef([b4_dollar_dollar])dnl
-])
diff --git a/gnuwin32/bin/data/c-skel.m4 b/gnuwin32/bin/data/c-skel.m4
deleted file mode 100644
index 36904aaf..00000000
--- a/gnuwin32/bin/data/c-skel.m4
+++ /dev/null
@@ -1,26 +0,0 @@
- -*- Autoconf -*-
-
-# C skeleton dispatching for Bison.
-
-# Copyright (C) 2006-2007, 2009-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-b4_glr_if( [m4_define([b4_used_skeleton], [b4_pkgdatadir/[glr.c]])])
-b4_nondeterministic_if([m4_define([b4_used_skeleton], [b4_pkgdatadir/[glr.c]])])
-
-m4_define_default([b4_used_skeleton], [b4_pkgdatadir/[yacc.c]])
-m4_define_default([b4_skeleton], ["b4_basename(b4_used_skeleton)"])
-
-m4_include(b4_used_skeleton)
diff --git a/gnuwin32/bin/data/c.m4 b/gnuwin32/bin/data/c.m4
deleted file mode 100644
index b1b43948..00000000
--- a/gnuwin32/bin/data/c.m4
+++ /dev/null
@@ -1,839 +0,0 @@
- -*- Autoconf -*-
-
-# C M4 Macros for Bison.
-
-# Copyright (C) 2002, 2004-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-m4_include(b4_pkgdatadir/[c-like.m4])
-
-# b4_tocpp(STRING)
-# ----------------
-# Convert STRING into a valid C macro name.
-m4_define([b4_tocpp],
-[m4_toupper(m4_bpatsubst(m4_quote($1), [[^a-zA-Z0-9]+], [_]))])
-
-
-# b4_cpp_guard(FILE)
-# ------------------
-# A valid C macro name to use as a CPP header guard for FILE.
-m4_define([b4_cpp_guard],
-[[YY_]b4_tocpp(m4_defn([b4_prefix])/[$1])[_INCLUDED]])
-
-
-# b4_cpp_guard_open(FILE)
-# b4_cpp_guard_close(FILE)
-# ------------------------
-# If FILE does not expand to nothing, open/close CPP inclusion guards for FILE.
-m4_define([b4_cpp_guard_open],
-[m4_ifval(m4_quote($1),
-[#ifndef b4_cpp_guard([$1])
-# define b4_cpp_guard([$1])])])
-
-m4_define([b4_cpp_guard_close],
-[m4_ifval(m4_quote($1),
-[#endif b4_comment([!b4_cpp_guard([$1])])])])
-
-
-## ---------------- ##
-## Identification. ##
-## ---------------- ##
-
-# b4_identification
-# -----------------
-# Depends on individual skeletons to define b4_pure_flag, b4_push_flag, or
-# b4_pull_flag if they use the values of the %define variables api.pure or
-# api.push-pull.
-m4_define([b4_identification],
-[[/* Identify Bison output. */
-#define YYBISON 1
-
-/* Bison version. */
-#define YYBISON_VERSION "]b4_version["
-
-/* Skeleton name. */
-#define YYSKELETON_NAME ]b4_skeleton[]m4_ifdef([b4_pure_flag], [[
-
-/* Pure parsers. */
-#define YYPURE ]b4_pure_flag])[]m4_ifdef([b4_push_flag], [[
-
-/* Push parsers. */
-#define YYPUSH ]b4_push_flag])[]m4_ifdef([b4_pull_flag], [[
-
-/* Pull parsers. */
-#define YYPULL ]b4_pull_flag])[
-]])
-
-
-## ---------------- ##
-## Default values. ##
-## ---------------- ##
-
-# b4_api_prefix, b4_api_PREFIX
-# ----------------------------
-# Corresponds to %define api.prefix
-b4_percent_define_default([[api.prefix]], [[yy]])
-m4_define([b4_api_prefix],
-[b4_percent_define_get([[api.prefix]])])
-m4_define([b4_api_PREFIX],
-[m4_toupper(b4_api_prefix)])
-
-
-# b4_prefix
-# ---------
-# If the %name-prefix is not given, it is api.prefix.
-m4_define_default([b4_prefix], [b4_api_prefix])
-
-# If the %union is not named, its name is YYSTYPE.
-m4_define_default([b4_union_name], [b4_api_PREFIX[]STYPE])
-
-
-## ------------------------ ##
-## Pure/impure interfaces. ##
-## ------------------------ ##
-
-# b4_lex_formals
-# --------------
-# All the yylex formal arguments.
-# b4_lex_param arrives quoted twice, but we want to keep only one level.
-m4_define([b4_lex_formals],
-[b4_pure_if([[[[YYSTYPE *yylvalp]], [[&yylval]]][]dnl
-b4_locations_if([, [[YYLTYPE *yyllocp], [&yylloc]]])])dnl
-m4_ifdef([b4_lex_param], [, ]b4_lex_param)])
-
-
-# b4_lex
-# ------
-# Call yylex.
-m4_define([b4_lex],
-[b4_function_call([yylex], [int], b4_lex_formals)])
-
-
-# b4_user_args
-# ------------
-m4_define([b4_user_args],
-[m4_ifset([b4_parse_param], [, b4_args(b4_parse_param)])])
-
-
-# b4_parse_param
-# --------------
-# If defined, b4_parse_param arrives double quoted, but below we prefer
-# it to be single quoted.
-m4_define([b4_parse_param],
-b4_parse_param)
-
-
-# b4_parse_param_for(DECL, FORMAL, BODY)
-# ---------------------------------------
-# Iterate over the user parameters, binding the declaration to DECL,
-# the formal name to FORMAL, and evaluating the BODY.
-m4_define([b4_parse_param_for],
-[m4_foreach([$1_$2], m4_defn([b4_parse_param]),
-[m4_pushdef([$1], m4_unquote(m4_car($1_$2)))dnl
-m4_pushdef([$2], m4_shift($1_$2))dnl
-$3[]dnl
-m4_popdef([$2])dnl
-m4_popdef([$1])dnl
-])])
-
-# b4_parse_param_use([VAL], [LOC])
-# --------------------------------
-# 'YYUSE' VAL, LOC if locations are enabled, and all the parse-params.
-m4_define([b4_parse_param_use],
-[m4_ifvaln([$1], [ YYUSE ([$1]);])dnl
-b4_locations_if([m4_ifvaln([$2], [ YYUSE ([$2]);])])dnl
-b4_parse_param_for([Decl], [Formal], [ YYUSE (Formal);
-])dnl
-])
-
-
-## ------------ ##
-## Data Types. ##
-## ------------ ##
-
-# b4_int_type(MIN, MAX)
-# ---------------------
-# Return the smallest int type able to handle numbers ranging from
-# MIN to MAX (included).
-m4_define([b4_int_type],
-[m4_if(b4_ints_in($@, [0], [255]), [1], [unsigned char],
- b4_ints_in($@, [-128], [127]), [1], [signed char],
-
- b4_ints_in($@, [0], [65535]), [1], [unsigned short int],
- b4_ints_in($@, [-32768], [32767]), [1], [short int],
-
- m4_eval([0 <= $1]), [1], [unsigned int],
-
- [int])])
-
-
-# b4_int_type_for(NAME)
-# ---------------------
-# Return the smallest int type able to handle numbers ranging from
-# 'NAME_min' to 'NAME_max' (included).
-m4_define([b4_int_type_for],
-[b4_int_type($1_min, $1_max)])
-
-
-# b4_table_value_equals(TABLE, VALUE, LITERAL)
-# --------------------------------------------
-# Without inducing a comparison warning from the compiler, check if the
-# literal value LITERAL equals VALUE from table TABLE, which must have
-# TABLE_min and TABLE_max defined.
-m4_define([b4_table_value_equals],
-[m4_if(m4_eval($3 < m4_indir([b4_]$1[_min])
- || m4_indir([b4_]$1[_max]) < $3), [1],
- [[0]],
- [(!!(($2) == ($3)))])])
-
-
-## ----------------- ##
-## Compiler issues. ##
-## ----------------- ##
-
-# b4_attribute_define
-# -------------------
-# Provide portability for __attribute__.
-m4_define([b4_attribute_define],
-[#ifndef __attribute__
-/* This feature is available in gcc versions 2.5 and later. */
-# if (! defined __GNUC__ || __GNUC__ < 2 \
- || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
-# define __attribute__(Spec) /* empty */
-# endif
-#endif
-
-/* Suppress unused-variable warnings by "using" E. */
-#if ! defined lint || defined __GNUC__
-# define YYUSE(E) ((void) (E))
-#else
-# define YYUSE(E) /* empty */
-#endif
-
-#if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
-/* Suppress an incorrect diagnostic about yylval being uninitialized. */
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
- _Pragma ("GCC diagnostic push") \
- _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
- _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END \
- _Pragma ("GCC diagnostic pop")
-#else
-# define YY_INITIAL_VALUE(Value) Value
-#endif
-#ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
-# define YY_IGNORE_MAYBE_UNINITIALIZED_END
-#endif
-#ifndef YY_INITIAL_VALUE
-# define YY_INITIAL_VALUE(Value) /* Nothing. */
-#endif
-])
-
-
-## ---------##
-## Values. ##
-## ---------##
-
-
-# b4_null_define
-# --------------
-# Portability issues: define a YY_NULL appropriate for the current
-# language (C, C++98, or C++11).
-m4_define([b4_null_define],
-[# ifndef YY_NULL
-# if defined __cplusplus && 201103L <= __cplusplus
-# define YY_NULL nullptr
-# else
-# define YY_NULL 0
-# endif
-# endif[]dnl
-])
-
-
-# b4_null
-# -------
-# Return a null pointer constant.
-m4_define([b4_null], [YY_NULL])
-
-# b4_integral_parser_table_define(TABLE-NAME, CONTENT, COMMENT)
-# -------------------------------------------------------------
-# Define "yy<TABLE-NAME>" whose contents is CONTENT.
-m4_define([b4_integral_parser_table_define],
-[m4_ifvaln([$3], [b4_comment([$3], [ ])])dnl
-static const b4_int_type_for([$2]) yy$1[[]] =
-{
- $2
-};dnl
-])
-
-
-## ------------------------- ##
-## Assigning token numbers. ##
-## ------------------------- ##
-
-# b4_token_define(TOKEN-NUM)
-# --------------------------
-# Output the definition of this token as #define.
-m4_define([b4_token_define],
-[b4_token_format([#define %s %s], [$1])])
-
-# b4_token_defines
-# ----------------
-# Output the definition of the tokens.
-m4_define([b4_token_defines],
-[b4_any_token_visible_if([/* Tokens. */
-m4_join([
-], b4_symbol_map([b4_token_define]))
-])])
-
-
-# b4_token_enum(TOKEN-NUM)
-# ------------------------
-# Output the definition of this token as an enum.
-m4_define([b4_token_enum],
-[b4_token_format([%s = %s], [$1])])
-
-
-# b4_token_enums
-# --------------
-# Output the definition of the tokens (if there are) as enums.
-m4_define([b4_token_enums],
-[b4_any_token_visible_if([[/* Token type. */
-#ifndef ]b4_api_PREFIX[TOKENTYPE
-# define ]b4_api_PREFIX[TOKENTYPE
- enum ]b4_api_prefix[tokentype
- {
- ]m4_join([,
- ],
- b4_symbol_map([b4_token_enum]))[
- };
-#endif
-]])])
-
-
-# b4_token_enums_defines
-# ----------------------
-# Output the definition of the tokens (if there are any) as enums and,
-# if POSIX Yacc is enabled, as #defines.
-m4_define([b4_token_enums_defines],
-[b4_token_enums[]b4_yacc_if([b4_token_defines])])
-
-
-## ----------------- ##
-## Semantic Values. ##
-## ----------------- ##
-
-
-# b4_symbol_value(VAL, [TYPE])
-# ----------------------------
-# Given a semantic value VAL ($$, $1 etc.), extract its value of type
-# TYPE if TYPE is given, otherwise just return VAL. The result can be
-# used safetly, it is put in parens to avoid nasty precedence issues.
-# TYPE is *not* put in braces, provide some if needed.
-m4_define([b4_symbol_value],
-[($1[]m4_ifval([$2], [.$2]))])
-
-
-
-## ---------------------- ##
-## Defining C functions. ##
-## ---------------------- ##
-
-
-# b4_function_define(NAME, RETURN-VALUE, [DECL1, NAME1], ...)
-# -----------------------------------------------------------
-# Declare the function NAME in C.
-m4_define([b4_function_define],
-[$2
-$1 (b4_formals(m4_shift2($@)))[]dnl
-])
-
-
-# b4_formals([DECL1, NAME1], ...)
-# -------------------------------
-# The formal arguments of a C function definition.
-m4_define([b4_formals],
-[m4_if([$#], [0], [void],
- [$#$1], [1], [void],
- [m4_map_sep([b4_formal], [, ], [$@])])])
-
-m4_define([b4_formal],
-[$1])
-
-
-
-## ----------------------- ##
-## Declaring C functions. ##
-## ----------------------- ##
-
-
-# b4_function_declare(NAME, RETURN-VALUE, [DECL1, NAME1], ...)
-# ------------------------------------------------------------
-# Declare the function NAME.
-m4_define([b4_function_declare],
-[$2 $1 (b4_formals(m4_shift2($@)));[]dnl
-])
-
-
-
-
-## --------------------- ##
-## Calling C functions. ##
-## --------------------- ##
-
-
-# b4_function_call(NAME, RETURN-VALUE, [DECL1, NAME1], ...)
-# -----------------------------------------------------------
-# Call the function NAME with arguments NAME1, NAME2 etc.
-m4_define([b4_function_call],
-[$1 (b4_args(m4_shift2($@)))[]dnl
-])
-
-
-# b4_args([DECL1, NAME1], ...)
-# ----------------------------
-# Output the arguments NAME1, NAME2...
-m4_define([b4_args],
-[m4_map_sep([b4_arg], [, ], [$@])])
-
-m4_define([b4_arg],
-[$2])
-
-
-## ----------- ##
-## Synclines. ##
-## ----------- ##
-
-# b4_sync_start(LINE, FILE)
-# -------------------------
-m4_define([b4_sync_start], [[#]line $1 $2])
-
-
-## -------------- ##
-## User actions. ##
-## -------------- ##
-
-# b4_case(LABEL, STATEMENTS)
-# --------------------------
-m4_define([b4_case],
-[ case $1:
-$2
-b4_syncline([@oline@], [@ofile@])
- break;])
-
-
-# b4_predicate_case(LABEL, CONDITIONS)
-# ------------------------------------
-m4_define([b4_predicate_case],
-[ case $1:
- if (! ($2)) YYERROR;
-b4_syncline([@oline@], [@ofile@])
- break;])
-
-
-# b4_yydestruct_define
-# --------------------
-# Define the "yydestruct" function.
-m4_define_default([b4_yydestruct_define],
-[[/*-----------------------------------------------.
-| Release the memory associated to this symbol. |
-`-----------------------------------------------*/
-
-]b4_function_define([yydestruct],
- [static void],
- [[const char *yymsg], [yymsg]],
- [[int yytype], [yytype]],
- [[YYSTYPE *yyvaluep], [yyvaluep]][]dnl
-b4_locations_if( [, [[YYLTYPE *yylocationp], [yylocationp]]])[]dnl
-m4_ifset([b4_parse_param], [, b4_parse_param]))[
-{
-]b4_parse_param_use([yyvaluep], [yylocationp])dnl
-[ if (!yymsg)
- yymsg = "Deleting";
- YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
-
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
- ]b4_symbol_actions([destructor])[
- YY_IGNORE_MAYBE_UNINITIALIZED_END
-}]dnl
-])
-
-
-# b4_yy_symbol_print_define
-# -------------------------
-# Define the "yy_symbol_print" function.
-m4_define_default([b4_yy_symbol_print_define],
-[[
-/*----------------------------------------.
-| Print this symbol's value on YYOUTPUT. |
-`----------------------------------------*/
-
-]b4_function_define([yy_symbol_value_print],
- [static void],
- [[FILE *yyoutput], [yyoutput]],
- [[int yytype], [yytype]],
- [[YYSTYPE const * const yyvaluep], [yyvaluep]][]dnl
-b4_locations_if([, [[YYLTYPE const * const yylocationp], [yylocationp]]])[]dnl
-m4_ifset([b4_parse_param], [, b4_parse_param]))[
-{
- FILE *yyo = yyoutput;
-]b4_parse_param_use([yyo], [yylocationp])dnl
-[ if (!yyvaluep)
- return;]
-dnl glr.c does not feature yytoknum.
-m4_if(b4_skeleton, ["yacc.c"],
-[[# ifdef YYPRINT
- if (yytype < YYNTOKENS)
- YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
-# endif
-]])dnl
- b4_symbol_actions([printer])[
-}
-
-
-/*--------------------------------.
-| Print this symbol on YYOUTPUT. |
-`--------------------------------*/
-
-]b4_function_define([yy_symbol_print],
- [static void],
- [[FILE *yyoutput], [yyoutput]],
- [[int yytype], [yytype]],
- [[YYSTYPE const * const yyvaluep], [yyvaluep]][]dnl
-b4_locations_if([, [[YYLTYPE const * const yylocationp], [yylocationp]]])[]dnl
-m4_ifset([b4_parse_param], [, b4_parse_param]))[
-{
- YYFPRINTF (yyoutput, "%s %s (",
- yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
-
-]b4_locations_if([ YY_LOCATION_PRINT (yyoutput, *yylocationp);
- YYFPRINTF (yyoutput, ": ");
-])dnl
-[ yy_symbol_value_print (yyoutput, yytype, yyvaluep]dnl
-b4_locations_if([, yylocationp])[]b4_user_args[);
- YYFPRINTF (yyoutput, ")");
-}]dnl
-])
-
-
-## ---------------- ##
-## api.value.type. ##
-## ---------------- ##
-
-
-# ---------------------- #
-# api.value.type=union. #
-# ---------------------- #
-
-# b4_symbol_type_register(SYMBOL-NUM)
-# -----------------------------------
-# Symbol SYMBOL-NUM has a type (for variant) instead of a type-tag.
-# Extend the definition of %union's body with a field of that type,
-# and extend the symbol's "type" field to point to the field name,
-# instead of the type name.
-m4_define([b4_symbol_type_register],
-[m4_define([b4_symbol($1, type_tag)],
- [b4_symbol_if([$1], [has_id],
- [b4_symbol([$1], [id])],
- [yytype_[]b4_symbol([$1], [number])])])dnl
-m4_append([b4_user_union_members],
-m4_expand([
- b4_symbol_tag_comment([$1])dnl
- b4_symbol([$1], [type]) b4_symbol([$1], [type_tag]);]))
-])
-
-
-# b4_type_define_tag(SYMBOL1-NUM, ...)
-# ------------------------------------
-# For the batch of symbols SYMBOL1-NUM... (which all have the same
-# type), enhance the %union definition for each of them, and set
-# there "type" field to the field tag name, instead of the type name.
-m4_define([b4_type_define_tag],
-[b4_symbol_if([$1], [has_type],
- [m4_map([b4_symbol_type_register], [$@])])
-])
-
-
-# b4_symbol_value_union(VAL, [TYPE])
-# ----------------------------------
-# Same of b4_symbol_value, but when api.value.type=union.
-m4_define([b4_symbol_value_union],
-[m4_ifval([$2],
- [(*($2*)(&$1))],
- [$1])])
-])
-
-
-# b4_value_type_setup_union
-# -------------------------
-# Setup support for api.value.type=union. Symbols are defined with a
-# type instead of a union member name: build the corresponding union,
-# and give the symbols their tag.
-m4_define([b4_value_type_setup_union],
-[m4_define([b4_union_members])
-b4_type_foreach([b4_type_define_tag])
-m4_copy_force([b4_symbol_value_union], [b4_symbol_value])
-])
-
-
-# ---------------- #
-# api.value.type. #
-# ---------------- #
-
-
-# b4_value_type_setup_variant
-# ---------------------------
-# Setup support for api.value.type=variant. By default, fail, specialized
-# by other skeletons.
-m4_define([b4_value_type_setup_variant],
-[b4_complain_at(b4_percent_define_get_loc([[api.value.type]]),
- [['%s' does not support '%s']],
- [b4_skeleton],
- [%define api.value.type variant])])
-
-
-# _b4_value_type_setup_keyword
-# ----------------------------
-# api.value.type is defined with a keyword/string syntax. Check if
-# that is properly defined, and prepare its use.
-m4_define([_b4_value_type_setup_keyword],
-[b4_percent_define_check_values([[[[api.value.type]],
- [[none]],
- [[union]],
- [[union-directive]],
- [[variant]],
- [[yystype]]]])dnl
-m4_case(b4_percent_define_get([[api.value.type]]),
- [union], [b4_value_type_setup_union],
- [variant], [b4_value_type_setup_variant])])
-
-
-# b4_value_type_setup
-# -------------------
-# Check if api.value.type is properly defined, and possibly prepare
-# its use.
-b4_define_silent([b4_value_type_setup],
-[# Define default value.
-b4_percent_define_ifdef([[api.value.type]], [],
-[# %union => api.value.type=union-directive
-m4_ifdef([b4_union_members],
-[m4_define([b4_percent_define_kind(api.value.type)], [keyword])
-m4_define([b4_percent_define(api.value.type)], [union-directive])],
-[# no tag seen => api.value.type={int}
-m4_if(b4_tag_seen_flag, 0,
-[m4_define([b4_percent_define_kind(api.value.type)], [code])
-m4_define([b4_percent_define(api.value.type)], [int])],
-[# otherwise api.value.type=yystype
-m4_define([b4_percent_define_kind(api.value.type)], [keyword])
-m4_define([b4_percent_define(api.value.type)], [yystype])])])])
-
-# Set up.
-m4_bmatch(b4_percent_define_get_kind([[api.value.type]]),
- [keyword\|string], [_b4_value_type_setup_keyword])
-])
-
-
-## -------------- ##
-## Declarations. ##
-## -------------- ##
-
-
-# b4_value_type_define
-# --------------------
-m4_define([b4_value_type_define],
-[b4_value_type_setup[]dnl
-/* Value type. */
-m4_bmatch(b4_percent_define_get_kind([[api.value.type]]),
-[code],
-[[#if ! defined ]b4_api_PREFIX[STYPE && ! defined ]b4_api_PREFIX[STYPE_IS_DECLARED
-typedef ]b4_percent_define_get([[api.value.type]])[ ]b4_api_PREFIX[STYPE;
-# define ]b4_api_PREFIX[STYPE_IS_TRIVIAL 1
-# define ]b4_api_PREFIX[STYPE_IS_DECLARED 1
-#endif
-]],
-[m4_bmatch(b4_percent_define_get([[api.value.type]]),
-[union\|union-directive],
-[[#if ! defined ]b4_api_PREFIX[STYPE && ! defined ]b4_api_PREFIX[STYPE_IS_DECLARED
-typedef union ]b4_union_name[ ]b4_api_PREFIX[STYPE;
-union ]b4_union_name[
-{
-]b4_user_union_members[
-};
-# define ]b4_api_PREFIX[STYPE_IS_TRIVIAL 1
-# define ]b4_api_PREFIX[STYPE_IS_DECLARED 1
-#endif
-]])])])
-
-
-# b4_location_type_define
-# -----------------------
-m4_define([b4_location_type_define],
-[[/* Location type. */
-#if ! defined ]b4_api_PREFIX[LTYPE && ! defined ]b4_api_PREFIX[LTYPE_IS_DECLARED
-typedef struct ]b4_api_PREFIX[LTYPE ]b4_api_PREFIX[LTYPE;
-struct ]b4_api_PREFIX[LTYPE
-{
- int first_line;
- int first_column;
- int last_line;
- int last_column;
-};
-# define ]b4_api_PREFIX[LTYPE_IS_DECLARED 1
-# define ]b4_api_PREFIX[LTYPE_IS_TRIVIAL 1
-#endif
-]])
-
-
-# b4_declare_yylstype
-# -------------------
-# Declarations that might either go into the header (if --defines) or
-# in the parser body. Declare YYSTYPE/YYLTYPE, and yylval/yylloc.
-m4_define([b4_declare_yylstype],
-[b4_value_type_define[]b4_locations_if([
-b4_location_type_define])
-
-b4_pure_if([], [[extern ]b4_api_PREFIX[STYPE ]b4_prefix[lval;
-]b4_locations_if([[extern ]b4_api_PREFIX[LTYPE ]b4_prefix[lloc;]])])[]dnl
-])
-
-
-# b4_YYDEBUG_define
-# -----------------
-m4_define([b4_YYDEBUG_define],
-[[/* Debug traces. */
-]m4_if(b4_api_prefix, [yy],
-[[#ifndef YYDEBUG
-# define YYDEBUG ]b4_parse_trace_if([1], [0])[
-#endif]],
-[[#ifndef ]b4_api_PREFIX[DEBUG
-# if defined YYDEBUG
-#if YYDEBUG
-# define ]b4_api_PREFIX[DEBUG 1
-# else
-# define ]b4_api_PREFIX[DEBUG 0
-# endif
-# else /* ! defined YYDEBUG */
-# define ]b4_api_PREFIX[DEBUG ]b4_parse_trace_if([1], [0])[
-# endif /* ! defined YYDEBUG */
-#endif /* ! defined ]b4_api_PREFIX[DEBUG */]])[]dnl
-])
-
-# b4_declare_yydebug
-# ------------------
-m4_define([b4_declare_yydebug],
-[b4_YYDEBUG_define[
-#if ]b4_api_PREFIX[DEBUG
-extern int ]b4_prefix[debug;
-#endif][]dnl
-])
-
-# b4_yylloc_default_define
-# ------------------------
-# Define YYLLOC_DEFAULT.
-m4_define([b4_yylloc_default_define],
-[[/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
- If N is 0, then set CURRENT to the empty location which ends
- the previous symbol: RHS[0] (always defined). */
-
-#ifndef YYLLOC_DEFAULT
-# define YYLLOC_DEFAULT(Current, Rhs, N) \
- do \
- if (N) \
- { \
- (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
- (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
- (Current).last_line = YYRHSLOC (Rhs, N).last_line; \
- (Current).last_column = YYRHSLOC (Rhs, N).last_column; \
- } \
- else \
- { \
- (Current).first_line = (Current).last_line = \
- YYRHSLOC (Rhs, 0).last_line; \
- (Current).first_column = (Current).last_column = \
- YYRHSLOC (Rhs, 0).last_column; \
- } \
- while (0)
-#endif
-]])
-
-# b4_yy_location_print_define
-# ---------------------------
-# Define YY_LOCATION_PRINT.
-m4_define([b4_yy_location_print_define],
-[b4_locations_if([[
-/* YY_LOCATION_PRINT -- Print the location on the stream.
- This macro was not mandated originally: define only if we know
- we won't break user code: when these are the locations we know. */
-
-#ifndef YY_LOCATION_PRINT
-# if defined ]b4_api_PREFIX[LTYPE_IS_TRIVIAL && ]b4_api_PREFIX[LTYPE_IS_TRIVIAL
-
-/* Print *YYLOCP on YYO. Private, do not rely on its existence. */
-
-__attribute__((__unused__))
-]b4_function_define([yy_location_print_],
- [static unsigned],
- [[FILE *yyo], [yyo]],
- [[YYLTYPE const * const yylocp], [yylocp]])[
-{
- unsigned res = 0;
- int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
- if (0 <= yylocp->first_line)
- {
- res += YYFPRINTF (yyo, "%d", yylocp->first_line);
- if (0 <= yylocp->first_column)
- res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
- }
- if (0 <= yylocp->last_line)
- {
- if (yylocp->first_line < yylocp->last_line)
- {
- res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
- if (0 <= end_col)
- res += YYFPRINTF (yyo, ".%d", end_col);
- }
- else if (0 <= end_col && yylocp->first_column < end_col)
- res += YYFPRINTF (yyo, "-%d", end_col);
- }
- return res;
- }
-
-# define YY_LOCATION_PRINT(File, Loc) \
- yy_location_print_ (File, &(Loc))
-
-# else
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-# endif
-#endif]],
-[[/* This macro is provided for backward compatibility. */
-#ifndef YY_LOCATION_PRINT
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-#endif]])
-])
-
-# b4_yyloc_default
-# ----------------
-# Expand to a possible default value for yylloc.
-m4_define([b4_yyloc_default],
-[[
-# if defined ]b4_api_PREFIX[LTYPE_IS_TRIVIAL && ]b4_api_PREFIX[LTYPE_IS_TRIVIAL
- = { ]m4_join([, ],
- m4_defn([b4_location_initial_line]),
- m4_defn([b4_location_initial_column]),
- m4_defn([b4_location_initial_line]),
- m4_defn([b4_location_initial_column]))[ }
-# endif
-]])
diff --git a/gnuwin32/bin/data/glr.c b/gnuwin32/bin/data/glr.c
deleted file mode 100644
index ff70890f..00000000
--- a/gnuwin32/bin/data/glr.c
+++ /dev/null
@@ -1,2563 +0,0 @@
- -*- C -*-
-
-# GLR skeleton for Bison
-
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-# If we are loaded by glr.cc, do not override c++.m4 definitions by
-# those of c.m4.
-m4_if(b4_skeleton, ["glr.c"],
- [m4_include(b4_pkgdatadir/[c.m4])])
-
-## ---------------- ##
-## Default values. ##
-## ---------------- ##
-
-# Stack parameters.
-m4_define_default([b4_stack_depth_max], [10000])
-m4_define_default([b4_stack_depth_init], [200])
-
-
-
-## ------------------------ ##
-## Pure/impure interfaces. ##
-## ------------------------ ##
-
-b4_define_flag_if([pure])
-# If glr.cc is including this file and thus has already set b4_pure_flag,
-# do not change the value of b4_pure_flag, and do not record a use of api.pure.
-m4_ifndef([b4_pure_flag],
-[b4_percent_define_default([[api.pure]], [[false]])
- m4_define([b4_pure_flag],
- [b4_percent_define_flag_if([[api.pure]], [[1]], [[0]])])])
-
-# b4_user_formals
-# ---------------
-# The possible parse-params formal arguments preceded by a comma.
-#
-# This is not shared with yacc.c in c.m4 because GLR relies on ISO C
-# formal argument declarations.
-m4_define([b4_user_formals],
-[m4_ifset([b4_parse_param], [, b4_formals(b4_parse_param)])])
-
-
-# b4_yyerror_args
-# ---------------
-# Optional effective arguments passed to yyerror: user args plus yylloc, and
-# a trailing comma.
-m4_define([b4_yyerror_args],
-[b4_pure_if([b4_locations_if([yylocp, ])])dnl
-m4_ifset([b4_parse_param], [b4_args(b4_parse_param), ])])
-
-
-# b4_lyyerror_args
-# ----------------
-# Same as above, but on the lookahead, hence &yylloc instead of yylocp.
-m4_define([b4_lyyerror_args],
-[b4_pure_if([b4_locations_if([&yylloc, ])])dnl
-m4_ifset([b4_parse_param], [b4_args(b4_parse_param), ])])
-
-
-# b4_pure_args
-# ------------
-# Same as b4_yyerror_args, but with a leading comma.
-m4_define([b4_pure_args],
-[b4_pure_if([b4_locations_if([, yylocp])])[]b4_user_args])
-
-
-# b4_lpure_args
-# -------------
-# Same as above, but on the lookahead, hence &yylloc instead of yylocp.
-m4_define([b4_lpure_args],
-[b4_pure_if([b4_locations_if([, &yylloc])])[]b4_user_args])
-
-
-
-# b4_pure_formals
-# ---------------
-# Arguments passed to yyerror: user formals plus yylocp with leading comma.
-m4_define([b4_pure_formals],
-[b4_pure_if([b4_locations_if([, YYLTYPE *yylocp])])[]b4_user_formals])
-
-
-# b4_locuser_formals(LOC = yylocp)
-# --------------------------------
-m4_define([b4_locuser_formals],
-[b4_locations_if([, YYLTYPE *m4_default([$1], [yylocp])])[]b4_user_formals])
-
-
-# b4_locuser_args(LOC = yylocp)
-# -----------------------------
-m4_define([b4_locuser_args],
-[b4_locations_if([, m4_default([$1], [yylocp])])[]b4_user_args])
-
-
-
-## ----------------- ##
-## Semantic Values. ##
-## ----------------- ##
-
-
-# b4_lhs_value([TYPE])
-# --------------------
-# Expansion of $<TYPE>$.
-m4_define([b4_lhs_value],
-[b4_symbol_value([(*yyvalp)], [$1])])
-
-
-# b4_rhs_data(RULE-LENGTH, NUM)
-# -----------------------------
-# Expand to the semantic stack place that contains value and location
-# of symbol number NUM in a rule of length RULE-LENGTH.
-m4_define([b4_rhs_data],
-[((yyGLRStackItem const *)yyvsp)@{YYFILL (b4_subtract([$2], [$1]))@}.yystate])
-
-
-# b4_rhs_value(RULE-LENGTH, NUM, [TYPE])
-# --------------------------------------
-# Expansion of $<TYPE>NUM, where the current rule has RULE-LENGTH
-# symbols on RHS.
-m4_define([b4_rhs_value],
-[b4_symbol_value([b4_rhs_data([$1], [$2]).yysemantics.yysval], [$3])])
-
-
-
-## ----------- ##
-## Locations. ##
-## ----------- ##
-
-# b4_lhs_location()
-# -----------------
-# Expansion of @$.
-m4_define([b4_lhs_location],
-[(*yylocp)])
-
-
-# b4_rhs_location(RULE-LENGTH, NUM)
-# ---------------------------------
-# Expansion of @NUM, where the current rule has RULE-LENGTH symbols
-# on RHS.
-m4_define([b4_rhs_location],
-[(b4_rhs_data([$1], [$2]).yyloc)])
-
-
-## -------------- ##
-## Declarations. ##
-## -------------- ##
-
-# b4_shared_declarations
-# ----------------------
-# Declaration that might either go into the header (if --defines)
-# or open coded in the parser body. glr.cc has its own definition.
-m4_if(b4_skeleton, ["glr.c"],
-[m4_define([b4_shared_declarations],
-[b4_declare_yydebug[
-]b4_percent_code_get([[requires]])[
-]b4_token_enums[
-]b4_declare_yylstype[
-]b4_function_declare(b4_prefix[parse], [int], b4_parse_param)[
-]b4_percent_code_get([[provides]])[]dnl
-])
-])
-
-## -------------- ##
-## Output files. ##
-## -------------- ##
-
-b4_output_begin([b4_parser_file_name])
-b4_copyright([Skeleton implementation for Bison GLR parsers in C],
- [2002-2013])[
-
-/* C GLR parser skeleton written by Paul Hilfinger. */
-
-]b4_identification
-
-b4_percent_code_get([[top]])[
-]m4_if(b4_api_prefix, [yy], [],
-[[/* Substitute the type names. */
-#define YYSTYPE ]b4_api_PREFIX[STYPE]b4_locations_if([[
-#define YYLTYPE ]b4_api_PREFIX[LTYPE]])])[
-]m4_if(b4_prefix, [yy], [],
-[[/* Substitute the variable and function names. */
-#define yyparse ]b4_prefix[parse
-#define yylex ]b4_prefix[lex
-#define yyerror ]b4_prefix[error
-#define yydebug ]b4_prefix[debug
-]]b4_pure_if([], [[
-#define yylval ]b4_prefix[lval
-#define yychar ]b4_prefix[char
-#define yynerrs ]b4_prefix[nerrs]b4_locations_if([[
-#define yylloc ]b4_prefix[lloc]])]))[
-
-/* First part of user declarations. */
-]b4_user_pre_prologue[
-
-]b4_null_define[
-
-]b4_defines_if([[#include "@basename(]b4_spec_defines_file[@)"]],
- [b4_shared_declarations])[
-
-/* Enabling verbose error messages. */
-#ifdef YYERROR_VERBOSE
-# undef YYERROR_VERBOSE
-# define YYERROR_VERBOSE 1
-#else
-# define YYERROR_VERBOSE ]b4_error_verbose_if([1], [0])[
-#endif
-
-/* Default (constant) value used for initialization for null
- right-hand sides. Unlike the standard yacc.c template, here we set
- the default value of $$ to a zeroed-out value. Since the default
- value is undefined, this behavior is technically correct. */
-static YYSTYPE yyval_default;]b4_locations_if([[
-static YYLTYPE yyloc_default][]b4_yyloc_default;])[
-
-/* Copy the second part of user declarations. */
-]b4_user_post_prologue
-b4_percent_code_get[]dnl
-
-[#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#ifndef YY_
-# if defined YYENABLE_NLS && YYENABLE_NLS
-# if ENABLE_NLS
-# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
-# endif
-# endif
-# ifndef YY_
-# define YY_(Msgid) Msgid
-# endif
-#endif
-
-#ifndef YYFREE
-# define YYFREE free
-#endif
-#ifndef YYMALLOC
-# define YYMALLOC malloc
-#endif
-#ifndef YYREALLOC
-# define YYREALLOC realloc
-#endif
-
-#define YYSIZEMAX ((size_t) -1)
-
-#ifdef __cplusplus
- typedef bool yybool;
-#else
- typedef unsigned char yybool;
-#endif
-#define yytrue 1
-#define yyfalse 0
-
-#ifndef YYSETJMP
-# include <setjmp.h>
-# define YYJMP_BUF jmp_buf
-# define YYSETJMP(Env) setjmp (Env)
-/* Pacify clang. */
-# define YYLONGJMP(Env, Val) (longjmp (Env, Val), YYASSERT (0))
-#endif
-
-]b4_attribute_define[
-
-#ifndef YYASSERT
-# define YYASSERT(Condition) ((void) ((Condition) || (abort (), 0)))
-#endif
-
-/* YYFINAL -- State number of the termination state. */
-#define YYFINAL ]b4_final_state_number[
-/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST ]b4_last[
-
-/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS ]b4_tokens_number[
-/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS ]b4_nterms_number[
-/* YYNRULES -- Number of rules. */
-#define YYNRULES ]b4_rules_number[
-/* YYNRULES -- Number of states. */
-#define YYNSTATES ]b4_states_number[
-/* YYMAXRHS -- Maximum number of symbols on right-hand side of rule. */
-#define YYMAXRHS ]b4_r2_max[
-/* YYMAXLEFT -- Maximum number of symbols to the left of a handle
- accessed by $0, $-1, etc., in any rule. */
-#define YYMAXLEFT ]b4_max_left_semantic_context[
-
-/* YYTRANSLATE(X) -- Bison symbol number corresponding to X. */
-#define YYUNDEFTOK ]b4_undef_token_number[
-#define YYMAXUTOK ]b4_user_token_number_max[
-
-#define YYTRANSLATE(YYX) \
- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-
-/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
-static const ]b4_int_type_for([b4_translate])[ yytranslate[] =
-{
- ]b4_translate[
-};
-
-#if ]b4_api_PREFIX[DEBUG
-/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
-static const ]b4_int_type_for([b4_rline])[ yyrline[] =
-{
- ]b4_rline[
-};
-#endif
-
-#if ]b4_api_PREFIX[DEBUG || YYERROR_VERBOSE || ]b4_token_table_flag[
-/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- First, the terminals, then, starting at YYNTOKENS, nonterminals. */
-static const char *const yytname[] =
-{
- ]b4_tname[
-};
-#endif
-
-#define YYPACT_NINF ]b4_pact_ninf[
-#define YYTABLE_NINF ]b4_table_ninf[
-
-]b4_parser_tables_define[
-
-/* YYDPREC[RULE-NUM] -- Dynamic precedence of rule #RULE-NUM (0 if none). */
-static const ]b4_int_type_for([b4_dprec])[ yydprec[] =
-{
- ]b4_dprec[
-};
-
-/* YYMERGER[RULE-NUM] -- Index of merging function for rule #RULE-NUM. */
-static const ]b4_int_type_for([b4_merger])[ yymerger[] =
-{
- ]b4_merger[
-};
-
-/* YYIMMEDIATE[RULE-NUM] -- True iff rule #RULE-NUM is not to be deferred, as
- in the case of predicates. */
-static const yybool yyimmediate[] =
-{
- ]b4_immediate[
-};
-
-/* YYCONFLP[YYPACT[STATE-NUM]] -- Pointer into YYCONFL of start of
- list of conflicting reductions corresponding to action entry for
- state STATE-NUM in yytable. 0 means no conflicts. The list in
- yyconfl is terminated by a rule number of 0. */
-static const ]b4_int_type_for([b4_conflict_list_heads])[ yyconflp[] =
-{
- ]b4_conflict_list_heads[
-};
-
-/* YYCONFL[I] -- lists of conflicting rule numbers, each terminated by
- 0, pointed into by YYCONFLP. */
-]dnl Do not use b4_int_type_for here, since there are places where
-dnl pointers onto yyconfl are taken, whose type is "short int *".
-dnl We probably ought to introduce a type for confl.
-[static const short int yyconfl[] =
-{
- ]b4_conflicting_rules[
-};
-
-/* Error token number */
-#define YYTERROR 1
-
-]b4_locations_if([[
-]b4_yylloc_default_define[
-# define YYRHSLOC(Rhs, K) ((Rhs)[K].yystate.yyloc)
-]])[
-
-]b4_pure_if(
-[
-#undef yynerrs
-#define yynerrs (yystackp->yyerrcnt)
-#undef yychar
-#define yychar (yystackp->yyrawchar)
-#undef yylval
-#define yylval (yystackp->yyval)
-#undef yylloc
-#define yylloc (yystackp->yyloc)
-m4_if(b4_prefix[], [yy], [],
-[#define b4_prefix[]nerrs yynerrs
-#define b4_prefix[]char yychar
-#define b4_prefix[]lval yylval
-#define b4_prefix[]lloc yylloc])],
-[YYSTYPE yylval;]b4_locations_if([[
-YYLTYPE yylloc;]])[
-
-int yynerrs;
-int yychar;])[
-
-static const int YYEOF = 0;
-static const int YYEMPTY = -2;
-
-typedef enum { yyok, yyaccept, yyabort, yyerr } YYRESULTTAG;
-
-#define YYCHK(YYE) \
- do { \
- YYRESULTTAG yychk_flag = YYE; \
- if (yychk_flag != yyok) \
- return yychk_flag; \
- } while (0)
-
-#if ]b4_api_PREFIX[DEBUG
-
-# ifndef YYFPRINTF
-# define YYFPRINTF fprintf
-# endif
-
-]b4_yy_location_print_define[
-
-# define YYDPRINTF(Args) \
- do { \
- if (yydebug) \
- YYFPRINTF Args; \
- } while (0)
-
-]b4_yy_symbol_print_define[
-
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
- do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yy_symbol_print (stderr, Type, Value]b4_locuser_args([Location])[); \
- YYFPRINTF (stderr, "\n"); \
- } \
- } while (0)
-
-/* Nonzero means print parse trace. It is left uninitialized so that
- multiple parsers can coexist. */
-int yydebug;
-
-struct yyGLRStack;
-static void yypstack (struct yyGLRStack* yystackp, size_t yyk)
- __attribute__ ((__unused__));
-static void yypdumpstack (struct yyGLRStack* yystackp)
- __attribute__ ((__unused__));
-
-#else /* !]b4_api_PREFIX[DEBUG */
-
-# define YYDPRINTF(Args)
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
-
-#endif /* !]b4_api_PREFIX[DEBUG */
-
-/* YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef YYINITDEPTH
-# define YYINITDEPTH ]b4_stack_depth_init[
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
- if the built-in stack extension method is used).
-
- Do not make this value too large; the results are undefined if
- SIZE_MAX < YYMAXDEPTH * sizeof (GLRStackItem)
- evaluated with infinite-precision integer arithmetic. */
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH ]b4_stack_depth_max[
-#endif
-
-/* Minimum number of free items on the stack allowed after an
- allocation. This is to allow allocation and initialization
- to be completed by functions that call yyexpandGLRStack before the
- stack is expanded, thus insuring that all necessary pointers get
- properly redirected to new data. */
-#define YYHEADROOM 2
-
-#ifndef YYSTACKEXPANDABLE
-# define YYSTACKEXPANDABLE 1
-#endif
-
-#if YYSTACKEXPANDABLE
-# define YY_RESERVE_GLRSTACK(Yystack) \
- do { \
- if (Yystack->yyspaceLeft < YYHEADROOM) \
- yyexpandGLRStack (Yystack); \
- } while (0)
-#else
-# define YY_RESERVE_GLRSTACK(Yystack) \
- do { \
- if (Yystack->yyspaceLeft < YYHEADROOM) \
- yyMemoryExhausted (Yystack); \
- } while (0)
-#endif
-
-
-#if YYERROR_VERBOSE
-
-# ifndef yystpcpy
-# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
-# define yystpcpy stpcpy
-# else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
- YYDEST. */
-static char *
-yystpcpy (char *yydest, const char *yysrc)
-{
- char *yyd = yydest;
- const char *yys = yysrc;
-
- while ((*yyd++ = *yys++) != '\0')
- continue;
-
- return yyd - 1;
-}
-# endif
-# endif
-
-# ifndef yytnamerr
-/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
- quotes and backslashes, so that it's suitable for yyerror. The
- heuristic is that double-quoting is unnecessary unless the string
- contains an apostrophe, a comma, or backslash (other than
- backslash-backslash). YYSTR is taken from yytname. If YYRES is
- null, do not copy; instead, return the length of what the result
- would have been. */
-static size_t
-yytnamerr (char *yyres, const char *yystr)
-{
- if (*yystr == '"')
- {
- size_t yyn = 0;
- char const *yyp = yystr;
-
- for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
-
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- /* Fall through. */
- default:
- if (yyres)
- yyres[yyn] = *yyp;
- yyn++;
- break;
-
- case '"':
- if (yyres)
- yyres[yyn] = '\0';
- return yyn;
- }
- do_not_strip_quotes: ;
- }
-
- if (! yyres)
- return strlen (yystr);
-
- return yystpcpy (yyres, yystr) - yyres;
-}
-# endif
-
-#endif /* !YYERROR_VERBOSE */
-
-/** State numbers, as in LALR(1) machine */
-typedef int yyStateNum;
-
-/** Rule numbers, as in LALR(1) machine */
-typedef int yyRuleNum;
-
-/** Grammar symbol */
-typedef int yySymbol;
-
-/** Item references, as in LALR(1) machine */
-typedef short int yyItemNum;
-
-typedef struct yyGLRState yyGLRState;
-typedef struct yyGLRStateSet yyGLRStateSet;
-typedef struct yySemanticOption yySemanticOption;
-typedef union yyGLRStackItem yyGLRStackItem;
-typedef struct yyGLRStack yyGLRStack;
-
-struct yyGLRState {
- /** Type tag: always true. */
- yybool yyisState;
- /** Type tag for yysemantics. If true, yysval applies, otherwise
- * yyfirstVal applies. */
- yybool yyresolved;
- /** Number of corresponding LALR(1) machine state. */
- yyStateNum yylrState;
- /** Preceding state in this stack */
- yyGLRState* yypred;
- /** Source position of the last token produced by my symbol */
- size_t yyposn;
- union {
- /** First in a chain of alternative reductions producing the
- * non-terminal corresponding to this state, threaded through
- * yynext. */
- yySemanticOption* yyfirstVal;
- /** Semantic value for this state. */
- YYSTYPE yysval;
- } yysemantics;]b4_locations_if([[
- /** Source location for this state. */
- YYLTYPE yyloc;]])[
-};
-
-struct yyGLRStateSet {
- yyGLRState** yystates;
- /** During nondeterministic operation, yylookaheadNeeds tracks which
- * stacks have actually needed the current lookahead. During deterministic
- * operation, yylookaheadNeeds[0] is not maintained since it would merely
- * duplicate yychar != YYEMPTY. */
- yybool* yylookaheadNeeds;
- size_t yysize, yycapacity;
-};
-
-struct yySemanticOption {
- /** Type tag: always false. */
- yybool yyisState;
- /** Rule number for this reduction */
- yyRuleNum yyrule;
- /** The last RHS state in the list of states to be reduced. */
- yyGLRState* yystate;
- /** The lookahead for this reduction. */
- int yyrawchar;
- YYSTYPE yyval;]b4_locations_if([[
- YYLTYPE yyloc;]])[
- /** Next sibling in chain of options. To facilitate merging,
- * options are chained in decreasing order by address. */
- yySemanticOption* yynext;
-};
-
-/** Type of the items in the GLR stack. The yyisState field
- * indicates which item of the union is valid. */
-union yyGLRStackItem {
- yyGLRState yystate;
- yySemanticOption yyoption;
-};
-
-struct yyGLRStack {
- int yyerrState;
-]b4_locations_if([[ /* To compute the location of the error token. */
- yyGLRStackItem yyerror_range[3];]])[
-]b4_pure_if(
-[
- int yyerrcnt;
- int yyrawchar;
- YYSTYPE yyval;]b4_locations_if([[
- YYLTYPE yyloc;]])[
-])[
- YYJMP_BUF yyexception_buffer;
- yyGLRStackItem* yyitems;
- yyGLRStackItem* yynextFree;
- size_t yyspaceLeft;
- yyGLRState* yysplitPoint;
- yyGLRState* yylastDeleted;
- yyGLRStateSet yytops;
-};
-
-#if YYSTACKEXPANDABLE
-static void yyexpandGLRStack (yyGLRStack* yystackp);
-#endif
-
-static void yyFail (yyGLRStack* yystackp]b4_pure_formals[, const char* yymsg)
- __attribute__ ((__noreturn__));
-static void
-yyFail (yyGLRStack* yystackp]b4_pure_formals[, const char* yymsg)
-{
- if (yymsg != YY_NULL)
- yyerror (]b4_yyerror_args[yymsg);
- YYLONGJMP (yystackp->yyexception_buffer, 1);
-}
-
-static void yyMemoryExhausted (yyGLRStack* yystackp)
- __attribute__ ((__noreturn__));
-static void
-yyMemoryExhausted (yyGLRStack* yystackp)
-{
- YYLONGJMP (yystackp->yyexception_buffer, 2);
-}
-
-#if ]b4_api_PREFIX[DEBUG || YYERROR_VERBOSE
-/** A printable representation of TOKEN. */
-static inline const char*
-yytokenName (yySymbol yytoken)
-{
- if (yytoken == YYEMPTY)
- return "";
-
- return yytname[yytoken];
-}
-#endif
-
-/** Fill in YYVSP[YYLOW1 .. YYLOW0-1] from the chain of states starting
- * at YYVSP[YYLOW0].yystate.yypred. Leaves YYVSP[YYLOW1].yystate.yypred
- * containing the pointer to the next state in the chain. */
-static void yyfillin (yyGLRStackItem *, int, int) __attribute__ ((__unused__));
-static void
-yyfillin (yyGLRStackItem *yyvsp, int yylow0, int yylow1)
-{
- int i;
- yyGLRState *s = yyvsp[yylow0].yystate.yypred;
- for (i = yylow0-1; i >= yylow1; i -= 1)
- {
-#if ]b4_api_PREFIX[DEBUG
- yyvsp[i].yystate.yylrState = s->yylrState;
-#endif
- yyvsp[i].yystate.yyresolved = s->yyresolved;
- if (s->yyresolved)
- yyvsp[i].yystate.yysemantics.yysval = s->yysemantics.yysval;
- else
- /* The effect of using yysval or yyloc (in an immediate rule) is
- * undefined. */
- yyvsp[i].yystate.yysemantics.yyfirstVal = YY_NULL;]b4_locations_if([[
- yyvsp[i].yystate.yyloc = s->yyloc;]])[
- s = yyvsp[i].yystate.yypred = s->yypred;
- }
-}
-
-/* Do nothing if YYNORMAL or if *YYLOW <= YYLOW1. Otherwise, fill in
- * YYVSP[YYLOW1 .. *YYLOW-1] as in yyfillin and set *YYLOW = YYLOW1.
- * For convenience, always return YYLOW1. */
-static inline int yyfill (yyGLRStackItem *, int *, int, yybool)
- __attribute__ ((__unused__));
-static inline int
-yyfill (yyGLRStackItem *yyvsp, int *yylow, int yylow1, yybool yynormal)
-{
- if (!yynormal && yylow1 < *yylow)
- {
- yyfillin (yyvsp, *yylow, yylow1);
- *yylow = yylow1;
- }
- return yylow1;
-}
-
-/** Perform user action for rule number YYN, with RHS length YYRHSLEN,
- * and top stack item YYVSP. YYLVALP points to place to put semantic
- * value ($$), and yylocp points to place for location information
- * (@@$). Returns yyok for normal return, yyaccept for YYACCEPT,
- * yyerr for YYERROR, yyabort for YYABORT. */
-static YYRESULTTAG
-yyuserAction (yyRuleNum yyn, size_t yyrhslen, yyGLRStackItem* yyvsp,
- yyGLRStack* yystackp,
- YYSTYPE* yyvalp]b4_locuser_formals[)
-{
- yybool yynormal __attribute__ ((__unused__)) =
- (yystackp->yysplitPoint == YY_NULL);
- int yylow;
-]b4_parse_param_use([yyvalp], [yylocp])dnl
-[ YYUSE (yyrhslen);
-# undef yyerrok
-# define yyerrok (yystackp->yyerrState = 0)
-# undef YYACCEPT
-# define YYACCEPT return yyaccept
-# undef YYABORT
-# define YYABORT return yyabort
-# undef YYERROR
-# define YYERROR return yyerrok, yyerr
-# undef YYRECOVERING
-# define YYRECOVERING() (yystackp->yyerrState != 0)
-# undef yyclearin
-# define yyclearin (yychar = YYEMPTY)
-# undef YYFILL
-# define YYFILL(N) yyfill (yyvsp, &yylow, N, yynormal)
-# undef YYBACKUP
-# define YYBACKUP(Token, Value) \
- return yyerror (]b4_yyerror_args[YY_("syntax error: cannot back up")), \
- yyerrok, yyerr
-
- yylow = 1;
- if (yyrhslen == 0)
- *yyvalp = yyval_default;
- else
- *yyvalp = yyvsp[YYFILL (1-yyrhslen)].yystate.yysemantics.yysval;]b4_locations_if([[
- YYLLOC_DEFAULT ((*yylocp), (yyvsp - yyrhslen), yyrhslen);
- yystackp->yyerror_range[1].yystate.yyloc = *yylocp;
-]])[
- switch (yyn)
- {
- ]b4_user_actions[
- default: break;
- }
-
- return yyok;
-# undef yyerrok
-# undef YYABORT
-# undef YYACCEPT
-# undef YYERROR
-# undef YYBACKUP
-# undef yyclearin
-# undef YYRECOVERING
-}
-
-
-static void
-yyuserMerge (int yyn, YYSTYPE* yy0, YYSTYPE* yy1)
-{
- YYUSE (yy0);
- YYUSE (yy1);
-
- switch (yyn)
- {
-]b4_mergers[
- default: break;
- }
-}
-
- /* Bison grammar-table manipulation. */
-
-]b4_yydestruct_define[
-
-/** Number of symbols composing the right hand side of rule #RULE. */
-static inline int
-yyrhsLength (yyRuleNum yyrule)
-{
- return yyr2[yyrule];
-}
-
-static void
-yydestroyGLRState (char const *yymsg, yyGLRState *yys]b4_user_formals[)
-{
- if (yys->yyresolved)
- yydestruct (yymsg, yystos[yys->yylrState],
- &yys->yysemantics.yysval]b4_locuser_args([&yys->yyloc])[);
- else
- {
-#if ]b4_api_PREFIX[DEBUG
- if (yydebug)
- {
- if (yys->yysemantics.yyfirstVal)
- YYFPRINTF (stderr, "%s unresolved ", yymsg);
- else
- YYFPRINTF (stderr, "%s incomplete ", yymsg);
- yy_symbol_print (stderr, yystos[yys->yylrState],
- YY_NULL]b4_locuser_args([&yys->yyloc])[);
- YYFPRINTF (stderr, "\n");
- }
-#endif
-
- if (yys->yysemantics.yyfirstVal)
- {
- yySemanticOption *yyoption = yys->yysemantics.yyfirstVal;
- yyGLRState *yyrh;
- int yyn;
- for (yyrh = yyoption->yystate, yyn = yyrhsLength (yyoption->yyrule);
- yyn > 0;
- yyrh = yyrh->yypred, yyn -= 1)
- yydestroyGLRState (yymsg, yyrh]b4_user_args[);
- }
- }
-}
-
-/** Left-hand-side symbol for rule #YYRULE. */
-static inline yySymbol
-yylhsNonterm (yyRuleNum yyrule)
-{
- return yyr1[yyrule];
-}
-
-#define yypact_value_is_default(Yystate) \
- ]b4_table_value_equals([[pact]], [[Yystate]], [b4_pact_ninf])[
-
-/** True iff LR state YYSTATE has only a default reduction (regardless
- * of token). */
-static inline yybool
-yyisDefaultedState (yyStateNum yystate)
-{
- return yypact_value_is_default (yypact[yystate]);
-}
-
-/** The default reduction for YYSTATE, assuming it has one. */
-static inline yyRuleNum
-yydefaultAction (yyStateNum yystate)
-{
- return yydefact[yystate];
-}
-
-#define yytable_value_is_error(Yytable_value) \
- ]b4_table_value_equals([[table]], [[Yytable_value]], [b4_table_ninf])[
-
-/** Set *YYACTION to the action to take in YYSTATE on seeing YYTOKEN.
- * Result R means
- * R < 0: Reduce on rule -R.
- * R = 0: Error.
- * R > 0: Shift to state R.
- * Set *YYCONFLICTS to a pointer into yyconfl to a 0-terminated list
- * of conflicting reductions.
- */
-static inline void
-yygetLRActions (yyStateNum yystate, int yytoken,
- int* yyaction, const short int** yyconflicts)
-{
- int yyindex = yypact[yystate] + yytoken;
- if (yypact_value_is_default (yypact[yystate])
- || yyindex < 0 || YYLAST < yyindex || yycheck[yyindex] != yytoken)
- {
- *yyaction = -yydefact[yystate];
- *yyconflicts = yyconfl;
- }
- else if (! yytable_value_is_error (yytable[yyindex]))
- {
- *yyaction = yytable[yyindex];
- *yyconflicts = yyconfl + yyconflp[yyindex];
- }
- else
- {
- *yyaction = 0;
- *yyconflicts = yyconfl + yyconflp[yyindex];
- }
-}
-
-static inline yyStateNum
-yyLRgotoState (yyStateNum yystate, yySymbol yylhs)
-{
- int yyr = yypgoto[yylhs - YYNTOKENS] + yystate;
- if (0 <= yyr && yyr <= YYLAST && yycheck[yyr] == yystate)
- return yytable[yyr];
- else
- return yydefgoto[yylhs - YYNTOKENS];
-}
-
-static inline yybool
-yyisShiftAction (int yyaction)
-{
- return 0 < yyaction;
-}
-
-static inline yybool
-yyisErrorAction (int yyaction)
-{
- return yyaction == 0;
-}
-
- /* GLRStates */
-
-/** Return a fresh GLRStackItem in YYSTACKP. The item is an LR state
- * if YYISSTATE, and otherwise a semantic option. Callers should call
- * YY_RESERVE_GLRSTACK afterwards to make sure there is sufficient
- * headroom. */
-
-static inline yyGLRStackItem*
-yynewGLRStackItem (yyGLRStack* yystackp, yybool yyisState)
-{
- yyGLRStackItem* yynewItem = yystackp->yynextFree;
- yystackp->yyspaceLeft -= 1;
- yystackp->yynextFree += 1;
- yynewItem->yystate.yyisState = yyisState;
- return yynewItem;
-}
-
-/** Add a new semantic action that will execute the action for rule
- * YYRULE on the semantic values in YYRHS to the list of
- * alternative actions for YYSTATE. Assumes that YYRHS comes from
- * stack #YYK of *YYSTACKP. */
-static void
-yyaddDeferredAction (yyGLRStack* yystackp, size_t yyk, yyGLRState* yystate,
- yyGLRState* yyrhs, yyRuleNum yyrule)
-{
- yySemanticOption* yynewOption =
- &yynewGLRStackItem (yystackp, yyfalse)->yyoption;
- yynewOption->yystate = yyrhs;
- yynewOption->yyrule = yyrule;
- if (yystackp->yytops.yylookaheadNeeds[yyk])
- {
- yynewOption->yyrawchar = yychar;
- yynewOption->yyval = yylval;]b4_locations_if([
- yynewOption->yyloc = yylloc;])[
- }
- else
- yynewOption->yyrawchar = YYEMPTY;
- yynewOption->yynext = yystate->yysemantics.yyfirstVal;
- yystate->yysemantics.yyfirstVal = yynewOption;
-
- YY_RESERVE_GLRSTACK (yystackp);
-}
-
- /* GLRStacks */
-
-/** Initialize YYSET to a singleton set containing an empty stack. */
-static yybool
-yyinitStateSet (yyGLRStateSet* yyset)
-{
- yyset->yysize = 1;
- yyset->yycapacity = 16;
- yyset->yystates = (yyGLRState**) YYMALLOC (16 * sizeof yyset->yystates[0]);
- if (! yyset->yystates)
- return yyfalse;
- yyset->yystates[0] = YY_NULL;
- yyset->yylookaheadNeeds =
- (yybool*) YYMALLOC (16 * sizeof yyset->yylookaheadNeeds[0]);
- if (! yyset->yylookaheadNeeds)
- {
- YYFREE (yyset->yystates);
- return yyfalse;
- }
- return yytrue;
-}
-
-static void yyfreeStateSet (yyGLRStateSet* yyset)
-{
- YYFREE (yyset->yystates);
- YYFREE (yyset->yylookaheadNeeds);
-}
-
-/** Initialize *YYSTACKP to a single empty stack, with total maximum
- * capacity for all stacks of YYSIZE. */
-static yybool
-yyinitGLRStack (yyGLRStack* yystackp, size_t yysize)
-{
- yystackp->yyerrState = 0;
- yynerrs = 0;
- yystackp->yyspaceLeft = yysize;
- yystackp->yyitems =
- (yyGLRStackItem*) YYMALLOC (yysize * sizeof yystackp->yynextFree[0]);
- if (!yystackp->yyitems)
- return yyfalse;
- yystackp->yynextFree = yystackp->yyitems;
- yystackp->yysplitPoint = YY_NULL;
- yystackp->yylastDeleted = YY_NULL;
- return yyinitStateSet (&yystackp->yytops);
-}
-
-
-#if YYSTACKEXPANDABLE
-# define YYRELOC(YYFROMITEMS,YYTOITEMS,YYX,YYTYPE) \
- &((YYTOITEMS) - ((YYFROMITEMS) - (yyGLRStackItem*) (YYX)))->YYTYPE
-
-/** If *YYSTACKP is expandable, extend it. WARNING: Pointers into the
- stack from outside should be considered invalid after this call.
- We always expand when there are 1 or fewer items left AFTER an
- allocation, so that we can avoid having external pointers exist
- across an allocation. */
-static void
-yyexpandGLRStack (yyGLRStack* yystackp)
-{
- yyGLRStackItem* yynewItems;
- yyGLRStackItem* yyp0, *yyp1;
- size_t yynewSize;
- size_t yyn;
- size_t yysize = yystackp->yynextFree - yystackp->yyitems;
- if (YYMAXDEPTH - YYHEADROOM < yysize)
- yyMemoryExhausted (yystackp);
- yynewSize = 2*yysize;
- if (YYMAXDEPTH < yynewSize)
- yynewSize = YYMAXDEPTH;
- yynewItems = (yyGLRStackItem*) YYMALLOC (yynewSize * sizeof yynewItems[0]);
- if (! yynewItems)
- yyMemoryExhausted (yystackp);
- for (yyp0 = yystackp->yyitems, yyp1 = yynewItems, yyn = yysize;
- 0 < yyn;
- yyn -= 1, yyp0 += 1, yyp1 += 1)
- {
- *yyp1 = *yyp0;
- if (*(yybool *) yyp0)
- {
- yyGLRState* yys0 = &yyp0->yystate;
- yyGLRState* yys1 = &yyp1->yystate;
- if (yys0->yypred != YY_NULL)
- yys1->yypred =
- YYRELOC (yyp0, yyp1, yys0->yypred, yystate);
- if (! yys0->yyresolved && yys0->yysemantics.yyfirstVal != YY_NULL)
- yys1->yysemantics.yyfirstVal =
- YYRELOC (yyp0, yyp1, yys0->yysemantics.yyfirstVal, yyoption);
- }
- else
- {
- yySemanticOption* yyv0 = &yyp0->yyoption;
- yySemanticOption* yyv1 = &yyp1->yyoption;
- if (yyv0->yystate != YY_NULL)
- yyv1->yystate = YYRELOC (yyp0, yyp1, yyv0->yystate, yystate);
- if (yyv0->yynext != YY_NULL)
- yyv1->yynext = YYRELOC (yyp0, yyp1, yyv0->yynext, yyoption);
- }
- }
- if (yystackp->yysplitPoint != YY_NULL)
- yystackp->yysplitPoint = YYRELOC (yystackp->yyitems, yynewItems,
- yystackp->yysplitPoint, yystate);
-
- for (yyn = 0; yyn < yystackp->yytops.yysize; yyn += 1)
- if (yystackp->yytops.yystates[yyn] != YY_NULL)
- yystackp->yytops.yystates[yyn] =
- YYRELOC (yystackp->yyitems, yynewItems,
- yystackp->yytops.yystates[yyn], yystate);
- YYFREE (yystackp->yyitems);
- yystackp->yyitems = yynewItems;
- yystackp->yynextFree = yynewItems + yysize;
- yystackp->yyspaceLeft = yynewSize - yysize;
-}
-#endif
-
-static void
-yyfreeGLRStack (yyGLRStack* yystackp)
-{
- YYFREE (yystackp->yyitems);
- yyfreeStateSet (&yystackp->yytops);
-}
-
-/** Assuming that YYS is a GLRState somewhere on *YYSTACKP, update the
- * splitpoint of *YYSTACKP, if needed, so that it is at least as deep as
- * YYS. */
-static inline void
-yyupdateSplit (yyGLRStack* yystackp, yyGLRState* yys)
-{
- if (yystackp->yysplitPoint != YY_NULL && yystackp->yysplitPoint > yys)
- yystackp->yysplitPoint = yys;
-}
-
-/** Invalidate stack #YYK in *YYSTACKP. */
-static inline void
-yymarkStackDeleted (yyGLRStack* yystackp, size_t yyk)
-{
- if (yystackp->yytops.yystates[yyk] != YY_NULL)
- yystackp->yylastDeleted = yystackp->yytops.yystates[yyk];
- yystackp->yytops.yystates[yyk] = YY_NULL;
-}
-
-/** Undelete the last stack in *YYSTACKP that was marked as deleted. Can
- only be done once after a deletion, and only when all other stacks have
- been deleted. */
-static void
-yyundeleteLastStack (yyGLRStack* yystackp)
-{
- if (yystackp->yylastDeleted == YY_NULL || yystackp->yytops.yysize != 0)
- return;
- yystackp->yytops.yystates[0] = yystackp->yylastDeleted;
- yystackp->yytops.yysize = 1;
- YYDPRINTF ((stderr, "Restoring last deleted stack as stack #0.\n"));
- yystackp->yylastDeleted = YY_NULL;
-}
-
-static inline void
-yyremoveDeletes (yyGLRStack* yystackp)
-{
- size_t yyi, yyj;
- yyi = yyj = 0;
- while (yyj < yystackp->yytops.yysize)
- {
- if (yystackp->yytops.yystates[yyi] == YY_NULL)
- {
- if (yyi == yyj)
- {
- YYDPRINTF ((stderr, "Removing dead stacks.\n"));
- }
- yystackp->yytops.yysize -= 1;
- }
- else
- {
- yystackp->yytops.yystates[yyj] = yystackp->yytops.yystates[yyi];
- /* In the current implementation, it's unnecessary to copy
- yystackp->yytops.yylookaheadNeeds[yyi] since, after
- yyremoveDeletes returns, the parser immediately either enters
- deterministic operation or shifts a token. However, it doesn't
- hurt, and the code might evolve to need it. */
- yystackp->yytops.yylookaheadNeeds[yyj] =
- yystackp->yytops.yylookaheadNeeds[yyi];
- if (yyj != yyi)
- {
- YYDPRINTF ((stderr, "Rename stack %lu -> %lu.\n",
- (unsigned long int) yyi, (unsigned long int) yyj));
- }
- yyj += 1;
- }
- yyi += 1;
- }
-}
-
-/** Shift to a new state on stack #YYK of *YYSTACKP, corresponding to LR
- * state YYLRSTATE, at input position YYPOSN, with (resolved) semantic
- * value *YYVALP and source location *YYLOCP. */
-static inline void
-yyglrShift (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState,
- size_t yyposn,
- YYSTYPE* yyvalp]b4_locations_if([, YYLTYPE* yylocp])[)
-{
- yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate;
-
- yynewState->yylrState = yylrState;
- yynewState->yyposn = yyposn;
- yynewState->yyresolved = yytrue;
- yynewState->yypred = yystackp->yytops.yystates[yyk];
- yynewState->yysemantics.yysval = *yyvalp;]b4_locations_if([
- yynewState->yyloc = *yylocp;])[
- yystackp->yytops.yystates[yyk] = yynewState;
-
- YY_RESERVE_GLRSTACK (yystackp);
-}
-
-/** Shift stack #YYK of *YYSTACKP, to a new state corresponding to LR
- * state YYLRSTATE, at input position YYPOSN, with the (unresolved)
- * semantic value of YYRHS under the action for YYRULE. */
-static inline void
-yyglrShiftDefer (yyGLRStack* yystackp, size_t yyk, yyStateNum yylrState,
- size_t yyposn, yyGLRState* yyrhs, yyRuleNum yyrule)
-{
- yyGLRState* yynewState = &yynewGLRStackItem (yystackp, yytrue)->yystate;
-
- yynewState->yylrState = yylrState;
- yynewState->yyposn = yyposn;
- yynewState->yyresolved = yyfalse;
- yynewState->yypred = yystackp->yytops.yystates[yyk];
- yynewState->yysemantics.yyfirstVal = YY_NULL;
- yystackp->yytops.yystates[yyk] = yynewState;
-
- /* Invokes YY_RESERVE_GLRSTACK. */
- yyaddDeferredAction (yystackp, yyk, yynewState, yyrhs, yyrule);
-}
-
-#if !]b4_api_PREFIX[DEBUG
-# define YY_REDUCE_PRINT(Args)
-#else
-# define YY_REDUCE_PRINT(Args) \
-do { \
- if (yydebug) \
- yy_reduce_print Args; \
-} while (0)
-
-/*----------------------------------------------------------------------.
-| Report that stack #YYK of *YYSTACKP is going to be reduced by YYRULE. |
-`----------------------------------------------------------------------*/
-
-static inline void
-yy_reduce_print (int yynormal, yyGLRStackItem* yyvsp, size_t yyk,
- yyRuleNum yyrule]b4_user_formals[)
-{
- int yynrhs = yyrhsLength (yyrule);]b4_locations_if([
- int yylow = 1;])[
- int yyi;
- YYFPRINTF (stderr, "Reducing stack %lu by rule %d (line %lu):\n",
- (unsigned long int) yyk, yyrule - 1,
- (unsigned long int) yyrline[yyrule]);
- if (! yynormal)
- yyfillin (yyvsp, 1, -yynrhs);
- /* The symbols being reduced. */
- for (yyi = 0; yyi < yynrhs; yyi++)
- {
- YYFPRINTF (stderr, " $%d = ", yyi + 1);
- yy_symbol_print (stderr,
- yystos[yyvsp[yyi - yynrhs + 1].yystate.yylrState],
- &yyvsp[yyi - yynrhs + 1].yystate.yysemantics.yysval
- ]b4_locations_if([, &]b4_rhs_location(yynrhs, yyi + 1))[]dnl
- b4_user_args[);
- if (!yyvsp[yyi - yynrhs + 1].yystate.yyresolved)
- YYFPRINTF (stderr, " (unresolved)");
- YYFPRINTF (stderr, "\n");
- }
-}
-#endif
-
-/** Pop the symbols consumed by reduction #YYRULE from the top of stack
- * #YYK of *YYSTACKP, and perform the appropriate semantic action on their
- * semantic values. Assumes that all ambiguities in semantic values
- * have been previously resolved. Set *YYVALP to the resulting value,
- * and *YYLOCP to the computed location (if any). Return value is as
- * for userAction. */
-static inline YYRESULTTAG
-yydoAction (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
- YYSTYPE* yyvalp]b4_locuser_formals[)
-{
- int yynrhs = yyrhsLength (yyrule);
-
- if (yystackp->yysplitPoint == YY_NULL)
- {
- /* Standard special case: single stack. */
- yyGLRStackItem* yyrhs = (yyGLRStackItem*) yystackp->yytops.yystates[yyk];
- YYASSERT (yyk == 0);
- yystackp->yynextFree -= yynrhs;
- yystackp->yyspaceLeft += yynrhs;
- yystackp->yytops.yystates[0] = & yystackp->yynextFree[-1].yystate;
- YY_REDUCE_PRINT ((1, yyrhs, yyk, yyrule]b4_user_args[));
- return yyuserAction (yyrule, yynrhs, yyrhs, yystackp,
- yyvalp]b4_locuser_args[);
- }
- else
- {
- int yyi;
- yyGLRState* yys;
- yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
- yys = yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred
- = yystackp->yytops.yystates[yyk];]b4_locations_if([[
- if (yynrhs == 0)
- /* Set default location. */
- yyrhsVals[YYMAXRHS + YYMAXLEFT - 1].yystate.yyloc = yys->yyloc;]])[
- for (yyi = 0; yyi < yynrhs; yyi += 1)
- {
- yys = yys->yypred;
- YYASSERT (yys);
- }
- yyupdateSplit (yystackp, yys);
- yystackp->yytops.yystates[yyk] = yys;
- YY_REDUCE_PRINT ((0, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1, yyk, yyrule]b4_user_args[));
- return yyuserAction (yyrule, yynrhs, yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
- yystackp, yyvalp]b4_locuser_args[);
- }
-}
-
-/** Pop items off stack #YYK of *YYSTACKP according to grammar rule YYRULE,
- * and push back on the resulting nonterminal symbol. Perform the
- * semantic action associated with YYRULE and store its value with the
- * newly pushed state, if YYFORCEEVAL or if *YYSTACKP is currently
- * unambiguous. Otherwise, store the deferred semantic action with
- * the new state. If the new state would have an identical input
- * position, LR state, and predecessor to an existing state on the stack,
- * it is identified with that existing state, eliminating stack #YYK from
- * *YYSTACKP. In this case, the semantic value is
- * added to the options for the existing state's semantic value.
- */
-static inline YYRESULTTAG
-yyglrReduce (yyGLRStack* yystackp, size_t yyk, yyRuleNum yyrule,
- yybool yyforceEval]b4_user_formals[)
-{
- size_t yyposn = yystackp->yytops.yystates[yyk]->yyposn;
-
- if (yyforceEval || yystackp->yysplitPoint == YY_NULL)
- {
- YYRESULTTAG yyflag;
- YYSTYPE yysval;]b4_locations_if([
- YYLTYPE yyloc;])[
-
- yyflag = yydoAction (yystackp, yyk, yyrule, &yysval]b4_locuser_args([&yyloc])[);
- if (yyflag == yyerr && yystackp->yysplitPoint != YY_NULL)
- {
- YYDPRINTF ((stderr, "Parse on stack %lu rejected by rule #%d.\n",
- (unsigned long int) yyk, yyrule - 1));
- }
- if (yyflag != yyok)
- return yyflag;
- YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyrule], &yysval, &yyloc);
- yyglrShift (yystackp, yyk,
- yyLRgotoState (yystackp->yytops.yystates[yyk]->yylrState,
- yylhsNonterm (yyrule)),
- yyposn, &yysval]b4_locations_if([, &yyloc])[);
- }
- else
- {
- size_t yyi;
- int yyn;
- yyGLRState* yys, *yys0 = yystackp->yytops.yystates[yyk];
- yyStateNum yynewLRState;
-
- for (yys = yystackp->yytops.yystates[yyk], yyn = yyrhsLength (yyrule);
- 0 < yyn; yyn -= 1)
- {
- yys = yys->yypred;
- YYASSERT (yys);
- }
- yyupdateSplit (yystackp, yys);
- yynewLRState = yyLRgotoState (yys->yylrState, yylhsNonterm (yyrule));
- YYDPRINTF ((stderr,
- "Reduced stack %lu by rule #%d; action deferred. "
- "Now in state %d.\n",
- (unsigned long int) yyk, yyrule - 1, yynewLRState));
- for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1)
- if (yyi != yyk && yystackp->yytops.yystates[yyi] != YY_NULL)
- {
- yyGLRState *yysplit = yystackp->yysplitPoint;
- yyGLRState *yyp = yystackp->yytops.yystates[yyi];
- while (yyp != yys && yyp != yysplit && yyp->yyposn >= yyposn)
- {
- if (yyp->yylrState == yynewLRState && yyp->yypred == yys)
- {
- yyaddDeferredAction (yystackp, yyk, yyp, yys0, yyrule);
- yymarkStackDeleted (yystackp, yyk);
- YYDPRINTF ((stderr, "Merging stack %lu into stack %lu.\n",
- (unsigned long int) yyk,
- (unsigned long int) yyi));
- return yyok;
- }
- yyp = yyp->yypred;
- }
- }
- yystackp->yytops.yystates[yyk] = yys;
- yyglrShiftDefer (yystackp, yyk, yynewLRState, yyposn, yys0, yyrule);
- }
- return yyok;
-}
-
-static size_t
-yysplitStack (yyGLRStack* yystackp, size_t yyk)
-{
- if (yystackp->yysplitPoint == YY_NULL)
- {
- YYASSERT (yyk == 0);
- yystackp->yysplitPoint = yystackp->yytops.yystates[yyk];
- }
- if (yystackp->yytops.yysize >= yystackp->yytops.yycapacity)
- {
- yyGLRState** yynewStates;
- yybool* yynewLookaheadNeeds;
-
- yynewStates = YY_NULL;
-
- if (yystackp->yytops.yycapacity
- > (YYSIZEMAX / (2 * sizeof yynewStates[0])))
- yyMemoryExhausted (yystackp);
- yystackp->yytops.yycapacity *= 2;
-
- yynewStates =
- (yyGLRState**) YYREALLOC (yystackp->yytops.yystates,
- (yystackp->yytops.yycapacity
- * sizeof yynewStates[0]));
- if (yynewStates == YY_NULL)
- yyMemoryExhausted (yystackp);
- yystackp->yytops.yystates = yynewStates;
-
- yynewLookaheadNeeds =
- (yybool*) YYREALLOC (yystackp->yytops.yylookaheadNeeds,
- (yystackp->yytops.yycapacity
- * sizeof yynewLookaheadNeeds[0]));
- if (yynewLookaheadNeeds == YY_NULL)
- yyMemoryExhausted (yystackp);
- yystackp->yytops.yylookaheadNeeds = yynewLookaheadNeeds;
- }
- yystackp->yytops.yystates[yystackp->yytops.yysize]
- = yystackp->yytops.yystates[yyk];
- yystackp->yytops.yylookaheadNeeds[yystackp->yytops.yysize]
- = yystackp->yytops.yylookaheadNeeds[yyk];
- yystackp->yytops.yysize += 1;
- return yystackp->yytops.yysize-1;
-}
-
-/** True iff YYY0 and YYY1 represent identical options at the top level.
- * That is, they represent the same rule applied to RHS symbols
- * that produce the same terminal symbols. */
-static yybool
-yyidenticalOptions (yySemanticOption* yyy0, yySemanticOption* yyy1)
-{
- if (yyy0->yyrule == yyy1->yyrule)
- {
- yyGLRState *yys0, *yys1;
- int yyn;
- for (yys0 = yyy0->yystate, yys1 = yyy1->yystate,
- yyn = yyrhsLength (yyy0->yyrule);
- yyn > 0;
- yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1)
- if (yys0->yyposn != yys1->yyposn)
- return yyfalse;
- return yytrue;
- }
- else
- return yyfalse;
-}
-
-/** Assuming identicalOptions (YYY0,YYY1), destructively merge the
- * alternative semantic values for the RHS-symbols of YYY1 and YYY0. */
-static void
-yymergeOptionSets (yySemanticOption* yyy0, yySemanticOption* yyy1)
-{
- yyGLRState *yys0, *yys1;
- int yyn;
- for (yys0 = yyy0->yystate, yys1 = yyy1->yystate,
- yyn = yyrhsLength (yyy0->yyrule);
- yyn > 0;
- yys0 = yys0->yypred, yys1 = yys1->yypred, yyn -= 1)
- {
- if (yys0 == yys1)
- break;
- else if (yys0->yyresolved)
- {
- yys1->yyresolved = yytrue;
- yys1->yysemantics.yysval = yys0->yysemantics.yysval;
- }
- else if (yys1->yyresolved)
- {
- yys0->yyresolved = yytrue;
- yys0->yysemantics.yysval = yys1->yysemantics.yysval;
- }
- else
- {
- yySemanticOption** yyz0p = &yys0->yysemantics.yyfirstVal;
- yySemanticOption* yyz1 = yys1->yysemantics.yyfirstVal;
- while (yytrue)
- {
- if (yyz1 == *yyz0p || yyz1 == YY_NULL)
- break;
- else if (*yyz0p == YY_NULL)
- {
- *yyz0p = yyz1;
- break;
- }
- else if (*yyz0p < yyz1)
- {
- yySemanticOption* yyz = *yyz0p;
- *yyz0p = yyz1;
- yyz1 = yyz1->yynext;
- (*yyz0p)->yynext = yyz;
- }
- yyz0p = &(*yyz0p)->yynext;
- }
- yys1->yysemantics.yyfirstVal = yys0->yysemantics.yyfirstVal;
- }
- }
-}
-
-/** Y0 and Y1 represent two possible actions to take in a given
- * parsing state; return 0 if no combination is possible,
- * 1 if user-mergeable, 2 if Y0 is preferred, 3 if Y1 is preferred. */
-static int
-yypreference (yySemanticOption* y0, yySemanticOption* y1)
-{
- yyRuleNum r0 = y0->yyrule, r1 = y1->yyrule;
- int p0 = yydprec[r0], p1 = yydprec[r1];
-
- if (p0 == p1)
- {
- if (yymerger[r0] == 0 || yymerger[r0] != yymerger[r1])
- return 0;
- else
- return 1;
- }
- if (p0 == 0 || p1 == 0)
- return 0;
- if (p0 < p1)
- return 3;
- if (p1 < p0)
- return 2;
- return 0;
-}
-
-static YYRESULTTAG yyresolveValue (yyGLRState* yys,
- yyGLRStack* yystackp]b4_user_formals[);
-
-
-/** Resolve the previous YYN states starting at and including state YYS
- * on *YYSTACKP. If result != yyok, some states may have been left
- * unresolved possibly with empty semantic option chains. Regardless
- * of whether result = yyok, each state has been left with consistent
- * data so that yydestroyGLRState can be invoked if necessary. */
-static YYRESULTTAG
-yyresolveStates (yyGLRState* yys, int yyn,
- yyGLRStack* yystackp]b4_user_formals[)
-{
- if (0 < yyn)
- {
- YYASSERT (yys->yypred);
- YYCHK (yyresolveStates (yys->yypred, yyn-1, yystackp]b4_user_args[));
- if (! yys->yyresolved)
- YYCHK (yyresolveValue (yys, yystackp]b4_user_args[));
- }
- return yyok;
-}
-
-/** Resolve the states for the RHS of YYOPT on *YYSTACKP, perform its
- * user action, and return the semantic value and location in *YYVALP
- * and *YYLOCP. Regardless of whether result = yyok, all RHS states
- * have been destroyed (assuming the user action destroys all RHS
- * semantic values if invoked). */
-static YYRESULTTAG
-yyresolveAction (yySemanticOption* yyopt, yyGLRStack* yystackp,
- YYSTYPE* yyvalp]b4_locuser_formals[)
-{
- yyGLRStackItem yyrhsVals[YYMAXRHS + YYMAXLEFT + 1];
- int yynrhs = yyrhsLength (yyopt->yyrule);
- YYRESULTTAG yyflag =
- yyresolveStates (yyopt->yystate, yynrhs, yystackp]b4_user_args[);
- if (yyflag != yyok)
- {
- yyGLRState *yys;
- for (yys = yyopt->yystate; yynrhs > 0; yys = yys->yypred, yynrhs -= 1)
- yydestroyGLRState ("Cleanup: popping", yys]b4_user_args[);
- return yyflag;
- }
-
- yyrhsVals[YYMAXRHS + YYMAXLEFT].yystate.yypred = yyopt->yystate;]b4_locations_if([[
- if (yynrhs == 0)
- /* Set default location. */
- yyrhsVals[YYMAXRHS + YYMAXLEFT - 1].yystate.yyloc = yyopt->yystate->yyloc;]])[
- {
- int yychar_current = yychar;
- YYSTYPE yylval_current = yylval;]b4_locations_if([
- YYLTYPE yylloc_current = yylloc;])[
- yychar = yyopt->yyrawchar;
- yylval = yyopt->yyval;]b4_locations_if([
- yylloc = yyopt->yyloc;])[
- yyflag = yyuserAction (yyopt->yyrule, yynrhs,
- yyrhsVals + YYMAXRHS + YYMAXLEFT - 1,
- yystackp, yyvalp]b4_locuser_args[);
- yychar = yychar_current;
- yylval = yylval_current;]b4_locations_if([
- yylloc = yylloc_current;])[
- }
- return yyflag;
-}
-
-#if ]b4_api_PREFIX[DEBUG
-static void
-yyreportTree (yySemanticOption* yyx, int yyindent)
-{
- int yynrhs = yyrhsLength (yyx->yyrule);
- int yyi;
- yyGLRState* yys;
- yyGLRState* yystates[1 + YYMAXRHS];
- yyGLRState yyleftmost_state;
-
- for (yyi = yynrhs, yys = yyx->yystate; 0 < yyi; yyi -= 1, yys = yys->yypred)
- yystates[yyi] = yys;
- if (yys == YY_NULL)
- {
- yyleftmost_state.yyposn = 0;
- yystates[0] = &yyleftmost_state;
- }
- else
- yystates[0] = yys;
-
- if (yyx->yystate->yyposn < yys->yyposn + 1)
- YYFPRINTF (stderr, "%*s%s -> <Rule %d, empty>\n",
- yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
- yyx->yyrule - 1);
- else
- YYFPRINTF (stderr, "%*s%s -> <Rule %d, tokens %lu .. %lu>\n",
- yyindent, "", yytokenName (yylhsNonterm (yyx->yyrule)),
- yyx->yyrule - 1, (unsigned long int) (yys->yyposn + 1),
- (unsigned long int) yyx->yystate->yyposn);
- for (yyi = 1; yyi <= yynrhs; yyi += 1)
- {
- if (yystates[yyi]->yyresolved)
- {
- if (yystates[yyi-1]->yyposn+1 > yystates[yyi]->yyposn)
- YYFPRINTF (stderr, "%*s%s <empty>\n", yyindent+2, "",
- yytokenName (yystos[yystates[yyi]->yylrState]));
- else
- YYFPRINTF (stderr, "%*s%s <tokens %lu .. %lu>\n", yyindent+2, "",
- yytokenName (yystos[yystates[yyi]->yylrState]),
- (unsigned long int) (yystates[yyi-1]->yyposn + 1),
- (unsigned long int) yystates[yyi]->yyposn);
- }
- else
- yyreportTree (yystates[yyi]->yysemantics.yyfirstVal, yyindent+2);
- }
-}
-#endif
-
-static YYRESULTTAG
-yyreportAmbiguity (yySemanticOption* yyx0,
- yySemanticOption* yyx1]b4_pure_formals[)
-{
- YYUSE (yyx0);
- YYUSE (yyx1);
-
-#if ]b4_api_PREFIX[DEBUG
- YYFPRINTF (stderr, "Ambiguity detected.\n");
- YYFPRINTF (stderr, "Option 1,\n");
- yyreportTree (yyx0, 2);
- YYFPRINTF (stderr, "\nOption 2,\n");
- yyreportTree (yyx1, 2);
- YYFPRINTF (stderr, "\n");
-#endif
-
- yyerror (]b4_yyerror_args[YY_("syntax is ambiguous"));
- return yyabort;
-}]b4_locations_if([[
-
-/** Resolve the locations for each of the YYN1 states in *YYSTACKP,
- * ending at YYS1. Has no effect on previously resolved states.
- * The first semantic option of a state is always chosen. */
-static void
-yyresolveLocations (yyGLRState* yys1, int yyn1,
- yyGLRStack *yystackp]b4_user_formals[)
-{
- if (0 < yyn1)
- {
- yyresolveLocations (yys1->yypred, yyn1 - 1, yystackp]b4_user_args[);
- if (!yys1->yyresolved)
- {
- yyGLRStackItem yyrhsloc[1 + YYMAXRHS];
- int yynrhs;
- yySemanticOption *yyoption = yys1->yysemantics.yyfirstVal;
- YYASSERT (yyoption != YY_NULL);
- yynrhs = yyrhsLength (yyoption->yyrule);
- if (yynrhs > 0)
- {
- yyGLRState *yys;
- int yyn;
- yyresolveLocations (yyoption->yystate, yynrhs,
- yystackp]b4_user_args[);
- for (yys = yyoption->yystate, yyn = yynrhs;
- yyn > 0;
- yys = yys->yypred, yyn -= 1)
- yyrhsloc[yyn].yystate.yyloc = yys->yyloc;
- }
- else
- {
- /* Both yyresolveAction and yyresolveLocations traverse the GSS
- in reverse rightmost order. It is only necessary to invoke
- yyresolveLocations on a subforest for which yyresolveAction
- would have been invoked next had an ambiguity not been
- detected. Thus the location of the previous state (but not
- necessarily the previous state itself) is guaranteed to be
- resolved already. */
- yyGLRState *yyprevious = yyoption->yystate;
- yyrhsloc[0].yystate.yyloc = yyprevious->yyloc;
- }
- {
- int yychar_current = yychar;
- YYSTYPE yylval_current = yylval;
- YYLTYPE yylloc_current = yylloc;
- yychar = yyoption->yyrawchar;
- yylval = yyoption->yyval;
- yylloc = yyoption->yyloc;
- YYLLOC_DEFAULT ((yys1->yyloc), yyrhsloc, yynrhs);
- yychar = yychar_current;
- yylval = yylval_current;
- yylloc = yylloc_current;
- }
- }
- }
-}]])[
-
-/** Resolve the ambiguity represented in state YYS in *YYSTACKP,
- * perform the indicated actions, and set the semantic value of YYS.
- * If result != yyok, the chain of semantic options in YYS has been
- * cleared instead or it has been left unmodified except that
- * redundant options may have been removed. Regardless of whether
- * result = yyok, YYS has been left with consistent data so that
- * yydestroyGLRState can be invoked if necessary. */
-static YYRESULTTAG
-yyresolveValue (yyGLRState* yys, yyGLRStack* yystackp]b4_user_formals[)
-{
- yySemanticOption* yyoptionList = yys->yysemantics.yyfirstVal;
- yySemanticOption* yybest = yyoptionList;
- yySemanticOption** yypp;
- yybool yymerge = yyfalse;
- YYSTYPE yysval;
- YYRESULTTAG yyflag;]b4_locations_if([
- YYLTYPE *yylocp = &yys->yyloc;])[
-
- for (yypp = &yyoptionList->yynext; *yypp != YY_NULL; )
- {
- yySemanticOption* yyp = *yypp;
-
- if (yyidenticalOptions (yybest, yyp))
- {
- yymergeOptionSets (yybest, yyp);
- *yypp = yyp->yynext;
- }
- else
- {
- switch (yypreference (yybest, yyp))
- {
- case 0:]b4_locations_if([[
- yyresolveLocations (yys, 1, yystackp]b4_user_args[);]])[
- return yyreportAmbiguity (yybest, yyp]b4_pure_args[);
- break;
- case 1:
- yymerge = yytrue;
- break;
- case 2:
- break;
- case 3:
- yybest = yyp;
- yymerge = yyfalse;
- break;
- default:
- /* This cannot happen so it is not worth a YYASSERT (yyfalse),
- but some compilers complain if the default case is
- omitted. */
- break;
- }
- yypp = &yyp->yynext;
- }
- }
-
- if (yymerge)
- {
- yySemanticOption* yyp;
- int yyprec = yydprec[yybest->yyrule];
- yyflag = yyresolveAction (yybest, yystackp, &yysval]b4_locuser_args[);
- if (yyflag == yyok)
- for (yyp = yybest->yynext; yyp != YY_NULL; yyp = yyp->yynext)
- {
- if (yyprec == yydprec[yyp->yyrule])
- {
- YYSTYPE yysval_other;]b4_locations_if([
- YYLTYPE yydummy;])[
- yyflag = yyresolveAction (yyp, yystackp, &yysval_other]b4_locuser_args([&yydummy])[);
- if (yyflag != yyok)
- {
- yydestruct ("Cleanup: discarding incompletely merged value for",
- yystos[yys->yylrState],
- &yysval]b4_locuser_args[);
- break;
- }
- yyuserMerge (yymerger[yyp->yyrule], &yysval, &yysval_other);
- }
- }
- }
- else
- yyflag = yyresolveAction (yybest, yystackp, &yysval]b4_locuser_args([yylocp])[);
-
- if (yyflag == yyok)
- {
- yys->yyresolved = yytrue;
- yys->yysemantics.yysval = yysval;
- }
- else
- yys->yysemantics.yyfirstVal = YY_NULL;
- return yyflag;
-}
-
-static YYRESULTTAG
-yyresolveStack (yyGLRStack* yystackp]b4_user_formals[)
-{
- if (yystackp->yysplitPoint != YY_NULL)
- {
- yyGLRState* yys;
- int yyn;
-
- for (yyn = 0, yys = yystackp->yytops.yystates[0];
- yys != yystackp->yysplitPoint;
- yys = yys->yypred, yyn += 1)
- continue;
- YYCHK (yyresolveStates (yystackp->yytops.yystates[0], yyn, yystackp
- ]b4_user_args[));
- }
- return yyok;
-}
-
-static void
-yycompressStack (yyGLRStack* yystackp)
-{
- yyGLRState* yyp, *yyq, *yyr;
-
- if (yystackp->yytops.yysize != 1 || yystackp->yysplitPoint == YY_NULL)
- return;
-
- for (yyp = yystackp->yytops.yystates[0], yyq = yyp->yypred, yyr = YY_NULL;
- yyp != yystackp->yysplitPoint;
- yyr = yyp, yyp = yyq, yyq = yyp->yypred)
- yyp->yypred = yyr;
-
- yystackp->yyspaceLeft += yystackp->yynextFree - yystackp->yyitems;
- yystackp->yynextFree = ((yyGLRStackItem*) yystackp->yysplitPoint) + 1;
- yystackp->yyspaceLeft -= yystackp->yynextFree - yystackp->yyitems;
- yystackp->yysplitPoint = YY_NULL;
- yystackp->yylastDeleted = YY_NULL;
-
- while (yyr != YY_NULL)
- {
- yystackp->yynextFree->yystate = *yyr;
- yyr = yyr->yypred;
- yystackp->yynextFree->yystate.yypred = &yystackp->yynextFree[-1].yystate;
- yystackp->yytops.yystates[0] = &yystackp->yynextFree->yystate;
- yystackp->yynextFree += 1;
- yystackp->yyspaceLeft -= 1;
- }
-}
-
-static YYRESULTTAG
-yyprocessOneStack (yyGLRStack* yystackp, size_t yyk,
- size_t yyposn]b4_pure_formals[)
-{
- while (yystackp->yytops.yystates[yyk] != YY_NULL)
- {
- yyStateNum yystate = yystackp->yytops.yystates[yyk]->yylrState;
- YYDPRINTF ((stderr, "Stack %lu Entering state %d\n",
- (unsigned long int) yyk, yystate));
-
- YYASSERT (yystate != YYFINAL);
-
- if (yyisDefaultedState (yystate))
- {
- YYRESULTTAG yyflag;
- yyRuleNum yyrule = yydefaultAction (yystate);
- if (yyrule == 0)
- {
- YYDPRINTF ((stderr, "Stack %lu dies.\n",
- (unsigned long int) yyk));
- yymarkStackDeleted (yystackp, yyk);
- return yyok;
- }
- yyflag = yyglrReduce (yystackp, yyk, yyrule, yyimmediate[yyrule]]b4_user_args[);
- if (yyflag == yyerr)
- {
- YYDPRINTF ((stderr,
- "Stack %lu dies "
- "(predicate failure or explicit user error).\n",
- (unsigned long int) yyk));
- yymarkStackDeleted (yystackp, yyk);
- return yyok;
- }
- if (yyflag != yyok)
- return yyflag;
- }
- else
- {
- yySymbol yytoken;
- int yyaction;
- const short int* yyconflicts;
-
- yystackp->yytops.yylookaheadNeeds[yyk] = yytrue;
- if (yychar == YYEMPTY)
- {
- YYDPRINTF ((stderr, "Reading a token: "));
- yychar = ]b4_lex[;
- }
-
- if (yychar <= YYEOF)
- {
- yychar = yytoken = YYEOF;
- YYDPRINTF ((stderr, "Now at end of input.\n"));
- }
- else
- {
- yytoken = YYTRANSLATE (yychar);
- YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
- }
-
- yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
-
- while (*yyconflicts != 0)
- {
- YYRESULTTAG yyflag;
- size_t yynewStack = yysplitStack (yystackp, yyk);
- YYDPRINTF ((stderr, "Splitting off stack %lu from %lu.\n",
- (unsigned long int) yynewStack,
- (unsigned long int) yyk));
- yyflag = yyglrReduce (yystackp, yynewStack,
- *yyconflicts,
- yyimmediate[*yyconflicts]]b4_user_args[);
- if (yyflag == yyok)
- YYCHK (yyprocessOneStack (yystackp, yynewStack,
- yyposn]b4_pure_args[));
- else if (yyflag == yyerr)
- {
- YYDPRINTF ((stderr, "Stack %lu dies.\n",
- (unsigned long int) yynewStack));
- yymarkStackDeleted (yystackp, yynewStack);
- }
- else
- return yyflag;
- yyconflicts += 1;
- }
-
- if (yyisShiftAction (yyaction))
- break;
- else if (yyisErrorAction (yyaction))
- {
- YYDPRINTF ((stderr, "Stack %lu dies.\n",
- (unsigned long int) yyk));
- yymarkStackDeleted (yystackp, yyk);
- break;
- }
- else
- {
- YYRESULTTAG yyflag = yyglrReduce (yystackp, yyk, -yyaction,
- yyimmediate[-yyaction]]b4_user_args[);
- if (yyflag == yyerr)
- {
- YYDPRINTF ((stderr,
- "Stack %lu dies "
- "(predicate failure or explicit user error).\n",
- (unsigned long int) yyk));
- yymarkStackDeleted (yystackp, yyk);
- break;
- }
- else if (yyflag != yyok)
- return yyflag;
- }
- }
- }
- return yyok;
-}
-
-static void
-yyreportSyntaxError (yyGLRStack* yystackp]b4_user_formals[)
-{
- if (yystackp->yyerrState != 0)
- return;
-#if ! YYERROR_VERBOSE
- yyerror (]b4_lyyerror_args[YY_("syntax error"));
-#else
- {
- yySymbol yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
- size_t yysize0 = yytnamerr (YY_NULL, yytokenName (yytoken));
- size_t yysize = yysize0;
- yybool yysize_overflow = yyfalse;
- char* yymsg = YY_NULL;
- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
- /* Internationalized format string. */
- const char *yyformat = YY_NULL;
- /* Arguments of yyformat. */
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- /* Number of reported tokens (one for the "unexpected", one per
- "expected"). */
- int yycount = 0;
-
- /* There are many possibilities here to consider:
- - If this state is a consistent state with a default action, then
- the only way this function was invoked is if the default action
- is an error action. In that case, don't check for expected
- tokens because there are none.
- - The only way there can be no lookahead present (in yychar) is if
- this state is a consistent state with a default action. Thus,
- detecting the absence of a lookahead is sufficient to determine
- that there is no unexpected or expected token to report. In that
- case, just report a simple "syntax error".
- - Don't assume there isn't a lookahead just because this state is a
- consistent state with a default action. There might have been a
- previous inconsistent state, consistent state with a non-default
- action, or user semantic action that manipulated yychar.
- - Of course, the expected token list depends on states to have
- correct lookahead information, and it depends on the parser not
- to perform extra reductions after fetching a lookahead from the
- scanner and before detecting a syntax error. Thus, state merging
- (from LALR or IELR) and default reductions corrupt the expected
- token list. However, the list is correct for canonical LR with
- one exception: it will still contain any token that will not be
- accepted due to an error action in a later state.
- */
- if (yytoken != YYEMPTY)
- {
- int yyn = yypact[yystackp->yytops.yystates[0]->yylrState];
- yyarg[yycount++] = yytokenName (yytoken);
- if (!yypact_value_is_default (yyn))
- {
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. In other words, skip the first -YYN actions for this
- state because they are default actions. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
- /* Stay within bounds of both yycheck and yytname. */
- int yychecklim = YYLAST - yyn + 1;
- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
- int yyx;
- for (yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
- && !yytable_value_is_error (yytable[yyx + yyn]))
- {
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
- {
- yycount = 1;
- yysize = yysize0;
- break;
- }
- yyarg[yycount++] = yytokenName (yyx);
- {
- size_t yysz = yysize + yytnamerr (YY_NULL, yytokenName (yyx));
- yysize_overflow |= yysz < yysize;
- yysize = yysz;
- }
- }
- }
- }
-
- switch (yycount)
- {
-#define YYCASE_(N, S) \
- case N: \
- yyformat = S; \
- break
- YYCASE_(0, YY_("syntax error"));
- YYCASE_(1, YY_("syntax error, unexpected %s"));
- YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
- YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
- YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
- YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
-#undef YYCASE_
- }
-
- {
- size_t yysz = yysize + strlen (yyformat);
- yysize_overflow |= yysz < yysize;
- yysize = yysz;
- }
-
- if (!yysize_overflow)
- yymsg = (char *) YYMALLOC (yysize);
-
- if (yymsg)
- {
- char *yyp = yymsg;
- int yyi = 0;
- while ((*yyp = *yyformat))
- {
- if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
- {
- yyp += yytnamerr (yyp, yyarg[yyi++]);
- yyformat += 2;
- }
- else
- {
- yyp++;
- yyformat++;
- }
- }
- yyerror (]b4_lyyerror_args[yymsg);
- YYFREE (yymsg);
- }
- else
- {
- yyerror (]b4_lyyerror_args[YY_("syntax error"));
- yyMemoryExhausted (yystackp);
- }
- }
-#endif /* YYERROR_VERBOSE */
- yynerrs += 1;
-}
-
-/* Recover from a syntax error on *YYSTACKP, assuming that *YYSTACKP->YYTOKENP,
- yylval, and yylloc are the syntactic category, semantic value, and location
- of the lookahead. */
-static void
-yyrecoverSyntaxError (yyGLRStack* yystackp]b4_user_formals[)
-{
- size_t yyk;
- int yyj;
-
- if (yystackp->yyerrState == 3)
- /* We just shifted the error token and (perhaps) took some
- reductions. Skip tokens until we can proceed. */
- while (yytrue)
- {
- yySymbol yytoken;
- if (yychar == YYEOF)
- yyFail (yystackp][]b4_lpure_args[, YY_NULL);
- if (yychar != YYEMPTY)
- {]b4_locations_if([[
- /* We throw away the lookahead, but the error range
- of the shifted error token must take it into account. */
- yyGLRState *yys = yystackp->yytops.yystates[0];
- yyGLRStackItem yyerror_range[3];
- yyerror_range[1].yystate.yyloc = yys->yyloc;
- yyerror_range[2].yystate.yyloc = yylloc;
- YYLLOC_DEFAULT ((yys->yyloc), yyerror_range, 2);]])[
- yytoken = YYTRANSLATE (yychar);
- yydestruct ("Error: discarding",
- yytoken, &yylval]b4_locuser_args([&yylloc])[);
- }
- YYDPRINTF ((stderr, "Reading a token: "));
- yychar = ]b4_lex[;
- if (yychar <= YYEOF)
- {
- yychar = yytoken = YYEOF;
- YYDPRINTF ((stderr, "Now at end of input.\n"));
- }
- else
- {
- yytoken = YYTRANSLATE (yychar);
- YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
- }
- yyj = yypact[yystackp->yytops.yystates[0]->yylrState];
- if (yypact_value_is_default (yyj))
- return;
- yyj += yytoken;
- if (yyj < 0 || YYLAST < yyj || yycheck[yyj] != yytoken)
- {
- if (yydefact[yystackp->yytops.yystates[0]->yylrState] != 0)
- return;
- }
- else if (! yytable_value_is_error (yytable[yyj]))
- return;
- }
-
- /* Reduce to one stack. */
- for (yyk = 0; yyk < yystackp->yytops.yysize; yyk += 1)
- if (yystackp->yytops.yystates[yyk] != YY_NULL)
- break;
- if (yyk >= yystackp->yytops.yysize)
- yyFail (yystackp][]b4_lpure_args[, YY_NULL);
- for (yyk += 1; yyk < yystackp->yytops.yysize; yyk += 1)
- yymarkStackDeleted (yystackp, yyk);
- yyremoveDeletes (yystackp);
- yycompressStack (yystackp);
-
- /* Now pop stack until we find a state that shifts the error token. */
- yystackp->yyerrState = 3;
- while (yystackp->yytops.yystates[0] != YY_NULL)
- {
- yyGLRState *yys = yystackp->yytops.yystates[0];
- yyj = yypact[yys->yylrState];
- if (! yypact_value_is_default (yyj))
- {
- yyj += YYTERROR;
- if (0 <= yyj && yyj <= YYLAST && yycheck[yyj] == YYTERROR
- && yyisShiftAction (yytable[yyj]))
- {
- /* Shift the error token. */]b4_locations_if([[
- /* First adjust its location.*/
- YYLTYPE yyerrloc;
- yystackp->yyerror_range[2].yystate.yyloc = yylloc;
- YYLLOC_DEFAULT (yyerrloc, (yystackp->yyerror_range), 2);]])[
- YY_SYMBOL_PRINT ("Shifting", yystos[yytable[yyj]],
- &yylval, &yyerrloc);
- yyglrShift (yystackp, 0, yytable[yyj],
- yys->yyposn, &yylval]b4_locations_if([, &yyerrloc])[);
- yys = yystackp->yytops.yystates[0];
- break;
- }
- }]b4_locations_if([[
- yystackp->yyerror_range[1].yystate.yyloc = yys->yyloc;]])[
- if (yys->yypred != YY_NULL)
- yydestroyGLRState ("Error: popping", yys]b4_user_args[);
- yystackp->yytops.yystates[0] = yys->yypred;
- yystackp->yynextFree -= 1;
- yystackp->yyspaceLeft += 1;
- }
- if (yystackp->yytops.yystates[0] == YY_NULL)
- yyFail (yystackp][]b4_lpure_args[, YY_NULL);
-}
-
-#define YYCHK1(YYE) \
- do { \
- switch (YYE) { \
- case yyok: \
- break; \
- case yyabort: \
- goto yyabortlab; \
- case yyaccept: \
- goto yyacceptlab; \
- case yyerr: \
- goto yyuser_error; \
- default: \
- goto yybuglab; \
- } \
- } while (0)
-
-/*----------.
-| yyparse. |
-`----------*/
-
-]b4_function_define([yyparse], [int], b4_parse_param)[
-{
- int yyresult;
- yyGLRStack yystack;
- yyGLRStack* const yystackp = &yystack;
- size_t yyposn;
-
- YYDPRINTF ((stderr, "Starting parse\n"));
-
- yychar = YYEMPTY;
- yylval = yyval_default;]b4_locations_if([
- yylloc = yyloc_default;])[
-]m4_ifdef([b4_initial_action], [
-b4_dollar_pushdef([yylval], [], [yylloc])dnl
- /* User initialization code. */
- b4_user_initial_action
-b4_dollar_popdef])[]dnl
-[
- if (! yyinitGLRStack (yystackp, YYINITDEPTH))
- goto yyexhaustedlab;
- switch (YYSETJMP (yystack.yyexception_buffer))
- {
- case 0: break;
- case 1: goto yyabortlab;
- case 2: goto yyexhaustedlab;
- default: goto yybuglab;
- }
- yyglrShift (&yystack, 0, 0, 0, &yylval]b4_locations_if([, &yylloc])[);
- yyposn = 0;
-
- while (yytrue)
- {
- /* For efficiency, we have two loops, the first of which is
- specialized to deterministic operation (single stack, no
- potential ambiguity). */
- /* Standard mode */
- while (yytrue)
- {
- yyRuleNum yyrule;
- int yyaction;
- const short int* yyconflicts;
-
- yyStateNum yystate = yystack.yytops.yystates[0]->yylrState;
- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
- if (yystate == YYFINAL)
- goto yyacceptlab;
- if (yyisDefaultedState (yystate))
- {
- yyrule = yydefaultAction (yystate);
- if (yyrule == 0)
- {
-]b4_locations_if([[ yystack.yyerror_range[1].yystate.yyloc = yylloc;]])[
- yyreportSyntaxError (&yystack]b4_user_args[);
- goto yyuser_error;
- }
- YYCHK1 (yyglrReduce (&yystack, 0, yyrule, yytrue]b4_user_args[));
- }
- else
- {
- yySymbol yytoken;
- if (yychar == YYEMPTY)
- {
- YYDPRINTF ((stderr, "Reading a token: "));
- yychar = ]b4_lex[;
- }
-
- if (yychar <= YYEOF)
- {
- yychar = yytoken = YYEOF;
- YYDPRINTF ((stderr, "Now at end of input.\n"));
- }
- else
- {
- yytoken = YYTRANSLATE (yychar);
- YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
- }
-
- yygetLRActions (yystate, yytoken, &yyaction, &yyconflicts);
- if (*yyconflicts != 0)
- break;
- if (yyisShiftAction (yyaction))
- {
- YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- yychar = YYEMPTY;
- yyposn += 1;
- yyglrShift (&yystack, 0, yyaction, yyposn, &yylval]b4_locations_if([, &yylloc])[);
- if (0 < yystack.yyerrState)
- yystack.yyerrState -= 1;
- }
- else if (yyisErrorAction (yyaction))
- {
-]b4_locations_if([[ yystack.yyerror_range[1].yystate.yyloc = yylloc;]])[
- yyreportSyntaxError (&yystack]b4_user_args[);
- goto yyuser_error;
- }
- else
- YYCHK1 (yyglrReduce (&yystack, 0, -yyaction, yytrue]b4_user_args[));
- }
- }
-
- while (yytrue)
- {
- yySymbol yytoken_to_shift;
- size_t yys;
-
- for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
- yystackp->yytops.yylookaheadNeeds[yys] = yychar != YYEMPTY;
-
- /* yyprocessOneStack returns one of three things:
-
- - An error flag. If the caller is yyprocessOneStack, it
- immediately returns as well. When the caller is finally
- yyparse, it jumps to an error label via YYCHK1.
-
- - yyok, but yyprocessOneStack has invoked yymarkStackDeleted
- (&yystack, yys), which sets the top state of yys to NULL. Thus,
- yyparse's following invocation of yyremoveDeletes will remove
- the stack.
-
- - yyok, when ready to shift a token.
-
- Except in the first case, yyparse will invoke yyremoveDeletes and
- then shift the next token onto all remaining stacks. This
- synchronization of the shift (that is, after all preceding
- reductions on all stacks) helps prevent double destructor calls
- on yylval in the event of memory exhaustion. */
-
- for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
- YYCHK1 (yyprocessOneStack (&yystack, yys, yyposn]b4_lpure_args[));
- yyremoveDeletes (&yystack);
- if (yystack.yytops.yysize == 0)
- {
- yyundeleteLastStack (&yystack);
- if (yystack.yytops.yysize == 0)
- yyFail (&yystack][]b4_lpure_args[, YY_("syntax error"));
- YYCHK1 (yyresolveStack (&yystack]b4_user_args[));
- YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
-]b4_locations_if([[ yystack.yyerror_range[1].yystate.yyloc = yylloc;]])[
- yyreportSyntaxError (&yystack]b4_user_args[);
- goto yyuser_error;
- }
-
- /* If any yyglrShift call fails, it will fail after shifting. Thus,
- a copy of yylval will already be on stack 0 in the event of a
- failure in the following loop. Thus, yychar is set to YYEMPTY
- before the loop to make sure the user destructor for yylval isn't
- called twice. */
- yytoken_to_shift = YYTRANSLATE (yychar);
- yychar = YYEMPTY;
- yyposn += 1;
- for (yys = 0; yys < yystack.yytops.yysize; yys += 1)
- {
- int yyaction;
- const short int* yyconflicts;
- yyStateNum yystate = yystack.yytops.yystates[yys]->yylrState;
- yygetLRActions (yystate, yytoken_to_shift, &yyaction,
- &yyconflicts);
- /* Note that yyconflicts were handled by yyprocessOneStack. */
- YYDPRINTF ((stderr, "On stack %lu, ", (unsigned long int) yys));
- YY_SYMBOL_PRINT ("shifting", yytoken_to_shift, &yylval, &yylloc);
- yyglrShift (&yystack, yys, yyaction, yyposn,
- &yylval]b4_locations_if([, &yylloc])[);
- YYDPRINTF ((stderr, "Stack %lu now in state #%d\n",
- (unsigned long int) yys,
- yystack.yytops.yystates[yys]->yylrState));
- }
-
- if (yystack.yytops.yysize == 1)
- {
- YYCHK1 (yyresolveStack (&yystack]b4_user_args[));
- YYDPRINTF ((stderr, "Returning to deterministic operation.\n"));
- yycompressStack (&yystack);
- break;
- }
- }
- continue;
- yyuser_error:
- yyrecoverSyntaxError (&yystack]b4_user_args[);
- yyposn = yystack.yytops.yystates[0]->yyposn;
- }
-
- yyacceptlab:
- yyresult = 0;
- goto yyreturn;
-
- yybuglab:
- YYASSERT (yyfalse);
- goto yyabortlab;
-
- yyabortlab:
- yyresult = 1;
- goto yyreturn;
-
- yyexhaustedlab:
- yyerror (]b4_lyyerror_args[YY_("memory exhausted"));
- yyresult = 2;
- goto yyreturn;
-
- yyreturn:
- if (yychar != YYEMPTY)
- yydestruct ("Cleanup: discarding lookahead",
- YYTRANSLATE (yychar), &yylval]b4_locuser_args([&yylloc])[);
-
- /* If the stack is well-formed, pop the stack until it is empty,
- destroying its entries as we go. But free the stack regardless
- of whether it is well-formed. */
- if (yystack.yyitems)
- {
- yyGLRState** yystates = yystack.yytops.yystates;
- if (yystates)
- {
- size_t yysize = yystack.yytops.yysize;
- size_t yyk;
- for (yyk = 0; yyk < yysize; yyk += 1)
- if (yystates[yyk])
- {
- while (yystates[yyk])
- {
- yyGLRState *yys = yystates[yyk];
-]b4_locations_if([[ yystack.yyerror_range[1].yystate.yyloc = yys->yyloc;]]
-)[ if (yys->yypred != YY_NULL)
- yydestroyGLRState ("Cleanup: popping", yys]b4_user_args[);
- yystates[yyk] = yys->yypred;
- yystack.yynextFree -= 1;
- yystack.yyspaceLeft += 1;
- }
- break;
- }
- }
- yyfreeGLRStack (&yystack);
- }
-
- return yyresult;
-}
-
-/* DEBUGGING ONLY */
-#if ]b4_api_PREFIX[DEBUG
-static void
-yy_yypstack (yyGLRState* yys)
-{
- if (yys->yypred)
- {
- yy_yypstack (yys->yypred);
- YYFPRINTF (stderr, " -> ");
- }
- YYFPRINTF (stderr, "%d@@%lu", yys->yylrState,
- (unsigned long int) yys->yyposn);
-}
-
-static void
-yypstates (yyGLRState* yyst)
-{
- if (yyst == YY_NULL)
- YYFPRINTF (stderr, "<null>");
- else
- yy_yypstack (yyst);
- YYFPRINTF (stderr, "\n");
-}
-
-static void
-yypstack (yyGLRStack* yystackp, size_t yyk)
-{
- yypstates (yystackp->yytops.yystates[yyk]);
-}
-
-#define YYINDEX(YYX) \
- ((YYX) == YY_NULL ? -1 : (yyGLRStackItem*) (YYX) - yystackp->yyitems)
-
-
-static void
-yypdumpstack (yyGLRStack* yystackp)
-{
- yyGLRStackItem* yyp;
- size_t yyi;
- for (yyp = yystackp->yyitems; yyp < yystackp->yynextFree; yyp += 1)
- {
- YYFPRINTF (stderr, "%3lu. ",
- (unsigned long int) (yyp - yystackp->yyitems));
- if (*(yybool *) yyp)
- {
- YYFPRINTF (stderr, "Res: %d, LR State: %d, posn: %lu, pred: %ld",
- yyp->yystate.yyresolved, yyp->yystate.yylrState,
- (unsigned long int) yyp->yystate.yyposn,
- (long int) YYINDEX (yyp->yystate.yypred));
- if (! yyp->yystate.yyresolved)
- YYFPRINTF (stderr, ", firstVal: %ld",
- (long int) YYINDEX (yyp->yystate
- .yysemantics.yyfirstVal));
- }
- else
- {
- YYFPRINTF (stderr, "Option. rule: %d, state: %ld, next: %ld",
- yyp->yyoption.yyrule - 1,
- (long int) YYINDEX (yyp->yyoption.yystate),
- (long int) YYINDEX (yyp->yyoption.yynext));
- }
- YYFPRINTF (stderr, "\n");
- }
- YYFPRINTF (stderr, "Tops:");
- for (yyi = 0; yyi < yystackp->yytops.yysize; yyi += 1)
- YYFPRINTF (stderr, "%lu: %ld; ", (unsigned long int) yyi,
- (long int) YYINDEX (yystackp->yytops.yystates[yyi]));
- YYFPRINTF (stderr, "\n");
-}
-#endif
-
-#undef yylval
-#undef yychar
-#undef yynerrs]b4_locations_if([
-#undef yylloc])
-
-m4_if(b4_prefix, [yy], [],
-[[/* Substitute the variable and function names. */
-#define yyparse ]b4_prefix[parse
-#define yylex ]b4_prefix[lex
-#define yyerror ]b4_prefix[error
-#define yylval ]b4_prefix[lval
-#define yychar ]b4_prefix[char
-#define yydebug ]b4_prefix[debug
-#define yynerrs ]b4_prefix[nerrs]b4_locations_if([[
-#define yylloc ]b4_prefix[lloc]])])[
-
-]b4_epilogue[]dnl
-b4_output_end()
-
-# glr.cc produces its own header.
-m4_if(b4_skeleton, ["glr.c"],
-[b4_defines_if(
-[b4_output_begin([b4_spec_defines_file])
-b4_copyright([Skeleton interface for Bison GLR parsers in C],
- [2002-2013])[
-
-]b4_cpp_guard_open([b4_spec_defines_file])[
-]b4_shared_declarations[
-]b4_cpp_guard_close([b4_spec_defines_file])[
-]b4_output_end()
-])])
diff --git a/gnuwin32/bin/data/glr.cc b/gnuwin32/bin/data/glr.cc
deleted file mode 100644
index e57308bd..00000000
--- a/gnuwin32/bin/data/glr.cc
+++ /dev/null
@@ -1,345 +0,0 @@
-# C++ GLR skeleton for Bison
-
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-# This skeleton produces a C++ class that encapsulates a C glr parser.
-# This is in order to reduce the maintenance burden. The glr.c
-# skeleton is clean and pure enough so that there are no real
-# problems. The C++ interface is the same as that of lalr1.cc. In
-# fact, glr.c can replace yacc.c without the user noticing any
-# difference, and similarly for glr.cc replacing lalr1.cc.
-#
-# The passing of parse-params
-#
-# The additional arguments are stored as members of the parser
-# object, yyparser. The C routines need to carry yyparser
-# throughout the C parser; that's easy: make yyparser an
-# additional parse-param. But because the C++ skeleton needs to
-# know the "real" original parse-param, we save them
-# (b4_parse_param_orig). Note that b4_parse_param is overquoted
-# (and c.m4 strips one level of quotes). This is a PITA, and
-# explains why there are so many levels of quotes.
-#
-# The locations
-#
-# We use location.cc just like lalr1.cc, but because glr.c stores
-# the locations in a union, the position and location classes
-# must not have a constructor. Therefore, contrary to lalr1.cc, we
-# must not define "b4_location_constructors". As a consequence the
-# user must initialize the first positions (in particular the
-# filename member).
-
-# We require a pure interface.
-m4_define([b4_pure_flag], [1])
-
-m4_include(b4_pkgdatadir/[c++.m4])
-b4_bison_locations_if([m4_include(b4_pkgdatadir/[location.cc])])
-
-m4_define([b4_parser_class_name],
- [b4_percent_define_get([[parser_class_name]])])
-
-# Save the parse parameters.
-m4_define([b4_parse_param_orig], m4_defn([b4_parse_param]))
-
-# b4_parse_param_wrap
-# -------------------
-# New ones.
-m4_ifset([b4_parse_param],
-[m4_define([b4_parse_param_wrap],
- [[b4_namespace_ref::b4_parser_class_name[& yyparser], [[yyparser]]],]
-m4_defn([b4_parse_param]))],
-[m4_define([b4_parse_param_wrap],
- [[b4_namespace_ref::b4_parser_class_name[& yyparser], [[yyparser]]]])
-])
-
-
-# b4_yy_symbol_print_define
-# -------------------------
-# Bypass the default implementation to generate the "yy_symbol_print"
-# and "yy_symbol_value_print" functions.
-m4_define([b4_yy_symbol_print_define],
-[[
-/*--------------------.
-| Print this symbol. |
-`--------------------*/
-
-]b4_function_define([yy_symbol_print],
- [static void],
- [[FILE *], []],
- [[int yytype], [yytype]],
- [[const ]b4_namespace_ref::b4_parser_class_name[::semantic_type *yyvaluep],
- [yyvaluep]][]dnl
-b4_locations_if([,
- [[const ]b4_namespace_ref::b4_parser_class_name[::location_type *yylocationp],
- [yylocationp]]]),
- b4_parse_param)[
-{
-]b4_parse_param_use[]dnl
-[ yyparser.yy_symbol_print_ (yytype, yyvaluep]b4_locations_if([, yylocationp])[);
-}
-]])[
-
-# Hijack the initial action to initialize the locations.
-]b4_bison_locations_if([m4_define([b4_initial_action],
-[yylloc.initialize ();]m4_ifdef([b4_initial_action], [
-m4_defn([b4_initial_action])]))])[
-
-# Hijack the post prologue to insert early definition of YYLLOC_DEFAULT
-# and declaration of yyerror.
-]m4_append([b4_post_prologue],
-[b4_syncline([@oline@], [@ofile@])[
-]b4_yylloc_default_define[
-#define YYRHSLOC(Rhs, K) ((Rhs)[K].yystate.yyloc)
-]b4_function_declare([yyerror],
- [static void],b4_locations_if([
- [[const ]b4_namespace_ref::b4_parser_class_name[::location_type *yylocationp],
- [yylocationp]],])
- b4_parse_param,
- [[const char* msg], [msg]])])
-
-
-#undef yynerrs
-#undef yychar
-#undef yylval]b4_locations_if([
-#undef yylloc])
-
-m4_if(b4_prefix, [yy], [],
-[[/* Substitute the variable and function names. */
-#define yyparse ]b4_prefix[parse
-#define yylex ]b4_prefix[lex
-#define yyerror ]b4_prefix[error
-#define yydebug ]b4_prefix[debug
-]]b4_pure_if([], [[
-#define yylval ]b4_prefix[lval
-#define yychar ]b4_prefix[char
-#define yynerrs ]b4_prefix[nerrs]b4_locations_if([[
-#define yylloc ]b4_prefix[lloc]])]))
-
-# Hijack the epilogue to define implementations (yyerror, parser member
-# functions etc.).
-m4_append([b4_epilogue],
-[b4_syncline([@oline@], [@ofile@])[
-
-/*------------------.
-| Report an error. |
-`------------------*/
-
-]b4_function_define([yyerror],
- [static void],b4_locations_if([
- [[const ]b4_namespace_ref::b4_parser_class_name[::location_type *yylocationp],
- [yylocationp]],])
- b4_parse_param,
- [[const char* msg], [msg]])[
-{
-]b4_parse_param_use[]dnl
-[ yyparser.error (]b4_locations_if([[*yylocationp, ]])[msg);
-}
-
-
-]b4_namespace_open[
-]dnl In this section, the parse params are the original parse_params.
-m4_pushdef([b4_parse_param], m4_defn([b4_parse_param_orig]))dnl
-[ /// Build a parser object.
- ]b4_parser_class_name::b4_parser_class_name[ (]b4_parse_param_decl[)]m4_ifset([b4_parse_param], [
- :])[
-#if ]b4_api_PREFIX[DEBUG
- ]m4_ifset([b4_parse_param], [ ], [ :])[yycdebug_ (&std::cerr)]m4_ifset([b4_parse_param], [,])[
-#endif]b4_parse_param_cons[
- {
- }
-
- ]b4_parser_class_name::~b4_parser_class_name[ ()
- {
- }
-
- int
- ]b4_parser_class_name[::parse ()
- {
- return ::yyparse (*this]b4_user_args[);
- }
-
-#if ]b4_api_PREFIX[DEBUG
- /*--------------------.
- | Print this symbol. |
- `--------------------*/
-
- inline void
- ]b4_parser_class_name[::yy_symbol_value_print_ (int yytype,
- const semantic_type* yyvaluep]b4_locations_if([[,
- const location_type* yylocationp]])[)
- {]b4_locations_if([[
- YYUSE (yylocationp);]])[
- YYUSE (yyvaluep);
- std::ostream& yyoutput = debug_stream ();
- std::ostream& yyo = yyoutput;
- YYUSE (yyo);
- ]b4_symbol_actions([printer])[
- }
-
-
- void
- ]b4_parser_class_name[::yy_symbol_print_ (int yytype,
- const semantic_type* yyvaluep]b4_locations_if([[,
- const location_type* yylocationp]])[)
- {
- *yycdebug_ << (yytype < YYNTOKENS ? "token" : "nterm")
- << ' ' << yytname[yytype] << " ("]b4_locations_if([[
- << *yylocationp << ": "]])[;
- yy_symbol_value_print_ (yytype, yyvaluep]b4_locations_if([[, yylocationp]])[);
- *yycdebug_ << ')';
- }
-
- std::ostream&
- ]b4_parser_class_name[::debug_stream () const
- {
- return *yycdebug_;
- }
-
- void
- ]b4_parser_class_name[::set_debug_stream (std::ostream& o)
- {
- yycdebug_ = &o;
- }
-
-
- ]b4_parser_class_name[::debug_level_type
- ]b4_parser_class_name[::debug_level () const
- {
- return yydebug;
- }
-
- void
- ]b4_parser_class_name[::set_debug_level (debug_level_type l)
- {
- // Actually, it is yydebug which is really used.
- yydebug = l;
- }
-
-#endif
-]m4_popdef([b4_parse_param])dnl
-b4_namespace_close
-])
-
-# b4_shared_declarations
-# ----------------------
-# Declaration that might either go into the header (if --defines)
-# or open coded in the parser body.
-m4_define([b4_shared_declarations],
-[m4_pushdef([b4_parse_param], m4_defn([b4_parse_param_orig]))dnl
-b4_percent_code_get([[requires]])[
-
-#include <stdexcept>
-#include <string>
-#include <iostream>]b4_defines_if([
-b4_bison_locations_if([[#include "location.hh"]])])[
-
-]b4_YYDEBUG_define[
-
-]b4_namespace_open[
-]b4_defines_if([],
-[b4_bison_locations_if([b4_position_define
-b4_location_define])])[
-
- /// A Bison parser.
- class ]b4_parser_class_name[
- {
- public:
-]b4_public_types_declare[
-
- /// Build a parser object.
- ]b4_parser_class_name[ (]b4_parse_param_decl[);
- virtual ~]b4_parser_class_name[ ();
-
- /// Parse.
- /// \returns 0 iff parsing succeeded.
- virtual int parse ();
-
- /// The current debugging stream.
- std::ostream& debug_stream () const;
- /// Set the current debugging stream.
- void set_debug_stream (std::ostream &);
-
- /// Type for debugging levels.
- typedef int debug_level_type;
- /// The current debugging level.
- debug_level_type debug_level () const;
- /// Set the current debugging level.
- void set_debug_level (debug_level_type l);
-
- public:
- /// Report a syntax error.]b4_locations_if([[
- /// \param loc where the syntax error is found.]])[
- /// \param msg a description of the syntax error.
- virtual void error (]b4_locations_if([[const location_type& loc, ]])[const std::string& msg);
-
-# if ]b4_api_PREFIX[DEBUG
- public:
- /// \brief Report a symbol value on the debug stream.
- /// \param yytype The token type.
- /// \param yyvaluep Its semantic value.]b4_locations_if([[
- /// \param yylocationp Its location.]])[
- virtual void yy_symbol_value_print_ (int yytype,
- const semantic_type* yyvaluep]b4_locations_if([[,
- const location_type* yylocationp]])[);
- /// \brief Report a symbol on the debug stream.
- /// \param yytype The token type.
- /// \param yyvaluep Its semantic value.]b4_locations_if([[
- /// \param yylocationp Its location.]])[
- virtual void yy_symbol_print_ (int yytype,
- const semantic_type* yyvaluep]b4_locations_if([[,
- const location_type* yylocationp]])[);
- private:
- // Debugging.
- std::ostream* yycdebug_;
-#endif
-
-]b4_parse_param_vars[
- };
-
-]dnl Redirections for glr.c.
-b4_percent_define_flag_if([[global_tokens_and_yystype]],
-[b4_token_defines])
-[
-#ifndef ]b4_api_PREFIX[STYPE
-# define ]b4_api_PREFIX[STYPE ]b4_namespace_ref[::]b4_parser_class_name[::semantic_type
-#endif
-#ifndef ]b4_api_PREFIX[LTYPE
-# define ]b4_api_PREFIX[LTYPE ]b4_namespace_ref[::]b4_parser_class_name[::location_type
-#endif
-
-]b4_namespace_close[
-]b4_percent_code_get([[provides]])[
-]m4_popdef([b4_parse_param])dnl
-])
-
-b4_defines_if(
-[b4_output_begin([b4_spec_defines_file])
-b4_copyright([Skeleton interface for Bison GLR parsers in C++],
- [2002-2013])[
-
-// C++ GLR parser skeleton written by Akim Demaille.
-
-]b4_cpp_guard_open([b4_spec_defines_file])[
-]b4_shared_declarations[
-]b4_cpp_guard_close([b4_spec_defines_file])[
-]b4_output_end()])
-
-# Let glr.c (and b4_shared_declarations) believe that the user
-# arguments include the parser itself.
-m4_pushdef([b4_parse_param], m4_defn([b4_parse_param_wrap]))
-m4_include(b4_pkgdatadir/[glr.c])
-m4_popdef([b4_parse_param])
diff --git a/gnuwin32/bin/data/java-skel.m4 b/gnuwin32/bin/data/java-skel.m4
deleted file mode 100644
index 384a6370..00000000
--- a/gnuwin32/bin/data/java-skel.m4
+++ /dev/null
@@ -1,26 +0,0 @@
- -*- Autoconf -*-
-
-# Java skeleton dispatching for Bison.
-
-# Copyright (C) 2007, 2009-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-b4_glr_if( [b4_complain([%%glr-parser not supported for Java])])
-b4_nondeterministic_if([b4_complain([%%nondeterministic-parser not supported for Java])])
-
-m4_define_default([b4_used_skeleton], [b4_pkgdatadir/[lalr1.java]])
-m4_define_default([b4_skeleton], ["b4_basename(b4_used_skeleton)"])
-
-m4_include(b4_used_skeleton)
diff --git a/gnuwin32/bin/data/java.m4 b/gnuwin32/bin/data/java.m4
deleted file mode 100644
index f985f977..00000000
--- a/gnuwin32/bin/data/java.m4
+++ /dev/null
@@ -1,342 +0,0 @@
- -*- Autoconf -*-
-
-# Java language support for Bison
-
-# Copyright (C) 2007-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-m4_include(b4_pkgdatadir/[c-like.m4])
-
-
-# b4_list2(LIST1, LIST2)
-# ----------------------
-# Join two lists with a comma if necessary.
-m4_define([b4_list2],
- [$1[]m4_ifval(m4_quote($1), [m4_ifval(m4_quote($2), [[, ]])])[]$2])
-
-
-# b4_percent_define_get3(DEF, PRE, POST, NOT)
-# -------------------------------------------
-# Expand to the value of DEF surrounded by PRE and POST if it's %define'ed,
-# otherwise NOT.
-m4_define([b4_percent_define_get3],
- [m4_ifval(m4_quote(b4_percent_define_get([$1])),
- [$2[]b4_percent_define_get([$1])[]$3], [$4])])
-
-
-
-# b4_flag_value(BOOLEAN-FLAG)
-# ---------------------------
-m4_define([b4_flag_value], [b4_flag_if([$1], [true], [false])])
-
-
-# b4_public_if(TRUE, FALSE)
-# -------------------------
-b4_percent_define_default([[public]], [[false]])
-m4_define([b4_public_if],
-[b4_percent_define_flag_if([public], [$1], [$2])])
-
-
-# b4_abstract_if(TRUE, FALSE)
-# ---------------------------
-b4_percent_define_default([[abstract]], [[false]])
-m4_define([b4_abstract_if],
-[b4_percent_define_flag_if([abstract], [$1], [$2])])
-
-
-# b4_final_if(TRUE, FALSE)
-# ---------------------------
-b4_percent_define_default([[final]], [[false]])
-m4_define([b4_final_if],
-[b4_percent_define_flag_if([final], [$1], [$2])])
-
-
-# b4_strictfp_if(TRUE, FALSE)
-# ---------------------------
-b4_percent_define_default([[strictfp]], [[false]])
-m4_define([b4_strictfp_if],
-[b4_percent_define_flag_if([strictfp], [$1], [$2])])
-
-
-# b4_lexer_if(TRUE, FALSE)
-# ------------------------
-m4_define([b4_lexer_if],
-[b4_percent_code_ifdef([[lexer]], [$1], [$2])])
-
-
-# b4_identification
-# -----------------
-m4_define([b4_identification],
-[ /** Version number for the Bison executable that generated this parser. */
- public static final String bisonVersion = "b4_version";
-
- /** Name of the skeleton that generated this parser. */
- public static final String bisonSkeleton = b4_skeleton;
-])
-
-
-## ------------ ##
-## Data types. ##
-## ------------ ##
-
-# b4_int_type(MIN, MAX)
-# ---------------------
-# Return the smallest int type able to handle numbers ranging from
-# MIN to MAX (included).
-m4_define([b4_int_type],
-[m4_if(b4_ints_in($@, [-128], [127]), [1], [byte],
- b4_ints_in($@, [-32768], [32767]), [1], [short],
- [int])])
-
-# b4_int_type_for(NAME)
-# ---------------------
-# Return the smallest int type able to handle numbers ranging from
-# 'NAME_min' to 'NAME_max' (included).
-m4_define([b4_int_type_for],
-[b4_int_type($1_min, $1_max)])
-
-# b4_null
-# -------
-m4_define([b4_null], [null])
-
-
-# b4_typed_parser_table_define(TYPE, NAME, DATA, COMMENT)
-# -------------------------------------------------------
-m4_define([b4_typed_parser_table_define],
-[m4_ifval([$4], [b4_comment([$4])
- ])dnl
-[private static final ]$1[ yy$2_[] = yy$2_init();
- private static final ]$1[[] yy$2_init()
- {
- return new ]$1[[]
- {
- ]$3[
- };
- }]])
-
-
-# b4_integral_parser_table_define(NAME, DATA, COMMENT)
-#-----------------------------------------------------
-m4_define([b4_integral_parser_table_define],
-[b4_typed_parser_table_define([b4_int_type_for([$2])], [$1], [$2], [$3])])
-
-
-## ------------------------- ##
-## Assigning token numbers. ##
-## ------------------------- ##
-
-# b4_token_enum(TOKEN-NUM)
-# ------------------------
-# Output the definition of this token as an enum.
-m4_define([b4_token_enum],
-[b4_token_format([ /** Token number, to be returned by the scanner. */
- static final int %s = %s;
-], [$1])])
-
-# b4_token_enums
-# --------------
-# Output the definition of the tokens (if there are) as enums.
-m4_define([b4_token_enums],
-[b4_any_token_visible_if([/* Tokens. */
-b4_symbol_foreach([b4_token_enum])])])
-
-# b4-case(ID, CODE)
-# -----------------
-# We need to fool Java's stupid unreachable code detection.
-m4_define([b4_case], [ case $1:
- if (yyn == $1)
- $2;
- break;
- ])
-
-# b4_predicate_case(LABEL, CONDITIONS)
-# ------------------------------------
-m4_define([b4_predicate_case], [ case $1:
- if (! ($2)) YYERROR;
- break;
- ])
-
-
-## -------- ##
-## Checks. ##
-## -------- ##
-
-b4_percent_define_check_kind([[api.value.type]], [code], [deprecated])
-
-b4_percent_define_check_kind([[annotations]], [code], [deprecated])
-b4_percent_define_check_kind([[extends]], [code], [deprecated])
-b4_percent_define_check_kind([[implements]], [code], [deprecated])
-b4_percent_define_check_kind([[init_throws]], [code], [deprecated])
-b4_percent_define_check_kind([[lex_throws]], [code], [deprecated])
-b4_percent_define_check_kind([[parser_class_name]], [code], [deprecated])
-b4_percent_define_check_kind([[throws]], [code], [deprecated])
-
-
-
-## ---------------- ##
-## Default values. ##
-## ---------------- ##
-
-m4_define([b4_yystype], [b4_percent_define_get([[api.value.type]])])
-b4_percent_define_default([[api.value.type]], [[Object]])
-
-# %name-prefix
-m4_define_default([b4_prefix], [[YY]])
-
-b4_percent_define_default([[parser_class_name]], [b4_prefix[]Parser])
-m4_define([b4_parser_class_name], [b4_percent_define_get([[parser_class_name]])])
-
-b4_percent_define_default([[lex_throws]], [[java.io.IOException]])
-m4_define([b4_lex_throws], [b4_percent_define_get([[lex_throws]])])
-
-b4_percent_define_default([[throws]], [])
-m4_define([b4_throws], [b4_percent_define_get([[throws]])])
-
-b4_percent_define_default([[init_throws]], [])
-m4_define([b4_init_throws], [b4_percent_define_get([[init_throws]])])
-
-b4_percent_define_default([[api.location.type]], [Location])
-m4_define([b4_location_type], [b4_percent_define_get([[api.location.type]])])
-
-b4_percent_define_default([[api.position.type]], [Position])
-m4_define([b4_position_type], [b4_percent_define_get([[api.position.type]])])
-
-
-## ----------------- ##
-## Semantic Values. ##
-## ----------------- ##
-
-
-# b4_lhs_value([TYPE])
-# --------------------
-# Expansion of $<TYPE>$.
-m4_define([b4_lhs_value], [yyval])
-
-
-# b4_rhs_value(RULE-LENGTH, NUM, [TYPE])
-# --------------------------------------
-# Expansion of $<TYPE>NUM, where the current rule has RULE-LENGTH
-# symbols on RHS.
-#
-# In this simple implementation, %token and %type have class names
-# between the angle brackets.
-m4_define([b4_rhs_value],
-[(m4_ifval($3, [($3)])[](yystack.valueAt ($1-($2))))])
-
-# b4_lhs_location()
-# -----------------
-# Expansion of @$.
-m4_define([b4_lhs_location],
-[(yyloc)])
-
-
-# b4_rhs_location(RULE-LENGTH, NUM)
-# ---------------------------------
-# Expansion of @NUM, where the current rule has RULE-LENGTH symbols
-# on RHS.
-m4_define([b4_rhs_location],
-[yystack.locationAt ($1-($2))])
-
-
-# b4_lex_param
-# b4_parse_param
-# --------------
-# If defined, b4_lex_param arrives double quoted, but below we prefer
-# it to be single quoted. Same for b4_parse_param.
-
-# TODO: should be in bison.m4
-m4_define_default([b4_lex_param], [[]])
-m4_define([b4_lex_param], b4_lex_param)
-m4_define([b4_parse_param], b4_parse_param)
-
-# b4_lex_param_decl
-# -----------------
-# Extra formal arguments of the constructor.
-m4_define([b4_lex_param_decl],
-[m4_ifset([b4_lex_param],
- [b4_remove_comma([$1],
- b4_param_decls(b4_lex_param))],
- [$1])])
-
-m4_define([b4_param_decls],
- [m4_map([b4_param_decl], [$@])])
-m4_define([b4_param_decl], [, $1])
-
-m4_define([b4_remove_comma], [m4_ifval(m4_quote($1), [$1, ], [])m4_shift2($@)])
-
-
-
-# b4_parse_param_decl
-# -------------------
-# Extra formal arguments of the constructor.
-m4_define([b4_parse_param_decl],
-[m4_ifset([b4_parse_param],
- [b4_remove_comma([$1],
- b4_param_decls(b4_parse_param))],
- [$1])])
-
-
-
-# b4_lex_param_call
-# -----------------
-# Delegating the lexer parameters to the lexer constructor.
-m4_define([b4_lex_param_call],
- [m4_ifset([b4_lex_param],
- [b4_remove_comma([$1],
- b4_param_calls(b4_lex_param))],
- [$1])])
-m4_define([b4_param_calls],
- [m4_map([b4_param_call], [$@])])
-m4_define([b4_param_call], [, $2])
-
-
-
-# b4_parse_param_cons
-# -------------------
-# Extra initialisations of the constructor.
-m4_define([b4_parse_param_cons],
- [m4_ifset([b4_parse_param],
- [b4_constructor_calls(b4_parse_param)])])
-
-m4_define([b4_constructor_calls],
- [m4_map([b4_constructor_call], [$@])])
-m4_define([b4_constructor_call],
- [this.$2 = $2;
- ])
-
-
-
-# b4_parse_param_vars
-# -------------------
-# Extra instance variables.
-m4_define([b4_parse_param_vars],
- [m4_ifset([b4_parse_param],
- [
- /* User arguments. */
-b4_var_decls(b4_parse_param)])])
-
-m4_define([b4_var_decls],
- [m4_map_sep([b4_var_decl], [
-], [$@])])
-m4_define([b4_var_decl],
- [ protected final $1;])
-
-
-
-# b4_maybe_throws(THROWS)
-# -----------------------
-# Expand to either an empty string or "throws THROWS".
-m4_define([b4_maybe_throws],
- [m4_ifval($1, [throws $1])])
diff --git a/gnuwin32/bin/data/lalr1.cc b/gnuwin32/bin/data/lalr1.cc
deleted file mode 100644
index 3294f591..00000000
--- a/gnuwin32/bin/data/lalr1.cc
+++ /dev/null
@@ -1,1161 +0,0 @@
-# C++ skeleton for Bison
-
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-m4_include(b4_pkgdatadir/[c++.m4])
-
-# api.value.type=variant is valid.
-m4_define([b4_value_type_setup_variant])
-
-# b4_integral_parser_table_declare(TABLE-NAME, CONTENT, COMMENT)
-# --------------------------------------------------------------
-# Declare "parser::yy<TABLE-NAME>_" whose contents is CONTENT.
-m4_define([b4_integral_parser_table_declare],
-[m4_ifval([$3], [b4_comment([$3], [ ])
-])dnl
- static const b4_int_type_for([$2]) yy$1_[[]];dnl
-])
-
-# b4_integral_parser_table_define(TABLE-NAME, CONTENT, COMMENT)
-# -------------------------------------------------------------
-# Define "parser::yy<TABLE-NAME>_" whose contents is CONTENT.
-m4_define([b4_integral_parser_table_define],
-[ const b4_int_type_for([$2])
- b4_parser_class_name::yy$1_[[]] =
- {
- $2
- };dnl
-])
-
-# b4_symbol_value_template(VAL, [TYPE])
-# -------------------------------------
-# Same as b4_symbol_value, but used in a template method. It makes
-# a difference when using variants. Note that b4_value_type_setup_union
-# overrides b4_symbol_value, so we must override it again.
-m4_copy([b4_symbol_value], [b4_symbol_value_template])
-m4_append([b4_value_type_setup_union],
- [m4_copy_force([b4_symbol_value_union], [b4_symbol_value_template])])
-
-# b4_lhs_value([TYPE])
-# --------------------
-# Expansion of $<TYPE>$.
-m4_define([b4_lhs_value],
- [b4_symbol_value([yylhs.value], [$1])])
-
-
-# b4_lhs_location()
-# -----------------
-# Expansion of @$.
-m4_define([b4_lhs_location],
- [yylhs.location])
-
-
-# b4_rhs_data(RULE-LENGTH, NUM)
-# -----------------------------
-# Return the data corresponding to the symbol #NUM, where the current
-# rule has RULE-LENGTH symbols on RHS.
-m4_define([b4_rhs_data],
- [yystack_@{b4_subtract($@)@}])
-
-
-# b4_rhs_state(RULE-LENGTH, NUM)
-# ------------------------------
-# The state corresponding to the symbol #NUM, where the current
-# rule has RULE-LENGTH symbols on RHS.
-m4_define([b4_rhs_state],
- [b4_rhs_data([$1], [$2]).state])
-
-
-# b4_rhs_value(RULE-LENGTH, NUM, [TYPE])
-# --------------------------------------
-# Expansion of $<TYPE>NUM, where the current rule has RULE-LENGTH
-# symbols on RHS.
-m4_define([b4_rhs_value],
- [b4_symbol_value([b4_rhs_data([$1], [$2]).value], [$3])])
-
-
-# b4_rhs_location(RULE-LENGTH, NUM)
-# ---------------------------------
-# Expansion of @NUM, where the current rule has RULE-LENGTH symbols
-# on RHS.
-m4_define([b4_rhs_location],
- [b4_rhs_data([$1], [$2]).location])
-
-
-# b4_symbol_action(SYMBOL-NUM, KIND)
-# ----------------------------------
-# Run the action KIND (destructor or printer) for SYMBOL-NUM.
-# Same as in C, but using references instead of pointers.
-m4_define([b4_symbol_action],
-[b4_symbol_if([$1], [has_$2],
-[m4_pushdef([b4_symbol_value], m4_defn([b4_symbol_value_template]))[]dnl
-b4_dollar_pushdef([yysym.value],
- b4_symbol_if([$1], [has_type],
- [m4_dquote(b4_symbol([$1], [type]))]),
- [yysym.location])dnl
- b4_symbol_case_([$1])
-b4_syncline([b4_symbol([$1], [$2_line])], ["b4_symbol([$1], [$2_file])"])
- b4_symbol([$1], [$2])
-b4_syncline([@oline@], [@ofile@])
- break;
-
-m4_popdef([b4_symbol_value])[]dnl
-b4_dollar_popdef[]dnl
-])])
-
-
-# b4_lex
-# ------
-# Call yylex.
-m4_define([b4_lex],
-[b4_token_ctor_if(
-[b4_function_call([yylex],
- [symbol_type], m4_ifdef([b4_lex_param], b4_lex_param))],
-[b4_function_call([yylex], [int],
- [b4_api_PREFIX[STYPE*], [&yyla.value]][]dnl
-b4_locations_if([, [[location*], [&yyla.location]]])dnl
-m4_ifdef([b4_lex_param], [, ]b4_lex_param))])])
-
-
-m4_pushdef([b4_copyright_years],
- [2002-2013])
-
-m4_define([b4_parser_class_name],
- [b4_percent_define_get([[parser_class_name]])])
-
-b4_bison_locations_if([# Backward compatibility.
- m4_define([b4_location_constructors])
- m4_include(b4_pkgdatadir/[location.cc])])
-m4_include(b4_pkgdatadir/[stack.hh])
-b4_variant_if([m4_include(b4_pkgdatadir/[variant.hh])])
-
-# b4_shared_declarations
-# ----------------------
-# Declaration that might either go into the header (if --defines)
-# or open coded in the parser body.
-m4_define([b4_shared_declarations],
-[b4_percent_code_get([[requires]])[
-]b4_parse_assert_if([# include <cassert>])[
-# include <vector>
-# include <iostream>
-# include <stdexcept>
-# include <string>]b4_defines_if([[
-# include "stack.hh"
-]b4_bison_locations_if([[# include "location.hh"]])])[
-]b4_variant_if([b4_variant_includes])[
-
-]b4_YYDEBUG_define[
-
-]b4_namespace_open[
-
-]b4_defines_if([],
-[b4_stack_define
-b4_bison_locations_if([b4_position_define
-b4_location_define])])[
-
-]b4_variant_if([b4_variant_define])[
-
- /// A Bison parser.
- class ]b4_parser_class_name[
- {
- public:
-]b4_public_types_declare[
- /// Build a parser object.
- ]b4_parser_class_name[ (]b4_parse_param_decl[);
- virtual ~]b4_parser_class_name[ ();
-
- /// Parse.
- /// \returns 0 iff parsing succeeded.
- virtual int parse ();
-
-#if ]b4_api_PREFIX[DEBUG
- /// The current debugging stream.
- std::ostream& debug_stream () const;
- /// Set the current debugging stream.
- void set_debug_stream (std::ostream &);
-
- /// Type for debugging levels.
- typedef int debug_level_type;
- /// The current debugging level.
- debug_level_type debug_level () const;
- /// Set the current debugging level.
- void set_debug_level (debug_level_type l);
-#endif
-
- /// Report a syntax error.]b4_locations_if([[
- /// \param loc where the syntax error is found.]])[
- /// \param msg a description of the syntax error.
- virtual void error (]b4_locations_if([[const location_type& loc, ]])[const std::string& msg);
-
- /// Report a syntax error.
- void error (const syntax_error& err);
-
- private:
- /// This class is not copyable.
- ]b4_parser_class_name[ (const ]b4_parser_class_name[&);
- ]b4_parser_class_name[& operator= (const ]b4_parser_class_name[&);
-
- /// State numbers.
- typedef int state_type;
-
- /// Generate an error message.
- /// \param yystate the state where the error occurred.
- /// \param yytoken the lookahead token type, or yyempty_.
- virtual std::string yysyntax_error_ (state_type yystate,
- symbol_number_type yytoken) const;
-
- /// Compute post-reduction state.
- /// \param yystate the current state
- /// \param yylhs the nonterminal to push on the stack
- state_type yy_lr_goto_state_ (state_type yystate, int yylhs);
-
- /// Whether the given \c yypact_ value indicates a defaulted state.
- /// \param yyvalue the value to check
- static bool yy_pact_value_is_default_ (int yyvalue);
-
- /// Whether the given \c yytable_ value indicates a syntax error.
- /// \param yyvalue the value to check
- static bool yy_table_value_is_error_ (int yyvalue);
-
- static const ]b4_int_type(b4_pact_ninf, b4_pact_ninf)[ yypact_ninf_;
- static const ]b4_int_type(b4_table_ninf, b4_table_ninf)[ yytable_ninf_;
-
- /// Convert a scanner token number \a t to a symbol number.
- static token_number_type yytranslate_ (]b4_token_ctor_if([token_type], [int])[ t);
-
- // Tables.
-]b4_parser_tables_declare[]b4_error_verbose_if([
-
- /// Convert the symbol name \a n to a form suitable for a diagnostic.
- static std::string yytnamerr_ (const char *n);])[
-
-]b4_token_table_if([], [[#if ]b4_api_PREFIX[DEBUG]])[
- /// For a symbol, its name in clear.
- static const char* const yytname_[];
-]b4_token_table_if([[#if ]b4_api_PREFIX[DEBUG]])[
-]b4_integral_parser_table_declare([rline], [b4_rline],
- [[YYRLINE[YYN] -- Source line where rule number YYN was defined.]])[
- /// Report on the debug stream that the rule \a r is going to be reduced.
- virtual void yy_reduce_print_ (int r);
- /// Print the state stack on the debug stream.
- virtual void yystack_print_ ();
-
- // Debugging.
- int yydebug_;
- std::ostream* yycdebug_;
-
- /// \brief Display a symbol type, value and location.
- /// \param yyo The output stream.
- /// \param yysym The symbol.
- template <typename Base>
- void yy_print_ (std::ostream& yyo, const basic_symbol<Base>& yysym) const;
-#endif
-
- /// \brief Reclaim the memory associated to a symbol.
- /// \param yymsg Why this token is reclaimed.
- /// If null, print nothing.
- /// \param s The symbol.
- template <typename Base>
- void yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const;
-
- private:
- /// Type access provider for state based symbols.
- struct by_state
- {
- /// Default constructor.
- by_state ();
-
- /// The symbol type as needed by the constructor.
- typedef state_type kind_type;
-
- /// Constructor.
- by_state (kind_type s);
-
- /// Copy constructor.
- by_state (const by_state& other);
-
- /// Steal the symbol type from \a that.
- void move (by_state& that);
-
- /// The (internal) type number (corresponding to \a state).
- /// "empty" when empty.
- symbol_number_type type_get () const;
-
- enum { empty = 0 };
-
- /// The state.
- state_type state;
- };
-
- /// "Internal" symbol: element of the stack.
- struct stack_symbol_type : basic_symbol<by_state>
- {
- /// Superclass.
- typedef basic_symbol<by_state> super_type;
- /// Construct an empty symbol.
- stack_symbol_type ();
- /// Steal the contents from \a sym to build this.
- stack_symbol_type (state_type s, symbol_type& sym);
- /// Assignment, needed by push_back.
- stack_symbol_type& operator= (const stack_symbol_type& that);
- };
-
- /// Stack type.
- typedef stack<stack_symbol_type> stack_type;
-
- /// The stack.
- stack_type yystack_;
-
- /// Push a new state on the stack.
- /// \param m a debug message to display
- /// if null, no trace is output.
- /// \param s the symbol
- /// \warning the contents of \a s.value is stolen.
- void yypush_ (const char* m, stack_symbol_type& s);
-
- /// Push a new look ahead token on the state on the stack.
- /// \param m a debug message to display
- /// if null, no trace is output.
- /// \param s the state
- /// \param sym the symbol (for its value and location).
- /// \warning the contents of \a s.value is stolen.
- void yypush_ (const char* m, state_type s, symbol_type& sym);
-
- /// Pop \a n symbols the three stacks.
- void yypop_ (unsigned int n = 1);
-
- // Constants.
- enum
- {
- yyeof_ = 0,
- yylast_ = ]b4_last[, //< Last index in yytable_.
- yynnts_ = ]b4_nterms_number[, //< Number of nonterminal symbols.
- yyempty_ = -2,
- yyfinal_ = ]b4_final_state_number[, //< Termination state number.
- yyterror_ = 1,
- yyerrcode_ = 256,
- yyntokens_ = ]b4_tokens_number[ //< Number of tokens.
- };
-
-]b4_parse_param_vars[
- };
-
-]b4_token_ctor_if([b4_yytranslate_define
-b4_public_types_define])[
-]b4_namespace_close[
-
-]b4_percent_define_flag_if([[global_tokens_and_yystype]],
-[b4_token_defines
-
-#ifndef ]b4_api_PREFIX[STYPE
- // Redirection for backward compatibility.
-# define ]b4_api_PREFIX[STYPE b4_namespace_ref::b4_parser_class_name::semantic_type
-#endif
-])[
-]b4_percent_code_get([[provides]])[
-]])
-
-b4_defines_if(
-[b4_output_begin([b4_spec_defines_file])
-b4_copyright([Skeleton interface for Bison LALR(1) parsers in C++])
-[
-/**
- ** \file ]b4_spec_defines_file[
- ** Define the ]b4_namespace_ref[::parser class.
- */
-
-// C++ LALR(1) parser skeleton written by Akim Demaille.
-
-]b4_cpp_guard_open([b4_spec_defines_file])[
-]b4_shared_declarations[
-]b4_cpp_guard_close([b4_spec_defines_file])
-b4_output_end()
-])
-
-
-b4_output_begin([b4_parser_file_name])
-b4_copyright([Skeleton implementation for Bison LALR(1) parsers in C++])
-b4_percent_code_get([[top]])[]dnl
-m4_if(b4_prefix, [yy], [],
-[
-// Take the name prefix into account.
-#define yylex b4_prefix[]lex])[
-
-// First part of user declarations.
-]b4_user_pre_prologue[
-
-]b4_null_define[
-
-]b4_defines_if([[#include "@basename(]b4_spec_defines_file[@)"]],
- [b4_shared_declarations])[
-
-// User implementation prologue.
-]b4_user_post_prologue[
-]b4_percent_code_get[
-
-#ifndef YY_
-# if defined YYENABLE_NLS && YYENABLE_NLS
-# if ENABLE_NLS
-# include <libintl.h> // FIXME: INFRINGES ON USER NAME SPACE.
-# define YY_(msgid) dgettext ("bison-runtime", msgid)
-# endif
-# endif
-# ifndef YY_
-# define YY_(msgid) msgid
-# endif
-#endif
-
-]b4_locations_if([dnl
-[#define YYRHSLOC(Rhs, K) ((Rhs)[K].location)
-]b4_yylloc_default_define])[
-
-// Suppress unused-variable warnings by "using" E.
-#define YYUSE(E) ((void) (E))
-
-// Enable debugging if requested.
-#if ]b4_api_PREFIX[DEBUG
-
-// A pseudo ostream that takes yydebug_ into account.
-# define YYCDEBUG if (yydebug_) (*yycdebug_)
-
-# define YY_SYMBOL_PRINT(Title, Symbol) \
- do { \
- if (yydebug_) \
- { \
- *yycdebug_ << Title << ' '; \
- yy_print_ (*yycdebug_, Symbol); \
- *yycdebug_ << std::endl; \
- } \
- } while (false)
-
-# define YY_REDUCE_PRINT(Rule) \
- do { \
- if (yydebug_) \
- yy_reduce_print_ (Rule); \
- } while (false)
-
-# define YY_STACK_PRINT() \
- do { \
- if (yydebug_) \
- yystack_print_ (); \
- } while (false)
-
-#else // !]b4_api_PREFIX[DEBUG
-
-# define YYCDEBUG if (false) std::cerr
-# define YY_SYMBOL_PRINT(Title, Symbol) YYUSE(Symbol)
-# define YY_REDUCE_PRINT(Rule) static_cast<void>(0)
-# define YY_STACK_PRINT() static_cast<void>(0)
-
-#endif // !]b4_api_PREFIX[DEBUG
-
-#define yyerrok (yyerrstatus_ = 0)
-#define yyclearin (yyempty = true)
-
-#define YYACCEPT goto yyacceptlab
-#define YYABORT goto yyabortlab
-#define YYERROR goto yyerrorlab
-#define YYRECOVERING() (!!yyerrstatus_)
-
-]b4_namespace_open[]b4_error_verbose_if([[
-
- /* Return YYSTR after stripping away unnecessary quotes and
- backslashes, so that it's suitable for yyerror. The heuristic is
- that double-quoting is unnecessary unless the string contains an
- apostrophe, a comma, or backslash (other than backslash-backslash).
- YYSTR is taken from yytname. */
- std::string
- ]b4_parser_class_name[::yytnamerr_ (const char *yystr)
- {
- if (*yystr == '"')
- {
- std::string yyr = "";
- char const *yyp = yystr;
-
- for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
-
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- // Fall through.
- default:
- yyr += *yyp;
- break;
-
- case '"':
- return yyr;
- }
- do_not_strip_quotes: ;
- }
-
- return yystr;
- }
-]])[
-
- /// Build a parser object.
- ]b4_parser_class_name::b4_parser_class_name[ (]b4_parse_param_decl[)]m4_ifset([b4_parse_param], [
- :])[
-#if ]b4_api_PREFIX[DEBUG
- ]m4_ifset([b4_parse_param], [ ], [ :])[yydebug_ (false),
- yycdebug_ (&std::cerr)]m4_ifset([b4_parse_param], [,])[
-#endif]b4_parse_param_cons[
- {}
-
- ]b4_parser_class_name::~b4_parser_class_name[ ()
- {}
-
-
- /*---------------.
- | Symbol types. |
- `---------------*/
-
-]b4_token_ctor_if([], [b4_public_types_define])[
-
- // by_state.
- inline
- ]b4_parser_class_name[::by_state::by_state ()
- : state (empty)
- {}
-
- inline
- ]b4_parser_class_name[::by_state::by_state (const by_state& other)
- : state (other.state)
- {}
-
- inline
- void
- ]b4_parser_class_name[::by_state::move (by_state& that)
- {
- state = that.state;
- that.state = empty;
- }
-
- inline
- ]b4_parser_class_name[::by_state::by_state (state_type s)
- : state (s)
- {}
-
- inline
- ]b4_parser_class_name[::symbol_number_type
- ]b4_parser_class_name[::by_state::type_get () const
- {
- return state == empty ? 0 : yystos_[state];
- }
-
- inline
- ]b4_parser_class_name[::stack_symbol_type::stack_symbol_type ()
- {}
-
-
- inline
- ]b4_parser_class_name[::stack_symbol_type::stack_symbol_type (state_type s, symbol_type& that)
- : super_type (s]b4_locations_if([, that.location])[)
- {
- ]b4_variant_if([b4_symbol_variant([that.type_get ()],
- [value], [move], [that.value])],
- [[value = that.value;]])[
- // that is emptied.
- that.type = empty;
- }
-
- inline
- ]b4_parser_class_name[::stack_symbol_type&
- ]b4_parser_class_name[::stack_symbol_type::operator= (const stack_symbol_type& that)
- {
- state = that.state;
- ]b4_variant_if([b4_symbol_variant([that.type_get ()],
- [value], [copy], [that.value])],
- [[value = that.value;]])[]b4_locations_if([
- location = that.location;])[
- return *this;
- }
-
-
- template <typename Base>
- inline
- void
- ]b4_parser_class_name[::yy_destroy_ (const char* yymsg, basic_symbol<Base>& yysym) const
- {
- if (yymsg)
- YY_SYMBOL_PRINT (yymsg, yysym);]b4_variant_if([], [
-
- // User destructor.
- b4_symbol_actions([destructor], [yysym.type_get ()])])[
- }
-
-#if ]b4_api_PREFIX[DEBUG
- template <typename Base>
- void
- ]b4_parser_class_name[::yy_print_ (std::ostream& yyo,
- const basic_symbol<Base>& yysym) const
- {
- std::ostream& yyoutput = yyo;
- YYUSE (yyoutput);
- symbol_number_type yytype = yysym.type_get ();
- yyo << (yytype < yyntokens_ ? "token" : "nterm")
- << ' ' << yytname_[yytype] << " ("]b4_locations_if([
- << yysym.location << ": "])[;
- ]b4_symbol_actions([printer])[
- yyo << ')';
- }
-#endif
-
- inline
- void
- ]b4_parser_class_name[::yypush_ (const char* m, state_type s, symbol_type& sym)
- {
- stack_symbol_type t (s, sym);
- yypush_ (m, t);
- }
-
- inline
- void
- ]b4_parser_class_name[::yypush_ (const char* m, stack_symbol_type& s)
- {
- if (m)
- YY_SYMBOL_PRINT (m, s);
- yystack_.push (s);
- }
-
- inline
- void
- ]b4_parser_class_name[::yypop_ (unsigned int n)
- {
- yystack_.pop (n);
- }
-
-#if ]b4_api_PREFIX[DEBUG
- std::ostream&
- ]b4_parser_class_name[::debug_stream () const
- {
- return *yycdebug_;
- }
-
- void
- ]b4_parser_class_name[::set_debug_stream (std::ostream& o)
- {
- yycdebug_ = &o;
- }
-
-
- ]b4_parser_class_name[::debug_level_type
- ]b4_parser_class_name[::debug_level () const
- {
- return yydebug_;
- }
-
- void
- ]b4_parser_class_name[::set_debug_level (debug_level_type l)
- {
- yydebug_ = l;
- }
-#endif // ]b4_api_PREFIX[DEBUG
-
- inline ]b4_parser_class_name[::state_type
- ]b4_parser_class_name[::yy_lr_goto_state_ (state_type yystate, int yylhs)
- {
- int yyr = yypgoto_[yylhs - yyntokens_] + yystate;
- if (0 <= yyr && yyr <= yylast_ && yycheck_[yyr] == yystate)
- return yytable_[yyr];
- else
- return yydefgoto_[yylhs - yyntokens_];
- }
-
- inline bool
- ]b4_parser_class_name[::yy_pact_value_is_default_ (int yyvalue)
- {
- return yyvalue == yypact_ninf_;
- }
-
- inline bool
- ]b4_parser_class_name[::yy_table_value_is_error_ (int yyvalue)
- {
- return yyvalue == yytable_ninf_;
- }
-
- int
- ]b4_parser_class_name[::parse ()
- {
- /// Whether yyla contains a lookahead.
- bool yyempty = true;
-
- // State.
- int yyn;
- int yylen = 0;
-
- // Error handling.
- int yynerrs_ = 0;
- int yyerrstatus_ = 0;
-
- /// The lookahead symbol.
- symbol_type yyla;]b4_locations_if([[
-
- /// The locations where the error started and ended.
- stack_symbol_type yyerror_range[3];]])[
-
- /// $$ and @@$.
- stack_symbol_type yylhs;
-
- /// The return value of parse ().
- int yyresult;
-
- // FIXME: This shoud be completely indented. It is not yet to
- // avoid gratuitous conflicts when merging into the master branch.
- try
- {
- YYCDEBUG << "Starting parse" << std::endl;
-
-]m4_ifdef([b4_initial_action], [
-b4_dollar_pushdef([yyla.value], [], [yyla.location])dnl
- // User initialization code.
- b4_user_initial_action
-b4_dollar_popdef])[]dnl
-
- [ /* Initialize the stack. The initial state will be set in
- yynewstate, since the latter expects the semantical and the
- location values to have been already stored, initialize these
- stacks with a primary value. */
- yystack_.clear ();
- yypush_ (YY_NULL, 0, yyla);
-
- // A new symbol was pushed on the stack.
- yynewstate:
- YYCDEBUG << "Entering state " << yystack_[0].state << std::endl;
-
- // Accept?
- if (yystack_[0].state == yyfinal_)
- goto yyacceptlab;
-
- goto yybackup;
-
- // Backup.
- yybackup:
-
- // Try to take a decision without lookahead.
- yyn = yypact_[yystack_[0].state];
- if (yy_pact_value_is_default_ (yyn))
- goto yydefault;
-
- // Read a lookahead token.
- if (yyempty)
- {
- YYCDEBUG << "Reading a token: ";
- try
- {]b4_token_ctor_if([[
- symbol_type yylookahead (]b4_lex[);
- yyla.move (yylookahead);]], [[
- yyla.type = yytranslate_ (]b4_lex[);]])[
- }
- catch (const syntax_error& yyexc)
- {
- error (yyexc);
- goto yyerrlab1;
- }
- yyempty = false;
- }
- YY_SYMBOL_PRINT ("Next token is", yyla);
-
- /* If the proper action on seeing token YYLA.TYPE is to reduce or
- to detect an error, take that action. */
- yyn += yyla.type_get ();
- if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yyla.type_get ())
- goto yydefault;
-
- // Reduce or error.
- yyn = yytable_[yyn];
- if (yyn <= 0)
- {
- if (yy_table_value_is_error_ (yyn))
- goto yyerrlab;
- yyn = -yyn;
- goto yyreduce;
- }
-
- // Discard the token being shifted.
- yyempty = true;
-
- // Count tokens shifted since error; after three, turn off error status.
- if (yyerrstatus_)
- --yyerrstatus_;
-
- // Shift the lookahead token.
- yypush_ ("Shifting", yyn, yyla);
- goto yynewstate;
-
- /*-----------------------------------------------------------.
- | yydefault -- do the default action for the current state. |
- `-----------------------------------------------------------*/
- yydefault:
- yyn = yydefact_[yystack_[0].state];
- if (yyn == 0)
- goto yyerrlab;
- goto yyreduce;
-
- /*-----------------------------.
- | yyreduce -- Do a reduction. |
- `-----------------------------*/
- yyreduce:
- yylen = yyr2_[yyn];
- yylhs.state = yy_lr_goto_state_(yystack_[yylen].state, yyr1_[yyn]);]b4_variant_if([
- /* Variants are always initialized to an empty instance of the
- correct type. The default $$=$1 action is NOT applied when using
- variants. */
- b4_symbol_variant([[yyr1_@{yyn@}]], [yylhs.value], [build])],[
- /* If YYLEN is nonzero, implement the default value of the action:
- '$$ = $1'. Otherwise, use the top of the stack.
-
- Otherwise, the following line sets YYLHS.VALUE to garbage.
- This behavior is undocumented and Bison
- users should not rely upon it. */
- if (yylen)
- yylhs.value = yystack_@{yylen - 1@}.value;
- else
- yylhs.value = yystack_@{0@}.value;])[
-]b4_locations_if([dnl
-[
- // Compute the default @@$.
- {
- slice<stack_symbol_type, stack_type> slice (yystack_, yylen);
- YYLLOC_DEFAULT (yylhs.location, slice, yylen);
- }]])[
-
- // Perform the reduction.
- YY_REDUCE_PRINT (yyn);
- try
- {
- switch (yyn)
- {
-]b4_user_actions[
- default:
- break;
- }
- }
- catch (const syntax_error& yyexc)
- {
- error (yyexc);
- YYERROR;
- }
- YY_SYMBOL_PRINT ("-> $$ =", yylhs);
- yypop_ (yylen);
- yylen = 0;
- YY_STACK_PRINT ();
-
- // Shift the result of the reduction.
- yypush_ (YY_NULL, yylhs);
- goto yynewstate;
-
- /*--------------------------------------.
- | yyerrlab -- here on detecting error. |
- `--------------------------------------*/
- yyerrlab:
- // If not already recovering from an error, report this error.
- if (!yyerrstatus_)
- {
- ++yynerrs_;
- error (]b4_join(b4_locations_if([yyla.location]),
- [[yysyntax_error_ (yystack_[0].state,
- yyempty ? yyempty_ : yyla.type_get ())]])[);
- }
-
-]b4_locations_if([[
- yyerror_range[1].location = yyla.location;]])[
- if (yyerrstatus_ == 3)
- {
- /* If just tried and failed to reuse lookahead token after an
- error, discard it. */
-
- // Return failure if at end of input.
- if (yyla.type_get () == yyeof_)
- YYABORT;
- else if (!yyempty)
- {
- yy_destroy_ ("Error: discarding", yyla);
- yyempty = true;
- }
- }
-
- // Else will try to reuse lookahead token after shifting the error token.
- goto yyerrlab1;
-
-
- /*---------------------------------------------------.
- | yyerrorlab -- error raised explicitly by YYERROR. |
- `---------------------------------------------------*/
- yyerrorlab:
-
- /* Pacify compilers like GCC when the user code never invokes
- YYERROR and the label yyerrorlab therefore never appears in user
- code. */
- if (false)
- goto yyerrorlab;]b4_locations_if([[
- yyerror_range[1].location = yystack_[yylen - 1].location;]])b4_variant_if([[
- /* $$ was initialized before running the user action. */
- YY_SYMBOL_PRINT ("Error: discarding", yylhs);
- yylhs.~stack_symbol_type();]])[
- /* Do not reclaim the symbols of the rule whose action triggered
- this YYERROR. */
- yypop_ (yylen);
- yylen = 0;
- goto yyerrlab1;
-
- /*-------------------------------------------------------------.
- | yyerrlab1 -- common code for both syntax error and YYERROR. |
- `-------------------------------------------------------------*/
- yyerrlab1:
- yyerrstatus_ = 3; // Each real token shifted decrements this.
- {
- stack_symbol_type error_token;
- for (;;)
- {
- yyn = yypact_[yystack_[0].state];
- if (!yy_pact_value_is_default_ (yyn))
- {
- yyn += yyterror_;
- if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_)
- {
- yyn = yytable_[yyn];
- if (0 < yyn)
- break;
- }
- }
-
- // Pop the current state because it cannot handle the error token.
- if (yystack_.size () == 1)
- YYABORT;
-]b4_locations_if([[
- yyerror_range[1].location = yystack_[0].location;]])[
- yy_destroy_ ("Error: popping", yystack_[0]);
- yypop_ ();
- YY_STACK_PRINT ();
- }
-]b4_locations_if([[
- yyerror_range[2].location = yyla.location;
- YYLLOC_DEFAULT (error_token.location, yyerror_range, 2);]])[
-
- // Shift the error token.
- error_token.state = yyn;
- yypush_ ("Shifting", error_token);
- }
- goto yynewstate;
-
- // Accept.
- yyacceptlab:
- yyresult = 0;
- goto yyreturn;
-
- // Abort.
- yyabortlab:
- yyresult = 1;
- goto yyreturn;
-
- yyreturn:
- if (!yyempty)
- yy_destroy_ ("Cleanup: discarding lookahead", yyla);
-
- /* Do not reclaim the symbols of the rule whose action triggered
- this YYABORT or YYACCEPT. */
- yypop_ (yylen);
- while (1 < yystack_.size ())
- {
- yy_destroy_ ("Cleanup: popping", yystack_[0]);
- yypop_ ();
- }
-
- return yyresult;
- }
- catch (...)
- {
- YYCDEBUG << "Exception caught: cleaning lookahead and stack"
- << std::endl;
- // Do not try to display the values of the reclaimed symbols,
- // as their printer might throw an exception.
- if (!yyempty)
- yy_destroy_ (YY_NULL, yyla);
-
- while (1 < yystack_.size ())
- {
- yy_destroy_ (YY_NULL, yystack_[0]);
- yypop_ ();
- }
- throw;
- }
- }
-
- void
- ]b4_parser_class_name[::error (const syntax_error& yyexc)
- {
- error (]b4_join(b4_locations_if([yyexc.location]),
- [[yyexc.what()]])[);
- }
-
- // Generate an error message.
- std::string
- ]b4_parser_class_name[::yysyntax_error_ (]dnl
-b4_error_verbose_if([state_type yystate, symbol_number_type yytoken],
- [state_type, symbol_number_type])[) const
- {]b4_error_verbose_if([[
- std::string yyres;
- // Number of reported tokens (one for the "unexpected", one per
- // "expected").
- size_t yycount = 0;
- // Its maximum.
- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
- // Arguments of yyformat.
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
-
- /* There are many possibilities here to consider:
- - If this state is a consistent state with a default action, then
- the only way this function was invoked is if the default action
- is an error action. In that case, don't check for expected
- tokens because there are none.
- - The only way there can be no lookahead present (in yytoken) is
- if this state is a consistent state with a default action.
- Thus, detecting the absence of a lookahead is sufficient to
- determine that there is no unexpected or expected token to
- report. In that case, just report a simple "syntax error".
- - Don't assume there isn't a lookahead just because this state is
- a consistent state with a default action. There might have
- been a previous inconsistent state, consistent state with a
- non-default action, or user semantic action that manipulated
- yyla. (However, yyla is currently not documented for users.)
- - Of course, the expected token list depends on states to have
- correct lookahead information, and it depends on the parser not
- to perform extra reductions after fetching a lookahead from the
- scanner and before detecting a syntax error. Thus, state
- merging (from LALR or IELR) and default reductions corrupt the
- expected token list. However, the list is correct for
- canonical LR with one exception: it will still contain any
- token that will not be accepted due to an error action in a
- later state.
- */
- if (yytoken != yyempty_)
- {
- yyarg[yycount++] = yytname_[yytoken];
- int yyn = yypact_[yystate];
- if (!yy_pact_value_is_default_ (yyn))
- {
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. In other words, skip the first -YYN actions for
- this state because they are default actions. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
- // Stay within bounds of both yycheck and yytname.
- int yychecklim = yylast_ - yyn + 1;
- int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
- for (int yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck_[yyx + yyn] == yyx && yyx != yyterror_
- && !yy_table_value_is_error_ (yytable_[yyx + yyn]))
- {
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
- {
- yycount = 1;
- break;
- }
- else
- yyarg[yycount++] = yytname_[yyx];
- }
- }
- }
-
- char const* yyformat = YY_NULL;
- switch (yycount)
- {
-#define YYCASE_(N, S) \
- case N: \
- yyformat = S; \
- break
- YYCASE_(0, YY_("syntax error"));
- YYCASE_(1, YY_("syntax error, unexpected %s"));
- YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
- YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
- YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
- YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
-#undef YYCASE_
- }
-
- // Argument number.
- size_t yyi = 0;
- for (char const* yyp = yyformat; *yyp; ++yyp)
- if (yyp[0] == '%' && yyp[1] == 's' && yyi < yycount)
- {
- yyres += yytnamerr_ (yyarg[yyi++]);
- ++yyp;
- }
- else
- yyres += *yyp;
- return yyres;]], [[
- return YY_("syntax error");]])[
- }
-
-
- const ]b4_int_type(b4_pact_ninf, b4_pact_ninf) b4_parser_class_name::yypact_ninf_ = b4_pact_ninf[;
-
- const ]b4_int_type(b4_table_ninf, b4_table_ninf) b4_parser_class_name::yytable_ninf_ = b4_table_ninf[;
-
-]b4_parser_tables_define[
-
-]b4_token_table_if([], [[#if ]b4_api_PREFIX[DEBUG]])[
- // YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- // First, the terminals, then, starting at \a yyntokens_, nonterminals.
- const char*
- const ]b4_parser_class_name[::yytname_[] =
- {
- ]b4_tname[
- };
-
-]b4_token_table_if([[#if ]b4_api_PREFIX[DEBUG]])[
-]b4_integral_parser_table_define([rline], [b4_rline])[
-
- // Print the state stack on the debug stream.
- void
- ]b4_parser_class_name[::yystack_print_ ()
- {
- *yycdebug_ << "Stack now";
- for (stack_type::const_iterator
- i = yystack_.begin (),
- i_end = yystack_.end ();
- i != i_end; ++i)
- *yycdebug_ << ' ' << i->state;
- *yycdebug_ << std::endl;
- }
-
- // Report on the debug stream that the rule \a yyrule is going to be reduced.
- void
- ]b4_parser_class_name[::yy_reduce_print_ (int yyrule)
- {
- unsigned int yylno = yyrline_[yyrule];
- int yynrhs = yyr2_[yyrule];
- // Print the symbols being reduced, and their result.
- *yycdebug_ << "Reducing stack by rule " << yyrule - 1
- << " (line " << yylno << "):" << std::endl;
- // The symbols being reduced.
- for (int yyi = 0; yyi < yynrhs; yyi++)
- YY_SYMBOL_PRINT (" $" << yyi + 1 << " =",
- ]b4_rhs_data(yynrhs, yyi + 1)[);
- }
-#endif // ]b4_api_PREFIX[DEBUG
-
-]b4_token_ctor_if([], [b4_yytranslate_define])[
-]b4_namespace_close[
-]b4_epilogue[]dnl
-b4_output_end()
-
-
-m4_popdef([b4_copyright_years])dnl
diff --git a/gnuwin32/bin/data/lalr1.java b/gnuwin32/bin/data/lalr1.java
deleted file mode 100644
index d137ed81..00000000
--- a/gnuwin32/bin/data/lalr1.java
+++ /dev/null
@@ -1,1065 +0,0 @@
-# Java skeleton for Bison -*- autoconf -*-
-
-# Copyright (C) 2007-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-m4_include(b4_pkgdatadir/[java.m4])
-
-b4_defines_if([b4_fatal([%s: %%defines does not make sense in Java],
- [b4_skeleton])])
-
-# We do not depend on %debug in Java, but pacify warnings about
-# non-used flags.
-b4_parse_trace_if([0], [0])
-
-m4_define([b4_symbol_no_destructor_assert],
-[b4_symbol_if([$1], [has_destructor],
- [b4_fatal([%s: %s: %%destructor does not make sense in Java],
- [b4_skeleton],
- [b4_symbol_action_location([$1], [destructor])])])])
-b4_symbol_foreach([b4_symbol_no_destructor_assert])
-
-# Setup some macros for api.push-pull.
-b4_percent_define_default([[api.push-pull]], [[pull]])
-b4_percent_define_check_values([[[[api.push-pull]],
- [[pull]], [[push]], [[both]]]])
-
-# Define m4 conditional macros that encode the value
-# of the api.push-pull flag.
-b4_define_flag_if([pull]) m4_define([b4_pull_flag], [[1]])
-b4_define_flag_if([push]) m4_define([b4_push_flag], [[1]])
-m4_case(b4_percent_define_get([[api.push-pull]]),
- [pull], [m4_define([b4_push_flag], [[0]])],
- [push], [m4_define([b4_pull_flag], [[0]])])
-
-# Define a macro to be true when api.push-pull has the value "both".
-m4_define([b4_both_if],[b4_push_if([b4_pull_if([$1],[$2])],[$2])])
-
-# Handle BISON_USE_PUSH_FOR_PULL for the test suite. So that push parsing
-# tests function as written, do not let BISON_USE_PUSH_FOR_PULL modify the
-# behavior of Bison at all when push parsing is already requested.
-b4_define_flag_if([use_push_for_pull])
-b4_use_push_for_pull_if([
- b4_push_if([m4_define([b4_use_push_for_pull_flag], [[0]])],
- [m4_define([b4_push_flag], [[1]])])])
-
-# Define a macro to encapsulate the parse state variables.
-# This allows them to be defined either in parse() when doing
-# pull parsing, or as class instance variable when doing push parsing.
-m4_define([b4_define_state],[[
- /* Lookahead and lookahead in internal form. */
- int yychar = yyempty_;
- int yytoken = 0;
-
- /* State. */
- int yyn = 0;
- int yylen = 0;
- int yystate = 0;
- YYStack yystack = new YYStack ();
- int label = YYNEWSTATE;
-
- /* Error handling. */
- int yynerrs_ = 0;
- ]b4_locations_if([/* The location where the error started. */
- b4_location_type yyerrloc = null;
-
- /* Location. */
- b4_location_type yylloc = new b4_location_type (null, null);])[
-
- /* Semantic value of the lookahead. */
- ]b4_yystype[ yylval = null;
-]])
-
-b4_output_begin([b4_parser_file_name])
-b4_copyright([Skeleton implementation for Bison LALR(1) parsers in Java],
- [2007-2013])
-
-b4_percent_define_ifdef([package], [package b4_percent_define_get([package]);
-])[/* First part of user declarations. */
-]b4_user_pre_prologue
-b4_user_post_prologue
-b4_percent_code_get([[imports]])
-[/**
- * A Bison parser, automatically generated from <tt>]m4_bpatsubst(b4_file_name, [^"\(.*\)"$], [\1])[</tt>.
- *
- * @@author LALR (1) parser skeleton written by Paolo Bonzini.
- */
-]b4_percent_define_get3([annotations], [], [ ])dnl
-b4_public_if([public ])dnl
-b4_abstract_if([abstract ])dnl
-b4_final_if([final ])dnl
-b4_strictfp_if([strictfp ])dnl
-[class ]b4_parser_class_name[]dnl
-b4_percent_define_get3([extends], [ extends ])dnl
-b4_percent_define_get3([implements], [ implements ])[
-{
- ]b4_identification[
-]b4_error_verbose_if([[
- /**
- * True if verbose error messages are enabled.
- */
- private boolean yyErrorVerbose = true;
-
- /**
- * Return whether verbose error messages are enabled.
- */
- public final boolean getErrorVerbose() { return yyErrorVerbose; }
-
- /**
- * Set the verbosity of error messages.
- * @@param verbose True to request verbose error messages.
- */
- public final void setErrorVerbose(boolean verbose)
- { yyErrorVerbose = verbose; }
-]])
-
-b4_locations_if([[
- /**
- * A class defining a pair of positions. Positions, defined by the
- * <code>]b4_position_type[</code> class, denote a point in the input.
- * Locations represent a part of the input through the beginning
- * and ending positions.
- */
- public class ]b4_location_type[ {
- /**
- * The first, inclusive, position in the range.
- */
- public ]b4_position_type[ begin;
-
- /**
- * The first position beyond the range.
- */
- public ]b4_position_type[ end;
-
- /**
- * Create a <code>]b4_location_type[</code> denoting an empty range located at
- * a given point.
- * @@param loc The position at which the range is anchored.
- */
- public ]b4_location_type[ (]b4_position_type[ loc) {
- this.begin = this.end = loc;
- }
-
- /**
- * Create a <code>]b4_location_type[</code> from the endpoints of the range.
- * @@param begin The first position included in the range.
- * @@param end The first position beyond the range.
- */
- public ]b4_location_type[ (]b4_position_type[ begin, ]b4_position_type[ end) {
- this.begin = begin;
- this.end = end;
- }
-
- /**
- * Print a representation of the location. For this to be correct,
- * <code>]b4_position_type[</code> should override the <code>equals</code>
- * method.
- */
- public String toString () {
- if (begin.equals (end))
- return begin.toString ();
- else
- return begin.toString () + "-" + end.toString ();
- }
- }
-
-]])
-
- b4_locations_if([[
- private ]b4_location_type[ yylloc (YYStack rhs, int n)
- {
- if (n > 0)
- return new ]b4_location_type[ (rhs.locationAt (n-1).begin, rhs.locationAt (0).end);
- else
- return new ]b4_location_type[ (rhs.locationAt (0).end);
- }]])[
-
- /**
- * Communication interface between the scanner and the Bison-generated
- * parser <tt>]b4_parser_class_name[</tt>.
- */
- public interface Lexer {
- /** Token returned by the scanner to signal the end of its input. */
- public static final int EOF = 0;
-
-]b4_token_enums[
-
- ]b4_locations_if([[/**
- * Method to retrieve the beginning position of the last scanned token.
- * @@return the position at which the last scanned token starts.
- */
- ]b4_position_type[ getStartPos ();
-
- /**
- * Method to retrieve the ending position of the last scanned token.
- * @@return the first position beyond the last scanned token.
- */
- ]b4_position_type[ getEndPos ();]])[
-
- /**
- * Method to retrieve the semantic value of the last scanned token.
- * @@return the semantic value of the last scanned token.
- */
- ]b4_yystype[ getLVal ();
-
- /**
- * Entry point for the scanner. Returns the token identifier corresponding
- * to the next token and prepares to return the semantic value
- * ]b4_locations_if([and beginning/ending positions ])[of the token.
- * @@return the token identifier corresponding to the next token.
- */
- int yylex () ]b4_maybe_throws([b4_lex_throws])[;
-
- /**
- * Entry point for error reporting. Emits an error
- * ]b4_locations_if([referring to the given location ])[in a user-defined way.
- *
- * ]b4_locations_if([[@@param loc The location of the element to which the
- * error message is related]])[
- * @@param msg The string for the error message.
- */
- void yyerror (]b4_locations_if([b4_location_type[ loc, ]])[String msg);]
- }
-
- b4_lexer_if([[private class YYLexer implements Lexer {
-]b4_percent_code_get([[lexer]])[
- }
-
- ]])[/**
- * The object doing lexical analysis for us.
- */
- private Lexer yylexer;
- ]
- b4_parse_param_vars
-
-b4_lexer_if([[
- /**
- * Instantiates the Bison-generated parser.
- */
- public ]b4_parser_class_name (b4_parse_param_decl([b4_lex_param_decl])[) ]b4_maybe_throws([b4_init_throws])[
- {
- ]b4_percent_code_get([[init]])[
- this.yylexer = new YYLexer(]b4_lex_param_call[);
- ]b4_parse_param_cons[
- }
-]])
-
- /**
- * Instantiates the Bison-generated parser.
- * @@param yylexer The scanner that will supply tokens to the parser.
- */
- b4_lexer_if([[protected]], [[public]]) b4_parser_class_name[ (]b4_parse_param_decl([[Lexer yylexer]])[) ]b4_maybe_throws([b4_init_throws])[
- {
- ]b4_percent_code_get([[init]])[
- this.yylexer = yylexer;
- ]b4_parse_param_cons[
- }
-
- private java.io.PrintStream yyDebugStream = System.err;
-
- /**
- * Return the <tt>PrintStream</tt> on which the debugging output is
- * printed.
- */
- public final java.io.PrintStream getDebugStream () { return yyDebugStream; }
-
- /**
- * Set the <tt>PrintStream</tt> on which the debug output is printed.
- * @@param s The stream that is used for debugging output.
- */
- public final void setDebugStream(java.io.PrintStream s) { yyDebugStream = s; }
-
- private int yydebug = 0;
-
- /**
- * Answer the verbosity of the debugging output; 0 means that all kinds of
- * output from the parser are suppressed.
- */
- public final int getDebugLevel() { return yydebug; }
-
- /**
- * Set the verbosity of the debugging output; 0 means that all kinds of
- * output from the parser are suppressed.
- * @@param level The verbosity level for debugging output.
- */
- public final void setDebugLevel(int level) { yydebug = level; }
-
- /**
- * Print an error message via the lexer.
- *]b4_locations_if([[ Use a <code>null</code> location.]])[
- * @@param msg The error message.
- */
- public final void yyerror (String msg)
- {
- yylexer.yyerror (]b4_locations_if([[(]b4_location_type[)null, ]])[msg);
- }
-]b4_locations_if([[
- /**
- * Print an error message via the lexer.
- * @@param loc The location associated with the message.
- * @@param msg The error message.
- */
- public final void yyerror (]b4_location_type[ loc, String msg)
- {
- yylexer.yyerror (loc, msg);
- }
-
- /**
- * Print an error message via the lexer.
- * @@param pos The position associated with the message.
- * @@param msg The error message.
- */
- public final void yyerror (]b4_position_type[ pos, String msg)
- {
- yylexer.yyerror (new ]b4_location_type[ (pos), msg);
- }]])
-
- [protected final void yycdebug (String s) {
- if (yydebug > 0)
- yyDebugStream.println (s);
- }
-
- private final class YYStack {
- private int[] stateStack = new int[16];
- ]b4_locations_if([[private ]b4_location_type[[] locStack = new ]b4_location_type[[16];]])[
- private ]b4_yystype[[] valueStack = new ]b4_yystype[[16];
-
- public int size = 16;
- public int height = -1;
-
- public final void push (int state, ]b4_yystype[ value]dnl
- b4_locations_if([, ]b4_location_type[ loc])[) {
- height++;
- if (size == height)
- {
- int[] newStateStack = new int[size * 2];
- System.arraycopy (stateStack, 0, newStateStack, 0, height);
- stateStack = newStateStack;
- ]b4_locations_if([[
- ]b4_location_type[[] newLocStack = new ]b4_location_type[[size * 2];
- System.arraycopy (locStack, 0, newLocStack, 0, height);
- locStack = newLocStack;]])
-
- b4_yystype[[] newValueStack = new ]b4_yystype[[size * 2];
- System.arraycopy (valueStack, 0, newValueStack, 0, height);
- valueStack = newValueStack;
-
- size *= 2;
- }
-
- stateStack[height] = state;
- ]b4_locations_if([[locStack[height] = loc;]])[
- valueStack[height] = value;
- }
-
- public final void pop () {
- pop (1);
- }
-
- public final void pop (int num) {
- // Avoid memory leaks... garbage collection is a white lie!
- if (num > 0) {
- java.util.Arrays.fill (valueStack, height - num + 1, height + 1, null);
- ]b4_locations_if([[java.util.Arrays.fill (locStack, height - num + 1, height + 1, null);]])[
- }
- height -= num;
- }
-
- public final int stateAt (int i) {
- return stateStack[height - i];
- }
-
- ]b4_locations_if([[public final ]b4_location_type[ locationAt (int i) {
- return locStack[height - i];
- }
-
- ]])[public final ]b4_yystype[ valueAt (int i) {
- return valueStack[height - i];
- }
-
- // Print the state stack on the debug stream.
- public void print (java.io.PrintStream out)
- {
- out.print ("Stack now");
-
- for (int i = 0; i <= height; i++)
- {
- out.print (' ');
- out.print (stateStack[i]);
- }
- out.println ();
- }
- }
-
- /**
- * Returned by a Bison action in order to stop the parsing process and
- * return success (<tt>true</tt>).
- */
- public static final int YYACCEPT = 0;
-
- /**
- * Returned by a Bison action in order to stop the parsing process and
- * return failure (<tt>false</tt>).
- */
- public static final int YYABORT = 1;
-
-]b4_push_if([
- /**
- * Returned by a Bison action in order to request a new token.
- */
- public static final int YYPUSH_MORE = 4;])[
-
- /**
- * Returned by a Bison action in order to start error recovery without
- * printing an error message.
- */
- public static final int YYERROR = 2;
-
- /**
- * Internal return codes that are not supported for user semantic
- * actions.
- */
- private static final int YYERRLAB = 3;
- private static final int YYNEWSTATE = 4;
- private static final int YYDEFAULT = 5;
- private static final int YYREDUCE = 6;
- private static final int YYERRLAB1 = 7;
- private static final int YYRETURN = 8;
-]b4_push_if([[ private static final int YYGETTOKEN = 9; /* Signify that a new token is expected when doing push-parsing. */]])[
-
- private int yyerrstatus_ = 0;
-
-]b4_push_if([dnl
-b4_define_state])[
- /**
- * Return whether error recovery is being done. In this state, the parser
- * reads token until it reaches a known state, and then restarts normal
- * operation.
- */
- public final boolean recovering ()
- {
- return yyerrstatus_ == 0;
- }
-
- private int yyaction (int yyn, YYStack yystack, int yylen) ]b4_maybe_throws([b4_throws])[
- {
- ]b4_yystype[ yyval;
- ]b4_locations_if([b4_location_type[ yyloc = yylloc (yystack, yylen);]])[
-
- /* If YYLEN is nonzero, implement the default value of the action:
- '$$ = $1'. Otherwise, use the top of the stack.
-
- Otherwise, the following line sets YYVAL to garbage.
- This behavior is undocumented and Bison
- users should not rely upon it. */
- if (yylen > 0)
- yyval = yystack.valueAt (yylen - 1);
- else
- yyval = yystack.valueAt (0);
-
- yy_reduce_print (yyn, yystack);
-
- switch (yyn)
- {
- ]b4_user_actions[
- default: break;
- }
-
- yy_symbol_print ("-> $$ =", yyr1_[yyn], yyval]b4_locations_if([, yyloc])[);
-
- yystack.pop (yylen);
- yylen = 0;
-
- /* Shift the result of the reduction. */
- yyn = yyr1_[yyn];
- int yystate = yypgoto_[yyn - yyntokens_] + yystack.stateAt (0);
- if (0 <= yystate && yystate <= yylast_
- && yycheck_[yystate] == yystack.stateAt (0))
- yystate = yytable_[yystate];
- else
- yystate = yydefgoto_[yyn - yyntokens_];
-
- yystack.push (yystate, yyval]b4_locations_if([, yyloc])[);
- return YYNEWSTATE;
- }
-
-]b4_error_verbose_if([[
- /* Return YYSTR after stripping away unnecessary quotes and
- backslashes, so that it's suitable for yyerror. The heuristic is
- that double-quoting is unnecessary unless the string contains an
- apostrophe, a comma, or backslash (other than backslash-backslash).
- YYSTR is taken from yytname. */
- private final String yytnamerr_ (String yystr)
- {
- if (yystr.charAt (0) == '"')
- {
- StringBuffer yyr = new StringBuffer ();
- strip_quotes: for (int i = 1; i < yystr.length (); i++)
- switch (yystr.charAt (i))
- {
- case '\'':
- case ',':
- break strip_quotes;
-
- case '\\':
- if (yystr.charAt(++i) != '\\')
- break strip_quotes;
- /* Fall through. */
- default:
- yyr.append (yystr.charAt (i));
- break;
-
- case '"':
- return yyr.toString ();
- }
- }
- else if (yystr.equals ("$end"))
- return "end of input";
-
- return yystr;
- }
-]])[
-
- /*--------------------------------.
- | Print this symbol on YYOUTPUT. |
- `--------------------------------*/
-
- private void yy_symbol_print (String s, int yytype,
- ]b4_yystype[ yyvaluep]dnl
- b4_locations_if([, Object yylocationp])[)
- {
- if (yydebug > 0)
- yycdebug (s + (yytype < yyntokens_ ? " token " : " nterm ")
- + yytname_[yytype] + " ("]b4_locations_if([
- + yylocationp + ": "])[
- + (yyvaluep == null ? "(null)" : yyvaluep.toString ()) + ")");
- }
-
-]b4_push_if([],[[
- /**
- * Parse input from the scanner that was specified at object construction
- * time. Return whether the end of the input was reached successfully.
- *
- * @@return <tt>true</tt> if the parsing succeeds. Note that this does not
- * imply that there were no syntax errors.
- */
- public boolean parse () ]b4_maybe_throws([b4_list2([b4_lex_throws], [b4_throws])])[]])[
-]b4_push_if([
- /**
- * Push Parse input from external lexer
- *
- * @@param yylextoken current token
- * @@param yylexval current lval
-]b4_locations_if([ * @@param yylexloc current position])[
- *
- * @@return <tt>YYACCEPT, YYABORT, YYPUSH_MORE</tt>
- */
- public int push_parse (int yylextoken, b4_yystype yylexval[]b4_locations_if([, b4_location_type yylexloc]))
- b4_maybe_throws([b4_list2([b4_lex_throws], [b4_throws])])])[
- {
- ]b4_locations_if([/* @@$. */
- b4_location_type yyloc;])[
-]b4_push_if([],[[
-]b4_define_state[
- yycdebug ("Starting parse\n");
- yyerrstatus_ = 0;
-
- /* Initialize the stack. */
- yystack.push (yystate, yylval ]b4_locations_if([, yylloc])[);
-]m4_ifdef([b4_initial_action], [
-b4_dollar_pushdef([yylval], [], [yylloc])dnl
- /* User initialization code. */
- b4_user_initial_action
-b4_dollar_popdef[]dnl
-])[
-]])[
-]b4_push_if([[
- if (!this.push_parse_initialized)
- {
- push_parse_initialize ();
-]m4_ifdef([b4_initial_action], [
-b4_dollar_pushdef([yylval], [], [yylloc])dnl
- /* User initialization code. */
- b4_user_initial_action
-b4_dollar_popdef[]dnl
-])[
- yycdebug ("Starting parse\n");
- yyerrstatus_ = 0;
- } else
- label = YYGETTOKEN;
-
- boolean push_token_consumed = true;
-]])[
- for (;;)
- switch (label)
- {
- /* New state. Unlike in the C/C++ skeletons, the state is already
- pushed when we come here. */
- case YYNEWSTATE:
- yycdebug ("Entering state " + yystate + "\n");
- if (yydebug > 0)
- yystack.print (yyDebugStream);
-
- /* Accept? */
- if (yystate == yyfinal_)
- ]b4_push_if([{label = YYACCEPT; break;}],
- [return true;])[
-
- /* Take a decision. First try without lookahead. */
- yyn = yypact_[yystate];
- if (yy_pact_value_is_default_ (yyn))
- {
- label = YYDEFAULT;
- break;
- }
-]b4_push_if([ /* Fall Through */
-
- case YYGETTOKEN:])[
- /* Read a lookahead token. */
- if (yychar == yyempty_)
- {
-]b4_push_if([[
- if (!push_token_consumed)
- return YYPUSH_MORE;
- yycdebug ("Reading a token: ");
- yychar = yylextoken;
- yylval = yylexval;]b4_locations_if([
- yylloc = yylexloc;])[
- push_token_consumed = false;]])[
-]b4_push_if([],[[
- yycdebug ("Reading a token: ");
- yychar = yylexer.yylex ();
- yylval = yylexer.getLVal ();]b4_locations_if([
- yylloc = new b4_location_type (yylexer.getStartPos (),
- yylexer.getEndPos ());])[
-]])[
- }
-
- /* Convert token to internal form. */
- if (yychar <= Lexer.EOF)
- {
- yychar = yytoken = Lexer.EOF;
- yycdebug ("Now at end of input.\n");
- }
- else
- {
- yytoken = yytranslate_ (yychar);
- yy_symbol_print ("Next token is", yytoken,
- yylval]b4_locations_if([, yylloc])[);
- }
-
- /* If the proper action on seeing token YYTOKEN is to reduce or to
- detect an error, take that action. */
- yyn += yytoken;
- if (yyn < 0 || yylast_ < yyn || yycheck_[yyn] != yytoken)
- label = YYDEFAULT;
-
- /* <= 0 means reduce or error. */
- else if ((yyn = yytable_[yyn]) <= 0)
- {
- if (yy_table_value_is_error_ (yyn))
- label = YYERRLAB;
- else
- {
- yyn = -yyn;
- label = YYREDUCE;
- }
- }
-
- else
- {
- /* Shift the lookahead token. */
- yy_symbol_print ("Shifting", yytoken,
- yylval]b4_locations_if([, yylloc])[);
-
- /* Discard the token being shifted. */
- yychar = yyempty_;
-
- /* Count tokens shifted since error; after three, turn off error
- status. */
- if (yyerrstatus_ > 0)
- --yyerrstatus_;
-
- yystate = yyn;
- yystack.push (yystate, yylval]b4_locations_if([, yylloc])[);
- label = YYNEWSTATE;
- }
- break;
-
- /*-----------------------------------------------------------.
- | yydefault -- do the default action for the current state. |
- `-----------------------------------------------------------*/
- case YYDEFAULT:
- yyn = yydefact_[yystate];
- if (yyn == 0)
- label = YYERRLAB;
- else
- label = YYREDUCE;
- break;
-
- /*-----------------------------.
- | yyreduce -- Do a reduction. |
- `-----------------------------*/
- case YYREDUCE:
- yylen = yyr2_[yyn];
- label = yyaction (yyn, yystack, yylen);
- yystate = yystack.stateAt (0);
- break;
-
- /*------------------------------------.
- | yyerrlab -- here on detecting error |
- `------------------------------------*/
- case YYERRLAB:
- /* If not already recovering from an error, report this error. */
- if (yyerrstatus_ == 0)
- {
- ++yynerrs_;
- if (yychar == yyempty_)
- yytoken = yyempty_;
- yyerror (]b4_locations_if([yylloc, ])[yysyntax_error (yystate, yytoken));
- }
-
- ]b4_locations_if([yyerrloc = yylloc;])[
- if (yyerrstatus_ == 3)
- {
- /* If just tried and failed to reuse lookahead token after an
- error, discard it. */
-
- if (yychar <= Lexer.EOF)
- {
- /* Return failure if at end of input. */
- if (yychar == Lexer.EOF)
- ]b4_push_if([{label = YYABORT; break;}],[return false;])[
- }
- else
- yychar = yyempty_;
- }
-
- /* Else will try to reuse lookahead token after shifting the error
- token. */
- label = YYERRLAB1;
- break;
-
- /*-------------------------------------------------.
- | errorlab -- error raised explicitly by YYERROR. |
- `-------------------------------------------------*/
- case YYERROR:
-
- ]b4_locations_if([yyerrloc = yystack.locationAt (yylen - 1);])[
- /* Do not reclaim the symbols of the rule which action triggered
- this YYERROR. */
- yystack.pop (yylen);
- yylen = 0;
- yystate = yystack.stateAt (0);
- label = YYERRLAB1;
- break;
-
- /*-------------------------------------------------------------.
- | yyerrlab1 -- common code for both syntax error and YYERROR. |
- `-------------------------------------------------------------*/
- case YYERRLAB1:
- yyerrstatus_ = 3; /* Each real token shifted decrements this. */
-
- for (;;)
- {
- yyn = yypact_[yystate];
- if (!yy_pact_value_is_default_ (yyn))
- {
- yyn += yyterror_;
- if (0 <= yyn && yyn <= yylast_ && yycheck_[yyn] == yyterror_)
- {
- yyn = yytable_[yyn];
- if (0 < yyn)
- break;
- }
- }
-
- /* Pop the current state because it cannot handle the
- * error token. */
- if (yystack.height == 0)
- ]b4_push_if([{label = YYABORT; break;}],[return false;])[
-
- ]b4_locations_if([yyerrloc = yystack.locationAt (0);])[
- yystack.pop ();
- yystate = yystack.stateAt (0);
- if (yydebug > 0)
- yystack.print (yyDebugStream);
- }
-
- if (label == YYABORT)
- /* Leave the switch. */
- break;
-
-]b4_locations_if([
- /* Muck with the stack to setup for yylloc. */
- yystack.push (0, null, yylloc);
- yystack.push (0, null, yyerrloc);
- yyloc = yylloc (yystack, 2);
- yystack.pop (2);])[
-
- /* Shift the error token. */
- yy_symbol_print ("Shifting", yystos_[yyn],
- yylval]b4_locations_if([, yyloc])[);
-
- yystate = yyn;
- yystack.push (yyn, yylval]b4_locations_if([, yyloc])[);
- label = YYNEWSTATE;
- break;
-
- /* Accept. */
- case YYACCEPT:
- ]b4_push_if([this.push_parse_initialized = false; return YYACCEPT;],
- [return true;])[
-
- /* Abort. */
- case YYABORT:
- ]b4_push_if([this.push_parse_initialized = false; return YYABORT;],
- [return false;])[
- }
-}
-]b4_push_if([[
- boolean push_parse_initialized = false;
-
- /**
- * (Re-)Initialize the state of the push parser.
- */
- public void push_parse_initialize()
- {
- /* Lookahead and lookahead in internal form. */
- this.yychar = yyempty_;
- this.yytoken = 0;
-
- /* State. */
- this.yyn = 0;
- this.yylen = 0;
- this.yystate = 0;
- this.yystack = new YYStack ();
- this.label = YYNEWSTATE;
-
- /* Error handling. */
- this.yynerrs_ = 0;
- ]b4_locations_if([/* The location where the error started. */
- this.yyerrloc = null;
- this.yylloc = new b4_location_type (null, null);])[
-
- /* Semantic value of the lookahead. */
- this.yylval = null;
-
- yystack.push (this.yystate, this.yylval]b4_locations_if([, this.yylloc])[);
-
- this.push_parse_initialized = true;
-
- }
-]b4_locations_if([
- /**
- * Push parse given input from an external lexer.
- *
- * @@param yylextoken current token
- * @@param yylexval current lval
- * @@param yyylexpos current position
- *
- * @@return <tt>YYACCEPT, YYABORT, YYPUSH_MORE</tt>
- */
- public int push_parse (int yylextoken, b4_yystype yylexval, b4_position_type yylexpos)
- b4_maybe_throws([b4_list2([b4_lex_throws], [b4_throws])])
- {
- return push_parse (yylextoken, yylexval, new b4_location_type (yylexpos));
- }
-])[]])
-
-b4_both_if([[
- /**
- * Parse input from the scanner that was specified at object construction
- * time. Return whether the end of the input was reached successfully.
- * This version of parse () is defined only when api.push-push=both.
- *
- * @@return <tt>true</tt> if the parsing succeeds. Note that this does not
- * imply that there were no syntax errors.
- */
- public boolean parse () ]b4_maybe_throws([b4_list2([b4_lex_throws], [b4_throws])])[
- {
- if (yylexer == null)
- throw new NullPointerException("Null Lexer");
- int status;
- do {
- int token = yylexer.yylex();
- ]b4_yystype[ lval = yylexer.getLVal();
-]b4_locations_if([dnl
- b4_location_type yyloc = new b4_location_type (yylexer.getStartPos (),
- yylexer.getEndPos ());])[
- ]b4_locations_if([status = push_parse(token,lval,yyloc);],[
- status = push_parse(token,lval);])[
- } while (status == YYPUSH_MORE);
- return (status == YYACCEPT);
- }
-]])[
-
- // Generate an error message.
- private String yysyntax_error (int yystate, int tok)
- {]b4_error_verbose_if([[
- if (yyErrorVerbose)
- {
- /* There are many possibilities here to consider:
- - If this state is a consistent state with a default action,
- then the only way this function was invoked is if the
- default action is an error action. In that case, don't
- check for expected tokens because there are none.
- - The only way there can be no lookahead present (in tok) is
- if this state is a consistent state with a default action.
- Thus, detecting the absence of a lookahead is sufficient to
- determine that there is no unexpected or expected token to
- report. In that case, just report a simple "syntax error".
- - Don't assume there isn't a lookahead just because this
- state is a consistent state with a default action. There
- might have been a previous inconsistent state, consistent
- state with a non-default action, or user semantic action
- that manipulated yychar. (However, yychar is currently out
- of scope during semantic actions.)
- - Of course, the expected token list depends on states to
- have correct lookahead information, and it depends on the
- parser not to perform extra reductions after fetching a
- lookahead from the scanner and before detecting a syntax
- error. Thus, state merging (from LALR or IELR) and default
- reductions corrupt the expected token list. However, the
- list is correct for canonical LR with one exception: it
- will still contain any token that will not be accepted due
- to an error action in a later state.
- */
- if (tok != yyempty_)
- {
- /* FIXME: This method of building the message is not compatible
- with internationalization. */
- StringBuffer res =
- new StringBuffer ("syntax error, unexpected ");
- res.append (yytnamerr_ (yytname_[tok]));
- int yyn = yypact_[yystate];
- if (!yy_pact_value_is_default_ (yyn))
- {
- /* Start YYX at -YYN if negative to avoid negative
- indexes in YYCHECK. In other words, skip the first
- -YYN actions for this state because they are default
- actions. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
- /* Stay within bounds of both yycheck and yytname. */
- int yychecklim = yylast_ - yyn + 1;
- int yyxend = yychecklim < yyntokens_ ? yychecklim : yyntokens_;
- int count = 0;
- for (int x = yyxbegin; x < yyxend; ++x)
- if (yycheck_[x + yyn] == x && x != yyterror_
- && !yy_table_value_is_error_ (yytable_[x + yyn]))
- ++count;
- if (count < 5)
- {
- count = 0;
- for (int x = yyxbegin; x < yyxend; ++x)
- if (yycheck_[x + yyn] == x && x != yyterror_
- && !yy_table_value_is_error_ (yytable_[x + yyn]))
- {
- res.append (count++ == 0 ? ", expecting " : " or ");
- res.append (yytnamerr_ (yytname_[x]));
- }
- }
- }
- return res.toString ();
- }
- }
-]])[
- return "syntax error";
- }
-
- /**
- * Whether the given <code>yypact_</code> value indicates a defaulted state.
- * @@param yyvalue the value to check
- */
- private static boolean yy_pact_value_is_default_ (int yyvalue)
- {
- return yyvalue == yypact_ninf_;
- }
-
- /**
- * Whether the given <code>yytable_</code>
- * value indicates a syntax error.
- * @@param yyvalue the value to check
- */
- private static boolean yy_table_value_is_error_ (int yyvalue)
- {
- return yyvalue == yytable_ninf_;
- }
-
- private static final ]b4_int_type_for([b4_pact])[ yypact_ninf_ = ]b4_pact_ninf[;
- private static final ]b4_int_type_for([b4_table])[ yytable_ninf_ = ]b4_table_ninf[;
-
- ]b4_parser_tables_define[
- ]b4_integral_parser_table_define([token_number], [b4_toknum],
- [[YYTOKEN_NUMBER[YYLEX-NUM] -- Internal symbol number corresponding
- to YYLEX-NUM.]])[
-
- /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- First, the terminals, then, starting at \a yyntokens_, nonterminals. */
- ]b4_typed_parser_table_define([String], [tname], [b4_tname])[
-
- ]b4_integral_parser_table_define([rline], [b4_rline],
- [[YYRLINE[YYN] -- Source line where rule number YYN was defined.]])[
-
-
- // Report on the debug stream that the rule yyrule is going to be reduced.
- private void yy_reduce_print (int yyrule, YYStack yystack)
- {
- if (yydebug == 0)
- return;
-
- int yylno = yyrline_[yyrule];
- int yynrhs = yyr2_[yyrule];
- /* Print the symbols being reduced, and their result. */
- yycdebug ("Reducing stack by rule " + (yyrule - 1)
- + " (line " + yylno + "), ");
-
- /* The symbols being reduced. */
- for (int yyi = 0; yyi < yynrhs; yyi++)
- yy_symbol_print (" $" + (yyi + 1) + " =",
- yystos_[yystack.stateAt(yynrhs - (yyi + 1))],
- ]b4_rhs_value(yynrhs, yyi + 1)b4_locations_if([,
- b4_rhs_location(yynrhs, yyi + 1)])[);
- }
-
- /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
- ]b4_integral_parser_table_define([translate_table], [b4_translate])[
-
- private static final ]b4_int_type_for([b4_translate])[ yytranslate_ (int t)
- {
- if (t >= 0 && t <= yyuser_token_number_max_)
- return yytranslate_table_[t];
- else
- return yyundef_token_;
- }
-
- private static final int yylast_ = ]b4_last[;
- private static final int yynnts_ = ]b4_nterms_number[;
- private static final int yyempty_ = -2;
- private static final int yyfinal_ = ]b4_final_state_number[;
- private static final int yyterror_ = 1;
- private static final int yyerrcode_ = 256;
- private static final int yyntokens_ = ]b4_tokens_number[;
-
- private static final int yyuser_token_number_max_ = ]b4_user_token_number_max[;
- private static final int yyundef_token_ = ]b4_undef_token_number[;
-
-]/* User implementation code. */
-b4_percent_code_get[]dnl
-
-}
-
-b4_epilogue[]dnl
-b4_output_end()
diff --git a/gnuwin32/bin/data/local.mk b/gnuwin32/bin/data/local.mk
deleted file mode 100644
index b8290522..00000000
--- a/gnuwin32/bin/data/local.mk
+++ /dev/null
@@ -1,45 +0,0 @@
-## Copyright (C) 2002, 2005-2013 Free Software Foundation, Inc.
-
-## This program is free software: you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation, either version 3 of the License, or
-## (at your option) any later version.
-##
-## This program is distributed in the hope that it will be useful,
-## but WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-dist_pkgdata_DATA = \
- data/README \
- data/bison.m4 \
- data/c++-skel.m4 \
- data/c++.m4 \
- data/c-like.m4 \
- data/c-skel.m4 \
- data/c.m4 \
- data/glr.c \
- data/glr.cc \
- data/java-skel.m4 \
- data/java.m4 \
- data/lalr1.cc \
- data/lalr1.java \
- data/location.cc \
- data/stack.hh \
- data/variant.hh \
- data/yacc.c
-
-m4sugardir = $(pkgdatadir)/m4sugar
-dist_m4sugar_DATA = \
- data/m4sugar/foreach.m4 \
- data/m4sugar/m4sugar.m4
-
-xsltdir = $(pkgdatadir)/xslt
-dist_xslt_DATA = \
- data/xslt/bison.xsl \
- data/xslt/xml2dot.xsl \
- data/xslt/xml2text.xsl \
- data/xslt/xml2xhtml.xsl
diff --git a/gnuwin32/bin/data/location.cc b/gnuwin32/bin/data/location.cc
deleted file mode 100644
index 9a60f250..00000000
--- a/gnuwin32/bin/data/location.cc
+++ /dev/null
@@ -1,335 +0,0 @@
-# C++ skeleton for Bison
-
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-m4_pushdef([b4_copyright_years],
- [2002-2013])
-
-# b4_position_define
-# ------------------
-# Define class position.
-m4_define([b4_position_define],
-[[ /// Abstract a position.
- class position
- {
- public:]m4_ifdef([b4_location_constructors], [[
- /// Construct a position.
- explicit position (]b4_percent_define_get([[filename_type]])[* f = YY_NULL,
- unsigned int l = ]b4_location_initial_line[u,
- unsigned int c = ]b4_location_initial_column[u)
- : filename (f)
- , line (l)
- , column (c)
- {
- }
-
-]])[
- /// Initialization.
- void initialize (]b4_percent_define_get([[filename_type]])[* fn = YY_NULL,
- unsigned int l = ]b4_location_initial_line[u,
- unsigned int c = ]b4_location_initial_column[u)
- {
- filename = fn;
- line = l;
- column = c;
- }
-
- /** \name Line and Column related manipulators
- ** \{ */
- /// (line related) Advance to the COUNT next lines.
- void lines (int count = 1)
- {
- if (count)
- {
- column = ]b4_location_initial_column[u;
- line = add_ (line, count, ]b4_location_initial_line[);
- }
- }
-
- /// (column related) Advance to the COUNT next columns.
- void columns (int count = 1)
- {
- column = add_ (column, count, ]b4_location_initial_column[);
- }
- /** \} */
-
- /// File name to which this position refers.
- ]b4_percent_define_get([[filename_type]])[* filename;
- /// Current line number.
- unsigned int line;
- /// Current column number.
- unsigned int column;
-
- private:
- /// Compute max(min, lhs+rhs) (provided min <= lhs).
- static unsigned int add_ (unsigned int lhs, int rhs, unsigned int min)
- {
- return (0 < rhs || -static_cast<unsigned int>(rhs) < lhs
- ? rhs + lhs
- : min);
- }
- };
-
- /// Add and assign a position.
- inline position&
- operator+= (position& res, int width)
- {
- res.columns (width);
- return res;
- }
-
- /// Add two position objects.
- inline position
- operator+ (position res, int width)
- {
- return res += width;
- }
-
- /// Add and assign a position.
- inline position&
- operator-= (position& res, int width)
- {
- return res += -width;
- }
-
- /// Add two position objects.
- inline position
- operator- (position res, int width)
- {
- return res -= width;
- }
-]b4_percent_define_flag_if([[define_location_comparison]], [[
- /// Compare two position objects.
- inline bool
- operator== (const position& pos1, const position& pos2)
- {
- return (pos1.line == pos2.line
- && pos1.column == pos2.column
- && (pos1.filename == pos2.filename
- || (pos1.filename && pos2.filename
- && *pos1.filename == *pos2.filename)));
- }
-
- /// Compare two position objects.
- inline bool
- operator!= (const position& pos1, const position& pos2)
- {
- return !(pos1 == pos2);
- }
-]])[
- /** \brief Intercept output stream redirection.
- ** \param ostr the destination output stream
- ** \param pos a reference to the position to redirect
- */
- template <typename YYChar>
- inline std::basic_ostream<YYChar>&
- operator<< (std::basic_ostream<YYChar>& ostr, const position& pos)
- {
- if (pos.filename)
- ostr << *pos.filename << ':';
- return ostr << pos.line << '.' << pos.column;
- }
-]])
-
-
-# b4_location_define
-# ------------------
-m4_define([b4_location_define],
-[[ /// Abstract a location.
- class location
- {
- public:
-]m4_ifdef([b4_location_constructors], [
- /// Construct a location from \a b to \a e.
- location (const position& b, const position& e)
- : begin (b)
- , end (e)
- {
- }
-
- /// Construct a 0-width location in \a p.
- explicit location (const position& p = position ())
- : begin (p)
- , end (p)
- {
- }
-
- /// Construct a 0-width location in \a f, \a l, \a c.
- explicit location (]b4_percent_define_get([[filename_type]])[* f,
- unsigned int l = ]b4_location_initial_line[u,
- unsigned int c = ]b4_location_initial_column[u)
- : begin (f, l, c)
- , end (f, l, c)
- {
- }
-
-])[
- /// Initialization.
- void initialize (]b4_percent_define_get([[filename_type]])[* f = YY_NULL,
- unsigned int l = ]b4_location_initial_line[u,
- unsigned int c = ]b4_location_initial_column[u)
- {
- begin.initialize (f, l, c);
- end = begin;
- }
-
- /** \name Line and Column related manipulators
- ** \{ */
- public:
- /// Reset initial location to final location.
- void step ()
- {
- begin = end;
- }
-
- /// Extend the current location to the COUNT next columns.
- void columns (int count = 1)
- {
- end += count;
- }
-
- /// Extend the current location to the COUNT next lines.
- void lines (int count = 1)
- {
- end.lines (count);
- }
- /** \} */
-
-
- public:
- /// Beginning of the located region.
- position begin;
- /// End of the located region.
- position end;
- };
-
- /// Join two location objects to create a location.
- inline location operator+ (location res, const location& end)
- {
- res.end = end.end;
- return res;
- }
-
- /// Change end position in place.
- inline location& operator+= (location& res, int width)
- {
- res.columns (width);
- return res;
- }
-
- /// Change end position.
- inline location operator+ (location res, int width)
- {
- return res += width;
- }
-
- /// Change end position in place.
- inline location& operator-= (location& res, int width)
- {
- return res += -width;
- }
-
- /// Change end position.
- inline location operator- (const location& begin, int width)
- {
- return begin + -width;
- }
-]b4_percent_define_flag_if([[define_location_comparison]], [[
- /// Compare two location objects.
- inline bool
- operator== (const location& loc1, const location& loc2)
- {
- return loc1.begin == loc2.begin && loc1.end == loc2.end;
- }
-
- /// Compare two location objects.
- inline bool
- operator!= (const location& loc1, const location& loc2)
- {
- return !(loc1 == loc2);
- }
-]])[
- /** \brief Intercept output stream redirection.
- ** \param ostr the destination output stream
- ** \param loc a reference to the location to redirect
- **
- ** Avoid duplicate information.
- */
- template <typename YYChar>
- inline std::basic_ostream<YYChar>&
- operator<< (std::basic_ostream<YYChar>& ostr, const location& loc)
- {
- unsigned int end_col = 0 < loc.end.column ? loc.end.column - 1 : 0;
- ostr << loc.begin// << "(" << loc.end << ") "
-;
- if (loc.end.filename
- && (!loc.begin.filename
- || *loc.begin.filename != *loc.end.filename))
- ostr << '-' << loc.end.filename << ':' << loc.end.line << '.' << end_col;
- else if (loc.begin.line < loc.end.line)
- ostr << '-' << loc.end.line << '.' << end_col;
- else if (loc.begin.column < end_col)
- ostr << '-' << end_col;
- return ostr;
- }
-]])
-
-
-b4_defines_if([
-b4_output_begin([b4_dir_prefix[]position.hh])
-b4_copyright([Positions for Bison parsers in C++])[
-
-/**
- ** \file ]b4_dir_prefix[position.hh
- ** Define the ]b4_namespace_ref[::position class.
- */
-
-]b4_cpp_guard_open([b4_dir_prefix[]position.hh])[
-
-# include <algorithm> // std::max
-# include <iostream>
-# include <string>
-
-]b4_null_define[
-
-]b4_namespace_open[
-]b4_position_define[
-]b4_namespace_close[
-]b4_cpp_guard_close([b4_dir_prefix[]position.hh])
-b4_output_end()
-
-
-b4_output_begin([b4_dir_prefix[]location.hh])
-b4_copyright([Locations for Bison parsers in C++])[
-
-/**
- ** \file ]b4_dir_prefix[location.hh
- ** Define the ]b4_namespace_ref[::location class.
- */
-
-]b4_cpp_guard_open([b4_dir_prefix[]location.hh])[
-
-# include "position.hh"
-
-]b4_namespace_open[
-]b4_location_define[
-]b4_namespace_close[
-]b4_cpp_guard_close([b4_dir_prefix[]location.hh])
-b4_output_end()
-])
-
-
-m4_popdef([b4_copyright_years])
diff --git a/gnuwin32/bin/data/m4sugar/foreach.m4 b/gnuwin32/bin/data/m4sugar/foreach.m4
deleted file mode 100644
index f6a63944..00000000
--- a/gnuwin32/bin/data/m4sugar/foreach.m4
+++ /dev/null
@@ -1,362 +0,0 @@
-# -*- Autoconf -*-
-# This file is part of Autoconf.
-# foreach-based replacements for recursive functions.
-# Speeds up GNU M4 1.4.x by avoiding quadratic $@ recursion, but penalizes
-# GNU M4 1.6 by requiring more memory and macro expansions.
-#
-# Copyright (C) 2008-2013 Free Software Foundation, Inc.
-
-# This file is part of Autoconf. This program is free
-# software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the
-# Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# Under Section 7 of GPL version 3, you are granted additional
-# permissions described in the Autoconf Configure Script Exception,
-# version 3.0, as published by the Free Software Foundation.
-#
-# You should have received a copy of the GNU General Public License
-# and a copy of the Autoconf Configure Script Exception along with
-# this program; see the files COPYINGv3 and COPYING.EXCEPTION
-# respectively. If not, see <http://www.gnu.org/licenses/>.
-
-# Written by Eric Blake.
-
-# In M4 1.4.x, every byte of $@ is rescanned. This means that an
-# algorithm on n arguments that recurses with one less argument each
-# iteration will scan n * (n + 1) / 2 arguments, for O(n^2) time. In
-# M4 1.6, this was fixed so that $@ is only scanned once, then
-# back-references are made to information stored about the scan.
-# Thus, n iterations need only scan n arguments, for O(n) time.
-# Additionally, in M4 1.4.x, recursive algorithms did not clean up
-# memory very well, requiring O(n^2) memory rather than O(n) for n
-# iterations.
-#
-# This file is designed to overcome the quadratic nature of $@
-# recursion by writing a variant of m4_foreach that uses m4_for rather
-# than $@ recursion to operate on the list. This involves more macro
-# expansions, but avoids the need to rescan a quadratic number of
-# arguments, making these replacements very attractive for M4 1.4.x.
-# On the other hand, in any version of M4, expanding additional macros
-# costs additional time; therefore, in M4 1.6, where $@ recursion uses
-# fewer macros, these replacements actually pessimize performance.
-# Additionally, the use of $10 to mean the tenth argument violates
-# POSIX; although all versions of m4 1.4.x support this meaning, a
-# future m4 version may switch to take it as the first argument
-# concatenated with a literal 0, so the implementations in this file
-# are not future-proof. Thus, this file is conditionally included as
-# part of m4_init(), only when it is detected that M4 probably has
-# quadratic behavior (ie. it lacks the macro __m4_version__).
-#
-# Please keep this file in sync with m4sugar.m4.
-
-# _m4_foreach(PRE, POST, IGNORED, ARG...)
-# ---------------------------------------
-# Form the common basis of the m4_foreach and m4_map macros. For each
-# ARG, expand PRE[ARG]POST[]. The IGNORED argument makes recursion
-# easier, and must be supplied rather than implicit.
-#
-# This version minimizes the number of times that $@ is evaluated by
-# using m4_for to generate a boilerplate into _m4_f then passing $@ to
-# that temporary macro. Thus, the recursion is done in m4_for without
-# reparsing any user input, and is not quadratic. For an idea of how
-# this works, note that m4_foreach(i,[1,2],[i]) calls
-# _m4_foreach([m4_define([i],],[)i],[],[1],[2])
-# which defines _m4_f:
-# $1[$4]$2[]$1[$5]$2[]_m4_popdef([_m4_f])
-# then calls _m4_f([m4_define([i],],[)i],[],[1],[2]) for a net result:
-# m4_define([i],[1])i[]m4_define([i],[2])i[]_m4_popdef([_m4_f]).
-m4_define([_m4_foreach],
-[m4_if([$#], [3], [],
- [m4_pushdef([_m4_f], _m4_for([4], [$#], [1],
- [$0_([1], [2],], [)])[_m4_popdef([_m4_f])])_m4_f($@)])])
-
-m4_define([_m4_foreach_],
-[[$$1[$$3]$$2[]]])
-
-# m4_case(SWITCH, VAL1, IF-VAL1, VAL2, IF-VAL2, ..., DEFAULT)
-# -----------------------------------------------------------
-# Find the first VAL that SWITCH matches, and expand the corresponding
-# IF-VAL. If there are no matches, expand DEFAULT.
-#
-# Use m4_for to create a temporary macro in terms of a boilerplate
-# m4_if with final cleanup. If $# is even, we have DEFAULT; if it is
-# odd, then rounding the last $# up in the temporary macro is
-# harmless. For example, both m4_case(1,2,3,4,5) and
-# m4_case(1,2,3,4,5,6) result in the intermediate _m4_case being
-# m4_if([$1],[$2],[$3],[$1],[$4],[$5],_m4_popdef([_m4_case])[$6])
-m4_define([m4_case],
-[m4_if(m4_eval([$# <= 2]), [1], [$2],
-[m4_pushdef([_$0], [m4_if(]_m4_for([2], m4_eval([($# - 1) / 2 * 2]), [2],
- [_$0_(], [)])[_m4_popdef(
- [_$0])]m4_dquote($m4_eval([($# + 1) & ~1]))[)])_$0($@)])])
-
-m4_define([_m4_case_],
-[$0_([1], [$1], m4_incr([$1]))])
-
-m4_define([_m4_case__],
-[[[$$1],[$$2],[$$3],]])
-
-# m4_bmatch(SWITCH, RE1, VAL1, RE2, VAL2, ..., DEFAULT)
-# -----------------------------------------------------
-# m4 equivalent of
-#
-# if (SWITCH =~ RE1)
-# VAL1;
-# elif (SWITCH =~ RE2)
-# VAL2;
-# elif ...
-# ...
-# else
-# DEFAULT
-#
-# We build the temporary macro _m4_b:
-# m4_define([_m4_b], _m4_defn([_m4_bmatch]))_m4_b([$1], [$2], [$3])...
-# _m4_b([$1], [$m-1], [$m])_m4_b([], [], [$m+1]_m4_popdef([_m4_b]))
-# then invoke m4_unquote(_m4_b($@)), for concatenation with later text.
-m4_define([m4_bmatch],
-[m4_if([$#], 0, [m4_fatal([$0: too few arguments: $#])],
- [$#], 1, [m4_fatal([$0: too few arguments: $#: $1])],
- [$#], 2, [$2],
- [m4_pushdef([_m4_b], [m4_define([_m4_b],
- _m4_defn([_$0]))]_m4_for([3], m4_eval([($# + 1) / 2 * 2 - 1]),
- [2], [_$0_(], [)])[_m4_b([], [],]m4_dquote([$]m4_eval(
- [($# + 1) / 2 * 2]))[_m4_popdef([_m4_b]))])m4_unquote(_m4_b($@))])])
-
-m4_define([_m4_bmatch],
-[m4_if(m4_bregexp([$1], [$2]), [-1], [], [[$3]m4_define([$0])])])
-
-m4_define([_m4_bmatch_],
-[$0_([1], m4_decr([$1]), [$1])])
-
-m4_define([_m4_bmatch__],
-[[_m4_b([$$1], [$$2], [$$3])]])
-
-
-# m4_cond(TEST1, VAL1, IF-VAL1, TEST2, VAL2, IF-VAL2, ..., [DEFAULT])
-# -------------------------------------------------------------------
-# Similar to m4_if, except that each TEST is expanded when encountered.
-# If the expansion of TESTn matches the string VALn, the result is IF-VALn.
-# The result is DEFAULT if no tests passed. This macro allows
-# short-circuiting of expensive tests, where it pays to arrange quick
-# filter tests to run first.
-#
-# m4_cond already guarantees either 3*n or 3*n + 1 arguments, 1 <= n.
-# We only have to speed up _m4_cond, by building the temporary _m4_c:
-# m4_define([_m4_c], _m4_defn([m4_unquote]))_m4_c([m4_if(($1), [($2)],
-# [[$3]m4_define([_m4_c])])])_m4_c([m4_if(($4), [($5)],
-# [[$6]m4_define([_m4_c])])])..._m4_c([m4_if(($m-2), [($m-1)],
-# [[$m]m4_define([_m4_c])])])_m4_c([[$m+1]]_m4_popdef([_m4_c]))
-# We invoke m4_unquote(_m4_c($@)), for concatenation with later text.
-m4_define([_m4_cond],
-[m4_pushdef([_m4_c], [m4_define([_m4_c],
- _m4_defn([m4_unquote]))]_m4_for([2], m4_eval([$# / 3 * 3 - 1]), [3],
- [$0_(], [)])[_m4_c(]m4_dquote(m4_dquote(
- [$]m4_eval([$# / 3 * 3 + 1])))[_m4_popdef([_m4_c]))])m4_unquote(_m4_c($@))])
-
-m4_define([_m4_cond_],
-[$0_(m4_decr([$1]), [$1], m4_incr([$1]))])
-
-m4_define([_m4_cond__],
-[[_m4_c([m4_if(($$1), [($$2)], [[$$3]m4_define([_m4_c])])])]])
-
-# m4_bpatsubsts(STRING, RE1, SUBST1, RE2, SUBST2, ...)
-# ----------------------------------------------------
-# m4 equivalent of
-#
-# $_ = STRING;
-# s/RE1/SUBST1/g;
-# s/RE2/SUBST2/g;
-# ...
-#
-# m4_bpatsubsts already validated an odd number of arguments; we only
-# need to speed up _m4_bpatsubsts. To avoid nesting, we build the
-# temporary _m4_p:
-# m4_define([_m4_p], [$1])m4_define([_m4_p],
-# m4_bpatsubst(m4_dquote(_m4_defn([_m4_p])), [$2], [$3]))m4_define([_m4_p],
-# m4_bpatsubst(m4_dquote(_m4_defn([_m4_p])), [$4], [$5]))m4_define([_m4_p],...
-# m4_bpatsubst(m4_dquote(_m4_defn([_m4_p])), [$m-1], [$m]))m4_unquote(
-# _m4_defn([_m4_p])_m4_popdef([_m4_p]))
-m4_define([_m4_bpatsubsts],
-[m4_pushdef([_m4_p], [m4_define([_m4_p],
- ]m4_dquote([$]1)[)]_m4_for([3], [$#], [2], [$0_(],
- [)])[m4_unquote(_m4_defn([_m4_p])_m4_popdef([_m4_p]))])_m4_p($@)])
-
-m4_define([_m4_bpatsubsts_],
-[$0_(m4_decr([$1]), [$1])])
-
-m4_define([_m4_bpatsubsts__],
-[[m4_define([_m4_p],
-m4_bpatsubst(m4_dquote(_m4_defn([_m4_p])), [$$1], [$$2]))]])
-
-# m4_shiftn(N, ...)
-# -----------------
-# Returns ... shifted N times. Useful for recursive "varargs" constructs.
-#
-# m4_shiftn already validated arguments; we only need to speed up
-# _m4_shiftn. If N is 3, then we build the temporary _m4_s, defined as
-# ,[$5],[$6],...,[$m]_m4_popdef([_m4_s])
-# before calling m4_shift(_m4_s($@)).
-m4_define([_m4_shiftn],
-[m4_if(m4_incr([$1]), [$#], [], [m4_pushdef([_m4_s],
- _m4_for(m4_eval([$1 + 2]), [$#], [1],
- [[,]m4_dquote($], [)])[_m4_popdef([_m4_s])])m4_shift(_m4_s($@))])])
-
-# m4_do(STRING, ...)
-# ------------------
-# This macro invokes all its arguments (in sequence, of course). It is
-# useful for making your macros more structured and readable by dropping
-# unnecessary dnl's and have the macros indented properly.
-#
-# Here, we use the temporary macro _m4_do, defined as
-# $1[]$2[]...[]$n[]_m4_popdef([_m4_do])
-m4_define([m4_do],
-[m4_if([$#], [0], [],
- [m4_pushdef([_$0], _m4_for([1], [$#], [1],
- [$], [[[]]])[_m4_popdef([_$0])])_$0($@)])])
-
-# m4_dquote_elt(ARGS)
-# -------------------
-# Return ARGS as an unquoted list of double-quoted arguments.
-#
-# _m4_foreach to the rescue.
-m4_define([m4_dquote_elt],
-[m4_if([$#], [0], [], [[[$1]]_m4_foreach([,m4_dquote(], [)], $@)])])
-
-# m4_reverse(ARGS)
-# ----------------
-# Output ARGS in reverse order.
-#
-# Invoke _m4_r($@) with the temporary _m4_r built as
-# [$m], [$m-1], ..., [$2], [$1]_m4_popdef([_m4_r])
-m4_define([m4_reverse],
-[m4_if([$#], [0], [], [$#], [1], [[$1]],
-[m4_pushdef([_m4_r], [[$$#]]_m4_for(m4_decr([$#]), [1], [-1],
- [[, ]m4_dquote($], [)])[_m4_popdef([_m4_r])])_m4_r($@)])])
-
-
-# m4_map_args_pair(EXPRESSION, [END-EXPR = EXPRESSION], ARG...)
-# -------------------------------------------------------------
-# Perform a pairwise grouping of consecutive ARGs, by expanding
-# EXPRESSION([ARG1], [ARG2]). If there are an odd number of ARGs, the
-# final argument is expanded with END-EXPR([ARGn]).
-#
-# Build the temporary macro _m4_map_args_pair, with the $2([$m+1])
-# only output if $# is odd:
-# $1([$3], [$4])[]$1([$5], [$6])[]...$1([$m-1],
-# [$m])[]m4_default([$2], [$1])([$m+1])[]_m4_popdef([_m4_map_args_pair])
-m4_define([m4_map_args_pair],
-[m4_if([$#], [0], [m4_fatal([$0: too few arguments: $#])],
- [$#], [1], [m4_fatal([$0: too few arguments: $#: $1])],
- [$#], [2], [],
- [$#], [3], [m4_default([$2], [$1])([$3])[]],
- [m4_pushdef([_$0], _m4_for([3],
- m4_eval([$# / 2 * 2 - 1]), [2], [_$0_(], [)])_$0_end(
- [1], [2], [$#])[_m4_popdef([_$0])])_$0($@)])])
-
-m4_define([_m4_map_args_pair_],
-[$0_([1], [$1], m4_incr([$1]))])
-
-m4_define([_m4_map_args_pair__],
-[[$$1([$$2], [$$3])[]]])
-
-m4_define([_m4_map_args_pair_end],
-[m4_if(m4_eval([$3 & 1]), [1], [[m4_default([$$2], [$$1])([$$3])[]]])])
-
-# m4_join(SEP, ARG1, ARG2...)
-# ---------------------------
-# Produce ARG1SEPARG2...SEPARGn. Avoid back-to-back SEP when a given ARG
-# is the empty string. No expansion is performed on SEP or ARGs.
-#
-# Use a self-modifying separator, since we don't know how many
-# arguments might be skipped before a separator is first printed, but
-# be careful if the separator contains $. _m4_foreach to the rescue.
-m4_define([m4_join],
-[m4_pushdef([_m4_sep], [m4_define([_m4_sep], _m4_defn([m4_echo]))])]dnl
-[_m4_foreach([_$0([$1],], [)], $@)_m4_popdef([_m4_sep])])
-
-m4_define([_m4_join],
-[m4_if([$2], [], [], [_m4_sep([$1])[$2]])])
-
-# m4_joinall(SEP, ARG1, ARG2...)
-# ------------------------------
-# Produce ARG1SEPARG2...SEPARGn. An empty ARG results in back-to-back SEP.
-# No expansion is performed on SEP or ARGs.
-#
-# A bit easier than m4_join. _m4_foreach to the rescue.
-m4_define([m4_joinall],
-[[$2]m4_if(m4_eval([$# <= 2]), [1], [],
- [_m4_foreach([$1], [], m4_shift($@))])])
-
-# m4_list_cmp(A, B)
-# -----------------
-# Compare the two lists of integer expressions A and B.
-#
-# m4_list_cmp takes care of any side effects; we only override
-# _m4_list_cmp_raw, where we can safely expand lists multiple times.
-# First, insert padding so that both lists are the same length; the
-# trailing +0 is necessary to handle a missing list. Next, create a
-# temporary macro to perform pairwise comparisons until an inequality
-# is found. For example, m4_list_cmp([1], [1,2]) creates _m4_cmp as
-# m4_if(m4_eval([($1) != ($3)]), [1], [m4_cmp([$1], [$3])],
-# m4_eval([($2) != ($4)]), [1], [m4_cmp([$2], [$4])],
-# [0]_m4_popdef([_m4_cmp]))
-# then calls _m4_cmp([1+0], [0*2], [1], [2+0])
-m4_define([_m4_list_cmp_raw],
-[m4_if([$1], [$2], 0,
- [_m4_list_cmp($1+0_m4_list_pad(m4_count($1), m4_count($2)),
- $2+0_m4_list_pad(m4_count($2), m4_count($1)))])])
-
-m4_define([_m4_list_pad],
-[m4_if(m4_eval($1 < $2), [1],
- [_m4_for(m4_incr([$1]), [$2], [1], [,0*])])])
-
-m4_define([_m4_list_cmp],
-[m4_pushdef([_m4_cmp], [m4_if(]_m4_for(
- [1], m4_eval([$# >> 1]), [1], [$0_(], [,]m4_eval([$# >> 1])[)])[
- [0]_m4_popdef([_m4_cmp]))])_m4_cmp($@)])
-
-m4_define([_m4_list_cmp_],
-[$0_([$1], m4_eval([$1 + $2]))])
-
-m4_define([_m4_list_cmp__],
-[[m4_eval([($$1) != ($$2)]), [1], [m4_cmp([$$1], [$$2])],
-]])
-
-# m4_max(EXPR, ...)
-# m4_min(EXPR, ...)
-# -----------------
-# Return the decimal value of the maximum (or minimum) in a series of
-# integer expressions.
-#
-# _m4_foreach to the rescue; we only need to replace _m4_minmax. Here,
-# we need a temporary macro to track the best answer so far, so that
-# the foreach expression is tractable.
-m4_define([_m4_minmax],
-[m4_pushdef([_m4_best], m4_eval([$2]))_m4_foreach(
- [m4_define([_m4_best], $1(_m4_best,], [))], m4_shift($@))]dnl
-[_m4_best[]_m4_popdef([_m4_best])])
-
-# m4_set_add_all(SET, VALUE...)
-# -----------------------------
-# Add each VALUE into SET. This is O(n) in the number of VALUEs, and
-# can be faster than calling m4_set_add for each VALUE.
-#
-# _m4_foreach to the rescue. If no deletions have occurred, then
-# avoid the speed penalty of m4_set_add.
-m4_define([m4_set_add_all],
-[m4_if([$#], [0], [], [$#], [1], [],
- [m4_define([_m4_set_size($1)], m4_eval(m4_set_size([$1])
- + m4_len(_m4_foreach(m4_ifdef([_m4_set_cleanup($1)],
- [[m4_set_add]], [[_$0]])[([$1],], [)], $@))))])])
-
-m4_define([_m4_set_add_all],
-[m4_ifdef([_m4_set([$1],$2)], [],
- [m4_define([_m4_set([$1],$2)],
- [1])m4_pushdef([_m4_set([$1])], [$2])-])])
diff --git a/gnuwin32/bin/data/m4sugar/m4sugar.m4 b/gnuwin32/bin/data/m4sugar/m4sugar.m4
deleted file mode 100644
index b732abc7..00000000
--- a/gnuwin32/bin/data/m4sugar/m4sugar.m4
+++ /dev/null
@@ -1,3307 +0,0 @@
-divert(-1)# -*- Autoconf -*-
-# This file is part of Autoconf.
-# Base M4 layer.
-# Requires GNU M4.
-#
-# Copyright (C) 1999-2013 Free Software Foundation, Inc.
-
-# This file is part of Autoconf. This program is free
-# software; you can redistribute it and/or modify it under the
-# terms of the GNU General Public License as published by the
-# Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# Under Section 7 of GPL version 3, you are granted additional
-# permissions described in the Autoconf Configure Script Exception,
-# version 3.0, as published by the Free Software Foundation.
-#
-# You should have received a copy of the GNU General Public License
-# and a copy of the Autoconf Configure Script Exception along with
-# this program; see the files COPYINGv3 and COPYING.EXCEPTION
-# respectively. If not, see <http://www.gnu.org/licenses/>.
-
-# Written by Akim Demaille.
-
-# Set the quotes, whatever the current quoting system.
-changequote()
-changequote([, ])
-
-# Some old m4's don't support m4exit. But they provide
-# equivalent functionality by core dumping because of the
-# long macros we define.
-ifdef([__gnu__], ,
-[errprint(M4sugar requires GNU M4. Install it before installing M4sugar or
-set the M4 environment variable to its absolute file name.)
-m4exit(2)])
-
-
-## ------------------------------- ##
-## 1. Simulate --prefix-builtins. ##
-## ------------------------------- ##
-
-# m4_define
-# m4_defn
-# m4_undefine
-define([m4_define], defn([define]))
-define([m4_defn], defn([defn]))
-define([m4_undefine], defn([undefine]))
-
-m4_undefine([define])
-m4_undefine([defn])
-m4_undefine([undefine])
-
-
-# m4_copy(SRC, DST)
-# -----------------
-# Define DST as the definition of SRC.
-# What's the difference between:
-# 1. m4_copy([from], [to])
-# 2. m4_define([to], [from($@)])
-# Well, obviously 1 is more expensive in space. Maybe 2 is more expensive
-# in time, but because of the space cost of 1, it's not that obvious.
-# Nevertheless, one huge difference is the handling of `$0'. If `from'
-# uses `$0', then with 1, `to''s `$0' is `to', while it is `from' in 2.
-# The user would certainly prefer to see `to'.
-#
-# This definition is in effect during m4sugar initialization, when
-# there are no pushdef stacks; later on, we redefine it to something
-# more powerful for all other clients to use.
-m4_define([m4_copy],
-[m4_define([$2], m4_defn([$1]))])
-
-
-# m4_rename(SRC, DST)
-# -------------------
-# Rename the macro SRC to DST.
-m4_define([m4_rename],
-[m4_copy([$1], [$2])m4_undefine([$1])])
-
-
-# m4_rename_m4(MACRO-NAME)
-# ------------------------
-# Rename MACRO-NAME to m4_MACRO-NAME.
-m4_define([m4_rename_m4],
-[m4_rename([$1], [m4_$1])])
-
-
-# m4_copy_unm4(m4_MACRO-NAME)
-# ---------------------------
-# Copy m4_MACRO-NAME to MACRO-NAME.
-m4_define([m4_copy_unm4],
-[m4_copy([$1], m4_bpatsubst([$1], [^m4_\(.*\)], [[\1]]))])
-
-
-# Some m4 internals have names colliding with tokens we might use.
-# Rename them a` la `m4 --prefix-builtins'. Conditionals first, since
-# some subsequent renames are conditional.
-m4_rename_m4([ifdef])
-m4_rename([ifelse], [m4_if])
-
-m4_rename_m4([builtin])
-m4_rename_m4([changecom])
-m4_rename_m4([changequote])
-m4_ifdef([changeword],dnl conditionally available in 1.4.x
-[m4_undefine([changeword])])
-m4_rename_m4([debugfile])
-m4_rename_m4([debugmode])
-m4_rename_m4([decr])
-m4_rename_m4([divnum])
-m4_rename_m4([dumpdef])
-m4_rename_m4([errprint])
-m4_rename_m4([esyscmd])
-m4_rename_m4([eval])
-m4_rename_m4([format])
-m4_undefine([include])
-m4_rename_m4([incr])
-m4_rename_m4([index])
-m4_rename_m4([indir])
-m4_rename_m4([len])
-m4_rename([m4exit], [m4_exit])
-m4_undefine([m4wrap])
-m4_ifdef([mkstemp],dnl added in M4 1.4.8
-[m4_rename_m4([mkstemp])
-m4_copy([m4_mkstemp], [m4_maketemp])
-m4_undefine([maketemp])],
-[m4_rename_m4([maketemp])
-m4_copy([m4_maketemp], [m4_mkstemp])])
-m4_rename([patsubst], [m4_bpatsubst])
-m4_rename_m4([popdef])
-m4_rename_m4([pushdef])
-m4_rename([regexp], [m4_bregexp])
-m4_rename_m4([shift])
-m4_undefine([sinclude])
-m4_rename_m4([substr])
-m4_ifdef([symbols],dnl present only in alpha-quality 1.4o
-[m4_rename_m4([symbols])])
-m4_rename_m4([syscmd])
-m4_rename_m4([sysval])
-m4_rename_m4([traceoff])
-m4_rename_m4([traceon])
-m4_rename_m4([translit])
-
-# _m4_defn(ARG)
-# -------------
-# _m4_defn is for internal use only - it bypasses the wrapper, so it
-# must only be used on one argument at a time, and only on macros
-# known to be defined. Make sure this still works if the user renames
-# m4_defn but not _m4_defn.
-m4_copy([m4_defn], [_m4_defn])
-
-# _m4_divert_raw(NUM)
-# -------------------
-# _m4_divert_raw is for internal use only. Use this instead of
-# m4_builtin([divert], NUM), so that tracing diversion flow is easier.
-m4_rename([divert], [_m4_divert_raw])
-
-# _m4_popdef(ARG...)
-# ------------------
-# _m4_popdef is for internal use only - it bypasses the wrapper, so it
-# must only be used on macros known to be defined. Make sure this
-# still works if the user renames m4_popdef but not _m4_popdef.
-m4_copy([m4_popdef], [_m4_popdef])
-
-# _m4_undefine(ARG...)
-# --------------------
-# _m4_undefine is for internal use only - it bypasses the wrapper, so
-# it must only be used on macros known to be defined. Make sure this
-# still works if the user renames m4_undefine but not _m4_undefine.
-m4_copy([m4_undefine], [_m4_undefine])
-
-# _m4_undivert(NUM...)
-# --------------------
-# _m4_undivert is for internal use only, and should always be given
-# arguments. Use this instead of m4_builtin([undivert], NUM...), so
-# that tracing diversion flow is easier.
-m4_rename([undivert], [_m4_undivert])
-
-
-## ------------------- ##
-## 2. Error messages. ##
-## ------------------- ##
-
-
-# m4_location
-# -----------
-# Output the current file, colon, and the current line number.
-m4_define([m4_location],
-[__file__:__line__])
-
-
-# m4_errprintn(MSG)
-# -----------------
-# Same as `errprint', but with the missing end of line.
-m4_define([m4_errprintn],
-[m4_errprint([$1
-])])
-
-
-# m4_warning(MSG)
-# ---------------
-# Warn the user.
-m4_define([m4_warning],
-[m4_errprintn(m4_location[: warning: $1])])
-
-
-# m4_fatal(MSG, [EXIT-STATUS])
-# ----------------------------
-# Fatal the user. :)
-m4_define([m4_fatal],
-[m4_errprintn(m4_location[: error: $1]
-m4_expansion_stack)m4_exit(m4_if([$2],, 1, [$2]))])
-
-
-# m4_assert(EXPRESSION, [EXIT-STATUS = 1])
-# ----------------------------------------
-# This macro ensures that EXPRESSION evaluates to true, and exits if
-# EXPRESSION evaluates to false.
-m4_define([m4_assert],
-[m4_if(m4_eval([$1]), 0,
- [m4_fatal([assert failed: $1], [$2])])])
-
-
-
-## ------------- ##
-## 3. Warnings. ##
-## ------------- ##
-
-
-# _m4_warn(CATEGORY, MESSAGE, [STACK-TRACE])
-# ------------------------------------------
-# Report a MESSAGE to the user if the CATEGORY of warnings is enabled.
-# This is for traces only.
-# If present, STACK-TRACE is a \n-separated list of "LOCATION: MESSAGE",
-# where the last line (and no other) ends with "the top level".
-#
-# Within m4, the macro is a no-op. This macro really matters
-# when autom4te post-processes the trace output.
-m4_define([_m4_warn], [])
-
-
-# m4_warn(CATEGORY, MESSAGE)
-# --------------------------
-# Report a MESSAGE to the user if the CATEGORY of warnings is enabled.
-m4_define([m4_warn],
-[_m4_warn([$1], [$2],
-m4_ifdef([_m4_expansion_stack], [m4_expansion_stack]))])
-
-
-
-## ------------------- ##
-## 4. File inclusion. ##
-## ------------------- ##
-
-
-# We also want to neutralize include (and sinclude for symmetry),
-# but we want to extend them slightly: warn when a file is included
-# several times. This is, in general, a dangerous operation, because
-# too many people forget to quote the first argument of m4_define.
-#
-# For instance in the following case:
-# m4_define(foo, [bar])
-# then a second reading will turn into
-# m4_define(bar, [bar])
-# which is certainly not what was meant.
-
-# m4_include_unique(FILE)
-# -----------------------
-# Declare that the FILE was loading; and warn if it has already
-# been included.
-m4_define([m4_include_unique],
-[m4_ifdef([m4_include($1)],
- [m4_warn([syntax], [file `$1' included several times])])dnl
-m4_define([m4_include($1)])])
-
-
-# m4_include(FILE)
-# ----------------
-# Like the builtin include, but warns against multiple inclusions.
-m4_define([m4_include],
-[m4_include_unique([$1])dnl
-m4_builtin([include], [$1])])
-
-
-# m4_sinclude(FILE)
-# -----------------
-# Like the builtin sinclude, but warns against multiple inclusions.
-m4_define([m4_sinclude],
-[m4_include_unique([$1])dnl
-m4_builtin([sinclude], [$1])])
-
-
-
-## ------------------------------------ ##
-## 5. Additional branching constructs. ##
-## ------------------------------------ ##
-
-# Both `m4_ifval' and `m4_ifset' tests against the empty string. The
-# difference is that `m4_ifset' is specialized on macros.
-#
-# In case of arguments of macros, eg. $1, it makes little difference.
-# In the case of a macro `FOO', you don't want to check `m4_ifval(FOO,
-# TRUE)', because if `FOO' expands with commas, there is a shifting of
-# the arguments. So you want to run `m4_ifval([FOO])', but then you just
-# compare the *string* `FOO' against `', which, of course fails.
-#
-# So you want the variation `m4_ifset' that expects a macro name as $1.
-# If this macro is both defined and defined to a non empty value, then
-# it runs TRUE, etc.
-
-
-# m4_ifblank(COND, [IF-BLANK], [IF-TEXT])
-# m4_ifnblank(COND, [IF-TEXT], [IF-BLANK])
-# ----------------------------------------
-# If COND is empty, or consists only of blanks (space, tab, newline),
-# then expand IF-BLANK, otherwise expand IF-TEXT. This differs from
-# m4_ifval only if COND has just whitespace, but it helps optimize in
-# spite of users who mistakenly leave trailing space after what they
-# thought was an empty argument:
-# macro(
-# []
-# )
-#
-# Writing one macro in terms of the other causes extra overhead, so
-# we inline both definitions.
-m4_define([m4_ifblank],
-[m4_if(m4_translit([[$1]], [ ][ ][
-]), [], [$2], [$3])])
-
-m4_define([m4_ifnblank],
-[m4_if(m4_translit([[$1]], [ ][ ][
-]), [], [$3], [$2])])
-
-
-# m4_ifval(COND, [IF-TRUE], [IF-FALSE])
-# -------------------------------------
-# If COND is not the empty string, expand IF-TRUE, otherwise IF-FALSE.
-# Comparable to m4_ifdef.
-m4_define([m4_ifval],
-[m4_if([$1], [], [$3], [$2])])
-
-
-# m4_n(TEXT)
-# ----------
-# If TEXT is not empty, return TEXT and a new line, otherwise nothing.
-m4_define([m4_n],
-[m4_if([$1],
- [], [],
- [$1
-])])
-
-
-# m4_ifvaln(COND, [IF-TRUE], [IF-FALSE])
-# --------------------------------------
-# Same as `m4_ifval', but add an extra newline to IF-TRUE or IF-FALSE
-# unless that argument is empty.
-m4_define([m4_ifvaln],
-[m4_if([$1],
- [], [m4_n([$3])],
- [m4_n([$2])])])
-
-
-# m4_ifset(MACRO, [IF-TRUE], [IF-FALSE])
-# --------------------------------------
-# If MACRO has no definition, or of its definition is the empty string,
-# expand IF-FALSE, otherwise IF-TRUE.
-m4_define([m4_ifset],
-[m4_ifdef([$1],
- [m4_ifval(_m4_defn([$1]), [$2], [$3])],
- [$3])])
-
-
-# m4_ifndef(NAME, [IF-NOT-DEFINED], [IF-DEFINED])
-# -----------------------------------------------
-m4_define([m4_ifndef],
-[m4_ifdef([$1], [$3], [$2])])
-
-
-# m4_case(SWITCH, VAL1, IF-VAL1, VAL2, IF-VAL2, ..., DEFAULT)
-# -----------------------------------------------------------
-# m4 equivalent of
-# switch (SWITCH)
-# {
-# case VAL1:
-# IF-VAL1;
-# break;
-# case VAL2:
-# IF-VAL2;
-# break;
-# ...
-# default:
-# DEFAULT;
-# break;
-# }.
-# All the values are optional, and the macro is robust to active
-# symbols properly quoted.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_case],
-[m4_if([$#], 0, [],
- [$#], 1, [],
- [$#], 2, [$2],
- [$1], [$2], [$3],
- [$0([$1], m4_shift3($@))])])
-
-
-# m4_bmatch(SWITCH, RE1, VAL1, RE2, VAL2, ..., DEFAULT)
-# -----------------------------------------------------
-# m4 equivalent of
-#
-# if (SWITCH =~ RE1)
-# VAL1;
-# elif (SWITCH =~ RE2)
-# VAL2;
-# elif ...
-# ...
-# else
-# DEFAULT
-#
-# All the values are optional, and the macro is robust to active symbols
-# properly quoted.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_bmatch],
-[m4_if([$#], 0, [m4_fatal([$0: too few arguments: $#])],
- [$#], 1, [m4_fatal([$0: too few arguments: $#: $1])],
- [$#], 2, [$2],
- [m4_if(m4_bregexp([$1], [$2]), -1, [$0([$1], m4_shift3($@))],
- [$3])])])
-
-# m4_argn(N, ARGS...)
-# -------------------
-# Extract argument N (greater than 0) from ARGS. Example:
-# m4_define([b], [B])
-# m4_argn([2], [a], [b], [c]) => b
-#
-# Rather than using m4_car(m4_shiftn([$1], $@)), we exploit the fact that
-# GNU m4 can directly reference any argument, through an indirect macro.
-m4_define([m4_argn],
-[m4_assert([0 < $1])]dnl
-[m4_pushdef([_$0], [_m4_popdef([_$0])]m4_dquote([$]m4_incr([$1])))_$0($@)])
-
-
-# m4_car(ARGS...)
-# m4_cdr(ARGS...)
-# ---------------
-# Manipulate m4 lists. m4_car returns the first argument. m4_cdr
-# bundles all but the first argument into a quoted list. These two
-# macros are generally used with list arguments, with quoting removed
-# to break the list into multiple m4 ARGS.
-m4_define([m4_car], [[$1]])
-m4_define([m4_cdr],
-[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
- [$#], 1, [],
- [m4_dquote(m4_shift($@))])])
-
-# _m4_cdr(ARGS...)
-# ----------------
-# Like m4_cdr, except include a leading comma unless only one argument
-# remains. Why? Because comparing a large list against [] is more
-# expensive in expansion time than comparing the number of arguments; so
-# _m4_cdr can be used to reduce the number of arguments when it is time
-# to end recursion.
-m4_define([_m4_cdr],
-[m4_if([$#], 1, [],
- [, m4_dquote(m4_shift($@))])])
-
-
-
-# m4_cond(TEST1, VAL1, IF-VAL1, TEST2, VAL2, IF-VAL2, ..., [DEFAULT])
-# -------------------------------------------------------------------
-# Similar to m4_if, except that each TEST is expanded when encountered.
-# If the expansion of TESTn matches the string VALn, the result is IF-VALn.
-# The result is DEFAULT if no tests passed. This macro allows
-# short-circuiting of expensive tests, where it pays to arrange quick
-# filter tests to run first.
-#
-# For an example, consider a previous implementation of _AS_QUOTE_IFELSE:
-#
-# m4_if(m4_index([$1], [\]), [-1], [$2],
-# m4_eval(m4_index([$1], [\\]) >= 0), [1], [$2],
-# m4_eval(m4_index([$1], [\$]) >= 0), [1], [$2],
-# m4_eval(m4_index([$1], [\`]) >= 0), [1], [$3],
-# m4_eval(m4_index([$1], [\"]) >= 0), [1], [$3],
-# [$2])
-#
-# Here, m4_index is computed 5 times, and m4_eval 4, even if $1 contains
-# no backslash. It is more efficient to do:
-#
-# m4_cond([m4_index([$1], [\])], [-1], [$2],
-# [m4_eval(m4_index([$1], [\\]) >= 0)], [1], [$2],
-# [m4_eval(m4_index([$1], [\$]) >= 0)], [1], [$2],
-# [m4_eval(m4_index([$1], [\`]) >= 0)], [1], [$3],
-# [m4_eval(m4_index([$1], [\"]) >= 0)], [1], [$3],
-# [$2])
-#
-# In the common case of $1 with no backslash, only one m4_index expansion
-# occurs, and m4_eval is avoided altogether.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_cond],
-[m4_if([$#], [0], [m4_fatal([$0: cannot be called without arguments])],
- [$#], [1], [$1],
- m4_eval([$# % 3]), [2], [m4_fatal([$0: missing an argument])],
- [_$0($@)])])
-
-m4_define([_m4_cond],
-[m4_if(($1), [($2)], [$3],
- [$#], [3], [],
- [$#], [4], [$4],
- [$0(m4_shift3($@))])])
-
-
-## ---------------------------------------- ##
-## 6. Enhanced version of some primitives. ##
-## ---------------------------------------- ##
-
-# m4_bpatsubsts(STRING, RE1, SUBST1, RE2, SUBST2, ...)
-# ----------------------------------------------------
-# m4 equivalent of
-#
-# $_ = STRING;
-# s/RE1/SUBST1/g;
-# s/RE2/SUBST2/g;
-# ...
-#
-# All the values are optional, and the macro is robust to active symbols
-# properly quoted.
-#
-# I would have liked to name this macro `m4_bpatsubst', unfortunately,
-# due to quotation problems, I need to double quote $1 below, therefore
-# the anchors are broken :( I can't let users be trapped by that.
-#
-# Recall that m4_shift3 always results in an argument. Hence, we need
-# to distinguish between a final deletion vs. ending recursion.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_bpatsubsts],
-[m4_if([$#], 0, [m4_fatal([$0: too few arguments: $#])],
- [$#], 1, [m4_fatal([$0: too few arguments: $#: $1])],
- [$#], 2, [m4_unquote(m4_builtin([patsubst], [[$1]], [$2]))],
- [$#], 3, [m4_unquote(m4_builtin([patsubst], [[$1]], [$2], [$3]))],
- [_$0($@m4_if(m4_eval($# & 1), 0, [,]))])])
-m4_define([_m4_bpatsubsts],
-[m4_if([$#], 2, [$1],
- [$0(m4_builtin([patsubst], [[$1]], [$2], [$3]),
- m4_shift3($@))])])
-
-
-# m4_copy(SRC, DST)
-# -----------------
-# Define the pushdef stack DST as a copy of the pushdef stack SRC;
-# give an error if DST is already defined. This is particularly nice
-# for copying self-modifying pushdef stacks, where the top definition
-# includes one-shot initialization that is later popped to the normal
-# definition. This version intentionally does nothing if SRC is
-# undefined.
-#
-# Some macros simply can't be renamed with this method: namely, anything
-# involved in the implementation of m4_stack_foreach_sep.
-m4_define([m4_copy],
-[m4_ifdef([$2], [m4_fatal([$0: won't overwrite defined macro: $2])],
- [m4_stack_foreach_sep([$1], [m4_pushdef([$2],], [)])])]dnl
-[m4_ifdef([m4_location($1)], [m4_define([m4_location($2)], m4_location)])])
-
-
-# m4_copy_force(SRC, DST)
-# m4_rename_force(SRC, DST)
-# -------------------------
-# Like m4_copy/m4_rename, except blindly overwrite any existing DST.
-# Note that m4_copy_force tolerates undefined SRC, while m4_rename_force
-# does not.
-m4_define([m4_copy_force],
-[m4_ifdef([$2], [_m4_undefine([$2])])m4_copy($@)])
-
-m4_define([m4_rename_force],
-[m4_ifdef([$2], [_m4_undefine([$2])])m4_rename($@)])
-
-
-# m4_define_default(MACRO, VALUE)
-# -------------------------------
-# If MACRO is undefined, set it to VALUE.
-m4_define([m4_define_default],
-[m4_ifndef([$1], [m4_define($@)])])
-
-
-# m4_default(EXP1, EXP2)
-# m4_default_nblank(EXP1, EXP2)
-# -----------------------------
-# Returns EXP1 if not empty/blank, otherwise EXP2. Expand the result.
-#
-# m4_default is called on hot paths, so inline the contents of m4_ifval,
-# for one less round of expansion.
-m4_define([m4_default],
-[m4_if([$1], [], [$2], [$1])])
-
-m4_define([m4_default_nblank],
-[m4_ifblank([$1], [$2], [$1])])
-
-
-# m4_default_quoted(EXP1, EXP2)
-# m4_default_nblank_quoted(EXP1, EXP2)
-# ------------------------------------
-# Returns EXP1 if non empty/blank, otherwise EXP2. Leave the result quoted.
-#
-# For comparison:
-# m4_define([active], [ACTIVE])
-# m4_default([active], [default]) => ACTIVE
-# m4_default([], [active]) => ACTIVE
-# -m4_default([ ], [active])- => - -
-# -m4_default_nblank([ ], [active])- => -ACTIVE-
-# m4_default_quoted([active], [default]) => active
-# m4_default_quoted([], [active]) => active
-# -m4_default_quoted([ ], [active])- => - -
-# -m4_default_nblank_quoted([ ], [active])- => -active-
-#
-# m4_default macro is called on hot paths, so inline the contents of m4_ifval,
-# for one less round of expansion.
-m4_define([m4_default_quoted],
-[m4_if([$1], [], [[$2]], [[$1]])])
-
-m4_define([m4_default_nblank_quoted],
-[m4_ifblank([$1], [[$2]], [[$1]])])
-
-
-# m4_defn(NAME)
-# -------------
-# Like the original, except guarantee a warning when using something which is
-# undefined (unlike M4 1.4.x). This replacement is not a full-featured
-# replacement: if any of the defined macros contain unbalanced quoting, but
-# when pasted together result in a well-quoted string, then only native m4
-# support is able to get it correct. But that's where quadrigraphs come in
-# handy, if you really need unbalanced quotes inside your macros.
-#
-# This macro is called frequently, so minimize the amount of additional
-# expansions by skipping m4_ifndef. Better yet, if __m4_version__ exists,
-# (added in M4 1.6), then let m4 do the job for us (see m4_init).
-m4_define([m4_defn],
-[m4_if([$#], [0], [[$0]],
- [$#], [1], [m4_ifdef([$1], [_m4_defn([$1])],
- [m4_fatal([$0: undefined macro: $1])])],
- [m4_map_args([$0], $@)])])
-
-
-# m4_dumpdef(NAME...)
-# -------------------
-# In m4 1.4.x, dumpdef writes to the current debugfile, rather than
-# stderr. This in turn royally confuses autom4te; so we follow the
-# lead of newer m4 and always dump to stderr. Unlike the original,
-# this version requires an argument, since there is no convenient way
-# in m4 1.4.x to grab the names of all defined macros. Newer m4
-# always dumps to stderr, regardless of the current debugfile; it also
-# provides m4symbols as a way to grab all current macro names. But
-# dumpdefs is not frequently called, so we don't need to worry about
-# conditionally using these newer features. Also, this version
-# doesn't sort multiple arguments.
-#
-# If we detect m4 1.6 or newer, then provide an alternate definition,
-# installed during m4_init, that allows builtins through.
-# Unfortunately, there is no nice way in m4 1.4.x to dump builtins.
-m4_define([m4_dumpdef],
-[m4_if([$#], [0], [m4_fatal([$0: missing argument])],
- [$#], [1], [m4_ifdef([$1], [m4_errprintn(
- [$1: ]m4_dquote(_m4_defn([$1])))], [m4_fatal([$0: undefined macro: $1])])],
- [m4_map_args([$0], $@)])])
-
-m4_define([_m4_dumpdef],
-[m4_if([$#], [0], [m4_fatal([$0: missing argument])],
- [$#], [1], [m4_builtin([dumpdef], [$1])],
- [m4_map_args_sep([m4_builtin([dumpdef],], [)], [], $@)])])
-
-
-# m4_dumpdefs(NAME...)
-# --------------------
-# Similar to `m4_dumpdef(NAME)', but if NAME was m4_pushdef'ed, display its
-# value stack (most recent displayed first). Also, this version silently
-# ignores undefined macros, rather than erroring out.
-#
-# This macro cheats, because it relies on the current definition of NAME
-# while the second argument of m4_stack_foreach_lifo is evaluated (which
-# would be undefined according to the API).
-m4_define([m4_dumpdefs],
-[m4_if([$#], [0], [m4_fatal([$0: missing argument])],
- [$#], [1], [m4_stack_foreach_lifo([$1], [m4_dumpdef([$1])m4_ignore])],
- [m4_map_args([$0], $@)])])
-
-# m4_esyscmd_s(COMMAND)
-# ---------------------
-# Like m4_esyscmd, except strip any trailing newlines, thus behaving
-# more like shell command substitution.
-m4_define([m4_esyscmd_s],
-[m4_chomp_all(m4_esyscmd([$1]))])
-
-
-# m4_popdef(NAME)
-# ---------------
-# Like the original, except guarantee a warning when using something which is
-# undefined (unlike M4 1.4.x).
-#
-# This macro is called frequently, so minimize the amount of additional
-# expansions by skipping m4_ifndef. Better yet, if __m4_version__ exists,
-# (added in M4 1.6), then let m4 do the job for us (see m4_init).
-m4_define([m4_popdef],
-[m4_if([$#], [0], [[$0]],
- [$#], [1], [m4_ifdef([$1], [_m4_popdef([$1])],
- [m4_fatal([$0: undefined macro: $1])])],
- [m4_map_args([$0], $@)])])
-
-
-# m4_shiftn(N, ...)
-# -----------------
-# Returns ... shifted N times. Useful for recursive "varargs" constructs.
-#
-# Autoconf does not use this macro, because it is inherently slower than
-# calling the common cases of m4_shift2 or m4_shift3 directly. But it
-# might as well be fast for other clients, such as Libtool. One way to
-# do this is to expand $@ only once in _m4_shiftn (otherwise, for long
-# lists, the expansion of m4_if takes twice as much memory as what the
-# list itself occupies, only to throw away the unused branch). The end
-# result is strictly equivalent to
-# m4_if([$1], 1, [m4_shift(,m4_shift(m4_shift($@)))],
-# [_m4_shiftn(m4_decr([$1]), m4_shift(m4_shift($@)))])
-# but with the final `m4_shift(m4_shift($@)))' shared between the two
-# paths. The first leg uses a no-op m4_shift(,$@) to balance out the ().
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_shiftn],
-[m4_assert(0 < $1 && $1 < $#)_$0($@)])
-
-m4_define([_m4_shiftn],
-[m4_if([$1], 1, [m4_shift(],
- [$0(m4_decr([$1])]), m4_shift(m4_shift($@)))])
-
-# m4_shift2(...)
-# m4_shift3(...)
-# --------------
-# Returns ... shifted twice, and three times. Faster than m4_shiftn.
-m4_define([m4_shift2], [m4_shift(m4_shift($@))])
-m4_define([m4_shift3], [m4_shift(m4_shift(m4_shift($@)))])
-
-# _m4_shift2(...)
-# _m4_shift3(...)
-# ---------------
-# Like m4_shift2 or m4_shift3, except include a leading comma unless shifting
-# consumes all arguments. Why? Because in recursion, it is nice to
-# distinguish between 1 element left and 0 elements left, based on how many
-# arguments this shift expands to.
-m4_define([_m4_shift2],
-[m4_if([$#], [2], [],
- [, m4_shift(m4_shift($@))])])
-m4_define([_m4_shift3],
-[m4_if([$#], [3], [],
- [, m4_shift(m4_shift(m4_shift($@)))])])
-
-
-# m4_undefine(NAME)
-# -----------------
-# Like the original, except guarantee a warning when using something which is
-# undefined (unlike M4 1.4.x).
-#
-# This macro is called frequently, so minimize the amount of additional
-# expansions by skipping m4_ifndef. Better yet, if __m4_version__ exists,
-# (added in M4 1.6), then let m4 do the job for us (see m4_init).
-m4_define([m4_undefine],
-[m4_if([$#], [0], [[$0]],
- [$#], [1], [m4_ifdef([$1], [_m4_undefine([$1])],
- [m4_fatal([$0: undefined macro: $1])])],
- [m4_map_args([$0], $@)])])
-
-# _m4_wrap(PRE, POST)
-# -------------------
-# Helper macro for m4_wrap and m4_wrap_lifo. Allows nested calls to
-# m4_wrap within wrapped text. Use _m4_defn and _m4_popdef for speed.
-m4_define([_m4_wrap],
-[m4_ifdef([$0_text],
- [m4_define([$0_text], [$1]_m4_defn([$0_text])[$2])],
- [m4_builtin([m4wrap], [m4_unquote(
- _m4_defn([$0_text])_m4_popdef([$0_text]))])m4_define([$0_text], [$1$2])])])
-
-# m4_wrap(TEXT)
-# -------------
-# Append TEXT to the list of hooks to be executed at the end of input.
-# Whereas the order of the original may be LIFO in the underlying m4,
-# this version is always FIFO.
-m4_define([m4_wrap],
-[_m4_wrap([], [$1[]])])
-
-# m4_wrap_lifo(TEXT)
-# ------------------
-# Prepend TEXT to the list of hooks to be executed at the end of input.
-# Whereas the order of m4_wrap may be FIFO in the underlying m4, this
-# version is always LIFO.
-m4_define([m4_wrap_lifo],
-[_m4_wrap([$1[]])])
-
-## ------------------------- ##
-## 7. Quoting manipulation. ##
-## ------------------------- ##
-
-
-# m4_apply(MACRO, LIST)
-# ---------------------
-# Invoke MACRO, with arguments provided from the quoted list of
-# comma-separated quoted arguments. If LIST is empty, invoke MACRO
-# without arguments. The expansion will not be concatenated with
-# subsequent text.
-m4_define([m4_apply],
-[m4_if([$2], [], [$1], [$1($2)])[]])
-
-# _m4_apply(MACRO, LIST)
-# ----------------------
-# Like m4_apply, except do nothing if LIST is empty.
-m4_define([_m4_apply],
-[m4_if([$2], [], [], [$1($2)[]])])
-
-
-# m4_count(ARGS)
-# --------------
-# Return a count of how many ARGS are present.
-m4_define([m4_count], [$#])
-
-
-# m4_curry(MACRO, ARG...)
-# -----------------------
-# Perform argument currying. The expansion of this macro is another
-# macro that takes exactly one argument, appends it to the end of the
-# original ARG list, then invokes MACRO. For example:
-# m4_curry([m4_curry], [m4_reverse], [1])([2])([3]) => 3, 2, 1
-# Not quite as practical as m4_incr, but you could also do:
-# m4_define([add], [m4_eval(([$1]) + ([$2]))])
-# m4_define([add_one], [m4_curry([add], [1])])
-# add_one()([2]) => 3
-m4_define([m4_curry], [$1(m4_shift($@,)_$0])
-m4_define([_m4_curry], [[$1])])
-
-
-# m4_do(STRING, ...)
-# ------------------
-# This macro invokes all its arguments (in sequence, of course). It is
-# useful for making your macros more structured and readable by dropping
-# unnecessary dnl's and have the macros indented properly. No concatenation
-# occurs after a STRING; use m4_unquote(m4_join(,STRING)) for that.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_do],
-[m4_if([$#], 0, [],
- [$#], 1, [$1[]],
- [$1[]$0(m4_shift($@))])])
-
-
-# m4_dquote(ARGS)
-# ---------------
-# Return ARGS as a quoted list of quoted arguments.
-m4_define([m4_dquote], [[$@]])
-
-
-# m4_dquote_elt(ARGS)
-# -------------------
-# Return ARGS as an unquoted list of double-quoted arguments.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_dquote_elt],
-[m4_if([$#], [0], [],
- [$#], [1], [[[$1]]],
- [[[$1]],$0(m4_shift($@))])])
-
-
-# m4_echo(ARGS)
-# -------------
-# Return the ARGS, with the same level of quoting. Whitespace after
-# unquoted commas are consumed.
-m4_define([m4_echo], [$@])
-
-
-# m4_expand(ARG)
-# _m4_expand(ARG)
-# ---------------
-# Return the expansion of ARG as a single string. Unlike
-# m4_quote($1), this preserves whitespace following single-quoted
-# commas that appear within ARG. It also deals with shell case
-# statements.
-#
-# m4_define([active], [ACT, IVE])
-# m4_define([active2], [[ACT, IVE]])
-# m4_quote(active, active2)
-# => ACT,IVE,ACT, IVE
-# m4_expand([active, active2])
-# => ACT, IVE, ACT, IVE
-#
-# Unfortunately, due to limitations in m4, ARG must expand to
-# something with balanced quotes (use quadrigraphs to get around
-# this), and should not contain the unlikely delimiters -=<{( or
-# )}>=-. It is possible to have unbalanced quoted `(' or `)', as well
-# as unbalanced unquoted `)'. m4_expand can handle unterminated
-# comments or dnl on the final line, at the expense of speed; it also
-# aids in detecting attempts to incorrectly change the current
-# diversion inside ARG. Meanwhile, _m4_expand is faster but must be
-# given a terminated expansion, and has no safety checks for
-# mis-diverted text.
-#
-# Exploit that extra unquoted () will group unquoted commas and the
-# following whitespace. m4_bpatsubst can't handle newlines inside $1,
-# and m4_substr strips quoting. So we (ab)use m4_changequote, using
-# temporary quotes to remove the delimiters that conveniently included
-# the unquoted () that were added prior to the changequote.
-#
-# Thanks to shell case statements, too many people are prone to pass
-# underquoted `)', so we try to detect that by passing a marker as a
-# fourth argument; if the marker is not present, then we assume that
-# we encountered an early `)', and re-expand the first argument, but
-# this time with one more `(' in the second argument and in the
-# open-quote delimiter. We must also ignore the slop from the
-# previous try. The final macro is thus half line-noise, half art.
-m4_define([m4_expand],
-[m4_pushdef([m4_divert], _m4_defn([_m4_divert_unsafe]))]dnl
-[m4_pushdef([m4_divert_push], _m4_defn([_m4_divert_unsafe]))]dnl
-[m4_chomp(_$0([$1
-]))_m4_popdef([m4_divert], [m4_divert_push])])
-
-m4_define([_m4_expand], [$0_([$1], [(], -=<{($1)}>=-, [}>=-])])
-
-m4_define([_m4_expand_],
-[m4_if([$4], [}>=-],
- [m4_changequote([-=<{$2], [)}>=-])$3m4_changequote([, ])],
- [$0([$1], [($2], -=<{($2$1)}>=-, [}>=-])m4_ignore$2])])
-
-
-# m4_ignore(ARGS)
-# ---------------
-# Expands to nothing. Useful for conditionally ignoring an arbitrary
-# number of arguments (see _m4_list_cmp for an example).
-m4_define([m4_ignore])
-
-
-# m4_make_list(ARGS)
-# ------------------
-# Similar to m4_dquote, this creates a quoted list of quoted ARGS. This
-# version is less efficient than m4_dquote, but separates each argument
-# with a comma and newline, rather than just comma, for readability.
-# When developing an m4sugar algorithm, you could temporarily use
-# m4_pushdef([m4_dquote],m4_defn([m4_make_list]))
-# around your code to make debugging easier.
-m4_define([m4_make_list], [m4_join([,
-], m4_dquote_elt($@))])
-
-
-# m4_noquote(STRING)
-# ------------------
-# Return the result of ignoring all quotes in STRING and invoking the
-# macros it contains. Among other things, this is useful for enabling
-# macro invocations inside strings with [] blocks (for instance regexps
-# and help-strings). On the other hand, since all quotes are disabled,
-# any macro expanded during this time that relies on nested [] quoting
-# will likely crash and burn. This macro is seldom useful; consider
-# m4_unquote or m4_expand instead.
-m4_define([m4_noquote],
-[m4_changequote([-=<{(],[)}>=-])$1-=<{()}>=-m4_changequote([,])])
-
-
-# m4_quote(ARGS)
-# --------------
-# Return ARGS as a single argument. Any whitespace after unquoted commas
-# is stripped. There is always output, even when there were no arguments.
-#
-# It is important to realize the difference between `m4_quote(exp)' and
-# `[exp]': in the first case you obtain the quoted *result* of the
-# expansion of EXP, while in the latter you just obtain the string
-# `exp'.
-m4_define([m4_quote], [[$*]])
-
-
-# _m4_quote(ARGS)
-# ---------------
-# Like m4_quote, except that when there are no arguments, there is no
-# output. For conditional scenarios (such as passing _m4_quote as the
-# macro name in m4_mapall), this feature can be used to distinguish between
-# one argument of the empty string vs. no arguments. However, in the
-# normal case with arguments present, this is less efficient than m4_quote.
-m4_define([_m4_quote],
-[m4_if([$#], [0], [], [[$*]])])
-
-
-# m4_reverse(ARGS)
-# ----------------
-# Output ARGS in reverse order.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_reverse],
-[m4_if([$#], [0], [], [$#], [1], [[$1]],
- [$0(m4_shift($@)), [$1]])])
-
-
-# m4_unquote(ARGS)
-# ----------------
-# Remove one layer of quotes from each ARG, performing one level of
-# expansion. For one argument, m4_unquote([arg]) is more efficient than
-# m4_do([arg]), but for multiple arguments, the difference is that
-# m4_unquote separates arguments with commas while m4_do concatenates.
-# Follow this macro with [] if concatenation with subsequent text is
-# undesired.
-m4_define([m4_unquote], [$*])
-
-
-## -------------------------- ##
-## 8. Implementing m4 loops. ##
-## -------------------------- ##
-
-
-# m4_for(VARIABLE, FIRST, LAST, [STEP = +/-1], EXPRESSION)
-# --------------------------------------------------------
-# Expand EXPRESSION defining VARIABLE to FROM, FROM + 1, ..., TO with
-# increments of STEP. Both limits are included, and bounds are
-# checked for consistency. The algorithm is robust to indirect
-# VARIABLE names. Changing VARIABLE inside EXPRESSION will not impact
-# the number of iterations.
-#
-# Uses _m4_defn for speed, and avoid dnl in the macro body. Factor
-# the _m4_for call so that EXPRESSION is only parsed once.
-m4_define([m4_for],
-[m4_pushdef([$1], m4_eval([$2]))]dnl
-[m4_cond([m4_eval(([$3]) > ([$2]))], 1,
- [m4_pushdef([_m4_step], m4_eval(m4_default_quoted([$4],
- 1)))m4_assert(_m4_step > 0)_$0(_m4_defn([$1]),
- m4_eval((([$3]) - ([$2])) / _m4_step * _m4_step + ([$2])), _m4_step,],
- [m4_eval(([$3]) < ([$2]))], 1,
- [m4_pushdef([_m4_step], m4_eval(m4_default_quoted([$4],
- -1)))m4_assert(_m4_step < 0)_$0(_m4_defn([$1]),
- m4_eval((([$2]) - ([$3])) / -(_m4_step) * _m4_step + ([$2])), _m4_step,],
- [m4_pushdef([_m4_step])_$0(_m4_defn([$1]), _m4_defn([$1]), 0,])]dnl
-[[m4_define([$1],], [)$5])m4_popdef([_m4_step], [$1])])
-
-# _m4_for(COUNT, LAST, STEP, PRE, POST)
-# -------------------------------------
-# Core of the loop, no consistency checks, all arguments are plain
-# numbers. Expand PRE[COUNT]POST, then alter COUNT by STEP and
-# iterate if COUNT is not LAST.
-m4_define([_m4_for],
-[$4[$1]$5[]m4_if([$1], [$2], [],
- [$0(m4_eval([$1 + $3]), [$2], [$3], [$4], [$5])])])
-
-
-# Implementing `foreach' loops in m4 is much more tricky than it may
-# seem. For example, the old M4 1.4.4 manual had an incorrect example,
-# which looked like this (when translated to m4sugar):
-#
-# | # foreach(VAR, (LIST), STMT)
-# | m4_define([foreach],
-# | [m4_pushdef([$1])_foreach([$1], [$2], [$3])m4_popdef([$1])])
-# | m4_define([_arg1], [$1])
-# | m4_define([_foreach],
-# | [m4_if([$2], [()], ,
-# | [m4_define([$1], _arg1$2)$3[]_foreach([$1], (m4_shift$2), [$3])])])
-#
-# But then if you run
-#
-# | m4_define(a, 1)
-# | m4_define(b, 2)
-# | m4_define(c, 3)
-# | foreach([f], [([a], [(b], [c)])], [echo f
-# | ])
-#
-# it gives
-#
-# => echo 1
-# => echo (2,3)
-#
-# which is not what is expected.
-#
-# Of course the problem is that many quotes are missing. So you add
-# plenty of quotes at random places, until you reach the expected
-# result. Alternatively, if you are a quoting wizard, you directly
-# reach the following implementation (but if you really did, then
-# apply to the maintenance of m4sugar!).
-#
-# | # foreach(VAR, (LIST), STMT)
-# | m4_define([foreach], [m4_pushdef([$1])_foreach($@)m4_popdef([$1])])
-# | m4_define([_arg1], [[$1]])
-# | m4_define([_foreach],
-# | [m4_if($2, [()], ,
-# | [m4_define([$1], [_arg1$2])$3[]_foreach([$1], [(m4_shift$2)], [$3])])])
-#
-# which this time answers
-#
-# => echo a
-# => echo (b
-# => echo c)
-#
-# Bingo!
-#
-# Well, not quite.
-#
-# With a better look, you realize that the parens are more a pain than
-# a help: since anyway you need to quote properly the list, you end up
-# with always using an outermost pair of parens and an outermost pair
-# of quotes. Rejecting the parens both eases the implementation, and
-# simplifies the use:
-#
-# | # foreach(VAR, (LIST), STMT)
-# | m4_define([foreach], [m4_pushdef([$1])_foreach($@)m4_popdef([$1])])
-# | m4_define([_arg1], [$1])
-# | m4_define([_foreach],
-# | [m4_if($2, [], ,
-# | [m4_define([$1], [_arg1($2)])$3[]_foreach([$1], [m4_shift($2)], [$3])])])
-#
-#
-# Now, just replace the `$2' with `m4_quote($2)' in the outer `m4_if'
-# to improve robustness, and you come up with a nice implementation
-# that doesn't require extra parentheses in the user's LIST.
-#
-# But wait - now the algorithm is quadratic, because every recursion of
-# the algorithm keeps the entire LIST and merely adds another m4_shift to
-# the quoted text. If the user has a lot of elements in LIST, you can
-# bring the system to its knees with the memory m4 then requires, or trip
-# the m4 --nesting-limit recursion factor. The only way to avoid
-# quadratic growth is ensure m4_shift is expanded prior to the recursion.
-# Hence the design below.
-#
-# The M4 manual now includes a chapter devoted to this issue, with
-# the lessons learned from m4sugar. And still, this design is only
-# optimal for M4 1.6; see foreach.m4 for yet more comments on why
-# M4 1.4.x uses yet another implementation.
-
-
-# m4_foreach(VARIABLE, LIST, EXPRESSION)
-# --------------------------------------
-#
-# Expand EXPRESSION assigning each value of the LIST to VARIABLE.
-# LIST should have the form `item_1, item_2, ..., item_n', i.e. the
-# whole list must *quoted*. Quote members too if you don't want them
-# to be expanded.
-#
-# This macro is robust to active symbols:
-# | m4_define(active, [ACT, IVE])
-# | m4_foreach(Var, [active, active], [-Var-])
-# => -ACT--IVE--ACT--IVE-
-#
-# | m4_foreach(Var, [[active], [active]], [-Var-])
-# => -ACT, IVE--ACT, IVE-
-#
-# | m4_foreach(Var, [[[active]], [[active]]], [-Var-])
-# => -active--active-
-#
-# This macro is called frequently, so avoid extra expansions such as
-# m4_ifval and dnl. Also, since $2 might be quite large, try to use it
-# as little as possible in _m4_foreach; each extra use requires that much
-# more memory for expansion. So, rather than directly compare $2 against
-# [] and use m4_car/m4_cdr for recursion, we instead unbox the list (which
-# requires swapping the argument order in the helper), insert an ignored
-# third argument, and use m4_shift3 to detect when recursion is complete,
-# at which point this looks very much like m4_map_args.
-m4_define([m4_foreach],
-[m4_if([$2], [], [],
- [m4_pushdef([$1])_$0([m4_define([$1],], [)$3], [],
- $2)m4_popdef([$1])])])
-
-# _m4_foreach(PRE, POST, IGNORED, ARG...)
-# ---------------------------------------
-# Form the common basis of the m4_foreach and m4_map macros. For each
-# ARG, expand PRE[ARG]POST[]. The IGNORED argument makes recursion
-# easier, and must be supplied rather than implicit.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([_m4_foreach],
-[m4_if([$#], [3], [],
- [$1[$4]$2[]$0([$1], [$2], m4_shift3($@))])])
-
-
-# m4_foreach_w(VARIABLE, LIST, EXPRESSION)
-# ----------------------------------------
-# Like m4_foreach, but the list is whitespace separated. Depending on
-# EXPRESSION, it may be more efficient to use m4_map_args_w.
-#
-# This macro is robust to active symbols:
-# m4_foreach_w([Var], [ active
-# b act\
-# ive ], [-Var-])end
-# => -active--b--active-end
-#
-# This used to use a slower implementation based on m4_foreach:
-# m4_foreach([$1], m4_split(m4_normalize([$2]), [ ]), [$3])
-m4_define([m4_foreach_w],
-[m4_pushdef([$1])m4_map_args_w([$2],
- [m4_define([$1],], [)$3])m4_popdef([$1])])
-
-
-# m4_map(MACRO, LIST)
-# m4_mapall(MACRO, LIST)
-# ----------------------
-# Invoke MACRO($1), MACRO($2) etc. where $1, $2... are the elements of
-# LIST. $1, $2... must in turn be lists, appropriate for m4_apply.
-# If LIST contains an empty sublist, m4_map skips the expansion of
-# MACRO, while m4_mapall expands MACRO with no arguments.
-#
-# Since LIST may be quite large, we want to minimize how often it
-# appears in the expansion. Rather than use m4_car/m4_cdr iteration,
-# we unbox the list, and use _m4_foreach for iteration. For m4_map,
-# an empty list behaves like an empty sublist and gets ignored; for
-# m4_mapall, we must special-case the empty list.
-m4_define([m4_map],
-[_m4_foreach([_m4_apply([$1],], [)], [], $2)])
-
-m4_define([m4_mapall],
-[m4_if([$2], [], [],
- [_m4_foreach([m4_apply([$1],], [)], [], $2)])])
-
-
-# m4_map_sep(MACRO, [SEPARATOR], LIST)
-# m4_mapall_sep(MACRO, [SEPARATOR], LIST)
-# ---------------------------------------
-# Invoke MACRO($1), SEPARATOR, MACRO($2), ..., MACRO($N) where $1,
-# $2... $N are the elements of LIST, and are in turn lists appropriate
-# for m4_apply. SEPARATOR is expanded, in order to allow the creation
-# of a list of arguments by using a single-quoted comma as the
-# separator. For each empty sublist, m4_map_sep skips the expansion
-# of MACRO and SEPARATOR, while m4_mapall_sep expands MACRO with no
-# arguments.
-#
-# For m4_mapall_sep, merely expand the first iteration without the
-# separator, then include separator as part of subsequent recursion;
-# but avoid extra expansion of LIST's side-effects via a helper macro.
-# For m4_map_sep, things are trickier - we don't know if the first
-# list element is an empty sublist, so we must define a self-modifying
-# helper macro and use that as the separator instead.
-m4_define([m4_map_sep],
-[m4_pushdef([m4_Sep], [m4_define([m4_Sep], _m4_defn([m4_unquote]))])]dnl
-[_m4_foreach([_m4_apply([m4_Sep([$2])[]$1],], [)], [], $3)m4_popdef([m4_Sep])])
-
-m4_define([m4_mapall_sep],
-[m4_if([$3], [], [], [_$0([$1], [$2], $3)])])
-
-m4_define([_m4_mapall_sep],
-[m4_apply([$1], [$3])_m4_foreach([m4_apply([$2[]$1],], [)], m4_shift2($@))])
-
-# m4_map_args(EXPRESSION, ARG...)
-# -------------------------------
-# Expand EXPRESSION([ARG]) for each argument. More efficient than
-# m4_foreach([var], [ARG...], [EXPRESSION(m4_defn([var]))])
-# Shorthand for m4_map_args_sep([EXPRESSION(], [)], [], ARG...).
-m4_define([m4_map_args],
-[m4_if([$#], [0], [m4_fatal([$0: too few arguments: $#])],
- [$#], [1], [],
- [$#], [2], [$1([$2])[]],
- [_m4_foreach([$1(], [)], $@)])])
-
-
-# m4_map_args_pair(EXPRESSION, [END-EXPR = EXPRESSION], ARG...)
-# -------------------------------------------------------------
-# Perform a pairwise grouping of consecutive ARGs, by expanding
-# EXPRESSION([ARG1], [ARG2]). If there are an odd number of ARGs, the
-# final argument is expanded with END-EXPR([ARGn]).
-#
-# For example:
-# m4_define([show], [($*)m4_newline])dnl
-# m4_map_args_pair([show], [], [a], [b], [c], [d], [e])dnl
-# => (a,b)
-# => (c,d)
-# => (e)
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_map_args_pair],
-[m4_if([$#], [0], [m4_fatal([$0: too few arguments: $#])],
- [$#], [1], [m4_fatal([$0: too few arguments: $#: $1])],
- [$#], [2], [],
- [$#], [3], [m4_default([$2], [$1])([$3])[]],
- [$#], [4], [$1([$3], [$4])[]],
- [$1([$3], [$4])[]$0([$1], [$2], m4_shift(m4_shift3($@)))])])
-
-
-# m4_map_args_sep([PRE], [POST], [SEP], ARG...)
-# ---------------------------------------------
-# Expand PRE[ARG]POST for each argument, with SEP between arguments.
-m4_define([m4_map_args_sep],
-[m4_if([$#], [0], [m4_fatal([$0: too few arguments: $#])],
- [$#], [1], [],
- [$#], [2], [],
- [$#], [3], [],
- [$#], [4], [$1[$4]$2[]],
- [$1[$4]$2[]_m4_foreach([$3[]$1], [$2], m4_shift3($@))])])
-
-
-# m4_map_args_w(STRING, [PRE], [POST], [SEP])
-# -------------------------------------------
-# Perform the expansion of PRE[word]POST[] for each word in STRING
-# separated by whitespace. More efficient than:
-# m4_foreach_w([var], [STRING], [PRE[]m4_defn([var])POST])
-# Additionally, expand SEP between words.
-#
-# As long as we have to use m4_bpatsubst to split the string, we might
-# as well make it also apply PRE and POST; this avoids iteration
-# altogether. But we must be careful of any \ in PRE or POST.
-# _m4_strip returns a quoted string, but that's okay, since it also
-# supplies an empty leading and trailing argument due to our
-# intentional whitespace around STRING. We use m4_substr to strip the
-# empty elements and remove the extra layer of quoting.
-m4_define([m4_map_args_w],
-[_$0(_m4_split([ ]m4_flatten([$1])[ ], [[ ]+],
- m4_if(m4_index([$2$3$4], [\]), [-1], [[$3[]$4[]$2]],
- [m4_bpatsubst([[$3[]$4[]$2]], [\\], [\\\\])])),
- m4_len([[]$3[]$4]), m4_len([$4[]$2[]]))])
-
-m4_define([_m4_map_args_w],
-[m4_substr([$1], [$2], m4_eval(m4_len([$1]) - [$2] - [$3]))])
-
-
-# m4_stack_foreach(MACRO, FUNC)
-# m4_stack_foreach_lifo(MACRO, FUNC)
-# ----------------------------------
-# Pass each stacked definition of MACRO to the one-argument macro FUNC.
-# m4_stack_foreach proceeds in FIFO order, while m4_stack_foreach_lifo
-# processes the topmost definitions first. In addition, FUNC should
-# not push or pop definitions of MACRO, and should not expect anything about
-# the active definition of MACRO (it will not be the topmost, and may not
-# be the one passed to FUNC either).
-#
-# Some macros simply can't be examined with this method: namely,
-# anything involved in the implementation of _m4_stack_reverse.
-m4_define([m4_stack_foreach],
-[_m4_stack_reverse([$1], [m4_tmp-$1])]dnl
-[_m4_stack_reverse([m4_tmp-$1], [$1], [$2(_m4_defn([m4_tmp-$1]))])])
-
-m4_define([m4_stack_foreach_lifo],
-[_m4_stack_reverse([$1], [m4_tmp-$1], [$2(_m4_defn([m4_tmp-$1]))])]dnl
-[_m4_stack_reverse([m4_tmp-$1], [$1])])
-
-# m4_stack_foreach_sep(MACRO, [PRE], [POST], [SEP])
-# m4_stack_foreach_sep_lifo(MACRO, [PRE], [POST], [SEP])
-# ------------------------------------------------------
-# Similar to m4_stack_foreach and m4_stack_foreach_lifo, in that every
-# definition of a pushdef stack will be visited. But rather than
-# passing the definition as a single argument to a macro, this variant
-# expands the concatenation of PRE[]definition[]POST, and expands SEP
-# between consecutive expansions. Note that m4_stack_foreach([a], [b])
-# is equivalent to m4_stack_foreach_sep([a], [b(], [)]).
-m4_define([m4_stack_foreach_sep],
-[_m4_stack_reverse([$1], [m4_tmp-$1])]dnl
-[_m4_stack_reverse([m4_tmp-$1], [$1], [$2[]_m4_defn([m4_tmp-$1])$3], [$4[]])])
-
-m4_define([m4_stack_foreach_sep_lifo],
-[_m4_stack_reverse([$1], [m4_tmp-$1], [$2[]_m4_defn([m4_tmp-$1])$3], [$4[]])]dnl
-[_m4_stack_reverse([m4_tmp-$1], [$1])])
-
-
-# _m4_stack_reverse(OLD, NEW, [ACTION], [SEP])
-# --------------------------------------------
-# A recursive worker for pushdef stack manipulation. Destructively
-# copy the OLD stack into the NEW, and expanding ACTION for each
-# iteration. After the first iteration, SEP is promoted to the front
-# of ACTION (note that SEP should include a trailing [] if it is to
-# avoid interfering with ACTION). The current definition is examined
-# after the NEW has been pushed but before OLD has been popped; this
-# order is important, as ACTION is permitted to operate on either
-# _m4_defn([OLD]) or _m4_defn([NEW]). Since the operation is
-# destructive, this macro is generally used twice, with a temporary
-# macro name holding the swapped copy.
-m4_define([_m4_stack_reverse],
-[m4_ifdef([$1], [m4_pushdef([$2],
- _m4_defn([$1]))$3[]_m4_popdef([$1])$0([$1], [$2], [$4$3])])])
-
-
-
-## --------------------------- ##
-## 9. More diversion support. ##
-## --------------------------- ##
-
-
-# m4_cleardivert(DIVERSION-NAME...)
-# ---------------------------------
-# Discard any text in DIVERSION-NAME.
-#
-# This works even inside m4_expand.
-m4_define([m4_cleardivert],
-[m4_if([$#], [0], [m4_fatal([$0: missing argument])],
- [_m4_divert_raw([-1])m4_undivert($@)_m4_divert_raw(
- _m4_divert(_m4_defn([_m4_divert_diversion]), [-]))])])
-
-
-# _m4_divert(DIVERSION-NAME or NUMBER, [NOWARN])
-# ----------------------------------------------
-# If DIVERSION-NAME is the name of a diversion, return its number,
-# otherwise if it is a NUMBER return it. Issue a warning about
-# the use of a number instead of a name, unless NOWARN is provided.
-m4_define([_m4_divert],
-[m4_ifdef([_m4_divert($1)],
- [m4_indir([_m4_divert($1)])],
- [m4_if([$2], [], [m4_warn([syntax],
- [prefer named diversions])])$1])])
-
-# KILL is only used to suppress output.
-m4_define([_m4_divert(KILL)], -1)
-
-# The empty diversion name is a synonym for 0.
-m4_define([_m4_divert()], 0)
-
-
-# m4_divert_stack
-# ---------------
-# Print the diversion stack, if it's nonempty. The caller is
-# responsible for any leading or trailing newline.
-m4_define([m4_divert_stack],
-[m4_stack_foreach_sep_lifo([_m4_divert_stack], [], [], [
-])])
-
-
-# m4_divert_stack_push(MACRO-NAME, DIVERSION-NAME)
-# ------------------------------------------------
-# Form an entry of the diversion stack from caller MACRO-NAME and
-# entering DIVERSION-NAME and push it.
-m4_define([m4_divert_stack_push],
-[m4_pushdef([_m4_divert_stack], m4_location[: $1: $2])])
-
-
-# m4_divert(DIVERSION-NAME)
-# -------------------------
-# Change the diversion stream to DIVERSION-NAME.
-m4_define([m4_divert],
-[m4_popdef([_m4_divert_stack])]dnl
-[m4_define([_m4_divert_diversion], [$1])]dnl
-[m4_divert_stack_push([$0], [$1])]dnl
-[_m4_divert_raw(_m4_divert([$1]))])
-
-
-# m4_divert_push(DIVERSION-NAME, [NOWARN])
-# ----------------------------------------
-# Change the diversion stream to DIVERSION-NAME, while stacking old values.
-# For internal use only: if NOWARN is not empty, DIVERSION-NAME can be a
-# number instead of a name.
-m4_define([m4_divert_push],
-[m4_divert_stack_push([$0], [$1])]dnl
-[m4_pushdef([_m4_divert_diversion], [$1])]dnl
-[_m4_divert_raw(_m4_divert([$1], [$2]))])
-
-
-# m4_divert_pop([DIVERSION-NAME])
-# -------------------------------
-# Change the diversion stream to its previous value, unstacking it.
-# If specified, verify we left DIVERSION-NAME.
-# When we pop the last value from the stack, we divert to -1.
-m4_define([m4_divert_pop],
-[m4_if([$1], [], [],
- [$1], _m4_defn([_m4_divert_diversion]), [],
- [m4_fatal([$0($1): diversion mismatch:
-]m4_divert_stack)])]dnl
-[_m4_popdef([_m4_divert_stack], [_m4_divert_diversion])]dnl
-[m4_ifdef([_m4_divert_diversion], [],
- [m4_fatal([too many m4_divert_pop])])]dnl
-[_m4_divert_raw(_m4_divert(_m4_defn([_m4_divert_diversion]), [-]))])
-
-
-# m4_divert_text(DIVERSION-NAME, CONTENT)
-# ---------------------------------------
-# Output CONTENT into DIVERSION-NAME (which may be a number actually).
-# An end of line is appended for free to CONTENT.
-m4_define([m4_divert_text],
-[m4_divert_push([$1])$2
-m4_divert_pop([$1])])
-
-
-# m4_divert_once(DIVERSION-NAME, CONTENT)
-# ---------------------------------------
-# Output CONTENT into DIVERSION-NAME once, if not already there.
-# An end of line is appended for free to CONTENT.
-m4_define([m4_divert_once],
-[m4_expand_once([m4_divert_text([$1], [$2])])])
-
-
-# _m4_divert_unsafe(DIVERSION-NAME)
-# ---------------------------------
-# Issue a warning that the attempt to change the current diversion to
-# DIVERSION-NAME is unsafe, because this macro is being expanded
-# during argument collection of m4_expand.
-m4_define([_m4_divert_unsafe],
-[m4_fatal([$0: cannot change diversion to `$1' inside m4_expand])])
-
-
-# m4_undivert(DIVERSION-NAME...)
-# ------------------------------
-# Undivert DIVERSION-NAME. Unlike the M4 version, this requires at
-# least one DIVERSION-NAME; also, due to support for named diversions,
-# this should not be used to undivert files.
-m4_define([m4_undivert],
-[m4_if([$#], [0], [m4_fatal([$0: missing argument])],
- [$#], [1], [_m4_undivert(_m4_divert([$1]))],
- [m4_map_args([$0], $@)])])
-
-
-## --------------------------------------------- ##
-## 10. Defining macros with bells and whistles. ##
-## --------------------------------------------- ##
-
-# `m4_defun' is basically `m4_define' but it equips the macro with the
-# needed machinery for `m4_require'. A macro must be m4_defun'd if
-# either it is m4_require'd, or it m4_require's.
-#
-# Two things deserve attention and are detailed below:
-# 1. Implementation of m4_require
-# 2. Keeping track of the expansion stack
-#
-# 1. Implementation of m4_require
-# ===============================
-#
-# Of course m4_defun calls m4_provide, so that a macro which has
-# been expanded is not expanded again when m4_require'd, but the
-# difficult part is the proper expansion of macros when they are
-# m4_require'd.
-#
-# The implementation is based on three ideas, (i) using diversions to
-# prepare the expansion of the macro and its dependencies (by Franc,ois
-# Pinard), (ii) expand the most recently m4_require'd macros _after_
-# the previous macros (by Axel Thimm), and (iii) track instances of
-# provide before require (by Eric Blake).
-#
-#
-# The first idea: why use diversions?
-# -----------------------------------
-#
-# When a macro requires another, the other macro is expanded in new
-# diversion, GROW. When the outer macro is fully expanded, we first
-# undivert the most nested diversions (GROW - 1...), and finally
-# undivert GROW. To understand why we need several diversions,
-# consider the following example:
-#
-# | m4_defun([TEST1], [Test...m4_require([TEST2])1])
-# | m4_defun([TEST2], [Test...m4_require([TEST3])2])
-# | m4_defun([TEST3], [Test...3])
-#
-# Because m4_require is not required to be first in the outer macros, we
-# must keep the expansions of the various levels of m4_require separated.
-# Right before executing the epilogue of TEST1, we have:
-#
-# GROW - 2: Test...3
-# GROW - 1: Test...2
-# GROW: Test...1
-# BODY:
-#
-# Finally the epilogue of TEST1 undiverts GROW - 2, GROW - 1, and
-# GROW into the regular flow, BODY.
-#
-# GROW - 2:
-# GROW - 1:
-# GROW:
-# BODY: Test...3; Test...2; Test...1
-#
-# (The semicolons are here for clarification, but of course are not
-# emitted.) This is what Autoconf 2.0 (I think) to 2.13 (I'm sure)
-# implement.
-#
-#
-# The second idea: first required first out
-# -----------------------------------------
-#
-# The natural implementation of the idea above is buggy and produces
-# very surprising results in some situations. Let's consider the
-# following example to explain the bug:
-#
-# | m4_defun([TEST1], [m4_require([TEST2a])m4_require([TEST2b])])
-# | m4_defun([TEST2a], [])
-# | m4_defun([TEST2b], [m4_require([TEST3])])
-# | m4_defun([TEST3], [m4_require([TEST2a])])
-# |
-# | AC_INIT
-# | TEST1
-#
-# The dependencies between the macros are:
-#
-# 3 --- 2b
-# / \ is m4_require'd by
-# / \ left -------------------- right
-# 2a ------------ 1
-#
-# If you strictly apply the rules given in the previous section you get:
-#
-# GROW - 2: TEST3
-# GROW - 1: TEST2a; TEST2b
-# GROW: TEST1
-# BODY:
-#
-# (TEST2a, although required by TEST3 is not expanded in GROW - 3
-# because is has already been expanded before in GROW - 1, so it has
-# been AC_PROVIDE'd, so it is not expanded again) so when you undivert
-# the stack of diversions, you get:
-#
-# GROW - 2:
-# GROW - 1:
-# GROW:
-# BODY: TEST3; TEST2a; TEST2b; TEST1
-#
-# i.e., TEST2a is expanded after TEST3 although the latter required the
-# former.
-#
-# Starting from 2.50, we use an implementation provided by Axel Thimm.
-# The idea is simple: the order in which macros are emitted must be the
-# same as the one in which macros are expanded. (The bug above can
-# indeed be described as: a macro has been m4_provide'd before its
-# dependent, but it is emitted after: the lack of correlation between
-# emission and expansion order is guilty).
-#
-# How to do that? You keep the stack of diversions to elaborate the
-# macros, but each time a macro is fully expanded, emit it immediately.
-#
-# In the example above, when TEST2a is expanded, but it's epilogue is
-# not run yet, you have:
-#
-# GROW - 2:
-# GROW - 1: TEST2a
-# GROW: Elaboration of TEST1
-# BODY:
-#
-# The epilogue of TEST2a emits it immediately:
-#
-# GROW - 2:
-# GROW - 1:
-# GROW: Elaboration of TEST1
-# BODY: TEST2a
-#
-# TEST2b then requires TEST3, so right before the epilogue of TEST3, you
-# have:
-#
-# GROW - 2: TEST3
-# GROW - 1: Elaboration of TEST2b
-# GROW: Elaboration of TEST1
-# BODY: TEST2a
-#
-# The epilogue of TEST3 emits it:
-#
-# GROW - 2:
-# GROW - 1: Elaboration of TEST2b
-# GROW: Elaboration of TEST1
-# BODY: TEST2a; TEST3
-#
-# TEST2b is now completely expanded, and emitted:
-#
-# GROW - 2:
-# GROW - 1:
-# GROW: Elaboration of TEST1
-# BODY: TEST2a; TEST3; TEST2b
-#
-# and finally, TEST1 is finished and emitted:
-#
-# GROW - 2:
-# GROW - 1:
-# GROW:
-# BODY: TEST2a; TEST3; TEST2b: TEST1
-#
-# The idea is simple, but the implementation is a bit involved. If
-# you are like me, you will want to see the actual functioning of this
-# implementation to be convinced. The next section gives the full
-# details.
-#
-#
-# The Axel Thimm implementation at work
-# -------------------------------------
-#
-# We consider the macros above, and this configure.ac:
-#
-# AC_INIT
-# TEST1
-#
-# You should keep the definitions of _m4_defun_pro, _m4_defun_epi, and
-# m4_require at hand to follow the steps.
-#
-# This implementation tries not to assume that the current diversion is
-# BODY, so as soon as a macro (m4_defun'd) is expanded, we first
-# record the current diversion under the name _m4_divert_dump (denoted
-# DUMP below for short). This introduces an important difference with
-# the previous versions of Autoconf: you cannot use m4_require if you
-# are not inside an m4_defun'd macro, and especially, you cannot
-# m4_require directly from the top level.
-#
-# We have not tried to simulate the old behavior (better yet, we
-# diagnose it), because it is too dangerous: a macro m4_require'd from
-# the top level is expanded before the body of `configure', i.e., before
-# any other test was run. I let you imagine the result of requiring
-# AC_STDC_HEADERS for instance, before AC_PROG_CC was actually run....
-#
-# After AC_INIT was run, the current diversion is BODY.
-# * AC_INIT was run
-# DUMP: undefined
-# diversion stack: BODY |-
-#
-# * TEST1 is expanded
-# The prologue of TEST1 sets _m4_divert_dump, which is the diversion
-# where the current elaboration will be dumped, to the current
-# diversion. It also m4_divert_push to GROW, where the full
-# expansion of TEST1 and its dependencies will be elaborated.
-# DUMP: BODY
-# BODY: empty
-# diversions: GROW, BODY |-
-#
-# * TEST1 requires TEST2a
-# _m4_require_call m4_divert_pushes another temporary diversion,
-# GROW - 1, and expands TEST2a in there.
-# DUMP: BODY
-# BODY: empty
-# GROW - 1: TEST2a
-# diversions: GROW - 1, GROW, BODY |-
-# Then the content of the temporary diversion is moved to DUMP and the
-# temporary diversion is popped.
-# DUMP: BODY
-# BODY: TEST2a
-# diversions: GROW, BODY |-
-#
-# * TEST1 requires TEST2b
-# Again, _m4_require_call pushes GROW - 1 and heads to expand TEST2b.
-# DUMP: BODY
-# BODY: TEST2a
-# diversions: GROW - 1, GROW, BODY |-
-#
-# * TEST2b requires TEST3
-# _m4_require_call pushes GROW - 2 and expands TEST3 here.
-# (TEST3 requires TEST2a, but TEST2a has already been m4_provide'd, so
-# nothing happens.)
-# DUMP: BODY
-# BODY: TEST2a
-# GROW - 2: TEST3
-# diversions: GROW - 2, GROW - 1, GROW, BODY |-
-# Then the diversion is appended to DUMP, and popped.
-# DUMP: BODY
-# BODY: TEST2a; TEST3
-# diversions: GROW - 1, GROW, BODY |-
-#
-# * TEST1 requires TEST2b (contd.)
-# The content of TEST2b is expanded...
-# DUMP: BODY
-# BODY: TEST2a; TEST3
-# GROW - 1: TEST2b,
-# diversions: GROW - 1, GROW, BODY |-
-# ... and moved to DUMP.
-# DUMP: BODY
-# BODY: TEST2a; TEST3; TEST2b
-# diversions: GROW, BODY |-
-#
-# * TEST1 is expanded: epilogue
-# TEST1's own content is in GROW...
-# DUMP: BODY
-# BODY: TEST2a; TEST3; TEST2b
-# GROW: TEST1
-# diversions: BODY |-
-# ... and it's epilogue moves it to DUMP and then undefines DUMP.
-# DUMP: undefined
-# BODY: TEST2a; TEST3; TEST2b; TEST1
-# diversions: BODY |-
-#
-#
-# The third idea: track macros provided before they were required
-# ---------------------------------------------------------------
-#
-# Using just the first two ideas, Autoconf 2.50 through 2.63 still had
-# a subtle bug for more than seven years. Let's consider the
-# following example to explain the bug:
-#
-# | m4_defun([TEST1], [1])
-# | m4_defun([TEST2], [2[]m4_require([TEST1])])
-# | m4_defun([TEST3], [3 TEST1 m4_require([TEST2])])
-# | TEST3
-#
-# After the prologue of TEST3, we are collecting text in GROW with the
-# intent of dumping it in BODY during the epilogue. Next, we
-# encounter the direct invocation of TEST1, which provides the macro
-# in place in GROW. From there, we encounter a requirement for TEST2,
-# which must be collected in a new diversion. While expanding TEST2,
-# we encounter a requirement for TEST1, but since it has already been
-# expanded, the Axel Thimm algorithm states that we can treat it as a
-# no-op. But that would lead to an end result of `2 3 1', meaning
-# that we have once again output a macro (TEST2) prior to its
-# requirements (TEST1).
-#
-# The problem can only occur if a single defun'd macro first provides,
-# then later indirectly requires, the same macro. Note that directly
-# expanding then requiring a macro is okay: because the dependency was
-# met, the require phase can be a no-op. For that matter, the outer
-# macro can even require two helpers, where the first helper expands
-# the macro, and the second helper indirectly requires the macro.
-# Out-of-order expansion is only present if the inner macro is
-# required by something that will be hoisted in front of where the
-# direct expansion occurred. In other words, we must be careful not
-# to warn on:
-#
-# | m4_defun([TEST4], [4])
-# | m4_defun([TEST5], [5 TEST4 m4_require([TEST4])])
-# | TEST5 => 5 4
-#
-# or even the more complex:
-#
-# | m4_defun([TEST6], [6])
-# | m4_defun([TEST7], [7 TEST6])
-# | m4_defun([TEST8], [8 m4_require([TEST6])])
-# | m4_defun([TEST9], [9 m4_require([TEST8])])
-# | m4_defun([TEST10], [10 m4_require([TEST7]) m4_require([TEST9])])
-# | TEST10 => 7 6 8 9 10
-#
-# So, to detect whether a require was direct or indirect, m4_defun and
-# m4_require track the name of the macro that caused a diversion to be
-# created (using the stack _m4_diverting, coupled with an O(1) lookup
-# _m4_diverting([NAME])), and m4_provide stores the name associated
-# with the diversion at which a macro was provided. A require call is
-# direct if it occurs within the same diversion where the macro was
-# provided, or if the diversion associated with the providing context
-# has been collected.
-#
-# The implementation of the warning involves tracking the set of
-# macros which have been provided since the start of the outermost
-# defun'd macro (the set is named _m4_provide). When starting an
-# outermost macro, the set is emptied; when a macro is provided, it is
-# added to the set; when require expands the body of a macro, it is
-# removed from the set; and when a macro is indirectly required, the
-# set is checked. If a macro is in the set, then it has been provided
-# before it was required, and we satisfy dependencies by expanding the
-# macro as if it had never been provided; in the example given above,
-# this means we now output `1 2 3 1'. Meanwhile, a warning is issued
-# to inform the user that her macros trigger the bug in older autoconf
-# versions, and that her output file now contains redundant contents
-# (and possibly new problems, if the repeated macro was not
-# idempotent). Meanwhile, macros defined by m4_defun_once instead of
-# m4_defun are idempotent, avoiding any warning or duplicate output.
-#
-#
-# 2. Keeping track of the expansion stack
-# =======================================
-#
-# When M4 expansion goes wrong it is often extremely hard to find the
-# path amongst macros that drove to the failure. What is needed is
-# the stack of macro `calls'. One could imagine that GNU M4 would
-# maintain a stack of macro expansions, unfortunately it doesn't, so
-# we do it by hand. This is of course extremely costly, but the help
-# this stack provides is worth it. Nevertheless to limit the
-# performance penalty this is implemented only for m4_defun'd macros,
-# not for define'd macros.
-#
-# Each time we enter an m4_defun'd macros, we add a definition in
-# _m4_expansion_stack, and when we exit the macro, we remove it (thanks
-# to pushdef/popdef). m4_stack_foreach is used to print the expansion
-# stack in the rare cases when it's needed.
-#
-# In addition, we want to detect circular m4_require dependencies.
-# Each time we expand a macro FOO we define _m4_expanding(FOO); and
-# m4_require(BAR) simply checks whether _m4_expanding(BAR) is defined.
-
-
-# m4_expansion_stack
-# ------------------
-# Expands to the entire contents of the expansion stack. The caller
-# must supply a trailing newline. This macro always prints a
-# location; check whether _m4_expansion_stack is defined to filter out
-# the case when no defun'd macro is in force.
-m4_define([m4_expansion_stack],
-[m4_stack_foreach_sep_lifo([_$0], [_$0_entry(], [)
-])m4_location[: the top level]])
-
-# _m4_expansion_stack_entry(MACRO)
-# --------------------------------
-# Format an entry for MACRO found on the expansion stack.
-m4_define([_m4_expansion_stack_entry],
-[_m4_defn([m4_location($1)])[: $1 is expanded from...]])
-
-# m4_expansion_stack_push(MACRO)
-# ------------------------------
-# Form an entry of the expansion stack on entry to MACRO and push it.
-m4_define([m4_expansion_stack_push],
-[m4_pushdef([_m4_expansion_stack], [$1])])
-
-
-# _m4_divert(GROW)
-# ----------------
-# This diversion is used by the m4_defun/m4_require machinery. It is
-# important to keep room before GROW because for each nested
-# AC_REQUIRE we use an additional diversion (i.e., two m4_require's
-# will use GROW - 2. More than 3 levels has never seemed to be
-# needed.)
-#
-# ...
-# - GROW - 2
-# m4_require'd code, 2 level deep
-# - GROW - 1
-# m4_require'd code, 1 level deep
-# - GROW
-# m4_defun'd macros are elaborated here.
-
-m4_define([_m4_divert(GROW)], 10000)
-
-
-# _m4_defun_pro(MACRO-NAME)
-# -------------------------
-# The prologue for Autoconf macros.
-#
-# This is called frequently, so minimize the number of macro invocations
-# by avoiding dnl and m4_defn overhead.
-m4_define([_m4_defun_pro],
-[m4_ifdef([_m4_expansion_stack], [], [_m4_defun_pro_outer([$1])])]dnl
-[m4_expansion_stack_push([$1])m4_pushdef([_m4_expanding($1)])])
-
-m4_define([_m4_defun_pro_outer],
-[m4_set_delete([_m4_provide])]dnl
-[m4_pushdef([_m4_diverting([$1])])m4_pushdef([_m4_diverting], [$1])]dnl
-[m4_pushdef([_m4_divert_dump], m4_divnum)m4_divert_push([GROW])])
-
-# _m4_defun_epi(MACRO-NAME)
-# -------------------------
-# The Epilogue for Autoconf macros. MACRO-NAME only helps tracing
-# the PRO/EPI pairs.
-#
-# This is called frequently, so minimize the number of macro invocations
-# by avoiding dnl and m4_popdef overhead.
-m4_define([_m4_defun_epi],
-[_m4_popdef([_m4_expanding($1)], [_m4_expansion_stack])]dnl
-[m4_ifdef([_m4_expansion_stack], [], [_m4_defun_epi_outer([$1])])]dnl
-[m4_provide([$1])])
-
-m4_define([_m4_defun_epi_outer],
-[_m4_popdef([_m4_divert_dump], [_m4_diverting([$1])], [_m4_diverting])]dnl
-[m4_divert_pop([GROW])m4_undivert([GROW])])
-
-
-# _m4_divert_dump
-# ---------------
-# If blank, we are outside of any defun'd macro. Otherwise, expands
-# to the diversion number (not name) where require'd macros should be
-# moved once completed.
-m4_define([_m4_divert_dump])
-
-
-# m4_divert_require(DIVERSION, NAME-TO-CHECK, [BODY-TO-EXPAND])
-# -------------------------------------------------------------
-# Same as m4_require, but BODY-TO-EXPAND goes into the named DIVERSION;
-# requirements still go in the current diversion though.
-#
-m4_define([m4_divert_require],
-[m4_ifdef([_m4_expanding($2)],
- [m4_fatal([$0: circular dependency of $2])])]dnl
-[m4_if(_m4_divert_dump, [],
- [m4_fatal([$0($2): cannot be used outside of an m4_defun'd macro])])]dnl
-[m4_provide_if([$2], [],
- [_m4_require_call([$2], [$3], _m4_divert([$1], [-]))])])
-
-
-# m4_defun(NAME, EXPANSION, [MACRO = m4_define])
-# ----------------------------------------------
-# Define a macro NAME which automatically provides itself. Add
-# machinery so the macro automatically switches expansion to the
-# diversion stack if it is not already using it, prior to EXPANSION.
-# In this case, once finished, it will bring back all the code
-# accumulated in the diversion stack. This, combined with m4_require,
-# achieves the topological ordering of macros. We don't use this
-# macro to define some frequently called macros that are not involved
-# in ordering constraints, to save m4 processing.
-#
-# MACRO is an undocumented argument; when set to m4_pushdef, and NAME
-# is already defined, the new definition is added to the pushdef
-# stack, rather than overwriting the current definition. It can thus
-# be used to write self-modifying macros, which pop themselves to a
-# previously m4_define'd definition so that subsequent use of the
-# macro is faster.
-m4_define([m4_defun],
-[m4_define([m4_location($1)], m4_location)]dnl
-[m4_default([$3], [m4_define])([$1],
- [_m4_defun_pro(]m4_dquote($[0])[)$2[]_m4_defun_epi(]m4_dquote($[0])[)])])
-
-
-# m4_defun_init(NAME, INIT, COMMON)
-# ---------------------------------
-# Like m4_defun, but split EXPANSION into two portions: INIT which is
-# done only the first time NAME is invoked, and COMMON which is
-# expanded every time.
-#
-# For now, the COMMON definition is always m4_define'd, giving an even
-# lighter-weight definition. m4_defun allows self-providing, but once
-# a macro is provided, m4_require no longer cares if it is m4_define'd
-# or m4_defun'd. m4_defun also provides location tracking to identify
-# dependency bugs, but once the INIT has been expanded, we know there
-# are no dependency bugs. However, if a future use needs COMMON to be
-# m4_defun'd, we can add a parameter, similar to the third parameter
-# to m4_defun.
-m4_define([m4_defun_init],
-[m4_define([$1], [$3[]])m4_defun([$1],
- [$2[]_m4_popdef(]m4_dquote($[0])[)m4_indir(]m4_dquote($[0])dnl
-[m4_if(]m4_dquote($[#])[, [0], [], ]m4_dquote([,$]@)[))], [m4_pushdef])])
-
-
-# m4_defun_once(NAME, EXPANSION)
-# ------------------------------
-# Like m4_defun, but guarantee that EXPANSION only happens once
-# (thereafter, using NAME is a no-op).
-#
-# If _m4_divert_dump is empty, we are called at the top level;
-# otherwise, we must ensure that we are required in front of the
-# current defun'd macro. Use a helper macro so that EXPANSION need
-# only occur once in the definition of NAME, since it might be large.
-m4_define([m4_defun_once],
-[m4_define([m4_location($1)], m4_location)]dnl
-[m4_define([$1], [_m4_defun_once([$1], [$2], m4_if(_m4_divert_dump, [],
- [[_m4_defun_pro([$1])m4_unquote(], [)_m4_defun_epi([$1])]],
-m4_ifdef([_m4_diverting([$1])], [-]), [-], [[m4_unquote(], [)]],
- [[_m4_require_call([$1],], [, _m4_divert_dump)]]))])])
-
-m4_define([_m4_defun_once],
-[m4_pushdef([$1])$3[$2[]m4_provide([$1])]$4])
-
-
-# m4_pattern_forbid(ERE, [WHY])
-# -----------------------------
-# Declare that no token matching the forbidden extended regular
-# expression ERE should be seen in the output unless...
-m4_define([m4_pattern_forbid], [])
-
-
-# m4_pattern_allow(ERE)
-# ---------------------
-# ... that token also matches the allowed extended regular expression ERE.
-# Both used via traces.
-m4_define([m4_pattern_allow], [])
-
-
-## --------------------------------- ##
-## 11. Dependencies between macros. ##
-## --------------------------------- ##
-
-
-# m4_before(THIS-MACRO-NAME, CALLED-MACRO-NAME)
-# ---------------------------------------------
-# Issue a warning if CALLED-MACRO-NAME was called before THIS-MACRO-NAME.
-m4_define([m4_before],
-[m4_provide_if([$2],
- [m4_warn([syntax], [$2 was called before $1])])])
-
-
-# m4_require(NAME-TO-CHECK, [BODY-TO-EXPAND = NAME-TO-CHECK])
-# -----------------------------------------------------------
-# If NAME-TO-CHECK has never been expanded (actually, if it is not
-# m4_provide'd), expand BODY-TO-EXPAND *before* the current macro
-# expansion; follow the expansion with a newline. Once expanded, emit
-# it in _m4_divert_dump. Keep track of the m4_require chain in
-# _m4_expansion_stack.
-#
-# The normal cases are:
-#
-# - NAME-TO-CHECK == BODY-TO-EXPAND
-# Which you can use for regular macros with or without arguments, e.g.,
-# m4_require([AC_PROG_CC], [AC_PROG_CC])
-# m4_require([AC_CHECK_HEADERS(threads.h)], [AC_CHECK_HEADERS(threads.h)])
-# which is just the same as
-# m4_require([AC_PROG_CC])
-# m4_require([AC_CHECK_HEADERS(threads.h)])
-#
-# - BODY-TO-EXPAND == m4_indir([NAME-TO-CHECK])
-# In the case of macros with irregular names. For instance:
-# m4_require([AC_LANG_COMPILER(C)], [indir([AC_LANG_COMPILER(C)])])
-# which means `if the macro named `AC_LANG_COMPILER(C)' (the parens are
-# part of the name, it is not an argument) has not been run, then
-# call it.'
-# Had you used
-# m4_require([AC_LANG_COMPILER(C)], [AC_LANG_COMPILER(C)])
-# then m4_require would have tried to expand `AC_LANG_COMPILER(C)', i.e.,
-# call the macro `AC_LANG_COMPILER' with `C' as argument.
-#
-# You could argue that `AC_LANG_COMPILER', when it receives an argument
-# such as `C' should dispatch the call to `AC_LANG_COMPILER(C)'. But this
-# `extension' prevents `AC_LANG_COMPILER' from having actual arguments that
-# it passes to `AC_LANG_COMPILER(C)'.
-#
-# This is called frequently, so minimize the number of macro invocations
-# by avoiding dnl and other overhead on the common path.
-m4_define([m4_require],
-[m4_ifdef([_m4_expanding($1)],
- [m4_fatal([$0: circular dependency of $1])])]dnl
-[m4_if(_m4_divert_dump, [],
- [m4_fatal([$0($1): cannot be used outside of an ]dnl
-m4_if([$0], [m4_require], [[m4_defun]], [[AC_DEFUN]])['d macro])])]dnl
-[m4_provide_if([$1], [m4_set_contains([_m4_provide], [$1],
- [_m4_require_check([$1], _m4_defn([m4_provide($1)]), [$0])], [m4_ignore])],
- [_m4_require_call])([$1], [$2], _m4_divert_dump)])
-
-
-# _m4_require_call(NAME-TO-CHECK, [BODY-TO-EXPAND = NAME-TO-CHECK],
-# DIVERSION-NUMBER)
-# -----------------------------------------------------------------
-# If m4_require decides to expand the body, it calls this macro. The
-# expansion is placed in DIVERSION-NUMBER.
-#
-# This is called frequently, so minimize the number of macro invocations
-# by avoiding dnl and other overhead on the common path.
-# The use of a witness macro protecting the warning allows aclocal
-# to silence any warnings when probing for what macros are required
-# and must therefore be located, when using the Autoconf-without-aclocal-m4
-# autom4te language. For more background, see:
-# https://lists.gnu.org/archive/html/automake-patches/2012-11/msg00035.html
-m4_define([_m4_require_call],
-[m4_pushdef([_m4_divert_grow], m4_decr(_m4_divert_grow))]dnl
-[m4_pushdef([_m4_diverting([$1])])m4_pushdef([_m4_diverting], [$1])]dnl
-[m4_divert_push(_m4_divert_grow, [-])]dnl
-[m4_if([$2], [], [$1], [$2])
-m4_provide_if([$1], [m4_set_remove([_m4_provide], [$1])],
- [m4_ifndef([m4_require_silent_probe],
- [m4_warn([syntax], [$1 is m4_require'd but not m4_defun'd])])])]dnl
-[_m4_divert_raw($3)_m4_undivert(_m4_divert_grow)]dnl
-[m4_divert_pop(_m4_divert_grow)_m4_popdef([_m4_divert_grow],
-[_m4_diverting([$1])], [_m4_diverting])])
-
-
-# _m4_require_check(NAME-TO-CHECK, OWNER, CALLER)
-# -----------------------------------------------
-# NAME-TO-CHECK has been identified as previously expanded in the
-# diversion owned by OWNER. If this is a problem, warn on behalf of
-# CALLER and return _m4_require_call; otherwise return m4_ignore.
-m4_define([_m4_require_check],
-[m4_if(_m4_defn([_m4_diverting]), [$2], [m4_ignore],
- m4_ifdef([_m4_diverting([$2])], [-]), [-], [m4_warn([syntax],
- [$3: `$1' was expanded before it was required
-http://www.gnu.org/software/autoconf/manual/autoconf.html#Expanded-Before-Required])_m4_require_call],
- [m4_ignore])])
-
-
-# _m4_divert_grow
-# ---------------
-# The counter for _m4_require_call.
-m4_define([_m4_divert_grow], _m4_divert([GROW]))
-
-
-# m4_expand_once(TEXT, [WITNESS = TEXT])
-# --------------------------------------
-# If TEXT has never been expanded, expand it *here*. Use WITNESS as
-# as a memory that TEXT has already been expanded.
-m4_define([m4_expand_once],
-[m4_provide_if(m4_default_quoted([$2], [$1]),
- [],
- [m4_provide(m4_default_quoted([$2], [$1]))[]$1])])
-
-
-# m4_provide(MACRO-NAME)
-# ----------------------
-m4_define([m4_provide],
-[m4_ifdef([m4_provide($1)], [],
-[m4_set_add([_m4_provide], [$1], [m4_define([m4_provide($1)],
- m4_ifdef([_m4_diverting], [_m4_defn([_m4_diverting])]))])])])
-
-
-# m4_provide_if(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED)
-# -------------------------------------------------------
-# If MACRO-NAME is provided do IF-PROVIDED, else IF-NOT-PROVIDED.
-# The purpose of this macro is to provide the user with a means to
-# check macros which are provided without letting her know how the
-# information is coded.
-m4_define([m4_provide_if],
-[m4_ifdef([m4_provide($1)],
- [$2], [$3])])
-
-
-## --------------------- ##
-## 12. Text processing. ##
-## --------------------- ##
-
-
-# m4_cr_letters
-# m4_cr_LETTERS
-# m4_cr_Letters
-# -------------
-m4_define([m4_cr_letters], [abcdefghijklmnopqrstuvwxyz])
-m4_define([m4_cr_LETTERS], [ABCDEFGHIJKLMNOPQRSTUVWXYZ])
-m4_define([m4_cr_Letters],
-m4_defn([m4_cr_letters])dnl
-m4_defn([m4_cr_LETTERS])dnl
-)
-
-
-# m4_cr_digits
-# ------------
-m4_define([m4_cr_digits], [0123456789])
-
-
-# m4_cr_alnum
-# -----------
-m4_define([m4_cr_alnum],
-m4_defn([m4_cr_Letters])dnl
-m4_defn([m4_cr_digits])dnl
-)
-
-
-# m4_cr_symbols1
-# m4_cr_symbols2
-# --------------
-m4_define([m4_cr_symbols1],
-m4_defn([m4_cr_Letters])dnl
-_)
-
-m4_define([m4_cr_symbols2],
-m4_defn([m4_cr_symbols1])dnl
-m4_defn([m4_cr_digits])dnl
-)
-
-# m4_cr_all
-# ---------
-# The character range representing everything, with `-' as the last
-# character, since it is special to m4_translit. Use with care, because
-# it contains characters special to M4 (fortunately, both ASCII and EBCDIC
-# have [] in order, so m4_defn([m4_cr_all]) remains a valid string). It
-# also contains characters special to terminals, so it should never be
-# displayed in an error message. Also, attempts to map [ and ] to other
-# characters via m4_translit must deal with the fact that m4_translit does
-# not add quotes to the output.
-#
-# In EBCDIC, $ is immediately followed by *, which leads to problems
-# if m4_cr_all is inlined into a macro definition; so swap them.
-#
-# It is mainly useful in generating inverted character range maps, for use
-# in places where m4_translit is faster than an equivalent m4_bpatsubst;
-# the regex `[^a-z]' is equivalent to:
-# m4_translit(m4_dquote(m4_defn([m4_cr_all])), [a-z])
-m4_define([m4_cr_all],
-m4_translit(m4_dquote(m4_format(m4_dquote(m4_for(
- ,1,255,,[[%c]]))m4_for([i],1,255,,[,i]))), [$*-], [*$])-)
-
-
-# _m4_define_cr_not(CATEGORY)
-# ---------------------------
-# Define m4_cr_not_CATEGORY as the inverse of m4_cr_CATEGORY.
-m4_define([_m4_define_cr_not],
-[m4_define([m4_cr_not_$1],
- m4_translit(m4_dquote(m4_defn([m4_cr_all])),
- m4_defn([m4_cr_$1])))])
-
-
-# m4_cr_not_letters
-# m4_cr_not_LETTERS
-# m4_cr_not_Letters
-# m4_cr_not_digits
-# m4_cr_not_alnum
-# m4_cr_not_symbols1
-# m4_cr_not_symbols2
-# ------------------
-# Inverse character sets
-_m4_define_cr_not([letters])
-_m4_define_cr_not([LETTERS])
-_m4_define_cr_not([Letters])
-_m4_define_cr_not([digits])
-_m4_define_cr_not([alnum])
-_m4_define_cr_not([symbols1])
-_m4_define_cr_not([symbols2])
-
-
-# m4_newline([STRING])
-# --------------------
-# Expands to a newline, possibly followed by STRING. Exists mostly for
-# formatting reasons.
-m4_define([m4_newline], [
-$1])
-
-
-# m4_re_escape(STRING)
-# --------------------
-# Escape RE active characters in STRING.
-m4_define([m4_re_escape],
-[m4_bpatsubst([$1],
- [[][*+.?\^$]], [\\\&])])
-
-
-# m4_re_string
-# ------------
-# Regexp for `[a-zA-Z_0-9]*'
-# m4_dquote provides literal [] for the character class.
-m4_define([m4_re_string],
-m4_dquote(m4_defn([m4_cr_symbols2]))dnl
-[*]dnl
-)
-
-
-# m4_re_word
-# ----------
-# Regexp for `[a-zA-Z_][a-zA-Z_0-9]*'
-m4_define([m4_re_word],
-m4_dquote(m4_defn([m4_cr_symbols1]))dnl
-m4_defn([m4_re_string])dnl
-)
-
-
-# m4_tolower(STRING)
-# m4_toupper(STRING)
-# ------------------
-# These macros convert STRING to lowercase or uppercase.
-#
-# Rather than expand the m4_defn each time, we inline them up front.
-m4_define([m4_tolower],
-[m4_translit([[$1]], ]m4_dquote(m4_defn([m4_cr_LETTERS]))[,
- ]m4_dquote(m4_defn([m4_cr_letters]))[)])
-m4_define([m4_toupper],
-[m4_translit([[$1]], ]m4_dquote(m4_defn([m4_cr_letters]))[,
- ]m4_dquote(m4_defn([m4_cr_LETTERS]))[)])
-
-
-# m4_split(STRING, [REGEXP])
-# --------------------------
-# Split STRING into an m4 list of quoted elements. The elements are
-# quoted with [ and ]. Beginning spaces and end spaces *are kept*.
-# Use m4_strip to remove them.
-#
-# REGEXP specifies where to split. Default is [\t ]+.
-#
-# If STRING is empty, the result is an empty list.
-#
-# Pay attention to the m4_changequotes. When m4 reads the definition of
-# m4_split, it still has quotes set to [ and ]. Luckily, these are matched
-# in the macro body, so the definition is stored correctly. Use the same
-# alternate quotes as m4_noquote; it must be unlikely to appear in $1.
-#
-# Also, notice that $1 is quoted twice, since we want the result to
-# be quoted. Then you should understand that the argument of
-# patsubst is -=<{(STRING)}>=- (i.e., with additional -=<{( and )}>=-).
-#
-# This macro is safe on active symbols, i.e.:
-# m4_define(active, ACTIVE)
-# m4_split([active active ])end
-# => [active], [active], []end
-#
-# Optimize on regex of ` ' (space), since m4_foreach_w already guarantees
-# that the list contains single space separators, and a common case is
-# splitting a single-element list. This macro is called frequently,
-# so avoid unnecessary dnl inside the definition.
-m4_define([m4_split],
-[m4_if([$1], [], [],
- [$2], [ ], [m4_if(m4_index([$1], [ ]), [-1], [[[$1]]],
- [_$0([$1], [$2], [, ])])],
- [$2], [], [_$0([$1], [[ ]+], [, ])],
- [_$0([$1], [$2], [, ])])])
-
-m4_define([_m4_split],
-[m4_changequote([-=<{(],[)}>=-])]dnl
-[[m4_bpatsubst(-=<{(-=<{($1)}>=-)}>=-, -=<{($2)}>=-,
- -=<{(]$3[)}>=-)]m4_changequote([, ])])
-
-
-# m4_chomp(STRING)
-# m4_chomp_all(STRING)
-# --------------------
-# Return STRING quoted, but without a trailing newline. m4_chomp
-# removes at most one newline, while m4_chomp_all removes all
-# consecutive trailing newlines. Embedded newlines are not touched,
-# and a trailing backslash-newline leaves just a trailing backslash.
-#
-# m4_bregexp is slower than m4_index, and we don't always want to
-# remove all newlines; hence the two variants. We massage characters
-# to give a nicer pattern to match, particularly since m4_bregexp is
-# line-oriented. Both versions must guarantee a match, to avoid bugs
-# with precision -1 in m4_format in older m4.
-m4_define([m4_chomp],
-[m4_format([[%.*s]], m4_index(m4_translit([[$1]], [
-/.], [/ ])[./.], [/.]), [$1])])
-
-m4_define([m4_chomp_all],
-[m4_format([[%.*s]], m4_bregexp(m4_translit([[$1]], [
-/], [/ ]), [/*$]), [$1])])
-
-
-# m4_flatten(STRING)
-# ------------------
-# If STRING contains end of lines, replace them with spaces. If there
-# are backslashed end of lines, remove them. This macro is safe with
-# active symbols.
-# m4_define(active, ACTIVE)
-# m4_flatten([active
-# act\
-# ive])end
-# => active activeend
-#
-# In m4, m4_bpatsubst is expensive, so first check for a newline.
-m4_define([m4_flatten],
-[m4_if(m4_index([$1], [
-]), [-1], [[$1]],
- [m4_translit(m4_bpatsubst([[[$1]]], [\\
-]), [
-], [ ])])])
-
-
-# m4_strip(STRING)
-# ----------------
-# Expands into STRING with tabs and spaces singled out into a single
-# space, and removing leading and trailing spaces.
-#
-# This macro is robust to active symbols.
-# m4_define(active, ACTIVE)
-# m4_strip([ active <tab> <tab>active ])end
-# => active activeend
-#
-# First, notice that we guarantee trailing space. Why? Because regular
-# expressions are greedy, and `.* ?' would always group the space into the
-# .* portion. The algorithm is simpler by avoiding `?' at the end. The
-# algorithm correctly strips everything if STRING is just ` '.
-#
-# Then notice the second pattern: it is in charge of removing the
-# leading/trailing spaces. Why not just `[^ ]'? Because they are
-# applied to over-quoted strings, i.e. more or less [STRING], due
-# to the limitations of m4_bpatsubsts. So the leading space in STRING
-# is the *second* character; equally for the trailing space.
-m4_define([m4_strip],
-[m4_bpatsubsts([$1 ],
- [[ ]+], [ ],
- [^. ?\(.*\) .$], [[[\1]]])])
-
-
-# m4_normalize(STRING)
-# --------------------
-# Apply m4_flatten and m4_strip to STRING.
-#
-# The argument is quoted, so that the macro is robust to active symbols:
-#
-# m4_define(active, ACTIVE)
-# m4_normalize([ act\
-# ive
-# active ])end
-# => active activeend
-
-m4_define([m4_normalize],
-[m4_strip(m4_flatten([$1]))])
-
-
-
-# m4_join(SEP, ARG1, ARG2...)
-# ---------------------------
-# Produce ARG1SEPARG2...SEPARGn. Avoid back-to-back SEP when a given ARG
-# is the empty string. No expansion is performed on SEP or ARGs.
-#
-# Since the number of arguments to join can be arbitrarily long, we
-# want to avoid having more than one $@ in the macro definition;
-# otherwise, the expansion would require twice the memory of the already
-# long list. Hence, m4_join merely looks for the first non-empty element,
-# and outputs just that element; while _m4_join looks for all non-empty
-# elements, and outputs them following a separator. The final trick to
-# note is that we decide between recursing with $0 or _$0 based on the
-# nested m4_if ending with `_'.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_join],
-[m4_if([$#], [1], [],
- [$#], [2], [[$2]],
- [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift2($@))])])
-m4_define([_m4_join],
-[m4_if([$#$2], [2], [],
- [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift2($@))])])
-
-# m4_joinall(SEP, ARG1, ARG2...)
-# ------------------------------
-# Produce ARG1SEPARG2...SEPARGn. An empty ARG results in back-to-back SEP.
-# No expansion is performed on SEP or ARGs.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_joinall], [[$2]_$0([$1], m4_shift($@))])
-m4_define([_m4_joinall],
-[m4_if([$#], [2], [], [[$1$3]$0([$1], m4_shift2($@))])])
-
-# m4_combine([SEPARATOR], PREFIX-LIST, [INFIX], SUFFIX...)
-# --------------------------------------------------------
-# Produce the pairwise combination of every element in the quoted,
-# comma-separated PREFIX-LIST with every element from the SUFFIX arguments.
-# Each pair is joined with INFIX, and pairs are separated by SEPARATOR.
-# No expansion occurs on SEPARATOR, INFIX, or elements of either list.
-#
-# For example:
-# m4_combine([, ], [[a], [b], [c]], [-], [1], [2], [3])
-# => a-1, a-2, a-3, b-1, b-2, b-3, c-1, c-2, c-3
-#
-# This definition is a bit hairy; the thing to realize is that we want
-# to construct m4_map_args_sep([[prefix$3]], [], [[$1]], m4_shift3($@))
-# as the inner loop, using each prefix generated by the outer loop,
-# and without recalculating m4_shift3 every outer iteration.
-m4_define([m4_combine],
-[m4_if([$2], [], [], m4_eval([$# > 3]), [1],
-[m4_map_args_sep([m4_map_args_sep(m4_dquote(], [)[[$3]], [], [[$1]],]]]dnl
-[m4_dquote(m4_dquote(m4_shift3($@)))[[)], [[$1]], $2)])])
-
-
-# m4_append(MACRO-NAME, STRING, [SEPARATOR])
-# ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR`'STRING'
-# at the end. It is valid to use this macro with MACRO-NAME undefined,
-# in which case no SEPARATOR is added. Be aware that the criterion is
-# `not being defined', and not `not being empty'.
-#
-# Note that neither STRING nor SEPARATOR are expanded here; rather, when
-# you expand MACRO-NAME, they will be expanded at that point in time.
-#
-# This macro is robust to active symbols. It can be used to grow
-# strings.
-#
-# | m4_define(active, ACTIVE)dnl
-# | m4_append([sentence], [This is an])dnl
-# | m4_append([sentence], [ active ])dnl
-# | m4_append([sentence], [symbol.])dnl
-# | sentence
-# | m4_undefine([active])dnl
-# | sentence
-# => This is an ACTIVE symbol.
-# => This is an active symbol.
-#
-# It can be used to define hooks.
-#
-# | m4_define(active, ACTIVE)dnl
-# | m4_append([hooks], [m4_define([act1], [act2])])dnl
-# | m4_append([hooks], [m4_define([act2], [active])])dnl
-# | m4_undefine([active])dnl
-# | act1
-# | hooks
-# | act1
-# => act1
-# =>
-# => active
-#
-# It can also be used to create lists, although this particular usage was
-# broken prior to autoconf 2.62.
-# | m4_append([list], [one], [, ])dnl
-# | m4_append([list], [two], [, ])dnl
-# | m4_append([list], [three], [, ])dnl
-# | list
-# | m4_dquote(list)
-# => one, two, three
-# => [one],[two],[three]
-#
-# Note that m4_append can benefit from amortized O(n) m4 behavior, if
-# the underlying m4 implementation is smart enough to avoid copying existing
-# contents when enlarging a macro's definition into any pre-allocated storage
-# (m4 1.4.x unfortunately does not implement this optimization). We do
-# not implement m4_prepend, since it is inherently O(n^2) (pre-allocated
-# storage only occurs at the end of a macro, so the existing contents must
-# always be moved).
-#
-# Use _m4_defn for speed.
-m4_define([m4_append],
-[m4_define([$1], m4_ifdef([$1], [_m4_defn([$1])[$3]])[$2])])
-
-
-# m4_append_uniq(MACRO-NAME, STRING, [SEPARATOR], [IF-UNIQ], [IF-DUP])
-# --------------------------------------------------------------------
-# Like `m4_append', but append only if not yet present. Additionally,
-# expand IF-UNIQ if STRING was appended, or IF-DUP if STRING was already
-# present. Also, warn if SEPARATOR is not empty and occurs within STRING,
-# as the algorithm no longer guarantees uniqueness.
-#
-# Note that while m4_append can be O(n) (depending on the quality of the
-# underlying M4 implementation), m4_append_uniq is inherently O(n^2)
-# because each append operation searches the entire string.
-m4_define([m4_append_uniq],
-[m4_ifval([$3], [m4_if(m4_index([$2], [$3]), [-1], [],
- [m4_warn([syntax],
- [$0: `$2' contains `$3'])])])_$0($@)])
-m4_define([_m4_append_uniq],
-[m4_ifdef([$1],
- [m4_if(m4_index([$3]_m4_defn([$1])[$3], [$3$2$3]), [-1],
- [m4_append([$1], [$2], [$3])$4], [$5])],
- [m4_define([$1], [$2])$4])])
-
-# m4_append_uniq_w(MACRO-NAME, STRINGS)
-# -------------------------------------
-# For each of the words in the whitespace separated list STRINGS, append
-# only the unique strings to the definition of MACRO-NAME.
-#
-# Use _m4_defn for speed.
-m4_define([m4_append_uniq_w],
-[m4_map_args_w([$2], [_m4_append_uniq([$1],], [, [ ])])])
-
-
-# m4_escape(STRING)
-# -----------------
-# Output quoted STRING, but with embedded #, $, [ and ] turned into
-# quadrigraphs.
-#
-# It is faster to check if STRING is already good using m4_translit
-# than to blindly perform four m4_bpatsubst.
-#
-# Because the translit is stripping quotes, it must also neutralize
-# anything that might be in a macro name, as well as comments, commas,
-# and parentheses. All the problem characters are unified so that a
-# single m4_index can scan the result.
-#
-# Rather than expand m4_defn every time m4_escape is expanded, we
-# inline its expansion up front.
-m4_define([m4_escape],
-[m4_if(m4_index(m4_translit([$1],
- [[]#,()]]m4_dquote(m4_defn([m4_cr_symbols2]))[, [$$$]), [$]),
- [-1], [m4_echo], [_$0])([$1])])
-
-m4_define([_m4_escape],
-[m4_changequote([-=<{(],[)}>=-])]dnl
-[m4_bpatsubst(m4_bpatsubst(m4_bpatsubst(m4_bpatsubst(
- -=<{(-=<{(-=<{(-=<{(-=<{($1)}>=-)}>=-)}>=-)}>=-)}>=-,
- -=<{(#)}>=-, -=<{(@%:@)}>=-),
- -=<{(\[)}>=-, -=<{(@<:@)}>=-),
- -=<{(\])}>=-, -=<{(@:>@)}>=-),
- -=<{(\$)}>=-, -=<{(@S|@)}>=-)m4_changequote([,])])
-
-
-# m4_text_wrap(STRING, [PREFIX], [FIRST-PREFIX], [WIDTH])
-# -------------------------------------------------------
-# Expands into STRING wrapped to hold in WIDTH columns (default = 79).
-# If PREFIX is given, each line is prefixed with it. If FIRST-PREFIX is
-# specified, then the first line is prefixed with it. As a special case,
-# if the length of FIRST-PREFIX is greater than that of PREFIX, then
-# FIRST-PREFIX will be left alone on the first line.
-#
-# No expansion occurs on the contents STRING, PREFIX, or FIRST-PREFIX,
-# although quadrigraphs are correctly recognized. More precisely,
-# you may redefine m4_qlen to recognize whatever escape sequences that
-# you will post-process.
-#
-# Typical outputs are:
-#
-# m4_text_wrap([Short string */], [ ], [/* ], 20)
-# => /* Short string */
-#
-# m4_text_wrap([Much longer string */], [ ], [/* ], 20)
-# => /* Much longer
-# => string */
-#
-# m4_text_wrap([Short doc.], [ ], [ --short ], 30)
-# => --short Short doc.
-#
-# m4_text_wrap([Short doc.], [ ], [ --too-wide ], 30)
-# => --too-wide
-# => Short doc.
-#
-# m4_text_wrap([Super long documentation.], [ ], [ --too-wide ], 30)
-# => --too-wide
-# => Super long
-# => documentation.
-#
-# FIXME: there is no checking of a longer PREFIX than WIDTH, but do
-# we really want to bother with people trying each single corner
-# of a software?
-#
-# This macro does not leave a trailing space behind the last word of a line,
-# which complicates it a bit. The algorithm is otherwise stupid and simple:
-# all the words are preceded by m4_Separator which is defined to empty for
-# the first word, and then ` ' (single space) for all the others.
-#
-# The algorithm uses a helper that uses $2 through $4 directly, rather than
-# using local variables, to avoid m4_defn overhead, or expansion swallowing
-# any $. It also bypasses m4_popdef overhead with _m4_popdef since no user
-# macro expansion occurs in the meantime. Also, the definition is written
-# with m4_do, to avoid time wasted on dnl during expansion (since this is
-# already a time-consuming macro).
-m4_define([m4_text_wrap],
-[_$0(m4_escape([$1]), [$2], m4_default_quoted([$3], [$2]),
- m4_default_quoted([$4], [79]))])
-
-m4_define([_m4_text_wrap],
-m4_do(dnl set up local variables, to avoid repeated calculations
-[[m4_pushdef([m4_Indent], m4_qlen([$2]))]],
-[[m4_pushdef([m4_Cursor], m4_qlen([$3]))]],
-[[m4_pushdef([m4_Separator], [m4_define([m4_Separator], [ ])])]],
-dnl expand the first prefix, then check its length vs. regular prefix
-dnl same length: nothing special
-dnl prefix1 longer: output on line by itself, and reset cursor
-dnl prefix1 shorter: pad to length of prefix, and reset cursor
-[[[$3]m4_cond([m4_Cursor], m4_Indent, [],
- [m4_eval(m4_Cursor > m4_Indent)], [1], [
-[$2]m4_define([m4_Cursor], m4_Indent)],
- [m4_format([%*s], m4_max([0],
- m4_eval(m4_Indent - m4_Cursor)), [])m4_define([m4_Cursor], m4_Indent)])]],
-dnl now, for each word, compute the cursor after the word is output, then
-dnl check if the cursor would exceed the wrap column
-dnl if so, reset cursor, and insert newline and prefix
-dnl if not, insert the separator (usually a space)
-dnl either way, insert the word
-[[m4_map_args_w([$1], [$0_word(], [, [$2], [$4])])]],
-dnl finally, clean up the local variables
-[[_m4_popdef([m4_Separator], [m4_Cursor], [m4_Indent])]]))
-
-m4_define([_m4_text_wrap_word],
-[m4_define([m4_Cursor], m4_eval(m4_Cursor + m4_qlen([$1]) + 1))]dnl
-[m4_if(m4_eval(m4_Cursor > ([$3])),
- [1], [m4_define([m4_Cursor], m4_eval(m4_Indent + m4_qlen([$1]) + 1))
-[$2]],
- [m4_Separator[]])[$1]])
-
-# m4_text_box(MESSAGE, [FRAME-CHARACTER = `-'])
-# ---------------------------------------------
-# Turn MESSAGE into:
-# ## ------- ##
-# ## MESSAGE ##
-# ## ------- ##
-# using FRAME-CHARACTER in the border.
-#
-# Quadrigraphs are correctly recognized. More precisely, you may
-# redefine m4_qlen to recognize whatever escape sequences that you
-# will post-process.
-m4_define([m4_text_box],
-[m4_pushdef([m4_Border],
- m4_translit(m4_format([[[%*s]]], m4_decr(m4_qlen(_m4_expand([$1
-]))), []), [ ], m4_default_quoted([$2], [-])))]dnl
-[[##] _m4_defn([m4_Border]) [##]
-[##] $1 [##]
-[##] _m4_defn([m4_Border]) [##]_m4_popdef([m4_Border])])
-
-
-# m4_qlen(STRING)
-# ---------------
-# Expands to the length of STRING after autom4te converts all quadrigraphs.
-#
-# If you use some other means of post-processing m4 output rather than
-# autom4te, then you may redefine this macro to recognize whatever
-# escape sequences your post-processor will handle. For that matter,
-# m4_define([m4_qlen], m4_defn([m4_len])) is sufficient if you don't
-# do any post-processing.
-#
-# Avoid bpatsubsts for the common case of no quadrigraphs. Cache
-# results, as configure scripts tend to ask about lengths of common
-# strings like `/*' and `*/' rather frequently. Minimize the number
-# of times that $1 occurs in m4_qlen, so there is less text to parse
-# on a cache hit.
-m4_define([m4_qlen],
-[m4_ifdef([$0-$1], [_m4_defn([$0-]], [_$0(])[$1])])
-m4_define([_m4_qlen],
-[m4_define([m4_qlen-$1],
-m4_if(m4_index([$1], [@]), [-1], [m4_len([$1])],
- [m4_len(m4_bpatsubst([[$1]],
- [@\(\(<:\|:>\|S|\|%:\|\{:\|:\}\)\(@\)\|&t@\)],
- [\3]))]))_m4_defn([m4_qlen-$1])])
-
-# m4_copyright_condense(TEXT)
-# ---------------------------
-# Condense the copyright notice in TEXT to only display the final
-# year, wrapping the results to fit in 80 columns.
-m4_define([m4_copyright_condense],
-[m4_text_wrap(m4_bpatsubst(m4_flatten([[$1]]),
-[(C)[- ,0-9]*\([1-9][0-9][0-9][0-9]\)], [(C) \1]))])
-
-## ----------------------- ##
-## 13. Number processing. ##
-## ----------------------- ##
-
-# m4_cmp(A, B)
-# ------------
-# Compare two integer expressions.
-# A < B -> -1
-# A = B -> 0
-# A > B -> 1
-m4_define([m4_cmp],
-[m4_eval((([$1]) > ([$2])) - (([$1]) < ([$2])))])
-
-
-# m4_list_cmp(A, B)
-# -----------------
-#
-# Compare the two lists of integer expressions A and B. For instance:
-# m4_list_cmp([1, 0], [1]) -> 0
-# m4_list_cmp([1, 0], [1, 0]) -> 0
-# m4_list_cmp([1, 2], [1, 0]) -> 1
-# m4_list_cmp([1, 2, 3], [1, 2]) -> 1
-# m4_list_cmp([1, 2, -3], [1, 2]) -> -1
-# m4_list_cmp([1, 0], [1, 2]) -> -1
-# m4_list_cmp([1], [1, 2]) -> -1
-# m4_define([xa], [oops])dnl
-# m4_list_cmp([[0xa]], [5+5]) -> 0
-#
-# Rather than face the overhead of m4_case, we use a helper function whose
-# expansion includes the name of the macro to invoke on the tail, either
-# m4_ignore or m4_unquote. This is particularly useful when comparing
-# long lists, since less text is being expanded for deciding when to end
-# recursion. The recursion is between a pair of macros that alternate
-# which list is trimmed by one element; this is more efficient than
-# calling m4_cdr on both lists from a single macro. Guarantee exactly
-# one expansion of both lists' side effects.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_list_cmp],
-[_$0_raw(m4_dquote($1), m4_dquote($2))])
-
-m4_define([_m4_list_cmp_raw],
-[m4_if([$1], [$2], [0], [_m4_list_cmp_1([$1], $2)])])
-
-m4_define([_m4_list_cmp],
-[m4_if([$1], [], [0m4_ignore], [$2], [0], [m4_unquote], [$2m4_ignore])])
-
-m4_define([_m4_list_cmp_1],
-[_m4_list_cmp_2([$2], [m4_shift2($@)], $1)])
-
-m4_define([_m4_list_cmp_2],
-[_m4_list_cmp([$1$3], m4_cmp([$3+0], [$1+0]))(
- [_m4_list_cmp_1(m4_dquote(m4_shift3($@)), $2)])])
-
-# m4_max(EXPR, ...)
-# m4_min(EXPR, ...)
-# -----------------
-# Return the decimal value of the maximum (or minimum) in a series of
-# integer expressions.
-#
-# M4 1.4.x doesn't provide ?:. Hence this huge m4_eval. Avoid m4_eval
-# if both arguments are identical, but be aware of m4_max(0xa, 10) (hence
-# the use of <=, not just <, in the second multiply).
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_max],
-[m4_if([$#], [0], [m4_fatal([too few arguments to $0])],
- [$#], [1], [m4_eval([$1])],
- [$#$1], [2$2], [m4_eval([$1])],
- [$#], [2], [_$0($@)],
- [_m4_minmax([_$0], $@)])])
-
-m4_define([_m4_max],
-[m4_eval((([$1]) > ([$2])) * ([$1]) + (([$1]) <= ([$2])) * ([$2]))])
-
-m4_define([m4_min],
-[m4_if([$#], [0], [m4_fatal([too few arguments to $0])],
- [$#], [1], [m4_eval([$1])],
- [$#$1], [2$2], [m4_eval([$1])],
- [$#], [2], [_$0($@)],
- [_m4_minmax([_$0], $@)])])
-
-m4_define([_m4_min],
-[m4_eval((([$1]) < ([$2])) * ([$1]) + (([$1]) >= ([$2])) * ([$2]))])
-
-# _m4_minmax(METHOD, ARG1, ARG2...)
-# ---------------------------------
-# Common recursion code for m4_max and m4_min. METHOD must be _m4_max
-# or _m4_min, and there must be at least two arguments to combine.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([_m4_minmax],
-[m4_if([$#], [3], [$1([$2], [$3])],
- [$0([$1], $1([$2], [$3]), m4_shift3($@))])])
-
-
-# m4_sign(A)
-# ----------
-# The sign of the integer expression A.
-m4_define([m4_sign],
-[m4_eval((([$1]) > 0) - (([$1]) < 0))])
-
-
-
-## ------------------------ ##
-## 14. Version processing. ##
-## ------------------------ ##
-
-
-# m4_version_unletter(VERSION)
-# ----------------------------
-# Normalize beta version numbers with letters to numeric expressions, which
-# can then be handed to m4_eval for the purpose of comparison.
-#
-# Nl -> (N+1).-1.(l#)
-#
-# for example:
-# [2.14a] -> [0,2,14+1,-1,[0r36:a]] -> 2.15.-1.10
-# [2.14b] -> [0,2,15+1,-1,[0r36:b]] -> 2.15.-1.11
-# [2.61aa.b] -> [0,2.61,1,-1,[0r36:aa],+1,-1,[0r36:b]] -> 2.62.-1.370.1.-1.11
-# [08] -> [0,[0r10:0]8] -> 8
-#
-# This macro expects reasonable version numbers, but can handle double
-# letters and does not expand any macros. Original version strings can
-# use both `.' and `-' separators.
-#
-# Inline constant expansions, to avoid m4_defn overhead.
-# _m4_version_unletter is the real workhorse used by m4_version_compare,
-# but since [0r36:a] and commas are less readable than 10 and dots, we
-# provide a wrapper for human use.
-m4_define([m4_version_unletter],
-[m4_substr(m4_map_args([.m4_eval], m4_unquote(_$0([$1]))), [3])])
-m4_define([_m4_version_unletter],
-[m4_bpatsubst(m4_bpatsubst(m4_translit([[[[0,$1]]]], [.-], [,,]),]dnl
-m4_dquote(m4_dquote(m4_defn([m4_cr_Letters])))[[+],
- [+1,-1,[0r36:\&]]), [,0], [,[0r10:0]])])
-
-
-# m4_version_compare(VERSION-1, VERSION-2)
-# ----------------------------------------
-# Compare the two version numbers and expand into
-# -1 if VERSION-1 < VERSION-2
-# 0 if =
-# 1 if >
-#
-# Since _m4_version_unletter does not output side effects, we can
-# safely bypass the overhead of m4_version_cmp.
-m4_define([m4_version_compare],
-[_m4_list_cmp_raw(_m4_version_unletter([$1]), _m4_version_unletter([$2]))])
-
-
-# m4_PACKAGE_NAME
-# m4_PACKAGE_TARNAME
-# m4_PACKAGE_VERSION
-# m4_PACKAGE_STRING
-# m4_PACKAGE_BUGREPORT
-# --------------------
-# If m4sugar/version.m4 is present, then define version strings. This
-# file is optional, provided by Autoconf but absent in Bison.
-m4_sinclude([m4sugar/version.m4])
-
-
-# m4_version_prereq(VERSION, [IF-OK], [IF-NOT = FAIL])
-# ----------------------------------------------------
-# Check this Autoconf version against VERSION.
-m4_define([m4_version_prereq],
-m4_ifdef([m4_PACKAGE_VERSION],
-[[m4_if(m4_version_compare(]m4_dquote(m4_defn([m4_PACKAGE_VERSION]))[, [$1]),
- [-1],
- [m4_default([$3],
- [m4_fatal([Autoconf version $1 or higher is required],
- [63])])],
- [$2])]],
-[[m4_fatal([m4sugar/version.m4 not found])]]))
-
-
-## ------------------ ##
-## 15. Set handling. ##
-## ------------------ ##
-
-# Autoconf likes to create arbitrarily large sets; for example, as of
-# this writing, the configure.ac for coreutils tracks a set of more
-# than 400 AC_SUBST. How do we track all of these set members,
-# without introducing duplicates? We could use m4_append_uniq, with
-# the set NAME residing in the contents of the macro NAME.
-# Unfortunately, m4_append_uniq is quadratic for set creation, because
-# it costs O(n) to search the string for each of O(n) insertions; not
-# to mention that with m4 1.4.x, even using m4_append is slow, costing
-# O(n) rather than O(1) per insertion. Other set operations, not used
-# by Autoconf but still possible by manipulation of the definition
-# tracked in macro NAME, include O(n) deletion of one element and O(n)
-# computation of set size. Because the set is exposed to the user via
-# the definition of a single macro, we cannot cache any data about the
-# set without risking the cache being invalidated by the user
-# redefining NAME.
-#
-# Can we do better? Yes, because m4 gives us an O(1) search function
-# for free: ifdef. Additionally, even m4 1.4.x gives us an O(1)
-# insert operation for free: pushdef. But to use these, we must
-# represent the set via a group of macros; to keep the set consistent,
-# we must hide the set so that the user can only manipulate it through
-# accessor macros. The contents of the set are maintained through two
-# access points; _m4_set([name]) is a pushdef stack of values in the
-# set, useful for O(n) traversal of the set contents; while the
-# existence of _m4_set([name],value) with no particular value is
-# useful for O(1) querying of set membership. And since the user
-# cannot externally manipulate the set, we are free to add additional
-# caching macros for other performance improvements. Deletion can be
-# O(1) per element rather than O(n), by reworking the definition of
-# _m4_set([name],value) to be 0 or 1 based on current membership, and
-# adding _m4_set_cleanup(name) to defer the O(n) cleanup of
-# _m4_set([name]) until we have another reason to do an O(n)
-# traversal. The existence of _m4_set_cleanup(name) can then be used
-# elsewhere to determine if we must dereference _m4_set([name],value),
-# or assume that definition implies set membership. Finally, size can
-# be tracked in an O(1) fashion with _m4_set_size(name).
-#
-# The quoting in _m4_set([name],value) is chosen so that there is no
-# ambiguity with a set whose name contains a comma, and so that we can
-# supply the value via _m4_defn([_m4_set([name])]) without needing any
-# quote manipulation.
-
-# m4_set_add(SET, VALUE, [IF-UNIQ], [IF-DUP])
-# -------------------------------------------
-# Add VALUE as an element of SET. Expand IF-UNIQ on the first
-# addition, and IF-DUP if it is already in the set. Addition of one
-# element is O(1), such that overall set creation is O(n).
-#
-# We do not want to add a duplicate for a previously deleted but
-# unpruned element, but it is just as easy to check existence directly
-# as it is to query _m4_set_cleanup($1).
-m4_define([m4_set_add],
-[m4_ifdef([_m4_set([$1],$2)],
- [m4_if(m4_indir([_m4_set([$1],$2)]), [0],
- [m4_define([_m4_set([$1],$2)],
- [1])_m4_set_size([$1], [m4_incr])$3], [$4])],
- [m4_define([_m4_set([$1],$2)],
- [1])m4_pushdef([_m4_set([$1])],
- [$2])_m4_set_size([$1], [m4_incr])$3])])
-
-# m4_set_add_all(SET, VALUE...)
-# -----------------------------
-# Add each VALUE into SET. This is O(n) in the number of VALUEs, and
-# can be faster than calling m4_set_add for each VALUE.
-#
-# Implement two recursion helpers; the check variant is slower but
-# handles the case where an element has previously been removed but
-# not pruned. The recursion helpers ignore their second argument, so
-# that we can use the faster m4_shift2 and 2 arguments, rather than
-# _m4_shift2 and one argument, as the signal to end recursion.
-#
-# Please keep foreach.m4 in sync with any adjustments made here.
-m4_define([m4_set_add_all],
-[m4_define([_m4_set_size($1)], m4_eval(m4_set_size([$1])
- + m4_len(m4_ifdef([_m4_set_cleanup($1)], [_$0_check], [_$0])([$1], $@))))])
-
-m4_define([_m4_set_add_all],
-[m4_if([$#], [2], [],
- [m4_ifdef([_m4_set([$1],$3)], [],
- [m4_define([_m4_set([$1],$3)], [1])m4_pushdef([_m4_set([$1])],
- [$3])-])$0([$1], m4_shift2($@))])])
-
-m4_define([_m4_set_add_all_check],
-[m4_if([$#], [2], [],
- [m4_set_add([$1], [$3])$0([$1], m4_shift2($@))])])
-
-# m4_set_contains(SET, VALUE, [IF-PRESENT], [IF-ABSENT])
-# ------------------------------------------------------
-# Expand IF-PRESENT if SET contains VALUE, otherwise expand IF-ABSENT.
-# This is always O(1).
-m4_define([m4_set_contains],
-[m4_ifdef([_m4_set_cleanup($1)],
- [m4_if(m4_ifdef([_m4_set([$1],$2)],
- [m4_indir([_m4_set([$1],$2)])], [0]), [1], [$3], [$4])],
- [m4_ifdef([_m4_set([$1],$2)], [$3], [$4])])])
-
-# m4_set_contents(SET, [SEP])
-# ---------------------------
-# Expand to a single string containing all the elements in SET,
-# separated by SEP, without modifying SET. No provision is made for
-# disambiguating set elements that contain non-empty SEP as a
-# sub-string, or for recognizing a set that contains only the empty
-# string. Order of the output is not guaranteed. If any elements
-# have been previously removed from the set, this action will prune
-# the unused memory. This is O(n) in the size of the set before
-# pruning.
-#
-# Use _m4_popdef for speed. The existence of _m4_set_cleanup($1)
-# determines which version of _1 helper we use.
-m4_define([m4_set_contents],
-[m4_set_map_sep([$1], [], [], [[$2]])])
-
-# _m4_set_contents_1(SET)
-# _m4_set_contents_1c(SET)
-# _m4_set_contents_2(SET, [PRE], [POST], [SEP])
-# ---------------------------------------------
-# Expand to a list of quoted elements currently in the set, each
-# surrounded by PRE and POST, and moving SEP in front of PRE on
-# recursion. To avoid nesting limit restrictions, the algorithm must
-# be broken into two parts; _1 destructively copies the stack in
-# reverse into _m4_set_($1), producing no output; then _2
-# destructively copies _m4_set_($1) back into the stack in reverse.
-# If no elements were deleted, then this visits the set in the order
-# that elements were inserted. Behavior is undefined if PRE/POST/SEP
-# tries to recursively list or modify SET in any way other than
-# calling m4_set_remove on the current element. Use _1 if all entries
-# in the stack are guaranteed to be in the set, and _1c to prune
-# removed entries. Uses _m4_defn and _m4_popdef for speed.
-m4_define([_m4_set_contents_1],
-[_m4_stack_reverse([_m4_set([$1])], [_m4_set_($1)])])
-
-m4_define([_m4_set_contents_1c],
-[m4_ifdef([_m4_set([$1])],
- [m4_set_contains([$1], _m4_defn([_m4_set([$1])]),
- [m4_pushdef([_m4_set_($1)], _m4_defn([_m4_set([$1])]))],
- [_m4_popdef([_m4_set([$1],]_m4_defn(
- [_m4_set([$1])])[)])])_m4_popdef([_m4_set([$1])])$0([$1])],
- [_m4_popdef([_m4_set_cleanup($1)])])])
-
-m4_define([_m4_set_contents_2],
-[_m4_stack_reverse([_m4_set_($1)], [_m4_set([$1])],
- [$2[]_m4_defn([_m4_set_($1)])$3], [$4[]])])
-
-# m4_set_delete(SET)
-# ------------------
-# Delete all elements in SET, and reclaim any memory occupied by the
-# set. This is O(n) in the set size.
-#
-# Use _m4_defn and _m4_popdef for speed.
-m4_define([m4_set_delete],
-[m4_ifdef([_m4_set([$1])],
- [_m4_popdef([_m4_set([$1],]_m4_defn([_m4_set([$1])])[)],
- [_m4_set([$1])])$0([$1])],
- [m4_ifdef([_m4_set_cleanup($1)],
- [_m4_popdef([_m4_set_cleanup($1)])])m4_ifdef(
- [_m4_set_size($1)],
- [_m4_popdef([_m4_set_size($1)])])])])
-
-# m4_set_difference(SET1, SET2)
-# -----------------------------
-# Produce a LIST of quoted elements that occur in SET1 but not SET2.
-# Output a comma prior to any elements, to distinguish the empty
-# string from no elements. This can be directly used as a series of
-# arguments, such as for m4_join, or wrapped inside quotes for use in
-# m4_foreach. Order of the output is not guaranteed.
-#
-# Short-circuit the idempotence relation.
-m4_define([m4_set_difference],
-[m4_if([$1], [$2], [], [m4_set_map_sep([$1], [_$0([$2],], [)])])])
-
-m4_define([_m4_set_difference],
-[m4_set_contains([$1], [$2], [], [,[$2]])])
-
-# m4_set_dump(SET, [SEP])
-# -----------------------
-# Expand to a single string containing all the elements in SET,
-# separated by SEP, then delete SET. In general, if you only need to
-# list the contents once, this is faster than m4_set_contents. No
-# provision is made for disambiguating set elements that contain
-# non-empty SEP as a sub-string. Order of the output is not
-# guaranteed. This is O(n) in the size of the set before pruning.
-#
-# Use _m4_popdef for speed. Use existence of _m4_set_cleanup($1) to
-# decide if more expensive recursion is needed.
-m4_define([m4_set_dump],
-[m4_ifdef([_m4_set_size($1)],
- [_m4_popdef([_m4_set_size($1)])])m4_ifdef([_m4_set_cleanup($1)],
- [_$0_check], [_$0])([$1], [], [$2])])
-
-# _m4_set_dump(SET, [SEP], [PREP])
-# _m4_set_dump_check(SET, [SEP], [PREP])
-# --------------------------------------
-# Print SEP and the current element, then delete the element and
-# recurse with empty SEP changed to PREP. The check variant checks
-# whether the element has been previously removed. Use _m4_defn and
-# _m4_popdef for speed.
-m4_define([_m4_set_dump],
-[m4_ifdef([_m4_set([$1])],
- [[$2]_m4_defn([_m4_set([$1])])_m4_popdef([_m4_set([$1],]_m4_defn(
- [_m4_set([$1])])[)], [_m4_set([$1])])$0([$1], [$2$3])])])
-
-m4_define([_m4_set_dump_check],
-[m4_ifdef([_m4_set([$1])],
- [m4_set_contains([$1], _m4_defn([_m4_set([$1])]),
- [[$2]_m4_defn([_m4_set([$1])])])_m4_popdef(
- [_m4_set([$1],]_m4_defn([_m4_set([$1])])[)],
- [_m4_set([$1])])$0([$1], [$2$3])],
- [_m4_popdef([_m4_set_cleanup($1)])])])
-
-# m4_set_empty(SET, [IF-EMPTY], [IF-ELEMENTS])
-# --------------------------------------------
-# Expand IF-EMPTY if SET has no elements, otherwise IF-ELEMENTS.
-m4_define([m4_set_empty],
-[m4_ifdef([_m4_set_size($1)],
- [m4_if(m4_indir([_m4_set_size($1)]), [0], [$2], [$3])], [$2])])
-
-# m4_set_foreach(SET, VAR, ACTION)
-# --------------------------------
-# For each element of SET, define VAR to the element and expand
-# ACTION. ACTION should not recursively list SET's contents, add
-# elements to SET, nor delete any element from SET except the one
-# currently in VAR. The order that the elements are visited in is not
-# guaranteed. This is faster than the corresponding m4_foreach([VAR],
-# m4_indir([m4_dquote]m4_set_listc([SET])), [ACTION])
-m4_define([m4_set_foreach],
-[m4_pushdef([$2])m4_set_map_sep([$1], [m4_define([$2],], [)$3])])
-
-# m4_set_intersection(SET1, SET2)
-# -------------------------------
-# Produce a LIST of quoted elements that occur in both SET1 or SET2.
-# Output a comma prior to any elements, to distinguish the empty
-# string from no elements. This can be directly used as a series of
-# arguments, such as for m4_join, or wrapped inside quotes for use in
-# m4_foreach. Order of the output is not guaranteed.
-#
-# Iterate over the smaller set, and short-circuit the idempotence
-# relation.
-m4_define([m4_set_intersection],
-[m4_if([$1], [$2], [m4_set_listc([$1])],
- m4_eval(m4_set_size([$2]) < m4_set_size([$1])), [1], [$0([$2], [$1])],
- [m4_set_map_sep([$1], [_$0([$2],], [)])])])
-
-m4_define([_m4_set_intersection],
-[m4_set_contains([$1], [$2], [,[$2]])])
-
-# m4_set_list(SET)
-# m4_set_listc(SET)
-# -----------------
-# Produce a LIST of quoted elements of SET. This can be directly used
-# as a series of arguments, such as for m4_join or m4_set_add_all, or
-# wrapped inside quotes for use in m4_foreach or m4_map. With
-# m4_set_list, there is no way to distinguish an empty set from a set
-# containing only the empty string; with m4_set_listc, a leading comma
-# is output if there are any elements.
-m4_define([m4_set_list],
-[m4_set_map_sep([$1], [], [], [,])])
-
-m4_define([m4_set_listc],
-[m4_set_map_sep([$1], [,])])
-
-# m4_set_map(SET, ACTION)
-# -----------------------
-# For each element of SET, expand ACTION with a single argument of the
-# current element. ACTION should not recursively list SET's contents,
-# add elements to SET, nor delete any element from SET except the one
-# passed as an argument. The order that the elements are visited in
-# is not guaranteed. This is faster than either of the corresponding
-# m4_map_args([ACTION]m4_set_listc([SET]))
-# m4_set_foreach([SET], [VAR], [ACTION(m4_defn([VAR]))])
-m4_define([m4_set_map],
-[m4_set_map_sep([$1], [$2(], [)])])
-
-# m4_set_map_sep(SET, [PRE], [POST], [SEP])
-# -----------------------------------------
-# For each element of SET, expand PRE[value]POST[], and expand SEP
-# between elements.
-m4_define([m4_set_map_sep],
-[m4_ifdef([_m4_set_cleanup($1)], [_m4_set_contents_1c],
- [_m4_set_contents_1])([$1])_m4_set_contents_2($@)])
-
-# m4_set_remove(SET, VALUE, [IF-PRESENT], [IF-ABSENT])
-# ----------------------------------------------------
-# If VALUE is an element of SET, delete it and expand IF-PRESENT.
-# Otherwise expand IF-ABSENT. Deleting a single value is O(1),
-# although it leaves memory occupied until the next O(n) traversal of
-# the set which will compact the set.
-#
-# Optimize if the element being removed is the most recently added,
-# since defining _m4_set_cleanup($1) slows down so many other macros.
-# In particular, this plays well with m4_set_foreach and m4_set_map.
-m4_define([m4_set_remove],
-[m4_set_contains([$1], [$2], [_m4_set_size([$1],
- [m4_decr])m4_if(_m4_defn([_m4_set([$1])]), [$2],
- [_m4_popdef([_m4_set([$1],$2)], [_m4_set([$1])])],
- [m4_define([_m4_set_cleanup($1)])m4_define(
- [_m4_set([$1],$2)], [0])])$3], [$4])])
-
-# m4_set_size(SET)
-# ----------------
-# Expand to the number of elements currently in SET. This operation
-# is O(1), and thus more efficient than m4_count(m4_set_list([SET])).
-m4_define([m4_set_size],
-[m4_ifdef([_m4_set_size($1)], [m4_indir([_m4_set_size($1)])], [0])])
-
-# _m4_set_size(SET, ACTION)
-# -------------------------
-# ACTION must be either m4_incr or m4_decr, and the size of SET is
-# changed accordingly. If the set is empty, ACTION must not be
-# m4_decr.
-m4_define([_m4_set_size],
-[m4_define([_m4_set_size($1)],
- m4_ifdef([_m4_set_size($1)], [$2(m4_indir([_m4_set_size($1)]))],
- [1]))])
-
-# m4_set_union(SET1, SET2)
-# ------------------------
-# Produce a LIST of double quoted elements that occur in either SET1
-# or SET2, without duplicates. Output a comma prior to any elements,
-# to distinguish the empty string from no elements. This can be
-# directly used as a series of arguments, such as for m4_join, or
-# wrapped inside quotes for use in m4_foreach. Order of the output is
-# not guaranteed.
-#
-# We can rely on the fact that m4_set_listc prunes SET1, so we don't
-# need to check _m4_set([$1],element) for 0. Short-circuit the
-# idempotence relation.
-m4_define([m4_set_union],
-[m4_set_listc([$1])m4_if([$1], [$2], [],
- [m4_set_map_sep([$2], [_$0([$1],], [)])])])
-
-m4_define([_m4_set_union],
-[m4_ifdef([_m4_set([$1],$2)], [], [,[$2]])])
-
-
-## ------------------- ##
-## 16. File handling. ##
-## ------------------- ##
-
-
-# It is a real pity that M4 comes with no macros to bind a diversion
-# to a file. So we have to deal without, which makes us a lot more
-# fragile than we should.
-
-
-# m4_file_append(FILE-NAME, CONTENT)
-# ----------------------------------
-m4_define([m4_file_append],
-[m4_syscmd([cat >>$1 <<_m4eof
-$2
-_m4eof
-])
-m4_if(m4_sysval, [0], [],
- [m4_fatal([$0: cannot write: $1])])])
-
-
-
-## ------------------------ ##
-## 17. Setting M4sugar up. ##
-## ------------------------ ##
-
-# _m4_divert_diversion should be defined.
-m4_divert_push([KILL])
-
-# m4_init
-# -------
-# Initialize the m4sugar language.
-m4_define([m4_init],
-[# All the M4sugar macros start with `m4_', except `dnl' kept as is
-# for sake of simplicity.
-m4_pattern_forbid([^_?m4_])
-m4_pattern_forbid([^dnl$])
-
-# If __m4_version__ is defined, we assume that we are being run by M4
-# 1.6 or newer, thus $@ recursion is linear, and debugmode(+do)
-# is available for faster checks of dereferencing undefined macros
-# and forcing dumpdef to print to stderr regardless of debugfile.
-# But if it is missing, we assume we are being run by M4 1.4.x, that
-# $@ recursion is quadratic, and that we need foreach-based
-# replacement macros. Also, m4 prior to 1.4.8 loses track of location
-# during m4wrap text; __line__ should never be 0.
-#
-# Use the raw builtin to avoid tripping up include tracing.
-# Meanwhile, avoid m4_copy, since it temporarily undefines m4_defn.
-m4_ifdef([__m4_version__],
-[m4_debugmode([+do])
-m4_define([m4_defn], _m4_defn([_m4_defn]))
-m4_define([m4_dumpdef], _m4_defn([_m4_dumpdef]))
-m4_define([m4_popdef], _m4_defn([_m4_popdef]))
-m4_define([m4_undefine], _m4_defn([_m4_undefine]))],
-[m4_builtin([include], [m4sugar/foreach.m4])
-m4_wrap_lifo([m4_if(__line__, [0], [m4_pushdef([m4_location],
-]]m4_dquote(m4_dquote(m4_dquote(__file__:__line__)))[[)])])])
-
-# Rewrite the first entry of the diversion stack.
-m4_divert([KILL])
-
-# Check the divert push/pop perfect balance.
-# Some users are prone to also use m4_wrap to register last-minute
-# m4_divert_text; so after our diversion cleanups, we restore
-# KILL as the bottom of the diversion stack.
-m4_wrap([m4_popdef([_m4_divert_diversion])m4_ifdef(
- [_m4_divert_diversion], [m4_fatal([$0: unbalanced m4_divert_push:
-]m4_divert_stack)])_m4_popdef([_m4_divert_stack])m4_divert_push([KILL])])
-])
diff --git a/gnuwin32/bin/data/stack.hh b/gnuwin32/bin/data/stack.hh
deleted file mode 100644
index aa64d63d..00000000
--- a/gnuwin32/bin/data/stack.hh
+++ /dev/null
@@ -1,154 +0,0 @@
-# C++ skeleton for Bison
-
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-m4_pushdef([b4_copyright_years],
- [2002-2013])
-
-# b4_stack_define
-# ---------------
-m4_define([b4_stack_define],
-[[ template <class T, class S = std::vector<T> >
- class stack
- {
- public:
- // Hide our reversed order.
- typedef typename S::reverse_iterator iterator;
- typedef typename S::const_reverse_iterator const_iterator;
-
- stack ()
- : seq_ ()
- {
- }
-
- stack (unsigned int n)
- : seq_ (n)
- {
- }
-
- inline
- T&
- operator[] (unsigned int i)
- {
- return seq_[seq_.size () - 1 - i];
- }
-
- inline
- const T&
- operator[] (unsigned int i) const
- {
- return seq_[seq_.size () - 1 - i];
- }
-
- /// Steal the contents of \a t.
- ///
- /// Close to move-semantics.
- inline
- void
- push (T& t)
- {
- seq_.push_back (T());
- operator[](0).move (t);
- }
-
- inline
- void
- pop (unsigned int n = 1)
- {
- for (; n; --n)
- seq_.pop_back ();
- }
-
- void
- clear ()
- {
- seq_.clear ();
- }
-
- inline
- typename S::size_type
- size () const
- {
- return seq_.size ();
- }
-
- inline
- const_iterator
- begin () const
- {
- return seq_.rbegin ();
- }
-
- inline
- const_iterator
- end () const
- {
- return seq_.rend ();
- }
-
- private:
- stack (const stack&);
- stack& operator= (const stack&);
- /// The wrapped container.
- S seq_;
- };
-
- /// Present a slice of the top of a stack.
- template <class T, class S = stack<T> >
- class slice
- {
- public:
- slice (const S& stack, unsigned int range)
- : stack_ (stack)
- , range_ (range)
- {
- }
-
- inline
- const T&
- operator [] (unsigned int i) const
- {
- return stack_[range_ - i];
- }
-
- private:
- const S& stack_;
- unsigned int range_;
- };
-]])
-
-b4_defines_if(
-[b4_output_begin([b4_dir_prefix[]stack.hh])
-b4_copyright([Stack handling for Bison parsers in C++])[
-
-/**
- ** \file ]b4_dir_prefix[stack.hh
- ** Define the ]b4_namespace_ref[::stack class.
- */
-
-]b4_cpp_guard_open([b4_dir_prefix[]stack.hh])[
-
-# include <vector>
-
-]b4_namespace_open[
-]b4_stack_define[
-]b4_namespace_close[
-
-]b4_cpp_guard_close([b4_dir_prefix[]stack.hh])
-b4_output_end()
-])
-
-m4_popdef([b4_copyright_years])
diff --git a/gnuwin32/bin/data/variant.hh b/gnuwin32/bin/data/variant.hh
deleted file mode 100644
index ac4f7a78..00000000
--- a/gnuwin32/bin/data/variant.hh
+++ /dev/null
@@ -1,362 +0,0 @@
-# C++ skeleton for Bison
-
-# Copyright (C) 2002-2013 Free Software Foundation, Inc.
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
-## --------- ##
-## variant. ##
-## --------- ##
-
-# b4_symbol_variant(YYTYPE, YYVAL, ACTION, [ARGS])
-# ------------------------------------------------
-# Run some ACTION ("build", or "destroy") on YYVAL of symbol type
-# YYTYPE.
-m4_define([b4_symbol_variant],
-[m4_pushdef([b4_dollar_dollar],
- [$2.$3< $][3 > (m4_shift3($@))])dnl
- switch ($1)
- {
-b4_type_foreach([b4_type_action_])[]dnl
- default:
- break;
- }
-m4_popdef([b4_dollar_dollar])dnl
-])
-
-
-# _b4_char_sizeof_counter
-# -----------------------
-# A counter used by _b4_char_sizeof_dummy to create fresh symbols.
-m4_define([_b4_char_sizeof_counter],
-[0])
-
-# _b4_char_sizeof_dummy
-# ---------------------
-# At each call return a new C++ identifier.
-m4_define([_b4_char_sizeof_dummy],
-[m4_define([_b4_char_sizeof_counter], m4_incr(_b4_char_sizeof_counter))dnl
-dummy[]_b4_char_sizeof_counter])
-
-
-# b4_char_sizeof(SYMBOL-NUMS)
-# ---------------------------
-# To be mapped on the list of type names to produce:
-#
-# char dummy1[sizeof(type_name_1)];
-# char dummy2[sizeof(type_name_2)];
-#
-# for defined type names.
-m4_define([b4_char_sizeof],
-[b4_symbol_if([$1], [has_type],
-[
-m4_map([ b4_symbol_tag_comment], [$@])dnl
- char _b4_char_sizeof_dummy@{sizeof(b4_symbol([$1], [type]))@};
-])])
-
-
-# b4_variant_includes
-# -------------------
-# The needed includes for variants support.
-m4_define([b4_variant_includes],
-[b4_parse_assert_if([[#include <typeinfo>]])[
-#ifndef YYASSERT
-# include <cassert>
-# define YYASSERT assert
-#endif
-]])
-
-# b4_variant_define
-# -----------------
-# Define "variant".
-m4_define([b4_variant_define],
-[[ /// A char[S] buffer to store and retrieve objects.
- ///
- /// Sort of a variant, but does not keep track of the nature
- /// of the stored data, since that knowledge is available
- /// via the current state.
- template <size_t S>
- struct variant
- {
- /// Type of *this.
- typedef variant<S> self_type;
-
- /// Empty construction.
- variant ()]b4_parse_assert_if([
- : yytname_ (YY_NULL)])[
- {}
-
- /// Construct and fill.
- template <typename T>
- variant (const T& t)]b4_parse_assert_if([
- : yytname_ (typeid (T).name ())])[
- {
- YYASSERT (sizeof (T) <= S);
- new (yyas_<T> ()) T (t);
- }
-
- /// Destruction, allowed only if empty.
- ~variant ()
- {]b4_parse_assert_if([
- YYASSERT (!yytname_);
- ])[}
-
- /// Instantiate an empty \a T in here.
- template <typename T>
- T&
- build ()
- {]b4_parse_assert_if([
- YYASSERT (!yytname_);
- YYASSERT (sizeof (T) <= S);
- yytname_ = typeid (T).name ();])[
- return *new (yyas_<T> ()) T;
- }
-
- /// Instantiate a \a T in here from \a t.
- template <typename T>
- T&
- build (const T& t)
- {]b4_parse_assert_if([
- YYASSERT (!yytname_);
- YYASSERT (sizeof (T) <= S);
- yytname_ = typeid (T).name ();])[
- return *new (yyas_<T> ()) T (t);
- }
-
- /// Accessor to a built \a T.
- template <typename T>
- T&
- as ()
- {]b4_parse_assert_if([
- YYASSERT (yytname_ == typeid (T).name ());
- YYASSERT (sizeof (T) <= S);])[
- return *yyas_<T> ();
- }
-
- /// Const accessor to a built \a T (for %printer).
- template <typename T>
- const T&
- as () const
- {]b4_parse_assert_if([
- YYASSERT (yytname_ == typeid (T).name ());
- YYASSERT (sizeof (T) <= S);])[
- return *yyas_<T> ();
- }
-
- /// Swap the content with \a other, of same type.
- ///
- /// Both variants must be built beforehand, because swapping the actual
- /// data requires reading it (with as()), and this is not possible on
- /// unconstructed variants: it would require some dynamic testing, which
- /// should not be the variant's responsability.
- /// Swapping between built and (possibly) non-built is done with
- /// variant::move ().
- template <typename T>
- void
- swap (self_type& other)
- {]b4_parse_assert_if([
- YYASSERT (yytname_);
- YYASSERT (yytname_ == other.yytname_);])[
- std::swap (as<T> (), other.as<T> ());
- }
-
- /// Move the content of \a other to this.
- ///
- /// Destroys \a other.
- template <typename T>
- void
- move (self_type& other)
- {]b4_parse_assert_if([
- YYASSERT (!yytname_);])[
- build<T> ();
- swap<T> (other);
- other.destroy<T> ();
- }
-
- /// Copy the content of \a other to this.
- template <typename T>
- void
- copy (const self_type& other)
- {
- build<T> (other.as<T> ());
- }
-
- /// Destroy the stored \a T.
- template <typename T>
- void
- destroy ()
- {
- as<T> ().~T ();]b4_parse_assert_if([
- yytname_ = YY_NULL;])[
- }
-
- private:
- /// Prohibit blind copies.
- self_type& operator=(const self_type&);
- variant (const self_type&);
-
- /// Accessor to raw memory as \a T.
- template <typename T>
- T*
- yyas_ ()
- {
- void *yyp = yybuffer_.yyraw;
- return static_cast<T*> (yyp);
- }
-
- /// Const accessor to raw memory as \a T.
- template <typename T>
- const T*
- yyas_ () const
- {
- const void *yyp = yybuffer_.yyraw;
- return static_cast<const T*> (yyp);
- }
-
- union
- {
- /// Strongest alignment constraints.
- long double yyalign_me;
- /// A buffer large enough to store any of the semantic values.
- char yyraw[S];
- } yybuffer_;]b4_parse_assert_if([
-
- /// Whether the content is built: if defined, the name of the stored type.
- const char *yytname_;])[
- };
-]])
-
-
-## -------------------------- ##
-## Adjustments for variants. ##
-## -------------------------- ##
-
-
-# b4_value_type_declare
-# ---------------------
-# Declare semantic_type.
-m4_define([b4_value_type_declare],
-[[ /// An auxiliary type to compute the largest semantic type.
- union union_type
- {]b4_type_foreach([b4_char_sizeof])[};
-
- /// Symbol semantic values.
- typedef variant<sizeof(union_type)> semantic_type;][]dnl
-])
-
-
-# How the semantic value is extracted when using variants.
-
-# b4_symbol_value(VAL, [TYPE])
-# ----------------------------
-m4_define([b4_symbol_value],
-[m4_ifval([$2],
- [$1.as< $2 > ()],
- [$1])])
-
-# b4_symbol_value_template(VAL, [TYPE])
-# -------------------------------------
-# Same as b4_symbol_value, but used in a template method.
-m4_define([b4_symbol_value_template],
-[m4_ifval([$2],
- [$1.template as< $2 > ()],
- [$1])])
-
-
-
-## ------------- ##
-## make_SYMBOL. ##
-## ------------- ##
-
-
-# b4_symbol_constructor_declare_(SYMBOL-NUMBER)
-# ---------------------------------------------
-# Declare the overloaded version of make_symbol for the (common) type of
-# these SYMBOL-NUMBERS. Use at class-level.
-m4_define([b4_symbol_constructor_declare_],
-[b4_symbol_if([$1], [is_token], [b4_symbol_if([$1], [has_id],
-[ static inline
- symbol_type
- make_[]b4_symbol_([$1], [id]) (dnl
-b4_join(b4_symbol_if([$1], [has_type],
- [const b4_symbol([$1], [type])& v]),
- b4_locations_if([const location_type& l])));
-
-])])])
-
-
-# b4_symbol_constructor_declare
-# -----------------------------
-# Declare symbol constructors for all the value types.
-# Use at class-level.
-m4_define([b4_symbol_constructor_declare],
-[ // Symbol constructors declarations.
-b4_symbol_foreach([b4_symbol_constructor_declare_])])
-
-
-
-# b4_symbol_constructor_define_(SYMBOL-NUMBER)
-# --------------------------------------------
-# Define symbol constructor for this SYMBOL-NUMBER.
-m4_define([b4_symbol_constructor_define_],
-[b4_symbol_if([$1], [is_token], [b4_symbol_if([$1], [has_id],
-[ b4_parser_class_name::symbol_type
- b4_parser_class_name::make_[]b4_symbol_([$1], [id]) (dnl
-b4_join(b4_symbol_if([$1], [has_type],
- [const b4_symbol([$1], [type])& v]),
- b4_locations_if([const location_type& l])))
- {
- return symbol_type (b4_join([token::b4_symbol([$1], [id])],
- b4_symbol_if([$1], [has_type], [v]),
- b4_locations_if([l])));
-
- }
-
-])])])
-
-
-# b4_basic_symbol_constructor_declare
-# -----------------------------------
-# Generate a constructor declaration for basic_symbol from given type.
-m4_define([b4_basic_symbol_constructor_declare],
-[[
- basic_symbol (]b4_join(
- [typename Base::kind_type t],
- b4_symbol_if([$1], [has_type], const b4_symbol([$1], [type])[ v]),
- b4_locations_if([const location_type& l]))[);
-]])
-
-# b4_basic_symbol_constructor_define
-# ----------------------------------
-# Generate a constructor implementation for basic_symbol from given type.
-m4_define([b4_basic_symbol_constructor_define],
-[[
- template <typename Base>
- ]b4_parser_class_name[::basic_symbol<Base>::basic_symbol (]b4_join(
- [typename Base::kind_type t],
- b4_symbol_if([$1], [has_type], const b4_symbol([$1], [type])[ v]),
- b4_locations_if([const location_type& l]))[)
- : Base (t)
- , value (]b4_symbol_if([$1], [has_type], [v])[)]b4_locations_if([
- , location (l)])[
- {}
-]])
-
-# b4_symbol_constructor_define
-# ----------------------------
-# Define the overloaded versions of make_symbol for all the value types.
-m4_define([b4_symbol_constructor_define],
-[ // Implementation of make_symbol for each symbol type.
-b4_symbol_foreach([b4_symbol_constructor_define_])])
diff --git a/gnuwin32/bin/data/xslt/bison.xsl b/gnuwin32/bin/data/xslt/bison.xsl
deleted file mode 100644
index 10e3305b..00000000
--- a/gnuwin32/bin/data/xslt/bison.xsl
+++ /dev/null
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- bison.xsl - common templates for Bison XSLT.
-
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
-
- This file is part of Bison, the GNU Compiler Compiler.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- -->
-
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:bison="http://www.gnu.org/software/bison/">
-
-<xsl:key
- name="bison:symbolByName"
- match="/bison-xml-report/grammar/nonterminals/nonterminal"
- use="@name"
-/>
-<xsl:key
- name="bison:symbolByName"
- match="/bison-xml-report/grammar/terminals/terminal"
- use="@name"
-/>
-<xsl:key
- name="bison:ruleByNumber"
- match="/bison-xml-report/grammar/rules/rule"
- use="@number"
-/>
-<xsl:key
- name="bison:ruleByLhs"
- match="/bison-xml-report/grammar/rules/rule[
- @usefulness != 'useless-in-grammar']"
- use="lhs"
-/>
-<xsl:key
- name="bison:ruleByRhs"
- match="/bison-xml-report/grammar/rules/rule[
- @usefulness != 'useless-in-grammar']"
- use="rhs/symbol"
-/>
-
-<!-- For the specified state, output: #sr-conflicts,#rr-conflicts -->
-<xsl:template match="state" mode="bison:count-conflicts">
- <xsl:variable name="transitions" select="actions/transitions"/>
- <xsl:variable name="reductions" select="actions/reductions"/>
- <xsl:variable
- name="terminals"
- select="
- $transitions/transition[@type='shift']/@symbol
- | $reductions/reduction/@symbol
- "
- />
- <xsl:variable name="conflict-data">
- <xsl:for-each select="$terminals">
- <xsl:variable name="name" select="."/>
- <xsl:if test="generate-id($terminals[. = $name][1]) = generate-id(.)">
- <xsl:variable
- name="shift-count"
- select="count($transitions/transition[@symbol=$name])"
- />
- <xsl:variable
- name="reduce-count"
- select="count($reductions/reduction[@symbol=$name])"
- />
- <xsl:if test="$shift-count > 0 and $reduce-count > 0">
- <xsl:text>s</xsl:text>
- </xsl:if>
- <xsl:if test="$reduce-count > 1">
- <xsl:text>r</xsl:text>
- </xsl:if>
- </xsl:if>
- </xsl:for-each>
- </xsl:variable>
- <xsl:value-of select="string-length(translate($conflict-data, 'r', ''))"/>
- <xsl:text>,</xsl:text>
- <xsl:value-of select="string-length(translate($conflict-data, 's', ''))"/>
-</xsl:template>
-
-<xsl:template name="space">
- <xsl:param name="repeat">0</xsl:param>
- <xsl:param name="fill" select="' '"/>
- <xsl:if test="number($repeat) &gt;= 1">
- <xsl:call-template name="space">
- <xsl:with-param name="repeat" select="$repeat - 1"/>
- <xsl:with-param name="fill" select="$fill"/>
- </xsl:call-template>
- <xsl:value-of select="$fill"/>
- </xsl:if>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/gnuwin32/bin/data/xslt/xml2dot.xsl b/gnuwin32/bin/data/xslt/xml2dot.xsl
deleted file mode 100644
index 93bec599..00000000
--- a/gnuwin32/bin/data/xslt/xml2dot.xsl
+++ /dev/null
@@ -1,397 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- xml2dot.xsl - transform Bison XML Report into DOT.
-
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
-
- This file is part of Bison, the GNU Compiler Compiler.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- Written by Wojciech Polak <polak@gnu.org>.
- -->
-
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:bison="http://www.gnu.org/software/bison/">
-
-<xsl:import href="bison.xsl"/>
-<xsl:output method="text" encoding="UTF-8" indent="no"/>
-
-<xsl:template match="/">
- <xsl:apply-templates select="bison-xml-report"/>
-</xsl:template>
-
-<xsl:template match="bison-xml-report">
- <xsl:text>// Generated by GNU Bison </xsl:text>
- <xsl:value-of select="@version"/>
- <xsl:text>.&#10;</xsl:text>
- <xsl:text>// Report bugs to &lt;</xsl:text>
- <xsl:value-of select="@bug-report"/>
- <xsl:text>&gt;.&#10;</xsl:text>
- <xsl:text>// Home page: &lt;</xsl:text>
- <xsl:value-of select="@url"/>
- <xsl:text>&gt;.&#10;&#10;</xsl:text>
- <xsl:apply-templates select="automaton">
- <xsl:with-param name="filename" select="filename"/>
- </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="automaton">
- <xsl:param name="filename"/>
- <xsl:text>digraph "</xsl:text>
- <xsl:call-template name="escape">
- <xsl:with-param name="subject" select="$filename"/>
- </xsl:call-template>
- <xsl:text>"&#10;{
- node [fontname = courier, shape = box, colorscheme = paired6]
- edge [fontname = courier]
-
-</xsl:text>
- <xsl:apply-templates select="state"/>
- <xsl:text>}&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="automaton/state">
- <xsl:call-template name="output-node">
- <xsl:with-param name="number" select="@number"/>
- <xsl:with-param name="label">
- <xsl:apply-templates select="itemset/item"/>
- </xsl:with-param>
- </xsl:call-template>
- <xsl:apply-templates select="actions/transitions"/>
- <xsl:apply-templates select="actions/reductions">
- <xsl:with-param name="staten">
- <xsl:value-of select="@number"/>
- </xsl:with-param>
- </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="actions/reductions">
- <xsl:param name="staten"/>
- <xsl:for-each select='reduction'>
- <!-- These variables are needed because the current context can't be
- refered to directly in XPath expressions. -->
- <xsl:variable name="rul">
- <xsl:value-of select="@rule"/>
- </xsl:variable>
- <xsl:variable name="ena">
- <xsl:value-of select="@enabled"/>
- </xsl:variable>
- <!-- The foreach's body is protected by this, so that we are actually
- going to iterate once per reduction rule, and not per lookahead. -->
- <xsl:if test='not(preceding-sibling::*[@rule=$rul and @enabled=$ena])'>
- <xsl:variable name="rule">
- <xsl:choose>
- <!-- The acceptation state is refered to as 'accept' in the XML, but
- just as '0' in the DOT. -->
- <xsl:when test="@rule='accept'">
- <xsl:text>0</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="@rule"/>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:variable>
-
- <!-- The edge's beginning -->
- <xsl:call-template name="reduction-edge-start">
- <xsl:with-param name="state" select="$staten"/>
- <xsl:with-param name="rule" select="$rule"/>
- <xsl:with-param name="enabled" select="@enabled"/>
- </xsl:call-template>
-
- <!-- The edge's tokens -->
- <!-- Don't show labels for the default action. In other cases, there will
- always be at least one token, so 'label="[]"' will not occur. -->
- <xsl:if test='$rule!=0 and not(../reduction[@enabled=$ena and @rule=$rule and @symbol="$default"])'>
- <xsl:text>label="[</xsl:text>
- <xsl:for-each select='../reduction[@enabled=$ena and @rule=$rule]'>
- <xsl:call-template name="escape">
- <xsl:with-param name="subject" select="@symbol"/>
- </xsl:call-template>
- <xsl:if test="position() != last ()">
- <xsl:text>, </xsl:text>
- </xsl:if>
- </xsl:for-each>
- <xsl:text>]", </xsl:text>
- </xsl:if>
-
- <!-- The edge's end -->
- <xsl:text>style=solid]&#10;</xsl:text>
-
- <!-- The diamond representing the reduction -->
- <xsl:call-template name="reduction-node">
- <xsl:with-param name="state" select="$staten"/>
- <xsl:with-param name="rule" select="$rule"/>
- <xsl:with-param name="color">
- <xsl:choose>
- <xsl:when test='@enabled="true"'>
- <xsl:text>3</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>5</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:if>
- </xsl:for-each>
-</xsl:template>
-
-<xsl:template match="actions/transitions">
- <xsl:apply-templates select="transition"/>
-</xsl:template>
-
-<xsl:template match="item">
- <xsl:param name="prev-rule-number"
- select="preceding-sibling::item[1]/@rule-number"/>
- <xsl:apply-templates select="key('bison:ruleByNumber', @rule-number)">
- <xsl:with-param name="point" select="@point"/>
- <xsl:with-param name="num" select="@rule-number"/>
- <xsl:with-param name="prev-lhs"
- select="key('bison:ruleByNumber', $prev-rule-number)/lhs[text()]"
- />
- </xsl:apply-templates>
- <xsl:apply-templates select="lookaheads"/>
-</xsl:template>
-
-<xsl:template match="rule">
- <xsl:param name="point"/>
- <xsl:param name="num"/>
- <xsl:param name="prev-lhs"/>
- <xsl:text>&#10;</xsl:text>
- <xsl:choose>
- <xsl:when test="$num &lt; 10">
- <xsl:text> </xsl:text>
- </xsl:when>
- <xsl:when test="$num &lt; 100">
- <xsl:text> </xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text></xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:value-of select="$num"/>
- <xsl:text> </xsl:text>
- <xsl:choose>
- <xsl:when test="$prev-lhs = lhs[text()]">
- <xsl:call-template name="lpad">
- <xsl:with-param name="str" select="'|'"/>
- <xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 1"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="lhs"/>
- <xsl:text>:</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:if test="$point = 0">
- <xsl:text> .</xsl:text>
- </xsl:if>
- <xsl:for-each select="rhs/symbol|rhs/empty">
- <xsl:apply-templates select="."/>
- <xsl:if test="$point = position()">
- <xsl:text> .</xsl:text>
- </xsl:if>
- </xsl:for-each>
-</xsl:template>
-
-<xsl:template match="symbol">
- <xsl:text> </xsl:text>
- <xsl:value-of select="."/>
-</xsl:template>
-
-<xsl:template match="empty"/>
-
-<xsl:template match="lookaheads">
- <xsl:text> [</xsl:text>
- <xsl:apply-templates select="symbol"/>
- <xsl:text>]</xsl:text>
-</xsl:template>
-
-<xsl:template match="lookaheads/symbol">
- <xsl:value-of select="."/>
- <xsl:if test="position() != last()">
- <xsl:text>, </xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template name="reduction-edge-start">
- <xsl:param name="state"/>
- <xsl:param name="rule"/>
- <xsl:param name="enabled"/>
-
- <xsl:text> </xsl:text>
- <xsl:value-of select="$state"/>
- <xsl:text> -> "</xsl:text>
- <xsl:value-of select="$state"/>
- <xsl:text>R</xsl:text>
- <xsl:value-of select="$rule"/>
- <xsl:if test='$enabled = "false"'>
- <xsl:text>d</xsl:text>
- </xsl:if>
- <xsl:text>" [</xsl:text>
-</xsl:template>
-
-<xsl:template name="reduction-node">
- <xsl:param name="state"/>
- <xsl:param name="rule"/>
- <xsl:param name="color"/>
-
- <xsl:text> "</xsl:text>
- <xsl:value-of select="$state"/>
- <xsl:text>R</xsl:text>
- <xsl:value-of select="$rule"/>
- <xsl:if test="$color = 5">
- <xsl:text>d</xsl:text>
- </xsl:if>
- <xsl:text>" [label="</xsl:text>
- <xsl:choose>
- <xsl:when test="$rule = 0">
- <xsl:text>Acc", fillcolor=1</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>R</xsl:text>
- <xsl:value-of select="$rule"/>
- <xsl:text>", fillcolor=</xsl:text>
- <xsl:value-of select="$color"/>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text>, shape=diamond, style=filled]&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="transition">
- <xsl:call-template name="output-edge">
- <xsl:with-param name="src" select="../../../@number"/>
- <xsl:with-param name="dst" select="@state"/>
- <xsl:with-param name="style">
- <xsl:choose>
- <xsl:when test="@symbol = 'error'">
- <xsl:text>dotted</xsl:text>
- </xsl:when>
- <xsl:when test="@type = 'shift'">
- <xsl:text>solid</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>dashed</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="label">
- <xsl:if test="not(@symbol = 'error')">
- <xsl:value-of select="@symbol"/>
- </xsl:if>
- </xsl:with-param>
- </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="output-node">
- <xsl:param name="number"/>
- <xsl:param name="label"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="$number"/>
- <xsl:text> [label="</xsl:text>
- <xsl:text>State </xsl:text>
- <xsl:value-of select="$number"/>
- <xsl:text>\n</xsl:text>
- <xsl:call-template name="escape">
- <xsl:with-param name="subject" select="$label"/>
- </xsl:call-template>
- <xsl:text>\l"]&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template name="output-edge">
- <xsl:param name="src"/>
- <xsl:param name="dst"/>
- <xsl:param name="style"/>
- <xsl:param name="label"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="$src"/>
- <xsl:text> -> </xsl:text>
- <xsl:value-of select="$dst"/>
- <xsl:text> [style=</xsl:text>
- <xsl:value-of select="$style"/>
- <xsl:if test="$label and $label != ''">
- <xsl:text> label="</xsl:text>
- <xsl:call-template name="escape">
- <xsl:with-param name="subject" select="$label"/>
- </xsl:call-template>
- <xsl:text>"</xsl:text>
- </xsl:if>
- <xsl:text>]&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template name="escape">
- <xsl:param name="subject"/> <!-- required -->
- <xsl:call-template name="string-replace">
- <xsl:with-param name="subject">
- <xsl:call-template name="string-replace">
- <xsl:with-param name="subject">
- <xsl:call-template name="string-replace">
- <xsl:with-param name="subject" select="$subject"/>
- <xsl:with-param name="search" select="'\'"/>
- <xsl:with-param name="replace" select="'\\'"/>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="search" select="'&quot;'"/>
- <xsl:with-param name="replace" select="'\&quot;'"/>
- </xsl:call-template>
- </xsl:with-param>
- <xsl:with-param name="search" select="'&#10;'"/>
- <xsl:with-param name="replace" select="'\l'"/>
- </xsl:call-template>
-</xsl:template>
-
-<xsl:template name="string-replace">
- <xsl:param name="subject"/>
- <xsl:param name="search"/>
- <xsl:param name="replace"/>
- <xsl:choose>
- <xsl:when test="contains($subject, $search)">
- <xsl:variable name="before" select="substring-before($subject, $search)"/>
- <xsl:variable name="after" select="substring-after($subject, $search)"/>
- <xsl:value-of select="$before"/>
- <xsl:value-of select="$replace"/>
- <xsl:call-template name="string-replace">
- <xsl:with-param name="subject" select="$after"/>
- <xsl:with-param name="search" select="$search"/>
- <xsl:with-param name="replace" select="$replace"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$subject"/>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<xsl:template name="lpad">
- <xsl:param name="str" select="''"/>
- <xsl:param name="pad" select="0"/>
- <xsl:variable name="diff" select="$pad - string-length($str)" />
- <xsl:choose>
- <xsl:when test="$diff &lt; 0">
- <xsl:value-of select="$str"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="space">
- <xsl:with-param name="repeat" select="$diff"/>
- </xsl:call-template>
- <xsl:value-of select="$str"/>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/gnuwin32/bin/data/xslt/xml2text.xsl b/gnuwin32/bin/data/xslt/xml2text.xsl
deleted file mode 100644
index 2626f566..00000000
--- a/gnuwin32/bin/data/xslt/xml2text.xsl
+++ /dev/null
@@ -1,569 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- xml2text.xsl - transform Bison XML Report into plain text.
-
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
-
- This file is part of Bison, the GNU Compiler Compiler.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- Written by Wojciech Polak <polak@gnu.org>.
- -->
-
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:bison="http://www.gnu.org/software/bison/">
-
-<xsl:import href="bison.xsl"/>
-<xsl:output method="text" encoding="UTF-8" indent="no"/>
-
-<xsl:template match="/">
- <xsl:apply-templates select="bison-xml-report"/>
-</xsl:template>
-
-<xsl:template match="bison-xml-report">
- <xsl:apply-templates select="grammar" mode="reductions"/>
- <xsl:apply-templates select="grammar" mode="useless-in-parser"/>
- <xsl:apply-templates select="automaton" mode="conflicts"/>
- <xsl:apply-templates select="grammar"/>
- <xsl:apply-templates select="automaton"/>
-</xsl:template>
-
-<xsl:template match="grammar" mode="reductions">
- <xsl:apply-templates select="nonterminals" mode="useless-in-grammar"/>
- <xsl:apply-templates select="terminals" mode="unused-in-grammar"/>
- <xsl:apply-templates select="rules" mode="useless-in-grammar"/>
-</xsl:template>
-
-<xsl:template match="nonterminals" mode="useless-in-grammar">
- <xsl:if test="nonterminal[@usefulness='useless-in-grammar']">
- <xsl:text>Nonterminals useless in grammar&#10;&#10;</xsl:text>
- <xsl:for-each select="nonterminal[@usefulness='useless-in-grammar']">
- <xsl:text> </xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>&#10;</xsl:text>
- </xsl:for-each>
- <xsl:text>&#10;&#10;</xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="terminals" mode="unused-in-grammar">
- <xsl:if test="terminal[@usefulness='unused-in-grammar']">
- <xsl:text>Terminals unused in grammar&#10;&#10;</xsl:text>
- <xsl:for-each select="terminal[@usefulness='unused-in-grammar']">
- <xsl:sort select="@symbol-number" data-type="number"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>&#10;</xsl:text>
- </xsl:for-each>
- <xsl:text>&#10;&#10;</xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="rules" mode="useless-in-grammar">
- <xsl:variable name="set" select="rule[@usefulness='useless-in-grammar']"/>
- <xsl:if test="$set">
- <xsl:text>Rules useless in grammar&#10;</xsl:text>
- <xsl:call-template name="style-rule-set">
- <xsl:with-param name="rule-set" select="$set"/>
- </xsl:call-template>
- <xsl:text>&#10;&#10;</xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="grammar" mode="useless-in-parser">
- <xsl:variable
- name="set" select="rules/rule[@usefulness='useless-in-parser']"
- />
- <xsl:if test="$set">
- <xsl:text>Rules useless in parser due to conflicts&#10;</xsl:text>
- <xsl:call-template name="style-rule-set">
- <xsl:with-param name="rule-set" select="$set"/>
- </xsl:call-template>
- <xsl:text>&#10;&#10;</xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="grammar">
- <xsl:text>Grammar&#10;</xsl:text>
- <xsl:call-template name="style-rule-set">
- <xsl:with-param
- name="rule-set" select="rules/rule[@usefulness!='useless-in-grammar']"
- />
- </xsl:call-template>
- <xsl:text>&#10;&#10;</xsl:text>
- <xsl:apply-templates select="terminals"/>
- <xsl:apply-templates select="nonterminals"/>
-</xsl:template>
-
-<xsl:template name="style-rule-set">
- <xsl:param name="rule-set"/>
- <xsl:for-each select="$rule-set">
- <xsl:apply-templates select=".">
- <xsl:with-param name="pad" select="'3'"/>
- <xsl:with-param name="prev-lhs">
- <xsl:if test="position()>1">
- <xsl:variable name="position" select="position()"/>
- <xsl:value-of select="$rule-set[$position - 1]/lhs"/>
- </xsl:if>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:for-each>
-</xsl:template>
-
-<xsl:template match="grammar/terminals">
- <xsl:text>Terminals, with rules where they appear&#10;&#10;</xsl:text>
- <xsl:apply-templates select="terminal"/>
- <xsl:text>&#10;&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="grammar/nonterminals">
- <xsl:text>Nonterminals, with rules where they appear&#10;&#10;</xsl:text>
- <xsl:apply-templates select="nonterminal[@usefulness!='useless-in-grammar']"/>
-</xsl:template>
-
-<xsl:template match="terminal">
- <xsl:value-of select="@name"/>
- <xsl:call-template name="line-wrap">
- <xsl:with-param name="first-line-length">
- <xsl:choose>
- <xsl:when test="string-length(@name) &gt; 66">0</xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="66 - string-length(@name)" />
- </xsl:otherwise>
- </xsl:choose>
- </xsl:with-param>
- <xsl:with-param name="line-length" select="66" />
- <xsl:with-param name="text">
- <xsl:value-of select="concat(' (', @token-number, ')')"/>
- <xsl:for-each select="key('bison:ruleByRhs', @name)">
- <xsl:value-of select="concat(' ', @number)"/>
- </xsl:for-each>
- </xsl:with-param>
- </xsl:call-template>
-</xsl:template>
-
-<xsl:template match="nonterminal">
- <xsl:value-of select="@name"/>
- <xsl:value-of select="concat(' (', @symbol-number, ')')"/>
- <xsl:text>&#10;</xsl:text>
- <xsl:variable name="output">
- <xsl:call-template name="line-wrap">
- <xsl:with-param name="line-length" select="66" />
- <xsl:with-param name="text">
- <xsl:text> </xsl:text>
- <xsl:if test="key('bison:ruleByLhs', @name)">
- <xsl:text>on@left:</xsl:text>
- <xsl:for-each select="key('bison:ruleByLhs', @name)">
- <xsl:value-of select="concat(' ', @number)"/>
- </xsl:for-each>
- </xsl:if>
- <xsl:if test="key('bison:ruleByRhs', @name)">
- <xsl:if test="key('bison:ruleByLhs', @name)">
- <xsl:text>, </xsl:text>
- </xsl:if>
- <xsl:text>on@right:</xsl:text>
- <xsl:for-each select="key('bison:ruleByRhs', @name)">
- <xsl:value-of select="concat(' ', @number)"/>
- </xsl:for-each>
- </xsl:if>
- </xsl:with-param>
- </xsl:call-template>
- </xsl:variable>
- <xsl:value-of select="translate($output, '@', ' ')" />
-</xsl:template>
-
-<xsl:template match="automaton" mode="conflicts">
- <xsl:variable name="conflict-report">
- <xsl:apply-templates select="state" mode="conflicts"/>
- </xsl:variable>
- <xsl:if test="string-length($conflict-report) != 0">
- <xsl:value-of select="$conflict-report"/>
- <xsl:text>&#10;&#10;</xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="state" mode="conflicts">
- <xsl:variable name="conflict-counts">
- <xsl:apply-templates select="." mode="bison:count-conflicts" />
- </xsl:variable>
- <xsl:variable
- name="sr-count" select="substring-before($conflict-counts, ',')"
- />
- <xsl:variable
- name="rr-count" select="substring-after($conflict-counts, ',')"
- />
- <xsl:if test="$sr-count > 0 or $rr-count > 0">
- <xsl:value-of select="concat('State ', @number, ' conflicts:')"/>
- <xsl:if test="$sr-count > 0">
- <xsl:value-of select="concat(' ', $sr-count, ' shift/reduce')"/>
- <xsl:if test="$rr-count > 0">
- <xsl:value-of select="(',')"/>
- </xsl:if>
- </xsl:if>
- <xsl:if test="$rr-count > 0">
- <xsl:value-of select="concat(' ', $rr-count, ' reduce/reduce')"/>
- </xsl:if>
- <xsl:value-of select="'&#10;'"/>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="automaton">
- <xsl:apply-templates select="state">
- <xsl:with-param name="pad" select="'3'"/>
- </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="automaton/state">
- <xsl:param name="pad"/>
- <xsl:text>&#10;&#10;</xsl:text>
- <xsl:text>State </xsl:text>
- <xsl:value-of select="@number"/>
- <xsl:text>&#10;&#10;</xsl:text>
- <xsl:apply-templates select="itemset/item">
- <xsl:with-param name="pad" select="$pad"/>
- </xsl:apply-templates>
- <xsl:apply-templates select="actions/transitions">
- <xsl:with-param name="type" select="'shift'"/>
- </xsl:apply-templates>
- <xsl:apply-templates select="actions/errors"/>
- <xsl:apply-templates select="actions/reductions"/>
- <xsl:apply-templates select="actions/transitions">
- <xsl:with-param name="type" select="'goto'"/>
- </xsl:apply-templates>
- <xsl:apply-templates select="solved-conflicts"/>
-</xsl:template>
-
-<xsl:template match="actions/transitions">
- <xsl:param name="type"/>
- <xsl:if test="transition[@type = $type]">
- <xsl:text>&#10;</xsl:text>
- <xsl:apply-templates select="transition[@type = $type]">
- <xsl:with-param name="pad">
- <xsl:call-template name="max-width-symbol">
- <xsl:with-param name="node" select="transition[@type = $type]"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="actions/errors">
- <xsl:if test="error">
- <xsl:text>&#10;</xsl:text>
- <xsl:apply-templates select="error">
- <xsl:with-param name="pad">
- <xsl:call-template name="max-width-symbol">
- <xsl:with-param name="node" select="error"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="actions/reductions">
- <xsl:if test="reduction">
- <xsl:text>&#10;</xsl:text>
- <xsl:apply-templates select="reduction">
- <xsl:with-param name="pad">
- <xsl:call-template name="max-width-symbol">
- <xsl:with-param name="node" select="reduction"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="item">
- <xsl:param name="pad"/>
- <xsl:param name="prev-rule-number"
- select="preceding-sibling::item[1]/@rule-number"/>
- <xsl:apply-templates
- select="key('bison:ruleByNumber', current()/@rule-number)"
- >
- <xsl:with-param name="itemset" select="'true'"/>
- <xsl:with-param name="pad" select="$pad"/>
- <xsl:with-param
- name="prev-lhs"
- select="key('bison:ruleByNumber', $prev-rule-number)/lhs[text()]"
- />
- <xsl:with-param name="point" select="@point"/>
- <xsl:with-param name="lookaheads">
- <xsl:apply-templates select="lookaheads"/>
- </xsl:with-param>
- </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="rule">
- <xsl:param name="itemset"/>
- <xsl:param name="pad"/>
- <xsl:param name="prev-lhs"/>
- <xsl:param name="point"/>
- <xsl:param name="lookaheads"/>
-
- <xsl:if test="$itemset != 'true' and not($prev-lhs = lhs[text()])">
- <xsl:text>&#10;</xsl:text>
- </xsl:if>
-
- <xsl:text> </xsl:text>
- <xsl:call-template name="lpad">
- <xsl:with-param name="str" select="string(@number)"/>
- <xsl:with-param name="pad" select="number($pad)"/>
- </xsl:call-template>
- <xsl:text> </xsl:text>
-
- <!-- LHS -->
- <xsl:choose>
- <xsl:when test="$itemset != 'true' and $prev-lhs = lhs[text()]">
- <xsl:call-template name="lpad">
- <xsl:with-param name="str" select="'|'"/>
- <xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 1"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="$itemset = 'true' and $prev-lhs = lhs[text()]">
- <xsl:call-template name="lpad">
- <xsl:with-param name="str" select="'|'"/>
- <xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 1"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="lhs"/>
- <xsl:text>:</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
-
- <!-- RHS -->
- <xsl:for-each select="rhs/*">
- <xsl:if test="position() = $point + 1">
- <xsl:text> .</xsl:text>
- </xsl:if>
- <xsl:if test="$itemset = 'true' and name(.) != 'empty'">
- <xsl:apply-templates select="."/>
- </xsl:if>
- <xsl:if test="$itemset != 'true'">
- <xsl:apply-templates select="."/>
- </xsl:if>
- <xsl:if test="position() = last() and position() = $point">
- <xsl:text> .</xsl:text>
- </xsl:if>
- </xsl:for-each>
- <xsl:if test="$lookaheads">
- <xsl:value-of select="$lookaheads"/>
- </xsl:if>
-
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="symbol">
- <xsl:text> </xsl:text>
- <xsl:value-of select="."/>
-</xsl:template>
-
-<xsl:template match="empty">
- <xsl:text> %empty</xsl:text>
-</xsl:template>
-
-<xsl:template match="lookaheads">
- <xsl:text> [</xsl:text>
- <xsl:apply-templates select="symbol"/>
- <xsl:text>]</xsl:text>
-</xsl:template>
-
-<xsl:template match="lookaheads/symbol">
- <xsl:value-of select="."/>
- <xsl:if test="position() != last()">
- <xsl:text>, </xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="transition">
- <xsl:param name="pad"/>
- <xsl:text> </xsl:text>
- <xsl:call-template name="rpad">
- <xsl:with-param name="str" select="string(@symbol)"/>
- <xsl:with-param name="pad" select="number($pad) + 2"/>
- </xsl:call-template>
- <xsl:choose>
- <xsl:when test="@type = 'shift'">
- <xsl:text>shift, and go to state </xsl:text>
- <xsl:value-of select="@state"/>
- </xsl:when>
- <xsl:when test="@type = 'goto'">
- <xsl:text>go to state </xsl:text>
- <xsl:value-of select="@state"/>
- </xsl:when>
- </xsl:choose>
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="error">
- <xsl:param name="pad"/>
- <xsl:text> </xsl:text>
- <xsl:call-template name="rpad">
- <xsl:with-param name="str" select="string(@symbol)"/>
- <xsl:with-param name="pad" select="number($pad) + 2"/>
- </xsl:call-template>
- <xsl:text>error</xsl:text>
- <xsl:text> (</xsl:text>
- <xsl:value-of select="text()"/>
- <xsl:text>)</xsl:text>
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="reduction">
- <xsl:param name="pad"/>
- <xsl:text> </xsl:text>
- <xsl:call-template name="rpad">
- <xsl:with-param name="str" select="string(@symbol)"/>
- <xsl:with-param name="pad" select="number($pad) + 2"/>
- </xsl:call-template>
- <xsl:if test="@enabled = 'false'">
- <xsl:text>[</xsl:text>
- </xsl:if>
- <xsl:choose>
- <xsl:when test="@rule = 'accept'">
- <xsl:text>accept</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <xsl:text>reduce using rule </xsl:text>
- <xsl:value-of select="@rule"/>
- <xsl:text> (</xsl:text>
- <xsl:value-of
- select="key('bison:ruleByNumber', current()/@rule)/lhs[text()]"/>
- <xsl:text>)</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:if test="@enabled = 'false'">
- <xsl:text>]</xsl:text>
- </xsl:if>
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="solved-conflicts">
- <xsl:if test="resolution">
- <xsl:text>&#10;</xsl:text>
- <xsl:apply-templates select="resolution"/>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="resolution">
- <xsl:text> Conflict between rule </xsl:text>
- <xsl:value-of select="@rule"/>
- <xsl:text> and token </xsl:text>
- <xsl:value-of select="@symbol"/>
- <xsl:text> resolved as </xsl:text>
- <xsl:if test="@type = 'error'">
- <xsl:text>an </xsl:text>
- </xsl:if>
- <xsl:value-of select="@type"/>
- <xsl:text> (</xsl:text>
- <xsl:value-of select="."/>
- <xsl:text>).&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template name="max-width-symbol">
- <xsl:param name="node"/>
- <xsl:variable name="longest">
- <xsl:for-each select="$node">
- <xsl:sort data-type="number" select="string-length(@symbol)"
- order="descending"/>
- <xsl:if test="position() = 1">
- <xsl:value-of select="string-length(@symbol)"/>
- </xsl:if>
- </xsl:for-each>
- </xsl:variable>
- <xsl:value-of select="$longest"/>
-</xsl:template>
-
-<xsl:template name="lpad">
- <xsl:param name="str" select="''"/>
- <xsl:param name="pad" select="0"/>
- <xsl:variable name="diff" select="$pad - string-length($str)" />
- <xsl:choose>
- <xsl:when test="$diff &lt; 0">
- <xsl:value-of select="$str"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="space">
- <xsl:with-param name="repeat" select="$diff"/>
- </xsl:call-template>
- <xsl:value-of select="$str"/>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<xsl:template name="rpad">
- <xsl:param name="str" select="''"/>
- <xsl:param name="pad" select="0"/>
- <xsl:variable name="diff" select="$pad - string-length($str)"/>
- <xsl:choose>
- <xsl:when test="$diff &lt; 0">
- <xsl:value-of select="$str"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$str"/>
- <xsl:call-template name="space">
- <xsl:with-param name="repeat" select="$diff"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<xsl:template name="line-wrap">
- <xsl:param name="line-length"/> <!-- required -->
- <xsl:param name="first-line-length" select="$line-length"/>
- <xsl:param name="text"/> <!-- required -->
- <xsl:choose>
- <xsl:when test="normalize-space($text) = ''" />
- <xsl:when test="string-length($text) &lt;= $first-line-length">
- <xsl:value-of select="concat($text, '&#10;')" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:variable name="break-pos">
- <xsl:call-template name="ws-search">
- <xsl:with-param name="text" select="$text" />
- <xsl:with-param name="start" select="$first-line-length+1" />
- </xsl:call-template>
- </xsl:variable>
- <xsl:value-of select="substring($text, 1, $break-pos - 1)" />
- <xsl:text>&#10;</xsl:text>
- <xsl:call-template name="line-wrap">
- <xsl:with-param name="line-length" select="$line-length" />
- <xsl:with-param
- name="text" select="concat(' ', substring($text, $break-pos+1))"
- />
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<xsl:template name="ws-search">
- <xsl:param name="text"/> <!-- required -->
- <xsl:param name="start"/> <!-- required -->
- <xsl:variable name="search-text" select="substring($text, $start)" />
- <xsl:choose>
- <xsl:when test="not(contains($search-text, ' '))">
- <xsl:value-of select="string-length($text)+1" />
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of
- select="$start + string-length(substring-before($search-text, ' '))"
- />
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/gnuwin32/bin/data/xslt/xml2xhtml.xsl b/gnuwin32/bin/data/xslt/xml2xhtml.xsl
deleted file mode 100644
index d2cfed4c..00000000
--- a/gnuwin32/bin/data/xslt/xml2xhtml.xsl
+++ /dev/null
@@ -1,745 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
- xml2html.xsl - transform Bison XML Report into XHTML.
-
- Copyright (C) 2007-2013 Free Software Foundation, Inc.
-
- This file is part of Bison, the GNU Compiler Compiler.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
- Written by Wojciech Polak <polak@gnu.org>.
- -->
-
-<xsl:stylesheet version="1.0"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:bison="http://www.gnu.org/software/bison/">
-
-<xsl:import href="bison.xsl"/>
-
-<xsl:output method="xml" encoding="UTF-8"
- doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
- doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
- indent="yes"/>
-
-<xsl:template match="/">
- <html>
- <head>
- <title>
- <xsl:value-of select="bison-xml-report/filename"/>
- <xsl:text> - GNU Bison XML Automaton Report</xsl:text>
- </title>
- <style type="text/css"><![CDATA[
- body {
- font-family: "Nimbus Sans L", Arial, sans-serif;
- font-size: 9pt;
- }
- a:link {
- color: #1f00ff;
- text-decoration: none;
- }
- a:visited {
- color: #1f00ff;
- text-decoration: none;
- }
- a:hover {
- color: red;
- }
- #menu a {
- text-decoration: underline;
- }
- .i {
- font-style: italic;
- }
- .pre {
- font-family: monospace;
- white-space: pre;
- }
- ol.decimal {
- list-style-type: decimal;
- }
- ol.lower-alpha {
- list-style-type: lower-alpha;
- }
- .point {
- color: #cc0000;
- }
- #footer {
- margin-top: 3.5em;
- font-size: 7pt;
- }
- ]]></style>
- </head>
- <body>
- <xsl:apply-templates select="bison-xml-report"/>
- <xsl:text>&#10;&#10;</xsl:text>
- <div id="footer"><hr />This document was generated using
- <a href="http://www.gnu.org/software/bison/" title="GNU Bison">
- GNU Bison <xsl:value-of select="/bison-xml-report/@version"/></a>
- XML Automaton Report.<br />
- <!-- default copying notice -->
- Verbatim copying and distribution of this entire page is
- permitted in any medium, provided this notice is preserved.</div>
- </body>
- </html>
-</xsl:template>
-
-<xsl:template match="bison-xml-report">
- <h1>GNU Bison XML Automaton Report</h1>
- <p>
- input grammar: <span class="i"><xsl:value-of select="filename"/></span>
- </p>
-
- <xsl:text>&#10;&#10;</xsl:text>
- <h3>Table of Contents</h3>
- <ul id="menu">
- <li>
- <a href="#reductions">Reductions</a>
- <ul class="lower-alpha">
- <li><a href="#nonterminals_useless_in_grammar">Nonterminals useless in grammar</a></li>
- <li><a href="#terminals_unused_in_grammar">Terminals unused in grammar</a></li>
- <li><a href="#rules_useless_in_grammar">Rules useless in grammar</a></li>
- <xsl:if test="grammar/rules/rule[@usefulness='useless-in-parser']">
- <li><a href="#rules_useless_in_parser">Rules useless in parser due to conflicts</a></li>
- </xsl:if>
- </ul>
- </li>
- <li><a href="#conflicts">Conflicts</a></li>
- <li>
- <a href="#grammar">Grammar</a>
- <ul class="lower-alpha">
- <li><a href="#grammar">Itemset</a></li>
- <li><a href="#terminals">Terminal symbols</a></li>
- <li><a href="#nonterminals">Nonterminal symbols</a></li>
- </ul>
- </li>
- <li><a href="#automaton">Automaton</a></li>
- </ul>
- <xsl:apply-templates select="grammar" mode="reductions"/>
- <xsl:apply-templates select="grammar" mode="useless-in-parser"/>
- <xsl:apply-templates select="automaton" mode="conflicts"/>
- <xsl:apply-templates select="grammar"/>
- <xsl:apply-templates select="automaton"/>
-</xsl:template>
-
-<xsl:template match="grammar" mode="reductions">
- <h2>
- <a name="reductions"/>
- <xsl:text> Reductions</xsl:text>
- </h2>
- <xsl:apply-templates select="nonterminals" mode="useless-in-grammar"/>
- <xsl:apply-templates select="terminals" mode="unused-in-grammar"/>
- <xsl:apply-templates select="rules" mode="useless-in-grammar"/>
-</xsl:template>
-
-<xsl:template match="nonterminals" mode="useless-in-grammar">
- <h3>
- <a name="nonterminals_useless_in_grammar"/>
- <xsl:text> Nonterminals useless in grammar</xsl:text>
- </h3>
- <xsl:text>&#10;&#10;</xsl:text>
- <xsl:if test="nonterminal[@usefulness='useless-in-grammar']">
- <p class="pre">
- <xsl:for-each select="nonterminal[@usefulness='useless-in-grammar']">
- <xsl:text> </xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>&#10;</xsl:text>
- </xsl:for-each>
- <xsl:text>&#10;&#10;</xsl:text>
- </p>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="terminals" mode="unused-in-grammar">
- <h3>
- <a name="terminals_unused_in_grammar"/>
- <xsl:text> Terminals unused in grammar</xsl:text>
- </h3>
- <xsl:text>&#10;&#10;</xsl:text>
- <xsl:if test="terminal[@usefulness='unused-in-grammar']">
- <p class="pre">
- <xsl:for-each select="terminal[@usefulness='unused-in-grammar']">
- <xsl:sort select="@symbol-number" data-type="number"/>
- <xsl:text> </xsl:text>
- <xsl:value-of select="@name"/>
- <xsl:text>&#10;</xsl:text>
- </xsl:for-each>
- <xsl:text>&#10;&#10;</xsl:text>
- </p>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="rules" mode="useless-in-grammar">
- <h3>
- <a name="rules_useless_in_grammar"/>
- <xsl:text> Rules useless in grammar</xsl:text>
- </h3>
- <xsl:text>&#10;</xsl:text>
- <xsl:variable name="set" select="rule[@usefulness='useless-in-grammar']"/>
- <xsl:if test="$set">
- <p class="pre">
- <xsl:call-template name="style-rule-set">
- <xsl:with-param name="rule-set" select="$set"/>
- </xsl:call-template>
- <xsl:text>&#10;&#10;</xsl:text>
- </p>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="grammar" mode="useless-in-parser">
- <xsl:variable
- name="set" select="rules/rule[@usefulness='useless-in-parser']"
- />
- <xsl:if test="$set">
- <h2>
- <a name="rules_useless_in_parser"/>
- <xsl:text> Rules useless in parser due to conflicts</xsl:text>
- </h2>
- <xsl:text>&#10;</xsl:text>
- <p class="pre">
- <xsl:call-template name="style-rule-set">
- <xsl:with-param name="rule-set" select="$set"/>
- </xsl:call-template>
- </p>
- <xsl:text>&#10;&#10;</xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="grammar">
- <h2>
- <a name="grammar"/>
- <xsl:text> Grammar</xsl:text>
- </h2>
- <xsl:text>&#10;</xsl:text>
- <p class="pre">
- <xsl:call-template name="style-rule-set">
- <xsl:with-param
- name="rule-set" select="rules/rule[@usefulness!='useless-in-grammar']"
- />
- </xsl:call-template>
- </p>
- <xsl:text>&#10;&#10;</xsl:text>
- <xsl:apply-templates select="terminals"/>
- <xsl:apply-templates select="nonterminals"/>
-</xsl:template>
-
-<xsl:template name="style-rule-set">
- <xsl:param name="rule-set"/>
- <xsl:for-each select="$rule-set">
- <xsl:apply-templates select=".">
- <xsl:with-param name="pad" select="'3'"/>
- <xsl:with-param name="prev-lhs">
- <xsl:if test="position()>1">
- <xsl:variable name="position" select="position()"/>
- <xsl:value-of select="$rule-set[$position - 1]/lhs"/>
- </xsl:if>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:for-each>
-</xsl:template>
-
-<xsl:template match="automaton" mode="conflicts">
- <h2>
- <a name="conflicts"/>
- <xsl:text> Conflicts</xsl:text>
- </h2>
- <xsl:text>&#10;&#10;</xsl:text>
- <xsl:variable name="conflict-report">
- <xsl:apply-templates select="state" mode="conflicts"/>
- </xsl:variable>
- <xsl:if test="string-length($conflict-report) != 0">
- <p class="pre">
- <xsl:copy-of select="$conflict-report"/>
- <xsl:text>&#10;&#10;</xsl:text>
- </p>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="state" mode="conflicts">
- <xsl:variable name="conflict-counts">
- <xsl:apply-templates select="." mode="bison:count-conflicts" />
- </xsl:variable>
- <xsl:variable
- name="sr-count" select="substring-before($conflict-counts, ',')"
- />
- <xsl:variable
- name="rr-count" select="substring-after($conflict-counts, ',')"
- />
- <xsl:if test="$sr-count > 0 or $rr-count > 0">
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#state_', @number)"/>
- </xsl:attribute>
- <xsl:value-of select="concat('State ', @number)"/>
- </a>
- <xsl:text> conflicts:</xsl:text>
- <xsl:if test="$sr-count > 0">
- <xsl:value-of select="concat(' ', $sr-count, ' shift/reduce')"/>
- <xsl:if test="$rr-count > 0">
- <xsl:value-of select="(',')"/>
- </xsl:if>
- </xsl:if>
- <xsl:if test="$rr-count > 0">
- <xsl:value-of select="concat(' ', $rr-count, ' reduce/reduce')"/>
- </xsl:if>
- <xsl:value-of select="'&#10;'"/>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="grammar/terminals">
- <h3>
- <a name="terminals"/>
- <xsl:text> Terminals, with rules where they appear</xsl:text>
- </h3>
- <xsl:text>&#10;&#10;</xsl:text>
- <p class="pre">
- <xsl:apply-templates select="terminal"/>
- </p>
- <xsl:text>&#10;&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="grammar/nonterminals">
- <h3>
- <a name="nonterminals"/>
- <xsl:text> Nonterminals, with rules where they appear</xsl:text>
- </h3>
- <xsl:text>&#10;&#10;</xsl:text>
- <p class="pre">
- <xsl:apply-templates
- select="nonterminal[@usefulness!='useless-in-grammar']"
- />
- </p>
-</xsl:template>
-
-<xsl:template match="terminal">
- <b><xsl:value-of select="@name"/></b>
- <xsl:value-of select="concat(' (', @token-number, ')')"/>
- <xsl:for-each select="key('bison:ruleByRhs', @name)">
- <xsl:apply-templates select="." mode="number-link"/>
- </xsl:for-each>
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="nonterminal">
- <b><xsl:value-of select="@name"/></b>
- <xsl:value-of select="concat(' (', @symbol-number, ')')"/>
- <xsl:text>&#10; </xsl:text>
- <xsl:if test="key('bison:ruleByLhs', @name)">
- <xsl:text>on left:</xsl:text>
- <xsl:for-each select="key('bison:ruleByLhs', @name)">
- <xsl:apply-templates select="." mode="number-link"/>
- </xsl:for-each>
- </xsl:if>
- <xsl:if test="key('bison:ruleByRhs', @name)">
- <xsl:if test="key('bison:ruleByLhs', @name)">
- <xsl:text>&#10; </xsl:text>
- </xsl:if>
- <xsl:text>on right:</xsl:text>
- <xsl:for-each select="key('bison:ruleByRhs', @name)">
- <xsl:apply-templates select="." mode="number-link"/>
- </xsl:for-each>
- </xsl:if>
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="rule" mode="number-link">
- <xsl:text> </xsl:text>
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#rule_', @number)"/>
- </xsl:attribute>
- <xsl:value-of select="@number"/>
- </a>
-</xsl:template>
-
-<xsl:template match="automaton">
- <h2>
- <a name="automaton"/>
- <xsl:text> Automaton</xsl:text>
- </h2>
- <xsl:apply-templates select="state">
- <xsl:with-param name="pad" select="'3'"/>
- </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="automaton/state">
- <xsl:param name="pad"/>
- <xsl:text>&#10;&#10;</xsl:text>
- <h3>
- <a>
- <xsl:attribute name="name">
- <xsl:value-of select="concat('state_', @number)"/>
- </xsl:attribute>
- </a>
- <xsl:text>state </xsl:text>
- <xsl:value-of select="@number"/>
- </h3>
- <xsl:text>&#10;&#10;</xsl:text>
- <p class="pre">
- <xsl:apply-templates select="itemset/item">
- <xsl:with-param name="pad" select="$pad"/>
- </xsl:apply-templates>
- <xsl:apply-templates select="actions/transitions">
- <xsl:with-param name="type" select="'shift'"/>
- </xsl:apply-templates>
- <xsl:apply-templates select="actions/errors"/>
- <xsl:apply-templates select="actions/reductions"/>
- <xsl:apply-templates select="actions/transitions">
- <xsl:with-param name="type" select="'goto'"/>
- </xsl:apply-templates>
- <xsl:apply-templates select="solved-conflicts"/>
- </p>
-</xsl:template>
-
-<xsl:template match="actions/transitions">
- <xsl:param name="type"/>
- <xsl:if test="transition[@type = $type]">
- <xsl:text>&#10;</xsl:text>
- <xsl:apply-templates select="transition[@type = $type]">
- <xsl:with-param name="pad">
- <xsl:call-template name="max-width-symbol">
- <xsl:with-param name="node" select="transition[@type = $type]"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="actions/errors">
- <xsl:if test="error">
- <xsl:text>&#10;</xsl:text>
- <xsl:apply-templates select="error">
- <xsl:with-param name="pad">
- <xsl:call-template name="max-width-symbol">
- <xsl:with-param name="node" select="error"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="actions/reductions">
- <xsl:if test="reduction">
- <xsl:text>&#10;</xsl:text>
- <xsl:apply-templates select="reduction">
- <xsl:with-param name="pad">
- <xsl:call-template name="max-width-symbol">
- <xsl:with-param name="node" select="reduction"/>
- </xsl:call-template>
- </xsl:with-param>
- </xsl:apply-templates>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="item">
- <xsl:param name="pad"/>
- <xsl:param name="prev-rule-number"
- select="preceding-sibling::item[1]/@rule-number"/>
- <xsl:apply-templates
- select="key('bison:ruleByNumber', current()/@rule-number)"
- >
- <xsl:with-param name="itemset" select="'true'"/>
- <xsl:with-param name="pad" select="$pad"/>
- <xsl:with-param name="prev-lhs"
- select="key('bison:ruleByNumber', $prev-rule-number)/lhs[text()]"
- />
- <xsl:with-param name="point" select="@point"/>
- <xsl:with-param name="lookaheads">
- <xsl:apply-templates select="lookaheads"/>
- </xsl:with-param>
- </xsl:apply-templates>
-</xsl:template>
-
-<xsl:template match="rule">
- <xsl:param name="itemset"/>
- <xsl:param name="pad"/>
- <xsl:param name="prev-lhs"/>
- <xsl:param name="point"/>
- <xsl:param name="lookaheads"/>
-
- <xsl:if test="$itemset != 'true' and not($prev-lhs = lhs[text()])">
- <xsl:text>&#10;</xsl:text>
- </xsl:if>
-
- <xsl:if test="$itemset != 'true'">
- <a>
- <xsl:attribute name="name">
- <xsl:value-of select="concat('rule_', @number)"/>
- </xsl:attribute>
- </a>
- </xsl:if>
- <xsl:text> </xsl:text>
-
- <xsl:choose>
- <xsl:when test="$itemset = 'true'">
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#rule_', @number)"/>
- </xsl:attribute>
- <xsl:call-template name="lpad">
- <xsl:with-param name="str" select="string(@number)"/>
- <xsl:with-param name="pad" select="number($pad)"/>
- </xsl:call-template>
- </a>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="lpad">
- <xsl:with-param name="str" select="string(@number)"/>
- <xsl:with-param name="pad" select="number($pad)"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:text> </xsl:text>
-
- <!-- LHS -->
- <xsl:choose>
- <xsl:when test="$itemset != 'true' and $prev-lhs = lhs[text()]">
- <xsl:call-template name="lpad">
- <xsl:with-param name="str" select="'|'"/>
- <xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 2"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:when test="$itemset = 'true' and $prev-lhs = lhs[text()]">
- <xsl:call-template name="lpad">
- <xsl:with-param name="str" select="'|'"/>
- <xsl:with-param name="pad" select="number(string-length(lhs[text()])) + 2"/>
- </xsl:call-template>
- </xsl:when>
- <xsl:otherwise>
- <span class="i">
- <xsl:value-of select="lhs"/>
- </span>
- <xsl:text> &#8594;</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
-
- <!-- RHS -->
- <xsl:for-each select="rhs/*">
- <xsl:if test="position() = $point + 1">
- <xsl:text> </xsl:text>
- <span class="point">.</span>
- </xsl:if>
- <xsl:if test="$itemset = 'true' and name(.) != 'empty'">
- <xsl:apply-templates select="."/>
- </xsl:if>
- <xsl:if test="$itemset != 'true'">
- <xsl:apply-templates select="."/>
- </xsl:if>
- <xsl:if test="position() = last() and position() = $point">
- <xsl:text> </xsl:text>
- <span class="point">.</span>
- </xsl:if>
- </xsl:for-each>
- <xsl:if test="$lookaheads">
- <xsl:value-of select="$lookaheads"/>
- </xsl:if>
-
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="symbol">
- <xsl:text> </xsl:text>
- <xsl:choose>
- <xsl:when test="name(key('bison:symbolByName', .)) = 'nonterminal'">
- <span class="i"><xsl:value-of select="."/></span>
- </xsl:when>
- <xsl:otherwise>
- <b><xsl:value-of select="."/></b>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<xsl:template match="empty">
- <xsl:text> &#949;</xsl:text>
-</xsl:template>
-
-<xsl:template match="lookaheads">
- <xsl:text> [</xsl:text>
- <xsl:apply-templates select="symbol"/>
- <xsl:text>]</xsl:text>
-</xsl:template>
-
-<xsl:template match="lookaheads/symbol">
- <xsl:value-of select="."/>
- <xsl:if test="position() != last()">
- <xsl:text>, </xsl:text>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="transition">
- <xsl:param name="pad"/>
- <xsl:text> </xsl:text>
- <xsl:call-template name="rpad">
- <xsl:with-param name="str" select="string(@symbol)"/>
- <xsl:with-param name="pad" select="number($pad) + 2"/>
- </xsl:call-template>
- <xsl:choose>
- <xsl:when test="@type = 'shift'">
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#state_', @state)"/>
- </xsl:attribute>
- <xsl:value-of select="concat('shift, and go to state ', @state)"/>
- </a>
- </xsl:when>
- <xsl:when test="@type = 'goto'">
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#state_', @state)"/>
- </xsl:attribute>
- <xsl:value-of select="concat('go to state ', @state)"/>
- </a>
- </xsl:when>
- </xsl:choose>
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="error">
- <xsl:param name="pad"/>
- <xsl:text> </xsl:text>
- <xsl:call-template name="rpad">
- <xsl:with-param name="str" select="string(@symbol)"/>
- <xsl:with-param name="pad" select="number($pad) + 2"/>
- </xsl:call-template>
- <xsl:text>error</xsl:text>
- <xsl:text> (</xsl:text>
- <xsl:value-of select="text()"/>
- <xsl:text>)</xsl:text>
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="reduction">
- <xsl:param name="pad"/>
- <xsl:text> </xsl:text>
- <xsl:call-template name="rpad">
- <xsl:with-param name="str" select="string(@symbol)"/>
- <xsl:with-param name="pad" select="number($pad) + 2"/>
- </xsl:call-template>
- <xsl:if test="@enabled = 'false'">
- <xsl:text>[</xsl:text>
- </xsl:if>
- <xsl:choose>
- <xsl:when test="@rule = 'accept'">
- <xsl:text>accept</xsl:text>
- </xsl:when>
- <xsl:otherwise>
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#rule_', @rule)"/>
- </xsl:attribute>
- <xsl:value-of select="concat('reduce using rule ', @rule)"/>
- </a>
- <xsl:text> (</xsl:text>
- <xsl:value-of
- select="key('bison:ruleByNumber', current()/@rule)/lhs[text()]"
- />
- <xsl:text>)</xsl:text>
- </xsl:otherwise>
- </xsl:choose>
- <xsl:if test="@enabled = 'false'">
- <xsl:text>]</xsl:text>
- </xsl:if>
- <xsl:text>&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template match="solved-conflicts">
- <xsl:if test="resolution">
- <xsl:text>&#10;</xsl:text>
- <xsl:apply-templates select="resolution"/>
- </xsl:if>
-</xsl:template>
-
-<xsl:template match="resolution">
- <xsl:text> Conflict between </xsl:text>
- <a>
- <xsl:attribute name="href">
- <xsl:value-of select="concat('#rule_', @rule)"/>
- </xsl:attribute>
- <xsl:value-of select="concat('rule ',@rule)"/>
- </a>
- <xsl:text> and token </xsl:text>
- <xsl:value-of select="@symbol"/>
- <xsl:text> resolved as </xsl:text>
- <xsl:if test="@type = 'error'">
- <xsl:text>an </xsl:text>
- </xsl:if>
- <xsl:value-of select="@type"/>
- <xsl:text> (</xsl:text>
- <xsl:value-of select="."/>
- <xsl:text>).&#10;</xsl:text>
-</xsl:template>
-
-<xsl:template name="max-width-symbol">
- <xsl:param name="node"/>
- <xsl:variable name="longest">
- <xsl:for-each select="$node">
- <xsl:sort data-type="number" select="string-length(@symbol)"
- order="descending"/>
- <xsl:if test="position() = 1">
- <xsl:value-of select="string-length(@symbol)"/>
- </xsl:if>
- </xsl:for-each>
- </xsl:variable>
- <xsl:value-of select="$longest"/>
-</xsl:template>
-
-<xsl:template name="lpad">
- <xsl:param name="str" select="''"/>
- <xsl:param name="pad" select="0"/>
- <xsl:variable name="diff" select="$pad - string-length($str)" />
- <xsl:choose>
- <xsl:when test="$diff &lt; 0">
- <xsl:value-of select="$str"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:call-template name="space">
- <xsl:with-param name="repeat" select="$diff"/>
- </xsl:call-template>
- <xsl:value-of select="$str"/>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<xsl:template name="rpad">
- <xsl:param name="str" select="''"/>
- <xsl:param name="pad" select="0"/>
- <xsl:variable name="diff" select="$pad - string-length($str)"/>
- <xsl:choose>
- <xsl:when test="$diff &lt; 0">
- <xsl:value-of select="$str"/>
- </xsl:when>
- <xsl:otherwise>
- <xsl:value-of select="$str"/>
- <xsl:call-template name="space">
- <xsl:with-param name="repeat" select="$diff"/>
- </xsl:call-template>
- </xsl:otherwise>
- </xsl:choose>
-</xsl:template>
-
-<xsl:template name="space">
- <xsl:param name="repeat">0</xsl:param>
- <xsl:param name="fill" select="' '"/>
- <xsl:if test="number($repeat) &gt;= 1">
- <xsl:call-template name="space">
- <xsl:with-param name="repeat" select="$repeat - 1"/>
- <xsl:with-param name="fill" select="$fill"/>
- </xsl:call-template>
- <xsl:value-of select="$fill"/>
- </xsl:if>
-</xsl:template>
-
-</xsl:stylesheet>
diff --git a/gnuwin32/bin/data/yacc.c b/gnuwin32/bin/data/yacc.c
deleted file mode 100644
index 822656b8..00000000
--- a/gnuwin32/bin/data/yacc.c
+++ /dev/null
@@ -1,1915 +0,0 @@
- -*- C -*-
-# Yacc compatible skeleton for Bison
-
-# Copyright (C) 1984, 1989-1990, 2000-2013 Free Software Foundation,
-# Inc.
-
-m4_pushdef([b4_copyright_years],
- [1984, 1989-1990, 2000-2013])
-
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-# Check the value of %define api.push-pull.
-b4_percent_define_default([[api.push-pull]], [[pull]])
-b4_percent_define_check_values([[[[api.push-pull]],
- [[pull]], [[push]], [[both]]]])
-b4_define_flag_if([pull]) m4_define([b4_pull_flag], [[1]])
-b4_define_flag_if([push]) m4_define([b4_push_flag], [[1]])
-m4_case(b4_percent_define_get([[api.push-pull]]),
- [pull], [m4_define([b4_push_flag], [[0]])],
- [push], [m4_define([b4_pull_flag], [[0]])])
-
-# Handle BISON_USE_PUSH_FOR_PULL for the test suite. So that push parsing
-# tests function as written, do not let BISON_USE_PUSH_FOR_PULL modify the
-# behavior of Bison at all when push parsing is already requested.
-b4_define_flag_if([use_push_for_pull])
-b4_use_push_for_pull_if([
- b4_push_if([m4_define([b4_use_push_for_pull_flag], [[0]])],
- [m4_define([b4_push_flag], [[1]])])])
-
-# Check the value of %define parse.lac and friends, where LAC stands for
-# lookahead correction.
-b4_percent_define_default([[parse.lac]], [[none]])
-b4_percent_define_default([[parse.lac.es-capacity-initial]], [[20]])
-b4_percent_define_default([[parse.lac.memory-trace]], [[failures]])
-b4_percent_define_check_values([[[[parse.lac]], [[full]], [[none]]]],
- [[[[parse.lac.memory-trace]],
- [[failures]], [[full]]]])
-b4_define_flag_if([lac])
-m4_define([b4_lac_flag],
- [m4_if(b4_percent_define_get([[parse.lac]]),
- [none], [[0]], [[1]])])
-
-m4_include(b4_pkgdatadir/[c.m4])
-
-## ---------------- ##
-## Default values. ##
-## ---------------- ##
-
-# Stack parameters.
-m4_define_default([b4_stack_depth_max], [10000])
-m4_define_default([b4_stack_depth_init], [200])
-
-
-## ------------------------ ##
-## Pure/impure interfaces. ##
-## ------------------------ ##
-
-b4_percent_define_default([[api.pure]], [[false]])
-b4_percent_define_check_values([[[[api.pure]],
- [[false]], [[true]], [[]], [[full]]]])
-
-m4_define([b4_pure_flag], [[0]])
-m4_case(b4_percent_define_get([[api.pure]]),
- [false], [m4_define([b4_pure_flag], [[0]])],
- [true], [m4_define([b4_pure_flag], [[1]])],
- [], [m4_define([b4_pure_flag], [[1]])],
- [full], [m4_define([b4_pure_flag], [[2]])])
-
-m4_define([b4_pure_if],
-[m4_case(b4_pure_flag,
- [0], [$2],
- [1], [$1],
- [2], [$1])])
- [m4_fatal([invalid api.pure value: ]$1)])])
-
-# b4_yyerror_arg_loc_if(ARG)
-# --------------------------
-# Expand ARG iff yyerror is to be given a location as argument.
-m4_define([b4_yyerror_arg_loc_if],
-[b4_locations_if([m4_case(b4_pure_flag,
- [1], [m4_ifset([b4_parse_param], [$1])],
- [2], [$1])])])
-
-# b4_yyerror_args
-# ---------------
-# Arguments passed to yyerror: user args plus yylloc.
-m4_define([b4_yyerror_args],
-[b4_yyerror_arg_loc_if([&yylloc, ])dnl
-m4_ifset([b4_parse_param], [b4_args(b4_parse_param), ])])
-
-
-
-## ------------ ##
-## Data Types. ##
-## ------------ ##
-
-# b4_int_type(MIN, MAX)
-# ---------------------
-# Return the smallest int type able to handle numbers ranging from
-# MIN to MAX (included). Overwrite the version from c.m4, which
-# uses only C89 types, so that the user can override the shorter
-# types, and so that pre-C89 compilers are handled correctly.
-m4_define([b4_int_type],
-[m4_if(b4_ints_in($@, [0], [255]), [1], [yytype_uint8],
- b4_ints_in($@, [-128], [127]), [1], [yytype_int8],
-
- b4_ints_in($@, [0], [65535]), [1], [yytype_uint16],
- b4_ints_in($@, [-32768], [32767]), [1], [yytype_int16],
-
- m4_eval([0 <= $1]), [1], [unsigned int],
-
- [int])])
-
-
-## ----------------- ##
-## Semantic Values. ##
-## ----------------- ##
-
-
-# b4_lhs_value([TYPE])
-# --------------------
-# Expansion of $<TYPE>$.
-m4_define([b4_lhs_value],
-[b4_symbol_value(yyval, [$1])])
-
-
-# b4_rhs_value(RULE-LENGTH, NUM, [TYPE])
-# --------------------------------------
-# Expansion of $<TYPE>NUM, where the current rule has RULE-LENGTH
-# symbols on RHS.
-m4_define([b4_rhs_value],
- [b4_symbol_value([yyvsp@{b4_subtract([$2], [$1])@}], [$3])])
-
-
-## ----------- ##
-## Locations. ##
-## ----------- ##
-
-# b4_lhs_location()
-# -----------------
-# Expansion of @$.
-m4_define([b4_lhs_location],
-[(yyloc)])
-
-
-# b4_rhs_location(RULE-LENGTH, NUM)
-# ---------------------------------
-# Expansion of @NUM, where the current rule has RULE-LENGTH symbols
-# on RHS.
-m4_define([b4_rhs_location],
- [(yylsp@{b4_subtract([$2], [$1])@})])
-
-
-## -------------- ##
-## Declarations. ##
-## -------------- ##
-
-# b4_declare_scanner_communication_variables
-# ------------------------------------------
-# Declare the variables that are global, or local to YYPARSE if
-# pure-parser.
-m4_define([b4_declare_scanner_communication_variables], [[
-/* The lookahead symbol. */
-int yychar;
-
-]b4_pure_if([[
-/* The semantic value of the lookahead symbol. */
-/* Default value used for initialization, for pacifying older GCCs
- or non-GCC compilers. */
-YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
-YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);]b4_locations_if([[
-
-/* Location data for the lookahead symbol. */
-static YYLTYPE yyloc_default]b4_yyloc_default[;
-YYLTYPE yylloc = yyloc_default;]])],
-[[/* The semantic value of the lookahead symbol. */
-YYSTYPE yylval;]b4_locations_if([[
-/* Location data for the lookahead symbol. */
-YYLTYPE yylloc]b4_yyloc_default[;]])[
-/* Number of syntax errors so far. */
-int yynerrs;]])])
-
-
-# b4_declare_parser_state_variables
-# ---------------------------------
-# Declare all the variables that are needed to maintain the parser state
-# between calls to yypush_parse.
-m4_define([b4_declare_parser_state_variables], [b4_pure_if([[
- /* Number of syntax errors so far. */
- int yynerrs;
-]])[
- int yystate;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
-
- /* The stacks and their tools:
- 'yyss': related to states.
- 'yyvs': related to semantic values.]b4_locations_if([[
- 'yyls': related to locations.]])[
-
- Refer to the stacks through separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
-
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss;
- yytype_int16 *yyssp;
-
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs;
- YYSTYPE *yyvsp;]b4_locations_if([[
-
- /* The location stack. */
- YYLTYPE yylsa[YYINITDEPTH];
- YYLTYPE *yyls;
- YYLTYPE *yylsp;
-
- /* The locations where the error started and ended. */
- YYLTYPE yyerror_range[3];]])[
-
- YYSIZE_T yystacksize;]b4_lac_if([[
-
- yytype_int16 yyesa@{]b4_percent_define_get([[parse.lac.es-capacity-initial]])[@};
- yytype_int16 *yyes;
- YYSIZE_T yyes_capacity;]])])
-
-
-# b4_declare_yyparse_push_
-# ------------------------
-# Declaration of yyparse (and dependencies) when using the push parser
-# (including in pull mode).
-m4_define([b4_declare_yyparse_push_],
-[[#ifndef YYPUSH_MORE_DEFINED
-# define YYPUSH_MORE_DEFINED
-enum { YYPUSH_MORE = 4 };
-#endif
-
-typedef struct ]b4_prefix[pstate ]b4_prefix[pstate;
-
-]b4_pull_if([b4_function_declare([b4_prefix[parse]], [[int]], b4_parse_param)
-])b4_function_declare([b4_prefix[push_parse]], [[int]],
- [[b4_prefix[pstate *ps]], [[ps]]]b4_pure_if([,
- [[[int pushed_char]], [[pushed_char]]],
- [[b4_api_PREFIX[STYPE const *pushed_val]], [[pushed_val]]]b4_locations_if([,
- [[b4_api_PREFIX[LTYPE *pushed_loc]], [[pushed_loc]]]])])m4_ifset([b4_parse_param], [,
- b4_parse_param]))
-b4_pull_if([b4_function_declare([b4_prefix[pull_parse]], [[int]],
- [[b4_prefix[pstate *ps]], [[ps]]]m4_ifset([b4_parse_param], [,
- b4_parse_param]))])
-b4_function_declare([b4_prefix[pstate_new]], [b4_prefix[pstate *]],
- [[[void]], []])
-b4_function_declare([b4_prefix[pstate_delete]], [[void]],
- [[b4_prefix[pstate *ps]], [[ps]]])dnl
-])
-
-# b4_declare_yyparse_
-# -------------------
-# When not the push parser.
-m4_define([b4_declare_yyparse_],
-[b4_function_declare(b4_prefix[parse], [int], b4_parse_param)])
-
-
-# b4_declare_yyparse
-# ------------------
-m4_define([b4_declare_yyparse],
-[b4_push_if([b4_declare_yyparse_push_],
- [b4_declare_yyparse_])[]dnl
-])
-
-
-# b4_shared_declarations
-# ----------------------
-# Declaration that might either go into the header (if --defines)
-# or open coded in the parser body.
-m4_define([b4_shared_declarations],
-[b4_cpp_guard_open([b4_spec_defines_file])[
-]b4_declare_yydebug[
-]b4_percent_code_get([[requires]])[
-]b4_token_enums_defines[
-]b4_declare_yylstype[
-]b4_declare_yyparse[
-]b4_percent_code_get([[provides]])[
-]b4_cpp_guard_close([b4_spec_defines_file])[]dnl
-])
-
-## -------------- ##
-## Output files. ##
-## -------------- ##
-
-b4_output_begin([b4_parser_file_name])
-b4_copyright([Bison implementation for Yacc-like parsers in C])[
-
-/* C LALR(1) parser skeleton written by Richard Stallman, by
- simplifying the original so-called "semantic" parser. */
-
-/* All symbols defined below should begin with yy or YY, to avoid
- infringing on user name space. This should be done even for local
- variables, as they might otherwise be expanded by user macros.
- There are some unavoidable exceptions within include files to
- define necessary library symbols; they are noted "INFRINGES ON
- USER NAME SPACE" below. */
-
-]b4_identification
-b4_percent_code_get([[top]])[]dnl
-m4_if(b4_api_prefix, [yy], [],
-[[/* Substitute the type names. */
-#define YYSTYPE ]b4_api_PREFIX[STYPE]b4_locations_if([[
-#define YYLTYPE ]b4_api_PREFIX[LTYPE]])])[
-]m4_if(b4_prefix, [yy], [],
-[[/* Substitute the variable and function names. */]b4_pull_if([[
-#define yyparse ]b4_prefix[parse]])b4_push_if([[
-#define yypush_parse ]b4_prefix[push_parse]b4_pull_if([[
-#define yypull_parse ]b4_prefix[pull_parse]])[
-#define yypstate_new ]b4_prefix[pstate_new
-#define yypstate_delete ]b4_prefix[pstate_delete
-#define yypstate ]b4_prefix[pstate]])[
-#define yylex ]b4_prefix[lex
-#define yyerror ]b4_prefix[error
-#define yydebug ]b4_prefix[debug
-#define yynerrs ]b4_prefix[nerrs
-]]b4_pure_if([], [[
-#define yylval ]b4_prefix[lval
-#define yychar ]b4_prefix[char]b4_locations_if([[
-#define yylloc ]b4_prefix[lloc]])]))[
-
-/* Copy the first part of user declarations. */
-]b4_user_pre_prologue[
-
-]b4_null_define[
-
-/* Enabling verbose error messages. */
-#ifdef YYERROR_VERBOSE
-# undef YYERROR_VERBOSE
-# define YYERROR_VERBOSE 1
-#else
-# define YYERROR_VERBOSE ]b4_error_verbose_if([1], [0])[
-#endif
-
-]m4_ifval(m4_quote(b4_spec_defines_file),
-[[/* In a future release of Bison, this section will be replaced
- by #include "@basename(]b4_spec_defines_file[@)". */
-]])dnl
-b4_shared_declarations[
-
-/* Copy the second part of user declarations. */
-]b4_user_post_prologue
-b4_percent_code_get[]dnl
-
-[#ifdef short
-# undef short
-#endif
-
-#ifdef YYTYPE_UINT8
-typedef YYTYPE_UINT8 yytype_uint8;
-#else
-typedef unsigned char yytype_uint8;
-#endif
-
-#ifdef YYTYPE_INT8
-typedef YYTYPE_INT8 yytype_int8;
-#else
-typedef signed char yytype_int8;
-#endif
-
-#ifdef YYTYPE_UINT16
-typedef YYTYPE_UINT16 yytype_uint16;
-#else
-typedef unsigned short int yytype_uint16;
-#endif
-
-#ifdef YYTYPE_INT16
-typedef YYTYPE_INT16 yytype_int16;
-#else
-typedef short int yytype_int16;
-#endif
-
-#ifndef YYSIZE_T
-# ifdef __SIZE_TYPE__
-# define YYSIZE_T __SIZE_TYPE__
-# elif defined size_t
-# define YYSIZE_T size_t
-# elif ! defined YYSIZE_T
-# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
-# define YYSIZE_T size_t
-# else
-# define YYSIZE_T unsigned int
-# endif
-#endif
-
-#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
-
-#ifndef YY_
-# if defined YYENABLE_NLS && YYENABLE_NLS
-# if ENABLE_NLS
-# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
-# define YY_(Msgid) dgettext ("bison-runtime", Msgid)
-# endif
-# endif
-# ifndef YY_
-# define YY_(Msgid) Msgid
-# endif
-#endif
-
-]b4_attribute_define[
-
-#if ]b4_lac_if([[1]], [[! defined yyoverflow || YYERROR_VERBOSE]])[
-
-/* The parser invokes alloca or malloc; define the necessary symbols. */]dnl
-b4_push_if([], [b4_lac_if([], [[
-
-# ifdef YYSTACK_USE_ALLOCA
-# if YYSTACK_USE_ALLOCA
-# ifdef __GNUC__
-# define YYSTACK_ALLOC __builtin_alloca
-# elif defined __BUILTIN_VA_ARG_INCR
-# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
-# elif defined _AIX
-# define YYSTACK_ALLOC __alloca
-# elif defined _MSC_VER
-# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
-# define alloca _alloca
-# else
-# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
-# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
- /* Use EXIT_SUCCESS as a witness for stdlib.h. */
-# ifndef EXIT_SUCCESS
-# define EXIT_SUCCESS 0
-# endif
-# endif
-# endif
-# endif
-# endif]])])[
-
-# ifdef YYSTACK_ALLOC
- /* Pacify GCC's 'empty if-body' warning. */
-# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
-# ifndef YYSTACK_ALLOC_MAXIMUM
- /* The OS might guarantee only one guard page at the bottom of the stack,
- and a page size can be as small as 4096 bytes. So we cannot safely
- invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
- to allow for a few compiler-allocated temporary stack slots. */
-# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
-# endif
-# else
-# define YYSTACK_ALLOC YYMALLOC
-# define YYSTACK_FREE YYFREE
-# ifndef YYSTACK_ALLOC_MAXIMUM
-# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
-# endif
-# if (defined __cplusplus && ! defined EXIT_SUCCESS \
- && ! ((defined YYMALLOC || defined malloc) \
- && (defined YYFREE || defined free)))
-# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef EXIT_SUCCESS
-# define EXIT_SUCCESS 0
-# endif
-# endif
-# ifndef YYMALLOC
-# define YYMALLOC malloc
-# if ! defined malloc && ! defined EXIT_SUCCESS
-void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
-# endif
-# endif
-# ifndef YYFREE
-# define YYFREE free
-# if ! defined free && ! defined EXIT_SUCCESS
-void free (void *); /* INFRINGES ON USER NAME SPACE */
-# endif
-# endif
-# endif]b4_lac_if([[
-# define YYCOPY_NEEDED 1]])[
-#endif]b4_lac_if([], [[ /* ! defined yyoverflow || YYERROR_VERBOSE */]])[
-
-
-#if (! defined yyoverflow \
- && (! defined __cplusplus \
- || (]b4_locations_if([[defined ]b4_api_PREFIX[LTYPE_IS_TRIVIAL && ]b4_api_PREFIX[LTYPE_IS_TRIVIAL \
- && ]])[defined ]b4_api_PREFIX[STYPE_IS_TRIVIAL && ]b4_api_PREFIX[STYPE_IS_TRIVIAL)))
-
-/* A type that is properly aligned for any stack member. */
-union yyalloc
-{
- yytype_int16 yyss_alloc;
- YYSTYPE yyvs_alloc;]b4_locations_if([
- YYLTYPE yyls_alloc;])[
-};
-
-/* The size of the maximum gap between one aligned stack and the next. */
-# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
-
-/* The size of an array large to enough to hold all stacks, each with
- N elements. */
-]b4_locations_if(
-[# define YYSTACK_BYTES(N) \
- ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
- + 2 * YYSTACK_GAP_MAXIMUM)],
-[# define YYSTACK_BYTES(N) \
- ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
- + YYSTACK_GAP_MAXIMUM)])[
-
-# define YYCOPY_NEEDED 1
-
-/* Relocate STACK from its old location to the new one. The
- local variables YYSIZE and YYSTACKSIZE give the old and new number of
- elements in the stack, and YYPTR gives the new location of the
- stack. Advance YYPTR to a properly aligned location for the next
- stack. */
-# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
- Stack = &yyptr->Stack_alloc; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (0)
-
-#endif
-
-#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
-/* Copy COUNT objects from SRC to DST. The source and destination do
- not overlap. */
-# ifndef YYCOPY
-# if defined __GNUC__ && 1 < __GNUC__
-# define YYCOPY(Dst, Src, Count) \
- __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
-# else
-# define YYCOPY(Dst, Src, Count) \
- do \
- { \
- YYSIZE_T yyi; \
- for (yyi = 0; yyi < (Count); yyi++) \
- (Dst)[yyi] = (Src)[yyi]; \
- } \
- while (0)
-# endif
-# endif
-#endif /* !YYCOPY_NEEDED */
-
-/* YYFINAL -- State number of the termination state. */
-#define YYFINAL ]b4_final_state_number[
-/* YYLAST -- Last index in YYTABLE. */
-#define YYLAST ]b4_last[
-
-/* YYNTOKENS -- Number of terminals. */
-#define YYNTOKENS ]b4_tokens_number[
-/* YYNNTS -- Number of nonterminals. */
-#define YYNNTS ]b4_nterms_number[
-/* YYNRULES -- Number of rules. */
-#define YYNRULES ]b4_rules_number[
-/* YYNSTATES -- Number of states. */
-#define YYNSTATES ]b4_states_number[
-
-/* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
- by yylex, with out-of-bounds checking. */
-#define YYUNDEFTOK ]b4_undef_token_number[
-#define YYMAXUTOK ]b4_user_token_number_max[
-
-#define YYTRANSLATE(YYX) \
- ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
-
-/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
- as returned by yylex, without out-of-bounds checking. */
-static const ]b4_int_type_for([b4_translate])[ yytranslate[] =
-{
- ]b4_translate[
-};
-
-#if ]b4_api_PREFIX[DEBUG
-]b4_integral_parser_table_define([rline], [b4_rline],
- [[YYRLINE[YYN] -- Source line where rule number YYN was defined.]])[
-#endif
-
-#if ]b4_api_PREFIX[DEBUG || YYERROR_VERBOSE || ]b4_token_table_flag[
-/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
- First, the terminals, then, starting at YYNTOKENS, nonterminals. */
-static const char *const yytname[] =
-{
- ]b4_tname[
-};
-#endif
-
-# ifdef YYPRINT
-/* YYTOKNUM[NUM] -- (External) token number corresponding to the
- (internal) symbol number NUM (which must be that of a token). */
-static const ]b4_int_type_for([b4_toknum])[ yytoknum[] =
-{
- ]b4_toknum[
-};
-# endif
-
-#define YYPACT_NINF ]b4_pact_ninf[
-
-#define yypact_value_is_default(Yystate) \
- ]b4_table_value_equals([[pact]], [[Yystate]], [b4_pact_ninf])[
-
-#define YYTABLE_NINF ]b4_table_ninf[
-
-#define yytable_value_is_error(Yytable_value) \
- ]b4_table_value_equals([[table]], [[Yytable_value]], [b4_table_ninf])[
-
-]b4_parser_tables_define[
-
-#define yyerrok (yyerrstatus = 0)
-#define yyclearin (yychar = YYEMPTY)
-#define YYEMPTY (-2)
-#define YYEOF 0
-
-#define YYACCEPT goto yyacceptlab
-#define YYABORT goto yyabortlab
-#define YYERROR goto yyerrorlab
-
-
-#define YYRECOVERING() (!!yyerrstatus)
-
-#define YYBACKUP(Token, Value) \
-do \
- if (yychar == YYEMPTY) \
- { \
- yychar = (Token); \
- yylval = (Value); \
- YYPOPSTACK (yylen); \
- yystate = *yyssp; \]b4_lac_if([[
- YY_LAC_DISCARD ("YYBACKUP"); \]])[
- goto yybackup; \
- } \
- else \
- { \
- yyerror (]b4_yyerror_args[YY_("syntax error: cannot back up")); \
- YYERROR; \
- } \
-while (0)
-
-/* Error token number */
-#define YYTERROR 1
-#define YYERRCODE 256
-
-]b4_locations_if([[
-]b4_yylloc_default_define[
-#define YYRHSLOC(Rhs, K) ((Rhs)[K])
-]])[
-
-/* Enable debugging if requested. */
-#if ]b4_api_PREFIX[DEBUG
-
-# ifndef YYFPRINTF
-# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
-# define YYFPRINTF fprintf
-# endif
-
-# define YYDPRINTF(Args) \
-do { \
- if (yydebug) \
- YYFPRINTF Args; \
-} while (0)
-
-]b4_yy_location_print_define[
-
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
-do { \
- if (yydebug) \
- { \
- YYFPRINTF (stderr, "%s ", Title); \
- yy_symbol_print (stderr, \
- Type, Value]b4_locations_if([, Location])[]b4_user_args[); \
- YYFPRINTF (stderr, "\n"); \
- } \
-} while (0)
-
-]b4_yy_symbol_print_define[
-
-/*------------------------------------------------------------------.
-| yy_stack_print -- Print the state stack from its BOTTOM up to its |
-| TOP (included). |
-`------------------------------------------------------------------*/
-
-]b4_function_define([yy_stack_print], [static void],
- [[yytype_int16 *yybottom], [yybottom]],
- [[yytype_int16 *yytop], [yytop]])[
-{
- YYFPRINTF (stderr, "Stack now");
- for (; yybottom <= yytop; yybottom++)
- {
- int yybot = *yybottom;
- YYFPRINTF (stderr, " %d", yybot);
- }
- YYFPRINTF (stderr, "\n");
-}
-
-# define YY_STACK_PRINT(Bottom, Top) \
-do { \
- if (yydebug) \
- yy_stack_print ((Bottom), (Top)); \
-} while (0)
-
-
-/*------------------------------------------------.
-| Report that the YYRULE is going to be reduced. |
-`------------------------------------------------*/
-
-]b4_function_define([yy_reduce_print], [static void],
- [[yytype_int16 *yyssp], [yyssp]],
- [[YYSTYPE *yyvsp], [yyvsp]],
- b4_locations_if([[[YYLTYPE *yylsp], [yylsp]],
- ])[[int yyrule], [yyrule]]m4_ifset([b4_parse_param], [,
- b4_parse_param]))[
-{
- unsigned long int yylno = yyrline[yyrule];
- int yynrhs = yyr2[yyrule];
- int yyi;
- YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
- yyrule - 1, yylno);
- /* The symbols being reduced. */
- for (yyi = 0; yyi < yynrhs; yyi++)
- {
- YYFPRINTF (stderr, " $%d = ", yyi + 1);
- yy_symbol_print (stderr,
- yystos[yyssp[yyi + 1 - yynrhs]],
- &]b4_rhs_value(yynrhs, yyi + 1)[
- ]b4_locations_if([, &]b4_rhs_location(yynrhs, yyi + 1))[]dnl
- b4_user_args[);
- YYFPRINTF (stderr, "\n");
- }
-}
-
-# define YY_REDUCE_PRINT(Rule) \
-do { \
- if (yydebug) \
- yy_reduce_print (yyssp, yyvsp, ]b4_locations_if([yylsp, ])[Rule]b4_user_args[); \
-} while (0)
-
-/* Nonzero means print parse trace. It is left uninitialized so that
- multiple parsers can coexist. */
-int yydebug;
-#else /* !]b4_api_PREFIX[DEBUG */
-# define YYDPRINTF(Args)
-# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
-# define YY_STACK_PRINT(Bottom, Top)
-# define YY_REDUCE_PRINT(Rule)
-#endif /* !]b4_api_PREFIX[DEBUG */
-
-
-/* YYINITDEPTH -- initial size of the parser's stacks. */
-#ifndef YYINITDEPTH
-# define YYINITDEPTH ]b4_stack_depth_init[
-#endif
-
-/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
- if the built-in stack extension method is used).
-
- Do not make this value too large; the results are undefined if
- YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
- evaluated with infinite-precision integer arithmetic. */
-
-#ifndef YYMAXDEPTH
-# define YYMAXDEPTH ]b4_stack_depth_max[
-#endif]b4_lac_if([[
-
-/* Given a state stack such that *YYBOTTOM is its bottom, such that
- *YYTOP is either its top or is YYTOP_EMPTY to indicate an empty
- stack, and such that *YYCAPACITY is the maximum number of elements it
- can hold without a reallocation, make sure there is enough room to
- store YYADD more elements. If not, allocate a new stack using
- YYSTACK_ALLOC, copy the existing elements, and adjust *YYBOTTOM,
- *YYTOP, and *YYCAPACITY to reflect the new capacity and memory
- location. If *YYBOTTOM != YYBOTTOM_NO_FREE, then free the old stack
- using YYSTACK_FREE. Return 0 if successful or if no reallocation is
- required. Return 1 if memory is exhausted. */
-static int
-yy_lac_stack_realloc (YYSIZE_T *yycapacity, YYSIZE_T yyadd,
-#if ]b4_api_PREFIX[DEBUG
- char const *yydebug_prefix,
- char const *yydebug_suffix,
-#endif
- yytype_int16 **yybottom,
- yytype_int16 *yybottom_no_free,
- yytype_int16 **yytop, yytype_int16 *yytop_empty)
-{
- YYSIZE_T yysize_old =
- *yytop == yytop_empty ? 0 : *yytop - *yybottom + 1;
- YYSIZE_T yysize_new = yysize_old + yyadd;
- if (*yycapacity < yysize_new)
- {
- YYSIZE_T yyalloc = 2 * yysize_new;
- yytype_int16 *yybottom_new;
- /* Use YYMAXDEPTH for maximum stack size given that the stack
- should never need to grow larger than the main state stack
- needs to grow without LAC. */
- if (YYMAXDEPTH < yysize_new)
- {
- YYDPRINTF ((stderr, "%smax size exceeded%s", yydebug_prefix,
- yydebug_suffix));
- return 1;
- }
- if (YYMAXDEPTH < yyalloc)
- yyalloc = YYMAXDEPTH;
- yybottom_new =
- (yytype_int16*) YYSTACK_ALLOC (yyalloc * sizeof *yybottom_new);
- if (!yybottom_new)
- {
- YYDPRINTF ((stderr, "%srealloc failed%s", yydebug_prefix,
- yydebug_suffix));
- return 1;
- }
- if (*yytop != yytop_empty)
- {
- YYCOPY (yybottom_new, *yybottom, yysize_old);
- *yytop = yybottom_new + (yysize_old - 1);
- }
- if (*yybottom != yybottom_no_free)
- YYSTACK_FREE (*yybottom);
- *yybottom = yybottom_new;
- *yycapacity = yyalloc;]m4_if(b4_percent_define_get([[parse.lac.memory-trace]]),
- [full], [[
- YYDPRINTF ((stderr, "%srealloc to %lu%s", yydebug_prefix,
- (unsigned long int) yyalloc, yydebug_suffix));]])[
- }
- return 0;
-}
-
-/* Establish the initial context for the current lookahead if no initial
- context is currently established.
-
- We define a context as a snapshot of the parser stacks. We define
- the initial context for a lookahead as the context in which the
- parser initially examines that lookahead in order to select a
- syntactic action. Thus, if the lookahead eventually proves
- syntactically unacceptable (possibly in a later context reached via a
- series of reductions), the initial context can be used to determine
- the exact set of tokens that would be syntactically acceptable in the
- lookahead's place. Moreover, it is the context after which any
- further semantic actions would be erroneous because they would be
- determined by a syntactically unacceptable token.
-
- YY_LAC_ESTABLISH should be invoked when a reduction is about to be
- performed in an inconsistent state (which, for the purposes of LAC,
- includes consistent states that don't know they're consistent because
- their default reductions have been disabled). Iff there is a
- lookahead token, it should also be invoked before reporting a syntax
- error. This latter case is for the sake of the debugging output.
-
- For parse.lac=full, the implementation of YY_LAC_ESTABLISH is as
- follows. If no initial context is currently established for the
- current lookahead, then check if that lookahead can eventually be
- shifted if syntactic actions continue from the current context.
- Report a syntax error if it cannot. */
-#define YY_LAC_ESTABLISH \
-do { \
- if (!yy_lac_established) \
- { \
- YYDPRINTF ((stderr, \
- "LAC: initial context established for %s\n", \
- yytname[yytoken])); \
- yy_lac_established = 1; \
- { \
- int yy_lac_status = \
- yy_lac (yyesa, &yyes, &yyes_capacity, yyssp, yytoken); \
- if (yy_lac_status == 2) \
- goto yyexhaustedlab; \
- if (yy_lac_status == 1) \
- goto yyerrlab; \
- } \
- } \
-} while (0)
-
-/* Discard any previous initial lookahead context because of Event,
- which may be a lookahead change or an invalidation of the currently
- established initial context for the current lookahead.
-
- The most common example of a lookahead change is a shift. An example
- of both cases is syntax error recovery. That is, a syntax error
- occurs when the lookahead is syntactically erroneous for the
- currently established initial context, so error recovery manipulates
- the parser stacks to try to find a new initial context in which the
- current lookahead is syntactically acceptable. If it fails to find
- such a context, it discards the lookahead. */
-#if ]b4_api_PREFIX[DEBUG
-# define YY_LAC_DISCARD(Event) \
-do { \
- if (yy_lac_established) \
- { \
- if (yydebug) \
- YYFPRINTF (stderr, "LAC: initial context discarded due to " \
- Event "\n"); \
- yy_lac_established = 0; \
- } \
-} while (0)
-#else
-# define YY_LAC_DISCARD(Event) yy_lac_established = 0
-#endif
-
-/* Given the stack whose top is *YYSSP, return 0 iff YYTOKEN can
- eventually (after perhaps some reductions) be shifted, return 1 if
- not, or return 2 if memory is exhausted. As preconditions and
- postconditions: *YYES_CAPACITY is the allocated size of the array to
- which *YYES points, and either *YYES = YYESA or *YYES points to an
- array allocated with YYSTACK_ALLOC. yy_lac may overwrite the
- contents of either array, alter *YYES and *YYES_CAPACITY, and free
- any old *YYES other than YYESA. */
-static int
-yy_lac (yytype_int16 *yyesa, yytype_int16 **yyes,
- YYSIZE_T *yyes_capacity, yytype_int16 *yyssp, int yytoken)
-{
- yytype_int16 *yyes_prev = yyssp;
- yytype_int16 *yyesp = yyes_prev;
- YYDPRINTF ((stderr, "LAC: checking lookahead %s:", yytname[yytoken]));
- if (yytoken == YYUNDEFTOK)
- {
- YYDPRINTF ((stderr, " Always Err\n"));
- return 1;
- }
- while (1)
- {
- int yyrule = yypact[*yyesp];
- if (yypact_value_is_default (yyrule)
- || (yyrule += yytoken) < 0 || YYLAST < yyrule
- || yycheck[yyrule] != yytoken)
- {
- yyrule = yydefact[*yyesp];
- if (yyrule == 0)
- {
- YYDPRINTF ((stderr, " Err\n"));
- return 1;
- }
- }
- else
- {
- yyrule = yytable[yyrule];
- if (yytable_value_is_error (yyrule))
- {
- YYDPRINTF ((stderr, " Err\n"));
- return 1;
- }
- if (0 < yyrule)
- {
- YYDPRINTF ((stderr, " S%d\n", yyrule));
- return 0;
- }
- yyrule = -yyrule;
- }
- {
- YYSIZE_T yylen = yyr2[yyrule];
- YYDPRINTF ((stderr, " R%d", yyrule - 1));
- if (yyesp != yyes_prev)
- {
- YYSIZE_T yysize = yyesp - *yyes + 1;
- if (yylen < yysize)
- {
- yyesp -= yylen;
- yylen = 0;
- }
- else
- {
- yylen -= yysize;
- yyesp = yyes_prev;
- }
- }
- if (yylen)
- yyesp = yyes_prev -= yylen;
- }
- {
- int yystate;
- {
- int yylhs = yyr1[yyrule] - YYNTOKENS;
- yystate = yypgoto[yylhs] + *yyesp;
- if (yystate < 0 || YYLAST < yystate
- || yycheck[yystate] != *yyesp)
- yystate = yydefgoto[yylhs];
- else
- yystate = yytable[yystate];
- }
- if (yyesp == yyes_prev)
- {
- yyesp = *yyes;
- *yyesp = yystate;
- }
- else
- {
- if (yy_lac_stack_realloc (yyes_capacity, 1,
-#if ]b4_api_PREFIX[DEBUG
- " (", ")",
-#endif
- yyes, yyesa, &yyesp, yyes_prev))
- {
- YYDPRINTF ((stderr, "\n"));
- return 2;
- }
- *++yyesp = yystate;
- }
- YYDPRINTF ((stderr, " G%d", yystate));
- }
- }
-}]])[
-
-
-#if YYERROR_VERBOSE
-
-# ifndef yystrlen
-# if defined __GLIBC__ && defined _STRING_H
-# define yystrlen strlen
-# else
-/* Return the length of YYSTR. */
-]b4_function_define([yystrlen], [static YYSIZE_T],
- [[const char *yystr], [yystr]])[
-{
- YYSIZE_T yylen;
- for (yylen = 0; yystr[yylen]; yylen++)
- continue;
- return yylen;
-}
-# endif
-# endif
-
-# ifndef yystpcpy
-# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
-# define yystpcpy stpcpy
-# else
-/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
- YYDEST. */
-]b4_function_define([yystpcpy], [static char *],
- [[char *yydest], [yydest]], [[const char *yysrc], [yysrc]])[
-{
- char *yyd = yydest;
- const char *yys = yysrc;
-
- while ((*yyd++ = *yys++) != '\0')
- continue;
-
- return yyd - 1;
-}
-# endif
-# endif
-
-# ifndef yytnamerr
-/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
- quotes and backslashes, so that it's suitable for yyerror. The
- heuristic is that double-quoting is unnecessary unless the string
- contains an apostrophe, a comma, or backslash (other than
- backslash-backslash). YYSTR is taken from yytname. If YYRES is
- null, do not copy; instead, return the length of what the result
- would have been. */
-static YYSIZE_T
-yytnamerr (char *yyres, const char *yystr)
-{
- if (*yystr == '"')
- {
- YYSIZE_T yyn = 0;
- char const *yyp = yystr;
-
- for (;;)
- switch (*++yyp)
- {
- case '\'':
- case ',':
- goto do_not_strip_quotes;
-
- case '\\':
- if (*++yyp != '\\')
- goto do_not_strip_quotes;
- /* Fall through. */
- default:
- if (yyres)
- yyres[yyn] = *yyp;
- yyn++;
- break;
-
- case '"':
- if (yyres)
- yyres[yyn] = '\0';
- return yyn;
- }
- do_not_strip_quotes: ;
- }
-
- if (! yyres)
- return yystrlen (yystr);
-
- return yystpcpy (yyres, yystr) - yyres;
-}
-# endif
-
-/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
- about the unexpected token YYTOKEN for the state stack whose top is
- YYSSP.]b4_lac_if([[ In order to see if a particular token T is a
- valid looakhead, invoke yy_lac (YYESA, YYES, YYES_CAPACITY, YYSSP, T).]])[
-
- Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
- not large enough to hold the message. In that case, also set
- *YYMSG_ALLOC to the required number of bytes. Return 2 if the
- required number of bytes is too large to store]b4_lac_if([[ or if
- yy_lac returned 2]])[. */
-static int
-yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
- ]b4_lac_if([[yytype_int16 *yyesa, yytype_int16 **yyes,
- YYSIZE_T *yyes_capacity, ]])[yytype_int16 *yyssp, int yytoken)
-{
- YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
- YYSIZE_T yysize = yysize0;
- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
- /* Internationalized format string. */
- const char *yyformat = YY_NULL;
- /* Arguments of yyformat. */
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- /* Number of reported tokens (one for the "unexpected", one per
- "expected"). */
- int yycount = 0;
-
- /* There are many possibilities here to consider:
- - If this state is a consistent state with a default action, then
- the only way this function was invoked is if the default action
- is an error action. In that case, don't check for expected
- tokens because there are none.
- - The only way there can be no lookahead present (in yychar) is if
- this state is a consistent state with a default action. Thus,
- detecting the absence of a lookahead is sufficient to determine
- that there is no unexpected or expected token to report. In that
- case, just report a simple "syntax error".
- - Don't assume there isn't a lookahead just because this state is a
- consistent state with a default action. There might have been a
- previous inconsistent state, consistent state with a non-default
- action, or user semantic action that manipulated yychar.]b4_lac_if([[
- In the first two cases, it might appear that the current syntax
- error should have been detected in the previous state when yy_lac
- was invoked. However, at that time, there might have been a
- different syntax error that discarded a different initial context
- during error recovery, leaving behind the current lookahead.]], [[
- - Of course, the expected token list depends on states to have
- correct lookahead information, and it depends on the parser not
- to perform extra reductions after fetching a lookahead from the
- scanner and before detecting a syntax error. Thus, state merging
- (from LALR or IELR) and default reductions corrupt the expected
- token list. However, the list is correct for canonical LR with
- one exception: it will still contain any token that will not be
- accepted due to an error action in a later state.]])[
- */
- if (yytoken != YYEMPTY)
- {
- int yyn = yypact[*yyssp];]b4_lac_if([[
- YYDPRINTF ((stderr, "Constructing syntax error message\n"));]])[
- yyarg[yycount++] = yytname[yytoken];
- if (!yypact_value_is_default (yyn))
- {]b4_lac_if([], [[
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. In other words, skip the first -YYN actions for
- this state because they are default actions. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
- /* Stay within bounds of both yycheck and yytname. */
- int yychecklim = YYLAST - yyn + 1;
- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;]])[
- int yyx;]b4_lac_if([[
-
- for (yyx = 0; yyx < YYNTOKENS; ++yyx)
- if (yyx != YYTERROR && yyx != YYUNDEFTOK)
- {
- {
- int yy_lac_status = yy_lac (yyesa, yyes, yyes_capacity,
- yyssp, yyx);
- if (yy_lac_status == 2)
- return 2;
- if (yy_lac_status == 1)
- continue;
- }]], [[
-
- for (yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
- && !yytable_value_is_error (yytable[yyx + yyn]))
- {]])[
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
- {
- yycount = 1;
- yysize = yysize0;
- break;
- }
- yyarg[yycount++] = yytname[yyx];
- {
- YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
- if (! (yysize <= yysize1
- && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
- }
- }
- }]b4_lac_if([[
-# if ]b4_api_PREFIX[DEBUG
- else if (yydebug)
- YYFPRINTF (stderr, "No expected tokens.\n");
-# endif]])[
- }
-
- switch (yycount)
- {
-# define YYCASE_(N, S) \
- case N: \
- yyformat = S; \
- break
- YYCASE_(0, YY_("syntax error"));
- YYCASE_(1, YY_("syntax error, unexpected %s"));
- YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
- YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
- YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
- YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
-# undef YYCASE_
- }
-
- {
- YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
- if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
- return 2;
- yysize = yysize1;
- }
-
- if (*yymsg_alloc < yysize)
- {
- *yymsg_alloc = 2 * yysize;
- if (! (yysize <= *yymsg_alloc
- && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
- *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
- return 1;
- }
-
- /* Avoid sprintf, as that infringes on the user's name space.
- Don't have undefined behavior even if the translation
- produced a string with the wrong number of "%s"s. */
- {
- char *yyp = *yymsg;
- int yyi = 0;
- while ((*yyp = *yyformat) != '\0')
- if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
- {
- yyp += yytnamerr (yyp, yyarg[yyi++]);
- yyformat += 2;
- }
- else
- {
- yyp++;
- yyformat++;
- }
- }
- return 0;
-}
-#endif /* YYERROR_VERBOSE */
-
-]b4_yydestruct_define[
-
-]b4_pure_if([], [
-
-b4_declare_scanner_communication_variables])[]b4_push_if([[
-
-struct yypstate
- {]b4_declare_parser_state_variables[
- /* Used to determine if this is the first time this instance has
- been used. */
- int yynew;
- };]b4_pure_if([], [[
-
-static char yypstate_allocated = 0;]])b4_pull_if([
-
-b4_function_define([[yyparse]], [[int]], b4_parse_param)[
-{
- return yypull_parse (YY_NULL]m4_ifset([b4_parse_param],
- [[, ]b4_args(b4_parse_param)])[);
-}
-
-]b4_function_define([[yypull_parse]], [[int]],
- [[[yypstate *yyps]], [[yyps]]]m4_ifset([b4_parse_param], [,
- b4_parse_param]))[
-{
- int yystatus;
- yypstate *yyps_local;]b4_pure_if([[
- int yychar;
- YYSTYPE yylval;]b4_locations_if([[
- static YYLTYPE yyloc_default][]b4_yyloc_default[;
- YYLTYPE yylloc = yyloc_default;]])])[
- if (yyps)
- yyps_local = yyps;
- else
- {
- yyps_local = yypstate_new ();
- if (!yyps_local)
- {]b4_pure_if([[
- yyerror (]b4_yyerror_args[YY_("memory exhausted"));]], [[
- if (!yypstate_allocated)
- yyerror (]b4_yyerror_args[YY_("memory exhausted"));]])[
- return 2;
- }
- }
- do {
- yychar = ]b4_lex[;
- yystatus =
- yypush_parse (yyps_local]b4_pure_if([[, yychar, &yylval]b4_locations_if([[, &yylloc]])])m4_ifset([b4_parse_param], [, b4_args(b4_parse_param)])[);
- } while (yystatus == YYPUSH_MORE);
- if (!yyps)
- yypstate_delete (yyps_local);
- return yystatus;
-}]])[
-
-/* Initialize the parser data structure. */
-]b4_function_define([[yypstate_new]], [[yypstate *]])[
-{
- yypstate *yyps;]b4_pure_if([], [[
- if (yypstate_allocated)
- return YY_NULL;]])[
- yyps = (yypstate *) malloc (sizeof *yyps);
- if (!yyps)
- return YY_NULL;
- yyps->yynew = 1;]b4_pure_if([], [[
- yypstate_allocated = 1;]])[
- return yyps;
-}
-
-]b4_function_define([[yypstate_delete]], [[void]],
- [[[yypstate *yyps]], [[yyps]]])[
-{
-#ifndef yyoverflow
- /* If the stack was reallocated but the parse did not complete, then the
- stack still needs to be freed. */
- if (!yyps->yynew && yyps->yyss != yyps->yyssa)
- YYSTACK_FREE (yyps->yyss);
-#endif]b4_lac_if([[
- if (!yyps->yynew && yyps->yyes != yyps->yyesa)
- YYSTACK_FREE (yyps->yyes);]])[
- free (yyps);]b4_pure_if([], [[
- yypstate_allocated = 0;]])[
-}
-]b4_pure_if([[
-#define ]b4_prefix[nerrs yyps->]b4_prefix[nerrs]])[
-#define yystate yyps->yystate
-#define yyerrstatus yyps->yyerrstatus
-#define yyssa yyps->yyssa
-#define yyss yyps->yyss
-#define yyssp yyps->yyssp
-#define yyvsa yyps->yyvsa
-#define yyvs yyps->yyvs
-#define yyvsp yyps->yyvsp]b4_locations_if([[
-#define yylsa yyps->yylsa
-#define yyls yyps->yyls
-#define yylsp yyps->yylsp
-#define yyerror_range yyps->yyerror_range]])[
-#define yystacksize yyps->yystacksize]b4_lac_if([[
-#define yyesa yyps->yyesa
-#define yyes yyps->yyes
-#define yyes_capacity yyps->yyes_capacity]])[
-
-
-/*---------------.
-| yypush_parse. |
-`---------------*/
-
-]b4_function_define([[yypush_parse]], [[int]],
- [[[yypstate *yyps]], [[yyps]]]b4_pure_if([,
- [[[int yypushed_char]], [[yypushed_char]]],
- [[[YYSTYPE const *yypushed_val]], [[yypushed_val]]]b4_locations_if([,
- [[[YYLTYPE *yypushed_loc]], [[yypushed_loc]]]])])m4_ifset([b4_parse_param], [,
- b4_parse_param]))], [[
-
-
-/*----------.
-| yyparse. |
-`----------*/
-
-]b4_function_define([yyparse], [int], b4_parse_param)])[
-{]b4_pure_if([b4_declare_scanner_communication_variables
-])b4_push_if([b4_pure_if([], [[
- int yypushed_char = yychar;
- YYSTYPE yypushed_val = yylval;]b4_locations_if([[
- YYLTYPE yypushed_loc = yylloc;]])
-])],
- [b4_declare_parser_state_variables
-])b4_lac_if([[
- int yy_lac_established = 0;]])[
- int yyn;
- int yyresult;
- /* Lookahead token as an internal (translated) token number. */
- int yytoken = 0;
- /* The variables used to return semantic value and location from the
- action routines. */
- YYSTYPE yyval;]b4_locations_if([[
- YYLTYPE yyloc;]])[
-
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
-
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)]b4_locations_if([, yylsp -= (N)])[)
-
- /* The number of symbols on the RHS of the reduced rule.
- Keep to zero when no symbol should be popped. */
- int yylen = 0;]b4_push_if([[
-
- if (!yyps->yynew)
- {
- yyn = yypact[yystate];
- goto yyread_pushed_token;
- }]])[
-
- yyssp = yyss = yyssa;
- yyvsp = yyvs = yyvsa;]b4_locations_if([[
- yylsp = yyls = yylsa;]])[
- yystacksize = YYINITDEPTH;]b4_lac_if([[
-
- yyes = yyesa;
- yyes_capacity = sizeof yyesa / sizeof *yyes;
- if (YYMAXDEPTH < yyes_capacity)
- yyes_capacity = YYMAXDEPTH;]])[
-
- YYDPRINTF ((stderr, "Starting parse\n"));
-
- yystate = 0;
- yyerrstatus = 0;
- yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
-]m4_ifdef([b4_initial_action], [
-b4_dollar_pushdef([m4_define([b4_dollar_dollar_used])yylval], [],
- [b4_push_if([b4_pure_if([*])yypushed_loc], [yylloc])])dnl
-/* User initialization code. */
-b4_user_initial_action
-b4_dollar_popdef[]dnl
-m4_ifdef([b4_dollar_dollar_used],[[ yyvsp[0] = yylval;
-]])])dnl
-b4_locations_if([[ yylsp[0] = ]b4_push_if([b4_pure_if([*])yypushed_loc], [yylloc])[;
-]])dnl
-[ goto yysetstate;
-
-/*------------------------------------------------------------.
-| yynewstate -- Push a new state, which is found in yystate. |
-`------------------------------------------------------------*/
- yynewstate:
- /* In all cases, when you get here, the value and location stacks
- have just been pushed. So pushing a state here evens the stacks. */
- yyssp++;
-
- yysetstate:
- *yyssp = yystate;
-
- if (yyss + yystacksize - 1 <= yyssp)
- {
- /* Get the current used size of the three stacks, in elements. */
- YYSIZE_T yysize = yyssp - yyss + 1;
-
-#ifdef yyoverflow
- {
- /* Give user a chance to reallocate the stack. Use copies of
- these so that the &'s don't force the real ones into
- memory. */
- YYSTYPE *yyvs1 = yyvs;
- yytype_int16 *yyss1 = yyss;]b4_locations_if([
- YYLTYPE *yyls1 = yyls;])[
-
- /* Each stack pointer address is followed by the size of the
- data in use in that stack, in bytes. This used to be a
- conditional around just the two extra args, but that might
- be undefined if yyoverflow is a macro. */
- yyoverflow (YY_("memory exhausted"),
- &yyss1, yysize * sizeof (*yyssp),
- &yyvs1, yysize * sizeof (*yyvsp),]b4_locations_if([
- &yyls1, yysize * sizeof (*yylsp),])[
- &yystacksize);
-]b4_locations_if([
- yyls = yyls1;])[
- yyss = yyss1;
- yyvs = yyvs1;
- }
-#else /* no yyoverflow */
-# ifndef YYSTACK_RELOCATE
- goto yyexhaustedlab;
-# else
- /* Extend the stack our own way. */
- if (YYMAXDEPTH <= yystacksize)
- goto yyexhaustedlab;
- yystacksize *= 2;
- if (YYMAXDEPTH < yystacksize)
- yystacksize = YYMAXDEPTH;
-
- {
- yytype_int16 *yyss1 = yyss;
- union yyalloc *yyptr =
- (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
- if (! yyptr)
- goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss_alloc, yyss);
- YYSTACK_RELOCATE (yyvs_alloc, yyvs);]b4_locations_if([
- YYSTACK_RELOCATE (yyls_alloc, yyls);])[
-# undef YYSTACK_RELOCATE
- if (yyss1 != yyssa)
- YYSTACK_FREE (yyss1);
- }
-# endif
-#endif /* no yyoverflow */
-
- yyssp = yyss + yysize - 1;
- yyvsp = yyvs + yysize - 1;]b4_locations_if([
- yylsp = yyls + yysize - 1;])[
-
- YYDPRINTF ((stderr, "Stack size increased to %lu\n",
- (unsigned long int) yystacksize));
-
- if (yyss + yystacksize - 1 <= yyssp)
- YYABORT;
- }
-
- YYDPRINTF ((stderr, "Entering state %d\n", yystate));
-
- if (yystate == YYFINAL)
- YYACCEPT;
-
- goto yybackup;
-
-/*-----------.
-| yybackup. |
-`-----------*/
-yybackup:
-
- /* Do appropriate processing given the current state. Read a
- lookahead token if we need one and don't already have one. */
-
- /* First try to decide what to do without reference to lookahead token. */
- yyn = yypact[yystate];
- if (yypact_value_is_default (yyn))
- goto yydefault;
-
- /* Not known => get a lookahead token if don't already have one. */
-
- /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
- if (yychar == YYEMPTY)
- {]b4_push_if([[
- if (!yyps->yynew)
- {]b4_use_push_for_pull_if([], [[
- YYDPRINTF ((stderr, "Return for a new token:\n"));]])[
- yyresult = YYPUSH_MORE;
- goto yypushreturn;
- }
- yyps->yynew = 0;]b4_pure_if([], [[
- /* Restoring the pushed token is only necessary for the first
- yypush_parse invocation since subsequent invocations don't overwrite
- it before jumping to yyread_pushed_token. */
- yychar = yypushed_char;
- yylval = yypushed_val;]b4_locations_if([[
- yylloc = yypushed_loc;]])])[
-yyread_pushed_token:]])[
- YYDPRINTF ((stderr, "Reading a token: "));]b4_push_if([b4_pure_if([[
- yychar = yypushed_char;
- if (yypushed_val)
- yylval = *yypushed_val;]b4_locations_if([[
- if (yypushed_loc)
- yylloc = *yypushed_loc;]])])], [[
- yychar = ]b4_lex[;]])[
- }
-
- if (yychar <= YYEOF)
- {
- yychar = yytoken = YYEOF;
- YYDPRINTF ((stderr, "Now at end of input.\n"));
- }
- else
- {
- yytoken = YYTRANSLATE (yychar);
- YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
- }
-
- /* If the proper action on seeing token YYTOKEN is to reduce or to
- detect an error, take that action. */
- yyn += yytoken;
- if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)]b4_lac_if([[
- {
- YY_LAC_ESTABLISH;
- goto yydefault;
- }]], [[
- goto yydefault;]])[
- yyn = yytable[yyn];
- if (yyn <= 0)
- {
- if (yytable_value_is_error (yyn))
- goto yyerrlab;]b4_lac_if([[
- YY_LAC_ESTABLISH;]])[
- yyn = -yyn;
- goto yyreduce;
- }
-
- /* Count tokens shifted since error; after three, turn off error
- status. */
- if (yyerrstatus)
- yyerrstatus--;
-
- /* Shift the lookahead token. */
- YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
-
- /* Discard the shifted token. */
- yychar = YYEMPTY;]b4_lac_if([[
- YY_LAC_DISCARD ("shift");]])[
-
- yystate = yyn;
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
- *++yyvsp = yylval;
- YY_IGNORE_MAYBE_UNINITIALIZED_END
-]b4_locations_if([ *++yylsp = yylloc;])[
- goto yynewstate;
-
-
-/*-----------------------------------------------------------.
-| yydefault -- do the default action for the current state. |
-`-----------------------------------------------------------*/
-yydefault:
- yyn = yydefact[yystate];
- if (yyn == 0)
- goto yyerrlab;
- goto yyreduce;
-
-
-/*-----------------------------.
-| yyreduce -- Do a reduction. |
-`-----------------------------*/
-yyreduce:
- /* yyn is the number of a rule to reduce with. */
- yylen = yyr2[yyn];
-
- /* If YYLEN is nonzero, implement the default value of the action:
- '$$ = $1'.
-
- Otherwise, the following line sets YYVAL to garbage.
- This behavior is undocumented and Bison
- users should not rely upon it. Assigning to YYVAL
- unconditionally makes the parser a bit smaller, and it avoids a
- GCC warning that YYVAL may be used uninitialized. */
- yyval = yyvsp[1-yylen];
-
-]b4_locations_if(
-[[ /* Default location. */
- YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);]])[
- YY_REDUCE_PRINT (yyn);]b4_lac_if([[
- {
- int yychar_backup = yychar;
- switch (yyn)
- {
- ]b4_user_actions[
- default: break;
- }
- if (yychar_backup != yychar)
- YY_LAC_DISCARD ("yychar change");
- }]], [[
- switch (yyn)
- {
- ]b4_user_actions[
- default: break;
- }]])[
- /* User semantic actions sometimes alter yychar, and that requires
- that yytoken be updated with the new translation. We take the
- approach of translating immediately before every use of yytoken.
- One alternative is translating here after every semantic action,
- but that translation would be missed if the semantic action invokes
- YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
- if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
- incorrect destructor might then be invoked immediately. In the
- case of YYERROR or YYBACKUP, subsequent parser actions might lead
- to an incorrect destructor call or verbose syntax error message
- before the lookahead is translated. */
- YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
-
- YYPOPSTACK (yylen);
- yylen = 0;
- YY_STACK_PRINT (yyss, yyssp);
-
- *++yyvsp = yyval;]b4_locations_if([
- *++yylsp = yyloc;])[
-
- /* Now 'shift' the result of the reduction. Determine what state
- that goes to, based on the state we popped back to and the rule
- number reduced by. */
-
- yyn = yyr1[yyn];
-
- yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
- if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
- yystate = yytable[yystate];
- else
- yystate = yydefgoto[yyn - YYNTOKENS];
-
- goto yynewstate;
-
-
-/*--------------------------------------.
-| yyerrlab -- here on detecting error. |
-`--------------------------------------*/
-yyerrlab:
- /* Make sure we have latest lookahead translation. See comments at
- user semantic actions for why this is necessary. */
- yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
-
- /* If not already recovering from an error, report this error. */
- if (!yyerrstatus)
- {
- ++yynerrs;
-#if ! YYERROR_VERBOSE
- yyerror (]b4_yyerror_args[YY_("syntax error"));
-#else
-# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \]b4_lac_if([[
- yyesa, &yyes, &yyes_capacity, \]])[
- yyssp, yytoken)
- {
- char const *yymsgp = YY_("syntax error");
- int yysyntax_error_status;]b4_lac_if([[
- if (yychar != YYEMPTY)
- YY_LAC_ESTABLISH;]])[
- yysyntax_error_status = YYSYNTAX_ERROR;
- if (yysyntax_error_status == 0)
- yymsgp = yymsg;
- else if (yysyntax_error_status == 1)
- {
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
- yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
- if (!yymsg)
- {
- yymsg = yymsgbuf;
- yymsg_alloc = sizeof yymsgbuf;
- yysyntax_error_status = 2;
- }
- else
- {
- yysyntax_error_status = YYSYNTAX_ERROR;
- yymsgp = yymsg;
- }
- }
- yyerror (]b4_yyerror_args[yymsgp);
- if (yysyntax_error_status == 2)
- goto yyexhaustedlab;
- }
-# undef YYSYNTAX_ERROR
-#endif
- }
-
-]b4_locations_if([[ yyerror_range[1] = yylloc;]])[
-
- if (yyerrstatus == 3)
- {
- /* If just tried and failed to reuse lookahead token after an
- error, discard it. */
-
- if (yychar <= YYEOF)
- {
- /* Return failure if at end of input. */
- if (yychar == YYEOF)
- YYABORT;
- }
- else
- {
- yydestruct ("Error: discarding",
- yytoken, &yylval]b4_locations_if([, &yylloc])[]b4_user_args[);
- yychar = YYEMPTY;
- }
- }
-
- /* Else will try to reuse lookahead token after shifting the error
- token. */
- goto yyerrlab1;
-
-
-/*---------------------------------------------------.
-| yyerrorlab -- error raised explicitly by YYERROR. |
-`---------------------------------------------------*/
-yyerrorlab:
-
- /* Pacify compilers like GCC when the user code never invokes
- YYERROR and the label yyerrorlab therefore never appears in user
- code. */
- if (/*CONSTCOND*/ 0)
- goto yyerrorlab;
-
-]b4_locations_if([[ yyerror_range[1] = yylsp[1-yylen];
-]])[ /* Do not reclaim the symbols of the rule whose action triggered
- this YYERROR. */
- YYPOPSTACK (yylen);
- yylen = 0;
- YY_STACK_PRINT (yyss, yyssp);
- yystate = *yyssp;
- goto yyerrlab1;
-
-
-/*-------------------------------------------------------------.
-| yyerrlab1 -- common code for both syntax error and YYERROR. |
-`-------------------------------------------------------------*/
-yyerrlab1:
- yyerrstatus = 3; /* Each real token shifted decrements this. */
-
- for (;;)
- {
- yyn = yypact[yystate];
- if (!yypact_value_is_default (yyn))
- {
- yyn += YYTERROR;
- if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
- {
- yyn = yytable[yyn];
- if (0 < yyn)
- break;
- }
- }
-
- /* Pop the current state because it cannot handle the error token. */
- if (yyssp == yyss)
- YYABORT;
-
-]b4_locations_if([[ yyerror_range[1] = *yylsp;]])[
- yydestruct ("Error: popping",
- yystos[yystate], yyvsp]b4_locations_if([, yylsp])[]b4_user_args[);
- YYPOPSTACK (1);
- yystate = *yyssp;
- YY_STACK_PRINT (yyss, yyssp);
- }]b4_lac_if([[
-
- /* If the stack popping above didn't lose the initial context for the
- current lookahead token, the shift below will for sure. */
- YY_LAC_DISCARD ("error recovery");]])[
-
- YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
- *++yyvsp = yylval;
- YY_IGNORE_MAYBE_UNINITIALIZED_END
-]b4_locations_if([[
- yyerror_range[2] = yylloc;
- /* Using YYLLOC is tempting, but would change the location of
- the lookahead. YYLOC is available though. */
- YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
- *++yylsp = yyloc;]])[
-
- /* Shift the error token. */
- YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
-
- yystate = yyn;
- goto yynewstate;
-
-
-/*-------------------------------------.
-| yyacceptlab -- YYACCEPT comes here. |
-`-------------------------------------*/
-yyacceptlab:
- yyresult = 0;
- goto yyreturn;
-
-/*-----------------------------------.
-| yyabortlab -- YYABORT comes here. |
-`-----------------------------------*/
-yyabortlab:
- yyresult = 1;
- goto yyreturn;
-
-#if ]b4_lac_if([[1]], [[!defined yyoverflow || YYERROR_VERBOSE]])[
-/*-------------------------------------------------.
-| yyexhaustedlab -- memory exhaustion comes here. |
-`-------------------------------------------------*/
-yyexhaustedlab:
- yyerror (]b4_yyerror_args[YY_("memory exhausted"));
- yyresult = 2;
- /* Fall through. */
-#endif
-
-yyreturn:
- if (yychar != YYEMPTY)
- {
- /* Make sure we have latest lookahead translation. See comments at
- user semantic actions for why this is necessary. */
- yytoken = YYTRANSLATE (yychar);
- yydestruct ("Cleanup: discarding lookahead",
- yytoken, &yylval]b4_locations_if([, &yylloc])[]b4_user_args[);
- }
- /* Do not reclaim the symbols of the rule whose action triggered
- this YYABORT or YYACCEPT. */
- YYPOPSTACK (yylen);
- YY_STACK_PRINT (yyss, yyssp);
- while (yyssp != yyss)
- {
- yydestruct ("Cleanup: popping",
- yystos[*yyssp], yyvsp]b4_locations_if([, yylsp])[]b4_user_args[);
- YYPOPSTACK (1);
- }
-#ifndef yyoverflow
- if (yyss != yyssa)
- YYSTACK_FREE (yyss);
-#endif]b4_lac_if([[
- if (yyes != yyesa)
- YYSTACK_FREE (yyes);]])b4_push_if([[
- yyps->yynew = 1;
-
-yypushreturn:]])[
-#if YYERROR_VERBOSE
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
-#endif
- return yyresult;
-}
-]b4_epilogue[]dnl
-b4_output_end()
-
-b4_defines_if(
-[b4_output_begin([b4_spec_defines_file])[
-]b4_copyright([Bison interface for Yacc-like parsers in C])[
-
-]b4_shared_declarations[
-]b4_output_end()
-])# b4_defines_if
diff --git a/gnuwin32/bin/flex.exe b/gnuwin32/bin/flex.exe
deleted file mode 100755
index a4c7d626..00000000
--- a/gnuwin32/bin/flex.exe
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/bin/gperf.exe b/gnuwin32/bin/gperf.exe
deleted file mode 100644
index f71b09cb..00000000
--- a/gnuwin32/bin/gperf.exe
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/bin/iconv.exe b/gnuwin32/bin/iconv.exe
deleted file mode 100644
index fb2d0d2a..00000000
--- a/gnuwin32/bin/iconv.exe
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/bin/libcharset1.dll b/gnuwin32/bin/libcharset1.dll
deleted file mode 100644
index aec4d231..00000000
--- a/gnuwin32/bin/libcharset1.dll
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/bin/libiconv2.dll b/gnuwin32/bin/libiconv2.dll
deleted file mode 100644
index 544dd92f..00000000
--- a/gnuwin32/bin/libiconv2.dll
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/bin/libintl3.dll b/gnuwin32/bin/libintl3.dll
deleted file mode 100644
index ec11e6b1..00000000
--- a/gnuwin32/bin/libintl3.dll
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/bin/m4.exe b/gnuwin32/bin/m4.exe
deleted file mode 100644
index a6673425..00000000
--- a/gnuwin32/bin/m4.exe
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/bin/regex2.dll b/gnuwin32/bin/regex2.dll
deleted file mode 100644
index f84a847a..00000000
--- a/gnuwin32/bin/regex2.dll
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/contrib/gperf/3.0.1/depends-GnuWin32.lst b/gnuwin32/contrib/gperf/3.0.1/depends-GnuWin32.lst
deleted file mode 100644
index 972dbc1b..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/depends-GnuWin32.lst
+++ /dev/null
@@ -1,3 +0,0 @@
-kernel32.dll
-msvcrt.dll
-ntdll.dll
diff --git a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-GnuWin32.README b/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-GnuWin32.README
deleted file mode 100644
index 56531d85..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-GnuWin32.README
+++ /dev/null
@@ -1,54 +0,0 @@
-* Gperf-3.0.1 for Windows *
-===========================
-
-What is it?
------------
-Gperf: generate a perfect hash function from a key set
-
-Description
------------
-GNU gperf is a perfect hash function generator. For a given list of
-strings, it produces a hash function and hash table in the form of
-C or C++ code, for looking up a value depending on the input string.
-The hash function is perfect,' which means that the hash table has
-no collisions, and the hash table lookup needs a single string
-comparison only. GNU gperf is highly customizable. There are options
-for generating C and C++ code, for emitting 'switch' statements or
-nested 'ifs' instead of a hash table, and for tuning the algorithm
-that gperf uses.
-
-Homepage
---------
-http://www.gnu.org/software/gperf/gperf.html
-
-System
-------
-- MS-Windows 95 / 98 / ME / NT / 2000 / XP with msvcrt.dll
-- if msvcrt.dll is not in your Windows/System folder, get it from
- Microsoft <http://support.microsoft.com/default.aspx?scid=kb;en-us;259403">
- or by installing Internet Explorer 4.0 or higher
- <http://www.microsoft.com/windows/ie>
-
-Notes
------
-- Bugs and questions on this MS-Windows port: gnuwin32@users.sourceforge.net
-
-Package Availability
---------------------
-- in: http://gnuwin32.sourceforge.net
-
-Sources
--------
-- gperf-3.0.1-src.zip
-
-Compilation
------------
-The package has been compiled with GNU auto-tools, GNU make, and Mingw
-(GCC for MS-Windows). Any differences from the original sources are given
-in gperf-3.0.1-GnuWin32.diffs in gperf-3.0.1-src.zip. Libraries needed
-for compilation can be found at the lines starting with 'LIBS = ' in the
-Makefiles. Usually, these are standard libraries provided with Mingw, or
-libraries from the package itself; 'gw32c' refers to the libgw32c package,
-which provides MS-Windows substitutes or stubs for functions normally found in
-Unix. For more information, see: http://gnuwin32.sourceforge.net/compile.html
-and http://gnuwin32.sourceforge.net/packages/libgw32c.htm.
diff --git a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/AUTHORS b/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/AUTHORS
deleted file mode 100644
index 184c7ce6..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/AUTHORS
+++ /dev/null
@@ -1,2 +0,0 @@
-Douglas C. Schmidt <schmidt@ics.uci.edu>
-Bruno Haible <bruno@clisp.org>
diff --git a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/COPYING b/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/COPYING
deleted file mode 100644
index bab08afa..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/COPYING
+++ /dev/null
@@ -1,340 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307,
- USA.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- Appendix: How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) year name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- <signature of Ty Coon>, 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
diff --git a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/ChangeLog b/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/ChangeLog
deleted file mode 100644
index 1af586c4..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/ChangeLog
+++ /dev/null
@@ -1,3185 +0,0 @@
-2003-06-12 Bruno Haible <bruno@clisp.org>
-
- * gperf-3.0.1 released.
-
- * src/version.cc: Bump version number to 3.0.1.
- * doc/gperf.texi: Likewise.
- * tests/c-parse.exp, tests/charsets.exp, tests/chill.exp,
- tests/cplusplus.exp, tests/gpc.exp, tests/incomplete.exp,
- tests/java.exp, tests/languages.exp, tests/modula2.exp,
- tests/objc.exp, tests/permut2.exp, tests/permut3.exp,
- tests/permutc2.exp, tests/test-4.exp: Update.
-
-2003-05-31 Bruno Haible <bruno@clisp.org>
-
- * doc/gperf.texi (User-supplied Struct): Mention the possibility of an
- abbreviated struct declaration.
- * src/input.cc (Input::read_input): Support struct declarations of the
- form "struct foo;".
- * tests/incomplete.gperf: New file.
- * tests/incomplete.exp: New file.
- * tests/Makefile.in (check-test): Check incomplete.gperf too.
- Reported by Rob Leslie <rob@mars.org>.
-
-2003-05-20 Bruno Haible <bruno@clisp.org>
-
- * doc/Makefile.in (gperf.ps): Don't use $< in a target rule.
-
-2003-05-27 Bruno Haible <bruno@clisp.org>
-
- * Makefile.vms (CC): Correct value.
- (getopt.obj, getopt1.obj, getline.obj, hash.obj): Don't set
- HAVE_CONFIG_H.
-
-2003-05-17 Bruno Haible <bruno@clisp.org>
-
- * Makefile.msvc (DEBUGFLAGS): New variable.
- (gperf.exe): Use it, and MFLAGS too.
-
-2003-05-08 Bruno Haible <bruno@clisp.org>
-
- * gperf-3.0 released.
-
-2003-05-07 Bruno Haible <bruno@clisp.org>
-
- * src/version.cc: Bump version number to 3.0.
- * doc/gperf.texi: Likewise.
- * tests/c-parse.exp, tests/charsets.exp, tests/chill.exp,
- tests/cplusplus.exp, tests/gpc.exp, tests/java.exp,
- tests/languages.exp, tests/modula2.exp, tests/objc.exp,
- tests/permut2.exp, tests/permut3.exp, tests/permutc2.exp,
- tests/test-4.exp: Update.
-
- * src/configure.in: Fix AC_INIT argument.
-
- * Makefile.devel (configure, lib/configure, src/configure,
- tests/configure, doc/configure): Use the newest autoconf.
- (src/config.h.in): Use the newest autoheader.
-
-2003-05-03 Bruno Haible <bruno@clisp.org>
-
- * doc/gperf.texi: Use two spaces as sentence separator, as recommended
- by the texinfo manual.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- * doc/configure.in (mandir): Change default value.
- * doc/Makefile.in (docdir): Use datadir instead of prefix.
- * Makefile.msvc (datadir): New variable.
- (mandir, docdir): Use it instead of prefix.
- (install, installdirs): Update.
- * Makefile.vms (datadir): New variable.
- (mandir, docdir): Use it instead of prefix.
- (install, installdirs): Update.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- * README.vms: New file.
- * Makefile.vms: New file.
- * Makefile.devel (src/config.h_vms): New rule.
- (all): Depend on it.
-
-2003-03-19 Bruno Haible <bruno@clisp.org>
-
- * src/input.cc (Input::read_input): Ignore comments at the beginning
- of the declarations section.
- * doc/gperf.texi (Controls for GNU indent): New section.
- Reported by Bruce Lilly <blilly@erols.com>.
-
-2003-03-19 Bruno Haible <bruno@clisp.org>
-
- * src/output.cc (Output::output_hash_function): Avoid lint warning if
- not all arguments of the hash function are used. Avoid lint warning
- for fallthrough in switch.
- * tests/c-parse.exp, tests/charsets.exp, tests/chill.exp,
- tests/cplusplus.exp, tests/java.exp, tests/languages.exp,
- tests/modula2.exp, tests/objc.exp: All /*FALLTHROUGH*/ to expected
- output.
- Reported by Bruce Lilly <blilly@erols.com>.
-
-2003-03-01 Bruno Haible <bruno@clisp.org>
-
- * src/options.h (Options::set_initializer_suffix): New declaration.
- * src/options.cc (Options::set_initializer_suffix): New method.
- * src/input.cc (Input::read_input): Recognize %define
- initializer-suffix.
- * doc/gperf.texi (Gperf Declarations): Document %define
- initializer-suffix.
- * NEWS: Update.
-
-2003-02-26 Bruno Haible <bruno@clisp.org>
-
- * Makefile.msvc: New file.
- * README.woe32: New file.
- * Makefile.devel (all): Depend on src/config.h.msvc.
- (src/config.h.msvc): New rule.
-
-2003-01-07 Bruno Haible <bruno@clisp.org>
-
- * src/input.h (Input::_charset_dependent): New field.
- * src/input.cc (Input::read_input): Also set _charset_dependent.
- * src/main.cc (main): Pass _charset_dependent from Input to Output.
- * src/output.h (Output::Output): Add charset_dependent argument.
- (Output::_charset_dependent): New field.
- * src/output.cc (Output::Output): Add charset_dependent argument.
- (Output::output): Provoke a compilation error if the execution
- character set doesn't match the expectations.
- * tests/c-parse.exp, tests/charsets.exp, tests/chill.exp,
- tests/cplusplus.exp, tests/gpc.exp, tests/java.exp,
- tests/languages.exp, tests/modula2.exp, tests/objc.exp,
- tests/permut2.exp, tests/permut3.exp, tests/permutc2.exp,
- tests/test-4.exp: Update.
-
- * src/options.cc (Options::long_usage): Change bug report address to
- <bug-gnu-gperf@gnu.org>.
- * tests/test-6.exp: Update.
-
- * src/output.cc (USE_DOWNCASE_TABLE): New macro.
- (output_upperlower_table): New function.
- (output_upperlower_strcmp, output_upperlower_strncmp,
- output_upperlower_memcmp): Emit gperf_downcase array accesses.
- (Output::output): Call output_upperlower_table.
- * tests/permutc2.exp: Update.
-
- * src/keyword-list.icc (KeywordExt_List::rest): Use a portable cast.
- (Only in GCC a cast of an lvalue is an lvalue.)
-
-2003-01-01 Bruno Haible <bruno@clisp.org>
-
- * src/options.cc (Options::parse_options): Update copyright year.
-
- * doc/gperf.texi (@author): Add me.
-
- * src/options.h (NULLSTRINGS): New enum value.
- (Options::get_stringpool_name, Options::set_stringpool_name): New
- method declarations.
- (Options::_stringpool_name): New field.
- * src/options.icc (Options::get_stringpool_name): New method.
- * src/options.cc (DEFAULT_STRINGPOOL_NAME): New variable.
- (Options::long_usage): Document -Q and --null-strings.
- (Options::Options): Initialize _stringpool_name.
- (Options::~Options): Output _stringpool_name, NULLSTRINGS values too.
- (Options::set_stringpool_name): New method.
- (long_options): Add options --string-pool-name, --null-strings.
- (Options::parse_options): Implement options -P, -Q and --null-strings.
- * src/input.cc (Input::read_input): Recognize declarations %pic,
- %define string-pool-name, %null-strings.
- * src/output.h (Output::output_string_pool,
- Output::output_lookup_pools): New method declarations.
- (Output::_wordlist_eltype): New field.
- * src/output.cc (Output::output_keylength_table): Trivial
- simplification.
- (Output::output_string_pool): New method.
- (output_keyword_entry): Add stringpool_index argument. For SHAREDLIB,
- use struct offsets.
- (output_keyword_blank_entries): For SHAREDLIB, use -1 instead of "".
- (Output::output_keyword_table): Use _wordlist_eltype instead of
- _struct_tag. Compute stringpool_index for output_keyword_entry.
- (Output::output_lookup_pools): New method.
- (Output::output_lookup_function_body): Use _wordlist_eltype instead of
- _struct_tag. For SHAREDLIB, use "+ stringpool" to convert offsets to
- strings. Use "o >= 0" to test for nonempty table entry.
- (Output::output_lookup_function): Call output_lookup_pools.
- (Output::output): Initialize _wordlist_eltype. Call
- output_lookup_pools.
- * tests/jstest4.gperf: New file.
- * tests/test-6.exp: Update.
- * tests/Makefile.in (check-lang-syntax): Drop test of -p. Add tests of
- -P and -Q.
- * doc/gperf.texi (User-supplied Struct): Mention that first field has
- to be of type 'int' if -P is given.
- (Gperf Declarations): Document %pic, %define string-pool-name,
- %null-strings.
- (Output Details): Update description of option -P. Document options -Q
- and --null-strings.
-
- * tests/Makefile.in (check-link-c, check-ada, check-pascal,
- check-test): Omit option -p.
- * tests/c-parse.exp: Regenerated.
- * tests/chill.exp: Regenerated.
- * tests/cplusplus.exp: Regenerated.
- * tests/gpc.exp: Regenerated.
- * tests/java.exp: Regenerated.
- * tests/objc.exp: Regenerated.
- * tests/test-4.exp: Regenerated.
-
- * src/output.cc (Output::output_lookup_function_body): Omit the
- multicompare code section and its variables when it is not used.
- * tests/chill.exp: Regenerated.
-
- * src/output.c (Output_Compare::output_firstchar_comparison): New
- method.
- (Output_Compare_Strcmp::output_comparison,
- Output_Compare_Strncmp::output_comparison,
- Output_Compare_Memcmp::output_comparison): Use it.
- * tests/permutc2.exp: Update.
-
- * tests/smtp.gperf: New file, based on a contribution by Bruce Lilly.
- * tests/Makefile.in (check-smtp): New rule.
- (check): Depend on it.
- (clean): Update.
-
-2002-12-12 Bruno Haible <bruno@clisp.org>
-
- * src/search.h (Search::init_selchars_tuple,
- Search::count_duplicates_tuple): Add alpha_unify argument.
- (Search::count_duplicates_tuple): New method declaration.
- * src/search.cc (Search::init_selchars_tuple,
- Search::count_duplicates_tuple): Add alpha_unify argument.
- (Search::find_positions): Update.
- (Search::count_duplicates_tuple): New method.
- (Search::count_duplicates_multiset): Free temp alpha_unify vector.
- (Search::find_alpha_inc): Call count_duplicates_tuple.
-
- * src/configure.in: Add test for stack-allocated variable-size arrays.
- * src/config.h.in: Regenerated.
- * src/search.cc: Include config.h.
- (DYNAMIC_ARRAY, FREE_DYNAMIC_ARRAY): New macros.
- (Search::find_alpha_inc, Search::count_possible_collisions,
- Search::find_asso_values): Use them.
- * src/Makefile.in (search.o): Depend on config.h.
-
- * src/search.h (Search::keyword_list_length, Search::max_key_length,
- Search::get_max_keysig_size, Search::prepare): Remove declarations.
- (Search::prepare): Renamed from Search::preprepare.
- (Search::_max_selchars_length): New field.
- * src/search.cc (Search::prepare): Renamed from Search::preprepare.
- (Search::prepare_asso_values): Merged with old Search::prepare.
- Initialize _max_selchars_length.
- (Search::keyword_list_length): Remove function. Use _list_len instead.
- (Search::max_key_length): Remove function. Use _max_key_len instead.
- (Search::get_max_keysig_size): Remove function. Use
- _max_selchars_length instead.
- (Search::count_possible_collisions, Search::find_asso_values): Update.
- (Search::find_good_asso_values): Call just prepare_asso_values.
- (Search::~Search): Update.
-
- * src/output.h (Output::output_asso_values_ref): New declaration.
- * src/output.cc (char_to_index): Remove variable.
- (Output::output_asso_values_ref): New function.
- (Output::output_hash_function): Use it.
- (Output::output): Update.
-
- * src/positions.h (Positions::is_useall, Positions::set_useall,
- Positions::iterator, Positions::reviterator): New method declarations.
- (Positions::_useall): New field.
- (PositionIterator): Make constructor private. Add a constructor and a
- copy constructor.
- (PositionIterator::remaining): New declaration.
- (PositionReverseIterator): Make constructor private. Add a constructor
- and a copy constructor.
- (PositionReverseIterator::remaining): New declaration.
- (PositionReverseIterator::_minindex): New field.
- * src/positions.icc (Positions::Positions): Initialize _useall.
- (Positions::operator=): Likewise.
- (Positions::is_useall, Positions::set_useall): New methods.
- (Positions::sort): Do nothing if _useall is set.
- (Positions::iterator, Positions::reviterator): New methods.
- (PositionIterator::PositionIterator): New constructor.
- (PositionIterator::remaining): New method.
- (PositionReverseIterator::PositionReverseIterator): New constructor.
- (PositionReverseIterator::next): Use _minindex as bound.
- (PositionReverseIterator::remaining): New method.
- * src/positions.cc (Positions::add, Positions::remove): Reset the
- useall flag.
- (Positions::print): Handle the useall case.
- * src/options.h (ALLCHARS): Remove.
- * src/options.cc (Options::~Options): Update.
- (Options::parse_options): Use Positions::set_useall().
- * src/keyword.h (KeywordExt::init_selchars_tuple,
- KeywordExt::init_selchars_multiset, KeywordExt::init_selchars_low):
- Remove use_all_chars argument.
- * src/keyword.cc (KeywordExt::init_selchars_low): Remove use_all_chars
- argument. Tell the position iterator to stop at _allchars_length.
- Remove special case code for -k'*'.
- (KeywordExt::init_selchars_tuple, KeywordExt::init_selchars_multiset):
- Remove use_all_chars argument.
- * src/search.h (Search::init_selchars_tuple): Remove use_all_chars
- argument.
- (Search::init_selchars_multiset): Likewise.
- * src/search.cc (Search::init_selchars_tuple): Remove use_all_chars
- argument.
- (Search::count_duplicates_tuple, Search::find_positions): Update.
- (Search::compute_alpha_unify): Remove special case code for -k'*'.
- (Search::init_selchars_multiset): Remove use_all_chars argument.
- (Search::count_duplicates_multiset): Update.
- (Search::find_alpha_inc): Remove special case code for -k'*'.
- (Search::prepare): Update.
- (Search::get_max_keysig_size): Update.
- * src/output.cc (Output::output_hash_function): Remove special case
- code for -k'*'.
- * tests/chill.exp: Regenerated.
-
-2002-12-11 Bruno Haible <bruno@clisp.org>
-
- Change the positions to be 0-based, instead of 1-based.
- * src/positions.h (Positions::LASTCHAR): Set to -1.
- (Positions::MAX_SIZE): New constant.
- (Positions::pointer): Change return type.
- (Positions::_positions): Change element type.
- (PositionIterator::EOS, PositionReverseIterator::EOS): Set to -2.
- * src/positions.icc (Positions::pointer): Change return type.
- (Positions::sort): Update.
- * src/positions.cc (Positions::contains, Positions::add,
- Positions::remove): Update.
- (Positions::print): Update. Fix off-by-one bug.
- * src/options.cc (Options::~Options): Update.
- (Options::parse_options): Set BAD_VALUE to -3. Update.
- * src/keyword.cc (KeywordExt::init_selchars_low): Update.
- * src/search.cc (Search::find_positions, Search::compute_alpha_unify,
- Search::find_alpha_inc): Update.
- * src/output.cc (Output::output_hash_function): Update. Don't emit
- a 'case' statement right after 'default:'.
- * tests/c-parse.exp: Regenerated.
- * tests/charsets.exp: Regenerated.
- * tests/cplusplus.exp: Regenerated.
- * tests/java.exp: Regenerated.
- * tests/languages.exp: Regenerated.
- * tests/modula2.exp: Regenerated.
- * tests/objc.exp: Regenerated.
-
-2002-12-10 Bruno Haible <bruno@clisp.org>
-
- * src/options.h: Reorder enum values.
- (Options::short_usage, Options::long_usage): Make static.
- * src/options.cc (Options::short_usage); No longer print a monster
- usage line.
- (Options::print_options): Improve output of options like
- --key-positions=1,2,$.
- (Options::~Options): Update.
-
- * src/options.h (UPPERLOWER): New enum value.
- * src/options.cc (Options::long_usage): Document option --ignore-case.
- (Options::~Options): Update.
- (long_options): Add option --ignore-case.
- (Options::parse_options): Handle option --ignore-case.
- * src/input.cc (Input::read_input): Recognize option %ignore-case.
- * src/keyword.h (KeywordExt::init_selchars_tuple,
- KeywordExt::init_selchars_multiset, KeywordExt::init_selchars_low):
- Add alpha_unify argument.
- * src/keyword.cc (KeywordExt::init_selchars_low): Add alpha_unify
- argument.
- (KeywordExt::init_selchars_tuple): Add alpha_unify argument.
- (KeywordExt::init_selchars_multiset): Add alpha_unify argument.
- * src/search.h (Search::compute_alpha_size,
- Search::compute_alpha_unify): New declarations.
- (Search::init_selchars_multiset): Add alpha_unify argument.
- (Search::_alpha_unify): New field.
- * src/search.cc (Search::compute_alpha_size,
- Search::compute_alpha_unify): New functions.
- (Search::init_selchars_tuple): Update.
- (Search::find_positions): Temporarily set _alpha_unify. Perform a
- case insensitive comparison if needed.
- (Search::init_selchars_multiset): Add alpha_unify argument.
- (Search::count_duplicates_multiset): Call compute_alpha_unify.
- (Search::find_alpha_inc): Temporarily set _alpha_unify. At the end,
- set _alpha_size and _alpha_unify.
- (Search::prepare): Update. Don't compute _alpga_size here.
- (Search::optimize): Propagate unified asso_values.
- (Search::~Search) Delete _alpha_unify.
- * src/output.cc (output_upperlower_strcmp, output_upperlower_strncmp,
- output_upperlower_memcmp): New functions.
- (Output_Compare_Strcmp::output_comparison,
- Output_Compare_Strncmp::output_comparison,
- Output_Compare_Memcmp::output_comparison): Use the case-insensitive
- comparison function if --ignore-case was given.
- (Output::output): Emit the auxiliary case-insensitive comparison
- function if needed.
- * tests/permutc2.gperf, tests/permutc2.exp: New files.
- * tests/Makefile.in (check-test): Also check permutc2.gperf.
- * tests/test-6.exp: Update.
- * doc/gperf.texi (Gperf Declarations): Document %ignore-case.
- (Input Details): Document option --ignore-case.
- * NEWS: Update.
-
- * src/search.cc (Search::optimize): Fill unused asso_values[] entries
- with a large value.
- * src/output.h (Output::Output): Remove occurrences argument.
- (Output::_occurrences): Remove field.
- * src/output.cc (Output::Output): Remove occurrences argument.
- (Output::output_hash_function): Ignore _occurrences.
- * src/main.cc (main): Don't pass the _occurrences to Output.
-
- * src/search.cc (Search::preprepare): Exit if keywords contain
- out-of-range characters.
-
- * src/search.cc (for): Define so as to avoid errors with old compilers.
-
- * src/options.h (SHAREDLIB): New enum value.
- * src/options.cc (Options::short_usage): Mention option -P.
- (Options::long_usage): Document option -P.
- (long_options): Add option --pic.
- (Options::parse_options): Handle option -P/--pic.
- * src/output.cc (output_keyword_blank_entries): When SHAREDLIB is
- specified, emit NULL pointers instead of "".
- (Output::output_lookup_function_body): When SHAREDLIB is specified
- and SWITCH and DUP and not specified, test the table entry against
- NULL before the string comparison.
- * tests/test-6.exp: Update.
- * doc/gperf.texi (Output Details): Document option -P.
- * NEWS: Update.
- Suggested by Ulrich Drepper.
-
-2002-12-08 Bruno Haible <bruno@clisp.org>
-
- * tests/permut2.gperf, tests/permut2.exp: New files.
- * tests/permut3.gperf, tests/permut3.exp: New files.
- * tests/charsets.gperf: New file, from Bruce Lilly.
- * tests/charsets.exp: New file.
- * tests/languages.gperf: New file, from Bruce Lilly.
- * tests/languages.exp: New file.
- * Makefile.in (check-test): Test them all.
-
- Completely new asso_values search algorithm.
- * src/search.h (Search::compute_occurrence, Search::clear_determined,
- Search::set_determined, Search::already_determined, Search::reorder):
- Remove functions.
- (Search::init_asso_values, Search::sort_by_occurrence,
- Search::compute_occurrence, Search::sort_by_occurrence,
- Search::has_collisions, Search::collision_prior_to): Remove functions.
- (Search::compute_partition, Search::count_possible_collisions,
- Search::unchanged_partition): New method declarations.
- (Search::_determined): Remove field.
- * src/search.cc (Search::prepare): Don't initialize _determined.
- (Search::compute_occurrence, greater_by_occurrence,
- Search::clear_determined, Search::set_determined,
- Search::already_determined, Search::reorder): Remove functions.
- (Search::init_asso_values, compute_disjoint_union,
- Search::sort_by_occurrence, Search::compute_occurrence,
- Search::sort_by_occurrence, Search::has_collisions,
- Search::collision_prior_to): Remove functions.
- (StackEntry): Remove class.
- (EquivalenceClass, Step): New classes.
- (equals, Search::compute_partition, delete_partition,
- Search::count_possible_collisions, Search::unchanged_partition): New
- functions.
- (Search::find_asso_values): Completely rewritten.
- (Search::find_good_asso_values): Don't call reorder().
- (Search::~Search): Don't free _determined.
- * src/keyword.h (KeywordExt::_occurrence): Remove field.
- * src/options.h (ORDER, FAST, OPT_CHOICE): Remove enum values.
- (Options::_iterations): Remove field.
- * src/options.icc (Options::get_iterations): Remove method.
- * src/options.cc (Options::long_usage): Remove mention of -f and -o.
- (Options::Options): Don't initialize _iterations.
- (Options::~Options): Update.
- (Options::parse_options): Do nothing for options -f, -o, -O.
- * doc/gperf.texi: (Contributors): Update.
- (Algorithmic Details): Remove options -f and -o. Update description
- of option -s.
- * tests/c-parse.exp, tests/chill.exp, tests/cplusplus.exp,
- tests/gpc.exp, tests/java.exp, tests/modula2.exp, tests/objc.exp,
- tests/test-4.exp): Regenerated, smaller than before.
- * tests/test-6.exp: Update.
- * NEWS: Update.
-
-2002-12-08 Bruno Haible <bruno@clisp.org>
-
- * src/search.h (Search::_alpha_size): Change type to 'unsigned int'.
- (Search::_asso_value_max): Likewise.
- * src/search.cc (Search::prepare_asso_values): Update.
- (Search::init_asso_values): Update.
- (Search::~Search): Update.
- * src/output.h (Output::Output): Change alpha_size type to
- 'unsigned int'.
- (Output::_alpha_size): Change type to 'unsigned int'.
- * src/output.cc (Output::Output): Change alpha_size type to
- 'unsigned int'.
- (Output::output_hash_function): Update.
-
-2002-12-07 Bruno Haible <bruno@clisp.org>
-
- * src/options.h (OPT_CHOICE): New enum value.
- * src/options.cc (Options::~Options): Update.
- (long_options): New option --optimized-collision-resolution.
- (Options::parse_options): Accept option -O.
- * src/search.h (Search::sort_by_occurrence): Change argument to
- 'unsigned int'.
- (Search::compute_occurrence, Search::sort_by_occurrence): New method
- declarations.
- * src/search.cc (Search::sort_by_occurrence): Change argument to
- 'unsigned int'.
- (Search::compute_occurrence, Search::sort_by_occurrence): New methods.
- (Search::find_asso_values): Implement OPT_CHOICE. More debugging
- output.
-
- * src/search.cc (Search::prepare_asso_values) [DEBUG]: Also print
- the keyword list in order.
- (Search::find_asso_values) [DEBUG]: Upon failure, print the union_set.
-
- * src/options.h (Options::get_size_multiple): Change return type to
- float.
- (Options::_size_multiple): Change type to float.
- * src/options.icc (Options::get_size_multiple): Change return type to
- float.
- * src/options.cc (Options::long_usage): Update description of option
- -s.
- (Options::~Options): Update.
- (Options::parse_options): For option -s, accept a fraction.
- * src/search.cc (Search::prepare_asso_values): Use get_size_multiple
- as it is.
- * tests/test-6.exp: Update.
- * doc/gperf.texi (Algorithmic Details): Update description of option
- -s.
-
-2002-12-04 Bruno Haible <bruno@clisp.org>
-
- Improve debugging output.
- * src/hash-table.h (Hash_Table::dump): New method.
- * src/hash-table.cc (Hash_Table::dump): New method, extracted from
- destructor.
- (Hash_Table::~Hash_Table): No longer print the contents.
- * src/positions.h (PositionReverseIterator): New class.
- * src/positions.icc (PositionReverseIterator::PositionReverseIterator,
- PositionReverseIterator::next): New methods.
- * src/search.cc (Search::find_positions): If debugging, print the
- result.
- (Search::find_alpha_inc): If debugging, print the result.
- (Search::prepare): Explicitly dump the hash table's contents here.
-
- Portability fixes.
- * src/positions.h (Positions::LASTCHAR, Positions::MAX_KEY_POS,
- PositionIterator::EOS): Define as compile-time constants using enum.
- * src/bool-array.cc (Bool_Array::~Bool_Array): Remove const qualifier
- of pointer to be deleted.
- * src/input.cc (Input::~Input): Likewise.
- * src/keyword.cc (KeywordExt::delete_selchars): Likewise.
- * src/main.cc (main): Likewise.
- * src/hash-table.cc (Hash_Table::~Hash_Table): Limit scope of 'for'
- variables.
- * src/search.cc (Search::prepare_asso_values): Use a static_cast to
- convert from time_t to long. This is possible because ISO C 99 says
- time_t is a numeric type.
-
-2002-11-20 Bruno Haible <bruno@clisp.org>
-
- * src/search.cc (Search::find_asso_values): Avoid gcc warnings about
- uninitialized variables.
-
- Implement backtracking.
- * src/search.h (Search::has_collisions): Renamed from
- Search::less_collisions. Return a boolean.
- * src/search.cc (Search::has_collisions): Renamed from
- Search::less_collisions. Return a boolean.
- (StackEntry): Remove field _collisions_so_far.
- (Search::find_asso_values): Backtrack when encountering an unresolved
- collision. Assume collisions_so_far is always zero.
- (Search::optimize): Exit if there are accidental duplicates at the end.
- * src/output.cc (Output::num_hash_values): Simply return the list
- length.
- (Output::output_keylength_table): Remove handling of accidental
- duplicates.
- (Output::output_keyword_table, Output::output_lookup_array): Likewise.
- (output_switch_case, output_switches): Likewise.
- * doc/gperf.texi (Algorithmic Details): Adjust description of options
- -D, -f, -o, -r.
- (Bugs): Remove note about missing backtracking.
- (Projects): Likewise.
-
-2002-11-19 Bruno Haible <bruno@clisp.org>
-
- Prepare for backtracking.
- * src/search.h (Search::try_asso_value, Search::change_some_asso_value):
- Remove declarations.
- (Search::less_collisions, Search::collision_prior_to): New declarations.
- (Search::_fewest_collisions, Search::_union_set, Search::_num_done):
- Remove fields.
- * src/search.cc (Search::prepare_asso_values): Don't initialize
- _union_set.
- (Search::try_asso_value, Search::change_some_asso_value): Remove
- methods.
- (Search::less_collisions, Search::collision_prior_to): New methods.
- (StackEntry): New class.
- (Search::find_asso_values): Reorganized to use pseudo-recursion.
- (Search::~Search): Don't free _union_set.
-
- * src/search.h (Search::find_good_asso_values): New declaration.
- * src/search.cc: Add comments about the basic structure of the
- algorithm.
- (Search::find_positions): Move the option[POSITIONS] test to here.
- (Search::find_good_asso_values): New method, extracted from
- Search::optimize.
- (Search::optimize): Remove option[POSITIONS] test. Call
- find_good_asso_values.
-
-2002-11-17 Bruno Haible <bruno@clisp.org>
-
- * src/options.cc (Options::parse_options): Include copyright notice
- and authors in --version output.
-
- Avoid artificial duplicates.
- * src/keyword.h (KeywordExt::init_selchars_tuple): New declaration.
- (KeywordExt::init_selchars_multiset): Renamed from
- KeywordExt::init_selchars.
- (KeywordExt::init_selchars_low): New declaration.
- * src/keyword.cc (KeywordExt::init_selchars_low): Renamed from
- KeywordExt::init_selchars. Add alpha_inc argument. Remove sorting.
- (KeywordExt::init_selchars_tuple): New method.
- (KeywordExt::init_selchars_multiset): New method, replaces
- KeywordExt::init_selchars.
- * src/search.h (Search::init_selchars_tuple): Renamed from
- Search::init_selchars.
- (Search::count_duplicates_tuple): Renamed from Search::count_duplicates.
- (Search::init_selchars_multiset, Search::count_duplicates_multiset,
- Search::find_alpha_inc): New declarations.
- (Search::_alpha_inc): New field.
- (Search::_alpha_size, Search::_occurrences, Search::_asso_values,
- Search::_determined): Make non-const.
- * src/search.cc (Search::Search): Don't initialize _key_positions,
- _alpha_size, _occurrences, _asso_values, _determined here.
- (Search::init_selchars_tuple): Renamed from Search::init_selchars.
- (Search::count_duplicates_tuple): Renamed from Search::count_duplicates.
- (Search::find_positions): Update.
- (Search::init_selchars_multiset, Search::count_duplicates_multiset,
- Search::find_alpha_inc): New methods.
- (Search::prepare): Move preprepare, find_positions calls away.
- Initialize _alpha_size, _occurrences, _asso_values, _determined here.
- (Search::optimize): Call preprepare, find_positions here. Initialize
- _key_positions here.
- (Search::~Search): Deallocate _alpha_inc.
- * src/output.cc (Output::Output): Add alpha_inc argument.
- (Output::output_hash_function): Use _alpha_inc.
- * src/output.h (Output::Output): Add alpha_inc argument.
- (Output::_alpha_inc): New field.
- * src/main.cc (main): Pass _alpha_inc from Search to Output.
- * tests/chill.exp: Update.
- * doc/gperf.texi (Algorithmic Details): Remove description of
- artificial duplicates.
-
- * src/keyword.h (KeywordExt::_selchars): Change type to
- 'const unsigned int *'.
- * src/keyword.cc (sort_char_set): Change argument type to
- 'unsigned int *'.
- (KeywordExt::init_selchars): Update.
- * src/search.h (Search::sort_by_occurrence): Change argument type to
- 'unsigned int *'.
- (Search::try_asso_value): Change argument type to 'unsigned int'.
- (Search::_union_set): Change type to 'unsigned int *'.
- * src/search.cc (Search::prepare, Search::compute_occurrence,
- Search::set_determined, Search::already_determined,
- Search::prepare_asso_values, Search::compute_hash): Update.
- (compute_disjoint_union): Change argument types to 'unsigned int *'.
- (Search::sort_by_occurrence): Likewise.
- (Search::try_asso_value): Change argument type to 'unsigned int'.
- (Search::change_some_asso_value, Search::~Search): Update.
- * src/hash-table.cc (Hash_Table::~Hash_Table, Hash_Table::equal,
- Hash_Table::insert): Update.
-
- * src/positions.h: New file, extracted from options.h.
- * src/positions.icc: New file, extracted from options.icc.
- * src/positions.cc: New file, extracted from options.cc.
- * src/options.h: Include positions.h. Move classes Positions and
- PositionsIterator away.
- * src/options.icc: Move classes Positions and PositionsIterator away.
- * src/options.cc: Move class Positions away.
- * src/keyword.cc: Include positions.h instead of options.h.
- * src/output.h: Include positions.h instead of options.h.
- * src/search.h: Include positions.h instead of options.h.
- * src/Makefile.in (OBJECTS): Add positions.o.
- (POSITIONS_H): New variable.
- (OPTIONS_H, SEARCH_H, OUTPUT_H, keyword.o): Use it.
- (positions.o): New rule.
-
- * src/options.h (POSITIONS): New enum value.
- (Positions::Positions): New copy constructor.
- (Positions::operator=, Positions::contains, Position::add,
- Positions::remove, Positions::print): New method declaration.
- (Options::get_max_keysig_size): Remove method.
- * src/options.icc (Positions::Positions): New copy constructor.
- (Positions::operator=): New method.
- (Options::get_max_keysig_size): Remove method.
- * src/options.cc (Options::Options): Initialize _key_positions
- trivially.
- (Options::parse_options): Option -k sets POSITIONS.
- (Positions::contains, Positions::add, Positions::remove,
- Positions::print): New methods.
- * src/hash-table.cc (Hash_Table::~Hash_Table): Compute the field
- width explicitly, instead of using Options::get_max_keysig_size.
- * src/keyword.h (KeywordExt::init_selchars): Add arguments
- use_all_chars, positions.
- (KeywordExt::delete_selchars): New declaration.
- * src/keyword.cc (KeywordExt::init_selchars): Add arguments
- use_all_chars, positions. Remove error message if there are no key
- positions.
- (KeywordExt::delete_selchars): New method.
- * src/search.h: Include options.h.
- (Search::preprepare, Search::init_selchars, Search::delete_selchars,
- Search::count_duplicates, Search::find_positions): New declarations.
- (Search::_key_positions): New field.
- * src/search.cc (Search::Search): Initialize _key_positions.
- (Search::preprepare, Search::init_selchars, Search::delete_selchars,
- Search::count_duplicates, Search::find_positions): New functions.
- (Search::prepare): Call preprepare and find_positions. Tweak error
- message.
- (Search::get_max_keysig_size): Use _key_positions instead of
- option.get_key_positions().
- (Search::optimize): Tweak error message.
- * src/output.h: Include options.h.
- (Output::Output): Add Positions argument.
- (Output::_key_positions): New field.
- * src/output.cc (Output::Output): Add Positions argument.
- (Output::output_hash_function): Omit the table if there are no
- positions at all. Use _key_positions instead of
- option.get_key_positions().
- (Output::output): Output the computed positions as a comment.
- * src/main.cc (main): Pass the Positions from Searcher to Output.
- * src/Makefile.in (SEARCH_H, OUTPUT_H): Include OPTIONS_H.
- * tests/Makefile.in (check-test): Pass key positions explicitly.
- * tests/gpc.exp: Update.
- * tests/test-4.exp: Update.
- * doc/gperf.texi (Algorithmic Details): Mention that -k is not needed
- usually.
-
-2002-11-16 Bruno Haible <bruno@clisp.org>
-
- * src/options.h (Options::get_slot_name): Renamed from
- Options::get_key_name.
- (Options::set, Options::set_language, Options::set_total_switches,
- Options::set_function_name, Options::set_slot_name,
- Options::set_class_name, Options::set_hash_name,
- Options::set_wordlist_name, Options::set_delimiters): New method
- declarations.
- (Options::_language): New field.
- (Options::_slot_name): Renamed from Options::_key_name.
- * src/options.icc (Options::set): New method.
- (Options::get_slot_name): Renamed from Options::get_key_name.
- * src/options.cc (DEFAULT_FUNCTION_NAME): Renamed from DEFAULT_NAME.
- (DEFAULT_SLOT_NAME): Renamed from DEFAULT_NAME.
- (Options::Options): Initialize _language. Update.
- (Options::~Options): Update.
- (Options::set_language, Options::set_total_switches,
- Options::set_function_name, Options::set_slot_name,
- Options::set_class_name, Options::set_hash_name,
- Options::set_wordlist_name, Options::set_delimiters): New methods.
- (Options::parse_options): Call set_language. Update.
- * src/input.cc (is_declaration, is_declaration_with_arg,
- is_define_declaration): New functions.
- (Input::read_input): Accept %DECL declarations.
- * src/output.cc (Output::output_lookup_function_body): Update.
- * doc/gperf.texi (Declarations): Add new subnodes.
- (User-supplied Struct, Gperf Declarations, C Code Inclusion): New
- nodes.
- (Keywords, Output Format, Binary Strings, Options): Mention %
- declarations as being equivalent to the command line options.
-
- * src/options.cc (Options::long_usage): Rename options -H, -N, -l, -G.
- (long_options): Add --hash-function-name, --lookup-function-name,
- --compare-lengths.
- * doc/gperf.texi (Output Details): Rename options -H, -N, -l, -G.
- * tests/test-6.exp: Update.
-
- * src/options.cc (DEFAULT_DELIMITERS): Remove newline.
- * src/options.cc (Options::long_usage): Change default --delimiters.
- * doc/gperf.texi (Input Details): Likewise.
- * tests/test-6.exp: Update.
-
- * doc/gperf.texi: Move description of option -l from section
- Algorithmic Details to section Output Details.
- * src/options.cc (Options::long_usage): Likewise.
- * tests/test-6.exp: Update.
-
-2002-11-12 Bruno Haible <bruno@clisp.org>
-
- * src/options.h (Output::get_output_file_name): New method.
- (Output::_output_file_name): New field.
- * src/options.icc (Options::get_output_file_name): New method.
- * src/options.cc (Options::long_usage): Document option --output-file.
- (Options::Options): Initialize _output_file_name.
- (long_options): Add --output-file.
- (Options::parse_options): Handle it.
- * src/main.cc (main): Open the output file if given by name.
- * doc/gperf.texi (Output File): New section.
- * tests/test-6.exp: Update.
-
-2002-11-10 Bruno Haible <bruno@clisp.org>
-
- * src/input.cc (pretty_input_file_name): New function.
- (read_input): Use it in all error and warning messages.
-
- * src/keyword.h (Keyword::_lineno): New field.
- * src/input.h (Input::_struct_decl_lineno): New field.
- * src/input.cc (Input::read_input): Set _struct_decl_lineno. Fill
- each keyword's _lineno field.
- * src/main.cc (main): Pass _struct_decl_lineno from Input to Output.
- * src/output.h (Output::Output) Add struct_decl_lineno argument.
- (Output::_struct_decl_lineno): New field.
- * src/output.cc (Output::Output) Add struct_decl_lineno argument.
- (output_keyword_entry): Emit #line directive before table entry.
- (Output::output): Emit #line directive before _struct_decl.
-
- Fix memory leaks.
- * src/keyword.h (empty_string): New declaration.
- * src/keyword.cc (empty_string): New variable.
- * src/input.h (Input::_input): Make public.
- (Input::_input_end): New field.
- * src/input.cc (read_input): When removing leading whitespace from
- struct_decl, reallocate it. For rest, use empty_string instead of "".
- Set _input_end.
- (Input::~Input): Delete _struct_decl, _struct_tag, _return_type.
- * src/search.cc (Search::prepare): When removing an element from
- the keyword list, delete the list node.
- (Search::~Search): Delete _occurrences, _asso_values.
- * src/main.cc (main): Between Search::~Search and Input::~Input,
- destroy the keyword list.
-
- Rewrite the input routines.
- * src/input.h: Don't include read-line.h.
- (Input): Don't inherit from class Read_Line.
- (Input::read_keys, Input::strcspn, Input::set_output_types,
- Input::get_array_type, Input::save_include_src,
- Input::get_special_input): Remove declarations.
- (Input::read_input): New declaration.
- (Input::_struct_decl): Renamed from Input::_array_type.
- (Input::_verbatim_declarations): Renamed from Input::_include_src.
- (Input::_verbatim_code): Replaces Input::_additional_code.
- * src/input.cc: Completely rewritten.
- * src/output.h (Output::Output): Update the verbatim_* arguments.
- (Output::_struct_decl): Renamed from Output::_array_type.
- (Output::_verbatim_declarations): Renamed from Output::_include_src.
- (Output::_verbatim_code): Replaces Output::_additional_code.
- * src/output.cc (Output::Output): Update the verbatim_* arguments.
- (Output::output): Output the verbatim_* code pieces with #line.
- * src/main.cc (main): Call Input::read_input instead of
- Input::read_keys. Update Output::Output arguments.
- * src/read-line.h: Remove file.
- * src/read-line.cc, src/read-line.icc: Remove files.
- * src/Makefile.in (OBJECTS): Remove read-line.o.
- (READ_LINE_H): Remove variable.
- (INPUT_H): Update.
- (read-line.o): Remove rule.
- * doc/gperf.texi (Declarations): Correct the example.
- (Keywords): Mention that lines starting with % are forbidden here.
- * tests/c-parse.exp: Update.
- * tests/cplusplus.exp: Update.
- * tests/gpc.exp: Update.
- * tests/java.exp: Update.
- * tests/objc.exp: Update.
- * tests/test-4.exp: Update.
-
- * src/options.h (Options::get_input_file_name): New declaration.
- (Options::_input_file_name): New field.
- * src/options.icc (Options::get_input_file_name): New method.
- * src/options.cc (Options::Options): Initialize _input_file_name.
- (Options::parse_options): Don't open input file, only store it in
- _input_file_name.
- * src/main.cc (main): Open input file here.
- Print an error message upon write error on the output file.
-
- Upgrade to autoconf-2.52.
- * configure.in: Use AC_CONFIG_SUBDIRS instead of AC_OUTPUT_SUBDIRS.
- * Makefile.devel (configure, lib/configure, src/configure,
- tests/configure, doc/configure): Use autoconf-2.52.
-
-2002-11-09 Bruno Haible <bruno@clisp.org>
-
- * doc/gperf.texi: Talk about "bytes" instead of "characters". Talk
- about "keywords", not "keys". Talk about "input file", not "keyfile".
- (@menu): Fix a menu entry.
- (Contributors): Don't mention cperf.
- (Motivation): Fix an off-by-one error in the definition of "minimal".
- Mention GNU Java. Recommend http URL instead of anonymous ftp.
- (Search Structures): Mention GNU Java.
- (Output Format): Drop reference to node 'Implementation'.
- (Output Details): Talk about "slot-name" instead of "key name".
- (Algorithmic Details): Talk about "selected byte positons", not
- "key positions". Upper limit is now 255. Explain a third reason
- why duplicates can occur. Describe negative effects of
- --occurrence-sort.
- (Implementation): Remove chapter.
-
-2002-11-07 Bruno Haible <bruno@clisp.org>
-
- * src/bool-array.cc (Bool_Array::~Bool_Array): Free _storage_array.
- * src/search.cc (Search::~Search): Free _union_set, _determined.
-
- * tests/Makefile.in (check-test): Don't redirect stderr.
-
-2002-11-05 Bruno Haible <bruno@clisp.org>
-
- * src/keyword-list.h (mergesort_list): New declarations.
- * src/keyword-list.cc (Keyword_Comparison): New type.
- (merge, mergesort_list): New functions, moved here from search.cc.
- * src/search.h (Search::merge, Search::merge_sort): Remove methods.
- (Search::_occurrence_sort, Search::_hash_sort): Remove fields.
- * src/search.cc (Search::merge, Search::merge_sort): Remove methods.
- (greater_by_occurrence, less_by_hash_value): New functions.
- (Search::reorder, Search::sort): Use mergesort_list.
-
-2002-11-04 Bruno Haible <bruno@clisp.org>
-
- * src/options.h (Options::_asso_iterations): New field.
- (Options::get_asso_iterations): New method declaration.
- * src/options.icc (Options::get_asso_iterations): New method.
- * src/options.cc (Options::short_usage): Mention j<jump> and m<num>.
- (Options::long_usage): Document option -m.
- (Options::Options): Initialize _asso_iterations.
- (Options::~Options): Print _asso_iterations too.
- (long_options): Add --multiple-iterations.
- (Options::parse_options): Handle option -m.
- * src/keyword-list.h (copy_list, delete_list): New declarations.
- * src/keyword-list.cc (copy_list, delete_list): New functions.
- * src/search.h (Search::_initial_asso_value, Search::_jump): New fields.
- * src/search.cc (Search::prepare_asso_values): Initialize
- _initial_asso_value and _jump here.
- (Search::init_asso_values): Use _initial_asso_value.
- (Search::try_asso_value): Use _jump.
- (Search::optimize): If option -m was given, iterate over different
- values for _initial_asso_value and _jump.
- * doc/gperf.texi (Algorithmic Details): Document option -m.
- * tests/test-6.exp: Update.
-
-2002-11-03 Bruno Haible <bruno@clisp.org>
-
- Bug fix: When option -j 0 was used without option -r, the output was
- not random.
- * src/search.h (Search::prepare_asso_values): New method declaration.
- * src/search.cc (Search::prepare_asso_values): New method, extracted
- from Search::init_asso_values. Call srand also when "-j 0" was given.
- (Search::optimize): Call prepare_asso_values().
-
- * src/hash-table.h (Hash_Table::_ignore_length, Hash_Table::equal):
- Declare as const.
- * src/hash-table.cc (Hash_Table::equal): Declare as const.
- * src/input.h (Input::_factory): Declare as const.
- * src/keyword-list.h (Keyword_List::first, KeywordExt_List::first):
- Declare as const.
- * src/keyword-list.icc (Keyword_List::first, KeywordExt_List::first):
- Declare as const.
- * src/output.h (Output::num_hash_values, Output::output_constants,
- Output::output_hash_function, Output::output_keylength_table,
- Output::output_keyword_table, Output::output_lookup_array,
- Output::output_lookup_tables, Output::output_lookup_function_body,
- Output::output_lookup_function, Output::_array_type,
- Output::_additional_code, Output::_include_src, Output::_total_keys,
- Output::_total_duplicates, Output::_max_key_len, Output::_min_key_len):
- Declare as const.
- * src/output.cc (Output::num_hash_values, Output::output_constants,
- Output::output_hash_function, Output::output_keylength_table,
- Output::output_keyword_table, Output::output_lookup_array,
- Output::output_lookup_tables, Output::output_lookup_function_body,
- Output::output_lookup_function): Declare as const.
- * src/search.h (Search::merge, Search::merge_sort,
- Search::compute_occurrence, Search::already_determined,
- Search::keyword_list_length, Search::max_key_length,
- Search::get_max_keysig_size, Search::compute_hash,
- Search::sort_by_occurrence): Declare as const.
- * src/search.cc (Search::merge, Search::merge_sort,
- Search::compute_occurrence, Search::already_determined,
- Search::keyword_list_length, Search::max_key_length,
- Search::get_max_keysig_size, Search::compute_hash,
- Search::sort_by_occurrence): Declare as const.
-
- * src/output.cc (Output::output): Set char_to_index to a cast in all
- cases. Avoids gcc warnings on the generated code.
-
- * src/output.cc (Output_Enum): Prepend an underscore to field names.
- (Output_Expr1): Likewise.
- (Output::output_hash_function): Simplify the special case for "-k 1,$".
-
- * src/search.h (Search::init_asso_values, Search::find_asso_values):
- New declarations.
- (Search::try_asso_value): Renamed from Search::affects_prev.
- (Search::change_some_asso_value): Renamed from Search::change.
- (Search::set_asso_max, Search::get_asso_max): Remove methods.
- (Search::_union_set): New field.
- * src/search.cc (Search::init_asso_values): New method, extracted
- from Search::optimize.
- (Search::try_asso_value): Renamed from Search::affects_prev. Take the
- iteration count as argument.
- (Search::change_some_asso_value): Renamed from Search::change. Don't
- make union_set static. Don't increment _fewest_collisions here.
- (Search::find_asso_values): New method, extracted from
- Search::optimize.
- (Search::optimize); Update.
-
- * src/search.h (Search::compute_hash): Renamed from Search::hash.
- (Search::compute_disjoint_union): Remove declaration.
- (Search::sort_by_occurrence): Renamed from Search::sort_set.
- * src/search.cc (Search::compute_hash): Renamed from Search::hash.
- (compute_disjoint_union): Renamed from Search::compute_disjoint_union.
- (Search::sort_by_occurrence): Renamed from Search::sort_set.
- (Search::change): Simplify loop.
-
- * src/search.h (Search::clear_determined): New declaration.
- * src/search.cc (Search::clear_determined): New method.
- (Search::already_determined): Optimize.
- (Search::reorder): Even when the next keyword after the current one
- is completely determined, move all determined keywords after the
- current one.
-
- Compute the occurrences after removal of duplicates, not before.
- * src/keyword.h (KeywordExt::init_selchars): Remove occurrences
- argument.
- * src/keyword.cc (KeywordExt::init_selchars): Likewise.
- * src/search.cc (Search::prepare): Reorder the code. Compute the
- occurrences after removal of duplicates.
- (Search::merge_sort): Optimize the loop.
- (Search::compute_occurrence): Renamed from Search::get_occurrence.
- * src/search.h (Search::compute_occurrence): Renamed from
- Search::get_occurrence.
- * tests/chill.exp: Regenerated.
-
- Bug fix: The hash table could fail to detect duplicates, between
- keywords of different length, when option -n (option[NOLENGTH]) was
- given.
- * src/hash-table.h (Hash_Table::Hash_Table): Pass table size, not
- vector and vector size as arguments.
- (Hash_Table::_log_size): New field.
- (Hash_Table::equal): New declaration.
- * src/hash-table.cc (size_factor): New variable.
- (Hash_Table::Hash_Table): Pass table size, not vector and vector size
- as arguments. Allocate the vector here.
- (Hash_Table::~Hash_Table): Deallocate the vector here.
- (Hash_Table::equal): New function.
- (Hash_Table::insert): Use it. Don't use item->_allchars_length for the
- increment if _ignore_length is true.
- * src/search.cc (TABLE_MULTIPLE): Remove variable.
- (Search::prepare): Update.
-
-2002-11-02 Bruno Haible <bruno@clisp.org>
-
- Provide documentation also in PDF format.
- * doc/Makefile.in (pdfdir, TEXI2PDF): New variables.
- (all): Depend on pdf.
- (pdf, gperf.pdf): New rules.
- (maintainer-clean): Remove the PDF file.
-
- * src/keyword-list.icc: New file, extracted from keyword-list.h.
- * src/keyword-list.h: Include keyword-list.icc. Move inline methods
- to there.
- * src/keyword-list.cc: Include keyword-list.icc.
- * src/Makefile.in (KEYWORD_LIST_H): Add keyword-list.icc.
-
- * lib/hashpjw.h (hashpjw): Change argument type to 'unsigned char *'.
- * lib/hash.cc (hashpjw): Likewise.
- * src/keyword.icc: New file.
- * src/keyword.h: Include keyword.icc.
- (KeywordExt::_selchars): Change type to 'unsigned char *'.
- * src/keyword.cc: Include keyword.icc.
- (Keyword::Keyword, KeywordExt::KeywordExt): Move to keyword.icc.
- (sort_char_set): Change argument type to 'unsigned char *'.
- (KeywordExt::init_selchars): Update.
- * src/search.h (Search::compute_disjoint_union): Change argument types
- to 'unsigned char *'.
- (Search::sort_set): Likewise.
- (Search::affects_prev): Change argument type to 'unsigned char'.
- * src/search.cc (Search::prepare): Initialize _duplicate_link here.
- (Search::get_occurrence, Search::set_determined,
- Search::already_determined, Search::hash): Update.
- (Search::compute_disjoint_union): Change argument types to
- 'unsigned char *'.
- (Search::sort_set): Likewise.
- (Search::affects_prev): Change argument type to 'unsigned char'.
- (Search::change): Update.
- * src/Makefile.in (KEYWORD_H): Add keyword.icc.
-
- * src/options.cc (Options::parse_options): Fix error message.
-
- * src/read-line.h (Read_Line::Read_Line): Make FILE* argument
- mandatory. Move body to read-line.icc.
- * src/read-line.icc (Read_Line::Read_Line): New constructor.
- * src/input.h (Input::Input): Add FILE* argument.
- * src/input.cc (Input::Input): Likewise.
- * src/main.cc (main): Pass stdin to Input constructor.
-
- * src/options.h (DEFAULTCHARS): Remove.
- (Positions::MAX_KEY_POS): Set to 255.
- (Positions::_positions): Increase array size.
- (PositionIterator::EOS): Set to -1.
- (PositionIterator::_index): Change type to 'unsigned int'.
- * src/options.icc (Positions::Positions): Don't store
- PositionIterator::EOS.
- (PositionIterator::next): Produce PositionIterator::EOS here.
- * src/options.cc (Options::long_usage): Use MAX_KEY_POS, not
- MAX_KEY_POS-1.
- (PositionStringParser): Rename field _size to _in_range. Rename
- field _curr_value to _range_curr_value. Rename field _upper_bound
- to _range_upper_bound.
- (PositionStringParser::nextPosition): Comments.
- (Options::Options): Update.
- (Options::~Options): Update.
- (long_options): Use NULL, not 0.
- (Options::parse_options): Set BAD_VALUE to -2; -1 is now EOS. Bug fix:
- Check against array overflow when more than MAX_KEY_POS positions are
- given. Don't store PositionIterator::EOS.
- Check against extra arguments before opening the input file.
- * src/output.cc (Output::output_hash_function): Change test which
- was for option[DEFAULTCHARS].
- * tests/test-6.exp: Update.
-
- * src/options.h (Options::get_delimiters): Renamed from
- Options::get_delimiter.
- * src/options.icc (Options::get_delimiters): Renamed from
- Options::get_delimiter.
- * src/input.cc (Input::read_keys): Update.
-
- Bug fix.
- * src/options.cc (Options::print_options): Escape backquote inside
- double-quoted strings.
-
- Bug fix.
- * src/keyword.cc (KeywordExt::init_selchars): Avoid comparison with
- uninitialized member variable. Found with 'valgrind'.
-
- * src/version.cc: Include version.h.
- * src/Makefile.in (OBJECTS): Reorder.
- (KEYWORD_H, KEYWORD_LIST_H, INPUT_H, SEARCH_H, OUTPUT_H): New
- variables.
- (HASH_TABLE_H): Update.
- (options.o, read-line.o, keyword.o, keyword-list.o, input.o, search.o,
- output.o, main.o): Update dependencies.
-
- * src/vectors.h: Remove file.
- * src/vectors.cc: Remove file.
- * src/search.h: Don't include vectors.h.
- (Search): Don't inherit from Vectors. New fields _alpha_size,
- _occurrences, _asso_values.
- (Search::_determined, Search::get_occurrence, Search::set_determined,
- Search::already_determined, Search::hash, Search::sort_set): Make
- nonstatic.
- * src/search.cc (Search::Search): Initialize _alpha_size, _occurrences,
- _asso_values, _determined.
- (Search::optimize, Search::~Search): Update.
- * src/output.h: Don't include vectors.h.
- (Output): Remove field _v. New fields _alpha_size, _occurrences,
- _asso_values.
- (Output::Output): Replace Vectors* argument with alpha_size,
- occurrences, asso_values.
- * src/output.cc (Output::Output): Replace Vectors* argument with
- alpha_size, occurrences, asso_values.
- (Output::output_hash_function): Update.
- * src/main.cc (main): Don't set Vectors::ALPHA_SIZE.
- Pass _alpha_size, _occurrences, _asso_values from Search to Output.
- * src/keyword.h: Don't include vectors.h.
- * src/Makefile.in (OBJECTS): Remove vectors.o.
- (VECTORS_H): Remove variable.
- (vectors.o): Remove rule.
-
- * src/search.h: New file, combines src/key-list.h, src/gen-perf.h.
- * src/search,cc: New file, combines src/key-list.cc, src/gen-perf.cc.
- * src/key-list.h: Remove file.
- * src/key-list.cc: Remove file.
- * src/gen-perf.h: Remove file.
- * src/gen-perf.cc: Remove file.
- * src/main.cc (KeywordExt_Factory): Moved here from gen-perf.cc.
- (main): Inline some code from gen-perf.cc.
- * src/keyword.h (KeywordExt::init_selchars): Take the occurrences
- vector as argument.
- * src/keyword.cc (KeywordExt::init_selchars): Take the occurrences
- vector as argument.
- * src/input.cc (Input::set_output_types): Initialize _array_type,
- _return_type, _struct_tag.
- (Input::read_keys): Initialize _additional_code.
- * src/Makefile.in (OBJECTS): Add search.o.
- Remove key-list.o, gen-perf.o.
- (KEY_LIST_H, GEN_PERF_H): Remove variables.
- (gen-perf.o, key-list.o): Remove rules.
- (search.o): New rule.
-
- * *, */*: Update copyright notice to GPL version 2.
-
- * src/keyword-list.h (Keyword_List): New class.
- (KeywordExt_List): Inherit from it.
- * src/keyword-list.cc (Keyword_List::Keyword_List): New constructor.
- (KeywordExt_List::KeywordExt_List): Update.
- * src/input.h (Input::Input): Add Keyword_Factory argument.
- (Input::_factory): New field.
- (Input::_head): Change type to Keyword_List*.
- (Input::parse_line): New declaration.
- * src/input.cc (Input::Input): New constructor.
- (Input::parse_line): Renamed from parse_line. Use the _factory.
- (Input::read_keys): Update.
- * src/key-list.cc (KeywordExt_Factory): New class.
- (Key_List::read_keys): Pass a KeywordExt_Factory as Input constructor
- argument.
-
- Avoid g++ -Wold-style-cast warnings.
- * src/bool-array.icc: Use new-style casts.
- * src/gen-perf.cc: Likewise.
- * src/input.cc: Likewise.
- * src/key-list.cc: Likewise.
- * src/keyword.cc: Likewise.
- * src/options.cc: Likewise.
- * src/output.cc: Likewise.
- * src/hash-table.cc: Likewise. Remove (char *) cast in memset argument.
-
- * src/keyword-list.h (KeywordExt_List): Don't inherit from KeywordExt.
- (KeywordExt_List::KeywordExt_List): Take a KeywordExt* as argument.
- (KeywordExt_List::_car): New field.
- (KeywordExt_List::first): Use it.
- * src/keyword-list.cc (KeywordExt_List::KeywordExt_List): Take a
- KeywordExt* as argument.
- * src/input.cc (parse_line): Create the KeywordExt separately.
-
- Start using bool.
- * src/bool-array.h (Bool_Array::set_bit): Change return type to bool.
- * src/bool-array.icc (Bool_Array::set_bit): Likewise.
- * src/gen-perf.h (Gen_Perf::affects_prev): Likewise.
- * src/gen-perf.cc (Gen_Perf::affects_prev): Likewise.
- * src/hash-table.h (Hash_Table::_ignore_length): Change type to bool.
- (Hash_Table::Hash_Table): Change 3rd argument type to bool.
- * src/hash-table.cc (Hash_Table::Hash_Table): Likewise.
- * src/input.h (Input::_additional_code): Change type to bool.
- * src/input.cc (Input::read_keys): Update.
- * src/key-list.h (Key_List::_occurrence_sort, Key_List::_hash_sort,
- Key_List::_additional_code): Change type to bool.
- (Key_List::_determined): Change element type to bool.
- (Key_List::already_determined): Change return type to bool.
- * src/key-list.cc (Key_List::_determined): Change element type to bool.
- (Key_List::set_determined): Update.
- (Key_List::already_determined): Change return type to bool.
- (Key_List::reorder, Key_List::sort, Key_List::Key_List): Update.
- * src/options.h (Positions::sort): Change return type to bool.
- (Options::operator[]): Likewise.
- * src/options.icc (Positions::sort): Change return type to bool.
- (Options::operator[]): Likewise.
- * src/output.h (Output::Output): Change 5th argument type to bool.
- (Output::_additional_code): Change type to bool.
- * src/output.cc (Output::Output): Change 5th argument type to bool.
-
-2002-10-16 Bruno Haible <bruno@clisp.org>
-
- * src/*.h: Align all member names at column 24.
-
-2002-10-15 Bruno Haible <bruno@clisp.org>
-
- * src/input.h: New file.
- * src/input.cc: New file, extracted from key-list.cc.
- * src/key-list.h (Key_List): Don't inherit from Read_Line.
- (Key_List::get_special_input,
- Key_List::save_include_src, Key_List::get_array_type,
- Key_List::strcspn, Key_List::set_output_types): Remove methods.
- * src/key-list.cc (Key_List::get_special_input,
- Key_List::save_include_src, Key_List::get_array_type,
- Key_List::strcspn, Key_List::set_output_types, parse_line): Move to
- src/input.cc.
- (Key_List::read_keys): Use Input::read_keys.
- (Key_List::Key_List): Update.
- * src/gen-perf.cc: Update.
- * src/Makefile.in (OBJECTS): Add input.o.
- (input.o): New rule.
-
-2002-10-14 Bruno Haible <bruno@clisp.org>
-
- * src/options.cc: Don't include "vector.h".
- (Options::parse_options): Don't initialize Vectors::ALPHA_SIZE here.
- * src/vectors.cc (Vectors::ALPHA_SIZE): Don't initialize here.
- * src/gen-perf.cc (Gen_Perf::Gen_Perf): Initialize Vectors::ALPHA_SIZE.
-
- * src/options.h (Positions): New class.
- (PositionIterator): New class.
- (Options::parse_options): Renamed from Options::operator().
- (Options::get_asso_max, Options::set_asso_max): Move to class Key_List.
- (Options::reset, Options::get): Remove, replaced by class
- PositionIterator.
- (Options::get_initial_asso_value): Renamed from Options::initial_value.
- (Options::key_sort): Remove, replaced by Positions::sort.
- (Options): Make all fields and methods non-static.
- * src/options.icc (Positions::Positions, Positions::operator[],
- Positions::get_size, Positions::pointer, Positions::set_size,
- Positions::sort, PositionIterator::PositionIterator,
- PositionIterator::next): New methods.
- (Options::get_initial_asso_value): Renamed from Options::initial_value.
- (Options::get_size_multiple): New method.
- (Options::get_key_positions): New method.
- (Options::get_max_keysig_size): Implement using _key_positions.
- * src/options.cc (Options::long_usage): Split big string into small
- pieces.
- (PositionStringParser): Prefix field names with _.
- (Options::Options): Update.
- (Options::~Options): Fix explanation of of _size_multiple. Don't print
- _key_positions if it is effectively ignored.
- (Options::parse_options): Renamed from Options::operator(). Update.
- * src/key-list.h (Key_List): New field _size. New methods get_asso_max,
- set_asso_max, get_max_keysig_size.
- * src/key-list.cc (Key_List::read_keys): Don't make side effects on
- options.
- (Key_List::dump): Use Key_List::get_max_keysig_size() instead of
- Options::get_max_keysig_size().
- (Key_List::get_max_keysig_size): New function.
- * src/hash-table.cc (Hash_Table::~Hash_Table): Compute the field
- width on the fly if option[ALLCHARS].
- * src/gen-perf.cc (Gen_Perf::Gen_Perf): Update,
- Use Options::get_size_multiple() instead of Options::get_asso_max().
- Use Key_List::get_asso_max() instead of Options::get_asso_max(). Use
- Key_List::get_max_keysig_size() instead of
- Options::get_max_keysig_size().
- (Gen_Perf::affects_prev): Likewise.
- (Gen_Perf::change): Likewise.
- * src/keyword.cc: Update.
- * src/main.cc: Update.
- * src/output.cc: Update.
- * tests/test-6.exp: Update.
-
-2002-10-13 Bruno Haible <bruno@clisp.org>
-
- * src/bool-array.*: Some polishing.
-
- * src/options.h (Options::operator=, Options::operator!=): Remove
- unused methods.
- * src/options.icc (Options::operator=, Options::operator!=): Remove.
-
- * src/*.h: Prefix all field names with _.
- * src/*.cc, src/*.icc: Update.
-
- * src/*: Simplify declarations of functions without arguments.
-
-2002-10-04 Bruno Haible <bruno@clisp.org>
-
- * src/output.h: New file, extracted from key-list.h.
- * src/output.cc: New file, extracted from key-list.cc.
- * src/key-list.h (Key_List): Make some fields protected. Move output
- routines to src/output.h.
- * src/key-list.cc: Move output routines to src/output.cc.
- * src/gen-perf.cc (Gen_Perf::doit_all): Use class Output.
- * src/Makefile.in (OBJECTS): Add output.o.
- (output.o): New rule.
-
-2002-10-03 Bruno Haible <bruno@clisp.org>
-
- * src/iterator.h: Remove file.
- * src/iterator.cc: Remove file.
- * src/options.cc: (PositionStringParser): New class, taken from old
- iterator.cc.
- * src/Makefile.in (OBJECTS): Remove iterator.o.
- (ITERATOR_H): Remove variable.
- (iterator.o): Remove rule.
-
- * src/keyword-list.h: New file.
- * src/keyword-list.cc: New file.
- * src/list-node.h: Remove file.
- * src/list-node.cc: Remove file.
- * src/keyword.h (KeywordExt::init_selchars): New declaration.
- * src/keyword.cc (sort_char_set, KeywordExt::init_selchars): New, from
- old list-node.cc.
- * src/gen-perf.cc: Replace List_Node by KeywordExt or KeywordExt_List,
- as appropriate.
- * src/hash-table.h: Likewise.
- * src/key-list.h: Likewise.
- * src/key-list.cc: Likewise.
- * src/Makefile.in (OBJECTS): Remove list-node.o, add keyword-list.o.
- (LIST_NODE_H): Remove macro.
- (list-node.o): Remove rule.
- (keyword-list.o): New rule.
-
- * src/keyword.h (KeywordExt): New class.
- * src/keyword.cc (KeywordExt): New constructor.
- * src/list-node.h (List_Node): Inherit from KeywordExt.
- * src/list-node.cc: Update.
- * src/gen-perf.cc: Update.
- * src/hash-table.cc: Update.
- * src/key-list.cc: Update.
- (output_keyword_entry): Change argument type to KeywordExt*.
-
- * src/keyword.h: New file.
- * src/keyword.cc: New file.
- * src/list-node.h (List_Node): Extend Keyword.
- * src/list-node.cc: Update.
- * src/gen-perf.cc: Update.
- * src/hash-table.cc: Update.
- * src/key-list.cc: Update.
- * src/Makefile.in (OBJECTS): Add keyword.o.
- (keyword.o): New rule.
-
- * src/key-list.cc (Key_List::read_keys): Allocate the memory for the
- hash table using 'new'.
- (Key_List::output_lookup_array): Allocate the memory for the duplicates
- array using 'new'.
- * src/options.h (LARGE_STACK_ARRAYS): Remove definition.
- * src/main.cc (main): Remove setrlimit call.
- * src/configure.in: Don't test for unistd.h, sys/time.h,
- sys/resource.h, getrlimit, setrlimit.
-
- * src/bool-array.h (Bool_Array): Make all members non-static.
- Add an argument to the constructor. Remove init(), rename reset() to
- clear(), rename find() to set_bit().
- * src/bool-array.icc: Move init() code into the constructor.
- Rename reset() to clear(), rename find() to set_bit().
- * src/gen-perf.h (Gen_Perf): Add collision_detector member.
- * src/gen-perf.cc: Update.
-
- * src/gen-perf.h (Gen_Perf::doit_all): Renamed from
- Gen_Perf::operator ().
- * src/gen-perf.cc (Gen_Perf::doit_all): Renamed from
- Gen_Perf::operator ().
- * src/main.cc: Update.
-
- * src/read-line.h (Read_Line::read_next_line): Renamed from
- Read_Line::get_line.
- * src/read-line.icc: Likewise.
- * src/read-line.cc: Update.
- * src/key-list.cc: Update.
-
- * lib/getline.h: New file.
- * lib/getline.cc: New file.
- * lib/Makefile.in (OBJECTS): Add getline.o.
- (getline.o): New rule.
- * src/read-line.h (Read_Line::readln_aux): Remove declaration.
- * src/read-line.cc (Read_Line::readln_aux): Remove function.
- * src/read-line.icc (Read_Line::get_line): Use ::get_line.
- * src/options.h (LARGE_STACK): Remove macro.
-
- * src/bool-array.h (STORAGE_TYPE): Remove type.
- Use 'unsigned int' instead of STORAGE_TYPE.
- * src/bool-array.cc: Likewise.
- * src/bool-array.icc: Likewise.
- * src/gen-perf.cc: Likewise.
-
- * src/new.cc: Remove file.
- * src/Makefile.in (OBJECTS): Remove new.o.
- (new.o): Remove rule.
- * src/configure.in: Remove test for HAVE_THROW_DECL.
- * acconfig.h: Remove file.
-
- * src/trace.h: Remove file.
- * src/trace.cc: Remove file.
- * src/Makefile.in (OBJECTS): Remove trace.o.
- (TRACE_H): Remove variable.
- (trace.o): Remove rule.
- Update all dependencies.
- * src/bool-array.h, src/bool-array.cc, src/bool-array.icc: Don't use T.
- * src/gen-perf.cc: Likewise.
- * src/hash-table.cc: Likewise.
- * src/iterator.cc: Likewise.
- * src/key-list.cc: Likewise.
- * src/list-node.cc: Likewise.
- * src/main.cc: Likewise.
- * src/new.cc: Likewise.
- * src/options.h, src/options.cc, src/options.icc: Likewise.
- * src/read-line.h, src/read-line.cc, src/read-line.icc: Likewise.
-
- * tests/Makefile.in: Use gperf option -I, to avoid gcc-3.x warnings.
- * tests/test.c: Don't use gets(), to avoid warnings.
-
-2001-08-02 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
-
- * doc/gperf.texi: Change bug report address to <bug-gnu-gperf@gnu.org>.
- * README: Updated.
-
-2000-12-18 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
-
- * src/configure.in: Add check for rand() in libm. Needed for BeOS.
- * src/Makefile.in (LIBS): Use @GPERF_LIBM@ instead of hardwiring -lm.
-
-2000-11-20 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
-
- * doc/help2man: Update to version 1.23.
-
-2000-09-26 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
-
- * gperf-2.7.2 released.
-
- * doc/gperf.texi: Add a second bug report address
- <gperf-bugs@lists.sourceforge.net>.
- * README: Updated.
-
-2000-08-28 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
-
- * lib/getopt.h (struct option): Use "const" also when compiling in
- C++ mode. Avoids warnings from Sun CC and HP-UX aCC.
-
- * doc/Makefile.in (docdir): Change from $(datadir)/doc/@PACKAGE@ to
- $(prefix)/doc/@PACKAGE@, following the newest GNU standards.
-
-2000-08-20 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
-
- * src/version.cc: Bump version number to 2.7.2.
- * doc/gperf.texi: Likewise.
-
- * doc/texinfo.tex: Update to post-texinfo-4.0 version. @code in the
- title page now chooses a larger font. The overall layout of the
- text is denser.
-
- * AUTHORS: New file.
-
- * tests/Makefile.in (all): Add check-lang-utf8 and check-lang-ucs2.
- (check-lang-utf8, check-lang-ucs2): New targets.
- (clean): Remove lu8out and lu2out.
- * tests/lang-utf8.gperf, tests/lang-utf8.exp: New files.
- * tests/lang-ucs2.gperf, tests/test2.c, tests/lang-ucs2.in,
- tests/lang-ucs2.exp: New files.
-
- Allow the use of embedded NULs in keys.
- * lib/hash.h (hashpjw): Add a length argument.
- * lib/hash.cc (hashpjw): Likewise. Don't stop when encountering a NUL
- character.
- * src/hash-table.h (Hash_Table constructor): Add ignore_len argument.
- (Hash_Table::ignore_length): New field.
- (Hash_Table::insert): Renamed from Hash_Table::operator(). Remove
- ignore_length argument.
- * src/hash-table.cc (NIL): Remove macro.
- (Hash_Table constructor): Add ignore_len argument. Use it to
- initialize ignore_length.
- (Hash_Table destructor): Specify explicit length of char_set and
- key.
- (Hash_Table::insert): Renamed from Hash_Table::operator(). Remove
- ignore_length argument. Pass explicit length to hashpjw. Compare
- char_set using memcmp, not strcmp.
- * src/list-node.h (List_Node): Rename field length to key_length.
- New field char_set_length.
- (List_Node constructor): Accept key and rest, not the entire line.
- * src/list-node.cc (List_Node constructor): Accept key and rest, not
- the entire line. Don't NUL terminate key and char_set. Specify
- explicit length of key. Initialize char_set_length field.
- * src/key-list.cc: Include <ctype.h>.
- (parse_line): New function.
- (Key_List::read_keys): Call parse_line instead of new List_Node.
- Pass option[NOLENGTH] to Hash_Table constructor, not
- Hash_Table::insert. Specify explicit length of key and char_set.
- (Key_List::get_occurrence): Use explicit length of char_set.
- (Key_List::set_determined): Likewise.
- (Key_List::already_determined): Likewise.
- (output_string): Add length argument. Output unprintable characters
- using octal escape sequence.
- (output_keyword_entry): Use explicit length of key.
- (Key_List::output_lookup_array): Specify explicit length of key.
- (output_switch_case): Likewise.
- (Key_List::dump): Likewise.
- * src/gen-perf.h (Gen_Perf::compute_disjoint_union): Add two length
- arguments.
- * src/gen-perf.cc (Gen_Perf::compute_disjoint_union): Likewise. Don't
- stop when encountering NUL characters. Don't NUL terminate the
- result.
- (Gen_Perf::hash): Use explicit length of char_set.
- (Gen_Perf::change): Specify explicit length of key.
- * doc/gperf.texi: Document it.
-
- * doc/help2man: New file, help2man version 1.022.
- * Makefile.devel (all): Add doc/gperf.1.
- (doc/gperf.1): New target.
- * doc/gperf.1: Automatically generated.
-
- * mkinstalldirs: New file, from automake-1.4, grep-2.4.1, guile-1.4,
- libtool-1.3.3, make-3.79.1, tar-1.13.
- * src/Makefile.in (MKINSTALLDIRS): New variable.
- (install, installdirs): Use it instead of mkdir.
- * doc/Makefile.in (MKINSTALLDIRS): New variable.
- (install, installdirs): Use it instead of mkdir.
-
- * INSTALL: Update.
-
-2000-08-19 Bruno Haible <bruno@linuix.math.u-bordeaux.fr>
-
- * src/key-list.cc (Output_Compare_Memcmp): New class.
- (Key_List::output_lookup_function): When option -l is given, use
- memcmp instead of strcmp or strncmp.
-
- * doc/gperf.texi: The bug report address is <bug-gnu-utils@gnu.org>.
- The download address is ftp.gnu.org. Remove mention of -a and -g
- options (now nops). Explain effect of -c option.
-
- * doc/configure.in (PACKAGE): New variable.
- * doc/Makefile.in (datadir, docdir): New variables.
- (dvidir, htmldir): Change values.
- (install, installdirs): Update.
-
- * src/configure.in: Rename cache variable gp_cxx_throw_decl to
- gp_cv_cxx_throw_decl.
-
- * src/key-list.cc (Key_List::output_hash_function): When outputting
- __inline, take advantage of C++ compilers which have inline.
-
- * src/key-list.cc (Output_Compare_Strncmp::output_comparison):
- After the call to strncmp, verify that expr2 is not longer than
- `len'.
- Reported by Carlo Wood <carlo@runaway.xs4all.nl>.
-
- * src/key-list.cc (Key_List::output_lookup_function_body): Avoid
- emitting the loop for dealing with duplicates if
- total_duplicates == 0.
-
- * src/key-list.cc (Key_List::read_keys): Don't accept an empty key.
-
- * src/Makefile.in (install, installdirs, uninstall): Respect
- $(DESTDIR).
- * doc/Makefile.in (install, installdirs, uninstall): Likewise.
-
- * src/options.cc (Options::print_options): Escape the arguments which
- contain special characters.
-
- * tests/c-parse.gperf: Updated from gcc-2.95.2/gcc/c-parse.gperf.
- * tests/objc.gperf: New file, from gcc-2.95.2/gcc/objc/objc.gperf.
- * tests/chill.gperf: New file, from gcc-2.95.2/gcc/ch/gperf.
- * tests/cplusplus.gperf: New file, from gcc-2.95.2/gcc/cp/gxx.gperf.
- * tests/gplus.gperf: Remove file.
- * tests/java.gperf: New file, from gcc-2.95.2/gcc/java/keyword.gperf.
- * tests/Makefile: Check them all.
- * tests/c-parse.exp: Renamed from tests/test-1.exp.
- * tests/modula2.exp: Renamed from tests/test-2.exp.
- * tests/cplusplus.exp: Renamed from tests/test-3.exp.
- * tests/gpc.exp: Renamed from tests/test-5.exp.
-
- * src/key-list.cc (output_switch_case): Add trailing semicolon to
- lengthptr assignment line. Fixes bug with -D and -S.
- From Reini Urban <rurban@sbox.tu-graz.ac.at>. Also reported by
- David Hunter.
- * tests/Makefile.in (check-lang-syntax): Perform each test with -D
- once without and once with duplicates.
-
- * src/key-list.cc (output_keyword_entry): Avoid outputting a struct
- initializer of the form {"key",}.
-
- * src/iterator.cc: Don't include <stream.h>.
- From Michael Deutschmann <ldeutsch@mail.netshop.net>.
-
- * tests/Makefile.in (VALIDATE, check-lang-syntax): Use $(srcdir) where
- appropriate.
- Reported by Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>.
-
- * tests/validate: Don't run -traditional tests by default.
-
- * src/main.cc (main): Check for write error on stdout before returning.
-
- * src/Makefile.in (LDFLAGS): New definition, to catch the value given
- at configure time.
-
- Make the structure initializers customizable. Based on a patch by
- Kaveh R. Ghazi <ghazi@caip.rutgers.edu>.
- * src/options.h (Options::get_initializer_suffix,
- Options::initializer_suffix): New declarations.
- * src/options.icc (Options::get_initializer_suffix): New function.
- * src/options.cc (DEFAULT_INITIALIZER_SUFFIX): New constant.
- (Options::initializer_suffix): New variable.
- (Options::short_usage): Document option "-F".
- (Options::long_usage): Document option "-F".
- (Options constructor): Initialize initializer_suffix.
- (Options destructor): Dump initializer_suffix.
- (long_options): Add option "-F".
- (Options::operator()): Accept option "-F". Sets initializer_suffix.
- * src/key-list.cc (output_keyword_blank_entries): Output
- initializer_suffix.
- * doc/gperf.texi: Document option "-F".
-
- * COPYING: Replace with GPL version 2 (with new FSF address and Y2K
- safe year format).
-
- * doc/gpl.texinfo: New file.
- * doc/gperf.texi: Document it.
- * doc/Makefile.in (gperf.info, gperf.dvi, gperf.html, gperf_toc.html):
- Update dependencies.
-
- * doc/Makefile.in (MAKEINFO): Unset LANG while running makeinfo.
-
-1998-05-20 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * doc/Makefile.in (gperf.dvi, clean): Remove gperf.cps.
- (install, installdirs, uninstall): Don't install gperf.dvi. The
- info and HTML documentations are sufficient for on-line use, and
- users who wish to print the documentation (in PS or DVI format)
- can do this directly off the source distribution.
- (DVIPS): Use "-D600" instead of "-Pljfour", for portability.
-
-1998-05-20 Akim Demaille <demaille@inf.enst.fr>
-
- * doc/gperf.texi: Many modifications:
- (Output Format): Declare `hash' and `in_word_set' as functions.
- (Concept Index): New section.
- (Title page): Use standard presentation.
- (Top): Use @top instead of @unnumbered so that automatic master
- update works.
- (Motivation): Avoid spaces in @var.
- (Options): Use the standard name ``Invoking ...''.
- (Options): Declare also the long form of the options.
- (Options): Remove redundant @itemize when @table is used.
-
-1998-05-08 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * aclocal.m4 (CL_PROG_INSTALL): Set cl_cv_path_install, not
- ac_cv_path_install.
-
-Sat May 2 13:20:54 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * gperf-2.7 released.
-
-Sat May 2 12:31:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * src/version.cc (version_string): Remove the "(C++ version)" suffix.
- It's redundant: the early C versions of gperf are called cperf.
- Reported by Karl Berry.
- * src/option.cc (Options::operator()): Trim the output of "gperf -v".
-
-Thu Apr 16 13:22:16 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * lib/Makefile.in, src/Makefile.in: Don't use $(TARGET_ARCH).
- Solaris "make" sets it to a value not understood by "cc".
-
-Wed Apr 15 23:52:14 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * lib/Makefile.in, src/Makefile.in: Don't use implicit rules. Don't
- use $<. AIX "make" and OSF/1 "make" have problems with both.
- * src/gen-perf.cc, src/key-list.cc: Cast free() argument to char*,
- otherwise it doesn't compile on SunOS 4.
- * src/key-list.h: Declare structs outside of other declarations,
- needed for OSF/1 cxx 5.5.
- * lib/getopt.h: Use prototypes if __STDC__ || __cplusplus.
- Don't give a prototype for getopt(), to avoid error on SunOS 4.
- * lib/getopt.c: Declare strncmp, to avoid warnings.
-
-Tue Apr 14 23:24:07 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * lib/GetOpt.{h,cc}: Remove files.
- * lib/getopt.{h,c}, lib/getopt1.c: New files, from GNU libc.
- * lib/configure.in (AC_INIT): Search for hash.cc, not GetOpt.cc.
- * lib/Makefile.in (OBJECTS): Remove GetOpt.o, add getopt.o, getopt1.o.
- (getopt.o, getopt1.o, hash.o): Use explicit building rules. Some
- "make"s don't support to have both implicit rules for "%.o : %.c"
- and "%.o : %.cc" in the same Makefile.
- * lib/hash.{h,cc}: Remove #pragma; there are no templates here.
- * src/option.h (Options::usage): Remove.
- (Options::short_usage, Options::long_usage): Declare.
- * src/option.cc (Options::usage): Remove.
- (Options::short_usage, Options::long_usage): New functions.
- (long_options): New array.
- (Options::operator()): Use getopt_long instead of GetOpt::operator(),
- change all references to GetOpt members.
-
- * src/std-err.{h,cc}: Remove files.
- * src/gen-perf.cc, src/key-list.cc, list-node.cc, new.cc, options.cc:
- Call fprintf(stderr) instead of Std_Err::report_error().
- * src/key-list.h, src/list-node.h, src/options.h: Don't use class
- Std_Err any more.
- * src/option.cc (program_name): New variable.
- * src/Makefile.in: Remove STD_ERR_H.
- (OBJECTS): Remove std-err.o.
-
-Mon Mar 23 01:03:35 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * aclocal.m4, {lib,src,tests}/configure.in: Remove CL_CC_WORKS and
- CL_CXX_WORKS, already contained in autoconf 2.12.
-
- * src/gen-perf.cc, src/key-list.cc: Move some code from
- Gen_Perf::Gen_Perf() to Key_List::output().
- * src/Makefile.in: Update dependencies.
-
- * src/options.{h,cc}: Remove option "-p".
- * src/key-list.cc (Key_List::set_output_types): Rewrite.
- (default_array_type, default_return_type): Remove.
- * src/key-list.cc: Adjust "const" handling.
- + With option "-t" [TYPE], don't emit wrong code if there is no
- space before the struct's opening brace.
-
-Sun Mar 22 16:59:15 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * src/key-list.{h,cc}: Completely reorganized the output routines.
- Rewrote from scratch the output_switch() function. Use classes
- (Output_Constants, Output_Expr, Output_Compare) for abstraction.
- In particular:
- + Don't emit trailing whitespace and spurious blank lines.
- + Adjust indentation of the arrays.
- + Don't emit commas at the end of array initializers and
- struct initializers.
- + With option "-l" [LENTABLE], compare the length before
- fetching the word from memory.
- + With option "-S" [SWITCH], emit the comparison code just once,
- not once in every switch statement.
- + With option "-S" [SWITCH], choose the right switch statement
- through a binary search, not a linear search.
- + With option "-S" [SWITCH], emit straightforward comparisons
- instead of switch statements with just one "case" label.
- + With options "-S -p -t" [SWITCH, POINTER, TYPE], don't emit
- spurious empty elements at the beginning of the wordlist array.
- + With option "-D" [DUP] and not option "-S" [SWITCH], if there
- is no more room for duplicate entries in the lookup array,
- don't call `assert (i != 0)'. Instead, make the array larger :-)
- + With option "-D" [DUP], if there are no duplicates, don't
- automatically fall back to the non-"-D" algorithm. If the user
- wants the non-"-D" algorithm, he can just not specify "-D".
- + With option "-D" [DUP] and either options "-p -t" [POINTER, TYPE]
- or not option "-S" [SWITCH], don't emit spurious empty elements
- at the beginning of the wordlist array.
- + With option "-D" [DUP], simplify the detection and processing
- of duplicate entries in the lookup array.
- + With options "-D -l" [DUP, LENTABLE] and not option "-S" [SWITCH],
- don't forget to emit the lengthtable array.
- + With options "-D -l -S" [DUP, LENTABLE, SWITCH], don't forget to
- compare the lengths before comparing the strings.
-
- * src/gen-perf.cc: No need to include <assert.h>.
- * src/options.cc: Likewise.
-
- * src/options.cc: Don't use `errno' after freopen failed.
- * src/std-err.cc: `report_error' doesn't call strerror(errno) any
- more. No need to include <string.h> and <errno.h>.
-
- * tests/Makefile.in (check-*): Any difference between .exp and .out
- is a failure. Don't ignore whitespace differences.
-
- * tests/Makefile.in (check-lang-syntax): Add some more checks.
-
-Fri Mar 20 00:54:54 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * tests/jscript.gperf: Renamed from tests/javascript.gperf, because
- of Minix and SVR2 14-character filename limit.
- * src/key-list.cc (output_string): New function.
- (Key_List::output_switch, Key_List::output_keyword_table): Call it.
-
- * src/options.{h,icc,cc} (get_wordlist_name): New function. Add
- option -W.
- * src/key-list.cc (Key_List::output_switch,
- Key_List::output_keyword_table, Key_List::output_lookup_function):
- Use it.
- Patch from William Bader <wbader@CSEE.Lehigh.Edu>.
-
- * src/version.cc: Bump version number directly from 2.5 to 2.7,
- because Schmidt's last release from 1991 carries version number 2.6.
-
-Tue Jul 30 00:02:39 1991 Douglas C. Schmidt (schmidt at net4.ics.uci.edu)
-
- * Fixed a small bug in the Key_List::output_keyword_table routine
- that caused an extra newline to be printed if there where no
- leading blank entries... (who cares, right?!)
-
-Mon Jul 29 22:05:40 1991 Douglas C. Schmidt (schmidt at net4.ics.uci.edu)
-
- * Modified the handling of the -E (emit enums rather than
- #defines) option in conjunction with the -G option. Now, if -G
- and -E are given the enums are generated outside the lookup
- function, rather than within it!
-
-Mon Apr 8 18:17:04 1991 Doug Schmidt (schmidt at net4.ics.uci.edu)
-
- * Yucko, there was a bug in the handling of -c (and of course the
- new -I command in key-list.cc). Apparently when I added the
- super-duper hack that provided support for duplicate keys I
- forgot to update the strcmp output...
-
-Mon Mar 9 02:19:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
-
- * Moved the documentation to doc/, put the stuff borrowed from
- libg++ into lib/.
- * Rewrote all Makefile.in's for better compliance with GNU standards.
- * Autoconf based configuration. Rewrote all configure.in's. Added
- aclocal.m4, with macros from CLISP and CLN. Added Makefile.devel.
- * src/depend: Removed. Dependencies are now in src/Makefile.in.
-
- * src/bool-array.icc: New file, contains inline functions, from both
- src/bool-array.h and src/bool-array.cc.
- * src/options.icc: New file, contains inline functions, from both
- src/options.h and src/options.cc.
- * src/read-line.icc: New file, contains inline functions, from both
- src/read-line.h and src/read-line.cc.
-
- * src/bool-array.h: Don't include <std.h>.
- * src/bool-array.cc: Include <string.h>.
- * src/gen-perf.cc: No need to include <ctype.h>. Don't include
- <_G_config.h>.
- * src/hash-table.cc: Don't include <std.h> and <builtin.h>. Include
- <string.h> and lib/hash.h instead.
- * src/iterator.cc: Don't include <std.h>.
- * src/key-list.cc: Don't include <builtin.h>. Include <string.h> and
- <stdlib.h> instead.
- * src/list-node.cc: Don't include <std.h>. Include <stdlib.h> instead.
- Remove `index' hack.
- * src/main.cc: Don't include <_G_config.h>.
- * src/new.cc: Don't include <std.h>. Include <stdlib.h> instead.
- * src/options.cc: Don't include <builtin.h>. Include <string.h> and
- <stdlib.h> instead.
- * src/read-line.cc: Don't include <builtin.h>. Include <stdlib.h>
- instead.
- * src/std-err.cc: Don't include <std.h>. Include <string.h> (for Irix).
- * src/vectors.h: No need to include <stdio.h>.
- * src/version.cc: No need to include <stdio.h>.
-
- * src/bool-array.h: Change `STORAGE_TYPE' from int to unsigned int.
- * src/bool-array.{h,cc}: Change type of `Bool_Array::size' from int
- to unsigned int.
- * src/bool-array.{h,cc}: Change type of `Bool_Array::init' argument
- from STORAGE_TYPE to unsigned int.
- * src/gen-perf.{h,cc}: Change two `Gen_Perf::compute_disjoint_union'
- argument types from `char *' to `const char *'.
- * src/iterator.h: Change type of `Iterator::str' and argument of
- `Iterator::Iterator' from `char *' to `const char *'.
- * src/iterator.cc: Cast to `unsigned char' before calling `isdigit'.
- * src/key-list.{h,cc}: Change type of `Key_List::array_type',
- `Key_List::return_type', `Key_List::struct_tag',
- `Key_List::include_src', `default_array_type', `default_return_type'
- and return type of `Key_List::get_array_type',
- `Key_List::get_special_input', `Key_List::save_include_src' from
- `char *' to `const char *'.
- * src/key-list.cc: Change "pretty gross" assignment.
- * src/key-list.cc: Don't use `alloca', HP-UX CC lacks it.
- * lib/GetOpt.cc: Likewise.
- * src/key-list.cc (merge): Use iteration instead of recursion.
- * src/list-node.{h,cc}: Change type of `List_Node::key',
- `List_Node::rest', `List_Node::char_set' from `char *' to
- `const char *'.
- * src/new.cc: Don't use BUFSIZ. Conditionalize the throw() declaration.
- * src/read-line.h: Don't use BUFSIZ.
- * src/read-line.cc: Make CHUNK_SIZE a constant, and use allocate the
- buffers on the stack by default. Use memcpy for copying buffers.
- Include <string.h>.
- * src/read-line.icc (get_line): Use iteration instead of tail recursion.
- Don't call ungetc(EOF,stdin).
- * src/std-err.{h,cc}: Change type of `Std_Err::program_name' and of
- argument `Std_Err::report_error' from `char *' to `const char *'.
- * src/std-err.cc: `report_error' doesn't call `exit' any more. All
- callers changed to do that themselves.
- * src/trace.h: Make constructor/destructor calls non-inline.
-
- * src/key-list.cc (output_hash_function): If option[CPLUSPLUS],
- always make the hash function inline.
- (output): Declare the hash function inline, with the right name.
- * src/options.{h,cc}, src/gen-perf.cc, src/key-list.cc: Remove
- options -g, making it on by default. Remove option -a. Instead,
- introduce "-L KR-C", "-L C", "-L ANSI-C", "-L C++".
- * src/options.{h,cc}, src/key-list.cc: Add option -I.
- * src/key-list.cc: Don't emit "const" if compiling in mode "-L KR-C".
- * src/key-list.cc: Don't emit a comma at the end of an enum list.
- * src/main.cc: Remove COUNT_TIME code.
- * src/vectors.h, src/key-list.cc, src/options.cc, src/list-node.cc:
- ALPHA_SIZE defaults to 256 now. Add option -7.
-
- * tests/javascript.gperf: New file.
- * tests/jstest*.gperf, tests/validate: New tests.
-
-Sat Jan 31 01:38:11 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
-
- * src/Makefile.in ($(TARGETPROG)): Add $(CFLAGS).
-
-Wed Jan 28 01:56:00 1998 Manfred Hollstein <manfred@s-direktnet.de>
-
- * configure.in (package_makefile_rules_frag): New and
- redirect stderr from ${srcdir}/config.shared to
- ${package_makefile_rules_frag}.
- * src/configure.in: Ditto.
- * tests/configure.in: Ditto.
-
-Fri Jan 23 08:00:41 1998 H.J. Lu (hjl@gnu.org)
-
- * gperf.texi (@ichapter): Changed to @chapter.
-
-Wed Jan 14 09:16:48 1998 H.J. Lu (hjl@gnu.org)
-
- * src/key-list.cc, src/key-list.h (Key_List::strcspn): Don't
- define if strcspn is defined.
-
-Fri Jan 24 13:23:47 1997 Mike Stump <mrs@cygnus.com>
-
- * src/new.cc (operator delete): Add the exception specification.
-
-Mon Feb 5 19:29:16 1996 Per Bothner <bothner@kalessin.cygnus.com>
-
- * src/read-line.cc (Read_Line::readln_aux): Handle EOF if last line
- has a length which is an exact multiple of CHUNK_SIZE. (Used to throw
- away the line's contents.) From Bruno Haible <haible@ilog.ilog.fr>.
- * src/Makefile.in ($(TARGETPROG)): Add -lm to link line.
-
-Tue Jun 11 13:43:50 1996 Brendan Kehoe <brendan@lisa.cygnus.com>
-
- * src/list-node.cc (List_Node): Reorder init of nodes to
- match declaration order.
- * src/hash-table.cc (Hash_Table): Likewise.
-
-Tue Oct 10 16:37:28 1995 Mike Stump <mrs@cygnus.com>
-
- * src/new.cc: Since malloc/delete are not paired, we cannot call
- free.
-
-Wed Jan 4 12:40:14 1995 Per Bothner <bothner@kalessin.cygnus.com>
-
- * src/Makefile.in ($(TARGETPROG)): Link with $(LDFLAGS).
- Patch from John Interrante <interran@uluru.stanford.edu>.
-
-Sat Nov 5 19:12:48 1994 Jason Merrill (jason@phydeaux.cygnus.com)
-
- * src/Makefile.in (LIBS): Remove.
-
-Tue Oct 18 17:51:14 1994 Per Bothner <bothner@kalessin.cygnus.com>
-
- * src/std-err.cc: Use stderror, instead of the non-standard
- sys_nerr and sys_errlist.
-
-Sat Sep 17 22:02:13 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * src/key-list.cc (output_hash_function):
- Patch from William Bader <wbader@CSEE.Lehigh.Edu>.
-
-Fri Jul 15 09:38:11 1994 Per Bothner (bothner@cygnus.com)
-
- * src/std-err.cc: #include <errno.h>, and only declare
- extern int errno if errno is not a macro.
-
-Mon May 30 17:29:34 1994 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in (src_all, install): Make sure to add '/' after
- `pwd` in $rootme, as expected by FLAGS_TO_PASS.
-
-Wed May 11 00:47:22 1994 Jason Merrill (jason@deneb.cygnus.com)
-
- Make libg++ build with gcc -ansi -pedantic-errors
- * src/options.h: Lose commas at end of enumerator lists.
-
-Sun Dec 5 19:16:40 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
-
- * src/hash-table.cc (Hash_Table::~Hash_Table): Don't pass an
- argument to fprintf, since it's not expecting one.
-
-Fri Nov 26 19:03:18 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * src/list-node.cc: #undef index, for the sake of broken NeXT,
-
-Thu Nov 4 11:16:03 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in (install): Use INSTALL_DATA for gperf.1.
-
-Mon Oct 25 18:40:51 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * src/key-list.cc (Key_List::read_keys): Use POW macro
- to increase hash table size to power of 2.
-
- * options.h (LARGE_STACK_ARRAYS): New flag. Defaults to zero.
- * gen-perf.cc, key-list.cc, read-line.cc:
- Only stack-allocate large arrays if LARGE_STACK_ARRAYS is set.
- * main.cc (main): Only call setrlimit (RLIMIT_STACK, ...)
- if LARGE_STACK_ARRAYS.
-
-Mon Oct 4 17:45:08 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * src/gen-perf.cc: Always use ANSI rand/srand instead of BSDisms.
-
-Wed Aug 18 12:19:53 1993 Per Bothner (bothner@kalessin.cygnus.com)
-
- * Makefile.in (src_all): Make less verbose output.
-
-Fri May 28 14:01:18 1993 Per Bothner (bothner@rtl.cygnus.com)
-
- * src/gen-perf.cc (Gen_Perf::change): Don't use gcc-specific
- 2-operand conditional expression.
- * src/key-list.cc (Key_List::output_lookup_array):
- Don't use variable-size stack arrays, unless compiled by g++.
-
-Tue May 4 14:08:44 1993 Per Bothner (bothner@cygnus.com)
-
- Changes (mostly from Peter Schauer) to permit compilation
- using cfront 3.0 and otherwise be ARM-conforming.
- * src/key-list.h: class Key_List must use public derivation
- of base class Std_Err (because Gen_Perf::operator() in gen-perf.cc
- calls Std_Err::report_error).
- * src/gen-perf.cc (Gen_Perf::affects_prev), src/hash-table.cc
- (Hash_Table::operator()): Don't use gcc-specific 2-operand
- conditional expression.
- * src/iterator.cc (Iterator::operator()): Don't use gcc-specific
- range construct in case label.
- * key-list.cc (Key_List::output_lookup_array, Key_List::read_keys),
- src/gen-perf.cc (Gen_Perf::operator(), src/read-line.cc
- (Read_Line::readln_aux): If not gcc, don't allocate
- variable-sized arrays on stack.
- * src/new.cc (operator new): Argument type should be size_t.
- * key-list.cc (Key_List::output_lookup_array, Key_List::read_keys),
- new/cc (::operator new): Don't use non-standard >?= operator.
-
-Tue Apr 27 20:11:30 1993 Per Bothner (bothner@cygnus.com)
-
- * src/Makefile.in: Define TARGETPROG, and use it.
-
-Mon Apr 19 00:29:18 1993 Per Bothner (bothner@cygnus.com)
-
- * Makefile.in, configure.in: Re-vamped configure scheme.
- * gperf.texinfo: Renamed to gperf.texi.
- * src/bool-array.{h,cc}: ANSIfy bzero->memset.
-
-Sat Jan 30 20:21:28 1993 Brendan Kehoe (brendan@lisa.cygnus.com)
-
- * tests/Makefile.in (mostlyclean): Also delete aout, cout, m3out,
- pout, and preout.
-
-Tue Dec 29 08:58:17 1992 Ian Lance Taylor (ian@cygnus.com)
-
- * Makefile.in: pass $(FLAGS_TO_PASS) to all calls to make.
- (FLAGS_TO_PASS): added INSTALL, INSTALL_DATA, INSTALL_PROGRAM.
-
-Mon Dec 21 18:46:46 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * tests/expected.* renamed to *.exp to fit in 14 chars.
- * tests/Makefile.in: Update accordingly.
- Also rename output.* to *.out.
- * src/Makefile.in (clean): Remove gperf program.
-
-Wed Dec 9 14:33:34 1992 Per Bothner (bothner@cygnus.com)
-
- * src/hash-table.cc, src/bool-array.h: ANSIfy bzero->memset.
-
-Thu Dec 3 19:34:12 1992 Per Bothner (bothner@cygnus.com)
-
- * Makefile.in (distclean, realclean): Don't delete
- Makefile before recursing.
-
-Fri Nov 6 13:41:49 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * key-list.{h,cc}: Remove MAX_INT (and similar) constant
- fields from Key_List class, and use INT_MAX (etc) from limits.h.
- * key-list.{h,cc}, options.{h,cc}, vectors.h: Removed all
- uses of initialized const fields, as they are non-standard
- - and their use was easy to do away with. Mostly, just
- made the constants static non-fields in the .cc file.
-
-Mon Nov 2 13:10:11 1992 Per Bothner (bothner@cygnus.com)
-
- * tests/Makefile.in: When generating cinset.c, don't pass -C,
- since -C assumes an ANSI compiler. Add the -C flag (with -a)
- when generating test.out.3 instead.
- * tests/expected.out.3: Update accordingly.
-
-Wed Aug 12 11:47:54 1992 Per Bothner (bothner@cygnus.com)
-
- * Makefile.in: Factor out common flags into $(FLAGS_TO_PASS).
- * Makefile.in: 'install-info' depends on gperf.info.
-
-Mon Aug 10 11:39:52 1992 Ian Lance Taylor (ian@dumbest.cygnus.com)
-
- * Makefile.in, src/Makefile.in: always create installation
- directories.
-
-Mon Jul 20 15:33:21 1992 Mike Stump (mrs@cygnus.com)
-
- * src/new.cc (operator new): Add cast from void * to char *,
- since it is not a standard conversion.
-
-Wed Jun 17 16:25:30 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * src/gen-perf.cc: #include <_G_config.h> for _G_SYSV.
- * src/key-list.cc: alloca() hair.
- * src/main.cc (main): Only call getrlimit if _G_HAVE_SYS_RESOURCE.
- * Makefile,in, {src,test}/Makefile.in: Fix *clean rules.
-
-Fri May 29 13:21:13 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * src/gen-perf.cc: Replace USG -> _G_SYSV.
-
-Thu May 14 13:58:36 1992 Per Bothner (bothner@rtl.cygnus.com)
-
- * src/Makefile.in: Don't pass obsolete flag -DUNLIMIT_STACK.
- * tests/Makefile.in (clean): Fix.
-
-Sat Mar 7 00:03:56 1992 K. Richard Pixley (rich@rtl.cygnus.com)
-
- * gperf.texinfo: added menu item hook.
-
-Wed Feb 26 18:04:40 1992 K. Richard Pixley (rich@cygnus.com)
-
- * Makefile.in, configure.in: removed traces of namesubdir,
- -subdirs, $(subdir), $(unsubdir), some rcs triggers. Forced
- copyrights to '92, changed some from Cygnus to FSF.
-
-Sun Jan 26 19:21:58 1992 Per Bothner (bothner at cygnus.com)
-
- * tests/Makefile.in: Use re-directed stdin instead of file
- name in argv. This allows us to remove the filename
- from the output, the expected output, and hence the diffs.
- (Note that the input file is in $(srcdir), which we cannot
- place in the expected out files.)
- * tests/expected.out.[1235]: Edit out input filename,
- to match new output.
-
-Thu Jun 28 16:17:27 1990 Doug Schmidt (schmidt at brilliant)
-
- * Wow, first fix on the new job! There was a dumb error
- in Key_List::output_lookup_function, where I printed the
- string "&wordlist[key]" instead of the correct "&wordlist[index]".
-
- * Added a couple of #ifdefs for USG support.
-
-Sun Jun 3 17:16:36 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Updated the version number to 2.5 and sent to Doug Lea for release
- with the latest GNU libg++.
-
- * Changed the error handling when a keyword file cannot be opened
- (now calls perror).
-
-Wed May 30 14:49:40 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Instrumented the source code with trace statements automagically
- inserted using my new automated trace instrumentation tool!
-
-Wed May 9 11:47:41 1990 Doug Schmidt (schmidt at siam.ics.uci.edu)
-
- * Really fixed the previous bug. Turns out that a small amount
- of logic had to be duplicated to handle static links that occur
- as part of dynamic link chains. What a pain!!!
-
-Tue May 8 23:11:44 1990 Doug Schmidt (schmidt at siam.ics.uci.edu)
-
- * Fixed a stupid bug in Key_List::output_lookup_array that was
- causing incorrect counts to be generated when there were both
- static and dynamic links occurring for the same hash value.
- Also simplified the code that performs the logic in this routine.
-
-Mon Apr 30 17:37:24 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Fixed stupid bug in Key_List::output_lookup_array that was
- making the generated lookup[] array contain `chars' even
- when the values stored in the chars are greater than 127!
-
- * Changed the behavior of the -G (global table) option so that it
- will output the `length[]' array in the global scope along with
- the `word_list[]' array.
-
- * Fixed a stupid bug in Key_List::output_lookup_function that
- would always output the complicated `duplicate-handling' lookup
- logic, even when there were no duplicates in the input!
-
- * Yikes, had to modify a bunch of stuff in key-list.cc to correctly
- handle duplicate entries. Changed the generated code so that
- the MIN_HASH_VALUE is no longer subtracted off when calculating
- the hash value for a keyword. This required changing some other
- code by substituting MAX_HASH_VALUE for TOTAL_KEYS in several places.
- Finally, this means that the generated tables may contain leading
- null entries, but I suppose it is better to trade-off space to get
- faster performance...
-
-Mon Mar 26 13:08:43 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Updated version number to 2.4 to reflect the latest changes.
-
- * Changed the main program so that it always prints out gperf's
- execution timings to the generated output file.
-
-Sun Mar 25 12:39:30 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Added the -Z option so that users can specify the name of the
- generated class explicitly. Updated documentation to reflect
- this change.
-
- * Modified the generated C++ class interface so that the functions
- are declared static (to remove the overhead of passing the `this'
- pointer). This means that operator()() can no longer be used,
- since it only works on non-static member functions.
- Also changed things so that there is no constructor (why waste
- the extra call, when it doesn't do anything, eh?)
-
- * Modified the behavior of Key_List::output when the -L C++ option
- is enabled. Previously the code generated use const data members
- to record MIN_WORD_LENGTH, MIN_HASH_VALUE, etc. However, as
- pointed out by James Clark this may result in suboptimal behavior
- on the part of C++ compilers that can't inline these values.
- Therefore, the new behavior is identical to what happens with
- -L C, i.e., either #defines or function-specific enums are used.
- Why sacrifice speed for some abstract notion of `code purity?' ;-)
-
-Tue Mar 6 18:17:42 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Added the -E option that defines constant values using an enum
- local to the lookup function rather than with #defines. This
- also means that different lookup functions can reside in the
- same file. Thanks to James Clark (jjc@ai.mit.edu).
-
-Sat Mar 3 20:19:00 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Added a special case to key_list::output_switch that doesn't
- generate extra comparisons when the `-S' is given an argument
- of 1 (the normal case). This should speed up the generated
- code output a tad...
-
-Fri Feb 23 14:21:28 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Renamed all instances of member function get_keysig_size
- to get_max_keysig_size, since this is more precise...
-
- * Changed all occurrences of charset to keysig (stands for ``key
- signature'') to reflect the new naming convention used in the
- USENIX paper.
-
-Thu Feb 22 11:28:36 1990 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Changed the name of the generated associated values table from
- asso_value to asso_values to reflect conventions in the USENIX
- C++ paper.
-
-Thu Feb 15 23:29:03 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Updated the gperf.texinfo file to fix some formatting problems
- that had crept in since last time.
-
-Wed Feb 14 23:27:24 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Fixed stupid bug in key-list.cc (get_special_input), wher
- gperf replaced each '%' with the succeeding character.
-
- * Added support for multiple target language generation. Currently
- handled languages are C and C++, with C as the default. Updated
- documentation and option handler to reflect the changes.
-
- * Added a global destructor to new.cc and removed the #ifdef, since
- the bloody thing now works with libg++.
-
-Mon Feb 14 13:00:00 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Found out that my gperf paper was accepted at the upcoming
- USENIX C++ Conference in San Francisco. Yow!
-
-Tue Jan 30 09:00:29 1990 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * #ifdef'd out the new.cc memory allocator, since there are
- problems with this and the libg++ stuff.
-
- * Changed key-list.h so that class Vectors is a public (rather
- than private) base class for class Key_List. The previous
- form was illegal C++, but wasn't being caught by the old
- g++ compiler. Should work now... ;-)
-
-Sun Dec 10 14:08:23 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added several changes from rfg@ics.uci.edu. These changes
- help to automate the build process.
-
-Wed Nov 15 15:49:33 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Removed conditional compilation for GATHER_STATISTICS. There's
- really no good reason to avoid collecting this info at run-time,
- since that section of code is *hardly* the bottleneck... ;-)
-
- * Simplified the C output routines in Key_List::set_output_types
- and Key_List::output_keyword_table a bit in order to
- speed-up and clean up the code generation.
-
- * Modified function Key_List::get_special_input so that it does
- not try to `delete' a buffer that turned out to be too short.
- This is important since the new memory management scheme
- does not handle deletions. However, adding a small amount of
- garbage won't hurt anything, since we generally don't do this
- operation more than a couple times *at most*!
-
- * Created a new file (new.cc) which includes my own overloaded
- operator new. This function should dramatically reduce the
- number of calls to malloc since it grabs large chunks and
- doles them out in small pieces. As a result of this change
- the class-specific `operator new' was removed from class List_Node.
-
-Tue Nov 14 21:45:30 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Continued to refine the great hack. The latest trick is to
- try and replace most uses of dynamic memory (i.e., calls to
- new) with uses of gcc dynamic arrays (i.e., an alloca solution).
- This makes life much easier for the overall process-size, since
- it reduces the amount of overhead for memory management. As a
- side-effect from this change there is no reason to have the
- Bool_Array::dispose member function, so it's outta here!
-
- * Fixed a stupid bug that was an disaster waiting to happen...
- Instead of making the boolean array large enough to index
- max_hash_value it was only large enough to index max_hash_value
- - 1. Once again, an off-by-one mistake in C/C++!!!!
-
-Mon Nov 13 19:38:27 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added the final great hack! This allows us to generate hash tables
- for near-perfect hash functions that contain duplicates, *without*
- having to use switch statements! Since many compilers die on large
- switch statements this feature is essential. Furthermore, it appears
- that the generated code is often *smaller* than that put out by
- compilers, even though a large, sparse array must be created.
- Here's the general idea:
-
- a. Generate the wordlist as a contiguous block of keywords,
- just as before when using a switch statement. This
- wordlist *must* be sorted by hash value.
-
- b. Generate the lookup array, which is an array of signed
- {chars,shorts,ints}, (which ever allows full coverage of
- the wordlist dimensions). If the value v, where v =
- lookup[hash(str,len)], is >= 0 and < TOTAL_KEYWORDS, then we
- simply use this result as a direct access into the wordlist
- array to snag the keyword for comparison.
-
- c. Otherwise, if v is < -TOTAL_KEYWORDS or > TOTAL_KEYWORDS
- this is an indication that we'll need to search through
- some number of duplicates hash values. Using a hash
- linking scheme we'd then index into a different part of
- the hash table that provides the starting index and total
- length of the duplicate entries to find via linear search!
-
-Sun Nov 12 13:48:10 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Simplified Key_List::output_min_max considerably by recognizing
- that since the keyword list was already sorted by hash value finding
- the min and max values is trivial!
-
- * Improved the debugging diagnostics considerably in classes Key_List,
- Hash_Table, and Gen_Perf.
-
- * Modified the `-s' option so that a negative argument is now
- interpreted to mean `allow the maximum associated value to be
- about x times *smaller* than the number of input keys.' This
- should help prevent massive explosion of generated hash table
- size for large keysets.
-
-Sat Nov 11 11:31:13 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added a field in class Key_List that counts the total number
- of duplicate keywords, both static and dynamic.
-
- * Added a new member function Bool_Array that deletes the dynamic
- memory allocated to Bool_Array::storage_array. This space may
- be needed for subsequent options, so it made sense to free it as
- soon as possible...
-
- * Renamed file/class Alpha_Vectors to Vectors, to avoid problems
- with 14 character length filenames on SYSV. Also changed file
- adapredefined.gperf to adadefs.gperf in the ./tests directory.
-
- * Modified class Options by changing the member function
- Options::total_positions to Options::get_charset_size and
- Options::set_charset_size. These two routines now either return
- the total charset size *or* the length of the largest keyword
- if the user specifies the -k'*' (ALLCHARS) option. This change
- cleans up client code.
-
- * Merged all the cperf changes into gperf.
-
- * Made sure to explicitly initialize perfect.fewest_collisions to
- 0.
-
- * Cleaned up some loose ends noticed by Nels Olson.
- 1. Removed `if (collisions <= perfect.fewest_collisions)'
- from Gen_Perf::affects_prev since it was superfluous.
- 2. Removed the fields best_char_value and best_asso_value
- from Gen_Perf. There were also unnecessary.
- 3. Fixed a braino in the Bool_Array::bool_array_reset
- function. Since iteration numbers can never be zero
- the `if (bool_array.iteration_number++ == 0)' must be
- `if (++bool_array.iteration_number == 0).'
- 4. Modified Std_Err::report_error so that it correctly handles
- "%%".
-
- * It is important to note that -D no longer enables -S.
- There is a good reason for this change, which will become
- manifested in the next release... (suspense!).
-
- * Made some subtle changes to Key_List::print_switch so that if finally
- seems to work correctly. Needs more stress testing, however...
-
- * Made a major change to the Key_List::print_switch function.
- The user can now specify the number of switch statements to generate
- via an argument to the -S option, i.e., -S1 means `generate 1
- switch statement with all keywords in it,' -S2 means generate
- 2 switch statements with 1/2 the elements in each one, etc.
- Hopefully this will fix the problem with C compilers not being
- able to generate code for giant switch statements (but don't
- hold your breath!)
-
- * Changed Key_List::length function to Key_List::keyword_list_length.
-
- * Added a feature to main.c that prints out the starting wall-clock
- time before the program begins and prints out the ending wall-clock
- time when the program is finished.
-
- * Added the GATHER_STATISTICS code in hash-table.c so we can
- keep track of how well double hashing is doing. Eventually,
- GATHER_STATISTICS will be added so that all instrumentation
- code can be conditionally compiled in.
-
- * Fixed a stupid bug in Key_List::print_switch routine. This
- was necessary to make sure the generated switch statement worked
- correctly when *both* `natural,' i.e., static links and dynamic
- links, i.e., unresolved duplicates, hash to the same value.
-
- * Modified Bool_Array::~Bool_Array destructor so that
- it now frees the bool_array.storage_array when it is no longer
- needed. Since this array is generally very large it makes sense
- to return the memory to the freelist when it is no longer in use.
-
- * Changed the interface to constructor Hash_Table::Hash_Table. This
- constructor now passed a pointer to a power-of-two sized buffer that
- serve as storage for the hash table. Although this weakens information
- hiding a little bit it greatly reduces dynamic memory fragmentation,
- since we can now obtain the memory via a call to alloca, rather
- than malloc. This change modified Key_List::read_keys calling
- interface.
-
- * Since alloca is now being used more aggressively a conditional
- compilation section was added in main.c. Taken from GNU GCC,
- this code gets rid of any avoidable limit on stack size so that
- alloca does not fail. It is only used if the -DRLIMIT_STACK
- symbol is defined when gperf is compiled.
-
- * Added warnings in option.c so that user's would be informed
- that -r superceeds -i on the command-line.
-
- * Rewrote Gen_Perf::affects_prev. First, the code structure
- was cleaned up considerably (removing the need for a dreaded
- goto!). Secondly, a major change occurred so that Gen_Perf::affects_prev
- returns FALSE (success) when fewest_hits gets down to whatever
- it was after inserting the previous key (instead of waiting for
- it to reach 0). In other words, it stops trying if it can
- resolve the new collisions added by a key, even if there are
- still other old, unresolved collisions. This modification was
- suggested by Nels Olson and seems to *greatly* increase the
- speed of gperf for large keyfiles. Thanks Nels!
-
- * In a similar vein, inside the Gen_Perf::change routine
- the variable `perfect.fewest_collisions is no longer initialized
- with the length of the keyword list. Instead it starts out at
- 0 and is incremented by 1 every time change () is called.
- The rationale for this behavior is that there are times when a
- collision causes the number of duplicates (collisions) to
- increase by a large amount when it would presumably just have
- gone up by 1 if none of the asso_values were changed. That is,
- at the beginning of change(), you could initialize fewest_hits
- to 1+(previous value of fewest_hits) instead of to the number of
- keys. Thanks again, Nels.
-
- * Replaced alloca with new in the Gen_Perf::change function.
- This should eliminate some overhead at the expense of a little
- extra memory that is never reclaimed.
-
- * Renamed Gen_Perf::merge_sets to Gen_Perf::compute_disjoint_union
- to reflect the change in behavior.
-
- * Added the -e option so users can supply a string containing
- the characters used to separate keywords from their attributes.
- The default behavior is ",\n".
-
- * Removed the char *uniq_set field from LIST_NODE and modified
- uses of uniq_set in perfect.c and keylist.c. Due to changes
- to Gen_Perf::compute_disjoint_sets this field was no longer
- necessary, and its removal makes the program smaller and
- potentially faster.
-
- * Added lots of changes/fixes suggested by Nels Olson
- (umls.UUCP!olson@mis.ucsf.edu). In particular:
- 1. Changed Bool_Array so that it would dynamically create
- an array of unsigned shorts rather than ints if the
- LO_CAL symbol was defined during program compilation.
- This cuts the amount of dynamic memory usage in half,
- which is important for large keyfile input.
- 2. Added some additional debugging statements that print extra
- info to stderr when the -d option is enabled.
- 3. Fixed a really stupid bug in Key_List::print_switch
- A right paren was placed at the wrong location, which broke
- strlen ().
- 4. Fixed a subtle problem with printing case values when keylinks
- appear. The logic failed to account for the fact that there
- can be keylinks *and* regular node info also!
- 5. Changed the behavior of Key_List::read_keys so that it would
- honor -D unequivocally, i.e., it doesn't try to turn off dup
- handling if the user requests it, even if there are no
- immediate links in the keyfile input.
- 6. Modified the -j option so that -j 0 means `try random values
- when searching for a way to resolve collisions.'
- 7. Added a field `num_done' to the Gen_Perf struct. This is used
- to report information collected when trying to resolve
- hash collisions.
- 8. Modified the merge_sets algorithm to perform a disjoint
- union of two multisets. This ensures that subsequent
- processing in Gen_Perf::affect_prev doesn't
- waste time trying to change an associated value that is
- shared between two conflicting keywords.
- 9. Modified Gen_Perf::affects_prev so that it doesn't try
- random jump values unless the -j 0 option is enabled.
- 10. Fixed a silly bug in Gen_Perf::change. This problem caused
- gperf to seg fault when the -k* option was given and the
- keyfile file had long keywords.
-
-Sun Oct 29 00:18:55 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
-
- * Modified class-specific new operations for Read_Line and
- List_Node so they don't fail if SIZE is larger than twice
- the previous buffer size. Note we double buffer size
- everytime the previous buffer runs out, as a heuristic
- to reduce future calls to malloc.
-
-Sun Oct 22 13:49:43 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Updated gperf version number to 2.0. Send to Doug Lea for
- incorporation into the long-awaited `official' libg++ 1.36
- release!
-
- * Thanks to Nels Olson a silly bug in Gen_Perf::change ()
- was fixed. This problem caused gperf to seg fault when
- the -k* option was given and the keyfile file had long
- keywords.
-
- * Modified Key_List::print_hash_function so that it output
- max_hash_value + 1 (rather than just max_hash_value) for
- any associated value entries that don't correspond to
- keyword charset characters. This should speed up rejection
- of non-keyword strings a little in some cases.
-
-Sat Oct 21 19:28:36 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Fixed Key_List::print_hash_function so that it no longer output
- things like `return 0 + ...' Although this probably gets
- optimized away by even the worst C compilers there isn't any
- point tempting fate... ;-)
-
- * Fixed class List_Node's constructor so that it wouldn't a priori
- refuse to consider trying to hash keys whose length is less
- than the smallest user-specified key position. It turns out
- this is not a problem unless the user also specifies the -n
- (NOLENGTH) option, in which case such keys most likely
- don't have a prayer of being hashed correctly!
-
- * Changed the name of the generated lookup table from `Hash_Table'
- to `asso_value' to be consistent with the gperf paper.
-
-Tue Oct 17 14:19:48 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added a flag GATHER_STATISTICS in the Makefile. If defined
- during compilation this turns on certain collection facilities
- that track the performance of gperf during its execution. In
- particular, I want to see how many collisions occur for the
- double hashing Hash_Table.
-
- * Added a safety check so that we don't screw up if the total
- number of `resets' of the Bool_Array exceeds MAX_INT. Since
- this number is around 2^31 it is unlikely that this would ever
- occur for most input, but why take the risk?
-
- * Changed the behavior for the -a (ANSI) option so that the
- generated prototypes use int rather than size_t for the LEN
- parameter. It was too ugly having to #include <stddef.h> all
- over the place...
-
-Mon Oct 16 11:00:35 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Continued to work on the gperf paper for the USENIX C++
- conference. At some point this will be merged back into
- the gperf documentation...
-
-Sat Oct 14 20:29:43 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
-
- * Added a majorly neat hack to Bool_Array, suggested by rfg.
- The basic idea was to throw away the Ullman array technique.
- The Ullman array was used to remove the need to reinitialize all
- the Bool_Array elements to zero everytime we needed to determine
- whether there were duplicate hash values in the keyword list.
- The current trick uses an `iteration number' scheme, which takes
- about 1/3 the space and reduces the overall program running a
- time by about 20 percent for large input! The hack works as
- follows:
-
- 1. Dynamically allocation 1 boolean array of size k.
- 2. Initialize the boolean array to zeros, and consider the first
- iteration to be iteration 1.
- 2. Then on all subsequent iterations we `reset' the bool array by
- kicking the iteration count by 1.
- 3. When it comes time to check whether a hash value is currently
- in the boolean array we simply check its index location. If
- the value stored there is *not* equal to the current iteration
- number then the item is clearly *not* in the set. In that
- case we assign the iteration number to that array's index
- location for future reference. Otherwise, if the item at
- the index location *is* equal to the iteration number we've
- found a duplicate. No muss, no fuss!
-
-Mon Oct 2 12:30:54 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Changed some consts in options.h to enumerals, since g++
- doesn't seem to like them at the moment!
-
-Sat Sep 30 12:55:24 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Fixed a stupid bug in Key_List::print_hash_function that manifested
- itself if the `-k$' option was given (i.e., only use the key[length]
- character in the hash function).
-
- * Added support for the -C option. This makes the contents of
- all generated tables `readonly'.
-
- * Changed the handling of generated switches so that there is
- only one call to str[n]?cmp. This *greatly* reduces the size of
- the generated assembly code on all compilers I've seen.
-
- * Fixed a subtle bug that occurred when the -l and -S option
- was given. Code produced looked something like:
-
- if (len != key_len || !strcmp (s1, resword->name)) return resword;
-
- which doesn't make any sense. Clearly, this should be:
-
- if (len == key_len && !strcmp (s1, resword->name)) return resword;
-
-Tue Sep 26 10:36:50 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Changed class Read_Line's definition so that it no longer
- needs to know about the buffering scheme used to speed up
- dynamic memory allocation of input keywords and their
- associated attributes. This means that operator new is no longer
- a friend of Read_Line.
-
-Mon Sep 25 23:17:10 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Decided that Obstacks had too much overhead, so they were
- removed in favor of super-efficient, low-overhead buffered
- storage allocation hacks in Read_Line and List_Node.
-
- * No longer try to inline functions that g++ complains about
- (Key_List::Merge and Key_List::Merge_Sort).
-
-Sun Sep 24 13:11:24 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Changed classes Read_Line and List_Node to use Obstacks in order
- to cache memory allocation for keyword strings and List_Nodes.
-
- * Continued to experiment with inheritance schemes.
-
- * Added a new file `alpha.h', that declares static data shared
- (i.e., inherited) between classes List_Node and Key_List.
-
-Tue Sep 12 16:14:41 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Made numerous changes to incorporate multiple inheritance in
- gperf.
-
-Wed Aug 16 23:04:08 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added the -DCOMPILER_FIXED flag to the ./src/Makefile. This
- implies that people trying to compile gperf need to have a
- working version of the new g++ compiler (1.36.0).
-
- * Removed some extra spaces that were being added in the generated
- C code.
-
-Mon Jul 24 17:09:46 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Fixed PRINT_HASH_FUNCTION and PRINT_LOOKUP_FUNCTION in keylist.c
- so that the generated functions take an unsigned int length argument.
- If -a is enabled the prototype is (const char *str, size_t len).
-
-Fri Jul 21 13:06:15 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Fixed a typo in PRINT_KEYWORD_TABLE in keylist.cc that prevented
- the indentation from working correctly.
-
- * Fixed a horrible typo in PRINT_KEYWORD_TABLE in keylist.cc
- that prevented links from being printed correctly.
-
-Tue Jul 18 16:04:31 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Fixed up readline.cc and readline.h so that they work OK
- with g++ compilers that aren't completely up-to-date.
- If symbol COMPILER_FIXED is defined then the behavior
- that works on my more recent version of g++ is enabled.
-
-Sun Jul 9 17:53:28 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Changed the ./tests subdirectory Makefile so that it
- uses $(CC) instead of gcc.
-
-Sun Jul 2 21:52:15 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Fixed a number of subtle bugs that occurred when -S was
- combined with various and sundry options.
-
- * Added the -G option, that makes the generated keyword table
- a global static variable, rather than hiding it inside
- the lookup function. This allows other functions to directly
- access the contents in this table.
-
- * Added the "#" feature, that allows comments inside the keyword
- list from the input file. Comment handling takes place in readline.c.
- This simplifies the code and reduces the number of malloc calls.
-
- * Also added the -H option (user can give the name of the hash
- function) and the -T option (prevents the transfer of the type decl
- to the output file, which is useful if the type is already defined
- elsewhere).
-
-Thu Jun 22 20:39:39 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Modified many classes so that they would inherit Std_Err as
- a base class. This makes things more abstract...
-
-Fri Jun 16 14:23:00 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Modified the -f (FAST) option. This now takes an argument.
- The argument corresponds to the number of iterations used
- to resolve collisions. -f 0 uses the length of the
- keyword list (which is what -f did before). This makes
- life much easier when dealing with large keyword files.
-
-Tue Jun 6 17:53:27 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added the -c (comparison) option. Enabling this
- will use the strncmp function for string comparisons.
- The default is to use strcmp.
-
- * Fixed a typo in key_list.cc (PRINT_SWITCH). This caused
- faulty C code to be generated when the -D, -p, and -t
- options were all enabled.
-
-Thu May 25 14:07:21 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
-
- * Once again, changed class Read_Line to overload global operator
- new. Hopefully, this will work...!
-
-Sun May 21 01:51:45 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Modified Key_List::print_hash_function () so that it properly
- formats the associated values in the hash table according to
- the maximum number of digits required to represent the largest
- value.
-
- * Removed the named return value from class Hash_Table's
- operator (), since this causes a seg fault when -O is enabled.
- No sense tripping subtle g++ bugs if we don't have to.... ;-)
-
- * Removed the operator new hack from Read_Line, since this seemed
- to create horrible bus error problems.
-
- * Changed many class member functions and data members to be `static',
- if they don't manipulate this!
-
-Fri May 12 23:06:56 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Changed class Std_Err to use static member functions, a la
- Ada or Modula 2. This eliminates the need for an explicit
- error-handler class object.
-
- * Added the ``named return value'' feature to Hash_Table::operator ()
- and Bool_Array::operator [], just for the heck of it.... ;-)
-
- * Changed the previous hack in Read_Line so that we now use
- the overloaded global `new' instead of NEW_STRING!
-
-Wed May 3 17:36:55 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Updated to version 1.7. This reflects the recent major changes
- and the new C port.
-
- * Modified the GNU getopt.cc routine to have a class-based interface.
-
- * Fixed a typo in Perfect.cc ~Perfect that prevented the actual maximum
- hash table size from being printed (maybe the stream classes
- weren't so bad after all.... ;-).
-
- * Added support for the -f option. This generates the perfect
- hash function ``fast.'' It reduces the execution time of
- gperf, at the cost of minimizing the range of hash values.
-
-Tue May 2 16:23:29 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Added an efficiency hack to Read_Line. Instead of making
- a call to operator NEW (a.k.a. malloc) for each input string
- a new member function NEW_STRING stores a large buffer from
- which new strings are carved out, growing the buffer if
- necessary. It might be useful to add this throughout the
- program....
-
- * Removed all unnecessary calls to DELETE. If the program is about
- to exit it is silly to waste time freeing memory.
-
- * Added the GNU getopt program to the distribution. This makes
- GPERF portable to systems that don't include getopt in libc.
-
- * Added a strcspn member to class Key_List. This also increases
- portability.
-
- * Added the get_include_src function from keylist.c as a member
- function in class Key_List. Hopefully every function is
- now associated with a class. This aids abstraction and
- modularity.
-
- * Ported gperf to C. From now on both K&R C and GNU G++ versions
- will be supported. There will be two ChangeLog files, one
- for each version of the program.
-
-Mon May 1 16:41:45 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Fixed a bug with -k'*'. This now prints out *all* the cases
- up to the length of the longest word in the keyword set.
-
-Sun Apr 30 12:15:25 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Removed all use of the stream classes. Too ugly, slow, and
- not handled by the c++-mode formatter....
-
- * Modified the handling of links (i.e., keywords that have
- identical hash values as other keywords). This should
- speed up hash function generation for keyword sets with
- many duplicate entries. The trick is to treat duplicate
- values as equivalence classes, so that each set of duplicate
- values is represented only once in the main list processing.
-
- * Fixed some capitialization typos and indentations mistakes in
- Key_List::print_hash_function.
-
-Sat Apr 29 12:04:03 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Fixed a typo/logico in Key_List::print_switch that prevented
- the last keyword in the keyword list to be print out. This
- requires further examination.....
-
- * Fixed a stupid bug in List_Node::List_node. If the -k'*' option
- was enabled the KEY_SET string wasn't getting terminated with
- '\0'!
-
-Fri Apr 28 12:38:35 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Renamed strexp.h and strexp.cc to iterator.h and iterator.cc.
- Also changed the strexp class to iterator. Continued to work
- on style...
-
- * Updated the version number to 1.6. This reflects all the
- recent changes.
-
-Thu Apr 27 00:14:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added the -D option that properly handles keyword sets that
- contain duplicate hash values.
-
- * Continued the stylistic changes. Added the #pragma once
- directive to all the *.h files. Removed all #defines and
- replaced them with static consts. Also moved the key_sort
- routine from options.cc into the options class as a
- member function.
-
-Mon Apr 3 13:26:55 1989 Doug Schmidt (schmidt at zola.ics.uci.edu)
-
- * Made massive stylistic changes to bring source code into
- conformance with GNU style guidelines.
-
-Thu Mar 30 23:28:45 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Fixed up the output routines so that they generate code
- corresponding to the GNU style guidelines.
-
-Sat Mar 11 13:12:37 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Fixed Stderr constructors so that they wouldn't try to
- use the base class initializer syntax for the static
- class variable Program_Name. G++ 1.34 is stricter in
- enforcing the rules!
-
-Fri Mar 10 11:24:14 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Removed -v and ``| more'' from the Makefile to keep rfg happy...
-
-Thu Mar 2 12:37:30 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Sent latest GNU gperf version 1.5 to Doug Lea for inclusion
- into libg++ 1.34. Note that there is a small bug with
- the new %{ ... %} source inclusion facility, since it doesn't
- understand comments and will barf if %{ or %} appear nested
- inside the outermost delimiters. This is too trivial of
- a defect to fix at the moment...
-
-Tue Feb 28 11:19:58 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added the -K option, which allows the user to provide a
- alternative name for the keyword structure component.
- The default is still ``name.''
-
- * Added the LEX and YACC-like ability to include arbitrary
- text at the beginning of the generated C source code output.
- This required two new functions Get_Special_Input,
- Key_List::Save_Include_Src;
-
- * Fixed memory allocation bug in Key_List::Set_Types.
- Variable Return_Type needs 1 additional location
- to store the "*" if the -p option is used.
-
- * Added code to NULL terminate both Struct_Tag and Return_Type,
- *after* the strncpy (stupid mistake).
-
-Mon Feb 27 14:39:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added a new option -N. This allows the user to specify the
- name to be used for the generated lookup function. The
- default name is still ``in_word_set.'' This makes it
- possible to completely automate the perfect hash function
- generation process!
-
-Mon Feb 20 23:33:14 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Corrected the Hash_Table::operator () function so that
- *it* is responsible for deciding when a new key has the
- same signature as a previously seen key. The key length
- information is now used internally to this function to
- decide whether to add to the hash table those keys with
- the same key sets, but different lengths. Before, this
- was handled by the Key_List::Read_Keys function. However,
- this failed to work for certain duplicate keys, since
- they weren't being entered into the hash table properly.
-
-Sun Feb 19 16:02:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Modified class Options by moving the enum Option_Type out
- of the class. This is to satisfy the new enumeration
- scope rules in C++.
-
-Sun Jan 15 15:12:09 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Incremented the version number upto 1.4 to reflect the new
- options that affect the generated code. Send the new
- distribution off to Michael for use with g++ 1.33.
-
- * Added a fix to Key_List::Read_Keys so that it checks for links
- properly when the -n option is used. Previously, it didn't
- catch obvious links, which caused it to spend large amount
- of time searching for a solution that could never occur!
-
- * Modified the Key_List data structure to record *both* the
- minimum and the maximum key lengths. This information
- is now computed in Key_List::Read_Keys, and thus
- Key_List::Print_Min_Max doesn't need to bother.
-
- * Modifed the key position iterator scheme in options.cc to
- eliminate the need for member function Options::Advance.
- Now, the Options::Get function performs the advancement
- automatically, obviating the need for an extra function call.
-
- * Added the new function Options::Print_Options, to print out
- the user-specified command line options to generated C
- output file.
-
- * Added a new function, Key_List::Print_Keylength_Table,
- which creates a table of lengths for use in speeding
- up the keyword search. This also meant that a new
- option, -l (LENTABLE) is recognized. It controls
- whether the length table is printed and the comparison
- made in the generated function ``in_word_set.''
-
- * Added a comment at the top of the generated C code
- output file that tells what version of gperf was used.
- Next, I'll also dump out the command line options
- as a comment too. Thanks to Michael Tiemann for the
- feedback on this.
-
- * Fixed the -n option to make it work correctly with
- other parts of the program (most notably the Perfect::Hash
- function and the computation of minimum and maximum lengths.
-
-Fri Jan 13 21:25:27 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
-
- * Realized the the need to add a test that will enable
- optimziation of the generated C code in the ``hash'' function
- by checking whether all the requested key positions are
- guaranteed to exist due to the comparison in `in_word_set.''
- I'll put this in soon....
-
-Thu Jan 12 20:09:21 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Added pascal, modula3, and modula2 tests inputs to the
- Makefile
-
- * Recognised that there is a bug with the -n option. However
- I'm too busy to fix it properly, right now. The problem
- is that the generated #define end up being 0, since that's
- my hack to make -n work. This needs complete rethinking!
-
-Tue Jan 10 00:08:16 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Added a new option, -n, that instructs gperf to not use the
- length of an identifier when computing the hash functions.
- I'm not sure how useful this is!
-
- * Retransmitted the distribution to rocky.oswego.edu. Hopefully,
- this will work!
-
- * Began fixing the indentation and capitalization to conform
- to the GNU coding guidelines.
-
-Mon Jan 9 22:23:18 1989 Doug Schmidt (schmidt at pompe.ics.uci.edu)
-
- * Fixed horrible bug in Read_Line::Readln_Aux. This was
- a subtle and pernicous off-by-1 error, that overwrote
- past the last character of the input string buffer. I
- think this fault was killing the vax!
-
- * Yow, fixed an oversight in List_Node::List_Node, where the
- pointer field Next was uninitialized. Luckily, the new routine
- seems to return 0 filled objects the first time through!
-
-Sun Jan 8 13:43:14 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Modified the ``key linked'' diagnostic in Key_List::Read_Keys
- to be more helpful and easy to read.
-
- * Fixed the List_Node::List_Node so that it would ignore trailing
- fields if the -t option was not enabled.
-
- * Moved the List_Node declarations out of keylist.h and
- into a file of its own, called listnode.cc and listnode.h
- Made Set_Sort a member function of class List_Node.
-
- * Massively updated the documentation in the gperf.texinfo file.
-
- * Polished off the major revision to the print functions,
- added a few new tests in the Makefile to check for the
- validity of the program and ftp'ed the entire distribution
- off to Doug Lea for libg++. ( changed it to
- 1.3 to reflect the major changes with the generated
- C code ).
-
- * Fixed Key_List::Print_Switch to deal with the -p and -t options.
- This meant that the ``still-born'' function Key_List::
- Print_Type_Switch was superflous, so I removed it.
- Also, removed the restriction in Option that the -p and
- -t options couldn't be used simultaneously.
-
- * Modified List_Node::List_Node, to perform only 1 call to
- ``new'' when dynamically allocating memory for the Key_Set
- and the Uniq_Set.
-
-Sat Jan 7 14:10:51 1989 Doug Schmidt (schmidt at glacier.ics.uci.edu)
-
- * Fixed a big bug with the new policy of nesting the
- wordlist inside of generated function ``in_word_set.''
- I'd forgotten to declare the wordlist array as static!
- ( arrgh ).
-
- * Added a new function Key_List::Set_Types, that figures out
- the return type for generated function ``in_word_set,''
- the user-defined ``struct tag,'' if one is used, and also
- formates the array type for the static local array.
-
- * Changed the print routines to take advantage of the
- new -p option.
-
- * Began adding the hooks to allow the return of a pointer
- to a user defined struct location from the generated
- ``in_word_set'' function instead of the current 0 or 1
- return value. Created function Key_List::Print_Type_Switch
- and added option -p to class Option, allowing the user to
- request generation of the aforementioned pointers returned
- instead of booleans.
-
- * Put in checks in class Option to make sure that -S and -t
- options are not used simultaneously. This restriction
- will be removed in subsequent releases, once I decide on
- a clean way to implement it.
-
- * Sent version 1.2 to Doug Lea for possible inclusion into
- the libg++ distribution.
-
- * Moved the static word_list array inside the generated function
- in_word_set. This supports better data hiding.
-
- * Added a texinfo file, gperf.texinfo
-
- * Revised the Makefile to cleanup the droppings from texinfo
- and changed the name of gperf.cc and gperf.h to perfect.cc
- and perfect.h.
-
-Fri Jan 6 13:04:45 1989 Doug Schmidt (schmidt at crimee.ics.uci.edu)
-
- * Implemented the switch statement output format. Much better
- for large datasets in terms of space used.
-
- * Added new functions to break up the Key_List::Output function.
- Functions added were Key_List::Print_Switch, Key_List::Print_Min_Max,
- Key_List::Print_Keyword_Table, Key_List::Print_Hash_Function,
- and Key_List::Print_Lookup_Function. This simplifies the
- big mess in Key_List::Output considerably!
-
- * Added switch statement option to Options, which potentially
- trades time for space in the generated lookup code.
-
-Thu Jan 5 22:46:34 1989 Doug Schmidt (schmidt at siam.ics.uci.edu)
-
- * Released version 1.1
-
- * Fixed a bug with Gperf::Merge_Set, it was skipping letters shared
- between the Set_1 and Set_2.
-
- * Added the optimal min/max algorithm in Key_List::Output. This
- runs in O ( 3n/2 ), rather than O ( 2n ) time.
-
- * Changed Gperf::Sort_Set to use insertion sort, rather than
- bubble sort.
-
- * Added a check in Key_List::Output for the special case where
- the keys used are 1,$. It is possible to generate more
- efficient C code in this case.
diff --git a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/INSTALL b/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/INSTALL
deleted file mode 100644
index 350b32f5..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/INSTALL
+++ /dev/null
@@ -1,183 +0,0 @@
-Basic Installation
-==================
-
- These are generic installation instructions.
-
- The `configure' shell script attempts to guess correct values for
-various system-dependent variables used during compilation. It uses
-those values to create a `Makefile' in each directory of the package.
-It may also create one or more `.h' files containing system-dependent
-definitions. Finally, it creates a shell script `config.status' that
-you can run in the future to recreate the current configuration, a file
-`config.cache' that saves the results of its tests to speed up
-reconfiguring, and a file `config.log' containing compiler output
-(useful mainly for debugging `configure').
-
- If you need to do unusual things to compile the package, please try
-to figure out how `configure' could check whether to do them, and mail
-diffs or instructions to the address given in the `README' so they can
-be considered for the next release. If at some point `config.cache'
-contains results you don't want to keep, you may remove or edit it.
-
- The file `configure.in' is used to create `configure' by a program
-called `autoconf'. You only need `configure.in' if you want to change
-it or regenerate `configure' using a newer version of `autoconf'.
-
-The simplest way to compile this package is:
-
- 1. `cd' to the directory containing the package's source code and type
- `./configure' to configure the package for your system. If you're
- using `csh' on an old version of System V, you might need to type
- `sh ./configure' instead to prevent `csh' from trying to execute
- `configure' itself.
-
- Running `configure' takes a while. While running, it prints some
- messages telling which features it is checking for.
-
- 2. Type `make' to compile the package.
-
- 3. Optionally, type `make check' to run any self-tests that come with
- the package.
-
- 4. Type `make install' to install the programs and any data files and
- documentation.
-
- 5. You can remove the program binaries and object files from the
- source code directory by typing `make clean'. To also remove the
- files that `configure' created (so you can compile the package for
- a different kind of computer), type `make distclean'. There is
- also a `make maintainer-clean' target, but that is intended mainly
- for the package's developers. If you use it, you may have to get
- all sorts of other programs in order to regenerate files that came
- with the distribution.
-
-Compilers and Options
-=====================
-
- Some systems require unusual options for compilation or linking that
-the `configure' script does not know about. You can give `configure'
-initial values for variables by setting them in the environment. Using
-a Bourne-compatible shell, you can do that on the command line like
-this:
- CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
-
-Or on systems that have the `env' program, you can do it like this:
- env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
-
-Compiling For Multiple Architectures
-====================================
-
- You can compile the package for more than one kind of computer at the
-same time, by placing the object files for each architecture in their
-own directory. To do this, you must use a version of `make' that
-supports the `VPATH' variable, such as GNU `make'. `cd' to the
-directory where you want the object files and executables to go and run
-the `configure' script. `configure' automatically checks for the
-source code in the directory that `configure' is in and in `..'.
-
- If you have to use a `make' that does not supports the `VPATH'
-variable, you have to compile the package for one architecture at a time
-in the source code directory. After you have installed the package for
-one architecture, use `make distclean' before reconfiguring for another
-architecture.
-
-Installation Names
-==================
-
- By default, `make install' will install the package's files in
-`/usr/local/bin', `/usr/local/man', etc. You can specify an
-installation prefix other than `/usr/local' by giving `configure' the
-option `--prefix=PATH'.
-
- You can specify separate installation prefixes for
-architecture-specific files and architecture-independent files. If you
-give `configure' the option `--exec-prefix=PATH', the package will use
-PATH as the prefix for installing programs and libraries.
-Documentation and other data files will still use the regular prefix.
-
- In addition, if you use an unusual directory layout you can give
-options like `--bindir=PATH' to specify different values for particular
-kinds of files. Run `configure --help' for a list of the directories
-you can set and what kinds of files go in them.
-
- If the package supports it, you can cause programs to be installed
-with an extra prefix or suffix on their names by giving `configure' the
-option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
-
-Optional Features
-=================
-
- Some packages pay attention to `--enable-FEATURE' options to
-`configure', where FEATURE indicates an optional part of the package.
-They may also pay attention to `--with-PACKAGE' options, where PACKAGE
-is something like `gnu-as' or `x' (for the X Window System). The
-`README' should mention any `--enable-' and `--with-' options that the
-package recognizes.
-
- For packages that use the X Window System, `configure' can usually
-find the X include and library files automatically, but if it doesn't,
-you can use the `configure' options `--x-includes=DIR' and
-`--x-libraries=DIR' to specify their locations.
-
-Specifying the System Type
-==========================
-
- There may be some features `configure' can not figure out
-automatically, but needs to determine by the type of host the package
-will run on. Usually `configure' can figure that out, but if it prints
-a message saying it can not guess the host type, give it the
-`--host=TYPE' option. TYPE can either be a short name for the system
-type, such as `sun4', or a canonical name with three fields:
- CPU-COMPANY-SYSTEM
-
-See the file `config.sub' for the possible values of each field. If
-`config.sub' isn't included in this package, then this package doesn't
-need to know the host type.
-
- If you are building compiler tools for cross-compiling, you can also
-use the `--target=TYPE' option to select the type of system they will
-produce code for and the `--build=TYPE' option to select the type of
-system on which you are compiling the package.
-
-Sharing Defaults
-================
-
- If you want to set default values for `configure' scripts to share,
-you can create a site shell script called `config.site' that gives
-default values for variables like `CC', `cache_file', and `prefix'.
-`configure' looks for `PREFIX/share/config.site' if it exists, then
-`PREFIX/etc/config.site' if it exists. Or, you can set the
-`CONFIG_SITE' environment variable to the location of the site script.
-A warning: not all `configure' scripts look for a site script.
-
-Operation Controls
-==================
-
- `configure' recognizes the following options to control how it
-operates.
-
-`--cache-file=FILE'
- Use and save the results of the tests in FILE instead of
- `./config.cache'. Set FILE to `/dev/null' to disable caching, for
- debugging `configure'.
-
-`--help'
- Print a summary of the options to `configure', and exit.
-
-`--quiet'
-`--silent'
-`-q'
- Do not print messages saying which checks are being made. To
- suppress all normal output, redirect it to `/dev/null' (any error
- messages will still be shown).
-
-`--srcdir=DIR'
- Look for the package's source code in directory DIR. Usually
- `configure' can determine that directory automatically.
-
-`--version'
- Print the version of Autoconf used to generate the `configure'
- script, and exit.
-
-`configure' also accepts some other, not widely useful, options.
-
diff --git a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/NEWS b/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/NEWS
deleted file mode 100644
index efa3ca0c..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/NEWS
+++ /dev/null
@@ -1,80 +0,0 @@
-New in 3.0.1:
-
-* Bug fix.
-
-New in 3.0:
-
-* Added option --output that allows to specify the output file name.
-* Some options have been renamed:
- --hash-fn-name=NAME --> --hash-function-name=NAME
- --lookup-fn-name=NAME --> --lookup-function-name=NAME
- --compare-strlen --> --compare-lengths
- --global --> --global-table
- The older variants are still supported for backward compatibility.
-* The following options can now be specified inside the input file:
- %delimiters=DELIMITER-LIST
- %struct-type
- %ignore-case
- %language=LANGUAGE-NAME
- %define slot-name NAME
- %define initializer-suffix INITIALIZERS
- %define hash-function-name NAME
- %define lookup-function-name NAME
- %define class-name NAME
- %7bit
- %compare-lengths
- %compare-strncmp
- %readonly-tables
- %enum
- %includes
- %global-table
- %pic
- %define string-pool-name NAME
- %null-strings
- %define word-array-name NAME
- %switch=COUNT
- %omit-struct-type
-* When the option -k is not given, the default key positions are now
- computed depending on the set of keywords.
-* If the input file is given by name, the output file will now contain
- #line directives referring to the input file.
-* Some keyword sets containing permutations, like { "xy", "yx", "xz", "zx" }
- or { "abc", "acb", "bca", "cab" }, are now handled by gperf without
- requiring the option -D.
-* The generated table is usually much smaller than it was with earlier
- versions of gperf.
-* Added option -m/--multiple-iterations that allows to further reduce the
- size of the generated table.
-* When the search for a good hash function is not immediately successful,
- the table's size will grow as needed. Earlier versions of gperf bailed
- out with an "Internal error, duplicate hash code value".
-* The options -f/--fast and -o/--occurrence-sort have no effect any more.
-* Added options -P/--pic and --null-strings that optimize the generated code
- for use in shared libraries. -P/--pic does a perfect optimization but may
- require some small code changes (see the documentation for details), whereas
- --null-strings does only a half-hearted optimization but works without
- needing any change to surrounding code.
-* Added option --ignore-case that produces a case independent lookup function.
-* Bug fixes.
-
-New in 2.7.2:
-
-* Keywords may now be enclosed in double quotes; this permits the use of
- '#', ',', space or NUL inside keywords.
-* Bug fixes.
-
-New in 2.7.1:
-
-* Added option "-F" for gcc.
-
-New in 2.7:
-
-* gperf is now a stand-alone package, untied from libg++.
-* Autoconfiguring.
-* Removed the "-a" and "-g" options, extended the "-L" option instead.
-* Removed the "-p" option, it is the default.
-* Added long options ("--help", "--version" etc.).
-* 8-bit cleanliness is now the default; use "-7" to get the old behaviour.
-* Compiles with any C++ compiler.
-* Numerous small improvements.
-
diff --git a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/README b/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/README
deleted file mode 100644
index 26173bfc..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1-src/README
+++ /dev/null
@@ -1,28 +0,0 @@
-This is GNU gperf. It is a program that generates perfect hash
-functions for sets of key words. A perfect hash function is:
-
- A hash function and a data structure that allows
- recognition of a key word in a set of words using
- exactly 1 probe into the data structure.
-
-The doc/gperf.html file explains how the program works, the form of
-the input, what options are available, and hints on choosing the best
-options for particular key words set.
-
-See the file NEWS for a list of major changes in the current release.
-
-See the file INSTALL for compilation and installation instructions.
-
-Output from the GPERF program is used to recognize reserved words in
-the GNU C, GNU C++, and GNU Pascal compilers, as well as with the GNU
-indent program.
-
-For general documentation on the coding and usage standards
-this distribution follows, see the GNU standards document
-ftp://ftp.gnu.org/pub/gnu/standards.*, especially the 'Makefile
-Conventions', 'Configuration', and 'User Interfaces' sections.
-
-Mail suggestions and bug reports to <bug-gnu-gperf@gnu.org>. When
-reporting bugs, please include in the subject line the package name
-and version (output of 'gperf --version') for which you found a problem.
-
diff --git a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1/check.log b/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1/check.log
deleted file mode 100644
index 1e16f46d..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1/check.log
+++ /dev/null
@@ -1,156 +0,0 @@
-cd lib; make check
-make[1]: Entering directory `/cygdrive/k/Devel/gperf/3.0.1/gperf-3.0.1/lib'
-make[1]: Niets te doen voor `check'.
-make[1]: Leaving directory `/cygdrive/k/Devel/gperf/3.0.1/gperf-3.0.1/lib'
-cd src; make check
-make[1]: Entering directory `/cygdrive/k/Devel/gperf/3.0.1/gperf-3.0.1/src'
-make[1]: Niets te doen voor `check'.
-make[1]: Leaving directory `/cygdrive/k/Devel/gperf/3.0.1/gperf-3.0.1/src'
-cd tests; make check
-make[1]: Entering directory `/cygdrive/k/Devel/gperf/3.0.1/gperf-3.0.1/tests'
-performing some tests of the perfect hash generator
-gcc -c -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 ../../gperf-3.0.1-src/tests/test.c
-../src/gperf -c -l -S1 -I -o ../../gperf-3.0.1-src/tests/c.gperf > cinset.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o cout cinset.c test.o
-testing ANSI C reserved words, all items should be found in the set
-./cout -v < ../../gperf-3.0.1-src/tests/c.gperf > c.out
-diff ../../gperf-3.0.1-src/tests/c.exp c.out
-../src/gperf -k1,4,'$' -I ../../gperf-3.0.1-src/tests/ada.gperf > adainset.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o aout adainset.c test.o
-testing Ada reserved words, all items should be found in the set
-./aout -v < ../../gperf-3.0.1-src/tests/ada.gperf > ada-res.out
-diff ../../gperf-3.0.1-src/tests/ada-res.exp ada-res.out
-../src/gperf -D -k1,'$' -s 2 -I -o ../../gperf-3.0.1-src/tests/adadefs.gperf > preinset.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o preout preinset.c test.o
-testing Ada predefined words, all items should be found in the set
-./preout -v < ../../gperf-3.0.1-src/tests/adadefs.gperf > ada-pred.out
-diff ../../gperf-3.0.1-src/tests/ada-pred.exp ada-pred.out
-../src/gperf -k1,2,'$' -I -o ../../gperf-3.0.1-src/tests/modula3.gperf > m3inset.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o m3out m3inset.c test.o
-testing Modula3 reserved words, all items should be found in the set
-./m3out -v < ../../gperf-3.0.1-src/tests/modula3.gperf > modula.out
-diff ../../gperf-3.0.1-src/tests/modula.exp modula.out
-../src/gperf -o -S2 -I < ../../gperf-3.0.1-src/tests/pascal.gperf > pinset.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o pout pinset.c test.o
-testing Pascal reserved words, all items should be found in the set
-./pout -v < ../../gperf-3.0.1-src/tests/pascal.gperf > pascal.out
-diff ../../gperf-3.0.1-src/tests/pascal.exp pascal.out
-../src/gperf -k1 -t -I -K foreign_name < ../../gperf-3.0.1-src/tests/lang-utf8.gperf > lu8inset.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o lu8out lu8inset.c test.o
-testing UTF-8 encoded languages, all items should be found in the set
-sed -e '1,6d' -e 's/,.*//' < ../../gperf-3.0.1-src/tests/lang-utf8.gperf | ./lu8out -v > lang-utf8.out
-diff ../../gperf-3.0.1-src/tests/lang-utf8.exp lang-utf8.out
-gcc -c -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 ../../gperf-3.0.1-src/tests/test2.c
-../src/gperf -k4 -t -l -I -K foreign_name < ../../gperf-3.0.1-src/tests/lang-ucs2.gperf > lu2inset.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o lu2out lu2inset.c test2.o
-testing UCS-2 encoded languages, all items should be found in the set
-./lu2out -v < ../../gperf-3.0.1-src/tests/lang-ucs2.in > lang-ucs2.out
-diff ../../gperf-3.0.1-src/tests/lang-ucs2.exp lang-ucs2.out
-testing SMTP keywords, case-insensitive
-../src/gperf --struct-type --readonly-table --enum --global -K field_name -N header_entry --ignore-case ../../gperf-3.0.1-src/tests/smtp.gperf > smtp.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o smtp smtp.c
-./smtp
-../src/gperf --struct-type --readonly-table --enum --global -K field_name -N header_entry --ignore-case --compare-strncmp ../../gperf-3.0.1-src/tests/smtp.gperf > smtp.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o smtp smtp.c
-./smtp
-../src/gperf --struct-type --readonly-table --enum --global -K field_name -N header_entry --ignore-case --compare-lengths ../../gperf-3.0.1-src/tests/smtp.gperf > smtp.c
-gcc -Wall -O3 -fms-extensions -mms-bitfields -fno-exceptions -fomit-frame-pointer -march=i386 -mcpu=i686 -o smtp smtp.c
-./smtp
-../src/gperf -L C -F ', 0, 0' -j1 -i 1 -g -o -t -G -N is_reserved_word -k1,3,'$' < ../../gperf-3.0.1-src/tests/c-parse.gperf > c-parse.out
-diff ../../gperf-3.0.1-src/tests/c-parse.exp c-parse.out
-2c2
-< /* Command-line: ../src/gperf -L C -F ', 0, 0' -j1 -i 1 -g -o -t -G -N is_reserved_word -k'1,3,$' */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -L C -F ', 0, 0' -j1 -i 1 -g -o -t -G -N is_reserved_word -k'1,3,$' */
-../src/gperf -j1 -i 1 -g -o -t -N is_reserved_word -k1,3,'$' < ../../gperf-3.0.1-src/tests/objc.gperf > objc.out
-diff ../../gperf-3.0.1-src/tests/objc.exp objc.out
-2c2
-< /* Command-line: ../src/gperf -j1 -i 1 -g -o -t -N is_reserved_word -k'1,3,$' */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -j1 -i 1 -g -o -t -N is_reserved_word -k'1,3,$' */
-../src/gperf -L C -F ', 0, 0, 0' -D -E -S1 -j1 -i 1 -g -o -t -k'*' < ../../gperf-3.0.1-src/tests/chill.gperf > chill.out
-diff ../../gperf-3.0.1-src/tests/chill.exp chill.out
-2c2
-< /* Command-line: ../src/gperf -L C -F ', 0, 0, 0' -D -E -S1 -j1 -i 1 -g -o -t -k'*' */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -L C -F ', 0, 0, 0' -D -E -S1 -j1 -i 1 -g -o -t -k'*' */
-../src/gperf -L C -F ', 0, 0' -j1 -g -o -t -N is_reserved_word -k1,4,7,'$' < ../../gperf-3.0.1-src/tests/cplusplus.gperf > cplusplus.out
-diff ../../gperf-3.0.1-src/tests/cplusplus.exp cplusplus.out
-2c2
-< /* Command-line: ../src/gperf -L C -F ', 0, 0' -j1 -g -o -t -N is_reserved_word -k'1,4,7,$' */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -L C -F ', 0, 0' -j1 -g -o -t -N is_reserved_word -k'1,4,7,$' */
-../src/gperf -L C -F ', 0' -t -j1 -i 1 -g -o -N java_keyword -k1,3,'$' < ../../gperf-3.0.1-src/tests/java.gperf > java.out
-diff ../../gperf-3.0.1-src/tests/java.exp java.out
-2c2
-< /* Command-line: ../src/gperf -L C -F ', 0' -t -j1 -i 1 -g -o -N java_keyword -k'1,3,$' */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -L C -F ', 0' -t -j1 -i 1 -g -o -N java_keyword -k'1,3,$' */
-../src/gperf -n -k1-8 -l < ../../gperf-3.0.1-src/tests/modula2.gperf > modula2.out
-diff ../../gperf-3.0.1-src/tests/modula2.exp modula2.out
-2c2
-< /* Command-line: ../src/gperf -n -k1-8 -l */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -n -k1-8 -l */
-../src/gperf -D -t -k1,'$' < ../../gperf-3.0.1-src/tests/c-parse.gperf > test-4.out
-diff ../../gperf-3.0.1-src/tests/test-4.exp test-4.out
-2c2
-< /* Command-line: ../src/gperf -D -t -k'1,$' */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -D -t -k'1,$' */
-../src/gperf -g -o -j1 -t -N is_reserved_word < ../../gperf-3.0.1-src/tests/gpc.gperf > gpc.out
-diff ../../gperf-3.0.1-src/tests/gpc.exp gpc.out
-2c2
-< /* Command-line: ../src/gperf -g -o -j1 -t -N is_reserved_word */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -g -o -j1 -t -N is_reserved_word */
-../src/gperf -m5 < ../../gperf-3.0.1-src/tests/permut2.gperf > permut2.out
-diff ../../gperf-3.0.1-src/tests/permut2.exp permut2.out
-2c2
-< /* Command-line: ../src/gperf -m5 */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -m5 */
-../src/gperf -m5 < ../../gperf-3.0.1-src/tests/permut3.gperf > permut3.out
-diff ../../gperf-3.0.1-src/tests/permut3.exp permut3.out
-2c2
-< /* Command-line: ../src/gperf -m5 */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -m5 */
-../src/gperf -m5 --ignore-case < ../../gperf-3.0.1-src/tests/permutc2.gperf > permutc2.out
-diff ../../gperf-3.0.1-src/tests/permutc2.exp permutc2.out
-2c2
-< /* Command-line: ../src/gperf -m5 --ignore-case */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -m5 --ignore-case */
-../src/gperf -C -E -G -I -t < ../../gperf-3.0.1-src/tests/charsets.gperf > charsets.out
-diff ../../gperf-3.0.1-src/tests/charsets.exp charsets.out
-2c2
-< /* Command-line: ../src/gperf -C -E -G -I -t */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -C -E -G -I -t */
-../src/gperf -C -E -G -I -t < ../../gperf-3.0.1-src/tests/languages.gperf > languages.out
-diff ../../gperf-3.0.1-src/tests/languages.exp languages.out
-2c2
-< /* Command-line: ../src/gperf -C -E -G -I -t */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -C -E -G -I -t */
-../src/gperf -t < ../../gperf-3.0.1-src/tests/incomplete.gperf > incomplete.out
-diff ../../gperf-3.0.1-src/tests/incomplete.exp incomplete.out
-2c2
-< /* Command-line: ../src/gperf -t */
----
-> /* Command-line: 'k:\\Devel\\gperf\\3.0.1\\gperf-3.0.1\\src\\gperf.exe' -t */
-../src/gperf -h > test-6.out
-diff ../../gperf-3.0.1-src/tests/test-6.exp test-6.out
-3c3
-< Usage: ../src/gperf [OPTION]... [INPUT-FILE]
----
-> Usage: k:\Devel\gperf\3.0.1\gperf-3.0.1\src\gperf.exe [OPTION]... [INPUT-FILE]
-only if, do, for, case, goto, else, while, and return should be found
-./aout -v < ../../gperf-3.0.1-src/tests/c.gperf > test-7.out
-diff ../../gperf-3.0.1-src/tests/test-7.exp test-7.out
-make[1]: Leaving directory `/cygdrive/k/Devel/gperf/3.0.1/gperf-3.0.1/tests'
-cd doc; make check
-make[1]: Entering directory `/cygdrive/k/Devel/gperf/3.0.1/gperf-3.0.1/doc'
-make[1]: Niets te doen voor `check'.
-make[1]: Leaving directory `/cygdrive/k/Devel/gperf/3.0.1/gperf-3.0.1/doc'
diff --git a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1/check_err.log b/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1/check_err.log
deleted file mode 100644
index 8263f49c..00000000
--- a/gnuwin32/contrib/gperf/3.0.1/gperf-3.0.1/check_err.log
+++ /dev/null
@@ -1,21 +0,0 @@
-../../gperf-3.0.1-src/tests/test.c: In function `main':
-../../gperf-3.0.1-src/tests/test.c:25: warning: implicit declaration of function `in_word_set'
-1 input keys have identical hash values, examine output carefully...
-../../gperf-3.0.1-src/tests/test2.c: In function `main':
-../../gperf-3.0.1-src/tests/test2.c:52: warning: implicit declaration of function `in_word_set'
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-8 input keys have identical hash values, examine output carefully...
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
-make[1]: [check-test] Fout 1 (genegeerd)
diff --git a/gnuwin32/contrib/libiconv/1.9.2/depends-GnuWin32.lst b/gnuwin32/contrib/libiconv/1.9.2/depends-GnuWin32.lst
deleted file mode 100644
index 0c9a4ac3..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/depends-GnuWin32.lst
+++ /dev/null
@@ -1,9 +0,0 @@
-advapi32.dll
-gdi32.dll
-kernel32.dll
-libintl3.dll
-msvcrt.dll
-ntdll.dll
-ole32.dll
-rpcrt4.dll
-user32.dll
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-1-GnuWin32.README b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-1-GnuWin32.README
deleted file mode 100644
index fc6b8ae0..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-1-GnuWin32.README
+++ /dev/null
@@ -1,54 +0,0 @@
-* LibIconv-1.9.2 for Windows *
-==============================
-
-What is it?
------------
-LibIconv: convert between character encodings
-
-Description
------------
-LibIconv converts from one character encoding to another through Unicode
-conversion (see Web page for full list of supported encodings). It has
-also limited support for transliteration, i.e. when a character cannot be
-represented in the target character set, it is approximated through one
-or several similar looking characters. It is useful if your application
-needs to support multiple character encodings, but that support lacks from
-your system.
-
-- Libiconv-1 is in Libiconv-1.7
-
-Homepage
---------
-http://www.gnu.org/software/libiconv
-
-System
-------
-- MS-Windows 95 / 98 / ME / NT / 2000 / XP with msvcrt.dll
-- if msvcrt.dll is not in your Windows/System folder, get it from
- Microsoft <http://support.microsoft.com/default.aspx?scid=kb;en-us;259403">
- or by installing Internet Explorer 4.0 or higher
- <http://www.microsoft.com/windows/ie>- libgw32c <http://gnuwin32.sourceforge.net/packages/libgw32c.htm> (for developing with LibIconv library)
-
-Notes
------
-- Bugs and questions on this MS-Windows port: gnuwin32@users.sourceforge.net
-
-Package Availability
---------------------
-- in: http://gnuwin32.sourceforge.net
-
-Sources
--------
-- libiconv-1.9.2-1-src.zip
-
-Compilation
------------
-The package has been compiled with GNU auto-tools, GNU make, and Mingw
-(GCC for MS-Windows). Any differences from the original sources are given
-in libiconv-1.9.2-1-GnuWin32.diffs in libiconv-1.9.2-1-src.zip. Libraries needed
-for compilation can be found at the lines starting with 'LIBS = ' in the
-Makefiles. Usually, these are standard libraries provided with Mingw, or
-libraries from the package itself; 'gw32c' refers to the libgw32c package,
-which provides MS-Windows substitutes or stubs for functions normally found in
-Unix. For more information, see: http://gnuwin32.sourceforge.net/compile.html
-and http://gnuwin32.sourceforge.net/packages/libgw32c.htm.
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/ABOUT-NLS b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/ABOUT-NLS
deleted file mode 100644
index d79798cc..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/ABOUT-NLS
+++ /dev/null
@@ -1,477 +0,0 @@
-Notes on the Free Translation Project
-*************************************
-
- Free software is going international! The Free Translation Project
-is a way to get maintainers of free software, translators, and users all
-together, so that will gradually become able to speak many languages.
-A few packages already provide translations for their messages.
-
- If you found this `ABOUT-NLS' file inside a distribution, you may
-assume that the distributed package does use GNU `gettext' internally,
-itself available at your nearest GNU archive site. But you do _not_
-need to install GNU `gettext' prior to configuring, installing or using
-this package with messages translated.
-
- Installers will find here some useful hints. These notes also
-explain how users should proceed for getting the programs to use the
-available translations. They tell how people wanting to contribute and
-work at translations should contact the appropriate team.
-
- When reporting bugs in the `intl/' directory or bugs which may be
-related to internationalization, you should tell about the version of
-`gettext' which is used. The information can be found in the
-`intl/VERSION' file, in internationalized packages.
-
-Quick configuration advice
-==========================
-
- If you want to exploit the full power of internationalization, you
-should configure it using
-
- ./configure --with-included-gettext
-
-to force usage of internationalizing routines provided within this
-package, despite the existence of internationalizing capabilities in the
-operating system where this package is being installed. So far, only
-the `gettext' implementation in the GNU C library version 2 provides as
-many features (such as locale alias, message inheritance, automatic
-charset conversion or plural form handling) as the implementation here.
-It is also not possible to offer this additional functionality on top
-of a `catgets' implementation. Future versions of GNU `gettext' will
-very likely convey even more functionality. So it might be a good idea
-to change to GNU `gettext' as soon as possible.
-
- So you need _not_ provide this option if you are using GNU libc 2 or
-you have installed a recent copy of the GNU gettext package with the
-included `libintl'.
-
-INSTALL Matters
-===============
-
- Some packages are "localizable" when properly installed; the
-programs they contain can be made to speak your own native language.
-Most such packages use GNU `gettext'. Other packages have their own
-ways to internationalization, predating GNU `gettext'.
-
- By default, this package will be installed to allow translation of
-messages. It will automatically detect whether the system already
-provides the GNU `gettext' functions. If not, the GNU `gettext' own
-library will be used. This library is wholly contained within this
-package, usually in the `intl/' subdirectory, so prior installation of
-the GNU `gettext' package is _not_ required. Installers may use
-special options at configuration time for changing the default
-behaviour. The commands:
-
- ./configure --with-included-gettext
- ./configure --disable-nls
-
-will respectively bypass any pre-existing `gettext' to use the
-internationalizing routines provided within this package, or else,
-_totally_ disable translation of messages.
-
- When you already have GNU `gettext' installed on your system and run
-configure without an option for your new package, `configure' will
-probably detect the previously built and installed `libintl.a' file and
-will decide to use this. This might be not what is desirable. You
-should use the more recent version of the GNU `gettext' library. I.e.
-if the file `intl/VERSION' shows that the library which comes with this
-package is more recent, you should use
-
- ./configure --with-included-gettext
-
-to prevent auto-detection.
-
- The configuration process will not test for the `catgets' function
-and therefore it will not be used. The reason is that even an
-emulation of `gettext' on top of `catgets' could not provide all the
-extensions of the GNU `gettext' library.
-
- Internationalized packages have usually many `po/LL.po' files, where
-LL gives an ISO 639 two-letter code identifying the language. Unless
-translations have been forbidden at `configure' time by using the
-`--disable-nls' switch, all available translations are installed
-together with the package. However, the environment variable `LINGUAS'
-may be set, prior to configuration, to limit the installed set.
-`LINGUAS' should then contain a space separated list of two-letter
-codes, stating which languages are allowed.
-
-Using This Package
-==================
-
- As a user, if your language has been installed for this package, you
-only have to set the `LANG' environment variable to the appropriate
-`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code,
-and `CC' is an ISO 3166 two-letter country code. For example, let's
-suppose that you speak German and live in Germany. At the shell
-prompt, merely execute `setenv LANG de_DE' (in `csh'),
-`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
-This can be done from your `.login' or `.profile' file, once and for
-all.
-
- You might think that the country code specification is redundant.
-But in fact, some languages have dialects in different countries. For
-example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
-country code serves to distinguish the dialects.
-
- The locale naming convention of `LL_CC', with `LL' denoting the
-language and `CC' denoting the country, is the one use on systems based
-on GNU libc. On other systems, some variations of this scheme are
-used, such as `LL' or `LL_CC.ENCODING'. You can get the list of
-locales supported by your system for your country by running the command
-`locale -a | grep '^LL''.
-
- Not all programs have translations for all languages. By default, an
-English message is shown in place of a nonexistent translation. If you
-understand other languages, you can set up a priority list of languages.
-This is done through a different environment variable, called
-`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG'
-for the purpose of message handling, but you still need to have `LANG'
-set to the primary language; this is required by other parts of the
-system libraries. For example, some Swedish users who would rather
-read translations in German than English for when Swedish is not
-available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
-
- In the `LANGUAGE' environment variable, but not in the `LANG'
-environment variable, `LL_CC' combinations can be abbreviated as `LL'
-to denote the language's main dialect. For example, `de' is equivalent
-to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
-(Portuguese as spoken in Portugal) in this context.
-
-Translating Teams
-=================
-
- For the Free Translation Project to be a success, we need interested
-people who like their own language and write it well, and who are also
-able to synergize with other translators speaking the same language.
-Each translation team has its own mailing list. The up-to-date list of
-teams can be found at the Free Translation Project's homepage,
-`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
-area.
-
- If you'd like to volunteer to _work_ at translating messages, you
-should become a member of the translating team for your own language.
-The subscribing address is _not_ the same as the list itself, it has
-`-request' appended. For example, speakers of Swedish can send a
-message to `sv-request@li.org', having this message body:
-
- subscribe
-
- Keep in mind that team members are expected to participate
-_actively_ in translations, or at solving translational difficulties,
-rather than merely lurking around. If your team does not exist yet and
-you want to start one, or if you are unsure about what to do or how to
-get started, please write to `translation@iro.umontreal.ca' to reach the
-coordinator for all translator teams.
-
- The English team is special. It works at improving and uniformizing
-the terminology in use. Proven linguistic skill are praised more than
-programming skill, here.
-
-Available Packages
-==================
-
- Languages are not equally supported in all packages. The following
-matrix shows the current state of internationalization, as of February
-2003. The matrix shows, in regard of each package, for which languages
-PO files have been submitted to translation coordination, with a
-translation percentage of at least 50%.
-
- Ready PO files az be bg ca cs da de el en en_GB eo es et fa fi
- +-------------------------------------------------+
- a2ps | [] [] [] [] [] |
- aegis | () |
- anubis | |
- ap-utils | |
- bash | [] [] [] |
- batchelor | |
- bfd | [] [] |
- binutils | [] [] |
- bison | [] [] [] [] |
- clisp | [] [] [] |
- clisp | |
- coreutils | [] [] [] [] |
- cpio | [] [] [] |
- darkstat | () [] |
- diffutils | [] [] [] [] [] [] [] |
- enscript | [] [] [] |
- error | [] [] [] [] |
- fetchmail | [] () [] [] [] |
- fileutils | [] [] [] [] |
- findutils | [] [] [] [] [] [] [] |
- flex | [] [] [] [] |
- gas | [] |
- gawk | [] [] [] |
- gcal | [] |
- gcc | [] [] |
- gettext | [] [] [] [] [] |
- gimp-print | |
- gliv | |
- gnucash | [] () |
- gnucash-glossary| [] () [] |
- gnupg | [] [] [] [] [] [] [] |
- gpe-todo | |
- gphoto2 | [] [] |
- gprof | [] [] |
- gpsdrive | () () () () |
- grep | [] [] [] [] [] [] [] |
- gretl | [] |
- hello | [] [] [] [] [] [] [] [] [] |
- id-utils | [] [] |
- indent | [] [] [] [] [] [] |
- jpilot | () [] [] [] |
- jwhois | [] |
- kbd | [] [] [] |
- ld | [] [] |
- libc | [] [] [] [] [] [] [] |
- libgpewidget | |
- libiconv | [] [] [] [] [] [] |
- lifelines | [] () |
- lilypond | [] |
- lingoteach | [] |
- lingoteach_lessons| () () |
- lynx | [] [] [] [] [] |
- m4 | [] [] [] [] |
- mailutils | [] [] |
- make | [] [] [] |
- man-db | [] () [] () |
- mysecretdiary | [] [] [] |
- nano | [] () [] [] [] |
- nano_1_0 | [] () [] [] [] |
- opcodes | [] [] |
- parted | [] [] [] [] |
- ptx | [] [] [] [] [] [] [] |
- python | |
- radius | |
- recode | [] [] [] [] [] |
- sed | [] [] [] [] [] [] |
- sh-utils | [] [] [] [] |
- sharutils | [] [] [] [] [] [] [] |
- sketch | [] () [] |
- soundtracker | [] [] [] |
- sp | [] |
- tar | [] [] [] [] [] [] |
- texinfo | [] [] [] [] |
- textutils | [] [] [] [] |
- tin | () () [] |
- util-linux | [] [] [] [] [] [] [] |
- vorbis-tools | [] [] |
- wastesedge | () |
- wdiff | [] [] [] [] [] |
- wget | [] [] [] [] [] [] [] [] [] |
- xchat | |
- xpad | |
- +-------------------------------------------------+
- az be bg ca cs da de el en en_GB eo es et fa fi
- 0 1 2 26 9 49 46 9 1 1 11 52 19 1 15
-
- fr gl he hr hu id it ja ko lg lv ms nb nl
- +-------------------------------------------+
- a2ps | [] () () [] [] |
- aegis | () |
- anubis | [] [] |
- ap-utils | [] |
- bash | [] [] |
- batchelor | |
- bfd | [] [] |
- binutils | [] [] |
- bison | [] [] [] [] |
- clisp | [] [] |
- clisp | |
- coreutils | [] [] [] |
- cpio | [] [] [] [] [] |
- darkstat | () [] [] [] |
- diffutils | [] [] [] [] [] [] |
- enscript | [] [] [] |
- error | [] [] [] |
- fetchmail | [] |
- fileutils | [] [] [] [] |
- findutils | [] [] [] [] [] [] [] [] [] |
- flex | [] [] |
- gas | [] |
- gawk | [] [] |
- gcal | [] |
- gcc | [] |
- gettext | [] [] [] |
- gimp-print | |
- gliv | () |
- gnucash | [] [] [] |
- gnucash-glossary| [] [] |
- gnupg | [] [] [] [] [] |
- gpe-todo | |
- gphoto2 | [] [] [] |
- gprof | [] [] |
- gpsdrive | () [] () () |
- grep | [] [] [] [] [] [] [] [] |
- gretl | [] |
- hello | [] [] [] [] [] [] [] [] [] [] [] [] [] |
- id-utils | [] [] [] |
- indent | [] [] [] [] [] [] |
- jpilot | [] () () |
- jwhois | [] [] [] [] |
- kbd | [] |
- ld | [] |
- libc | [] [] [] [] [] [] |
- libgpewidget | |
- libiconv | [] [] [] [] [] [] |
- lifelines | () |
- lilypond | [] [] |
- lingoteach | [] |
- lingoteach_lessons| |
- lynx | [] [] [] [] |
- m4 | [] [] [] [] [] |
- mailutils | |
- make | [] [] [] [] [] [] [] |
- man-db | [] () () |
- mysecretdiary | [] [] |
- nano | [] [] [] [] [] [] |
- nano_1_0 | [] [] [] [] [] [] |
- opcodes | [] [] [] |
- parted | [] [] [] |
- ptx | [] [] [] [] [] [] |
- python | |
- radius | |
- recode | [] [] [] [] [] |
- sed | [] [] [] [] [] |
- sh-utils | [] [] [] [] [] |
- sharutils | [] [] [] [] [] |
- sketch | [] |
- soundtracker | [] [] [] |
- sp | [] () |
- tar | [] [] [] [] [] [] [] [] [] |
- texinfo | [] [] [] [] |
- textutils | [] [] [] [] [] [] |
- tin | |
- util-linux | [] [] () [] [] |
- vorbis-tools | [] |
- wastesedge | () |
- wdiff | [] [] [] [] [] |
- wget | [] [] [] [] [] [] [] |
- xchat | |
- xpad | |
- +-------------------------------------------+
- fr gl he hr hu id it ja ko lg lv ms nb nl
- 59 23 8 10 26 20 18 26 8 0 1 8 7 24
-
- nn no pl pt pt_BR ro ru sk sl sv tr uk zh_CN zh_TW
- +----------------------------------------------------+
- a2ps | () () () [] [] [] [] [] [] | 14
- aegis | () | 0
- anubis | [] [] | 4
- ap-utils | () () | 1
- bash | [] [] | 7
- batchelor | | 0
- bfd | [] [] | 6
- binutils | [] [] | 6
- bison | [] [] [] | 11
- clisp | | 5
- clisp | | 0
- coreutils | [] [] [] [] [] | 12
- cpio | [] [] [] [] [] | 13
- darkstat | [] [] () () | 6
- diffutils | [] [] [] [] [] [] | 19
- enscript | [] [] [] [] | 10
- error | [] [] [] [] | 11
- fetchmail | () () [] | 6
- fileutils | [] [] [] [] [] [] | 14
- findutils | [] [] [] [] [] [] [] [] | 24
- flex | [] [] [] [] | 10
- gas | [] | 3
- gawk | [] [] | 7
- gcal | [] [] | 4
- gcc | [] | 4
- gettext | [] [] [] [] [] [] | 14
- gimp-print | | 0
- gliv | [] | 1
- gnucash | [] [] [] [] [] | 9
- gnucash-glossary| [] [] [] [] | 8
- gnupg | [] [] [] [] | 16
- gpe-todo | | 0
- gphoto2 | [] [] | 7
- gprof | [] [] [] | 7
- gpsdrive | [] [] | 3
- grep | [] [] [] [] [] | 20
- gretl | | 2
- hello | [] [] [] [] [] [] [] [] [] | 31
- id-utils | [] [] [] [] | 9
- indent | [] [] [] [] [] | 17
- jpilot | () [] [] [] [] | 8
- jwhois | [] () () [] [] | 8
- kbd | [] [] | 6
- ld | [] [] | 5
- libc | [] [] [] [] [] [] [] | 20
- libgpewidget | | 0
- libiconv | [] [] [] [] [] [] | 18
- lifelines | [] | 2
- lilypond | [] | 4
- lingoteach | [] [] | 4
- lingoteach_lessons| () | 0
- lynx | [] [] [] [] | 13
- m4 | [] [] [] [] | 13
- mailutils | | 2
- make | [] [] [] [] [] | 15
- man-db | [] | 4
- mysecretdiary | [] [] [] | 8
- nano | [] [] [] | 13
- nano_1_0 | [] [] [] [] [] | 15
- opcodes | [] [] [] | 8
- parted | [] [] [] [] [] | 12
- ptx | [] [] [] [] [] [] [] | 20
- python | | 0
- radius | | 0
- recode | [] [] [] [] [] [] | 16
- sed | [] [] [] [] [] | 16
- sh-utils | [] [] [] | 12
- sharutils | [] [] [] [] | 16
- sketch | [] [] | 5
- soundtracker | [] | 7
- sp | [] | 3
- tar | [] [] [] [] [] [] [] [] [] | 24
- texinfo | [] [] [] [] | 12
- textutils | [] [] [] [] [] | 15
- tin | | 1
- util-linux | [] [] [] | 14
- vorbis-tools | [] | 4
- wastesedge | | 0
- wdiff | [] [] [] [] [] | 15
- wget | [] [] [] [] [] [] [] [] | 24
- xchat | | 0
- xpad | | 0
- +----------------------------------------------------+
- 43 teams nn no pl pt pt_BR ro ru sk sl sv tr uk zh_CN zh_TW
- 82 domains 3 4 14 4 34 1 29 14 13 53 46 6 9 13 723
-
- Some counters in the preceding matrix are higher than the number of
-visible blocks let us expect. This is because a few extra PO files are
-used for implementing regional variants of languages, or language
-dialects.
-
- For a PO file in the matrix above to be effective, the package to
-which it applies should also have been internationalized and
-distributed as such by its maintainer. There might be an observable
-lag between the mere existence a PO file and its wide availability in a
-distribution.
-
- If February 2003 seems to be old, you may fetch a more recent copy
-of this `ABOUT-NLS' file on most GNU archive sites. The most
-up-to-date matrix with full percentage details can be found at
-`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
-
-Using `gettext' in new packages
-===============================
-
- If you are writing a freely available program and want to
-internationalize it you are welcome to use GNU `gettext' in your
-package. Of course you have to respect the GNU Library General Public
-License which covers the use of the GNU `gettext' library. This means
-in particular that even non-free programs can use `libintl' as a shared
-library, whereas only free software can use `libintl' as a static
-library or use modified versions of `libintl'.
-
- Once the sources are changed appropriately and the setup can handle
-the use of `gettext' the only thing missing are the translations. The
-Free Translation Project is also available for packages which are not
-developed inside the GNU project. Therefore the information given above
-applies also for every other Free Software Project. Contact
-`translation@iro.umontreal.ca' to make the `.pot' files available to
-the translation teams.
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/AUTHORS b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/AUTHORS
deleted file mode 100644
index 8bedd794..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/AUTHORS
+++ /dev/null
@@ -1 +0,0 @@
-Bruno Haible <bruno@clisp.org>
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/ChangeLog b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/ChangeLog
deleted file mode 100644
index 93322059..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/ChangeLog
+++ /dev/null
@@ -1,2633 +0,0 @@
-2004-01-23 Bruno Haible <bruno@clisp.org>
-
- * tests/table-from.c: Include binary-io.h.
- (main): Switch stdout to binary mode.
- * tests/table-to.c: Include binary-io.h.
- (main): Switch stdout to binary mode.
- * tests/genutf8.c: Include binary-io.h.
- (main): Switch stdout to binary mode.
- * tests/Makefile.in (INCLUDES): Also look in srclib.
- (check): Pass INCLUDES when compiling genutf8.c.
- * tests/Makefile.os2 (INCLUDES): Also look in srclib.
- (genutf8.exe): Pass INCLUDES when compiling genutf8.c.
- * tests/Makefile.msvc (INCLUDES): Also look in srclib.
- (check): Pass INCLUDES when compiling genutf8.c.
-
-2004-01-21 Bruno Haible <bruno@clisp.org>
-
- * src/iconv.c (force_binary): Remove variable.
- (usage): Don't document --binary any more.
- (convert, main): Always switch to binary mode.
- * tests/check-stateful.bat: Remove --binary option.
- * tests/check-translit.bat: Likewise.
- * tests/check-stateful.cmd: Likewise.
- * tests/check-translit.cmd: Likewise.
- * djgpp/stateful-check.sed: Remove MODE variable.
- * djgpp/translit-check.sed: Likewise.
-
-2004-01-21 Bruno Haible <bruno@clisp.org>
-
- * man/iconv.3: Fix description of return value in case of error.
- Reported by Jonathan Wakely <redi@users.sf.net>.
-
-2003-09-12 Paul Eggert <eggert@twinsun.com>
-
- * srclib/progreloc.c (get_full_program_name): Define via prototype.
-
-2003-08-15 Bruno Haible <bruno@clisp.org>
-
- * Makefile.devel (lib/translit.h): Add ulimit command so that the
- gentranslit program gets the stack it needs. Many Linux distributions
- allow only 8 MB of stack by default.
-
-2003-08-01 Bruno Haible <bruno@clisp.org>
-
- * lib/relocatable.c (find_shared_library_fullname): Disable the code on
- Linux/libc5.
- * srclib/relocatable.c (find_shared_library_fullname): Likewise.
- Reported by Alain Guibert <derogaton+bgli@oreka.com>.
-
-2003-07-02 Bruno Haible <bruno@clisp.org>
-
- * m4/lib-ld.m4: Update from GNU gettext.
- * m4/lib-prefix.m4: Update from GNU gettext.
- * m4/gettext.m4: Update from GNU gettext.
- * m4/intmax.m4: New file, from GNU gettext.
- * m4/longdouble.m4: New file, from GNU gettext.
- * m4/longlong.m4: New file, from GNU gettext.
- * m4/printf-posix.m4: New file, from GNU gettext.
- * m4/signed.m4: New file, from GNU gettext.
- * m4/wchar_t.m4: New file, from GNU gettext.
- * m4/wint_t.m4: New file, from GNU gettext.
- * m4/pathmax.m4: Update from GNU gettext and gnulib.
- * m4/ssize_t.m4: Update from GNU gettext and gnulib.
- * m4/xreadlink.m4: Update from GNU gettext and gnulib.
- * m4/readlink.m4: New file, from gnulib.
- * autoconf/install-reloc: Update from GNU gettext.
- * srclib/stdbool_.h: Renamed from srclib/stdbool.h.in.
- * srclib/readlink.c: New file, from GNU gettext and gnulib.
- * srclib/Makefile.am (LIBADD_SOURCE): Add readlink.c.
- (EXTRA_DIST, stdbool.h): Use stdbool_.h instead of stdbool.h.in.
- * configure.in: Invoke gl_FUNC_READLINK.
-
-2003-06-22 Bruno Haible <bruno@clisp.org>
-
- * src/Makefile.in (install): Link with the already installed library.
- This fixes a link error on Solaris.
- Reported by Paul Eggert.
-
-2003-06-08 Bruno Haible <bruno@clisp.org>
-
- * srclib/canonicalize.c (__getcwd) [VMS]: Pass 3 arguments to getcwd.
-
-2003-05-02 Bruno Haible <bruno@clisp.org>
-
- Support for libtool-1.5.
- * srclib/progname.c (set_program_name): Remove a leading
- "<dirname>/.libs/lt-" or "<dirname>/.libs/", not only "lt-".
-
-2003-06-23 Bruno Haible <bruno@clisp.org>
-
- Avoid compilation units that are empty after preprocessing.
- * srclib/canonicalize.c: Add dummy declaration.
- * srclib/strerror.c: Likewise.
- * srclib/error.c: Include <stdio.h> even if there's nothing to be
- compiled.
-
-2003-06-22 Bruno Haible <bruno@clisp.org>
-
- Portability to mingw32.
- * m4/ssize_t.m4: New file, from GNU gettext.
- * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
- Reported by Jeff Bonggren <jbon@cfl.rr.com>.
-
-2003-06-22 Bruno Haible <bruno@clisp.org>
-
- Portability to mingw32.
- * lib/relocatable.c [WIN32]: Include <windows.h>.
- * srclib/relocatable.c: Likewise.
- Reported by Jeff Bonggren <jbon@cfl.rr.com>.
-
-2003-06-22 Bruno Haible <bruno@clisp.org>
-
- * lib/relocatable.c (compute_curr_prefix): Comment out this function in
- the case when it is not used.
- * srclib/relocatable.c (compute_curr_prefix): Likewise.
- Reported by Pavel Roskin <proski@gnu.org>.
-
-2003-06-18 Bruno Haible <bruno@clisp.org>
-
- * config/install-sh: Update from automake-1.7.5.
-
-2003-06-16 Bruno Haible <bruno@clisp.org>
-
- * lib/encodings.def (ISO-8859-15): Add alias LATIN-9.
- (ISO-8859-16): Add aliases ISO_8859-16:2001, LATIN10, L10. Remove alias
- ISO_8859-16:2000.
- (GBK): Add aliases MS936, WINDOWS-936.
- Reported by Guido Flohr <guido@imperia.net>.
-
-2003-05-09 Bruno Haible <bruno@clisp.org>
-
- * srclib/canonicalize.c: Add #ifdef around versioned_symbol. Avoids an
- "extraneous semicolon" warning from Tru64 cc.
-
-2003-06-07 Bruno Haible <bruno@clisp.org>
-
- * Makefile.devel (config.h_vms): Don't define HAVE_ENVIRON_DECL.
- * Makefile.vms (config.h): New rule.
- (all, install): Depend on it.
- (all, install, installdirs, uninstall, check): Fix typo.
- (mostlyclean, clean, distclean, maintainer-clean): Likewise. Remove
- config.h.
- * lib/Makefile.vms (DEFS): Fix value of INSTALLDIR.
- (OBJECTS): Use libiconv.obj instead of iconv.obj.
- (libiconv.obj): Renamed from iconv.obj.
- * srclib/Makefile.vms (INCLUDES): Add parent directory.
- (OBJECTS): Remove strtoul.obj, setenv.obj, unsetenv.obj.
- (strtoul.obj, setenv.obj, unsetenv.obj): Remove rules.
- (alloca.h): New rule.
- (canonicalize.obj): Depend on it.
- (clean): Remove alloca.h.
- * src/Makefile.vms (datadir, localedir): New variables.
- (DEFS): Also define LOCALEDIR.
- (iconv.obj): Add flags for relocatability,
- (iconv.exe): Link with libicrt. Use link_options.
- * vms/link_options.opt: New file.
- Reported by Jouk Jansen <joukj@hrem.stm.tudelft.nl>.
-
-2003-06-07 Bruno Haible <bruno@clisp.org>
-
- Support for relocatable data files even on Woe32.
- * lib/Makefile.msvc (PICFLAGS): Also define PIC.
-
-2003-05-22 Bruno Haible <bruno@clisp.org>
-
- * Version 1.9.1 released.
-
-2003-05-22 Bruno Haible <bruno@clisp.org>
-
- * lib/genaliases.c (main): Emit %pic instead of %null-strings.
- Change type of 'name' field to 'int'.
- * lib/genaliases2.c (emit_encoding): Add a 'tag' argument. Emit an
- invocation of macro S(), including the tag and a counter.
- (main): Use the command-line argument as tag.
- * Makefile.devel (lib/aliases_aix.h, lib/aliases_osf1.h,
- lib/aliases_dos.h, lib/aliases_extra.h): Pass a tag to the program.
- * lib/iconv.c (stringpool2_t): New type.
- (stringpool2_contents): New data table.
- (stringpool2): New macro.
- (sysdep_aliases): Make position-independent. Move #includes out to
- aliases2.h.
- (aliases2_lookup): Update.
- (nalias): New type.
- (compare_by_index): Use 'struct nalias' instead of 'struct alias'.
- (iconvlist): Convert 'struct alias' to 'struct nalias' while copying.
- * lib/aliases2.h: New file, extracted from lib/iconv.c.
-
-2003-05-20 Bruno Haible <bruno@clisp.org>
-
- * lib/iconv.c (iconvlist): Test p->name against NULL, not against "".
- Reported by Muraoka Taro <koron@tka.att.ne.jp>.
-
-2003-05-19 Bruno Haible <bruno@clisp.org>
-
- * windows/iconv.rc: Include <winver.h>.
- Reported by Perry Rapp.
-
-2003-05-18 Bruno Haible <bruno@clisp.org>
-
- * Version 1.9 released.
-
-2003-05-18 Bruno Haible <bruno@clisp.org>
-
- * lib/Makefile.in (libiconv_plug_osf.so): Avoid using LIBTOOL_LINK.
-
-2003-05-18 Bruno Haible <bruno@clisp.org>
-
- * lib/Makefile.msvc (DEBUGFLAGS): New variable.
- (iconv.lib): Use it.
- * src/Makefile.msvc (DEBUGFLAGS): New variable.
- * tests/Makefile.msvc (DEBUGFLAGS): New variable.
-
-2003-05-17 Bruno Haible <bruno@clisp.org>
-
- * src/Makefile.msvc (libdir, datadir, localedir): New variables.
- (IIlibdir, IIdatadir, IIlocaledir): New variables.
- (CFLAGS): Define LOCALEDIR.
- (iconv_no_i18n.exe): New rule.
- (all): Depend on it.
- * tests/check-stateful.bat: Invoke iconv_no_i18n instead of iconv.
- * tests/check-translit.bat: Likewise.
-
-2003-05-16 Bruno Haible <bruno@clisp.org>
-
- * lib/genaliases.c (main): Emit declarations for gperf-3.0.
- * Makefile.devel (lib/aliases.h): Remove gperf command line options;
- add new option "-m 10" for gperf-3.0.
-
-2003-05-12 Bruno Haible <bruno@clisp.org>
-
- * m4/error.m4: Update from gettext.
-
-2003-05-12 Bruno Haible <bruno@clisp.org>
-
- * configure.in: Invoke AC_GNU_SOURCE and jm_FUNC_GLIBC_UNLOCKED_IO.
-
-2003-05-12 Bruno Haible <bruno@clisp.org>
-
- * lib/Makefile.msvc (PICFLAGS, CFLAGS): Move BUILDING_* macros from
- CFLAGS to PICFLAGS.
-
-2003-05-09 Bruno Haible <bruno@clisp.org>
-
- * srclib/error.c: Update from gnulib with modifications.
- * srclib/unlocked-io.h: New file, from gnulib.
- * m4/strerror_r.m4: New file, from gnulib.
- * m4/unlocked-io.m4: New file, from gnulib.
- * Makefile.devel (aclocal.m4): Depend on them.
-
-2003-05-08 Bruno Haible <bruno@clisp.org>
-
- * Makefile.msvc (IIPREFIX): New variable.
- * srclib/Makefile.msvc (INCLUDES): Add -I..\windows.
- * src/Makefile.msvc (IIPREFIX, IIprefix, IIexec_prefix, IIbindir,
- IIincludedir): New variables.
- (INCLUDES): Add -I..\windows.
- (iconv.exe): Define INSTALLPREFIX and INSTALLDIR. Link with
- ../srclib/icrt.lib.
- Patches by Perry Rapp.
-
-2003-05-07 Bruno Haible <bruno@clisp.org>
-
- * README.woe32: Fix instructions for step 1.
- * srclib/Makefile.msvc (OBJECTS): Remove strtoul.obj.
- (strtoul.obj): Remove rule.
- Reported by Perry Rapp.
-
-2003-05-07 Bruno Haible <bruno@clisp.org>
-
- * Makefile.vms: New file.
- * lib/Makefile.vms: New file.
- * srclib/Makefile.vms: New file.
- * src/Makefile.vms: New file.
- * man/Makefile.vms: New file.
- * tests/Makefile.vms: New file.
- * Makefile.devel (config.h_vms, lib/config.h_vms, include/iconv.h_vms):
- New rules.
- (all): Depend on them.
-
-2003-05-07 Bruno Haible <bruno@clisp.org>
-
- * srclib/Makefile.msvc (OBJECTS): Remove findprog.obj.
- (findprog.obj): Remove rule.
- * src/Makefile.msvc (includedir): New variable.
-
-2003-05-06 Bruno Haible <bruno@clisp.org>
-
- * lib/translit.def: Upgrade to Unicode 4.0.
-
-2003-05-06 Bruno Haible <bruno@clisp.org>
-
- * srclib/Makefile.am (DEFS): Fix spelling of DEPENDS_ON_LIBICONV.
- * srclib/Makefile.msvc (CFLAGS): Likewise.
-
- * srclib/Makefile.msvc (INCLUDES): Add -I.. .
- Reported by Perry Rapp.
-
- * Makefile.msvc (config.h): New rule.
- (all): Depend on it.
- (mostlyclean, clean, distclean, maintainer-clean): Erase config.h.
- Reported by Perry Rapp.
-
-2003-05-06 Bruno Haible <bruno@clisp.org>
-
- * autoconf/config.guess: Update to GNU version 2003-02-22.
- * autoconf/config.sub: Likewise.
-
-2003-05-06 Bruno Haible <bruno@clisp.org>
-
- * m4/lib-link.m4: Update from GNU gettext.
- * autoconf/config.rpath: Update from GNU gettext.
-
- * m4/libtool.m4: Update from GNU gettext, based on libtool-1.5.
- * autoconf/ltmain.sh: Update from GNU gettext, based on libtool-1.5.
-
- * m4/gettext.m4: Update from GNU gettext.
- * m4/nls.m4: Update from GNU gettext.
- * m4/po.m4: Update from GNU gettext.
- * Makefile.devel (aclocal.m4): Depend on m4/nls.m4 and m4/po.m4.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- Support for OpenVMS 7.3.
- * lib/iconv.c (USE_OSF1): Define also on VMS.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- Better support for FreeBSD.
- * lib/encodings.def (ISO8859-{1,2,3,4,5,6,7,8,9,10,13,14,15,16): New
- aliases, for compatibility with earlier FreeBSD iconv implementation
- by Konstantin Chuguev.
- * lib/iconv.c (iconv_open, iconv, iconv_close) [FreeBSD]: Define as
- aliases.
- * src/Makefile.in (install) [FreeBSD]: Avoid installation problem.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- * configure.in (mandir): Change default value.
- * Makefile.in (datadir): New variable.
- (install, installdirs, uninstall): Pass datadir to po and man
- directories.
- * Makefile.os2 (datadir): New variable.
- (mandir): Use it instead of prefix.
- (install, uninstall): Pass datadir to man directory.
- * Makefile.msvc (mandir, docdir): Use datadir instead of prefix.
- * man/Makefile.in (datadir): New variable.
- (docdir): Use it instead of prefix.
- (install, installdirs): Update.
- * man/Makefile.os2 (datadir): New variable.
- (mandir): Use it instead of prefix.
- * man/Makefile.msvc (datadir): New variable.
- (mandir, docdir): Use it instead of prefix.
- (install, installdirs): Update.
-
-2003-04-06 Bruno Haible <bruno@clisp.org>
-
- Make it possible to build with or without libintl support on Woe32.
- * Makefile.devel (config.h.msvc): Remove ENABLE_NLS.
- * Makefile.msvc (NO_NLS): New variable.
- * srclib/Makefile.msvc (NO_NLS): New variable.
- (CFLAGS, INCLUDES): Use them.
- * src/Makefile.msvc (NO_NLS): New variable.
- (NLSFLAGS, INCINTL, LIBINTL): New variables.
- (CFLAGS, INCLUDES, iconv.exe): Use them.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- * lib/loop_unicode.h (unicode_transliterate): When the Hangul or
- variants transliteration failed with RET_ILUNI, don't return
- RET_TOOSMALL.
- Reported by the FreeBSD porters.
-
-2003-04-06 Bruno Haible <bruno@clisp.org>
-
- * srclib/binary-io.h: New file, from GNU gettext.
- * src/iconv.c: Include it.
- (O_BINARY, O_TEXT, SET_BINARY): Remove definitions.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- Support for relocatable installation.
- * m4/alloca.m4: New file, from GNU gettext.
- * m4/canonicalize.m4: New file, from GNU gettext.
- * m4/error.m4: New file, from GNU gettext.
- * m4/onceonly.m4: New file, from GNU gettext.
- * m4/pathmax.m4: New file, from GNU gettext.
- * m4/relocatable.m4: New file, from GNU gettext.
- * m4/setenv.m4: New file, from GNU gettext.
- * m4/stdbool.m4: New file, from GNU gettext.
- * m4/strerror.m4: New file, from GNU gettext.
- * m4/xreadlink.m4: New file, from GNU gettext.
- * autoconf/config.libpath: New file, from GNU gettext.
- * autoconf/install-reloc: New file, from GNU gettext.
- * autoconf/reloc-ldflags: New file, from GNU gettext.
- * autoconf/missing: New file, from GNU automake 1.7.3.
- * lib/relocatable.h: New file, from GNU gettext.
- * lib/relocatable.c: New file, from GNU gettext.
- * srclib/alloca.c: New file, from GNU gettext.
- * srclib/alloca_.h: New file, from GNU gettext.
- * srclib/canonicalize.c: New file, from GNU gettext.
- * srclib/canonicalize.h: New file, from GNU gettext.
- * srclib/error.c: New file, from GNU gettext.
- * srclib/error.h: New file, from GNU gettext.
- * srclib/exit.h: New file, from GNU gettext.
- * srclib/gettext.h: New file, from GNU gettext.
- * srclib/memmove.c: New file, from GNU gettext.
- * srclib/pathmax.h: New file, from GNU gettext.
- * srclib/progname.c: New file, from GNU gettext.
- * srclib/progname.h: New file, from GNU gettext.
- * srclib/progreloc.c: New file, from GNU gettext.
- * srclib/relocatable.c: New file, from GNU gettext.
- * srclib/relocatable.h: New file, from GNU gettext.
- * srclib/relocwrapper.c: New file, from GNU gettext.
- * srclib/setenv.c: New file, from GNU gettext.
- * srclib/setenv.h: New file, from GNU gettext.
- * srclib/stdbool.h.in: New file, from GNU gettext.
- * srclib/strerror.c: New file, from GNU gettext.
- * srclib/unsetenv.c: New file, from GNU gettext.
- * srclib/xmalloc.c: New file, from GNU gettext.
- * srclib/xmalloc.h: New file, from GNU gettext.
- * srclib/xreadlink.c: New file, from GNU gettext.
- * srclib/xreadlink.h: New file, from GNU gettext.
- * srclib/xstrdup.c: New file, from GNU gettext.
- * srclib/Makefile.am: New file.
- * srclib/Makefile.msvc: New file.
- * windows/alloca.h: New file, from GNU gettext.
- * windows/stdbool.h: New file, from GNU gettext.
- * configure.in (AC_CONFIG_HEADERS): Replace src/config.h with config.h.
- Add AC_RELOCATABLE, AC_HEADER_STDC, AC_CHECK_HEADERS(stddef.h stdlib.h
- string.h), AC_CHECK_FUNCS(getc_unlocked), AC_REPLACE_FUNCS(memmove),
- AM_LANGINFO_CODESET, gl_FUNC_ALLOCA, gl_CANONICALIZE,
- gt_FUNC_ERROR_AT_LINE, gl_PATHMAX, gt_FUNC_SETENV, gt_STDBOOL_H,
- gl_FUNC_STRERROR, gl_XREADLINK, AC_OUTPUT(srclib/Makefile).
- * lib/config.h.in: Add HAVE_GETC_UNLOCKED, HAVE_LANGINFO_CODESET,
- HAVE_SETLOCALE, HAVE_STDDEF_H, HAVE_STDLIB_H, HAVE_STRING_H, for
- localcharset.c. Add ENABLE_RELOCATABLE, INSTALLPREFIX, for
- relocatable.c.
- * lib/Makefile.in (DEFS): New variable.
- (SOURCES): Add localcharset.c and relocatable.c.
- (OBJECTS): Add localcharset.lo and relocatable.lo.
- (LIBCHARSET_OBJECTS): Remove variable.
- (libiconv_plug_linux.so, libiconv_plug_solaris.so,
- libiconv_plug_osf.so): Use $(DEFS). Don't use $(LIBCHARSET_OBJECTS).
- (iconv.lo): Use $(DEFS).
- (localcharset.lo, relocatable.lo): New rules.
- * lib/Makefile.msvc (CFLAGS): Define HAVE_CONFIG_H, BUILDING_DLL,
- ENABLE_RELOCATABLE, IN_LIBRARY, INSTALLDIR, NO_XMALLOC,
- set_relocation_prefix, relocate. Remove $(PICFLAGS).
- (INCLUDES): Simplify.
- (SOURCES): Remove variable.
- (OBJECTS): Add localcharset.obj and relocatable.obj.
- (LIBCHARSET_OBJECTS): Remove variable.
- (iconv.obj): Add $(PICFLAGS).
- (localcharset.obj, relocatable.obj): New rules.
- (iconv.lib): Drop $(LIBCHARSET_OBJECTS).
- * include/iconv.h.in (libiconv_set_relocation_prefix): New declaration.
- * src/gettext.h: Remove file.
- * src/iconv.c: Include progname.h and relocatable.h.
- (ICONV_CONST): Define to const if the system has no iconv.
- (main): Invoke set_program_name. Relocate LOCALEDIR.
- * src/Makefile.in (top_srcdir): New variable.
- (INCLUDES): Add .. and ../srclib.
- (iconv_no_i18n, iconv): Link with ../srclib/libicrt.a.
- (iconv_no_i18n.@OBJEXT@, iconv.@OBJEXT@): Define INSTALLDIR.
- (RELOCATABLE_LIBRARY_PATH, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR,
- RELOCATABLE_CONFIG_H_DIR, @SET_RELOCATABLE@, iconv_LDFLAGS): New
- variables.
- (iconv): Use $(iconv_LDFLAGS).
- (install): Use $(INSTALL_PROGRAM_ENV).
- (distclean): Drop removing config.h.
- * src/Makefile.msvc (INCLUDES): Add .., simplify.
- * tests/Makefile.msvc (INCLUDES): Simplify.
- * Makefile.devel (AUTOHEADER, AUTOMAKE): New variables.
- (config.h.in, srclib/Makefile.in, config.h.msvc): New rules.
- (all): Depend on them.
- (aclocal.m4) Depend also on m4/alloca.m4, m4/canonicalize.m4,
- m4/error.m4, m4/onceonly.m4, m4/pathmax.m4, m4/relocatable.m4,
- m4/setenv.m4, m4/stdbool.m4, m4/strerror.m4, m4/xreadlink.m4.
- (lib/config.h.msvc): Additional processing.
- * Makefile.in (all, install, installdirs, uninstall, check): Recurse
- into srclib.
- (mostlyclean, clean, distclean, maintainerclean): Likewise. Remove
- lib/localcharset.h.
- (distclean, maintainerclean): Remove also config.h and some stamps.
- * Makefile.msvc (all, install, installdirs, uninstall, check,
- mostlyclean, clean, distclean, maintainerclean): Recurse into srclib.
- * INSTALL.generic: Document --enable-relocatable and
- --with-libintl-prefix. Remove the recommendation to set CPPFLAGS and
- LDFLAGS. The lib-link.m4 macros make this unnecessary.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * configure.in: Bump version number to 1.9.
- * include/iconv.h.in (_LIBICONV_VERSION): Bump.
- * windows/iconv.rc: Bump version number.
- * lib/Makefile.in (LIBICONV_VERSION_INFO): Bump to 4:0:2.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * Makefile.msvc (PREFIX): New variable.
- (prefix): Use it.
- (distclean, maintainer-clean): Drop Unix specific removals.
- * lib/Makefile.msvc (PREFIX, IIPREFIX): New variables.
- (prefix): Use it.
- (IIprefix, IIexec_prefix, IIbindir, IIlibdir): New variables.
- (clean): Drop Unix specific removal.
- * src/Makefile.msvc (PREFIX): New variable.
- (prefix): Use it.
- (clean): Drop Unix specific removal.
- (distclean): Likewise.
- * tests/Makefile.msvc (clean): Drop Unix specific removal.
- (distclean): Likewise.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * m4/endian.m4 (CL_WORDS_LITTLEENDIAN): Use 3-argument AC_DEFINE.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * m4/general.m4 (CL_CONFIG_SUBDIRS, CL_CANONICAL_HOST,
- CL_CANONICAL_HOST_CPU, CL_CANONICAL_HOST_CPU_FOR_FFCALL): Remove
- macros.
- * m4/gettext.m4: Update from GNU gettext.
- * m4/iconv.m4: Update from GNU gettext.
- * m4/lcmessage.m4: Update from GNU gettext.
- * m4/progtest.m4: Update from GNU gettext.
- * m4/libtool.m4: Update from GNU gettext.
- 2003-02-16 Bruno Haible <bruno@clisp.org>
- Workaround autoconf >= 2.52 breakage.
- * libtool.m4 (AC_LIBTOOL_ARG_WITH): New macro.
- (_LT_AC_LTCONFIG_HACK, AC_PROG_LD): Use it.
- * autoconf/ltmain.sh: Update from GNU gettext.
- 2003-02-18 Bruno Haible <bruno@clisp.org>
- Fix the 2002-09-16 fix.
- * ltmain.sh (install): If "ln -s -f" fails (this is the case
- with /usr/bin/ln on Solaris 2.7), fall back to "rm && ln -s".
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- Start using automake.
- * configure.in: Add AM_INIT_AUTOMAKE invocation.
- (PACKAGE, VERSION): Remove.
- Use AC_CANONICAL_HOST instead of CL_CANONICAL_HOST.
- Use AC_PROG_LN_S instead of CL_PROG_LN_S.
- Use AC_PROG_RANLIB instead of CL_PROG_RANLIB.
- Reorder so that AC_CANONICAL_HOST comes early but still after
- AC_PROG_CC.
- * m4/ranlib.m4: Remove file.
- * m4/libtool.m4: Undo AC_ -> CL_ substitutions.
- * Makefile.devel (CLISP_DIR): Comment out.
- (AUTOCONF_FILES): Change to aclocal.m4.
- (aclocal.m4): Renamed from autoconf/aclocal.m4. Update dependencies.
- (configure.in): Drop --include option.
-
-2003-03-17 Bruno Haible <bruno@clisp.org>
-
- Improved MSVC support.
- * Makefile.msvc (prefix): Use less Unixy value.
- (local_prefix): Remove variable.
- (libdir, includedir, mandir): Use backslashes.
- (bindir, datadir, localedir, docdir): New variables.
- (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): New variables.
- (all): Recurse into po/ and man/.
- (install, installdirs, uninstall): Rewritten.
- (check, mostlyclean, clean, distclean, maintainer-clean): Recurse
- into po/ and man/.
- * lib/Makefile.msvc (prefix): Use less Unixy value.
- (local_prefix): Remove variable.
- (libdir): Use backslashes.
- (bindir): New variable.
- (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Set to real values.
- (RESOURCES): Enable iconv.res.
- (install, installdirs, uninstall): New rules.
- (clean): Remove config.h.
- (distclean): Don't remove config.h here.
- * src/Makefile.msvc (prefix, exec_prefix, bindir): New variables.
- (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): New variables.
- (install, installdirs, uninstall): New rules.
- * man/Makefile.msvc: New file.
- * tests/Makefile.msvc (install, installdirs, uninstall): New rules.
- * Makefile.devel (all): Depend on po/Makefile.msvc.
- (po/Makefile.msvc): New rule.
- * windows/iconv.rc: Update.
- * README.woe32: Mention automatic installation command.
-
- Rename libcharset.h to localcharset.h.
- * lib/iconv.c: Include localcharset.h, not libcharset.h.
- * Makefile.in (lib/localcharset.h): Renamed from lib/libcharset.h.
- (all, install): Update dependencies.
- (all): Create lib/localcharset.h, not lib/libcharset.h.
- (mostlyclean, clean, distclean, maintainer-clean): Remove
- lib/localcharset.h, not lib/libcharset.h.
- * djgpp/README.in, djgpp/README: Update.
- * djgpp/config.bat: Update.
- * djgpp/config.sed: Update.
- * djgpp/fnchange.in, djgpp/fnchange.lst: Update.
-
-2003-01-31 Bruno Haible <bruno@clisp.org>
-
- * src/Makefile.in (all): Don't do the chmod if it has already been
- done.
-
-2003-01-31 Bruno Haible <bruno@clisp.org>
-
- * lib/loop_unicode.h (unicode_transliterate): Enable recursive
- transliteration. Idea from Perry Rapp.
- * lib/gentranslit.c (main): Change bound from 0x10000 to 0x110000.
- Change element type of translit_data to 'unsigned int'.
- * lib/translit.def: Many new transliterations, mostly taken from glibc.
- * lib/translit.h: Regenerated.
- * tests/Translit1.ISO-8859-1, tests/Translit1.ASCII: New files.
- * tests/Makefile.in (check): Add Translit1 check.
- * tests/Makefile.msvc (check): Likewise.
- * tests/Makefile.os2 (check): Likewise.
- * tests/TranslitFail1.ISO-8859-1: Choose a sentence which the new
- improved transliteration cannot do.
-
-2003-02-14 Bruno Haible <bruno@clisp.org>
-
- * Makefile.devel (AUTOCONF): Switch to autoconf-2.57.
- (configure): Update rule.
-
-2003-01-03 Albert Chin <libtool@thewrittenword.com>
-
- * autoconf/ltmain.sh: Don't pass -R flags found in a .la's
- dependency_libs variable directly down to the linker.
- Reported by Tim Mooney <mooney@dogbert.cc.ndsu.nodak.edu>.
-
-2003-01-01 Bruno Haible <bruno@clisp.org>
-
- * src/Makefile.in (install): Use libiconv.la in ../lib, not in
- $(libdir), so that installing with DESTDIR works.
- Reported by Michael Adams <michael@michaeladams.org>.
-
-2003-01-01 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in (mkinstalldirs): New variable.
- (install-lib, install, installdirs): Use it instead of mkdir.
- * lib/Makefile.in (mkinstalldirs): New variable.
- (install-lib, install, installdirs): Use it instead of mkdir.
- * man/Makefile.in (mkinstalldirs): New variable.
- (install, installdirs): Use it instead of mkdir.
- * src/Makefile.in (mkinstalldirs): New variable.
- (install, installdirs): Use it instead of mkdir.
-
-2002-09-27 Bruno Haible <bruno@clisp.org>
-
- * autoconf/mkinstalldirs: Upgrade to automake-1.7.2 version.
-
-2002-11-07 Bruno Haible <bruno@clisp.org>
-
- * m4/libtool.m4: Upgrade to libtool-1.4.3.
- * autoconf/ltmain.sh: Upgrade to libtool-1.4.3.
-
-2002-07-14 Bruno Haible <bruno@clisp.org>
-
- * m4/libtool.m4 (_LT_AC_LTCONFIG_HACK): Add support for GNU/FreeBSD.
-
-2002-06-12 Bruno Haible <bruno@clisp.org>
-
- * configure.in: Use new AC_* names of libtool macros. Invoke
- AC_LIBTOOL_WIN32_DLL.
-
-2002-12-19 Bruno Haible <bruno@clisp.org>
-
- * lib/Makefile.in (libiconv_plug_solaris.so): Change rule if using gcc.
- Reported by Henry Nelson <henry@irm.nara.kindai.ac.jp>.
-
-2002-11-07 Bruno Haible <bruno@clisp.org>
-
- Make "make install" without prior "make" work.
- * Makefile.in (lib/libcharset.h): New rule.
- (all, install): Depend on it.
- Reported by Martin Mokrejš <mmokrejs@natur.cuni.cz>.
-
-2002-10-28 Bruno Haible <bruno@clisp.org>
-
- * man/Makefile.in (install): Change directory back to the working
- directory, so that install-sh (which may be a relative pathname) is
- found in the right place.
-
-2002-09-16 Bruno Haible <bruno@clisp.org>
-
- * autoconf/ltmain.sh (install): Use "ln -s -f" instead of
- "rm -f && ln -s" to make a symlink for a shared library.
- Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
-
-2002-09-02 Bruno Haible <bruno@clisp.org>
-
- * src/iconv.c (main): Don't call bindtextdomain if !ENABLE_NLS.
-
-2002-08-16 Bruno Haible <bruno@clisp.org>
-
- * src/iconv.c (main): Perform fflush before testing ferror(stdout).
-
-2002-05-29 Bruno Haible <bruno@clisp.org>
-
- * Version 1.8 released.
-
-2002-05-26 Bruno Haible <bruno@clisp.org>
-
- * lib/c99.h: New file.
- * lib/converters.h: Include it.
- * lib/encodings.def (C99): New encoding.
- * README, man/iconv_open.3: Document C99 encoding.
-
-2002-05-26 Bruno Haible <bruno@clisp.org>
-
- * lib/java.h (java_mbtowc): Accept 12-byte sequences for non-BMP
- characters.
- (java_wctomb): Produce 12-byte sequences for non-BMP characters.
-
-2002-05-29 Bruno Haible <bruno@clisp.org>
-
- Fix installation of iconv program when linked with a libintl that was
- built against an earlier libiconv.
- * src/iconv.c: Conditionally disable NLS.
- * src/iconv_no_i18n.c: New file.
- * src/Makefile.in (libdir): New variable.
- (all): Depend on iconv_no_i18n, iconv.@OBJEXT@ but not iconv. Make
- directory writable, so iconv executable can be created during "make
- install".
- (iconv): Remove rule.
- (iconv_no_i18n, iconv_no_i18n.@OBJEXT@): New rules.
- (install): Link iconv now, after the new libiconv.so is installed.
- (clean): Also remove iconv_no_i18n.
- * tests/Makefile.in: (check, check-extra-yes): Depend on iconv_no_i18n,
- not iconv.
- * tests/check-stateful: Use iconv_no_i18n, not iconv.
- * tests/check-translit: LIkewise.
- * tests/check-translitfailure: Likewise.
-
-2002-05-29 Bruno Haible <bruno@clisp.org>
-
- * configure.in: Call AC_PROG_INSTALL instead of CL_PROG_INSTALL.
- * m4/install.m4: Remove file.
- * Makefile.devel (autoconf/aclocal.m4): Don't depend on m4/install.m4.
-
-2002-05-24 Bruno Haible <bruno@clisp.org>
-
- * lib/jisx0213.h: Use 'inline' only conditionally.
-
-2002-05-18 Bruno Haible <bruno@clisp.org>
-
- * configure.in (AC_INIT), include/iconv.h.in (_LIBICONV_VERSION),
- README, windows/iconv.rc, djgpp/README, djgpp/fnchange.lst:
- Bump version number.
- * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 3:0:1.
-
-2002-02-06 Bruno Haible <bruno@clisp.org>
-
- * autoconf/ltmain.sh: Upgrade from libtool-1.4 to libtool-1.4.2.
-
-2002-02-02 Bruno Haible <bruno@clisp.org>
-
- * autoconf/ltmain.sh: Add DESTDIR support on ELF systems.
-
-2001-11-03 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/ltmain.sh: chmod 777 the .libs directory, so that
- "make install" succeeds.
-
-2002-05-18 Bruno Haible <bruno@clisp.org>
-
- * src/Makefile.in (iconv): Remove the -liconv dependency of -lintl
- from the command line. Needed to ensure that the new libiconv version
- is used on FreeBSD.
-
-2002-05-14 Bruno Haible <bruno@clisp.org>
-
- Implement and document CP853, TDS565, RISCOS-LATIN1.
- * tools/Makefile (ALL): Add cp853.h, tds565.h, riscos1.h.
- (cp853.h, tds565.h, riscos1.h): New rules.
- * lib/cp853.h: New file.
- * lib/tds565.h: New file.
- * lib/riscos1.h: New file.
- * lib/converters.h: Include them.
- * lib/encodings_dos.def (CP853): New encoding.
- * lib/encodings_extra.def (TDS565, RISCOS-LATIN1): New encodings.
- * README, man/iconv_open.3: Add CP853, TDS565, RISCOS-LATIN1.
- * tests/Makefile.in (check-extra-yes): Check CP853, TDS565,
- RISCOS-LATIN1.
- * tests/Makefile.msvc (check): Check CP853.
- * tests/CP853.TXT: New file.
- * tests/TDS565.TXT: New file.
- * tests/RISCOS-LATIN1.TXT: New file.
-
- * lib/cp860.h (cp860_wctomb): Optimize.
-
-2002-05-12 Bruno Haible <bruno@clisp.org>
-
- * tools/Makefile (ksc5601.h): Add two extra characters.
- * lib/ksc5601.h: Regenerated.
- * tests/EUC-KR.TXT: Add EURO SIGN and REGISTERED SIGN.
- * tests/CP949.TXT: Likewise.
- * tests/JOHAB.TXT: Likewise.
-
-2002-05-12 Bruno Haible <bruno@clisp.org>
-
- * README: Mention extra encodings.
- * man/iconv_open.3: Likewise. Improve formatting in text and html
- output formats.
-
-2002-05-12 Bruno Haible <bruno@clisp.org>
-
- * tests/SHIFT_JIS.TXT: Renamed from tests/SHIFT-JIS.TXT.
-
-2002-05-12 Bruno Haible <bruno@clisp.org>
-
- * Makefile.devel (AUTOCONF): New variable.
- (AUTOCONF_FILES): Remove autoconf/autoconf.m4f.
- (configure): Use the AUTOCONF variable.
- * autoconf/autoconf: Remove file.
- * autoconf/autoconf.m4: Remove file.
- * autoconf/autoconf.m4f: Remove file.
-
-2002-05-12 Bruno Haible <bruno@clisp.org>
-
- * tools/JISX0213.TXT: New file.
- * tools/cjk_tab_to_h.c (do_jisx0213): New function.
- (main): Accept "jisx0213".
- * tools/Makefile (all): Add jisx0213.h.
- (jisx0213.h): New rule.
- * lib/jisx0213.h: New file, generated by cjk_tab_to_h.
- * lib/euc_jisx0213.h: New file.
- * lib/shift_jisx0213.h: New file.
- * lib/iso2022_jp3.h: New file.
- * lib/converters.h: Include them.
- * lib/encodings_extra.def (EUC-JISX0213, SHIFT_JISX0213,
- ISO-2022-JP-3): New encodings.
- * tests/EUC-JISX0213.TXT: New file.
- * tests/SHIFT_JISX0213.TXT: New file.
- * tests/ISO-2022-JP-3-snippet: New file.
- * tests/ISO-2022-JP-3-snippet.UTF-8: New file.
- * tests/Makefile.in (check-extra): Also check EUC-JISX0213,
- SHIFT_JISX0213, ISO-2022-JP-3.
- * tests/check-stateless: Add support for encodings which contain
- precomposed Unicode characters, by eliminating precomposed characters
- before the comparison.
- * tests/table-from.c (main): Fix usage message.
- * tests/table-to.c (main): Make it work for encodings for which the
- "to" direction is stateful.
-
-2002-05-09 Bruno Haible <bruno@clisp.org>
-
- New configure option --enable-extra-encodings.
- * lib/encodings_extra.def: New file.
- * lib/converters.h: Handle USE_EXTRA.
- * lib/genaliases2.c (main): Handle USE_EXTRA.
- * lib/genflags.c: Define USE_EXTRA.
- (main): Include encodings_extra.def.
- * lib/iconv.c: Handle ENABLE_EXTRA, conditionally set USE_EXTRA.
- Handle USE_EXTRA.
- * lib/config.h.in (ENABLE_EXTRA): New macro.
- * configure.in: Accept option --enable-extra-encodings.
- * Makefile.devel (all): Depend on lib/aliases_extra.h.
- (lib/aliases_extra.h): New rule.
- (lib/flags.h): Depend on lib/encodings_extra.def.
- * tests/Makefile.in (check-extra, check-extra-no, check-extra-yes):
- New rules.
- (check): Invoke check-extra.
- * tests/Makefile.msvc (check): Also check the DOS encodings.
-
- Support for testing the AIX encodings.
- * tests/CP856.TXT: New file.
- * tests/CP922.TXT: New file.
- * tests/CP1046.TXT: New file.
- * tests/CP1124.TXT: New file.
- * tests/CP1129.TXT: New file.
- * tests/CP1161.TXT, tests/CP1161.IRREVERSIBLE.TXT: New files.
- * tests/CP1162.TXT: New file.
- * tests/CP1163.TXT, tests/CP1163.IRREVERSIBLE.TXT: New files.
-
- Support for testing the OSF/1 encodings.
- * tests/DEC-KANJI.TXT: New file.
- * tests/DEC-HANYU.TXT, tests/DEC-HANYU.IRREVERSIBLE.TXT: New files.
-
- Support for testing the DOS encodings.
- * tests/CP437.TXT: New file.
- * tests/CP737.TXT: New file.
- * tests/CP775.TXT: New file.
- * tests/CP852.TXT: New file.
- * tests/CP855.TXT: New file.
- * tests/CP857.TXT: New file.
- * tests/CP858.TXT: New file.
- * tests/CP860.TXT: New file.
- * tests/CP861.TXT: New file.
- * tests/CP863.TXT: New file.
- * tests/CP864.TXT: New file.
- * tests/CP865.TXT: New file.
- * tests/CP869.TXT: New file.
- * tests/CP1125.TXT: New file.
-
-2002-05-09 Bruno Haible <bruno@clisp.org>
-
- Implement more ASCII compatible DOS encodings.
- * tools/Makefile (ALL): Add cp737.h, cp858.h, cp860.h, cp863.h.
- (cp737.h, cp858.h, cp860.h, cp863.h): New rules.
- * lib/cp737.h: New file.
- * lib/cp858.h: New file.
- * lib/cp860.h: New file.
- * lib/cp863.h: New file.
- * lib/converters.h: Include them.
- * lib/encodings_dos.def (CP737, CP858, CP860, CP863): New encodings.
-
-2002-05-09 Bruno Haible <bruno@clisp.org>
-
- Implement new ASCII compatible encodings from IBM.
- * tools/Makefile (ALL): Add cp1161.h, cp1162.h, cp1163.h.
- (cp1161.h, cp1162.h, cp1163.h): New rules.
- * lib/cp1161.h: New file.
- * lib/cp1162.h: New file.
- * lib/cp1163.h: New file.
- * lib/converters.h: Include them.
- * lib/encodings_aix.def (CP1161, CP1162, CP1163): New encodings.
-
-2002-05-09 Bruno Haible <bruno@clisp.org>
-
- Implement and document KOI8-T.
- * tools/Makefile (ALL): Add koi8_t.h.
- (koi8_t.h): New rule.
- * lib/koi8_t.h: New file.
- * lib/converters.h: Include it.
- * lib/encodings.def (KOI8-T): New encoding.
- * README, man/iconv_open.3: Add KOI8-T.
- * tests/Makefile.in (tests): Check KOI8-T.
- * tests/Makefile.os2 (tests): Likewise.
- * tests/Makefile.msvc (tests): Likewise.
- * tests/KOI8-T.TXT: New file.
-
-2002-05-09 Bruno Haible <bruno@clisp.org>
-
- * tools/8bit_tab_to_h.c (main): Update copyright year.
- * tools/cjk_variants.c (main): Likewise.
-
-2002-05-08 Bruno Haible <bruno@clisp.org>
-
- * README.woe32: Renamed from README.win32.
-
-2002-05-08 Bruno Haible <bruno@clisp.org>
-
- * lib/iconv.c: Enable DOS encodings also when compiling for Woe32,
- because the Woe32 consoles use them.
-
-2002-05-04 Bruno Haible <bruno@clisp.org>
-
- * lib/loop_unicode.h (unicode_loop_convert): When quitting the loop
- without writing an output character, restore cd->istate to its value
- before the xxx_mbtowc call. Otherwise we lose some characters during
- CP1255/CP1258/TCVN to Unicode conversion.
- (unicode_loop_reset): Likewise for the xxx_flushwc call.
- * tests/CP1255-snippet, tests/CP1255-snippet.UTF-8: Make the test
- files large enough to test against the bug.
- * tests/CP1258-snippet, tests/CP1258-snippet.UTF-8: Likewise.
- * tests/TCVN-snippet, tests/TCVN-snippet.UTF-8: Likewise.
-
-2002-04-28 Bruno Haible <bruno@clisp.org>
-
- * tools/Makefile (armscii_8.h): Use table from glibc-2.2.90.
- * tests/ARMSCII-8.TXT: Update to glibc-2.2.90 version.
- * tests/ARMSCII-8.IRREVERSIBLE.TXT: Remove 0x0027.
- * lib/armscii_8.h: Regenerated.
-
-2002-04-28 Bruno Haible <bruno@clisp.org>
-
- * src/iconv.c: Include gettext.h.
- (_): New macro.
- (usage, print_version, convert, main): Internationalize.
- (main): Call setlocale, bindtextdomain, textdomain.
- * src/gettext.h: New file, from GNU gettext 0.11.2.
- * src/config.h.in: New file, needed for ENABLE_NLS.
- * src/Makefile.in (datadir, localedir): New variables.
- (iconv): Link with @LTLIBINTL@.
- (iconv.@OBJEXT@): Define LOCALEDIR.
- (distclean): Remove config.h.
- * po: New directory.
- * Makefile.in (all, install, installdirs, uninstall, check,
- mostlyclean, clean, distclean, maintainer-clean): Recurse into the po
- directory.
- * autoconf/mkinstalldirs: New file, from automake-1.5.
- * ABOUT-NLS: New file, from GNU gettext 0.11.2.
- * m4/codeset.m4: New file, from GNU gettext 0.11.2.
- * m4/gettext.m4: New file, from GNU gettext 0.11.2.
- * m4/glibc21.m4: New file, from GNU gettext 0.11.2.
- * m4/isc-posix.m4: New file, from GNU gettext 0.11.2.
- * m4/lcmessage.m4: New file, from GNU gettext 0.11.2.
- * m4/progtest.m4: New file, from GNU gettext 0.11.2.
- * configure.in: Require autoconf-2.52, needed for multiple config.h.in
- files. Use new form of AC_INIT. Invoke AM_GNU_GETTEXT.
- (PACKAGE, VERSION): Define, needed for po/Makefile.in.in.
- * lib/config.h.in (HAVE_LOCALE_H, HAVE_SETLOCALE): Remove.
-
-2002-04-28 gettextize <bug-gnu-gettext@gnu.org>
-
- * configure.in (AC_OUTPUT): Add po/Makefile.in.
-
-2002-04-28 Bruno Haible <bruno@clisp.org>
-
- * m4/eilseq.m4: Renamed from autoconf/eilseq.m4.
- * m4/mbstate_t.m4: Renamed from autoconf/mbstate_t.m4.
- * m4/general.m4: New file, from GNU clisp.
- * m4/proto.m4: New file, from GNU clisp.
- * m4/ranlib.m4: New file, from GNU clisp.
- * m4/install.m4: New file, from GNU clisp.
- * m4/cp.m4: New file, from GNU clisp.
- * m4/ln.m4: New file, from GNU clisp.
- * m4/endian.m4: New file, from GNU clisp.
- * m4/iconv.m4: New file, from GNU gettext 0.11.2.
- * m4/lib-ld.m4: New file, from GNU gettext 0.11.2.
- * m4/lib-link.m4: New file, from GNU gettext 0.11.2.
- * m4/lib-prefix.m4: New file, from GNU gettext 0.11.2.
- * autoconf/config.rpath: New file, from GNU gettext 0.11.2.
- * m4/libtool.m4: New file, based on libtool-1.4.2.
- * Makefile.devel (ACLOCAL): Remove variable.
- (ACSELECT): Remove variable.
- (OTHERMACROS): Remove variable.
- (m4/*.m4): New rules.
- (autoconf/aclocal.m4): Construct using aclocal instead of acselect.
- * configure.in: Invoke AM_ICONV instead of CL_ICONV.
-
-2002-04-06 Bruno Haible <bruno@clisp.org>
-
- Upgrade to Unicode 3.2.
- * tools/cjk_tab_to_h.c (output_title): Bump copyright year.
- (compact_large_charset2uni): Add an argument. Determine optimal shift.
- Copy modified enc->charset2uni table.
- (output_charset2uni): Deal with shift other than 8. Copy encoding, so
- as to not disturb subsequent output_uni2charset[_sparse] call.
- * lib/hkscs.h: Regenerated.
- * tests/BIG5-HKSCS.TXT: Update.
- * tests/BIG5-HKSCS.IRREVERSIBLE.TXT: Update.
-
-2002-04-06 Bruno Haible <bruno@clisp.org>
-
- Upgrade to Unicode 3.2.
- * tools/Makefile (cns11643_1.h, cns11643_2.h, cns11643_3.h,
- cns11643_4a.h, cns11643_4b.h, cns11643_5.h, cns11643_6.h,
- cns11643_7.h, cns11643_15.h, cns11643_inv.h): Use
- CNS11643-Unicode32.TXT instead of CNS11643-Unicode31.TXT.
- * lib/cns11643_3.h: Regenerated.
- * lib/cns11643_4a.h: Regenerated.
- * lib/cns11643_4b.h: Regenerated.
- * lib/cns11643_5.h: Regenerated.
- * lib/cns11643_6.h: Regenerated.
- * lib/cns11643_7.h: Regenerated.
- * lib/cns11643_15.h: Regenerated.
- * lib/cns11643_inv.h: Regenerated.
- * tests/EUC-TW.TXT: Update.
-
-2002-01-17 Bruno Haible <bruno@clisp.org>
-
- * lib/tcvn.h (tcvn_2uni_1): Make it smaller.
- (tcvn_mbtowc): Small optimization.
-
-2002-01-13 Bruno Haible <bruno@clisp.org>
-
- New options -l, -c, -s.
- * src/iconv.c (discard_unconvertible, silent): New variables.
- (usage): Document options -l, -c, -s.
- (print_one): New function.
- (convert): If silent is true, don't print error messages about the
- conversion to stderr. If discard_unconvertible is true, set the
- iconv descriptor to DISCARD_ILSEQ the first time, but make sure to
- return the same return code as when discard_unconvertible is false.
- (main): Accept options -l, -c, -s. Implement option -l.
- * man/iconv.1: Document options -l, -c, -s.
-
-2002-01-13 Bruno Haible <bruno@clisp.org>
-
- Support for "iconv -c".
- * include/iconv.h.in (ICONV_GET_DISCARD_ILSEQ): New macro.
- (ICONV_SET_DISCARD_ILSEQ): Likewise.
- * lib/converters.h (struct conv_struct): New field discard_ilseq.
- * lib/iconv.c (iconv_open): Set discard_ilseq to true if tocode
- has an "//IGNORE" suffix, and to false otherwise.
- (iconvctl): Implement ICONV_GET_DISCARD_ILSEQ, ICONV_SET_DISCARD_ILSEQ.
- * lib/loop_unicode.h (unicode_loop_convert): If discard_ilseq is
- true, skip one input character instead of returning EILSEQ.
- (unicode_loop_reset): Likewise.
- * lib/loop_wchar.h (wchar_from_loop_convert): Likewise.
- (wchar_to_loop_convert): Likewise.
-
-2002-01-13 Bruno Haible <bruno@clisp.org>
-
- Support for "iconv -l".
- * include/iconv.h.in (iconvlist): New declaration.
- * Makefile.devel (lib/aliases.h): Change gperf options.
- * lib/iconv.c (compare_by_index, compare_by_name, iconvlist): New
- functions.
-
-2002-01-06 Bruno Haible <bruno@clisp.org>
-
- * lib/loop_unicode.h (unicode_transliterate): If the transliteration
- fails due to limited output encoding, return RET_ILUNI, not
- RET_TOOSMALL. Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
- * tests/check-translitfailure: New file.
- * tests/TranslitFail1.ISO-8859-1: New file.
- * tests/Makefile.in (check): Call check-translitfailure.
-
-2001-12-15 Bruno Haible <bruno@clisp.org>
-
- * lib/euc_jp.h (euc_jp_wctomb): Add irreversible mappings for
- Shift_JIS characters 0x5C and 0x7E.
- * tests/EUC-JP.IRREVERSIBLE.TXT: New file.
-
-2001-12-05 Bruno Haible <bruno@clisp.org>
-
- * lib/iconv.c (iconv_open): Recognize the empty encoding name. Avoid
- endless loop if locale_charset() returns the empty string.
- * README, man/iconv_open.3: Add the empty encoding name.
-
-2001-11-10 Bruno Haible <haible@clisp.cons.org>
-
- * lib/Makefile.in (libiconv_plug_linux.so): Allow building it with a
- non-gcc compiler.
-
-2001-10-23 Bruno Haible <haible@clisp.cons.org>
-
- * tools/Makefile (cp1125.h): New target.
- (ALL): Add it.
- * lib/cp1125.h: New file.
- * lib/converters.h: Include it.
- * lib/encodings_dos.def (CP1125): New encoding.
-
-2001-09-08 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/eilseq.m4: New file.
- * Makefile.devel (OTHERMACROS): Add it.
- * configure.in: Call AC_EILSEQ.
- * include/iconv.h.in (EILSEQ): Define to the autoconf determined value.
-
-2001-08-25 Bruno Haible <haible@clisp.cons.org>
-
- Upgrade to autoconf-2.52.
- * autoconf/autoconf: Upgrade to autoconf-2.52.
- * autoconf/acgeneral.m4: Remove file.
- * autoconf/acspecific.m4: Remove file.
- * autoconf/autoconf.m4f: New file, from autoconf-2.52.
- * autoconf/aclocal.m4: Require autoconf-2.52.
- (CL_CANONICAL_HOST): Call AC_CANONICAL_HOST. Don't cache the result,
- AC_CANONICAL_HOST does it itself. Add $SHELL in front of
- $ac_config_guess and $ac_config_sub.
- * Makefile.devel (AUTOCONF_FILES): Remove acgeneral.m4, acspecific.m4.
- Add autoconf.m4f.
- (configure): Use autoconf options -A, -l instead of -m.
- * configure.in: Use AC_CONFIG_SUBDIRS, not AC_OUTPUT_SUBDIRS.
-
-2001-08-05 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/acgeneral.m4 (AC_MSG_RESULTPROTO): Remove macro.
- (AC_LANG_EXTERN): Move to aclocal.m4.
- * autoconf/aclocal.m4 (AC_LANG_EXTERN): Moved here from acgeneral.m4.
- (CL_PROTO): Use AC_MSG_RESULT directly, instead of AC_MSG_RESULTPROTO.
- (CL_SILENT): No need to pushdef AC_MSG_RESULTPROTO.
-
-2001-08-05 Bruno Haible <haible@clisp.cons.org>
-
- Make it possible to build libiconv with CC=gcc CFLAGS="-x c++".
- * lib/loop_wchar.h (wchar_to_loop_convert): Rename local variable
- 'try' to 'incount'.
- * lib/Makefile.in (libiconv_plug_linux.so): Add "-x none" option
- between sources and libs.
- (libiconv_plug_solaris.so) [GCC]: Likewise.
- (libiconv_plug_osf.so) [GCC]: Likewise.
- * src/Makefile.in (iconv.@OBJEXT@): New rule.
- (iconv): Depend on it.
- (clean): Erase *.@OBJEXT@, not *.o.
- * tests/Makefile.in (table-from.@OBJEXT@): New rule.
- (table-from): Depend on it.
- (table-to.@OBJEXT@): New rule.
- (table-to): Depend on it.
- (clean): Erase *.@OBJEXT@, not *.o.
-
-2001-07-28 Bruno Haible <haible@clisp.cons.org>
-
- * tools/Makefile (iso8859_16.h): Generate from the unicode.org table.
- * lib/iso8859_16.h: Regenerated.
- * tests/ISO-8859-16.TXT: Swap the values of 0xA5 and 0xAB.
-
-2001-07-17 Bruno Haible <haible@clisp.cons.org>
-
- * configure.in (VERSION): Define. Needed by djgpp/Makefile.maint.
-
-2001-07-03 Bruno Haible <haible@clisp.cons.org>
-
- * configure.in: Also check for mbsinit.
- * lib/loop_wchar.h (mbsinit): Define to 1 if not defined.
- Needed for SCO 3.2v5.0.2.
-
-2001-06-27 Bruno Haible <haible@clisp.cons.org>
-
- * Version 1.7 released.
-
-2001-06-27 Bruno Haible <haible@clisp.cons.org>
-
- * INSTALL.generic (Particular Systems): Generalize section about
- /usr/local to "most systems".
-
- * lib/Makefile.in (all): Build @PLUGLIB@ before libiconv.la, because
- Solaris cc destroys iconv.o and iconv.lo while building
- libiconv_plug_solaris.so.
- (clean): Remove so_locations, left there by the OSF/1 linker.
-
- * lib/cp1255.h (cp1255_decomp): Use 'signed int' instead of 'int'.
-
- * lib/vietcomb.h (viet_decomp): Use 'unsigned int' instead of
- 'unsigned short'.
-
- * tests/table-from.c: Include string.h.
- * tests/table-to.c: Likewise.
-
-2001-06-26 Bruno Haible <haible@clisp.cons.org>
-
- * tools/Makefile (jisx0208.h): Replace U+005C with U+FF3C.
- (jisx0212.h): Replace U+007E with U+FF5E.
- * lib/jisx0208.h: Regenerated.
- * lib/jisx0212.h: Regenerated.
- * tests/EUC-JP.TXT: Map 0xA1C0 to U+FF3C. Map 0x8FA2B7 to U+FF5E.
- * tests/EUC-JP.IRREVERSIBLE.TXT: Remove file.
- * tests/SHIFT-JIS.TXT: Map 0x815F to U+FF3C.
- * tests/CP932.TXT: Likewise.
- * tests/CP932.IRREVERSIBLE.TXT: 0x815F mapping is now reversible.
-
-2001-06-25 Bruno Haible <haible@clisp.cons.org>
-
- * src/Makefile.in (iconv): Mention $(INCLUDES) before $(CFLAGS) and
- $(CPPFLAGS).
- * src/Makefile.msvc (iconv.exe): Likewise.
- * src/Makefile.os2 (iconv.exe): Likewise.
- * lib/Makefile.in (libiconv_plug_linux.so): Likewise.
- (libiconv_plug_solaris.so): Likewise.
- (libiconv_plug_osf.so): Likewise.
- (iconv.lo): Likewise.
- * lib/Makefile.msvc (iconv.obj): Likewise.
- * lib/Makefile.os2 (iconv.obj): Likewise.
- * tests/Makefile.in (table-from, table-to): Likewise.
- * tests/Makefile.msvc (table-from.exe, table-to.exe): Likewise.
- * tests/Makefile.os2 (table-from.exe, table-to.exe): Likewise.
- (genutf8.exe): Don't use $(INCLUDES).
-
-2001-06-25 Bruno Haible <haible@clisp.cons.org>
-
- * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
- Bump version number.
- * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:4:0.
-
-2001-06-25 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.devel (OTHERMACROS): Use libtool.m4 in libcharset subdir.
-
-2001-06-25 Bruno Haible <haible@clisp.cons.org>
-
- * lib/encodings.def: Make SHIFT_JIS the primary name of SJIS.
-
-2001-06-08 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/ltmain.sh: Upgrade to libtool-1.4.
- * autoconf/ltconfig: Remove file.
-
-2001-06-08 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/config.guess: Update to GNU version 2001-05-11.
- * autoconf/config.sub: Likewise.
-
-2001-06-03 Bruno Haible <haible@clisp.cons.org>
-
- * lib/loop_unicode.h (unicode_loop_convert): Ignore Unicode 3.1 tag
- characters if they cannot be converted.
- (unicode_loop_reset): Likewise.
- * lib/iso2022_jp2.h (STATE_TAG_NONE, STATE_TAG_LANGUAGE,
- STATE_TAG_LANGUAGE_j, STATE_TAG_LANGUAGE_ja, STATE_TAG_LANGUAGE_k,
- STATE_TAG_LANGUAGE_ko, STATE_TAG_LANGUAGE_z, STATE_TAG_LANGUAGE_zh):
- New macros.
- (SPLIT_STATE, COMBINE_STATE): Different differently for wctomb
- direction.
- (iso2022_jp2_wctomb): Keep track of Unicode 3.1 language tag.
- If "ja", prefer conversion to Japanese character sets. If "zh",
- prefer conversion to GB2312. If "ko", prefer conversion to KSC5601.
-
- * lib/converters.h (RET_ILUNI): Change value from 0 to -1.
- (RET_TOOSMALL): Change value from -1 to -2.
- * lib/loop_unicode.h (unicode_transliterate): Allow xxx_wctomb to
- return 0 written bytes.
-
-2001-06-06 Bruno Haible <haible@clisp.cons.org>
-
- * lib/encodings.def: Align with IANA character-set registry.
- (US-ASCII): Add alias "ANSI_X3.4-1986".
- (ISO-8859-14): Add alias "ISO-CELTIC".
- (JIS_X0208): Add alias "JIS_C6226-1983".
- (BIG5HKSCS): Add alias "BIG5-HKSCS".
- * README, man/iconv_open.3: Rename BIG5HKSCS to BIG5-HKSCS.
- * tests/Makefile.in (check): Likewise.
- * tests/Makefile.os2 (check): Likewise.
- * tests/Makefile.msvc (check): Likewise.
- * tests/BIG5-HKSCS.TXT: Renamed from BIG5HKSCS.TXT.
- * tests/BIG5-HKSCS.IRREVERSIBLE.TXT: Renamed from
- BIG5HKSCS.IRREVERSIBLE.TXT.
-
-2001-06-02 Bruno Haible <haible@clisp.cons.org>
-
- * tools/cjk_tab_to_h.c (Encoding): Add fffd field.
- (is_charset2uni_large, compact_large_charset2uni): New functions.
- (find_charset2uni_pages): Use enc->fffd instead of 0xfffd.
- (output_charset2uni): If mapping to more than the Unicode BMP,
- use an extra indirection to keep each value in 16 bits.
- (invert): Bump limit from U+10000 to U+30000.
- (output_uni2charset_dense): Likewise.
- (output_uni2charset_sparse): Likewise. If mapping to more than one
- CJK plane, use three bytes per value instead of two bytes.
- (byte_row_cns11643): Allow more than 3 CJK planes.
- (do_cns11643_only_uni2charset): Increase number of rows, to include
- plane 15. Remove plane bits hack.
- (main): Accept names cns11643_4a,4b,5,6,7,15 as well.
- * tools/Makefile (ALL): Add cns11643_4a.h, cns11643_4b.h, cns11643_5.h,
- cns11643_6.h, cns11643_7.h, cns11643_15.h.
- (cns11643_1.h, cns11643_2.h, cns11643_3.h): Use new Unicode 3.1
- derived table.
- (cns11643_4a.h, cns11643_4b.h, cns11643_5.h, cns11643_6.h,
- cns11643_7.h, cns11643_15.h): New rules.
- (cns11643_inv.h): Change title.
- * lib/cns11643_1.h: Regenerated from Unicode 3.1 derived table.
- * lib/cns11643_3.h: Likewise.
- * lib/cns11643_4a.h: New file.
- * lib/cns11643_4b.h: New file.
- * lib/cns11643_4.h: New file.
- * lib/cns11643_5.h: New file.
- * lib/cns11643_6.h: New file.
- * lib/cns11643_7.h: New file.
- * lib/cns11643_15.h: New file.
- * lib/cns11643_inv.h: Regenerated from Unicode 3.1 derived table.
- (cns11643_inv_wctomb): Return 3 bytes now.
- * lib/cns11643.h: Include cns11643_4.h, cns11643_5.h, cns11643_6.h,
- cns11643_7.h, cns11643_15.h.
- (cns11643_wctomb): Now a simple alias to cns11643_inv_wctomb. Return
- plane number starting at 1, not 0.
- * lib/dec_hanyu.h (dec_hanyu_wctomb): Update for cns11643_wctomb
- change.
- * lib/euc_tw.h (euc_tw_mbtowc): Accept CNS11643 planes 4,5,6,7,15 as
- well.
- (euc_tw_wctomb): Update for cns11643_wctomb change.
- * lib/iso2022_cn.h (iso2022_cn_wctomb): Likewise.
- * lib/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Accept CNS11643 planes
- 4,5,6,7 as well.
- (iso2022_cn_ext_wctomb): Update for cns11643_wctomb change.
- Try CNS11643 planes 4,5,6,7 as well.
- * tests/EUC-TW.TXT: Many additions, mostly in planes 3,4,5,6,7,15.
- * tests/EUC-TW.IRREVERSIBLE.TXT: Reflect additions to CNS11643 plane 1.
- Add U+5344.
-
-2001-06-01 Bruno Haible <haible@clisp.cons.org>
-
- * tests/table-from.c (bmp_only): New variable.
- (ucs4_decode): If bmp_only, don't return characters outside Unicode
- plane 0.
- (main): When testing UTF-8 or GB18030, set bmp_only to 1. Don't print
- a conversion line if ucs4_decode returns NULL.
- * tests/table-to.c (main): When testing encodings other than UTF-8 and
- GB18030, loop upto U+30000 instead of U+10000.
-
-2001-05-24 Bruno Haible <haible@clisp.cons.org>
-
- * lib/converters.h (mbtowc_funcs): Add flushwc member function.
- * lib/flushwc.h: New file.
- * lib/cp1255.h: Include flushwc.h.
- (cp1255_comp_table_data, cp1255_comp_table): New arrays.
- (cp1255_mbtowc): Compose base and combining characters.
- (cp1255_flushwc): New macro.
- * lib/vietcomb.h (viet_comp_table_data, viet_comp_table): New arrays.
- * lib/cp1258.h: Include flushwc.h.
- (cp1258_mbtowc): Compose base and combining characters.
- (cp1258_flushwc): New macro.
- * lib/tcvn.h: Include flushwc.h.
- (tcvn_mbtowc): Compose base and combining characters.
- (tcvn_flushwc): New macro.
- * lib/loop_unicode.h: (unicode_transliterate): New function, extracted
- from unicode_loop_convert.
- (unicode_loop_convert): Use unicode_transliterate.
- (unicode_loop_reset): Call xxx_flushwc and output the resulting
- character.
- * lib/encodings.def: Add xxx_flushwc member.
- * lib/encodings_aix.def: Likewise.
- * lib/encodings_dos.def: Likewise.
- * lib/encodings_local.def: Likewise.
- * lib/encodings_osf1.def: Likewise.
- * lib/genaliases.c: Add an argument to the DEFENCODING macro.
- * lib/genaliases2.c: Likewise.
- * lib/genflags.c: Likewise.
- * lib/iconv.c: Likewise.
- * tests/table-from.c (try): Reset the iconv descriptor before the main
- call, and flush it afterwards.
- (ucs4_decode): New function.
- (main): Allow up to 3 Unicode characters output. Call ucs4_decode.
- * tests/CP1255-snippet: New file.
- * tests/CP1255-snippet.UTF-8: New file.
- * tests/CP1258-snippet: New file.
- * tests/CP1258-snippet.UTF-8: New file.
- * tests/TCVN-snippet: New file.
- * tests/TCVN-snippet.UTF-8: New file.
- * tests/Makefile.in (check): Check combining behaviour of CP1255,
- CP1258, TCVN.
- * tests/Makefile.msvc (check): Likewise.
- * tests/Makefile.os2 (check): Likewise.
-
-2001-05-22 Bruno Haible <haible@clisp.cons.org>
-
- * lib/converters.h (RET_ILUNI): New macro.
- (RET_ILSEQ): Change value to -1.
- (RET_TOOFEW): Change value.
- * lib/loop_unicode.h (unicode_loop_convert): Write RET_ILUNI instead
- of 0. Update handling of xxx_mbtowc return value.
- * lib/genflags.c (emit_encoding): Likewise.
- * lib/ascii.h (ascii_wctomb): Use RET_ILUNI instead of RET_ILSEQ.
- * lib/armscii_8.h (armscii_8_wctomb): Likewise.
- * lib/big5.h (big5_wctomb): Likewise.
- * lib/big5hkscs.h (big5hkscs_wctomb): Likewise.
- * lib/ces_big5.h (ces_big5_wctomb): Likewise.
- * lib/ces_gbk.h (ces_gbk_wctomb): Likewise.
- * lib/cns11643.h (cns11643_wctomb): Likewise.
- * lib/cns11643_inv.h (cns11643_inv_wctomb): Likewise.
- * lib/cp437.h (cp437_wctomb): Likewise.
- * lib/cp775.h (cp775_wctomb): Likewise.
- * lib/cp850.h (cp850_wctomb): Likewise.
- * lib/cp852.h (cp852_wctomb): Likewise.
- * lib/cp855.h (cp855_wctomb): Likewise.
- * lib/cp856.h (cp856_wctomb): Likewise.
- * lib/cp857.h (cp857_wctomb): Likewise.
- * lib/cp861.h (cp861_wctomb): Likewise.
- * lib/cp862.h (cp862_wctomb): Likewise.
- * lib/cp864.h (cp864_wctomb): Likewise.
- * lib/cp865.h (cp865_wctomb): Likewise.
- * lib/cp866.h (cp866_wctomb): Likewise.
- * lib/cp869.h (cp869_wctomb): Likewise.
- * lib/cp874.h (cp874_wctomb): Likewise.
- * lib/cp922.h (cp922_wctomb): Likewise.
- * lib/cp932ext.h (cp932ext_wctomb): Likewise.
- * lib/cp932.h (cp932_wctomb): Likewise.
- * lib/cp936ext.h (cp936ext_wctomb): Likewise.
- * lib/cp949.h (cp949_wctomb): Likewise.
- * lib/cp950ext.h (cp950ext_wctomb): Likewise.
- * lib/cp950.h (cp950_wctomb): Likewise.
- * lib/cp1046.h (cp1046_wctomb): Likewise.
- * lib/cp1124.h (cp1124_wctomb): Likewise.
- * lib/cp1129.h (cp1129_wctomb): Likewise.
- * lib/cp1133.h (cp1133_wctomb): Likewise.
- * lib/cp1250.h (cp1250_wctomb): Likewise.
- * lib/cp1251.h (cp1251_wctomb): Likewise.
- * lib/cp1252.h (cp1252_wctomb): Likewise.
- * lib/cp1253.h (cp1253_wctomb): Likewise.
- * lib/cp1254.h (cp1254_wctomb): Likewise.
- * lib/cp1255.h (cp1255_wctomb): Likewise.
- * lib/cp1256.h (cp1256_wctomb): Likewise.
- * lib/cp1257.h (cp1257_wctomb): Likewise.
- * lib/cp1258.h (cp1258_wctomb): Likewise.
- * lib/dec_hanyu.h (dec_hanyu_wctomb): Likewise.
- * lib/dec_kanji.h (dec_kanji_wctomb): Likewise.
- * lib/euc_cn.h (euc_cn_wctomb): Likewise.
- * lib/euc_jp.h (euc_jp_wctomb): Likewise.
- * lib/euc_kr.h (euc_kr_wctomb): Likewise.
- * lib/euc_tw.h (euc_tw_wctomb): Likewise.
- * lib/gb12345ext.h (gb12345ext_wctomb): Likewise.
- * lib/gb12345.h (gb12345_wctomb): Likewise.
- * lib/gb18030ext.h (gb18030ext_wctomb): Likewise.
- * lib/gb18030.h (gb18030_wctomb): Likewise.
- * lib/gb18030uni.h (gb18030uni_wctomb): Likewise.
- * lib/gb2312.h (gb2312_wctomb): Likewise.
- * lib/gbkext_inv.h (gbkext_inv_wctomb): Likewise.
- * lib/gbk.h (gbk_wctomb): Likewise.
- * lib/georgian_academy.h (georgian_academy_wctomb): Likewise.
- * lib/georgian_ps.h (georgian_ps_wctomb): Likewise.
- * lib/hkscs.h (hkscs_wctomb): Likewise.
- * lib/hp_roman8.h (hp_roman8_wctomb): Likewise.
- * lib/hz.h (hz_wctomb): Likewise.
- * lib/iso2022_cnext.h (iso2022_cn_ext_wctomb): Likewise.
- * lib/iso2022_cn.h (iso2022_cn_wctomb): Likewise.
- * lib/iso2022_jp1.h (iso2022_jp1_wctomb): Likewise.
- * lib/iso2022_jp2.h (iso2022_jp2_wctomb): Likewise.
- * lib/iso2022_jp.h (iso2022_jp_wctomb): Likewise.
- * lib/iso2022_kr.h (iso2022_kr_wctomb): Likewise.
- * lib/iso646_cn.h (iso646_cn_wctomb): Likewise.
- * lib/iso646_jp.h (iso646_jp_wctomb): Likewise.
- * lib/iso8859_1.h (iso8859_1_wctomb): Likewise.
- * lib/iso8859_2.h (iso8859_2_wctomb): Likewise.
- * lib/iso8859_3.h (iso8859_3_wctomb): Likewise.
- * lib/iso8859_4.h (iso8859_4_wctomb): Likewise.
- * lib/iso8859_5.h (iso8859_5_wctomb): Likewise.
- * lib/iso8859_6.h (iso8859_6_wctomb): Likewise.
- * lib/iso8859_7.h (iso8859_7_wctomb): Likewise.
- * lib/iso8859_8.h (iso8859_8_wctomb): Likewise.
- * lib/iso8859_9.h (iso8859_9_wctomb): Likewise.
- * lib/iso8859_10.h (iso8859_10_wctomb): Likewise.
- * lib/iso8859_13.h (iso8859_13_wctomb): Likewise.
- * lib/iso8859_14.h (iso8859_14_wctomb): Likewise.
- * lib/iso8859_15.h (iso8859_15_wctomb): Likewise.
- * lib/iso8859_16.h (iso8859_16_wctomb): Likewise.
- * lib/isoir165ext.h (isoir165ext_wctomb): Likewise.
- * lib/isoir165.h (isoir165_wctomb): Likewise.
- * lib/jisx0201.h (jisx0201_wctomb): Likewise.
- * lib/jisx0208.h (jisx0208_wctomb): Likewise.
- * lib/jisx0212.h (jisx0212_wctomb): Likewise.
- * lib/johab.h (johab_wctomb): Likewise.
- * lib/johab_hangul.h (johab_hangul_wctomb, johab_hangul_decompose):
- Likewise.
- * lib/koi8_r.h (koi8_r_wctomb): Likewise.
- * lib/koi8_ru.h (koi8_ru_wctomb): Likewise.
- * lib/koi8_u.h (koi8_u_wctomb): Likewise.
- * lib/ksc5601.h (ksc5601_wctomb): Likewise.
- * lib/mac_arabic.h (mac_arabic_wctomb): Likewise.
- * lib/mac_centraleurope.h (mac_centraleurope_wctomb): Likewise.
- * lib/mac_croatian.h (mac_croatian_wctomb): Likewise.
- * lib/mac_cyrillic.h (mac_cyrillic_wctomb): Likewise.
- * lib/mac_greek.h (mac_greek_wctomb): Likewise.
- * lib/mac_hebrew.h (mac_hebrew_wctomb): Likewise.
- * lib/mac_iceland.h (mac_iceland_wctomb): Likewise.
- * lib/mac_roman.h (mac_roman_wctomb): Likewise.
- * lib/mac_romania.h (mac_romania_wctomb): Likewise.
- * lib/mac_thai.h (mac_thai_wctomb): Likewise.
- * lib/mac_turkish.h (mac_turkish_wctomb): Likewise.
- * lib/mac_ukraine.h (mac_ukraine_wctomb): Likewise.
- * lib/mulelao.h (mulelao_wctomb): Likewise.
- * lib/nextstep.h (nextstep_wctomb): Likewise.
- * lib/sjis.h (sjis_wctomb): Likewise.
- * lib/tcvn.h (tcvn_wctomb): Likewise.
- * lib/tis620.h (tis620_wctomb): Likewise.
- * lib/ucs2be.h (ucs2be_wctomb): Likewise.
- * lib/ucs2.h (ucs2_wctomb): Likewise.
- * lib/ucs2internal.h (ucs2internal_wctomb): Likewise.
- * lib/ucs2le.h (ucs2le_wctomb): Likewise.
- * lib/ucs2swapped.h (ucs2swapped_wctomb): Likewise.
- * lib/ucs4.h (ucs4_wctomb): Likewise.
- * lib/uhc_1.h (uhc_1_wctomb): Likewise.
- * lib/uhc_2.h (uhc_2_wctomb): Likewise.
- * lib/utf16be.h (utf16be_wctomb): Likewise.
- * lib/utf16.h (utf16_wctomb): Likewise.
- * lib/utf16le.h (utf16le_wctomb): Likewise.
- * lib/utf32be.h (utf32be_wctomb): Likewise.
- * lib/utf32.h (utf32_wctomb): Likewise.
- * lib/utf32le.h (utf32le_wctomb): Likewise.
- * lib/utf7.h (utf7_wctomb): Likewise.
- * lib/utf8.h (utf8_wctomb): Likewise.
- * lib/viscii.h (viscii_wctomb): Likewise.
- * tools/8bit_tab_to_h.c (main): Likewise.
- * tools/cjk_tab_to_h.c (output_uni2charset_dense,
- output_uni2charset_sparse, do_gb18030uni): Likewise.
-
-2001-05-19 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.devel (all): Add man/{iconv.1,iconv*.3}.html.
- (man/%.html): New rule.
- * man/Makefile.in (docdir, htmldir): New variables.
- (install, installdirs): Install the HTML formatted man pages in
- $(htmldir).
- (uninstall): Uninstall them.
-
-2001-05-20 Bruno Haible <haible@clisp.cons.org>
-
- * lib/cp1255.h (cp1255_decomp_table): New array.
- (cp1255_comb_table): New array.
- (cp1255_wctomb): Decompose Unicode characters.
- * tests/CP1255.IRREVERSIBLE.TXT: New file.
-
-2001-05-13 Bruno Haible <haible@clisp.cons.org>
-
- * lib/vietcomb.h: New file.
- * lib/cp1258.h: Include it.
- (cp1258_comb_table): New array.
- (cp1258_wctomb): Decompose Unicode characters.
- * lib/tcvn.h: Include it.
- (tcvn_comb_table): New array.
- (tcvn_wctomb): Decompose Unicode characters.
- * tests/CP1258.IRREVERSIBLE.TXT: New file.
- * tests/TCVN.IRREVERSIBLE.TXT: New file.
-
-2001-05-06 Bruno Haible <haible@clisp.cons.org>
-
- * lib/Makefile.msvc (config.h): Allow the 'del' command to fail.
- (iconv.lib): Likewise.
-
-2001-05-06 Bruno Haible <haible@clisp.cons.org>
-
- * lib/Makefile.in (CPPFLAGS, LDFLAGS): New variables.
- (CPP): Remove variable.
- (libiconv.la, libiconv_plug_linux.so, libiconv_plug_solaris.so,
- libiconv_plug_osf.so): Use LDFLAGS.
- (libiconv_plug_linux.so, libiconv_plug_solaris.so,
- libiconv_plug_osf.so, iconv.lo): Use CPPFLAGS.
- * lib/Makefile.msvc (CPP): Remove variable.
- * src/Makefile.in (CPPFLAGS, LDFLAGS): New variables.
- (CPP): Remove variable.
- (iconv): Use CPPFLAGS and LDFLAGS.
- * src/Makefile.msvc (CPP): Remove variable.
- * tests/Makefile.in (CPPFLAGS, LDFLAGS): New variables.
- (check, table-from, table-to): Use CPPFLAGS and LDFLAGS.
- * tests/Makefile.msvc (CPP): Remove variable.
-
-2001-05-06 Bruno Haible <haible@clisp.cons.org>
-
- * lib/Makefile.in (libiconv_plug_solaris.so): Change rule if not using
- gcc. Reported by Paananen Mikko <mikkopa@cs.tut.fi>.
-
-2001-04-11 Bruno Haible <haible@clisp.cons.org>
-
- Implement and document UTF-32, UTF-32BE, UTF-32LE.
- * src/utf32.h, src/utf32be.h, src/utf32le.h: New files.
- * src/converters.h: Include them.
- * src/encodings.def (UTF-32, UTF-32BE, UTF32LE): New encodings.
- * README, man/iconv_open.3: Add UTF-32, UTF-32BE, UTF32LE.
- * tests/Makefile.in (check): Check UTF-32, UTF-32BE, UTF32LE.
- * tests/Makefile.os2 (check): Likewise.
- * tests/Makefile.msvc (check): Likewise.
- * tests/UTF-32*snippet*: New files.
-
- * lib/ucs4.h (ucs4_mbtowc): Fix value of other-endian byte order.
- (ucs4_wctomb): Allow any 31-bit codepoint.
-
-2001-04-11 Bruno Haible <haible@clisp.cons.org>
-
- * tests/GB18030.TXT: Add mappings for all of U+0000..U+FFFF, including
- unassigned code points.
- * tests/table-from.c (main); When dumping GB18030, don't print code
- points larger than U+FFFF.
-
-2001-03-30 Bruno Haible <haible@clisp.cons.org>
-
- * tools/Makefile (GB18030uni.TXT): Use a table source which includes
- the unassigned Unicode code points.
- * lib/gb18030uni.h: Update.
- (gb18030uni_ranges): Remove bitmap_offset field.
- (gb18030uni_bitmap): Remove array.
- (gb18030uni_mbtowc): Omit gb18030uni_bitmap access.
- (gb18030uni_wctomb): Likewise.
- * lib/gb18030.h (gb18030_mbtowc): Handle Unicode characters >= 0x10000.
- (gb18030_wctomb): Likewise.
-
-2001-03-21 Bruno Haible <haible@clisp.cons.org>
-
- * INSTALL.generic (Particular Systems): Add recommendations for AIX 3.
-
-2001-03-21 Bruno Haible <haible@clisp.cons.org>
-
- * src/iconv.c (print_version): Now called GNU libiconv.
-
-2001-03-20 Bruno Haible <haible@clisp.cons.org>
-
- * README: This package is now called GNU libiconv.
-
- * tools/8bit_tab_to_h.c (main): Emit copyright notice to the output
- file.
- * tools/cjk_tab_to_h.c (output_title): Likewise.
- * tools/cjk_variants.c (main): Likewise.
- * lib/gentranslit.c (main): Likewise.
-
-2001-03-19 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Always define
- ac_config_guess and ac_config_sub. Then ignore requests for
- AC_CONFIG_AUX_DIR_DEFAULT or AC_CANONICAL_HOST.
-
-2001-03-10 Bruno Haible <haible@clisp.cons.org>
-
- * INSTALL.generic: New section "Particular Systems".
-
-2001-03-10 Bruno Haible <haible@clisp.cons.org>
-
- * lib/Makefile.in (libiconv.la): Pass flag -no-undefined. Needed on
- platforms like BeOS.
-
- * lib/loop_wchar.h (mbstate_t): Don't typedef if already #defined in
- config.h.
-
-2001-03-06 Bruno Haible <haible@clisp.cons.org>
-
- * Version 1.6 released.
- * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
- Bump version number.
- * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:3:0.
-
-2001-03-05 Bruno Haible <haible@clisp.cons.org>
-
- Provide all encodings used by OSF/1 5.1 locales.
- * lib/dec_kanji.h: New file.
- * lib/dec_hanyu.h: New file.
- * lib/converters.h: Include them if USE_OSF1 is defined.
- * lib/encodings_osf1.def: New file.
- * lib/genflags.c (main): Include it. Define USE_OSF1.
- * lib/genaliases2.c (main): Include it conditionally.
- * lib/iconv.c: Define USE_OSF1 on OSF/1.
- Include encodings_osf1.def and aliases_osf1.h.
- * lib/Makefile.in (iconv.lo): Depend on encodings_osf1.def and
- aliases_osf1.h.
- * Makefile.devel (lib/aliases_osf1.h): New target.
- (all): Depend on lib/aliases_osf1.h.
- (lib/flags.h): Depend on lib/encodings_osf1.def.
-
-2001-03-01 Bruno Haible <haible@clisp.cons.org>
-
- * tools/Makefile (cp775.h): New target.
- (ALL): Add it.
- * lib/cp775.h: New file.
- * lib/converters.h: Include it.
- * lib/encodings_dos.def (CP775): New encoding.
-
-2001-02-25 Bruno Haible <haible@clisp.cons.org>
-
- * lib/iconv.c (iconv_open): locale_charset() doesn't return NULL any
- more.
-
-2001-02-24 Bruno Haible <haible@clisp.cons.org>
-
- * src/iconv.c (convert): Use ICONV_CONST.
- * tests/table-from.c: Include config.h.
- (try): Use ICONV_CONST.
- * tests/table-to.c: Include config.h.
- (main): Use ICONV_CONST.
- * tests/Makefile.in (INCLUDES): Add -I../lib.
- * tests/Makefile.os2 (INCLUDES): Likewise.
- * tests/Makefile.msvc (INCLUDES): Add -I..\lib.
-
-2001-02-24 Bruno Haible <haible@clisp.cons.org>
-
- Provide all encodings used by DOS locales.
- * tools/Makefile (cp437.h, cp852.h, cp855.h, cp857.h, cp861.h,
- cp864.h, cp865.h, cp869.h): New targets.
- (ALL): Add them.
- * lib/cp437.h: New file.
- * lib/cp852.h: New file.
- * lib/cp855.h: New file.
- * lib/cp857.h: New file.
- * lib/cp861.h: New file.
- * lib/cp864.h: New file.
- * lib/cp865.h: New file.
- * lib/cp869.h: New file.
- * lib/converters.h: Include them if USE_DOS is defined.
- * lib/encodings_dos.def: New file.
- * lib/genflags.c (main): Include it. Define USE_DOS.
- * lib/genaliases2.c (main): Include it conditionally.
- * lib/iconv.c: Define USE_DOS on DJGPP.
- Include encodings_dos.def and aliases_dos.h.
- * lib/Makefile.in (iconv.lo): Depend on encodings_dos.def and
- aliases_dos.h.
- * Makefile.devel (lib/aliases_dos.h): New target.
- (all): Depend on lib/aliases_dos.h.
- (lib/flags.h): Depend on lib/encodings_dos.def.
-
-2001-02-23 Bruno Haible <haible@clisp.cons.org>
-
- * src/iconv.c [DJGPP]: Include <io.h> and <unistd.h>.
- (SET_BINARY) [O_BINARY]: New macro.
- (usage): Mention --binary if available.
- (convert): Use SET_BINARY instead of setmode.
- (main): Likewise.
- Reported by Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>.
-
-2001-02-25 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/ltconfig:
- sed -e 's/reload object files/produce relocatable object files/'.
-
-2001-02-20 Bruno Haible <haible@clisp.cons.org>
-
- * src/iconv.c (usage, main): Make -f and -t options optional.
- * man/iconv.1: Mark them as optional.
-
-2001-02-20 Bruno Haible <haible@clisp.cons.org>
-
- * tools/Makefile (GB18030ext.TXT, GB18030uni.TXT): Generate from
- glibc-2.2.2 table.
- * lib/gb18030uni.h, lib/gb18030ext.h: Add mapping 0xA989 -> U+303E,
- 0xFE5E -> U+2E97. Shift the entire four-byte range.
- * tests/GB18030.TXT: Regenerated.
-
-2001-02-20 Bruno Haible <haible@clisp.cons.org>
-
- Better support for DOS/Windows platforms.
- * autoconf/ltconfig: Upgrade to libtool-1.3.5.
- * autoconf/ltmain.sh: Likewise.
- * autoconf/aclocal.m4: Likewise.
- * autoconf/install-sh: New file.
- * configure.in: Call AC_OBJEXT and AC_EXEEXT. Call AC_CONFIG_AUX_DIR.
-
-2001-02-20 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (libdir, includedir, mandir): Use the autoconf
- determined value, in order to respect the configure arguments.
- * lib/Makefile.in (libdir): Likewise.
- * src/Makefile.in (bindir): Likewise.
- * man/Makefile.in (mandir): Likewise.
-
-2001-02-04 Bruno Haible <haible@clisp.cons.org>
-
- * lib/translit.def: Add all the neutral transliterations from glibc.
- * lib/gentranslit.c (main): Allow UTF-8 replacements which are in
- UCS-2 but not in ISO-8859-1. Generate a table of 'unsigned short'.
- Avoid accessing data[-1].
- * lib/loop_unicode.h (unicode_loop_convert): Change type of pointer
- into translit_data.
-
-2001-01-05 Bruno Haible <haible@clisp.cons.org>
-
- Implement and document CP862.
- * tools/Makefile (ALL): Add cp862.h.
- (cp862.h): New target.
- * lib/cp862.h: New file.
- * lib/converters.h: Include it.
- * lib/encodings.def (CP862): New encoding.
- * README, man/iconv_open.3: Add CP862.
- * tests/Makefile.in (check): Check CP862.
- * tests/Makefile.msvc (check): Likewise.
- * tests/Makefile.os2 (check): Likewise.
- * tests/CP862.TXT: New file.
-
-2000-12-18 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/mbstate_t.m4: New file, from textutils-2.0.10.
- * Makefile.devel (OTHERMACROS): Add it.
- * configure.in: Call AC_MBSTATE_T.
- * lib/config.h.in (mbstate_t): New definition.
- * lib/loop_wchar.h (mbrtowc): For BeOS, declare and define fallback.
-
-2000-12-12 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in: Use $(MAKE) instead of $(MAKE) -r. Needed with Solaris
- "make", which doesn't set MAKE as expected by @SET_MAKE@ if -r is
- given. Reported by Toshimitsu Fujiwara.
-
-2000-12-08 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (exec_prefix): Use configure's --exec-prefix argument.
- * lib/Makefile.in (exec_prefix): Likewise.
- * src/Makefile.in (exec_prefix): Likewise.
- * man/Makefile.in (exec_prefix): Likewise.
-
-2000-12-02 Bruno Haible <haible@clisp.cons.org>
-
- * Version 1.5 released.
- * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
- Bump version number.
- * lib/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:2:0.
-
-2000-12-02 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (mostlyclean, clean, distclean, maintainer-clean):
- Remove files installed in lib by libcharset.
- * Makefile.msvc (mostlyclean): Likewise.
-
- * Makefile.in (check): Depend on target 'all'.
- * Makefile.os2 (check): Likewise.
- * Makefile.msvc (check): Depend on target 'force' as well.
-
- * src/iconv.c (usage): Take an exitcode argument.
- (print_version): New function.
- (main): Recognize --help and --version command line options.
-
-2000-12-02 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc: Replace STATIC with its opposite flag, DLL.
- * lib/Makefile.msvc: Likewise.
- * src/Makefile.msvc: Likewise.
- * tests/Makefile.msvc: Likewise.
-
-2000-12-01 Bruno Haible <haible@clisp.cons.org>
-
- * src/iconv.c: Include <fcntl.h>. Define fallbacks for setmode, fileno.
- (force_binary): New variable.
- (convert): If requested, set the input O_BINARY.
- (main): Accept --binary option. If requested, set the output O_BINARY.
- * tests/check-stateful.bat: Pass --binary to iconv.
- * tests/check-stateful.cmd: Likewise.
- * tests/check-translit.bat: Likewise.
- * tests/check-translit.cmd: Likewise.
-
-2000-12-01 Bruno Haible <haible@clisp.cons.org>
-
- * include/iconv.h.in (_libiconv_version): New declaration.
- * lib/iconv.c (_libiconv_version): New variable.
-
-2000-11-30 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc (all): File now named lib/libcharset.h.
- (clean, distclean, maintainer-clean): Likewise.
-
-2000-11-23 Bruno Haible <haible@clisp.cons.org>
-
- * lib/*: Move here all files from src/*.
- * src/*: Move all files to lib.
- * lib/Makefile.in (distclean): No need to remove config.status,
- config.log, config.cache.
- * configure.in: Require lib/iconv.c, not src/iconv.c. Create
- lib/config.h, not src/config.h. Also create lib/Makefile.
- * Makefile.in (all): Install libcharset into lib, not src. Recurse
- into lib and src.
- (install-lib): Recurse into lib, not src.
- (install): Recurse into libcharset, lib and src.
- (installdirs, uninstall): Likewise.
- (check, mostlyclean, clean, distclean, maintainer-clean): Likewise.
- * Makefile.msvc (all): Recurse into lib and src.
- (install): Recurse into libcharset, lib and src.
- (installdirs, uninstall): Likewise.
- (check, mostlyclean, clean, distclean, maintainer-clean): Likewise.
- * Makefile.os2 (all): Recurse into lib and src.
- (install-lib): Recurse into lib, not src.
- (install, uninstall): Recurse into lib and src.
- (check, mostlyclean, clean, distclean, maintainer-clean): Likewise.
- * Makefile.devel (lib/config.h.msvc): Renamed from src/config.h.msvc.
- (lib/aliases.h): Renamed from src/aliases.h.
- (lib/aliases.gperf): Renamed from src/aliases.gperf.
- (lib/aliases_aix.h): Renamed from src/aliases_aix.h.
- (lib/flags.h): Renamed from src/flags.h.
- (lib/translit.h): Renamed from src/translit.h.
- * src/iconv.c: Moved here from tests/iconv.c.
- * src/Makefile.in: New file.
- * src/Makefile.msvc: New file.
- * src/Makefile.os2: New file.
- * tests/Makefile.in (iconv): Remove target.
- (../lib/libiconv.la): Renamed from ../src/libiconv.la.
- (clean): No need to remove iconv.
- * tests/Makefile.msvc (iconv.exe): Remove target.
- * tests/Makefile.os2 (iconv.exe): Likewise.
- * tests/check-stateful: iconv is in ../src.
- * tests/check-stateful.bat: Likewise.
- * tests/check-stateful.cmd: Likewise.
- * tests/check-translit: iconv is in ../src.
- * tests/check-translit.bat: Likewise.
- * tests/check-translit.cmd: Likewise.
- * man/iconv.1: New file.
- * man/Makefile.in (install, installdirs, uninstall): Also install *.1
- man pages.
- * man/Makefile.os2 (MAN3): Renamed from MAN.
- (MAN1): New variable.
- (install, uninstall): Also install *.1 man pages.
-
-2000-11-21 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc (all, check, mostlyclean, clean, distclean,
- maintainer-clean): Recurse into libcharset.
- (clean, distclean, maintainer-clean): Remove src\libcharset.h.
- * src/Makefile.msvc (LIBCHARSET_OBJECTS): New variable.
- (iconv.lib): Link with $(LIBCHARSET_OBJECTS).
-
-2000-11-18 Bruno Haible <haible@clisp.cons.org>
-
- * src/cp950.h (cp950_mbtowc, cp950_wctomb): Change implementation
- so that it agrees with Microsoft's definition of CP950.
- * tests/CP950.TXT: Likewise.
- * tests/CP950.IRREVERSIBLE.TXT: Add 0xA244, 0xA2CC, 0xA2CE.
-
-2000-11-18 Bruno Haible <haible@clisp.cons.org>
-
- Add support for locale dependent "char" and "wchar_t" encodings.
- * libcharset: New subdirectory.
- * src/loop_unicode.h: New file, extracted from src/iconv.c.
- * src/loop_wchar.h: New file.
- * src/loops.h: New file. Include loop_unicode.h and loop_wchar.h.
- * src/encodings_local.def: New file.
- * src/genaliases.c: Also create aliases for encodings_local.def.
- * src/converters.h (conv_struct): Add lfuncs field.
- * src/genflags.c: Add dummy definitions of struct loop_funcs.
- * src/iconv.c: Include libcharset.h.
- (loop_funcs): New structure.
- Treat encodings_local.def like encodings.def.
- Include loops.h.
- (iconv_open): Move the bulk of the code to loop_unicode.h.
- (iconv): Likewise.
- (iconvctl): Extend determination of TRIVIALP to wchar_t conversion
- descriptors.
- * src/Makefile.in (PLUG_SOURCES): Remove variable.
- (LIBCHARSET_OBJECTS): New variable.
- (libiconv.la): Link in the LIBCHARSET_OBJECTS.
- (libiconv_plug_linux.so, libiconv_plug_solaris.so,
- libiconv_plug_osf.so): Link in the LIBCHARSET_OBJECTS, using
- LIBTOOL_LINK.
- (iconv.lo): Depend on encodings_local.def.
- * src/Makefile.msvc (iconv.obj): Depend on encodings_local.def.
- * src/Makefile.os2 (iconv.obj): Likewise.
- * configure.in: Add tests for locale.h, mbrtowc, wcrtomb, setlocale.
- Recurse into libcharset.
- * src/config.h.in (HAVE_LOCALE_H, HAVE_MBRTOWC, HAVE_WCRTOMB,
- HAVE_SETLOCALE): New macros.
- * tests/iconv.c: Include config.h and locale.h.
- (main): Call setlocale.
- * tests/Makefile.in (iconv): Search for config.h in ../src.
- * tests/Makefile.os2 (iconv.exe): Likewise.
- * tests/Makefile.msvc (iconv.exe): Likewise.
- * README, man/iconv_open.3: Document "char" and "wchar_t" encodings.
- * Makefile.in: After "cd", use "&&" not ";".
- (all, check, mostlyclean, clean, distclean, maintainer-clean):
- Recurse into libcharset.
- * Makefile.devel (all): Recurse into libcharset.
- (src/aliases.gperf): Depend on src/encodings_local.def.
-
-2000-11-18 Bruno Haible <haible@clisp.cons.org>
-
- * src/converters.h (ucs4_t): New type.
- (wchar_t): Remove locally defined override.
- (mbtowc_funcs, wctomb_funcs): Use ucs4_t instead of wchar_t.
- * src/iconv.c (iconv): Likewise.
- * src/genflags.c (emit_encoding): Use ucs4_t instead of wchar_t.
- * tools/8bit_tab_to_h.c: Use "ucs4_t" instead of "wchar_t".
- * tools/cjk_tab_to_h.c: Likewise.
- * src/armscii_8.h: Use ucs4_t instead of wchar_t.
- * src/ascii.h: Likewise.
- * src/big5.h: Likewise.
- * src/big5hkscs.h: Likewise.
- * src/ces_big5.h: Likewise.
- * src/ces_gbk.h: Likewise.
- * src/cns11643.h: Likewise.
- * src/cns11643_1.h: Likewise.
- * src/cns11643_2.h: Likewise.
- * src/cns11643_3.h: Likewise.
- * src/cns11643_inv.h: Likewise.
- * src/cp1046.h: Likewise.
- * src/cp1124.h: Likewise.
- * src/cp1129.h: Likewise.
- * src/cp1133.h: Likewise.
- * src/cp1250.h: Likewise.
- * src/cp1251.h: Likewise.
- * src/cp1252.h: Likewise.
- * src/cp1253.h: Likewise.
- * src/cp1254.h: Likewise.
- * src/cp1255.h: Likewise.
- * src/cp1256.h: Likewise.
- * src/cp1257.h: Likewise.
- * src/cp1258.h: Likewise.
- * src/cp850.h: Likewise.
- * src/cp856.h: Likewise.
- * src/cp866.h: Likewise.
- * src/cp874.h: Likewise.
- * src/cp922.h: Likewise.
- * src/cp932.h: Likewise.
- * src/cp932ext.h: Likewise.
- * src/cp936ext.h: Likewise.
- * src/cp949.h: Likewise.
- * src/cp950.h: Likewise.
- * src/cp950ext.h: Likewise.
- * src/euc_cn.h: Likewise.
- * src/euc_jp.h: Likewise.
- * src/euc_kr.h: Likewise.
- * src/euc_tw.h: Likewise.
- * src/gb12345.h: Likewise.
- * src/gb12345ext.h: Likewise.
- * src/gb18030.h: Likewise.
- * src/gb18030ext.h: Likewise.
- * src/gb18030uni.h: Likewise.
- * src/gb2312.h: Likewise.
- * src/gbk.h: Likewise.
- * src/gbkext1.h: Likewise.
- * src/gbkext2.h: Likewise.
- * src/gbkext_inv.h: Likewise.
- * src/georgian_academy.h: Likewise.
- * src/georgian_ps.h: Likewise.
- * src/hkscs.h: Likewise.
- * src/hp_roman8.h: Likewise.
- * src/hz.h: Likewise.
- * src/iso2022_cn.h: Likewise.
- * src/iso2022_cnext.h: Likewise.
- * src/iso2022_jp.h: Likewise.
- * src/iso2022_jp1.h: Likewise.
- * src/iso2022_jp2.h: Likewise.
- * src/iso2022_kr.h: Likewise.
- * src/iso646_cn.h: Likewise.
- * src/iso646_jp.h: Likewise.
- * src/iso8859_1.h: Likewise.
- * src/iso8859_10.h: Likewise.
- * src/iso8859_13.h: Likewise.
- * src/iso8859_14.h: Likewise.
- * src/iso8859_15.h: Likewise.
- * src/iso8859_16.h: Likewise.
- * src/iso8859_2.h: Likewise.
- * src/iso8859_3.h: Likewise.
- * src/iso8859_4.h: Likewise.
- * src/iso8859_5.h: Likewise.
- * src/iso8859_6.h: Likewise.
- * src/iso8859_7.h: Likewise.
- * src/iso8859_8.h: Likewise.
- * src/iso8859_9.h: Likewise.
- * src/isoir165.h: Likewise.
- * src/isoir165ext.h: Likewise.
- * src/java.h: Likewise.
- * src/jisx0201.h: Likewise.
- * src/jisx0208.h: Likewise.
- * src/jisx0212.h: Likewise.
- * src/johab.h: Likewise.
- * src/johab_hangul.h: Likewise.
- * src/koi8_r.h: Likewise.
- * src/koi8_ru.h: Likewise.
- * src/koi8_u.h: Likewise.
- * src/ksc5601.h: Likewise.
- * src/mac_arabic.h: Likewise.
- * src/mac_centraleurope.h: Likewise.
- * src/mac_croatian.h: Likewise.
- * src/mac_cyrillic.h: Likewise.
- * src/mac_greek.h: Likewise.
- * src/mac_hebrew.h: Likewise.
- * src/mac_iceland.h: Likewise.
- * src/mac_roman.h: Likewise.
- * src/mac_romania.h: Likewise.
- * src/mac_thai.h: Likewise.
- * src/mac_turkish.h: Likewise.
- * src/mac_ukraine.h: Likewise.
- * src/mulelao.h: Likewise.
- * src/nextstep.h: Likewise.
- * src/sjis.h: Likewise.
- * src/tcvn.h: Likewise.
- * src/tis620.h: Likewise.
- * src/ucs2.h: Likewise.
- * src/ucs2be.h: Likewise.
- * src/ucs2internal.h: Likewise.
- * src/ucs2le.h: Likewise.
- * src/ucs2swapped.h: Likewise.
- * src/ucs4.h: Likewise.
- * src/ucs4be.h: Likewise.
- * src/ucs4internal.h: Likewise.
- * src/ucs4le.h: Likewise.
- * src/ucs4swapped.h: Likewise.
- * src/uhc_1.h: Likewise.
- * src/uhc_2.h: Likewise.
- * src/utf16.h: Likewise.
- * src/utf16be.h: Likewise.
- * src/utf16le.h: Likewise.
- * src/utf7.h: Likewise.
- * src/utf8.h: Likewise.
- * src/viscii.h: Likewise.
-
-2000-11-18 Bruno Haible <haible@clisp.cons.org>
-
- Make transliteration optional.
- * src/iconv.c (iconv_open): Strip off //TRANSLIT suffix from names.
- Set transliteration on if and only if tocode ends in //TRANSLIT.
- * README, man/iconv_open.3: Document how to enable transliteration.
- * tests/check-translit: Add //TRANSLIT to iconv's 't' argument.
- * tests/check-translit.bat: Likewise.
- * tests/check-translit.cmd: Likewise.
-
-2000-11-18 Bruno Haible <haible@clisp.cons.org>
-
- * man/iconv.3: Fix typo.
-
-2000-10-31 Bruno Haible <haible@clisp.cons.org>
-
- * README, man/iconv_open.3: Document JOHAB again.
-
-2000-11-15 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc: Add support for MFLAGS and DEBUG parameters.
- (STATIC): Change default from 0 to 1.
- * src/Makefile.msvc: Likewise.
- * tests/Makefile.msvc: Likewise.
- * tests/check-stateless.bat: Call 'sort' with no arguments.
-
-2000-11-12 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/config.guess, autoconf/config.sub: Upgrade to newest
- version from GNU CVS.
-
-2000-10-24 Bruno Haible <haible@clisp.cons.org>
-
- * Version 1.4 released.
- * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
- Bump version number.
- * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:1:0.
-
-2000-10-23 Bruno Haible <haible@clisp.cons.org>
-
- Implement and document GB18030 and BIG5HKSCS.
- * tools/cjk_tab_to_h.c (row_byte_hkscs, byte_row_hkscs, do_hkscs): New
- functions.
- (do_gb18030uni): New function.
- (main): Accept gb18030ext, gb18030uni, hkscs.
- * tools/Makefile (ALL): Add gb18030ext.h, gb18030uni.h, hkscs.h.
- (gb18030ext.h, GB18030ext.TXT, gb18030uni.h, GB18030uni.TXT,
- hkscs.h): New targets.
- * src/gb18030ext.h, src/gb18030uni.h, src/gb18030.h: New files.
- * src/hkscs.h, src/big5hkscs.h: New files.
- * src/converters.h: Include gb18030.h and big5hkscs.h.
- * src/encodings.def (GB18030, BIG5HKSCS): New encodings.
- * README, man/iconv_open.3: Add GB18030, BIG5HKSCS.
- * tests/Makefile.in (check): Check GB18030, BIG5HKSCS.
- * tests/Makefile.msvc (check): Likewise.
- * tests/Makefile.os2 (check): Likewise.
- * tests/GB18030.TXT: New file.
- * tests/BIG5HKSCS.TXT, tests/BIG5HKSCS.IRREVERSIBLE.TXT: New files.
-
-2000-10-23 Bruno Haible <haible@clisp.cons.org>
-
- * tests/table-from.c (try, main): Use UCS-4-INTERNAL instead of
- UCS-2-INTERNAL, to avoid problems with UCS-2 surrogate handling.
- * tests/table-to.c (main): Likewise.
-
-2000-10-22 Bruno Haible <haible@clisp.cons.org>
-
- * src/gentranslit.c (main): Read the input in UTF-8 encoding.
-
-2000-10-09 Bruno Haible <haible@clisp.cons.org>
-
- CPU recognition on OpenBSD.
- * autoconf/aclocal.m4 (CL_WORDS_LITTLEENDIAN): Recognize __m68k__,
- __mc68020__, __MIPSEB__, __MIPSEL__, __m88k__ as CPU indicators.
-
-2000-10-03 Bruno Haible <haible@clisp.cons.org>
-
- * src/gentranslit.c (main): Don't output non-ASCII ISO-8859-1
- character literals, use the numeric value instead.
- Reported by Shin-Hsien Yeh <shyeh@alcatel.com.tw>.
-
-2000-09-29 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Fix bug in 2000-05-23
- change.
-
-2000-09-25 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/aclocal.m4 (CL_WORDS_LITTLEENDIAN): Recognize __i386__
- as equivalent to __i386. For OpenBSD.
-
-2000-09-21 Bruno Haible <haible@clisp.cons.org>
-
- * src/utf16.h (utf16_wctomb): Reject single surrogates.
- * src/utf16be.h (utf16be_wctomb): Likewise.
- * src/utf16le.h (utf16le_wctomb): Likewise.
- * src/ucs2.h (ucs2_mbtowc, ucs2_wctomb): Likewise.
- * src/ucs2be.h (ucs2be_mbtowc, ucs2be_wctomb): Likewise.
- * src/ucs2le.h (ucs2le_mbtowc, ucs2le_wctomb): Likewise.
- * src/ucs2internal.h (ucs2internal_mbtowc, ucs2internal_wctomb):
- Likewise.
- * src/ucs2swapped.h (ucs2swapped_mbtowc, ucs2swapped_wctomb):
- Likewise.
-
-2000-09-15 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (install, installdirs, uninstall): Support DESTDIR.
- * src/Makefile.in (install, installdirs, uninstall): Likewise.
- * man/Makefile.in (install, installdirs, uninstall): Likewise.
-
-2000-09-11 Bruno Haible <haible@clisp.cons.org>
-
- * src/utf7.h (utf7_mbtowc): Fix combining of UTF-16 surrogates.
-
-2000-08-26 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/acgeneral.m4 (AC_OUTPUT): Use braces in exec_prefix default
- value, not parens.
-
-2000-07-04 Akira Hatakeyama <akira@sra.co.jp>
- Bruno Haible <haible@clisp.cons.org>
-
- * os2/iconv.def, README.os2, Makefile.os2, src/Makefile.os2,
- tests/Makefile.os2, man/Makefile.os2, tests/check-stateful.cmd,
- tests/check-stateless.cmd, tests/check-translit.cmd: New files.
-
-2000-06-28 Bruno Haible <haible@clisp.cons.org>
-
- * src/ucs2internal.h (ucs2internal_mbtowc): Avoid gcc warning about
- cast.
- * src/ucs4internal.h (ucs4internal_mbtowc): Likewise.
- * src/ucs2swapped.h (ucs2swapped_mbtowc, ucs2swapped_wctomb): Verify
- sizeof(unsigned short).
- * src/ucs4swapped.h (ucs4swapped_mbtowc, ucs4swapped_mbtowc): Verify
- sizeof(unsigned int).
- Reported by François Pinard <pinard@iro.umontreal.ca>.
-
-2000-05-29 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo.
- Reported by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
-
-2000-05-23 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu,
- host_vendor, host_os correctly if $host has more than two hyphens.
-
-2000-04-15 Bruno Haible <haible@clisp.cons.org>
-
- * Version 1.3 released.
- * include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
- Bump version number.
- * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:0:0.
-
-2000-04-15 Bruno Haible <haible@clisp.cons.org>
-
- * THANKS: New file.
- * INSTALL.generic: New file.
-
- Implement and document UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE.
- * src/ucs2be.h, src/ucs2le.h, src/ucs4be.h, src/ucs4le.h: New files.
- * src/converters.h: Include them.
- * src/ucs2swapped.h: Remove #defines for UCS-2-BE, UCS-2-LE.
- * src/ucs4swapped.h: Remove #defines for UCS-4-BE, UCS-4-LE.
- * src/encodings.def (UCS-2BE): Renamed from UCS-2-BE.
- (UCS-2LE): Renamed from UCS-2-LE.
- (UCS-4BE): Renamed from UCS-4-BE.
- (UCS-4LE): Renamed from UCS-4-LE.
- * Makefile.devel (src/aliases.h): Pass option "-i 1" to gperf.
- * README, man/iconv_open.3: Add UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE.
- * tests/Makefile.in (check): Check UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE.
- * tests/Makefile.msvc (check): Likewise.
- * tests/UCS-*snippet*: New files.
-
- Allow building as a shared library on Windows.
- Allow running the tests on Windows.
- * Makefile.devel (include/iconv.h.msvc): Remove rule.
- (include/iconv.h.msvc-static, include/iconv.h.msvc-shared): New
- rules.
- (all): Update.
- * windows/dllexport.h: New file.
- * include/iconv.h.msvc: Remove file.
- * include/iconv.h.msvc-static, include/iconv.h.msvc-shared: New
- autogenerated files.
- * Makefile.msvc (STATIC, DEBUG): Default to 0.
- (all): Choose either include\iconv.h.msvc-static or
- include\iconv.h.msvc-shared.
- (check): Depend on all.
- (all, check, mostlyclean, clean, distclean, maintainer-clean):
- Recurse into tests directory.
- * src/Makefile.msvc (STATIC, DEBUG): Default to 0.
- (WARN_CFLAGS, PICFLAGS, OPTIMFLAGS): New variables.
- (CFLAGS): Use them. Add -MD and -DBUILDING_LIBICONV.
- (RESOURCES): New variable.
- (iconv.lib): Change rule when building DLL.
- (clean, distclean): One filename per line.
- * tests/Makefile.msvc: New file.
- * tests/check-stateful.bat, tests/check-stateless.bat,
- tests/check-translit.bat: New files.
- * tests/uniq-u.c: New file, taken from GNU textutils.
- * README.win32: Update.
- Based on patches by Taro Muraoka <koron@tka.att.ne.jp>.
-
-2000-04-14 Bruno Haible <haible@clisp.cons.org>
-
- Fix an OSF/1 problem.
- * configure.in: Define GCC variable for substitution.
- * src/Makefile.in (libiconv_plug_osf.so): Change rule if not using
- gcc.
-
-2000-04-13 Bruno Haible <haible@clisp.cons.org>
-
- Fix a SunOS 4 problem.
- * include/iconv.h.in: If EILSEQ is not defined by the system, define
- it to ENOENT, not EINVAL.
-
-2000-04-02 Bruno Haible <haible@clisp.cons.org>
-
- Allow building on filesystems lacking symlinks and hard links.
- * Makefile.devel (autoconf/aclocal.m4): Replace AC_PROG_LN_S with
- CL_PROG_LN_S.
- * configure.in: Add CL_PROG_LN, CL_PROG_LN_S.
- * src/Makefile.in (LN): Use autoconfigured value @LN@.
- (LN_S): Use autoconfigured value @LN_S@.
-
-2000-03-15 Bruno Haible <haible@clisp.cons.org>
-
- * Version 1.2 released.
- * include/iconv.h.in (_LIBICONV_VERSION): Bump version number.
- * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 1:1:1.
-
-2000-03-14 Bruno Haible <haible@clisp.cons.org>
-
- Implement and document UTF-16BE and UTF16LE.
- * src/utf16be.h, src/utf16le.h: New files.
- * src/converters.h: Include them.
- * src/encodings.def (UTF-16BE, UTF16LE): New encodings.
- * README, man/iconv_open.3: Add UTF-16BE, UTF16LE.
- * tests/Makefile.in (check): Check UTF-16, UTF-16BE, UTF16LE.
- * tests/UTF-16*snippet*: New files.
-
- * src/utf16.h (utf16_wctomb): Output a byte order mark.
-
-2000-03-13 Bruno Haible <haible@clisp.cons.org>
-
- Provide all encodings used by AIX locales.
- * tools/Makefile (all): Add cp856.h, cp922.h, cp1046.h, cp1124.h,
- cp1129.h.
- (cp856.h, cp922.h, cp1046.h, cp1124.h, cp1129.h): New targets.
- * src/cp856.h, src/cp922.h, src/cp943.h, src/cp1046.h, src/cp1124.h,
- src/cp1129.h: New files.
- * src/converters.h: Include them if USE_AIX is defined.
- * src/encodings_aix.def: New file, with CP856, CP922, CP943, CP1046,
- CP1124, CP1129.
- * src/genflags.c: Define USE_AIX. Include encodings_aix.def.
- * src/genaliases2.c: New file.
- * src/iconv.c: Define USE_AIX on AIX.
- Include encodings_aix.def and aliases_aix.h.
- (aliases2_lookup): New function.
- (iconv_open): Call aliases2_lookup.
- * src/Makefile.in (iconv.lo): Depend on encodings_aix.def and
- aliases_aix.h.
- * Makefile.devel (all): Add src/aliases_aix.h.
- (src/aliases_aix.h): New rule.
- (src/flags.h): Depend on src/encodings_aix.def.
-
-2000-02-24 Bruno Haible <haible@clisp.cons.org>
-
- * src/iconv.c (iconv): Don't write beyond the end of the output buffer.
- Reported by Edmund Grimley Evans <edmundo@rano.org>.
-
-2000-02-22 Bruno Haible <haible@clisp.cons.org>
-
- * src/utf7.h (direct_tab, xdirect_tab): Treat tab like space.
-
-2000-02-15 Bruno Haible <haible@clisp.cons.org>
-
- * src/iconv.c (iconv): Add cast in xxx_reset call.
-
-2000-02-05 Bruno Haible <haible@clisp.cons.org>
-
- * src/tis620.h: Simplify.
-
-2000-01-27 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.devel (CLISP_DIR): Change to "..".
-
-2000-01-24 Bruno Haible <haible@clisp.cons.org>
-
- * Version 1.1 released.
- * include/iconv.h.in (_LIBICONV_VERSION): Bump version number.
- * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 1:0:1.
-
-2000-01-23 Bruno Haible <haible@clisp.cons.org>
-
- * src/utf7.h (utf7_wctomb): If base64 encoding is not active, encode
- '+' as "+-".
-
-2000-01-22 Bruno Haible <haible@clisp.cons.org>
-
- * include/iconv.h.in (iconvctl): New declaration.
- (ICONV_TRIVIALP, ICONV_GET_TRANSLITERATE, ICONV_SET_TRANSLITERATE):
- New macros.
- * src/iconv.c (iconvctl): New function.
-
- * tests/Makefile.in: Add a rule for ../src/libiconv.la. Define $(MAKE).
-
- Solve a build problem.
- * include/iconv.h.in: Renamed from include/libiconv.h.in.
- * Makefile.devel: libiconv.h -> iconv.h.
- * Makefile.in: Likewise.
- * configure.in: Likewise. Remove check for <iconv.h>.
- * src/iconv.c: Include iconv.h instead of libiconv.h.
- * tests/iconv.c, tests/table-from.c, tests/table-to.c: Likewise.
-
- * README, man/iconv_open.3: Don't document JOHAB any more.
-
- * man/iconv.3: Clarify return value again.
-
-2000-01-16 Bruno Haible <haible@clisp.cons.org>
-
- Add aliases.
- * src/encodings.def (ISO-8859-14): Add alias ISO-IR-199.
- (ISO-8859-15): Add alias ISO-IR-203.
- (EUC-CN): Add alias CN-GB, from RFC 1922.
- (BIG5): Add alias CN-BIG5, from RFC 1922.
- * Makefile.devel (src/aliases.h): Add 8th character to key set.
-
- Drop X11 aliases.
- * src/encodings.def (JIS_X0201): Drop JISX0201.1976-0 alias.
- (JIS_X0208): Drop JIS_X0208.1983-0, JIS_X0208.1983-1 aliases.
- (KSC_5601): Drop KSC5601.1987-0 alias.
-
- Improve GB/T 12345 (not used yet).
- * tools/Makefile (gb12345ext.h): Use GB12345-more.TXT.
- * src/gb12345ext.h: Regenerated.
-
- Improve and document CP949.
- * tools/Makefile (all): Add uhc_1.h and uhc_2.h.
- (uhc_1.h, uhc_2.h): New rules.
- * tools/cjk_tab_to_h.c (output_charset2uni_noholes_monotonic): New
- function.
- (output_uni2charset_sparse): Take an additional boolean argument.
- All callers changed.
- (*_uhc_1, *_uhc_2): New functions.
- (main): Treat uhc_1 and uhc_2.
- * src/uhc_1.h, src/uhc_2.h: New files.
- * src/cp949.h: New file, include them.
- * src/converters.h: Include it.
- * src/encodings.def (KSC_5601): Remove alias CP949.
- (CP949): New encoding.
- * README, man/iconv_open.3: Add CP949.
- * tests/Makefile.in (check): Check CP949.
- * tests/CP949.TXT: New file.
-
- Document CP932.
- * README, man/iconv_open.3: Add CP932.
- * tests/Makefile.in (check): Check CP932.
- * tests/CP932.TXT, tests/CP932.IRREVERSIBLE.TXT: New files.
-
- * Makefile.devel (src/flags.h): Depend on src/converters.h.
-
- * tests/Makefile.in (check): Check JIS_X0201.
- * tests/JIS_X0201.TXT: New file.
-
- * src/euc_kr.h (euc_kr_wctomb): Shrink size of buf.
- * src/iso2022_kr.h (iso2022_kr_wctomb): Likewise.
-
- * src/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Use isoir165_mbtowc.
- (iso2022_cn_ext_wctomb): Use isoir165_wctomb.
-
- Add ISO-IR-165 (undocumented).
- * tools/Makefile (all): Add isoir165ext.h.
- (isoir165ext.h): New rule.
- * tools/cjk_tab_to_h.c (main): Treat isoir165ext like gb2312.
- * src/isoir165.h, src/isoir165ext.h: New files.
- * src/converters.h: Include it.
- * src/encodings.def: Add ISO-IR-165.
- * tests/Makefile.in (check): Check ISO-IR-165.
- * tests/ISO-IR-165.TXT, tests/ISO-IR-165.IRREVERSIBLE.TXT: New files.
-
- Add ISO646-CN (undocumented).
- * src/iso646_cn.h: New file.
- * src/converters.h: Include it.
- * src/encodings.def: Add ISO646-CN.
- * tests/Makefile.in (check): Check ISO646-CN.
- * tests/ISO646-CN.TXT: New file.
-
- Add ISO646-JP (undocumented).
- * src/iso646_jp.h: New file.
- * src/converters.h: Include it.
- * src/encodings.def: Add ISO646-JP.
- * tests/Makefile.in (check): Check ISO646-JP.
- * tests/ISO646-JP.TXT: New file.
-
-2000-01-05 Bruno Haible <haible@clisp.cons.org>
-
- Add ISO-8859-16.
- * tools/Makefile (all): Add iso8859_16.h.
- (iso8859_16.h): New rule.
- * src/iso8859_16.h: New file.
- * src/converters.h: Include it.
- * src/encodings.def: Add ISO-8859-16.
- * README, man/iconv_open.3: Add ISO-8859-16.
- * tests/Makefile.in (check): Check ISO-8859-16.
- * tests/ISO-8859-16.TXT: New file.
-
- * man/iconv.3: Clarify what happens *inbuf in case 3.
-
- * src/iso8859_8.h: Update using newest table from ftp.unicode.org.
- * tests/ISO-8859-8.TXT: Likewise.
-
-2000-01-04 Bruno Haible <haible@clisp.cons.org>
-
- * Version 1.0 released.
- * include/libiconv.h.in (_LIBICONV_VERSION): Bump version number.
- * src/Makefile.in (LIBICONV_VERSION_INFO): Define to 0:1:0.
- (libiconv.la): Use LIBICONV_VERSION_INFO.
-
-2000-01-03 Bruno Haible <haible@clisp.cons.org>
-
- * tests/Makefile.in: New file.
- tests/check-stateless, tests/table-from.c, tests/table-to.c,
- tests/*.TXT, tests/genutf8.c: New files, checks for stateless
- encodings.
- tests/check-stateful, tests/iconv.c, tests/*-snippet*: New files,
- checks for stateful encodings.
- * Makefile.in (all, check, mostlyclean, clean, distclean,
- maintainer-clean): Descend into tests directory.
- * configure.in: Add tests/Makefile to AC_OUTPUT duties.
-
- * src/gentranslit.c: New file.
- * Makefile.devel (src/translit.h): New rule.
- * src/translit.def, src/translit.h: New files.
- * src/iconv.c: Include it.
- (iconv): Transliterate using translit.h table.
-
- * src/genflags.c: New file.
- * Makefile.devel (src/flags.h): New rule.
- * src/flags.h: New file.
- * src/iconv.c: Include it.
- (encoding): Add field 'oflags'.
- (all_encodings): Initialize the field 'oflags'.
- (iconv_open): Copy field 'oflags'.
- (iconv): Transliterate quotation marks U+2018, U+2019, U+201A.
- * src/Makefile.in (iconv.lo): Update dependencies.
-
- * src/converters.h: New file, extracted from src/iconv.c.
- * src/iconv.c: Include it.
- * src/Makefile.in (iconv.lo): Update dependencies.
-
- * tools/cjk_variants.c: New file.
- * tools/Makefile (ALL): Add cjk_variants.h.
- (cjk_variants.h, cjk_variants): New rules.
- * src/cjk_variants.h: New file.
- * src/iconv.c: Include it.
- (iconv): Use cjk_variants for transliteration.
-
- * man/iconv.3: Fix description of return value.
- * euc_kr.h (euc_kr_wctomb): Remove Hangul transliteration.
- * iso2022_kr.h (iso2022kr_wctomb): Likewise.
- * src/iconv.c (iconv): Do Hangul transliteration here and increment
- result once for every transliterated character.
- * src/johab_hangul.h (johab_hangul_decompose): Change result array
- from 'unsigned char*' to 'wchar_t*'.
-
- * src/cp1258.h (cp1258_mbtowc): Return RET_ILSEQ instead of storing
- 0xfffd.
-
- * src/georgian_ps.h (georgian_ps_wctomb): Accept 0x00e6.
-
- * src/euc_jp.h (euc_jp_wctomb): Don't treat U+005C and U+007E like
- Katakana.
-
- * src/euc_tw.h (euc_tw_mbtowc): Fix typo.
-
- * src/cp950.h (cp950_mbtowc, cp950_wctomb): Exclude the range
- 0xC6A1..0xC7FE.
-
- * tools/cjk_tab_to_h.c (read_table_ksc5601): Some Hangul range was
- not being excluded. Fix that.
- * src/ksc5601.h: Regenerated.
- * src/johab.h (johab_mbtowc): Don't accept 0xDA{A1..D3} - this is
- valid in KSC5601/KSX1001 but not in JOHAB.
-
- * src/iconv.c (conv_struct): Add fields iindex, oindex.
- (iconv_open): Fill in iindex, oindex.
-
- * src/encodings.def (UCS-2-BE): Add aliases "UNICODE-1-1" and
- "csUnicode11", from IANA charset list.
- (MacRoman): Add aliases "MAC" and "csMacintosh" for "MACINTOSH",
- from IANA charset list.
- (JIS_X0208): Add aliases "X0208", "ISO-IR-87", "csISO87JISX0208",
- from IANA charset list.
- (GB_2312-80): New encoding, from IANA charset list.
-
- * README, man/iconv_open.3: Add MacIceland and MacUkraine.
-
- * Makefile.devel: Add rules for src/aliases.h and src/aliases.gperf.
- (all): Depend on src/aliases.h.
- * src/Makefile.in: Remove rules for $(srcdir)/aliases.h and
- $(srcdir)/aliases.gperf.
- (clean): Clean up.
-
- * src/Makefile.in (libiconv_plug_linux.so): Remove unneeded "-ldl".
-
-1999-12-31 Bruno Haible <haible@clisp.cons.org>
-
- * Version 0.3 released.
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/DESIGN b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/DESIGN
deleted file mode 100644
index 9ff2ad3a..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/DESIGN
+++ /dev/null
@@ -1,64 +0,0 @@
-While some other iconv(3) implementations - like FreeBSD iconv(3) - choose
-the "many small shared libraries" and dlopen(3) approach, this implementation
-packs everything into a single shared library. Here is a comparison of the
-two designs.
-
-* Run-time efficiency
- 1. A dlopen() based approach needs a cache of loaded shared libraries.
- Otherwise, every iconv_open() call will result in a call to dlopen()
- and thus to file system related system calls - which is prohibitive
- because some applications use the iconv_open/iconv/iconv_close sequence
- for every single filename, string, or piece of text.
- 2. In terms of virtual memory use, both approaches are on par. Being shared
- libraries, the tables are shared between any processes that use them.
- And because of the demand loading used by Unix systems (and because libiconv
- does not have initialization functions), only those parts of the tables
- which are needed (typically very few kilobytes) will be read from disk and
- paged into main memory.
- 3. Even with a cache of loaded shared libraries, the dlopen() based approach
- makes more system calls, because it has to load one or two shared libraries
- for every encoding in use.
-
-* Total size
- In the dlopen(3) approach, every shared library has a symbol table and
- relocation offset. All together, FreeBSD iconv installs more than 200 shared
- libraries with a total size of 2.3 MB. Whereas libiconv installs 0.45 MB.
-
-* Extensibility
- The dlopen(3) approach is good for guaranteeing extensibility if the iconv
- implementation is distributed without source. (Or when, as in glibc, you
- cannot rebuild iconv without rebuilding your libc, thus possibly
- destabilizing your system.)
- The libiconv package achieves extensibility through the LGPL license:
- Every user has access to the source of the package and can extend and
- replace just libiconv.so.
- The places which have to be modified when a new encoding is added are as
- follows: add an #include statement in iconv.c, add an entry in the table in
- iconv.c, and of course, update the README and iconv_open.3 manual page.
-
-* Use within other packages
- If you want to incorporate an iconv implementation into another package
- (such as a mail user agent or web browser), the single library approach
- is easier, because:
- 1. In the shared library approach you have to provide the right directory
- prefix which will be used at run time.
- 2. Incorporating iconv as a static library into the executable is easy -
- it won't need dynamic loading. (This assumes that your package is under
- the LGPL or GPL license.)
-
-
-All conversions go through Unicode. This is possible because most of the
-world's characters have already been allocated in the Unicode standard.
-Therefore we have for each encoding two functions:
-- For conversion from the encoding to Unicode, a function called xxx_mbtowc.
-- For conversion from Unicode to the encoding, a function called xxx_wctomb,
- and for stateful encodings, a function called xxx_reset which returns to
- the initial shift state.
-
-
-All our functions operate on a single Unicode character at a time. This is
-obviously less efficient than operating on an entire buffer of characters at
-a time, but it makes the coding considerably easier and less bug-prone. Those
-who wish best performance should install the Real Thing (TM): GNU libc 2.1
-or newer.
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/NEWS b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/NEWS
deleted file mode 100644
index 1248c5a8..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/NEWS
+++ /dev/null
@@ -1,119 +0,0 @@
-New in 1.9:
-* Many more transliterations.
-* New configuration option --enable-relocatable. See the INSTALL.generic file
- for details.
-
-New in 1.8:
-* The iconv program has new options -l, -c, -s.
-* The iconv program is internationalized.
-* Added C99 converter.
-* Added KOI8-T converter.
-* New configuration option --enable-extra-encodings that enables a bunch of
- additional encodings; see the README for details.
-* Updated the ISO-8859-16 converter.
-* Upgraded BIG5-HKSCS, EUC-TW, ISO-2022-CN, ISO-2022-CN-EXT converters to
- Unicode 3.2.
-* Upgraded EUC-KR, CP949, JOHAB converters to include the Euro sign.
-* Changed the ARMSCII-8 converter.
-* Extended the EUC-JP encoder so that YEN SIGN characters don't cause failures
- in Shift_JIS to EUC-JP conversion.
-* The JAVA converter now handles characters outside the Unicode BMP correctly.
-* Fixed a bug in the CP1255, CP1258, TCVN decoders: The base characters of
- combining characters could be dropped at the end of the conversion buffer.
-* Fixed a bug in the transliteration that could lead to excessive memory
- allocations in libintl when transliteration was needed.
-* Portability to BSD/OS and SCO 3.2.5.
-
-New in 1.7:
-* Added UTF-32, UTF-32BE, UTF-32LE converters.
-* Changed CP1255, CP1258 and TCVN converters to handle combining characters.
-* Changed EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1
- converters to use fullwidth Yen sign instead of halfwidth Yen sign, and
- fullwidth tilde instead of halfwidth tilde.
-* Upgraded EUC-TW, ISO-2022-CN, ISO-2022-CN-EXT converters to Unicode 3.1.
-* Changed the GB18030 converter to not reject unassigned and private-use
- Unicode characters.
-* Fixed a bug in the byte order mark treatment of the UCS-4 decoder.
-* The manual pages are now distributed also in HTML format.
-
-New in 1.6:
-* The iconv program's -f and -t options are now optional.
-* Many more transliterations.
-* Added CP862 converter.
-* Changed the GB18030 converter.
-* Portability to DOS with DJGPP.
-
-New in 1.5:
-* Added an iconv(1) program.
-* New locale dependent encodings "char", "wchar_t".
-* Transliteration is now off by default. Use a //TRANSLIT suffix to enable it.
-* The JOHAB encoding is documented again.
-* Changed a few mappings in the CP950 converter.
-
-New in 1.4:
-* Added GB18030, BIG5HKSCS converters.
-* Portability to OS/2 with emx+gcc.
-
-New in 1.3:
-* Added UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE converters.
-* Fixed the definition of EILSEQ on SunOS4.
-* Fixed a build problem on OSF/1.
-* Support for building as a shared library on Woe32.
-
-New in 1.2:
-* Added UTF-16BE and UTF-16LE converters.
-* Changed the UTF-16 encoder.
-* Fixed the treatment of tab characters in the UTF-7 converter.
-* Fixed an internal error when output buffer was not large enough.
-
-New in 1.1:
-* Added ISO-8859-16 converter.
-* Added CP932 converter, a variant of SHIFT_JIS.
-* Added CP949 converter, a variant of EUC-KR.
-* Improved the ISO-2022-CN-EXT converter: It now covers the ISO-IR-165 range.
-* Updated the ISO-8859-8 conversion table.
-* The JOHAB encoding is deprecated and not documented any more.
-* Fixed two build problems: 1. "make -n check" failed. 2. When libiconv was
- already installed, "make" failed.
-
-New in 1.0:
-* Added transliteration facilities.
-* Added a test suite.
-* Fixed the iconv(3) manual page and function: the return value was not
- described correctly.
-* Fixed a bug in the CP1258 decoder: invalid bytes now yield EILSEQ instead of
- U+FFFD.
-* Fixed a bug in the Georgian-PS encoder: accept U+00E6.
-* Fixed a bug in the EUC-JP encoder: reject 0x8E5C and 0x8E7E.
-* Fixed a bug in the KSC5601 and JOHAB converters: they recognized some Hangul
- characters at some invalid code positions.
-* Fixed a bug in the EUC-TW decoder; it was severely broken.
-* Fixed a bug in the CP950 converter: it recognized a dubious BIG5 range.
-
-New in 0.3:
-* Reduced the size of the tables needed for the JOHAB converter.
-* Portability to Woe32.
-
-New in 0.2:
-* Added KOI8-RU, CP850, CP866, CP874, CP950, ISO-2022-CN-EXT, GBK and
- ISO-2022-JP-1 converters.
-* Added MACINTOSH as an alias for MAC-ROMAN.
-* Added ASMO-708 as an alias for ISO-8859-6.
-* Added ELOT_928 as an alias for ISO-8859-7.
-* Improved the EUC-TW converter: Treat CNS 11643 plane 3.
-* Improved the ISO-2022-KR and EUC-KR converters: Hangul characters are
- decomposed into Jamo when needed.
-* Improved the CP932 converter.
-* Updated the CP1133, MULELAO-1 and ARMSCII-8 mappings.
-* The EUC-JP and SHIFT_JIS converters now cover the user-defined range.
-* Fixed a possible buffer overrun in the JOHAB converter.
-* Fixed a bug in the UTF-7, ISO-2022-*, HZ decoders: a shift sequence a the
- end of the input no longer gives an error.
-* The HZ encoder now always terminates its output in the ASCII state.
-* Use a perfect hash table for looking up the aliases.
-
-New in 0.1:
-* Portability to Linux/glibc-2.0.x, Linux/libc5, OSF/1, FreeBSD.
-* Fixed a bug in the EUC-JP decoder. Extended the ISO-2022-JP-2 converter.
-* Made TIS-620 mapping consistent with glibc-2.1.
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/NOTES b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/NOTES
deleted file mode 100644
index 8f630e23..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/NOTES
+++ /dev/null
@@ -1,392 +0,0 @@
-Q: Why does libiconv support encoding XXX? Why does libiconv not support
- encoding ZZZ?
-
-A: libiconv, as an internationalization library, supports those character
- sets and encodings which are in wide-spread use in at least one territory
- of the world.
-
- Hint1: On http://www.w3c.org/International/O-charset-lang.html you find a
- page "Languages, countries, and the charsets typically used for them".
- From this table, we can conclude that the following are in active use:
-
- ISO-8859-1, CP1252 Afrikaans, Albanian, Basque, Catalan, Danish, Dutch,
- English, Faroese, Finnish, French, Galician, German,
- Icelandic, Irish, Italian, Norwegian, Portuguese,
- Scottish, Spanish, Swedish
- ISO-8859-2 Croatian, Czech, Hungarian, Polish, Romanian, Slovak,
- Slovenian
- ISO-8859-3 Esperanto, Maltese
- ISO-8859-5 Bulgarian, Byelorussian, Macedonian, Russian,
- Serbian, Ukrainian
- ISO-8859-6 Arabic
- ISO-8859-7 Greek
- ISO-8859-8 Hebrew
- ISO-8859-9, CP1254 Turkish
- ISO-8859-10 Inuit, Lapp
- ISO-8859-13 Latvian, Lithuanian
- ISO-8859-15 Estonian
- KOI8-R Russian
- SHIFT_JIS Japanese
- ISO-2022-JP Japanese
- EUC-JP Japanese
-
- Ordered by frequency on the web (1997):
- ISO-8859-1, CP1252 96%
- SHIFT_JIS 1.6%
- ISO-2022-JP 1.2%
- EUC-JP 0.4%
- CP1250 0.3%
- CP1251 0.2%
- CP850 0.1%
- MACINTOSH 0.1%
- ISO-8859-5 0.1%
- ISO-8859-2 0.0%
-
- Hint2: The character sets mentioned in the XFree86 4.0 locale.alias file.
-
- ISO-8859-1 Afrikaans, Basque, Breton, Catalan, Danish, Dutch,
- English, Estonian, Faroese, Finnish, French,
- Galician, German, Greenlandic, Icelandic,
- Indonesian, Irish, Italian, Lithuanian, Norwegian,
- Occitan, Portuguese, Scottish, Spanish, Swedish,
- Walloon, Welsh
- ISO-8859-2 Albanian, Croatian, Czech, Hungarian, Polish,
- Romanian, Serbian, Slovak, Slovenian
- ISO-8859-3 Esperanto
- ISO-8859-4 Estonian, Latvian, Lithuanian
- ISO-8859-5 Bulgarian, Byelorussian, Macedonian, Russian,
- Serbian, Ukrainian
- ISO-8859-6 Arabic
- ISO-8859-7 Greek
- ISO-8859-8 Hebrew
- ISO-8859-9 Turkish
- ISO-8859-14 Breton, Irish, Scottish, Welsh
- ISO-8859-15 Basque, Breton, Catalan, Danish, Dutch, Estonian,
- Faroese, Finnish, French, Galician, German,
- Greenlandic, Icelandic, Irish, Italian, Lithuanian,
- Norwegian, Occitan, Portuguese, Scottish, Spanish,
- Swedish, Walloon, Welsh
- KOI8-R Russian
- KOI8-U Russian, Ukrainian
- EUC-JP (alias eucJP) Japanese
- ISO-2022-JP (alias JIS7) Japanese
- SHIFT_JIS (alias SJIS) Japanese
- U90 Japanese
- S90 Japanese
- EUC-CN (alias eucCN) Chinese
- EUC-TW (alias eucTW) Chinese
- BIG5 Chinese
- EUC-KR (alias eucKR) Korean
- ARMSCII-8 Armenian
- GEORGIAN-ACADEMY Georgian
- GEORGIAN-PS Georgian
- TIS-620 (alias TACTIS) Thai
- MULELAO-1 Laothian
- IBM-CP1133 Laothian
- VISCII Vietnamese
- TCVN Vietnamese
- NUNACOM-8 Inuktitut
-
- Hint3: The character sets supported by Netscape Communicator 4.
-
- Where is this documented? For the complete picture, I had to use
- "strings netscape" and then a lot of guesswork. For a quick take,
- look at the "View - Character set" menu of Netscape Communicator 4.6:
-
- ISO-8859-{1,2,5,7,9,15}
- WINDOWS-{1250,1251,1253}
- KOI8-R Cyrillic
- CP866 Cyrillic
- Autodetect Japanese (EUC-JP, ISO-2022-JP, ISO-2022-JP-2, SJIS)
- EUC-JP Japanese
- SHIFT_JIS Japanese
- GB2312 Chinese
- BIG5 Chinese
- EUC-TW Chinese
- Autodetect Korean (EUC-KR, ISO-2022-KR, but not JOHAB)
-
- UTF-8
- UTF-7
-
- Hint4: The character sets supported by Microsoft Internet Explorer 4.
-
- ISO-8859-{1,2,3,4,5,6,7,8,9}
- WINDOWS-{1250,1251,1252,1253,1254,1255,1256,1257}
- KOI8-R Cyrillic
- KOI8-RU Ukrainian
- ASMO-708 Arabic
- EUC-JP Japanese
- ISO-2022-JP Japanese
- SHIFT_JIS Japanese
- GB2312 Chinese
- HZ-GB-2312 Chinese
- BIG5 Chinese
- EUC-KR Korean
- ISO-2022-KR Korean
- WINDOWS-874 Thai
- WINDOWS-1258 Vietnamese
-
- UTF-8
- UTF-7
- UNICODE actually UNICODE-LITTLE
- UNICODEFEFF actually UNICODE-BIG
-
- and various DOS character sets: DOS-720, DOS-862, IBM852, CP866.
-
- We take the union of all these four sets. The result is:
-
- European and Semitic languages
- * ASCII.
- We implement this because it is occasionally useful to know or to
- check whether some text is entirely ASCII (i.e. if the conversion
- ISO-8859-x -> UTF-8 is trivial).
- * ISO-8859-{1,2,3,4,5,6,7,8,9,10}
- We implement this because they are widely used. Except ISO-8859-4
- which appears to have been superseded by ISO-8859-13 in the baltic
- countries. But it's an ISO standard anyway.
- * ISO-8859-13
- We implement this because it's a standard in Lithuania and Latvia.
- * ISO-8859-14
- We implement this because it's an ISO standard.
- * ISO-8859-15
- We implement this because it's increasingly used in Europe, because
- of the Euro symbol.
- * ISO-8859-16
- We implement this because it's an ISO standard.
- * KOI8-R, KOI8-U
- We implement this because it appears to be the predominant encoding
- on Unix in Russia and Ukraine, respectively.
- * KOI8-RU
- We implement this because MSIE4 supports it.
- * KOI8-T
- We implement this because it is the locale encoding in glibc's Tajik
- locale.
- * CP{1250,1251,1252,1253,1254,1255,1256,1257}
- We implement these because they are the predominant Windows encodings
- in Europe.
- * CP850
- We implement this because it is mentioned as occurring in the web
- in the aforementioned statistics.
- * CP862
- We implement this because Ron Aaron says it is sometimes used in web
- pages and emails.
- * CP866
- We implement this because Netscape Communicator does.
- * Mac{Roman,CentralEurope,Croatian,Romania,Cyrillic,Greek,Turkish} and
- Mac{Hebrew,Arabic}
- We implement these because the Sun JDK does, and because Mac users
- don't deserve to be punished.
- * Macintosh
- We implement this because it is mentioned as occurring in the web
- in the aforementioned statistics.
- Japanese
- * EUC-JP, SHIFT_JIS, ISO-2022-JP
- We implement these because they are widely used. EUC-JP and SHIFT_JIS
- are more used for files, whereas ISO-2022-JP is recommended for email.
- * CP932
- We implement this because it is the Microsoft variant of SHIFT_JIS,
- used on Windows.
- * ISO-2022-JP-2
- We implement this because it's the common way to represent mails which
- make use of JIS X 0212 characters.
- * ISO-2022-JP-1
- We implement this because it's in the RFCs, but I don't think it is
- really used.
- * U90, S90
- We DON'T implement this because I have no informations about what it
- is or who uses it.
- Simplified Chinese
- * EUC-CN = GB2312
- We implement this because it is the widely used representation
- of simplified Chinese.
- * GBK
- We implement this because it appears to be used on Solaris and Windows.
- * GB18030
- We implement this because it is an official requirement in the
- People's Republic of China.
- * ISO-2022-CN
- We implement this because it is in the RFCs, but I have no idea
- whether it is really used.
- * ISO-2022-CN-EXT
- We implement this because it's in the RFCs, but I don't think it is
- really used.
- * HZ = HZ-GB-2312
- We implement this because the RFCs recommend it for Usenet postings,
- and because MSIE4 supports it.
- Traditional Chinese
- * EUC-TW
- We implement it because it appears to be used on Unix.
- * BIG5
- We implement it because it is the de-facto standard for traditional
- Chinese.
- * CP950
- We implement this because it is the Microsoft variant of BIG5, used
- on Windows.
- * BIG5+
- We DON'T implement this because it doesn't appear to be in wide use.
- Only the CWEX fonts use this encoding. Furthermore, the conversion
- tables in the big5p package are not coherent: If you convert directly,
- you get different results than when you convert via GBK.
- * BIG5-HKSCS
- We implement it because it is the de-facto standard for traditional
- Chinese in Hongkong.
- Korean
- * EUC-KR
- We implement these because they appear to be the widely used
- representations for Korean.
- * CP949
- We implement this because it is the Microsoft variant of EUC-KR, used
- on Windows.
- * ISO-2022-KR
- We implement it because it is in the RFCs and because MSIE4 supports
- it, but I have no idea whether it's really used.
- * JOHAB
- We implement this because it is apparently used on Windows as a locale
- encoding (codepage 1361).
- * ISO-646-KR
- We DON'T implement this because although an old ASCII variant, its
- glyph for 0x7E is not clear: RFC 1345 and unicode.org's JOHAB.TXT
- say it's a tilde, but Ken Lunde's "CJKV information processing" says
- it's an overline. And it is not ISO-IR registered.
- Armenian
- * ARMSCII-8
- We implement it because XFree86 supports it.
- Georgian
- * Georgian-Academy, Georgian-PS
- We implement these because they appear to be both used for Georgian;
- Xfree86 supports them.
- Thai
- * TIS-620
- We implement this because it seems to be standard for Thai.
- * CP874
- We implement this because MSIE4 supports it.
- * MacThai
- We implement this because the Sun JDK does, and because Mac users
- don't deserve to be punished.
- Laotian
- * MuleLao-1, CP1133
- We implement these because XFree86 supports them. I have no idea which
- one is used more widely.
- Vietnamese
- * VISCII, TCVN
- We implement these because XFree86 supports them.
- * CP1258
- We implement this because MSIE4 supports it.
- Other languages
- * NUNACOM-8 (Inuktitut)
- We DON'T implement this because it isn't part of Unicode yet, and
- therefore doesn't convert to anything except itself.
- Platform specifics
- * HP-ROMAN8, NEXTSTEP
- We implement these because they were the native character set on HPs
- and NeXTs for a long time, and libiconv is intended to be usable on
- these old machines.
- Full Unicode
- * UTF-8, UCS-2, UCS-4
- We implement these. Obviously.
- * UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE
- We implement these because they are the preferred internal
- representation of strings in Unicode aware applications. These are
- non-ambiguous names, known to glibc. (glibc doesn't have
- UCS-2-INTERNAL and UCS-4-INTERNAL.)
- * UTF-16, UTF-16BE, UTF-16LE
- We implement these, because UTF-16 is still the favourite encoding of
- the president of the Unicode Consortium (for political reasons), and
- because they appear in RFC 2781.
- * UTF-32, UTF-32BE, UTF-32LE
- We implement these because they are part of Unicode 3.1.
- * UTF-7
- We implement this because it is essential functionality for mail
- applications.
- * C99
- We implement it because it's used for C and C++ programs and because
- it's a nice encoding for debugging.
- * JAVA
- We implement it because it's used for Java programs and because it's
- a nice encoding for debugging.
- * UNICODE (big endian), UNICODEFEFF (little endian)
- We DON'T implement these because they are stupid and not standardized.
- Full Unicode, in terms of `uint16_t' or `uint32_t'
- (with machine dependent endianness and alignment)
- * UCS-2-INTERNAL, UCS-4-INTERNAL
- We implement these because they are the preferred internal
- representation of strings in Unicode aware applications.
-
-Q: Support encodings mentioned in RFC 1345 ?
-A: No, they are not in use any more. Supporting ISO-646 variants is pointless
- since ISO-8859-* have been adopted.
-
-Q: Support EBCDIC ?
-A: No!
-
-Q: How do I add a new character set?
-A: 1. Explain the "why" in this file, above.
- 2. You need to have a conversion table from/to Unicode. Transform it into
- the format used by the mapping tables found on ftp.unicode.org: each line
- contains the character code, in hex, with 0x prefix, then whitespace,
- then the Unicode code point, in hex, 4 hex digits, with 0x prefix. '#'
- counts as a comment delimiter until end of line.
- Please also send your table to Mark Leisher <mleisher@crl.nmsu.edu> so he
- can include it in his collection.
- 3. If it's an 8-bit character set, use the '8bit_tab_to_h' program in the
- tools directory to generate the C code for the conversion. You may tweak
- the resulting C code if you are not satisfied with its quality, but this
- is rarely needed.
- If it's a two-dimensional character set (with rows and columns), use the
- 'cjk_tab_to_h' program in the tools directory to generate the C code for
- the conversion. You will need to modify the main() function to recognize
- the new character set name, with the proper dimensions, but that shouldn't
- be too hard. This yields the CCS. The CES you have to write by hand.
- 4. Store the resulting C code file in the lib directory. Add a #include
- directive to converters.h, and add an entry to the encodings.def file.
- 5. Compile the package, and test your new encoding using a program like
- iconv(1) or clisp(1).
- 6. Augment the testsuite: Add a line to each of tests/Makefile.in,
- tests/Makefile.msvc and tests/Makefile.os2. For a stateless encoding,
- create the complete table as a TXT file. For a stateful encoding,
- provide a text snippet encoded using your new encoding and its UTF-8
- equivalent.
- 7. Update the README and man/iconv_open.3, to mention the new encoding.
- Add a note in the NEWS file.
-
-Q: What about bidirectional text? Should it be tagged or reversed when
- converting from ISO-8859-8 or ISO-8859-6 to Unicode? Qt appears to do
- this, see qt-2.0.1/src/tools/qrtlcodec.cpp.
-A: After reading RFC 1556: I don't think so. Support for ISO-8859-8-I and
- ISO-8859-E remains to be implemented.
- On the other hand, a page on www.w3c.org says that ISO-8859-8 in *email*
- is visually encoded, ISO-8859-8 in *HTML* is logically encoded, i.e.
- the same as ISO-8859-8-I. I'm confused.
-
-Other character sets not implemented:
-"MNEMONIC" = "csMnemonic"
-"MNEM" = "csMnem"
-"ISO-10646-UCS-Basic" = "csUnicodeASCII"
-"ISO-10646-Unicode-Latin1" = "csUnicodeLatin1" = "ISO-10646"
-"ISO-10646-J-1"
-"UNICODE-1-1" = "csUnicode11"
-"csWindows31Latin5"
-
-Other aliases not implemented (and not implemented in glibc-2.1 either):
- From MSIE4:
- ISO-8859-1: alias ISO8859-1
- ISO-8859-2: alias ISO8859-2
- KSC_5601: alias KS_C_5601
- UTF-8: aliases UNICODE-1-1-UTF-8 UNICODE-2-0-UTF-8
-
-
-Q: How can I integrate libiconv into my package?
-A: Just copy the entire libiconv package into a subdirectory of your package.
- At configuration time, call libiconv's configure script with the
- appropriate --srcdir option and maybe --enable-static or --disable-shared.
- Then "cd libiconv && make && make install-lib libdir=... includedir=...".
- 'install-lib' is a special (not GNU standardized) target which installs
- only the include file - in $(includedir) - and the library - in $(libdir) -
- and does not use other directory variables. After "installing" libiconv
- in your package's build directory, building of your package can proceed.
-
-Q: Why is the testsuite so big?
-A: Because some of the tests are very comprehensive.
- If you don't feel like using the testsuite, you can simply remove the
- tests/ directory.
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/PORTS b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/PORTS
deleted file mode 100644
index 2c4cfa03..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/PORTS
+++ /dev/null
@@ -1,46 +0,0 @@
-* Linux with libc6 (glibc-2.1):
- OK
-
-* Linux with libc6 (glibc-2.0.7):
- OK
-
-* Linux with libc5:
- OK
-
-* Solaris 2.7:
- OK
-
-* Solaris 2.6:
- OK
-
-* OSF/1 5.1:
- OK
-
-* OSF/1 4.0d:
- OK
-
-* Irix 6.5:
- OK
-
-* HP-UX 10.20:
- OK
-
-* AIX 4.2:
- OK
-
-* SunOS 4:
- OK when configured --enable-static --disable-shared
- (gcc cannot create shared libraries without relocations)
-
-* FreeBSD 3.3:
- OK
-
-* BeOS 5:
- OK
-
-* Woe32 with MSVC 4.0:
- OK
-
-* Woe32 with MSVC 5.0:
- OK
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/README b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/README
deleted file mode 100644
index e07ba0f0..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/README
+++ /dev/null
@@ -1,149 +0,0 @@
- GNU LIBICONV - character set conversion library
-
-This library provides an iconv() implementation, for use on systems which
-don't have one, or whose implementation cannot convert from/to Unicode.
-
-It provides support for the encodings:
-
- European languages
- ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16},
- KOI8-R, KOI8-U, KOI8-RU,
- CP{1250,1251,1252,1253,1254,1257}, CP{850,866},
- Mac{Roman,CentralEurope,Iceland,Croatian,Romania},
- Mac{Cyrillic,Ukraine,Greek,Turkish},
- Macintosh
- Semitic languages
- ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic}
- Japanese
- EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1
- Chinese
- EUC-CN, HZ, GBK, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS,
- ISO-2022-CN, ISO-2022-CN-EXT
- Korean
- EUC-KR, CP949, ISO-2022-KR, JOHAB
- Armenian
- ARMSCII-8
- Georgian
- Georgian-Academy, Georgian-PS
- Tajik
- KOI8-T
- Thai
- TIS-620, CP874, MacThai
- Laotian
- MuleLao-1, CP1133
- Vietnamese
- VISCII, TCVN, CP1258
- Platform specifics
- HP-ROMAN8, NEXTSTEP
- Full Unicode
- UTF-8
- UCS-2, UCS-2BE, UCS-2LE
- UCS-4, UCS-4BE, UCS-4LE
- UTF-16, UTF-16BE, UTF-16LE
- UTF-32, UTF-32BE, UTF-32LE
- UTF-7
- C99, JAVA
- Full Unicode, in terms of `uint16_t' or `uint32_t'
- (with machine dependent endianness and alignment)
- UCS-2-INTERNAL, UCS-4-INTERNAL
- Locale dependent, in terms of `char' or `wchar_t'
- (with machine dependent endianness and alignment, and with OS and
- locale dependent semantics)
- char, wchar_t
- The empty encoding name "" is equivalent to "char": it denotes the
- locale dependent character encoding.
-
-When configured with the option --enable-extra-encodings, it also provides
-support for a few extra encodings:
-
- European languages
- CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125}
- Semitic languages
- CP864
- Japanese
- EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3
- Turkmen
- TDS565
- Platform specifics
- RISCOS-LATIN1
-
-It can convert from any of these encodings to any other, through Unicode
-conversion.
-
-It has also some limited support for transliteration, i.e. when a character
-cannot be represented in the target character set, it can be approximated
-through one or several similarly looking characters. Transliteration is
-activated when "//TRANSLIT" is appended to the target encoding name.
-
-libiconv is for you if your application needs to support multiple character
-encodings, but that support lacks from your system.
-
-Installation:
-
-As usual for GNU packages:
-
- $ ./configure --prefix=/usr/local
- $ make
- $ make install
-
-After installing GNU libiconv for the first time, it is recommended to
-recompile and reinstall GNU gettext, so that it can take advantage of
-libiconv.
-
-On systems other than GNU/Linux, the iconv program will be internationalized
-only if GNU gettext has been built and installed before GNU libiconv. This
-means that the first time GNU libiconv is installed, we have a circular
-dependency between the GNU libiconv and GNU gettext packages, which can be
-resolved by building and installing either
- - first libiconv, then gettext, then libiconv again,
-or (on systems supporting shared libraries, excluding AIX)
- - first gettext, then libiconv, then gettext again.
-Recall that before building a package for the second time, you need to erase
-the traces of the first build by running "make distclean".
-
-This library can be built and installed in two variants:
-
- - The library mode. This works on all systems, and uses a library
- `libiconv.so' and a header file `<iconv.h>'. (Both are installed
- through "make install".)
-
- To use it, simply #include <iconv.h> and use the functions.
-
- To use it in an autoconfiguring package:
- - If you don't use automake, append m4/iconv.m4 to your aclocal.m4
- file.
- - If you do use automake, add m4/iconv.m4 to your m4 macro repository.
- - Add to the link command line of libraries and executables that use
- the functions the placeholder @LIBICONV@ (or, if using libtool for
- the link, @LTLIBICONV@). If you use automake, the right place for
- these additions are the *_LDADD variables.
- Note that 'iconv.m4' is also part of the GNU gettext package, which
- installs it in /usr/local/share/aclocal/iconv.m4.
-
- - The libc plug/override mode. This works on GNU/Linux, Solaris and OSF/1
- systems only. It is a way to get good iconv support without having
- glibc-2.1.
- It installs a library `libiconv_plug.so'. This library can be used with
- LD_PRELOAD, to override the iconv* functions present in the C library.
-
- On GNU/Linux and Solaris:
- $ export LD_PRELOAD=/usr/local/lib/libiconv_plug.so
-
- On OSF/1:
- $ export _RLD_LIST=/usr/local/lib/libiconv_plug.so:DEFAULT
-
- A program's source need not be modified, the program need not even be
- recompiled. Just set the LD_PRELOAD environment variable, that's it!
-
-
-Distribution:
- ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz
-
-Homepage:
- http://www.gnu.org/software/libiconv/
-
-Bug reports to:
- <bug-gnu-libiconv@gnu.org>
-
-
-Bruno Haible <bruno@clisp.org>
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/THANKS b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/THANKS
deleted file mode 100644
index 35fc2eab..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/THANKS
+++ /dev/null
@@ -1,13 +0,0 @@
- Thanks to for
-
-Edmund Grimley Evans <edmundo@rano.org> bug reports
-
-Taro Muraoka <koron@tka.att.ne.jp> Woe32 DLL support
-
-Akira Hatakeyama <akira@sra.co.jp> OS/2 support
-
-Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>
- DOS/DJGPP support
-
-Hironori Sakamoto <hsaka@mth.biglobe.ne.jp> advice on EUC-JP and JISX0213
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/djgpp/README b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/djgpp/README
deleted file mode 100644
index dfcc894b..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/djgpp/README
+++ /dev/null
@@ -1,122 +0,0 @@
-This is a port of GNU Libiconv 1.8 to MSDOS/DJGPP.
-
-1.: DJGPP specific changes.
- =======================
- There are no DJGPP specific changes. This package should
- configure and compile out-of-the-box.
- Please read the documentation to become familiar with this
- product.
-
-
-2.: Installing the binary package.
- ==============================
-
-2.1.: Copy the binary distribution into the top DJGPP installation
- directory and unzip the binary distribution running *ONE* of
- the following commands:
- unzip32 licv18b.zip or
- djtarx licv18b.zip or
- pkunzip -d licv18b.zip
-
-
-
-3.: Building the binaries from sources.
- ===================================
-
-3.1.: To build the binaries you will need the following binary packages:
- djdev203.zip, bsh204b.zip, gcc2952b.zip,
- bnu210b.zip, mak3791b.zip, fil316b.zip,
- shl112b.zip, txt20b.zip, txi40b.zip,
- grep24b.zip and sed302b.zip
-
-
- All this packages can be found in the v2gnu directory of any
- Simtel.NET mirror.
- You will need bsh204b.zip and *NOT* a prior version or the build will fail.
- The same applies to djdev203.zip. You *MUST* use the updated versions of
- fil316b.zip (date: 2000-05-30) and shl112b.zip (date: 2000-08-11). This
- updated versions have been recompiled with djdev203.zip and know about
- the "/dev/env" functionality introduced with djdev203.zip. All the other
- packages are the ones I have used to build the binaries from this sources.
- Previuos and/or later versions of this packages may do the job as well but
- I have not tested this.
-
-3.2.: Create a temporary directory and copy the source package: licv18s.zip
- into the temporary directory. If you download the source distribution
- from one of the DJGPP archives, just unzip it preserving the directory
- structure, runnig ONE of the following commands:
- unzip32 licv18s.zip or
- djtarx licv18s.zip or
- pkunzip -d licv18s.zip
-
- Source distributions downloaded from one of the GNU FTP sites need
- some more work to unpack. First, you MUST use the `djtar' program to
- unzip the package. That's because some file names in the official
- distributions need to be changed to avoid problems on the various
- platforms supported by DJGPP. `djtar' can rename files on the fly
- given a file with name mappings. The distribution includes a file
- `djgpp/fnchange.lst' with the necessary mappings. So you need first
- to retrieve that file, and then invoke `djtar' to unpack the
- distribution. Here's how:
-
- djtar -x -p -o libiconv-1.7/djgpp/fnchange.lst libiconv-1.7.tar.gz > lst
- djtar -x -n lst libiconv-1.7.tar.gz
-
- (The name of the distribution archive and the top-level directory will
- be different for versions other than 1.7.)
-
-3.3.: The package is preconfigured for djdev203. To build the products you
- should run the following command:
- make
-
- After the compilation has finished, you can check the products
- running the command:
- make check
-
- To install the products run the command:
- make install
-
- This will install the products (iconv.exe iconv.h localcharset.h libconv.a
- libcharset.a iconv.1 iconv.3 iconv_open.3 iconv_close.3) into your DJGPP
- installation tree. As usual, prefix is defined as "/dev/env/DJDIR".
- If you prefer to install into same other directory run the command:
- make install prefix=z:/some/other/dir
-
- Of course, you should replace "z:/some/other/dir" by an appropriate path
- that will meet your requeriments.
-
-3.4.: If you need/want to reconfigure the package you will have to run the
- following commands:
- make distclean
- djgpp\config
-
- Please note that you *MUST* use the "distclean" option or the config.cache
- file will *NOT* be deleted. In this case you are *NOT* reconfiguring
- because the configuration informations is read from the cache file instead
- of being newly computed.
- To build the programs in a directory other than where the sources are,
- you must add the parameter that specifies the source directory,
- e.g:
- x:\src\gnu\libiconv.18\djgpp\config x:/src/gnu/libiconv.18
-
- Lets assume you want to build the binaries in a directory placed on a
- different drive (z:\build in this case) from where the sources are,
- then you will run the following commands:
- z:
- md \build
- cd \build
- x:\src\gnu\libiconv.18\djgpp\config x:/src/gnu/libiconv.18
-
- You *MUST* use forward slashes to specify the source directory.
- After having configured the package run the folowing commands to create
- the binaries and docs and install them:
- make
- make check
- make install
-
- Send suggestions and bug reports concerning the DJGPP port to
- comp.os.msdos.djgpp or djgpp@delorie.com. Libiconv specific bugs
- must be reported to Bruno Haible <haible@clisp.cons.org>.
-
-
- Guerrero, Juan Manuel <st001906@hrz1.hrz.tu-darmstadt.de>
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/extras/ChangeLog b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/extras/ChangeLog
deleted file mode 100644
index e74835b0..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/extras/ChangeLog
+++ /dev/null
@@ -1,64 +0,0 @@
-2003-05-10 Bruno Haible <bruno@clisp.org>
-
- * iconv_string.c (iconv_string): Don't return -1 just because the
- string is longer than 4 KB.
-
-2002-02-13 Bruno Haible <bruno@clisp.org>
-
- * iconv.m4: Remove file. Obsoleted by m4/iconv.m4.
-
-2000-06-16 Bruno Haible <haible@clisp.cons.org>
-
- * iconv.m4: Change prefix to AM.
-
-2001-05-23 Bruno Haible <haible@clisp.cons.org>
-
- * iconv.m4 (jm_ICONV): Accept --with-libiconv-prefix option.
-
-2001-03-23 Bruno Haible <haible@clisp.cons.org>
-
- * iconv.m4 (jm_ICONV): Tweak printing of prototype.
-
-2001-03-20 Bruno Haible <haible@clisp.cons.org>
-
- * iconv.m4 (jm_ICONV): Recommend GNU libiconv.
-
-2001-01-03 Bruno Haible <haible@clisp.cons.org>
-
- * iconv.m4 (jm_ICONV): Also check whether the iconv declaration
- has const.
-
-2000-02-02 Bruno Haible <haible@clisp.cons.org>
-
- * iconv.m4: New file.
-
-2001-01-29 Bruno Haible <haible@clisp.cons.org>
-
- * locale_charset.c: Remove file. Obsoleted by libcharset.
-
-2000-10-22 Bruno Haible <haible@clisp.cons.org>
-
- * locale_charset.c (get_locale_charset): Accept french and spanish
- names in both ISO-8859-1 and UTF-8.
-
-2000-08-24 Jim Blackson <blackson@ontrack-japan.com>
-
- * iconv_string.c (iconv_string): Fix return value for autodetect.
-
-2000-01-24 Bruno Haible <haible@clisp.cons.org>
-
- * iconv_string.c (iconv_string): Stop recognizing JOHAB.
- Fix typo for EUC-JP.
-
-1999-12-18 Bruno Haible <haible@clisp.cons.org>
-
- * locale_charset.c (get_locale_charset): Recognize more language codes:
- "af" (afrikaans), "ca" (catalan), "eu" (basque), "fo" (faeroese),
- "ga" (irish), "gd" (scottish), "gl" (galician), "sq" (albanian),
- "eo" (esperanto), "mt" (maltese), "be" (byelorussian),
- "et" (estonian), "lt" (lithuanian), "lv" (latvian), "uk" (ukrainian).
- Recognize more aliases: "english", "slovenian", "macedonian",
- "serbian", "arabic".
- Change default: KOI8-R for "ru" (russian) instead of ISO-8859-5,
- ISO-8859-5 for "sr" instead of ISO-8859-2.
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/AUTHORS b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/AUTHORS
deleted file mode 100644
index 8bedd794..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/AUTHORS
+++ /dev/null
@@ -1 +0,0 @@
-Bruno Haible <bruno@clisp.org>
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/ChangeLog b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/ChangeLog
deleted file mode 100644
index 1be73272..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/ChangeLog
+++ /dev/null
@@ -1,322 +0,0 @@
-2003-06-18 Bruno Haible <bruno@clisp.org>
-
- * config/install-sh: Update from automake-1.7.5.
-
-2003-06-07 Bruno Haible <bruno@clisp.org>
-
- * Makefile.devel (config.h_vms): Remove INSTALLPREFIX.
- Reported by Jouk Jansen <joukj@hrem.stm.tudelft.nl>.
-
-2003-05-19 Bruno Haible <bruno@clisp.org>
-
- * windows/charset.rc: Include <winver.h>.
- Reported by Perry Rapp.
-
-2003-05-07 Bruno Haible <bruno@clisp.org>
-
- * Makefile.vms: New file.
- * Makefile.devel (config.h_vms): New rule.
- (all): Depend on it.
-
-2003-05-06 Bruno Haible <bruno@clisp.org>
-
- * m4/libtool.m4: Update from GNU gettext, based on libtool-1.5.
-
-2003-05-06 Bruno Haible <bruno@clisp.org>
-
- * autoconf/config.guess: Update to GNU version 2003-02-22.
- * autoconf/config.sub: Likewise.
-
-2003-05-06 Bruno Haible <bruno@clisp.org>
-
- * autoconf/ltmain.sh: Update from GNU gettext, based on libtool-1.5.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- * configure.in (mandir): Change default value.
- * Makefile.in (datadir): New variable.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- Support for relocatable installation.
- * autoconf/config.libpath: New file, from GNU gettext.
- * configure.in: Invoke AC_RELOCATABLE_LIBRARY.
- * include/libcharset.h.in: New file.
- * Makefile.devel (include/libcharset.h.msvc-shared): New rule.
- (all): Depend on it.
- (autoconf/aclocal.m4): Update aclocal invocation.
- (config.h.msvc): Handle INSTALLPREFIX.
- * Makefile.in (include/libcharset.h): New rule.
- (all): Depend on it.
- (install-lib, install): Also install libcharset.h.
- (uninstall): Uninstall libcharset.h.
- (distclean, maintainer-clean): Remove include/libcharset.h.
- * Makefile.msvc (all): Create include/libcharset.h.
- (install): Also install libcharset.h.
- (uninstall): Uninstall libcharset.h.
- (mostlyclean, clean, distclean, maintainer-clean): Remove
- include/libcharset.h.
- * INSTALL.generic: Document --enable-relocatable and
- --with-libintl-prefix. Remove the recommendation to set CPPFLAGS and
- LDFLAGS. The lib-link.m4 macros make this unnecessary.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * Makefile.msvc (PREFIX): New variable.
- (prefix): Use it.
- (distclean, maintainer-clean): Drop Unix specific removals.
- * man/Makefile.msvc (PREFIX): New variable.
- (prefix): Use it.
- (clean): Drop unnecessary removals.
- (distclean): Drop Unix specific removal.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * configure.in: Invoke AM_LANGINFO_CODESET, not jm_LANGINFO_CODESET.
- * autoconf/ltmain.sh: Update from GNU gettext.
- 2003-02-18 Bruno Haible <bruno@clisp.org>
- Fix the 2002-09-16 fix.
- * ltmain.sh (install): If "ln -s -f" fails (this is the case
- with /usr/bin/ln on Solaris 2.7), fall back to "rm && ln -s".
-
-2003-03-17 Bruno Haible <bruno@clisp.org>
-
- Improved MSVC support.
- * windows/charset.rc: New file.
- * Makefile.msvc (prefix): Use less Unixy value.
- (local_prefix): Remove variable.
- (libdir, includedir): Use backslashes.
- (bindir): New variable.
- (mandir): Remove variable.
- (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): New variables.
- (mostlyclean, clean): Remove config.h and include/localcharset.h.
- (install, installdirs, uninstall): Rewritten.
- * README.woe32: Mention automatic installation command.
-
- Rename libcharset.h to localcharset.h.
- * include/localcharset.h.in: Renamed from include/libcharset.h.in.
- * tools/locale_charset.c: Include localcharset.h, not libcharset.h.
- * Makefile.in (include/localcharset.h): Renamed from
- include/libcharset.h.
- (all): Update dependency.
- (install-lib, install, uninstall, distclean, maintainer-clean): Update.
- * Makefile.msvc (all): Create include/localcharset.h, not
- include/libcharset.h.
- * Makefile.devel (include/localcharset.h.msvc-shared): Renamed from
- include/libcharset.h.msvc-shared.
- (all): Update dependency.
- (config.h.in): Touch the file when done; autoheader doesn't do it.
- (config.h.msvc): Make rule more robust.
- * INTEGRATE: Mention localcharset.h only once.
- * djgpp/README.in, djgpp/README: Update.
- * djgpp/config.bat: Update.
- * djgpp/config.sed: Update.
- * djgpp/fnchange.in, djgpp/fnchange.lst: Update.
- * configure.in (VERSION): Bump to 1.2.
- * NEWS: New file.
-
-2003-02-14 Bruno Haible <bruno@clisp.org>
-
- * Makefile.devel (AUTOCONF): Switch to autoconf-2.57.
- (configure, config.h.in): Update rules.
-
-2003-01-03 Albert Chin <libtool@thewrittenword.com>
-
- * autoconf/ltmain.sh: Don't pass -R flags found in a .la's
- dependency_libs variable directly down to the linker.
- Reported by Tim Mooney <mooney@dogbert.cc.ndsu.nodak.edu>.
-
-2003-01-12 Bruno Haible <bruno@clisp.org>
-
- * INTEGRATE: Mention localcharset.h.
-
-2003-01-01 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in (mkinstalldirs): Renamed from MKINSTALLDIRS.
- (install-lib, install, installdirs): Use it.
-
-2002-09-27 Bruno Haible <bruno@clisp.org>
-
- * autoconf/mkinstalldirs: Upgrade to automake-1.7.2 version.
-
-2002-11-07 Bruno Haible <bruno@clisp.org>
-
- * autoconf/ltmain.sh: Upgrade to libtool-1.4.3.
-
-2002-06-12 Bruno Haible <bruno@clisp.org>
-
- * configure.in: Use new AC_* names of libtool macros. Invoke
- AC_LIBTOOL_WIN32_DLL.
-
-2002-11-07 Bruno Haible <bruno@clisp.org>
-
- Make "make install" without prior "make" work.
- * Makefile.in (install): Depend on include/libcharset.h.
- Reported by Martin Mokrejš <mmokrejs@natur.cuni.cz>.
-
-2002-05-12 Bruno Haible <bruno@clisp.org>
-
- * tools/all-charsets: Update for change of lib/config.charset.
-
-2002-05-12 Bruno Haible <bruno@clisp.org>
-
- * Makefile.devel (AUTOCONF): New variable.
- (configure): Use the AUTOCONF variable.
-
-2002-05-08 Bruno Haible <bruno@clisp.org>
-
- * README.woe32: Renamed from README.win32.
-
-2002-02-06 Bruno Haible <bruno@clisp.org>
-
- * m4/libtool.m4: Upgrade to libtool-1.4.2.
- * autoconf/ltmain.sh: Likewise.
-
-2002-02-02 Bruno Haible <bruno@clisp.org>
-
- * autoconf/ltmain.sh: Add DESTDIR support on ELF systems.
-
-2001-11-03 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/ltmain.sh: chmod 777 the .libs directory, so that
- "make install" succeeds.
-
-2001-12-04 Bruno Haible <bruno@clisp.org>
-
- * INTEGRATE: Change the install rule to not create $(libdir) if
- there is no file to install in it.
-
-2001-07-17 Bruno Haible <haible@clisp.cons.org>
-
- * configure.in (VERSION): Bump to 1.1.
-
-2001-06-08 Bruno Haible <haible@clisp.cons.org>
-
- * m4/libtool.m4: Upgrade to libtool-1.4.
- * autoconf/ltmain.sh: Likewise.
- * autoconf/ltconfig: Remove file.
-
-2001-06-08 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/config.guess: Update to GNU version 2001-05-11.
- * autoconf/config.sub: Likewise.
-
-2001-05-21 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (include/libcharset.h): New target.
- (all): Depend on it.
-
-2001-05-11 Bruno Haible <haible@clisp.cons.org>
-
- * INTEGRATE (Makefile.in): Fix syntax error.
-
-2001-05-06 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc (config.h): Allow the 'del' command to fail.
-
-2001-03-21 Bruno Haible <haible@clisp.cons.org>
-
- * INSTALL.generic (Particular Systems): Add recommendations for AIX 3.
-
-2001-03-10 Bruno Haible <haible@clisp.cons.org>
-
- * INSTALL.generic: New section "Particular Systems".
-
-2001-03-05 Bruno Haible <haible@clisp.cons.org>
-
- * tools/all-charsets: Update for change of lib/config.charset.
-
-2001-03-01 Bruno Haible <haible@clisp.cons.org>
-
- * tools/all-charsets: Update for change of lib/config.charset.
-
-2001-02-25 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/ltconfig:
- sed -e 's/reload object files/produce relocatable object files/'.
-
-2001-02-25 Bruno Haible <haible@clisp.cons.org>
-
- * include/libcharset.h.in (locale_charset): Return value is never
- NULL any more.
-
-2001-02-22 Bruno Haible <haible@clisp.cons.org>
-
- * INTEGRATE (Makefile.am): Change $@-t to t-$@. For DJGPP.
- Patch by Juan Manuel Guerrero <st001906@hrz1.hrz.tu-darmstadt.de>.
-
-2001-02-20 Bruno Haible <haible@clisp.cons.org>
-
- Better support for DOS/Windows platforms.
- * autoconf/ltconfig: Upgrade to libtool-1.3.5.
- * autoconf/ltmain.sh: Likewise.
- * m4/libtool.m4: Likewise.
- * autoconf/aclocal.m4: Likewise.
- * configure.in: Call AC_OBJEXT and AC_EXEEXT.
-
-2001-02-20 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (libdir, includedir, mandir): Use the autoconf
- determined value, in order to respect the configure arguments.
- * lib/Makefile.in (libdir): Likewise.
-
-2000-12-13 Bruno Haible <haible@clisp.cons.org>
-
- * autoconf/install-sh: Update to a newer version from fileutils.
-
-2000-12-12 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in: Use $(MAKE) instead of $(MAKE) -r. Needed with Solaris
- "make", which doesn't set MAKE as expected by @SET_MAKE@ if -r is
- given. Reported by Toshimitsu Fujiwara.
-
-2000-12-08 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (exec_prefix): Use configure's --exec-prefix argument.
-
-2000-12-02 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc (check): Depend on target 'force' as well.
- (mostlyclean, clean, distclean, maintainer-clean): Fix dependency.
-
- * Makefile.msvc: Replace STATIC with its opposite flag, DLL.
-
-2000-11-24 Bruno Haible <haible@clisp.cons.org>
-
- * tools/all-charsets: Update for 2000-10-31 change of
- lib/config.charset.
-
-2000-11-23 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (install-lib): Fix for builddir != srcdir.
-
-2000-11-22 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (all): Fix for builddir != srcdir.
-
-2000-11-21 Bruno Haible <haible@clisp.cons.org>
-
- * include/libcharset.h.in: Renamed from include/libcharset.h.
- * windows/dllexport.h: New file.
- * Makefile.devel (all): Add config.h.msvc,
- include/libcharset.h.msvc-shared.
- (config.h.msvc, include/libcharset.h.msvc-shared): New targets.
- * Makefile.msvc (MFLAGS): New variable.
- (all): Create include\libcharset.h.
- (distclean, maintainer-clean): Remove include\libcharset.h.
- * Makefile.in (CP): New variable.
- (all): Create include/libcharset.h.
- (distclean, maintainer-clean): Remove include/libcharset.h.
-
-2000-11-18 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.devel (config.h.in): Rename from config.h.
-
-2000-11-16 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in: After "cd", use "&&" not ";".
-
-2000-10-31 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc: New file.
- * README.win32: New file.
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/NEWS b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/NEWS
deleted file mode 100644
index 7e82f6c1..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/NEWS
+++ /dev/null
@@ -1,2 +0,0 @@
-New in 1.2:
-* The include file is renamed from "libcharset.h" to "localcharset.h".
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/README b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/README
deleted file mode 100644
index 9f4cf7b4..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/README
+++ /dev/null
@@ -1,60 +0,0 @@
- LIBCHARSET - portable character set determination library
-
-This library provides a function which determines the character set / encoding
-of text in the currently selected locale (the LC_CTYPE locale facet).
-
-It is useful for portable programs which need to process text in other
-encodings and locales than the currently selected one. Possible uses:
-
- * Use of Unicode in POSIX compliant applications.
- * Conversion of text between the current locale's encoding and UTF-8 (or
- any other given encoding).
- * Mail agents.
-
-In theory, this would be very simple: The Single Unix Specification (SUSV2)
-provides the nl_langinfo function, in such a way that
-
- nl_langinfo (CODESET)
-
-returns the encoding name. But the nl_langinfo function still does not exist
-on some systems, and on those where it exists it returns unstandardized
-variations of the encoding names, like (on Solaris) "PCK" for "Shift_JIS".
-
-This library fixes these flaws and provides a function
-
- const char * locale_charset (void);
-
-It determines the current locale's character encoding, and canonicalizes it
-into one of the canonical names listed in config.charset. The result must
-not be freed; it is statically allocated. If the canonical name cannot be
-determined, the result is a non-canonical name.
-
-
-Installation:
-
-As usual for GNU packages:
-
- $ ./configure --prefix=/usr/local
- $ make
- $ make install
-
-
-This library is used in
- GNU sh-utils, fileutils, textutils
- GNU gettext
- GNU clisp
-
-
-To integrate this library into your package:
-See file INTEGRATE.
-
-
-Distribution:
- The libcharset directory of
- ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.8.tar.gz
-
-Homepage:
- http://www.haible.de/bruno/packages-libcharset.html
-
-
-Bruno Haible <bruno@clisp.org>
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/djgpp/README b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/djgpp/README
deleted file mode 100644
index 27c44a27..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/djgpp/README
+++ /dev/null
@@ -1,123 +0,0 @@
-This is a port of GNU Libiconv 1.7 to MSDOS/DJGPP.
-
-1.: DJGPP specific changes.
- =======================
- There are no DJGPP specific changes. This package should
- configure and compile out-of-the-box.
- Please read the documentation to become familiar with this
- product.
-
-
-2.: Installing the binary package.
- ==============================
-
-2.1.: Copy the binary distribution into the top DJGPP installation
- directory and unzip the binary distribution running *ONE* of
- the following commands:
- unzip32 licv16b.zip or
- djtarx licv16b.zip or
- pkunzip -d licv16b.zip
-
-
-
-3.: Building the binaries from sources.
- ===================================
-
-3.1.: To build the binaries you will need the following binary packages:
- djdev203.zip, bsh204b.zip, gcc2952b.zip,
- bnu210b.zip, mak3791b.zip, fil316b.zip,
- shl112b.zip, txt20b.zip, txi40b.zip,
- grep24b.zip and sed302b.zip
-
-
- All this packages can be found in the v2gnu directory of any
- Simtel.NET mirror.
- You will need bsh204b.zip and *NOT* a prior version or the build will fail.
- The same applies to djdev203.zip. You *MUST* use the updated versions of
- fil316b.zip (date: 2000-05-30) and shl112b.zip (date: 2000-08-11). This
- updated versions have been recompiled with djdev203.zip and know about
- the "/dev/env" functionality introduced with djdev203.zip. All the other
- packages are the ones I have used to build the binaries from this sources.
- Previuos and/or later versions of this packages may do the job as well but
- I have not tested this.
-
-3.2.: Create a temporary directory and copy the source package: licv16s.zip
- into the temporary directory. If you download the source distribution
- from one of the DJGPP archives, just unzip it preserving the directory
- structure, runnig ONE of the following commands:
- unzip32 licv16s.zip or
- djtarx licv16s.zip or
- pkunzip -d licv16s.zip
-
- Source distributions downloaded from one of the GNU FTP sites need
- some more work to unpack. First, you MUST use the `djtar' program to
- unzip the package. That's because some file names in the official
- distributions need to be changed to avoid problems on the various
- platforms supported by DJGPP. `djtar' can rename files on the fly
- given a file with name mappings. The distribution includes a file
- `djgpp/fnchange.lst' with the necessary mappings. So you need first
- to retrieve that file, and then invoke `djtar' to unpack the
- distribution. Here's how:
-
- djtar -x -p -o libiconv-1.7/djgpp/fnchange.lst libiconv-1.7.tar.gz > lst
- djtar -x -n lst libiconv-1.7.tar.gz
-
- (The name of the distribution archive and the top-level directory will
- be different for versions other than 1.7.)
-
-
-3.3.: The package is preconfigured for djdev203. To build the products you
- should run the following command:
- make
-
- After the compilation has finished, you can check the products
- running the command:
- make check
-
- To install the products run the command:
- make install
-
- This will install the products (iconv.exe iconv.h localcharset.h libconv.a
- libcharset.a iconv.1 iconv.3 iconv_open.3 iconv_close.3) into your DJGPP
- installation tree. As usual, prefix is defined as "/dev/env/DJDIR".
- If you prefer to install into same other directory run the command:
- make install prefix=z:/some/other/dir
-
- Of course, you should replace "z:/some/other/dir" by an appropriate path
- that will meet your requeriments.
-
-3.4.: If you need/want to reconfigure the package you will have to run the
- following commands:
- make distclean
- djgpp\config
-
- Please note that you *MUST* use the "distclean" option or the config.cache
- file will *NOT* be deleted. In this case you are *NOT* reconfiguring
- because the configuration informations is read from the cache file instead
- of being newly computed.
- To build the programs in a directory other than where the sources are,
- you must add the parameter that specifies the source directory,
- e.g:
- x:\src\gnu\libiconv.16\djgpp\config x:/src/gnu/libiconv.16
-
- Lets assume you want to build the binaries in a directory placed on a
- different drive (z:\build in this case) from where the sources are,
- then you will run the following commands:
- z:
- md \build
- cd \build
- x:\src\gnu\libiconv.16\djgpp\config x:/src/gnu/libiconv.16
-
- You *MUST* use forward slashes to specify the source directory.
- After having configured the package run the folowing commands to create
- the binaries and docs and install them:
- make
- make check
- make install
-
- Send suggestions and bug reports concerning the DJGPP port to
- comp.os.msdos.djgpp or djgpp@delorie.com. Libiconv specific bugs
- must be reported to Bruno Haible <haible@clisp.cons.org>.
-
-
- Guerrero, Juan Manuel <st001906@hrz1.hrz.tu-darmstadt.de>
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/lib/ChangeLog b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/lib/ChangeLog
deleted file mode 100644
index 4cf95b4f..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/lib/ChangeLog
+++ /dev/null
@@ -1,302 +0,0 @@
-2004-01-21 Bruno Haible <bruno@clisp.org>
-
- Upgrade from gettext-0.14.
-
- 2004-01-21 Bruno Haible <bruno@clisp.org>
- * config.charset: Add support for MacOS X (Darwin).
-
- 2003-12-02 Bruno Haible <bruno@clisp.org>
- * config.charset: Treat the new country name CS like the old country
- name YU.
-
- 2003-08-20 Bruno Haible <bruno@clisp.org>
- * config.charset (linux-gnulibc1*): Change hr_HR, ro_RO to ISO-8859-2.
- Reported by Alain Guibert <derogaton+bgli@oreka.com>.
-
- 2003-08-14 Bruno Haible <bruno@clisp.org>
- * config.charset: Add support for Linux libc5. Based on data from
- Alain Guibert <derogaton+bgli@oreka.com>.
-
-2003-06-27 Bruno Haible <bruno@clisp.org>
-
- Avoid use of *_unlocked functions on Solaris 2.5.1.
- * localcharset.c: Test HAVE_DECL_GETC_UNLOCKED, not HAVE_GETC_UNLOCKED.
- Reported by Eric Botcazou <ebotcazou@libertysurf.fr>.
-
-2003-08-20 Bruno Haible <bruno@clisp.org>
-
- * config.charset (linux-gnulibc1*): Change hr_HR, ro_RO to ISO-8859-2.
- Reported by Alain Guibert <derogaton+bgli@oreka.com>.
-
-2003-08-14 Bruno Haible <bruno@clisp.org>
-
- * config.charset: Add support for Linux libc5. Based on data from
- Alain Guibert <derogaton+bgli@oreka.com>.
-
-2003-08-01 Bruno Haible <bruno@clisp.org>
-
- * relocatable.c (find_shared_library_fullname): Disable the code on
- Linux/libc5. Reported by Alain Guibert <derogaton+bgli@oreka.com>.
-
-2003-06-22 Bruno Haible <bruno@clisp.org>
-
- Portability to mingw32.
- * relocatable.c [WIN32]: Include <windows.h>.
- Reported by Jeff Bonggren <jbon@cfl.rr.com>.
-
-2003-06-22 Bruno Haible <bruno@clisp.org>
-
- * relocatable.c (compute_curr_prefix): Comment out this function in
- the case when it is not used.
- Reported by Pavel Roskin <proski@gnu.org>.
-
-2003-06-07 Bruno Haible <bruno@clisp.org>
-
- Support for relocatable data files even on VMS.
- * Makefile.vms (bindir): New variable.
- (DEFS): Add flags for relocatability.
- Reported by Jouk Jansen <joukj@hrem.stm.tudelft.nl>.
-
-2003-06-07 Bruno Haible <bruno@clisp.org>
-
- Support for relocatable data files even on Woe32.
- * Makefile.msvc (IIPREFIX, IIprefix, IIexec_prefix, IIbindir,
- IIlibdir): New variables.
- (PICFLAGS): Also define PIC. Define BUILDING_* flags here.
- (CFLAGS): ... not here. Add flags for relocatability.
-
-2003-05-18 Bruno Haible <bruno@clisp.org>
-
- * Makefile.msvc (DEBUGFLAGS): New variable.
- (charset.lib): Use it.
-
-2003-05-07 Bruno Haible <bruno@clisp.org>
-
- * Makefile.vms: New file.
-
-2003-04-12 Bruno Haible <bruno@clisp.org>
-
- * lib/localcharset.c (get_charset_aliases): Add special case for VMS.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- Support for relocatable installation.
- * relocatable.h: New file, from GNU gettext.
- * relocatable.c: New file, from GNU gettext.
- * localcharset.c: Update from GNU gettext.
- 2003-02-28 Bruno Haible <bruno@clisp.org>
- * localcharset.c: Include relocatable.h.
- (get_charset_aliases): Relocate LIBDIR value.
- * localcharset.c: Drop C linkage declaration.
- * Makefile.in (DEFS): New variable.
- (SOURCES): Add relocatable.c.
- (OBJECTS): Add relocatable.lo.
- (localcharset.lo): Use $(DEFS).
- (relocatable.lo): New rule.
- * Makefile.msvc (CFLAGS): Remove $(PICFLAGS).
- (INCLUDES): Simplify.
- (SOURCES): Remove variable.
- (OBJECTS): Add relocatable.obj.
- (localcharset.obj): Add $(PICFLAGS).
- (relocatable.obj): New rule.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * Makefile.msvc (PREFIX): New variable.
- (prefix): Use it.
- (clean): Drop Unix specific removal.
-
-2003-03-17 Bruno Haible <bruno@clisp.org>
-
- Improved MSVC support.
- * Makefile.msvc (prefix): Use less Unixy value.
- (local_prefix): Remove variable.
- (libdir): Use backslashes.
- (bindir): New variable.
- (INSTALL, INSTALL_PROGRAM, INSTALL_DATA): Set to real values.
- (RESOURCES): Enable charset.res.
- (charset.lib): Set the target library name explicitly.
- (charset.res): New rule.
- (install, installdirs, uninstall): New rules.
-
- Rename libcharset.h to localcharset.h.
- * localcharset.c: Include localcharset.h.
- * localcharset.h: Remove file.
- * Makefile.in (INCLUDES): Add -I../include.
- * Makefile.msvc (INCLUDES): Add -I../include.
-
-2003-01-29 Bruno Haible <bruno@clisp.org>
-
- * config.charset: Add an alias for CP1251 on Solaris.
- Reported by Hidetoshi Tajima <hidetoshi.tajima@sun.com>.
-
-2003-01-12 Bruno Haible <bruno@clisp.org>
-
- * localcharset.h: New file.
- * localcharset.c: Include it.
-
-2003-01-01 Bruno Haible <bruno@clisp.org>
-
- * Makefile.in (mkinstalldirs): Renamed from MKINSTALLDIRS.
- (install-lib, install, installdirs): Use it.
-
-2002-05-09 Bruno Haible <bruno@clisp.org>
-
- * config.charset: Update for newest glibc. Add canonical names
- ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
-
-2002-05-09 Bruno Haible <bruno@clisp.org>
-
- * localcharset.c (get_charset_aliases): Add more Windows specific
- aliases.
-
-2002-05-08 Owen Taylor <otaylor@redhat.com>
-
- * config.charset: A few additions for Solaris.
-
-2002-02-15 Bruno Haible <bruno@clisp.org>
-
- * config.charset [msdosdjgpp]: For Russian, use CP866.
-
-2002-02-11 Bruno Haible <bruno@clisp.org>
-
- * config.charset: Add support for NetBSD.
-
-2002-01-10 Andrew Zabolotny <zap@cobra.ru>
- Bruno Haible <bruno@clisp.org>
-
- * localcharset.c: Rework OS/2 support.
- * config.charset: Add OS/2 support.
-
-2001-12-21 Bruno Haible <bruno@clisp.org>
-
- * localcharset.c (ISSLASH): Provide definition for DOS-like systems.
-
-2001-12-15 Bruno Haible <bruno@clisp.org>
-
- * localcharset.c: Add OS/2 support.
-
-2001-12-05 Bruno Haible <bruno@clisp.org>
-
- * localcharset.c (locale_charset): Don't return an empty string.
-
-2001-10-23 Bruno Haible <haible@clisp.cons.org>
-
- * config.charset: msdos in uk_UA uses CP1125.
-
-2001-08-05 Bruno Haible <haible@clisp.cons.org>
-
- Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
- * localcharset.c (locale_charset): Declare as extern "C".
- (get_charset_aliases): Cast malloc and realloc results to 'char *'.
-
-2001-06-27 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (clean): Remove also *.o.lock, left there by libtool
- on IRIX.
-
-2001-06-25 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (localcharset.lo): Mention $(INCLUDES) before $(CFLAGS)
- and $(CPPFLAGS).
- * Makefile.msvc (localcharset.obj): Likewise.
-
-2001-06-24 Bruno Haible <haible@clisp.cons.org>
-
- * config.charset: Change canonical name of BIG5HKSCS to BIG5-HKSCS.
- Change canonical name of SJIS to SHIFT_JIS.
-
-2001-05-06 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc (charset.lib): Allow the 'del' command to fail.
-
-2001-05-06 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (CPPFLAGS, LDFLAGS): New variables.
- (libcharset.la): Use LDFLAGS.
- (localcharset.lo): Use CPPFLAGS.
-
-2001-04-30 Bruno Haible <haible@clisp.cons.org>
-
- Silence "gcc -Wall -Wwrite-strings" warnings.
- * localcharset.c (charset_aliases): Change type to 'const char *'.
- (get_charset_aliases): Change type of 'cp' to 'const char *'.
-
-2001-03-10 Bruno Haible <haible@clisp.cons.org>
-
- * localcharset.c (locale_charset): Allow wildcard syntax. Also resolve
- alias if codeset is empty.
- * config.charset (BeOS): Use wildcard syntax.
-
- * Makefile.in (libcharset.la): Pass flag -no-undefined. Needed on
- platforms like BeOS.
-
- * Makefile.in (RM): New variable.
-
-2001-01-05 Bruno Haible <haible@clisp.cons.org>
-
- * localcharset.c (volatile): Define to empty if not using ANSI C.
-
-2001-03-05 Bruno Haible <haible@clisp.cons.org>
-
- * config.charset: Update for OSF/1 5.1.
-
-2001-03-01 Bruno Haible <haible@clisp.cons.org>
-
- * config.charset: For DOS/DJGPP, add CP775.
-
-2001-02-24 Bruno Haible <haible@clisp.cons.org>
-
- * config.charset: Add support for DOS/DJGPP.
-
-2001-02-25 Bruno Haible <haible@clisp.cons.org>
-
- * localcharset.c (locale_charset): Don't return NULL.
-
-2001-02-24 Bruno Haible <haible@clisp.cons.org>
-
- * localcharset.c (locale_charset): Don't use setlocale(LC_CTYPE,NULL).
-
-2001-01-30 Bruno Haible <haible@clisp.cons.org>
-
- * config.charset: Update for FreeBSD 4.2.
-
-2000-12-19 Jim Meyering <jim@meyering.net>
-
- * localcharset.c: Improve WIN32 macrology.
- (locale_charset): Increase size of buffer.
-
-2000-12-18 Bruno Haible <haible@clisp.cons.org>
-
- * config.charset: Add support for BeOS.
-
-2000-12-12 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (ref-add.sed, ref-del.sed): Don't use $<, not understood
- by Solaris "make". Reported by Toshimitsu Fujiwara.
-
-2000-12-08 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.in (exec_prefix): Use configure's --exec-prefix argument.
-
-2000-12-02 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc: Replace STATIC with its opposite flag, DLL.
-
-2000-11-21 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc (MFLAGS): New variable.
- (CFLAGS, charset.lib): Use it.
- (INCLUDES): Use "..", not "..\include".
-
-2000-10-31 Bruno Haible <haible@clisp.cons.org>
-
- * Makefile.msvc: New file.
-
-2000-10-31 Bruno Haible <haible@clisp.cons.org>
-
- * config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB, VISCII,
- CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256, CP1257
- to the list of canonical encodings. Rename EUC-CN to GB2312.
- * localcharset.c (locale_charset): Add support for Win32.
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/m4/ChangeLog b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/m4/ChangeLog
deleted file mode 100644
index 236923ff..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/m4/ChangeLog
+++ /dev/null
@@ -1,18 +0,0 @@
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- Support for relocatable installation.
- * relocatable.m4: New file, from GNU gettext.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * codeset.m4: Update from GNU gettext-0.10.40.
- * glibc21.m4: Update from GNU gettext-0.10.40.
-
-2002-11-07 Bruno Haible <bruno@clisp.org>
-
- * libtool.m4: Upgrade to libtool-1.4.3.
-
-2002-07-14 Bruno Haible <bruno@clisp.org>
-
- * libtool.m4 (_LT_AC_LTCONFIG_HACK): Add support for GNU/FreeBSD.
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/tools/README b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/tools/README
deleted file mode 100644
index 7c5f7d73..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/libcharset/tools/README
+++ /dev/null
@@ -1,25 +0,0 @@
-This directory contains tools for maintaining the config.charset file.
-
-The main script is "all-charsets". Before using it, you must configure
-this package. For all installed locales, it prints
- - the result of the command "locale charmap",
- - the result of "nl_langinfo (CODESET)",
- - the result of "locale_charset ()".
-
-It uses the following auxiliary scripts and programs:
- - all-locales
- Prints all usable locales in the system, one per line.
- - locale_charmap
- Executes "locale charmap".
- - locale_codeset.c
- Prints nl_langinfo (CODESET).
- - locale_charset.c
- Prints locale_charset().
-
-A second main script is "all-charsets-X11". It also prints the X11
-encoding name. Before using it, you must tweak the X11 paths needed
-for compiling locale_x11encoding (a simple X11 program), and let your
-DISPLAY environment variable point to a running X11 screen.
-
-The other files are test results from various operating systems.
-
diff --git a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/po/ChangeLog b/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/po/ChangeLog
deleted file mode 100644
index daf35ca7..00000000
--- a/gnuwin32/contrib/libiconv/1.9.2/libiconv-1.9.2-src/po/ChangeLog
+++ /dev/null
@@ -1,148 +0,0 @@
-2003-11-13 Bruno Haible <bruno@clisp.org>
-
- * sr.po: New file, from Aleksandar Jelenak <jelenak@netlinkplus.net>.
- * LINGUAS: Add sr.
-
-2003-10-14 Bruno Haible <bruno@clisp.org>
-
- * pl.po: New file, from Arkadiusz Lipiec <A.Lipiec@elka.pw.edu.pl>.
- * LINGUAS: Add pl.
-
-2003-08-22 Bruno Haible <bruno@clisp.org>
-
- * wa.po: New file, from Pablo Saratxaga <pablo@walon.org>.
- * LINGUAS: Add wa.
-
-2003-08-05 Bruno Haible <bruno@clisp.org>
-
- * nl.po: Update from Elros Cyriatan <cyriatan@fastmail.fm>.
-
-2003-07-31 Bruno Haible <bruno@clisp.org>
-
- * nl.po: New file, from Taco Witte <T.C.Witte@phys.uu.nl>.
- * LINGUAS: Add nl.
-
-2003-06-11 Bruno Haible <bruno@clisp.org>
-
- * et.po: New file, from Toomas Soome <Toomas.Soome@microlink.ee>.
- * ro.po: Update from Eugen Hoanca <eugenh@urban-grafx.ro>.
- * ru.po: Update from Dmitry S. Sivachenko <mitya@cavia.pp.ru>.
- * zh_CN.po: New file, from Wang Jian <lark@linux.net.cn>.
- * LINGUAS: Add et and zh_CN.
-
-2003-05-07 Bruno Haible <bruno@clisp.org>
-
- * ga.po: Update from Kevin Patrick Scannell <scannell@slu.edu>.
-
-2003-05-06 Bruno Haible <bruno@clisp.org>
-
- * ga.po: New file, from Kevin Patrick Scannell <scannell@slu.edu>.
- * LINGUAS: Add it.
-
-2003-04-22 Bruno Haible <bruno@clisp.org>
-
- * ro.po: New file, from Eugen Hoanca <eugenh@urban-grafx.ro>.
- * LINGUAS: Add it.
-
-2003-04-05 Bruno Haible <bruno@clisp.org>
-
- * Makefile.msvc.sh (PREFIX): New variable.
- (prefix): Use it.
- (clean): Drop Unix specific removal.
-
-2003-04-09 Bruno Haible <bruno@clisp.org>
-
- * Makevars (MSGID_BUGS_ADDRESS): New variable.
-
-2003-04-09 gettextize <bug-gnu-gettext@gnu.org>
-
- * Makefile.in.in: Upgrade to gettext-0.12-pre3.
-
-2003-03-17 Bruno Haible <bruno@clisp.org>
-
- Improved MSVC support.
- * Makefile.msvc.sh: New file.
- * Rules-msvc: New file.
-
-2003-02-10 Bruno Haible <bruno@clisp.org>
-
- * uk.po: New file, from Volodymyr M. Lisivka <lvm@mystery.lviv.net>.
- * LINGUAS: Add it.
-
-2002-12-05 Bruno Haible <bruno@clisp.org>
-
- * it.po: New file, from Marco Parrone <marc0@autistici.org>.
- * LINGUAS: Add it.
-
-2002-11-12 Bruno Haible <bruno@clisp.org>
-
- * da.po: New file, from Keld Simonsen <keld@dkuug.dk>.
- * LINGUAS: Add da.
-
-2002-10-29 Bruno Haible <bruno@clisp.org>
-
- * id.po: New file, from Tedi Heriyanto <tedi_h@gmx.net>.
- * LINGUAS: Add id.
-
-2002-08-23 Bruno Haible <bruno@clisp.org>
-
- * fi.po: New file, from Matti Koskimies <matti@apulanta.fi>.
- * fr.po: New file, from Michel Robitaille <robitail@iro.umontreal.ca>.
- * pt_BR.po: Update from
- Alexandre Folle de Menezes <afmenez@terra.com.br>.
- * ru.po: New file, from Dmitry S. Sivachenko <mitya@cavia.pp.ru>.
- * sl.po: New file, from
- Primož Peterlin <primoz.peterlin@biofiz.mf.uni-lj.si>.
- * tr.po: New file, from Deniz Akkus Kanca <deniz@arayan.com>.
- * LINGUAS: Add fi, fr, ru, sl, tr.
-
-2002-06-20 Bruno Haible <bruno@clisp.org>
-
- * es.po: New file, from Santiago Vila Doncel <sanvila@unex.es>.
- * LINGUAS: Add es.
-
-2002-06-14 Bruno Haible <bruno@clisp.org>
-
- * hr.po: New file, from Denis Lackovic <delacko@fly.srk.fer.hr>.
- * LINGUAS: Add hr.
-
-2002-06-14 Bruno Haible <bruno@clisp.org>
-
- * pt_BR.po: Update from
- Alexandre Folle de Menezes <afmenez@terra.com.br>.
-
-2002-06-11 Bruno Haible <bruno@clisp.org>
-
- * sv.po: New file, from Christian Rose <menthos@menthos.com>.
- * LINGUAS: Add sv.
-
-2002-06-05 Bruno Haible <bruno@clisp.org>
-
- * pt_BR.po: New file, from
- Alexandre Folle de Menezes <afmenez@terra.com.br>.
- * LINGUAS: Add pt_BR.
-
-2002-06-03 Bruno Haible <bruno@clisp.org>
-
- * gl.po: New file, from Jacobo Tarrio <jtarrio@trasno.net>.
- * LINGUAS: Add gl.
-
-2002-05-31 Bruno Haible <bruno@clisp.org>
-
- * ca.po: New file, from Ivan Vilata i Balaguer <ivan@selidor.net>.
- * eo.po: New file, from Edmund Grimley Evans <edmundo@rano.org>.
- * hu.po: New file, from Emese Kovacs <emese@gnome.hu>.
- * sk.po: New file, from Marcel Telka <marcel@telka.sk>.
- * LINGUAS: Add ca, eo, hu, sk.
-
-2002-04-27 gettextize <bug-gnu-gettext@gnu.org>
-
- * Makefile.in.in: New file, from gettext-0.11.1.
- * Rules-quot: New file, from gettext-0.11.1.
- * boldquot.sed: New file, from gettext-0.11.1.
- * en@boldquot.header: New file, from gettext-0.11.1.
- * en@quot.header: New file, from gettext-0.11.1.
- * insert-header.sin: New file, from gettext-0.11.1.
- * quot.sed: New file, from gettext-0.11.1.
- * remove-potcdate.sin: New file, from gettext-0.11.1.
-
diff --git a/gnuwin32/lib/charset.alias b/gnuwin32/lib/charset.alias
deleted file mode 100644
index 204ab43a..00000000
--- a/gnuwin32/lib/charset.alias
+++ /dev/null
@@ -1,4 +0,0 @@
-# This file contains a table of character encoding aliases,
-# suitable for operating system 'mingw32'.
-# It was automatically generated from config.charset.
-# Packages using this file:
diff --git a/gnuwin32/lib/libcharset.la b/gnuwin32/lib/libcharset.la
deleted file mode 100644
index 85ed6289..00000000
--- a/gnuwin32/lib/libcharset.la
+++ /dev/null
@@ -1,35 +0,0 @@
-# libcharset.la - a libtool library file
-# Generated by ltmain.sh - GNU libtool 1.5 (1.1220 2003/04/05 19:32:58)
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='../bin/libcharset1.dll'
-
-# Names of this library.
-library_names='libcharset.dll.a'
-
-# The name of the static archive.
-old_library=''
-
-# Libraries that this one depends upon.
-dependency_libs=''
-
-# Version information for libcharset.
-current=1
-age=0
-revision=0
-
-# Is this an already installed library?
-installed=yes
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=no
-
-# Files to dlopen/dlpreopen
-dlopen=''
-dlpreopen=''
-
-# Directory that this library needs to be installed in:
-libdir='C:/Users/marius/DOWNLO~1/WEBKIT~1/install/lib'
diff --git a/gnuwin32/lib/libcharset.la.orig b/gnuwin32/lib/libcharset.la.orig
deleted file mode 100644
index bc1e4484..00000000
--- a/gnuwin32/lib/libcharset.la.orig
+++ /dev/null
@@ -1,35 +0,0 @@
-# libcharset.la - a libtool library file
-# Generated by ltmain.sh - GNU libtool 1.5 (1.1220 2003/04/05 19:32:58)
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='../bin/libcharset1.dll'
-
-# Names of this library.
-library_names='libcharset.dll.a'
-
-# The name of the static archive.
-old_library=''
-
-# Libraries that this one depends upon.
-dependency_libs=''
-
-# Version information for libcharset.
-current=1
-age=0
-revision=0
-
-# Is this an already installed library?
-installed=yes
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=no
-
-# Files to dlopen/dlpreopen
-dlopen=''
-dlpreopen=''
-
-# Directory that this library needs to be installed in:
-libdir='c:/progra~1/LibIconv/lib'
diff --git a/gnuwin32/lib/libiconv.la b/gnuwin32/lib/libiconv.la
deleted file mode 100644
index 839df51b..00000000
--- a/gnuwin32/lib/libiconv.la
+++ /dev/null
@@ -1,35 +0,0 @@
-# libiconv.la - a libtool library file
-# Generated by ltmain.sh - GNU libtool 1.5 (1.1220 2003/04/05 19:32:58)
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='../bin/libiconv2.dll'
-
-# Names of this library.
-library_names='libiconv.dll.a'
-
-# The name of the static archive.
-old_library=''
-
-# Libraries that this one depends upon.
-dependency_libs=''
-
-# Version information for libiconv.
-current=4
-age=2
-revision=0
-
-# Is this an already installed library?
-installed=yes
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=no
-
-# Files to dlopen/dlpreopen
-dlopen=''
-dlpreopen=''
-
-# Directory that this library needs to be installed in:
-libdir='C:/Users/marius/DOWNLO~1/WEBKIT~1/install/lib'
diff --git a/gnuwin32/lib/libiconv.la.orig b/gnuwin32/lib/libiconv.la.orig
deleted file mode 100644
index b894609c..00000000
--- a/gnuwin32/lib/libiconv.la.orig
+++ /dev/null
@@ -1,35 +0,0 @@
-# libiconv.la - a libtool library file
-# Generated by ltmain.sh - GNU libtool 1.5 (1.1220 2003/04/05 19:32:58)
-#
-# Please DO NOT delete this file!
-# It is necessary for linking the library.
-
-# The name that we can dlopen(3).
-dlname='../bin/libiconv2.dll'
-
-# Names of this library.
-library_names='libiconv.dll.a'
-
-# The name of the static archive.
-old_library=''
-
-# Libraries that this one depends upon.
-dependency_libs=''
-
-# Version information for libiconv.
-current=4
-age=2
-revision=0
-
-# Is this an already installed library?
-installed=yes
-
-# Should we warn about portability when linking against -modules?
-shouldnotlink=no
-
-# Files to dlopen/dlpreopen
-dlopen=''
-dlpreopen=''
-
-# Directory that this library needs to be installed in:
-libdir='c:/progra~1/LibIconv/lib'
diff --git a/gnuwin32/man/cat1/gperf.1.txt b/gnuwin32/man/cat1/gperf.1.txt
deleted file mode 100644
index d9e128c7..00000000
--- a/gnuwin32/man/cat1/gperf.1.txt
+++ /dev/null
@@ -1,226 +0,0 @@
-GPERF(1) FSF GPERF(1)
-
-
-
-
-
-NAME
- gperf - generate a perfect hash function from a key set
-
-SYNOPSIS
- gperf [OPTION]... [INPUT-FILE]
-
-DESCRIPTION
- GNU 'gperf' generates perfect hash functions.
-
- If a long option shows an argument as mandatory, then it
- is mandatory for the equivalent short option also.
-
- Output file location:
- --output-file=FILE Write output to specified file.
-
- The results are written to standard output if no output
- file is specified or if it is -.
-
- Input file interpretation:
- -e, --delimiters=DELIMITER-LIST
- Allow user to provide a string containing delim-
- iters used to separate keywords from their
- attributes. Default is ",".
-
- -t, --struct-type
- Allows the user to include a structured type dec-
- laration for generated code. Any text before %%
- is considered part of the type declaration. Key
- words and additional fields may follow this, one
- group of fields per line.
-
- --ignore-case
- Consider upper and lower case ASCII characters as
- equivalent. Note that locale dependent case map-
- pings are ignored.
-
- Language for the output code:
- -L, --language=LANGUAGE-NAME
- Generates code in the specified language. Lan-
- guages handled are currently C++, ANSI-C, C, and
- KR-C. The default is C.
-
- Details in the output code:
- -K, --slot-name=NAME
- Select name of the keyword component in the key-
- word structure.
-
- -F, --initializer-suffix=INITIALIZERS
- Initializers for additional components in the
- keyword structure.
-
- -H, --hash-function-name=NAME
- Specify name of generated hash function. Default
- is 'hash'.
-
- -N, --lookup-function-name=NAME
- Specify name of generated lookup function.
- Default name is 'in_word_set'.
-
- -Z, --class-name=NAME
- Specify name of generated C++ class. Default name
- is 'Perfect_Hash'.
-
- -7, --seven-bit
- Assume 7-bit characters.
-
- -l, --compare-lengths
- Compare key lengths before trying a string com-
- parison. This is necessary if the keywords con-
- tain NUL bytes. It also helps cut down on the
- number of string comparisons made during the
- lookup.
-
- -c, --compare-strncmp
- Generate comparison code using strncmp rather
- than strcmp.
-
- -C, --readonly-tables
- Make the contents of generated lookup tables con-
- stant, i.e., readonly.
-
- -E, --enum
- Define constant values using an enum local to the
- lookup function rather than with defines.
-
- -I, --includes
- Include the necessary system include file
- <string.h> at the beginning of the code.
-
- -G, --global-table
- Generate the static table of keywords as a static
- global variable, rather than hiding it inside of
- the lookup function (which is the default behav-
- ior).
-
- -P, --pic
- Optimize the generated table for inclusion in
- shared libraries. This reduces the startup time
- of programs using a shared library containing the
- generated code.
-
- -Q, --string-pool-name=NAME
- Specify name of string pool generated by option
- --pic. Default name is 'stringpool'.
-
- --null-strings
- Use NULL strings instead of empty strings for
- empty keyword table entries.
-
- -W, --word-array-name=NAME
- Specify name of word list array. Default name is
- 'wordlist'.
-
- -S, --switch=COUNT
- Causes the generated C code to use a switch
- statement scheme, rather than an array lookup ta-
- ble. This can lead to a reduction in both time
- and space requirements for some keyfiles. The
- COUNT argument determines how many switch state-
- ments are generated. A value of 1 generates 1
- switch containing all the elements, a value of 2
- generates 2 tables with 1/2 the elements in each
- table, etc. If COUNT is very large, say 1000000,
- the generated C code does a binary search.
-
- -T, --omit-struct-type
- Prevents the transfer of the type declaration to
- the output file. Use this option if the type is
- already defined elsewhere.
-
- Algorithm employed by gperf:
- -k, --key-positions=KEYS
- Select the key positions used in the hash func-
- tion. The allowable choices range between 1-255,
- inclusive. The positions are separated by com-
- mas, ranges may be used, and key positions may
- occur in any order. Also, the meta-character '*'
- causes the generated hash function to consider
- ALL key positions, and $ indicates the "final
- character" of a key, e.g., $,1,2,4,6-10.
-
- -D, --duplicates
- Handle keywords that hash to duplicate values.
- This is useful for certain highly redundant key-
- word sets.
-
- -m, --multiple-iterations=ITERATIONS
- Perform multiple choices of the -i and -j values,
- and choose the best results. This increases the
- running time by a factor of ITERATIONS but does a
- good job minimizing the generated table size.
-
- -i, --initial-asso=N
- Provide an initial value for the associate values
- array. Default is 0. Setting this value larger
- helps inflate the size of the final table.
-
- -j, --jump=JUMP-VALUE
- Affects the "jump value", i.e., how far to
- advance the associated character value upon col-
- lisions. Must be an odd number, default is 5.
-
- -n, --no-strlen
- Do not include the length of the keyword when
- computing the hash function.
-
- -r, --random
- Utilizes randomness to initialize the associated
- values table.
-
- -s, --size-multiple=N
- Affects the size of the generated hash table. The
- numeric argument N indicates "how many times
- larger or smaller" the associated value range
- should be, in relationship to the number of keys,
- e.g. a value of 3 means "allow the maximum asso-
- ciated value to be about 3 times larger than the
- number of input keys". Conversely, a value of 1/3
- means "make the maximum associated value about 3
- times smaller than the number of input keys". A
- larger table should decrease the time required
- for an unsuccessful search, at the expense of
- extra table space. Default value is 1.
-
- Informative output:
- -h, --help
- Print this message.
-
- -v, --version
- Print the gperf version number.
-
- -d, --debug
- Enables the debugging option (produces verbose
- output to the standard error).
-
-AUTHOR
- Written by Douglas C. Schmidt and Bruno Haible.
-
-REPORTING BUGS
- Report bugs to <bug-gnu-gperf@gnu.org>.
-
-COPYRIGHT
- Copyright (C) 1989-1998, 2000-2003 Free Software Founda-
- tion, Inc.
- This is free software; see the source for copying condi-
- tions. There is NO warranty; not even for MERCHANTABIL-
- ITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-SEE ALSO
- The full documentation for gperf is maintained as a Tex-
- info manual. If the info and gperf programs are prop-
- erly installed at your site, the command
-
- info gperf
-
- should give you access to the complete manual.
-
-
-
-GNU gperf 3.0.1 June 2003 GPERF(1)
diff --git a/gnuwin32/man/cat1/iconv.1.txt b/gnuwin32/man/cat1/iconv.1.txt
deleted file mode 100644
index 2089d32e..00000000
--- a/gnuwin32/man/cat1/iconv.1.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-ICONV(1) Linux Programmer's Manual ICONV(1)
-
-
-
-
-
-NAME
- iconv - character set conversion
-
-SYNOPSIS
- iconv [-c] [-s] [-f encoding] [-t encoding] [inputfile ...]
- iconv -l
-
-DESCRIPTION
- The iconv program converts text from one encoding to
- another encoding. More precisely, it converts from the
- encoding given for the -f option to the encoding given
- for the -t option. Either of these encodings defaults to
- the encoding of the current locale. All the inputfiles
- are read and converted in turn; if no inputfile is
- given, the standard input is used. The converted text is
- printed to standard output.
-
- When option -c is given, characters that cannot be con-
- verted are silently discarded, instead of leading to a
- conversion error.
-
- When option -s is given, error messages about invalid or
- unconvertible characters are omitted, but the actual
- converted text is unaffected.
-
- The encodings permitted are system dependent. For the
- libiconv implementation, they are listed in the
- iconv_open(3) manual page.
-
- The iconv -l command lists the names of the supported
- encodings, in a system dependent format. For the libi-
- conv implementation, the names are printed in upper
- case, separated by whitespace, and alias names of an
- encoding are listed on the same line as the encoding
- itself.
-
-SEE ALSO
- iconv_open(3), locale(7)
-
-
-
-GNU January 13, 2002 ICONV(1)
diff --git a/gnuwin32/man/cat1/yacc.1.txt b/gnuwin32/man/cat1/yacc.1.txt
deleted file mode 100644
index ada6a5c1..00000000
--- a/gnuwin32/man/cat1/yacc.1.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-YACC(1) User Commands YACC(1)
-
-
-
-NAME
- yacc - GNU Project parser generator
-
-SYNOPSIS
- yacc [OPTION]... FILE
-
-DESCRIPTION
- Yacc (Yet Another Compiler Compiler) is a parser genera-
- tor. This version is a simple wrapper around bison(1).
- It passes option -y, --yacc to activate the upward com-
- patibility mode. See bison(1) for more information.
-
-AUTHOR
- Written by Paul Eggert.
-
-REPORTING BUGS
- Report bugs to <bug-bison@gnu.org>.
-
-COPYRIGHT
- Copyright © 2008 Free Software Foundation, Inc.
- This is free software; see the source for copying condi-
- tions. There is NO warranty; not even for MERCHANTABIL-
- ITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-SEE ALSO
- lex(1), flex(1), bison(1).
-
- The full documentation for bison is maintained as a Tex-
- info manual. If the info and bison programs are prop-
- erly installed at your site, the command
-
- info bison
-
- should give you access to the complete manual.
-
-
-
-GNU Bison 2.4.1 November 2007 YACC(1)
diff --git a/gnuwin32/man/cat1p/yacc.1p.txt b/gnuwin32/man/cat1p/yacc.1p.txt
deleted file mode 100644
index cab30089..00000000
--- a/gnuwin32/man/cat1p/yacc.1p.txt
+++ /dev/null
@@ -1,1269 +0,0 @@
-YACC(1P) POSIX Programmer's Manual YACC(1P)
-
-
-
-PROLOG
- This manual page is part of the POSIX Programmer's Man-
- ual. The Linux implementation of this interface may
- differ (consult the corresponding Linux manual page for
- details of Linux behavior), or the interface may not be
- implemented on Linux.
-
-NAME
- yacc - yet another compiler compiler (DEVELOPMENT)
-
-SYNOPSIS
- yacc [-dltv][-b file_prefix][-p sym_prefix] grammar
-
-DESCRIPTION
- The yacc utility shall read a description of a context-
- free grammar in grammar and write C source code, con-
- forming to the ISO C standard, to a code file, and
- optionally header information into a header file, in the
- current directory. The C code shall define a function
- and related routines and macros for an automaton that
- executes a parsing algorithm meeting the requirements in
- Algorithms .
-
- The form and meaning of the grammar are described in the
- EXTENDED DESCRIPTION section.
-
- The C source code and header file shall be produced in a
- form suitable as input for the C compiler (see c99 ).
-
-OPTIONS
- The yacc utility shall conform to the Base Definitions
- volume of IEEE Std 1003.1-2001, Section 12.2, Utility
- Syntax Guidelines.
-
- The following options shall be supported:
-
- -b file_prefix
- Use file_prefix instead of y as the prefix for
- all output filenames. The code file y.tab.c, the
- header file y.tab.h (created when -d is speci-
- fied), and the description file y.output (created
- when -v is specified), shall be changed to
- file_prefix .tab.c, file_prefix .tab.h, and
- file_prefix .output, respectively.
-
- -d Write the header file; by default only the code
- file is written. The #define statements associate
- the token codes assigned by yacc with the user-
- declared token names. This allows source files
- other than y.tab.c to access the token codes.
-
- -l Produce a code file that does not contain any
- #line constructs. If this option is not present,
- it is unspecified whether the code file or header
- file contains #line directives. This should only
- be used after the grammar and the associated
- actions are fully debugged.
-
- -p sym_prefix
-
- Use sym_prefix instead of yy as the prefix for
- all external names produced by yacc. The names
- affected shall include the functions yyparse(),
- yylex(), and yyerror(), and the variables yylval,
- yychar, and yydebug. (In the remainder of this
- section, the six symbols cited are referenced
- using their default names only as a notational
- convenience.) Local names may also be affected by
- the -p option; however, the -p option shall not
- affect #define symbols generated by yacc.
-
- -t Modify conditional compilation directives to per-
- mit compilation of debugging code in the code
- file. Runtime debugging statements shall always
- be contained in the code file, but by default
- conditional compilation directives prevent their
- compilation.
-
- -v Write a file containing a description of the
- parser and a report of conflicts generated by
- ambiguities in the grammar.
-
-
-OPERANDS
- The following operand is required:
-
- grammar
- A pathname of a file containing instructions,
- hereafter called grammar, for which a parser is
- to be created. The format for the grammar is
- described in the EXTENDED DESCRIPTION section.
-
-
-STDIN
- Not used.
-
-INPUT FILES
- The file grammar shall be a text file formatted as spec-
- ified in the EXTENDED DESCRIPTION section.
-
-ENVIRONMENT VARIABLES
- The following environment variables shall affect the
- execution of yacc:
-
- LANG Provide a default value for the internationaliza-
- tion variables that are unset or null. (See the
- Base Definitions volume of IEEE Std 1003.1-2001,
- Section 8.2, Internationalization Variables for
- the precedence of internationalization variables
- used to determine the values of locale cate-
- gories.)
-
- LC_ALL If set to a non-empty string value, override the
- values of all the other internationalization
- variables.
-
- LC_CTYPE
- Determine the locale for the interpretation of
- sequences of bytes of text data as characters
- (for example, single-byte as opposed to multi-
- byte characters in arguments and input files).
-
- LC_MESSAGES
- Determine the locale that should be used to
- affect the format and contents of diagnostic mes-
- sages written to standard error.
-
- NLSPATH
- Determine the location of message catalogs for
- the processing of LC_MESSAGES .
-
-
- The LANG and LC_* variables affect the execution of the
- yacc utility as stated. The main() function defined in
- Yacc Library shall call:
-
-
- setlocale(LC_ALL, "")
-
- and thus the program generated by yacc shall also be
- affected by the contents of these variables at runtime.
-
-ASYNCHRONOUS EVENTS
- Default.
-
-STDOUT
- Not used.
-
-STDERR
- If shift/reduce or reduce/reduce conflicts are detected
- in grammar, yacc shall write a report of those conflicts
- to the standard error in an unspecified format.
-
- Standard error shall also be used for diagnostic mes-
- sages.
-
-OUTPUT FILES
- The code file, the header file, and the description file
- shall be text files. All are described in the following
- sections.
-
- Code File
- This file shall contain the C source code for the
- yyparse() function. It shall contain code for the vari-
- ous semantic actions with macro substitution performed
- on them as described in the EXTENDED DESCRIPTION sec-
- tion. It also shall contain a copy of the #define state-
- ments in the header file. If a %union declaration is
- used, the declaration for YYSTYPE shall also be included
- in this file.
-
- Header File
- The header file shall contain #define statements that
- associate the token numbers with the token names. This
- allows source files other than the code file to access
- the token codes. If a %union declaration is used, the
- declaration for YYSTYPE and an extern YYSTYPE yylval
- declaration shall also be included in this file.
-
- Description File
- The description file shall be a text file containing a
- description of the state machine corresponding to the
- parser, using an unspecified format. Limits for internal
- tables (see Limits ) shall also be reported, in an
- implementation-defined manner. (Some implementations may
- use dynamic allocation techniques and have no specific
- limit values to report.)
-
-EXTENDED DESCRIPTION
- The yacc command accepts a language that is used to
- define a grammar for a target language to be parsed by
- the tables and code generated by yacc. The language
- accepted by yacc as a grammar for the target language is
- described below using the yacc input language itself.
-
- The input grammar includes rules describing the input
- structure of the target language and code to be invoked
- when these rules are recognized to provide the associ-
- ated semantic action. The code to be executed shall
- appear as bodies of text that are intended to be C-lan-
- guage code. The C-language inclusions are presumed to
- form a correct function when processed by yacc into its
- output files. The code included in this way shall be
- executed during the recognition of the target language.
-
- Given a grammar, the yacc utility generates the files
- described in the OUTPUT FILES section. The code file can
- be compiled and linked using c99. If the declaration and
- programs sections of the grammar file did not include
- definitions of main(), yylex(), and yyerror(), the com-
- piled output requires linking with externally supplied
- versions of those functions. Default versions of main()
- and yyerror() are supplied in the yacc library and can
- be linked in by using the -l y operand to c99. The yacc
- library interfaces need not support interfaces with
- other than the default yy symbol prefix. The application
- provides the lexical analyzer function, yylex(); the lex
- utility is specifically designed to generate such a rou-
- tine.
-
- Input Language
- The application shall ensure that every specification
- file consists of three sections in order: declarations,
- grammar rules, and programs, separated by double percent
- signs ( "%%" ). The declarations and programs sections
- can be empty. If the latter is empty, the preceding "%%"
- mark separating it from the rules section can be omit-
- ted.
-
- The input is free form text following the structure of
- the grammar defined below.
-
- Lexical Structure of the Grammar
- The <blank>s, <newline>s, and <form-feed>s shall be
- ignored, except that the application shall ensure that
- they do not appear in names or multi-character reserved
- symbols. Comments shall be enclosed in "/* ... */", and
- can appear wherever a name is valid.
-
- Names are of arbitrary length, made up of letters, peri-
- ods ( '.' ), underscores ( '_' ), and non-initial dig-
- its. Uppercase and lowercase letters are distinct. Con-
- forming applications shall not use names beginning in yy
- or YY since the yacc parser uses such names. Many of the
- names appear in the final output of yacc, and thus they
- should be chosen to conform with any additional rules
- created by the C compiler to be used. In particular they
- appear in #define statements.
-
- A literal shall consist of a single character enclosed
- in single-quotes ( '" ). All of the escape sequences
- supported for character constants by the ISO C standard
- shall be supported by yacc.
-
- The relationship with the lexical analyzer is discussed
- in detail below.
-
- The application shall ensure that the NUL character is
- not used in grammar rules or literals.
-
- Declarations Section
- The declarations section is used to define the symbols
- used to define the target language and their relation-
- ship with each other. In particular, much of the addi-
- tional information required to resolve ambiguities in
- the context-free grammar for the target language is pro-
- vided here.
-
- Usually yacc assigns the relationship between the sym-
- bolic names it generates and their underlying numeric
- value. The declarations section makes it possible to
- control the assignment of these values.
-
- It is also possible to keep semantic information associ-
- ated with the tokens currently on the parse stack in a
- user-defined C-language union, if the members of the
- union are associated with the various names in the gram-
- mar. The declarations section provides for this as well.
-
- The first group of declarators below all take a list of
- names as arguments. That list can optionally be pre-
- ceded by the name of a C union member (called a tag
- below) appearing within '<' and '>' . (As an exception
- to the typographical conventions of the rest of this
- volume of IEEE Std 1003.1-2001, in this case <tag> does
- not represent a metavariable, but the literal angle
- bracket characters surrounding a symbol.) The use of tag
- specifies that the tokens named on this line shall be of
- the same C type as the union member referenced by tag.
- This is discussed in more detail below.
-
- For lists used to define tokens, the first appearance of
- a given token can be followed by a positive integer (as
- a string of decimal digits). If this is done, the under-
- lying value assigned to it for lexical purposes shall be
- taken to be that number.
-
- The following declares name to be a token:
-
-
- %token [<tag>] name [number][name [number]]...
-
- If tag is present, the C type for all tokens on this
- line shall be declared to be the type referenced by tag.
- If a positive integer, number, follows a name, that
- value shall be assigned to the token.
-
- The following declares name to be a token, and assigns
- precedence to it:
-
-
- %left [<tag>] name [number][name [number]]...
- %right [<tag>] name [number][name [number]]...
-
- One or more lines, each beginning with one of these sym-
- bols, can appear in this section. All tokens on the same
- line have the same precedence level and associativity;
- the lines are in order of increasing precedence or bind-
- ing strength. %left denotes that the operators on that
- line are left associative, and %right similarly denotes
- right associative operators. If tag is present, it shall
- declare a C type for names as described for %token.
-
- The following declares name to be a token, and indicates
- that this cannot be used associatively:
-
-
- %nonassoc [<tag>] name [number][name [number]]...
-
- If the parser encounters associative use of this token
- it reports an error. If tag is present, it shall declare
- a C type for names as described for %token.
-
- The following declares that union member names are non-
- terminals, and thus it is required to have a tag field
- at its beginning:
-
-
- %type <tag> name...
-
- Because it deals with non-terminals only, assigning a
- token number or using a literal is also prohibited. If
- this construct is present, yacc shall perform type
- checking; if this construct is not present, the parse
- stack shall hold only the int type.
-
- Every name used in grammar not defined by a %token,
- %left, %right, or %nonassoc declaration is assumed to
- represent a non-terminal symbol. The yacc utility shall
- report an error for any non-terminal symbol that does
- not appear on the left side of at least one grammar
- rule.
-
- Once the type, precedence, or token number of a name is
- specified, it shall not be changed. If the first decla-
- ration of a token does not assign a token number, yacc
- shall assign a token number. Once this assignment is
- made, the token number shall not be changed by explicit
- assignment.
-
- The following declarators do not follow the previous
- pattern.
-
- The following declares the non-terminal name to be the
- start symbol, which represents the largest, most general
- structure described by the grammar rules:
-
-
- %start name
-
- By default, it is the left-hand side of the first gram-
- mar rule; this default can be overridden with this dec-
- laration.
-
- The following declares the yacc value stack to be a
- union of the various types of values desired:
-
-
- %union { body of union (in C) }
-
- By default, the values returned by actions (see below)
- and the lexical analyzer shall be of type int. The yacc
- utility keeps track of types, and it shall insert corre-
- sponding union member names in order to perform strict
- type checking of the resulting parser.
-
- Alternatively, given that at least one <tag> construct
- is used, the union can be declared in a header file
- (which shall be included in the declarations section by
- using a #include construct within %{ and %}), and a
- typedef used to define the symbol YYSTYPE to represent
- this union. The effect of %union is to provide the dec-
- laration of YYSTYPE directly from the yacc input.
-
- C-language declarations and definitions can appear in
- the declarations section, enclosed by the following
- marks:
-
-
- %{ ... %}
-
- These statements shall be copied into the code file, and
- have global scope within it so that they can be used in
- the rules and program sections.
-
- The application shall ensure that the declarations sec-
- tion is terminated by the token %%.
-
- Grammar Rules in yacc
- The rules section defines the context-free grammar to be
- accepted by the function yacc generates, and associates
- with those rules C-language actions and additional
- precedence information. The grammar is described below,
- and a formal definition follows.
-
- The rules section is comprised of one or more grammar
- rules. A grammar rule has the form:
-
-
- A : BODY ;
-
- The symbol A represents a non-terminal name, and BODY
- represents a sequence of zero or more names, literals,
- and semantic actions that can then be followed by
- optional precedence rules. Only the names and literals
- participate in the formation of the grammar; the seman-
- tic actions and precedence rules are used in other ways.
- The colon and the semicolon are yacc punctuation. If
- there are several successive grammar rules with the same
- left-hand side, the vertical bar '|' can be used to
- avoid rewriting the left-hand side; in this case the
- semicolon appears only after the last rule. The BODY
- part can be empty (or empty of names and literals) to
- indicate that the non-terminal symbol matches the empty
- string.
-
- The yacc utility assigns a unique number to each rule.
- Rules using the vertical bar notation are distinct
- rules. The number assigned to the rule appears in the
- description file.
-
- The elements comprising a BODY are:
-
- name, literal
- These form the rules of the grammar: name is
- either a token or a non-terminal; literal stands
- for itself (less the lexically required quotation
- marks).
-
- semantic action
-
- With each grammar rule, the user can associate
- actions to be performed each time the rule is
- recognized in the input process. (Note that the
- word "action" can also refer to the actions of
- the parser-shift, reduce, and so on.)
-
- These actions can return values and can obtain the val-
- ues returned by previous actions. These values are kept
- in objects of type YYSTYPE (see %union). The result
- value of the action shall be kept on the parse stack
- with the left-hand side of the rule, to be accessed by
- other reductions as part of their right-hand side. By
- using the <tag> information provided in the declarations
- section, the code generated by yacc can be strictly type
- checked and contain arbitrary information. In addition,
- the lexical analyzer can provide the same kinds of val-
- ues for tokens, if desired.
-
- An action is an arbitrary C statement and as such can do
- input or output, call subprograms, and alter external
- variables. An action is one or more C statements
- enclosed in curly braces '{' and '}' .
-
- Certain pseudo-variables can be used in the action.
- These are macros for access to data structures known
- internally to yacc.
-
- $$
- The value of the action can be set by assigning
- it to $$. If type checking is enabled and the
- type of the value to be assigned cannot be deter-
- mined, a diagnostic message may be generated.
-
- $number
- This refers to the value returned by the compo-
- nent specified by the token number in the right
- side of a rule, reading from left to right; num-
- ber can be zero or negative. If number is zero or
- negative, it refers to the data associated with
- the name on the parser's stack preceding the
- leftmost symbol of the current rule. (That is,
- "$0" refers to the name immediately preceding the
- leftmost name in the current rule to be found on
- the parser's stack and "$-1" refers to the symbol
- to its left.) If number refers to an element past
- the current point in the rule, or beyond the bot-
- tom of the stack, the result is undefined. If
- type checking is enabled and the type of the
- value to be assigned cannot be determined, a
- diagnostic message may be generated.
-
- $<tag>number
-
- These correspond exactly to the corresponding
- symbols without the tag inclusion, but allow for
- strict type checking (and preclude unwanted type
- conversions). The effect is that the macro is
- expanded to use tag to select an element from the
- YYSTYPE union (using dataname.tag). This is par-
- ticularly useful if number is not positive.
-
- $<tag>$
- This imposes on the reference the type of the
- union member referenced by tag. This construction
- is applicable when a reference to a left context
- value occurs in the grammar, and provides yacc
- with a means for selecting a type.
-
-
- Actions can occur anywhere in a rule (not just at the
- end); an action can access values returned by actions to
- its left, and in turn the value it returns can be
- accessed by actions to its right. An action appearing
- in the middle of a rule shall be equivalent to replacing
- the action with a new non-terminal symbol and adding an
- empty rule with that non-terminal symbol on the left-
- hand side. The semantic action associated with the new
- rule shall be equivalent to the original action. The use
- of actions within rules might introduce conflicts that
- would not otherwise exist.
-
- By default, the value of a rule shall be the value of
- the first element in it. If the first element does not
- have a type (particularly in the case of a literal) and
- type checking is turned on by %type, an error message
- shall result.
-
- precedence
- The keyword %prec can be used to change the
- precedence level associated with a particular
- grammar rule. Examples of this are in cases where
- a unary and binary operator have the same sym-
- bolic representation, but need to be given dif-
- ferent precedences, or where the handling of an
- ambiguous if-else construction is necessary. The
- reserved symbol %prec can appear immediately
- after the body of the grammar rule and can be
- followed by a token name or a literal. It shall
- cause the precedence of the grammar rule to
- become that of the following token name or lit-
- eral. The action for the rule as a whole can fol-
- low %prec.
-
-
- If a program section follows, the application shall
- ensure that the grammar rules are terminated by %%.
-
- Programs Section
- The programs section can include the definition of the
- lexical analyzer yylex(), and any other functions; for
- example, those used in the actions specified in the
- grammar rules. It is unspecified whether the programs
- section precedes or follows the semantic actions in the
- output file; therefore, if the application contains any
- macro definitions and declarations intended to apply to
- the code in the semantic actions, it shall place them
- within "%{ ... %}" in the declarations section.
-
- Input Grammar
- The following input to yacc yields a parser for the
- input to yacc. This formal syntax takes precedence over
- the preceding text syntax description.
-
- The lexical structure is defined less precisely; Lexical
- Structure of the Grammar defines most terms. The corre-
- spondence between the previous terms and the tokens
- below is as follows.
-
- IDENTIFIER
- This corresponds to the concept of name, given
- previously. It also includes literals as defined
- previously.
-
- C_IDENTIFIER
- This is a name, and additionally it is known to
- be followed by a colon. A literal cannot yield
- this token.
-
- NUMBER A string of digits (a non-negative decimal inte-
- ger).
-
- TYPE, LEFT, MARK, LCURL, RCURL
-
- These correspond directly to %type, %left, %%,
- %{, and %}.
-
- { ... }
- This indicates C-language source code, with the
- possible inclusion of '$' macros as discussed
- previously.
-
-
-
- /* Grammar for the input to yacc. */
- /* Basic entries. */
- /* The following are recognized by the lexical analyzer. */
-
-
- %token IDENTIFIER /* Includes identifiers and literals */
- %token C_IDENTIFIER /* identifier (but not literal)
- followed by a :. */
- %token NUMBER /* [0-9][0-9]* */
-
-
- /* Reserved words : %type=>TYPE %left=>LEFT, and so on */
-
-
- %token LEFT RIGHT NONASSOC TOKEN PREC TYPE START UNION
-
-
- %token MARK /* The %% mark. */
- %token LCURL /* The %{ mark. */
- %token RCURL /* The %} mark. */
-
-
- /* 8-bit character literals stand for themselves; */
- /* tokens have to be defined for multi-byte characters. */
-
-
- %start spec
-
-
- %%
-
-
- spec : defs MARK rules tail
- ;
- tail : MARK
- {
- /* In this action, set up the rest of the file. */
- }
- | /* Empty; the second MARK is optional. */
- ;
- defs : /* Empty. */
- | defs def
- ;
- def : START IDENTIFIER
- | UNION
- {
- /* Copy union definition to output. */
- }
- | LCURL
- {
- /* Copy C code to output file. */
- }
- RCURL
- | rword tag nlist
- ;
- rword : TOKEN
- | LEFT
- | RIGHT
- | NONASSOC
- | TYPE
- ;
- tag : /* Empty: union tag ID optional. */
- | '<' IDENTIFIER '>'
- ;
- nlist : nmno
- | nlist nmno
- ;
- nmno : IDENTIFIER /* Note: literal invalid with % type. */
- | IDENTIFIER NUMBER /* Note: invalid with % type. */
- ;
-
-
- /* Rule section */
-
-
- rules : C_IDENTIFIER rbody prec
- | rules rule
- ;
- rule : C_IDENTIFIER rbody prec
- | '|' rbody prec
- ;
- rbody : /* empty */
- | rbody IDENTIFIER
- | rbody act
- ;
- act : '{'
- {
- /* Copy action, translate $$, and so on. */
- }
- '}'
- ;
- prec : /* Empty */
- | PREC IDENTIFIER
- | PREC IDENTIFIER act
- | prec ';'
- ;
-
- Conflicts
- The parser produced for an input grammar may contain
- states in which conflicts occur. The conflicts occur
- because the grammar is not LALR(1). An ambiguous grammar
- always contains at least one LALR(1) conflict. The yacc
- utility shall resolve all conflicts, using either
- default rules or user-specified precedence rules.
-
- Conflicts are either shift/reduce conflicts or
- reduce/reduce conflicts. A shift/reduce conflict is
- where, for a given state and lookahead symbol, both a
- shift action and a reduce action are possible. A
- reduce/reduce conflict is where, for a given state and
- lookahead symbol, reductions by two different rules are
- possible.
-
- The rules below describe how to specify what actions to
- take when a conflict occurs. Not all shift/reduce con-
- flicts can be successfully resolved this way because the
- conflict may be due to something other than ambiguity,
- so incautious use of these facilities can cause the lan-
- guage accepted by the parser to be much different from
- that which was intended. The description file shall con-
- tain sufficient information to understand the cause of
- the conflict. Where ambiguity is the reason either the
- default or explicit rules should be adequate to produce
- a working parser.
-
- The declared precedences and associativities (see Decla-
- rations Section ) are used to resolve parsing conflicts
- as follows:
-
- 1. A precedence and associativity is associated with
- each grammar rule; it is the precedence and associa-
- tivity of the last token or literal in the body of
- the rule. If the %prec keyword is used, it overrides
- this default. Some grammar rules might not have both
- precedence and associativity.
-
-
- 2. If there is a shift/reduce conflict, and both the
- grammar rule and the input symbol have precedence
- and associativity associated with them, then the
- conflict is resolved in favor of the action (shift
- or reduce) associated with the higher precedence. If
- the precedences are the same, then the associativity
- is used; left associative implies reduce, right
- associative implies shift, and non-associative
- implies an error in the string being parsed.
-
-
- 3. When there is a shift/reduce conflict that cannot be
- resolved by rule 2, the shift is done. Conflicts
- resolved this way are counted in the diagnostic out-
- put described in Error Handling .
-
-
- 4. When there is a reduce/reduce conflict, a reduction
- is done by the grammar rule that occurs earlier in
- the input sequence. Conflicts resolved this way are
- counted in the diagnostic output described in Error
- Handling .
-
-
- Conflicts resolved by precedence or associativity shall
- not be counted in the shift/reduce and reduce/reduce
- conflicts reported by yacc on either standard error or
- in the description file.
-
- Error Handling
- The token error shall be reserved for error handling.
- The name error can be used in grammar rules. It indi-
- cates places where the parser can recover from a syntax
- error. The default value of error shall be 256. Its
- value can be changed using a %token declaration. The
- lexical analyzer should not return the value of error.
-
- The parser shall detect a syntax error when it is in a
- state where the action associated with the lookahead
- symbol is error. A semantic action can cause the parser
- to initiate error handling by executing the macro YYER-
- ROR. When YYERROR is executed, the semantic action
- passes control back to the parser. YYERROR cannot be
- used outside of semantic actions.
-
- When the parser detects a syntax error, it normally
- calls yyerror() with the character string "syntax error"
- as its argument. The call shall not be made if the
- parser is still recovering from a previous error when
- the error is detected. The parser is considered to be
- recovering from a previous error until the parser has
- shifted over at least three normal input symbols since
- the last error was detected or a semantic action has
- executed the macro yyerrok. The parser shall not call
- yyerror() when YYERROR is executed.
-
- The macro function YYRECOVERING shall return 1 if a syn-
- tax error has been detected and the parser has not yet
- fully recovered from it. Otherwise, zero shall be
- returned.
-
- When a syntax error is detected by the parser, the
- parser shall check if a previous syntax error has been
- detected. If a previous error was detected, and if no
- normal input symbols have been shifted since the preced-
- ing error was detected, the parser checks if the looka-
- head symbol is an endmarker (see Interface to the Lexi-
- cal Analyzer ). If it is, the parser shall return with a
- non-zero value. Otherwise, the lookahead symbol shall be
- discarded and normal parsing shall resume.
-
- When YYERROR is executed or when the parser detects a
- syntax error and no previous error has been detected, or
- at least one normal input symbol has been shifted since
- the previous error was detected, the parser shall pop
- back one state at a time until the parse stack is empty
- or the current state allows a shift over error. If the
- parser empties the parse stack, it shall return with a
- non-zero value. Otherwise, it shall shift over error and
- then resume normal parsing. If the parser reads a looka-
- head symbol before the error was detected, that symbol
- shall still be the lookahead symbol when parsing is
- resumed.
-
- The macro yyerrok in a semantic action shall cause the
- parser to act as if it has fully recovered from any pre-
- vious errors. The macro yyclearin shall cause the parser
- to discard the current lookahead token. If the current
- lookahead token has not yet been read, yyclearin shall
- have no effect.
-
- The macro YYACCEPT shall cause the parser to return with
- the value zero. The macro YYABORT shall cause the parser
- to return with a non-zero value.
-
- Interface to the Lexical Analyzer
- The yylex() function is an integer-valued function that
- returns a token number representing the kind of token
- read. If there is a value associated with the token
- returned by yylex() (see the discussion of tag above),
- it shall be assigned to the external variable yylval.
-
- If the parser and yylex() do not agree on these token
- numbers, reliable communication between them cannot
- occur. For (single-byte character) literals, the token
- is simply the numeric value of the character in the cur-
- rent character set. The numbers for other tokens can
- either be chosen by yacc, or chosen by the user. In
- either case, the #define construct of C is used to allow
- yylex() to return these numbers symbolically. The
- #define statements are put into the code file, and the
- header file if that file is requested. The set of char-
- acters permitted by yacc in an identifier is larger than
- that permitted by C. Token names found to contain such
- characters shall not be included in the #define declara-
- tions.
-
- If the token numbers are chosen by yacc, the tokens
- other than literals shall be assigned numbers greater
- than 256, although no order is implied. A token can be
- explicitly assigned a number by following its first
- appearance in the declarations section with a number.
- Names and literals not defined this way retain their
- default definition. All token numbers assigned by yacc
- shall be unique and distinct from the token numbers used
- for literals and user-assigned tokens. If duplicate
- token numbers cause conflicts in parser generation, yacc
- shall report an error; otherwise, it is unspecified
- whether the token assignment is accepted or an error is
- reported.
-
- The end of the input is marked by a special token called
- the endmarker, which has a token number that is zero or
- negative. (These values are invalid for any other
- token.) All lexical analyzers shall return zero or nega-
- tive as a token number upon reaching the end of their
- input. If the tokens up to, but excluding, the endmarker
- form a structure that matches the start symbol, the
- parser shall accept the input. If the endmarker is seen
- in any other context, it shall be considered an error.
-
- Completing the Program
- In addition to yyparse() and yylex(), the functions
- yyerror() and main() are required to make a complete
- program. The application can supply main() and yyer-
- ror(), or those routines can be obtained from the yacc
- library.
-
- Yacc Library
- The following functions shall appear only in the yacc
- library accessible through the -l y operand to c99; they
- can therefore be redefined by a conforming application:
-
- int main(void)
-
- This function shall call yyparse() and exit with
- an unspecified value. Other actions within this
- function are unspecified.
-
- int yyerror(const char *s)
-
- This function shall write the NUL-terminated
- argument to standard error, followed by a <new-
- line>.
-
-
- The order of the -l y and -l l operands given to c99 is
- significant; the application shall either provide its
- own main() function or ensure that -l y precedes -l l.
-
- Debugging the Parser
- The parser generated by yacc shall have diagnostic
- facilities in it that can be optionally enabled at
- either compile time or at runtime (if enabled at compile
- time). The compilation of the runtime debugging code is
- under the control of YYDEBUG, a preprocessor symbol. If
- YYDEBUG has a non-zero value, the debugging code shall
- be included. If its value is zero, the code shall not be
- included.
-
- In parsers where the debugging code has been included,
- the external int yydebug can be used to turn debugging
- on (with a non-zero value) and off (zero value) at run-
- time. The initial value of yydebug shall be zero.
-
- When -t is specified, the code file shall be built such
- that, if YYDEBUG is not already defined at compilation
- time (using the c99 -D YYDEBUG option, for example),
- YYDEBUG shall be set explicitly to 1. When -t is not
- specified, the code file shall be built such that, if
- YYDEBUG is not already defined, it shall be set explic-
- itly to zero.
-
- The format of the debugging output is unspecified but
- includes at least enough information to determine the
- shift and reduce actions, and the input symbols. It also
- provides information about error recovery.
-
- Algorithms
- The parser constructed by yacc implements an LALR(1)
- parsing algorithm as documented in the literature. It is
- unspecified whether the parser is table-driven or
- direct-coded.
-
- A parser generated by yacc shall never request an input
- symbol from yylex() while in a state where the only
- actions other than the error action are reductions by a
- single rule.
-
- The literature of parsing theory defines these concepts.
-
- Limits
- The yacc utility may have several internal tables. The
- minimum maximums for these tables are shown in the fol-
- lowing table. The exact meaning of these values is
- implementation-defined. The implementation shall define
- the relationship between these values and between them
- and any error messages that the implementation may gen-
- erate should it run out of space for any internal struc-
- ture. An implementation may combine groups of these
- resources into a single pool as long as the total avail-
- able to the user does not fall below the sum of the
- sizes specified by this section.
-
- Table: Internal Limits in yacc
-
- Minimum
- Limit Maximum Description
- {NTERMS} 126 Number of tokens.
- {NNONTERM} 200 Number of non-terminals.
- {NPROD} 300 Number of rules.
- {NSTATES} 600 Number of states.
- {MEMSIZE} 5200 Length of rules. The total length, in
- names (tokens and non-terminals), of all
- the rules of the grammar. The left-hand
- side is counted for each rule, even if
- it is not explicitly repeated, as speci-
- fied in Grammar Rules in yacc .
- {ACTSIZE} 4000 Number of actions. "Actions" here (and
- in the description file) refer to parser
- actions (shift, reduce, and so on) not
- to semantic actions defined in Grammar
- Rules in yacc .
-
-EXIT STATUS
- The following exit values shall be returned:
-
- 0 Successful completion.
-
- >0 An error occurred.
-
-
-CONSEQUENCES OF ERRORS
- If any errors are encountered, the run is aborted and
- yacc exits with a non-zero status. Partial code files
- and header files may be produced. The summary informa-
- tion in the description file shall always be produced if
- the -v flag is present.
-
- The following sections are informative.
-
-APPLICATION USAGE
- Historical implementations experience name conflicts on
- the names yacc.tmp, yacc.acts, yacc.debug, y.tab.c,
- y.tab.h, and y.output if more than one copy of yacc is
- running in a single directory at one time. The -b option
- was added to overcome this problem. The related problem
- of allowing multiple yacc parsers to be placed in the
- same file was addressed by adding a -p option to over-
- ride the previously hard-coded yy variable prefix.
-
- The description of the -p option specifies the minimal
- set of function and variable names that cause conflict
- when multiple parsers are linked together. YYSTYPE does
- not need to be changed. Instead, the programmer can use
- -b to give the header files for different parsers dif-
- ferent names, and then the file with the yylex() for a
- given parser can include the header for that parser.
- Names such as yyclearerr do not need to be changed
- because they are used only in the actions; they do not
- have linkage. It is possible that an implementation has
- other names, either internal ones for implementing
- things such as yyclearerr, or providing non-standard
- features that it wants to change with -p.
-
- Unary operators that are the same token as a binary
- operator in general need their precedence adjusted. This
- is handled by the %prec advisory symbol associated with
- the particular grammar rule defining that unary opera-
- tor. (See Grammar Rules in yacc .) Applications are not
- required to use this operator for unary operators, but
- the grammars that do not require it are rare.
-
-EXAMPLES
- Access to the yacc library is obtained with library
- search operands to c99. To use the yacc library main():
-
-
- c99 y.tab.c -l y
-
- Both the lex library and the yacc library contain
- main(). To access the yacc main():
-
-
- c99 y.tab.c lex.yy.c -l y -l l
-
- This ensures that the yacc library is searched first, so
- that its main() is used.
-
- The historical yacc libraries have contained two simple
- functions that are normally coded by the application
- programmer. These functions are similar to the follow-
- ing code:
-
-
- #include <locale.h>
- int main(void)
- {
- extern int yyparse();
-
-
- setlocale(LC_ALL, "");
-
-
- /* If the following parser is one created by lex, the
- application must be careful to ensure that LC_CTYPE
- and LC_COLLATE are set to the POSIX locale. */
- (void) yyparse();
- return (0);
- }
-
-
- #include <stdio.h>
-
-
- int yyerror(const char *msg)
- {
- (void) fprintf(stderr, "%s\n", msg);
- return (0);
- }
-
-RATIONALE
- The references in may be helpful in constructing the
- parser generator. The referenced DeRemer and Pennello
- article (along with the works it references) describes a
- technique to generate parsers that conform to this vol-
- ume of IEEE Std 1003.1-2001. Work in this area contin-
- ues to be done, so implementors should consult current
- literature before doing any new implementations. The
- original Knuth article is the theoretical basis for this
- kind of parser, but the tables it generates are imprac-
- tically large for reasonable grammars and should not be
- used. The "equivalent to" wording is intentional to
- assure that the best tables that are LALR(1) can be gen-
- erated.
-
- There has been confusion between the class of grammars,
- the algorithms needed to generate parsers, and the algo-
- rithms needed to parse the languages. They are all rea-
- sonably orthogonal. In particular, a parser generator
- that accepts the full range of LR(1) grammars need not
- generate a table any more complex than one that accepts
- SLR(1) (a relatively weak class of LR grammars) for a
- grammar that happens to be SLR(1). Such an implementa-
- tion need not recognize the case, either; table compres-
- sion can yield the SLR(1) table (or one even smaller
- than that) without recognizing that the grammar is
- SLR(1). The speed of an LR(1) parser for any class is
- dependent more upon the table representation and com-
- pression (or the code generation if a direct parser is
- generated) than upon the class of grammar that the table
- generator handles.
-
- The speed of the parser generator is somewhat dependent
- upon the class of grammar it handles. However, the orig-
- inal Knuth article algorithms for constructing LR
- parsers were judged by its author to be impractically
- slow at that time. Although full LR is more complex than
- LALR(1), as computer speeds and algorithms improve, the
- difference (in terms of acceptable wall-clock execution
- time) is becoming less significant.
-
- Potential authors are cautioned that the referenced
- DeRemer and Pennello article previously cited identifies
- a bug (an over-simplification of the computation of
- LALR(1) lookahead sets) in some of the LALR(1) algorithm
- statements that preceded it to publication. They should
- take the time to seek out that paper, as well as current
- relevant work, particularly Aho's.
-
- The -b option was added to provide a portable method for
- permitting yacc to work on multiple separate parsers in
- the same directory. If a directory contains more than
- one yacc grammar, and both grammars are constructed at
- the same time (by, for example, a parallel make pro-
- gram), conflict results. While the solution is not his-
- torical practice, it corrects a known deficiency in his-
- torical implementations. Corresponding changes were made
- to all sections that referenced the filenames y.tab.c
- (now "the code file"), y.tab.h (now "the header file"),
- and y.output (now "the description file").
-
- The grammar for yacc input is based on System V documen-
- tation. The textual description shows there that the
- ';' is required at the end of the rule. The grammar and
- the implementation do not require this. (The use of
- C_IDENTIFIER causes a reduce to occur in the right
- place.)
-
- Also, in that implementation, the constructs such as
- %token can be terminated by a semicolon, but this is not
- permitted by the grammar. The keywords such as %token
- can also appear in uppercase, which is again not dis-
- cussed. In most places where '%' is used, '\' can be
- substituted, and there are alternate spellings for some
- of the symbols (for example, %LEFT can be "%<" or even
- "\<" ).
-
- Historically, <tag> can contain any characters except
- '>', including white space, in the implementation. How-
- ever, since the tag must reference an ISO C standard
- union member, in practice conforming implementations
- need to support only the set of characters for ISO C
- standard identifiers in this context.
-
- Some historical implementations are known to accept
- actions that are terminated by a period. Historical
- implementations often allow '$' in names. A conforming
- implementation does not need to support either of these
- behaviors.
-
- Deciding when to use %prec illustrates the difficulty in
- specifying the behavior of yacc. There may be situations
- in which the grammar is not, strictly speaking, in
- error, and yet yacc cannot interpret it unambiguously.
- The resolution of ambiguities in the grammar can in many
- instances be resolved by providing additional informa-
- tion, such as using %type or %union declarations. It is
- often easier and it usually yields a smaller parser to
- take this alternative when it is appropriate.
-
- The size and execution time of a program produced with-
- out the runtime debugging code is usually smaller and
- slightly faster in historical implementations.
-
- Statistics messages from several historical implementa-
- tions include the following types of information:
-
-
- n/512 terminals, n/300 non-terminals
- n/600 grammar rules, n/1500 states
- n shift/reduce, n reduce/reduce conflicts reported
- n/350 working sets used
- Memory: states, etc. n/15000, parser n/15000
- n/600 distinct lookahead sets
- n extra closures
- n shift entries, n exceptions
- n goto entries
- n entries saved by goto default
- Optimizer space used: input n/15000, output n/15000
- n table entries, n zero
- Maximum spread: n, Maximum offset: n
-
- The report of internal tables in the description file is
- left implementation-defined because all aspects of these
- limits are also implementation-defined. Some implementa-
- tions may use dynamic allocation techniques and have no
- specific limit values to report.
-
- The format of the y.output file is not given because
- specification of the format was not seen to enhance
- applications portability. The listing is primarily
- intended to help human users understand and debug the
- parser; use of y.output by a conforming application
- script would be unusual. Furthermore, implementations
- have not produced consistent output and no popular for-
- mat was apparent. The format selected by the implementa-
- tion should be human-readable, in addition to the
- requirement that it be a text file.
-
- Standard error reports are not specifically described
- because they are seldom of use to conforming applica-
- tions and there was no reason to restrict implementa-
- tions.
-
- Some implementations recognize "={" as equivalent to '{'
- because it appears in historical documentation. This
- construction was recognized and documented as obsolete
- as long ago as 1978, in the referenced Yacc: Yet Another
- Compiler-Compiler. This volume of IEEE Std 1003.1-2001
- chose to leave it as obsolete and omit it.
-
- Multi-byte characters should be recognized by the lexi-
- cal analyzer and returned as tokens. They should not be
- returned as multi-byte character literals. The token
- error that is used for error recovery is normally
- assigned the value 256 in the historical implementation.
- Thus, the token value 256, which is used in many multi-
- byte character sets, is not available for use as the
- value of a user-defined token.
-
-FUTURE DIRECTIONS
- None.
-
-SEE ALSO
- c99, lex
-
-COPYRIGHT
- Portions of this text are reprinted and reproduced in
- electronic form from IEEE Std 1003.1, 2003 Edition,
- Standard for Information Technology -- Portable Operat-
- ing System Interface (POSIX), The Open Group Base Speci-
- fications Issue 6, Copyright (C) 2001-2003 by the Insti-
- tute of Electrical and Electronics Engineers, Inc and
- The Open Group. In the event of any discrepancy between
- this version and the original IEEE and The Open Group
- Standard, the original IEEE and The Open Group Standard
- is the referee document. The original Standard can be
- obtained online at http://www.open-
- group.org/unix/online.html .
-
-
-
-IEEE/The Open Group 2003 YACC(1P)
diff --git a/gnuwin32/man/cat3/iconv.3.txt b/gnuwin32/man/cat3/iconv.3.txt
deleted file mode 100644
index 1feacab2..00000000
--- a/gnuwin32/man/cat3/iconv.3.txt
+++ /dev/null
@@ -1,97 +0,0 @@
-ICONV(3) Linux Programmer's Manual ICONV(3)
-
-
-
-
-
-NAME
- iconv - perform character set conversion
-
-SYNOPSIS
- #include <iconv.h>
-
- size_t iconv (iconv_t cd,
- const char* * inbuf, size_t * inbytesleft,
- char* * outbuf, size_t * outbytesleft);
-
-DESCRIPTION
- The argument cd must be a conversion descriptor created
- using the function iconv_open.
-
- The main case is when inbuf is not NULL and *inbuf is
- not NULL. In this case, the iconv function converts the
- multibyte sequence starting at *inbuf to a multibyte
- sequence starting at *outbuf. At most *inbytesleft
- bytes, starting at *inbuf, will be read. At most *out-
- bytesleft bytes, starting at *outbuf, will be written.
-
- The iconv function converts one multibyte character at a
- time, and for each character conversion it increments
- *inbuf and decrements *inbytesleft by the number of con-
- verted input bytes, it increments *outbuf and decrements
- *outbytesleft by the number of converted output bytes,
- and it updates the conversion state contained in cd.
- The conversion can stop for four reasons:
-
- 1. An invalid multibyte sequence is encountered in the
- input. In this case it sets errno to EILSEQ and returns
- (size_t)(-1). *inbuf is left pointing to the beginning
- of the invalid multibyte sequence.
-
- 2. The input byte sequence has been entirely converted,
- i.e. *inbytesleft has gone down to 0. In this case iconv
- returns the number of non-reversible conversions per-
- formed during this call.
-
- 3. An incomplete multibyte sequence is encountered in
- the input, and the input byte sequence terminates after
- it. In this case it sets errno to EINVAL and returns
- (size_t)(-1). *inbuf is left pointing to the beginning
- of the incomplete multibyte sequence.
-
- 4. The output buffer has no more room for the next con-
- verted character. In this case it sets errno to E2BIG
- and returns (size_t)(-1).
-
- A different case is when inbuf is NULL or *inbuf is
- NULL, but outbuf is not NULL and *outbuf is not NULL. In
- this case, the iconv function attempts to set cd's con-
- version state to the initial state and store a corre-
- sponding shift sequence at *outbuf. At most *out-
- bytesleft bytes, starting at *outbuf, will be written.
- If the output buffer has no more room for this reset
- sequence, it sets errno to E2BIG and returns
- (size_t)(-1). Otherwise it increments *outbuf and decre-
- ments *outbytesleft by the number of bytes written.
-
- A third case is when inbuf is NULL or *inbuf is NULL,
- and outbuf is NULL or *outbuf is NULL. In this case, the
- iconv function sets cd's conversion state to the initial
- state.
-
-RETURN VALUE
- The iconv function returns the number of characters con-
- verted in a non-reversible way during this call;
- reversible conversions are not counted. In case of
- error, it sets errno and returns (size_t)(-1).
-
-ERRORS
- The following errors can occur, among others:
-
- E2BIG There is not sufficient room at *outbuf.
-
- EILSEQ An invalid multibyte sequence has been encoun-
- tered in the input.
-
- EINVAL An incomplete multibyte sequence has been encoun-
- tered in the input.
-
-CONFORMING TO
- UNIX98
-
-SEE ALSO
- iconv_open(3), iconv_close(3)
-
-
-
-GNU January 21, 2004 ICONV(3)
diff --git a/gnuwin32/man/cat3/iconv_close.3.txt b/gnuwin32/man/cat3/iconv_close.3.txt
deleted file mode 100644
index f7aa1aae..00000000
--- a/gnuwin32/man/cat3/iconv_close.3.txt
+++ /dev/null
@@ -1,32 +0,0 @@
-ICONV_CLOSE(3) Linux Programmer's Manual ICONV_CLOSE(3)
-
-
-
-
-
-NAME
- iconv_close - deallocate descriptor for character set
- conversion
-
-SYNOPSIS
- #include <iconv.h>
-
- int iconv_close (iconv_t cd);
-
-DESCRIPTION
- The iconv_close function deallocates a conversion
- descriptor cd previously allocated using iconv_open.
-
-RETURN VALUE
- When successful, the iconv_close function returns 0. In
- case of error, it sets errno and returns -1.
-
-CONFORMING TO
- UNIX98
-
-SEE ALSO
- iconv_open(3), iconv(3)
-
-
-
-GNU November 27, 1999 ICONV_CLOSE(3)
diff --git a/gnuwin32/man/cat3/iconv_open.3.txt b/gnuwin32/man/cat3/iconv_open.3.txt
deleted file mode 100644
index 6f07c463..00000000
--- a/gnuwin32/man/cat3/iconv_open.3.txt
+++ /dev/null
@@ -1,152 +0,0 @@
-ICONV_OPEN(3) Linux Programmer's Manual ICONV_OPEN(3)
-
-
-
-
-
-NAME
- iconv_open - allocate descriptor for character set con-
- version
-
-SYNOPSIS
- #include <iconv.h>
-
- iconv_t iconv_open (const char* tocode, const char* fromcode);
-
-DESCRIPTION
- The iconv_open function allocates a conversion descrip-
- tor suitable for converting byte sequences from charac-
- ter encoding fromcode to character encoding tocode.
-
- The values permitted for fromcode and tocode and the
- supported combinations are system dependent. For the
- libiconv library, the following encodings are supported,
- in all combinations.
-
- European languages
- ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16},
- KOI8-R, KOI8-U, KOI8-RU,
- CP{1250,1251,1252,1253,1254,1257}, CP{850,866},
- Mac{Roman,CentralEurope,Iceland,Croatian,Roma-
- nia}, Mac{Cyrillic,Ukraine,Greek,Turkish}, Macin-
- tosh
-
- Semitic languages
- ISO-8859-{6,8}, CP{1255,1256}, CP862,
- Mac{Hebrew,Arabic}
-
- Japanese
- EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP,
- ISO-2022-JP-2, ISO-2022-JP-1
-
- Chinese
- EUC-CN, HZ, GBK, GB18030, EUC-TW, BIG5, CP950,
- BIG5-HKSCS, ISO-2022-CN, ISO-2022-CN-EXT
-
- Korean
- EUC-KR, CP949, ISO-2022-KR, JOHAB
-
- Armenian
- ARMSCII-8
-
- Georgian
- Georgian-Academy, Georgian-PS
-
- Tajik
- KOI8-T
-
- Thai
- TIS-620, CP874, MacThai
-
- Laotian
- MuleLao-1, CP1133
-
- Vietnamese
- VISCII, TCVN, CP1258
-
- Platform specifics
- HP-ROMAN8, NEXTSTEP
-
- Full Unicode
- UTF-8
- UCS-2, UCS-2BE, UCS-2LE
- UCS-4, UCS-4BE, UCS-4LE
- UTF-16, UTF-16BE, UTF-16LE
- UTF-32, UTF-32BE, UTF-32LE
- UTF-7
- C99, JAVA
-
- Full Unicode, in terms of uint16_t or uint32_t
- (with machine dependent endianness and alignment)
- UCS-2-INTERNAL, UCS-4-INTERNAL
-
- Locale dependent, in terms of char or wchar_t
- (with machine dependent endianness and alignment,
- and with semantics depending on the OS and the
- current LC_CTYPE locale facet)
- char, wchar_t
-
- When configured with the option --enable-extra-encod-
- ings, it also provides support for a few extra encod-
- ings:
-
- European languages
- CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125}
-
- Semitic languages
- CP864
-
- Japanese
- EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3
-
- Turkmen
- TDS565
-
- Platform specifics
- RISCOS-LATIN1
-
- The empty encoding name "" is equivalent to "char": it
- denotes the locale dependent character encoding.
-
- When the string "//TRANSLIT" is appended to tocode,
- transliteration is activated. This means that when a
- character cannot be represented in the target character
- set, it can be approximated through one or several simi-
- larly looking characters.
-
- When the string "//IGNORE" is appended to tocode, char-
- acters that cannot be represented in the target charac-
- ter set will be silently discarded.
-
- The resulting conversion descriptor can be used with
- iconv any number of times. It remains valid until deal-
- located using iconv_close.
-
- A conversion descriptor contains a conversion state.
- After creation using iconv_open, the state is in the
- initial state. Using iconv modifies the descriptor's
- conversion state. (This implies that a conversion
- descriptor can not be used in multiple threads simulta-
- neously.) To bring the state back to the initial state,
- use iconv with NULL as inbuf argument.
-
-RETURN VALUE
- The iconv_open function returns a freshly allocated con-
- version descriptor. In case of error, it sets errno and
- returns (iconv_t)(-1).
-
-ERRORS
- The following error can occur, among others:
-
- EINVAL The conversion from fromcode to tocode is not
- supported by the implementation.
-
-CONFORMING TO
- UNIX98
-
-SEE ALSO
- iconv(3), iconv_close(3)
-
-
-
-GNU May 26, 2002 ICONV_OPEN(3)
diff --git a/gnuwin32/manifest/gperf-3.0.1-bin.mft b/gnuwin32/manifest/gperf-3.0.1-bin.mft
deleted file mode 100644
index 836d20fe..00000000
--- a/gnuwin32/manifest/gperf-3.0.1-bin.mft
+++ /dev/null
@@ -1,14 +0,0 @@
-bin/gperf.exe
-contrib/gperf/3.0.1/depends-GnuWin32.lst
-contrib/gperf/3.0.1/gperf-3.0.1-GnuWin32.README
-contrib/gperf/3.0.1/gperf-3.0.1-src/AUTHORS
-contrib/gperf/3.0.1/gperf-3.0.1-src/ChangeLog
-contrib/gperf/3.0.1/gperf-3.0.1-src/COPYING
-contrib/gperf/3.0.1/gperf-3.0.1-src/INSTALL
-contrib/gperf/3.0.1/gperf-3.0.1-src/NEWS
-contrib/gperf/3.0.1/gperf-3.0.1-src/README
-contrib/gperf/3.0.1/gperf-3.0.1/check.log
-contrib/gperf/3.0.1/gperf-3.0.1/check_err.log
-man/cat1/gperf.1.txt
-manifest/gperf-3.0.1-bin.mft
-manifest/gperf-3.0.1-bin.ver
diff --git a/gnuwin32/manifest/gperf-3.0.1-bin.ver b/gnuwin32/manifest/gperf-3.0.1-bin.ver
deleted file mode 100644
index 380dbbc7..00000000
--- a/gnuwin32/manifest/gperf-3.0.1-bin.ver
+++ /dev/null
@@ -1,2 +0,0 @@
-Gperf 3.0.1: Binaries
-Gperf: generate a perfect hash function from a key set \ No newline at end of file
diff --git a/gnuwin32/manifest/libiconv-1.9.2-1-bin.mft b/gnuwin32/manifest/libiconv-1.9.2-1-bin.mft
deleted file mode 100644
index e69de29b..00000000
--- a/gnuwin32/manifest/libiconv-1.9.2-1-bin.mft
+++ /dev/null
diff --git a/gnuwin32/manifest/libiconv-1.9.2-1-bin.ver b/gnuwin32/manifest/libiconv-1.9.2-1-bin.ver
deleted file mode 100644
index 9ba63656..00000000
--- a/gnuwin32/manifest/libiconv-1.9.2-1-bin.ver
+++ /dev/null
@@ -1,2 +0,0 @@
-LibIconv 1.9.2: Binaries
-LibIconv: convert between character encodings \ No newline at end of file
diff --git a/gnuwin32/manifest/libiconv-1.9.2-1-dep.mft b/gnuwin32/manifest/libiconv-1.9.2-1-dep.mft
deleted file mode 100644
index e69de29b..00000000
--- a/gnuwin32/manifest/libiconv-1.9.2-1-dep.mft
+++ /dev/null
diff --git a/gnuwin32/manifest/libiconv-1.9.2-1-dep.ver b/gnuwin32/manifest/libiconv-1.9.2-1-dep.ver
deleted file mode 100644
index 3ca20388..00000000
--- a/gnuwin32/manifest/libiconv-1.9.2-1-dep.ver
+++ /dev/null
@@ -1,2 +0,0 @@
-LibIconv 1.9.2: Dependencies
-LibIconv: convert between character encodings \ No newline at end of file
diff --git a/gnuwin32/patches/win_flex.patch b/gnuwin32/patches/win_flex.patch
deleted file mode 100644
index 27d1e936..00000000
--- a/gnuwin32/patches/win_flex.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Index: flex/src/main.c
-===================================================================
---- flex/src/main.c (revision 24)
-+++ flex/src/main.c (working copy)
-@@ -112,7 +112,7 @@
- struct yytbl_writer tableswr;
-
- int prev_stdout = 0;
--char *flex_temp_out_main="~flex_temp_out_main";
-+char *flex_temp_out_main = 0;
-
- /* Make sure program_name is initialized so we don't crash if writing
- * out an error message before getting the program name from argv[0].
-@@ -767,6 +767,8 @@
- tblsiz);
- }
-
-+ free (flex_temp_out_main);
-+ flex_temp_out_main = 0;
- exit (exit_status);
- }
-
-@@ -779,8 +781,10 @@
- {
- int i, sawcmpflag, rv, optind;
- char *arg;
-+ char flex_temp_out_main_template[] = "~flex_temp_out_main_XXXXXX";
- scanopt_t sopt;
-
-+ flex_temp_out_main = _strdup(_mktemp(flex_temp_out_main_template));
- printstats = syntaxerror = trace = spprdflt = false;
- lex_compat = posix_compat = C_plus_plus = backing_up_report =
- ddebug = fulltbl = false;
-Index: flex/src/filter.c
-===================================================================
---- flex/src/filter.c (revision 24)
-+++ flex/src/filter.c (working copy)
-@@ -86,7 +86,8 @@
-
- /* Get some more or less random data. */
- {
-- static unsigned long long g_value = 827363;
-+ static unsigned long long g_value;
-+ g_value = _getpid();
- g_value += 100;
- random_time_bits = (((unsigned long long)234546 << 32)
- | (unsigned long long)g_value);
diff --git a/gnuwin32/share/aclocal/bison-i18n.m4 b/gnuwin32/share/aclocal/bison-i18n.m4
deleted file mode 100644
index 75717127..00000000
--- a/gnuwin32/share/aclocal/bison-i18n.m4
+++ /dev/null
@@ -1,48 +0,0 @@
-# bison-i18n.m4 serial 2
-dnl Copyright (C) 2005-2006 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-dnl Support for internationalization of bison-generated parsers.
-
-dnl BISON_I18N
-dnl should be used in configure.ac, after AM_GNU_GETTEXT. If USE_NLS is yes, it
-dnl sets BISON_LOCALEDIR to indicate where to find the bison-runtime.mo files
-dnl and defines YYENABLE_NLS if there are bison-runtime.mo files at all.
-AC_DEFUN([BISON_I18N],
-[
- if test -z "$USE_NLS"; then
- echo "The BISON-I18N macro is used without being preceded by AM-GNU-GETTEXT." 1>&2
- exit 1
- fi
- BISON_LOCALEDIR=
- BISON_USE_NLS=no
- if test "$USE_NLS" = yes; then
- dnl Determine bison's localedir.
- dnl AC_PROG_YACC sets the YACC variable; other macros set the BISON variable.
- dnl But even is YACC is called "yacc", it may be a script that invokes bison
- dnl and accepts the --print-localedir option.
- dnl YACC's default value is empty; BISON's default value is :.
- if (${YACC-${BISON-:}} --print-localedir) >/dev/null 2>&1; then
- BISON_LOCALEDIR=`${YACC-${BISON-:}} --print-localedir`
- fi
- AC_SUBST([BISON_LOCALEDIR])
- if test -n "$BISON_LOCALEDIR"; then
- dnl There is no need to enable internationalization if the user doesn't
- dnl want message catalogs. So look at the language/locale names for
- dnl which the user wants message catalogs. This is $LINGUAS. If unset
- dnl or empty, he wants all of them.
- USER_LINGUAS="${LINGUAS-%UNSET%}"
- if test -n "$USER_LINGUAS"; then
- BISON_USE_NLS=yes
- fi
- fi
- fi
- if test $BISON_USE_NLS = yes; then
- AC_DEFINE([YYENABLE_NLS], 1,
- [Define to 1 to internationalize bison runtime messages.])
- fi
-])
diff --git a/gnuwin32/share/locale/ca/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/ca/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 6ba6490e..00000000
--- a/gnuwin32/share/locale/ca/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/da/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/da/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 03bb961a..00000000
--- a/gnuwin32/share/locale/da/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/da/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/da/LC_MESSAGES/bison.mo
deleted file mode 100644
index e62a7842..00000000
--- a/gnuwin32/share/locale/da/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/da/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/da/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 244b4db4..00000000
--- a/gnuwin32/share/locale/da/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/de/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/de/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 178fc682..00000000
--- a/gnuwin32/share/locale/de/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/de/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/de/LC_MESSAGES/bison.mo
deleted file mode 100644
index c1783d00..00000000
--- a/gnuwin32/share/locale/de/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/de/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/de/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 9c037912..00000000
--- a/gnuwin32/share/locale/de/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/el/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/el/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 912b59be..00000000
--- a/gnuwin32/share/locale/el/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/el/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/el/LC_MESSAGES/bison.mo
deleted file mode 100644
index 0ba96cc4..00000000
--- a/gnuwin32/share/locale/el/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/eo/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/eo/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 5cb53e72..00000000
--- a/gnuwin32/share/locale/eo/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/es/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/es/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 5723878d..00000000
--- a/gnuwin32/share/locale/es/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/es/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/es/LC_MESSAGES/bison.mo
deleted file mode 100644
index f85ef2c7..00000000
--- a/gnuwin32/share/locale/es/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/es/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/es/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 9ddb3318..00000000
--- a/gnuwin32/share/locale/es/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/et/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/et/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index cb358763..00000000
--- a/gnuwin32/share/locale/et/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/et/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/et/LC_MESSAGES/bison.mo
deleted file mode 100644
index a3c20bad..00000000
--- a/gnuwin32/share/locale/et/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/et/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/et/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 3ffae1c8..00000000
--- a/gnuwin32/share/locale/et/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/fi/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/fi/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index c5ea804e..00000000
--- a/gnuwin32/share/locale/fi/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/fi/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/fi/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index e62add45..00000000
--- a/gnuwin32/share/locale/fi/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/fr/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/fr/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 11c009e2..00000000
--- a/gnuwin32/share/locale/fr/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/fr/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/fr/LC_MESSAGES/bison.mo
deleted file mode 100644
index 91019338..00000000
--- a/gnuwin32/share/locale/fr/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/fr/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/fr/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 487b2129..00000000
--- a/gnuwin32/share/locale/fr/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ga/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/ga/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 6b4fec2f..00000000
--- a/gnuwin32/share/locale/ga/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ga/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/ga/LC_MESSAGES/bison.mo
deleted file mode 100644
index 6d8783c2..00000000
--- a/gnuwin32/share/locale/ga/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ga/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/ga/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index d8ec0523..00000000
--- a/gnuwin32/share/locale/ga/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/gl/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/gl/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index d450db0f..00000000
--- a/gnuwin32/share/locale/gl/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/hr/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/hr/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index bf3cf01b..00000000
--- a/gnuwin32/share/locale/hr/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/hr/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/hr/LC_MESSAGES/bison.mo
deleted file mode 100644
index f01f2d78..00000000
--- a/gnuwin32/share/locale/hr/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/hr/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/hr/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 3f84da1f..00000000
--- a/gnuwin32/share/locale/hr/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/hu/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/hu/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 15648b10..00000000
--- a/gnuwin32/share/locale/hu/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/id/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/id/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 649f2d9a..00000000
--- a/gnuwin32/share/locale/id/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/id/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/id/LC_MESSAGES/bison.mo
deleted file mode 100644
index 54f14384..00000000
--- a/gnuwin32/share/locale/id/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/id/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/id/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index ee08af5d..00000000
--- a/gnuwin32/share/locale/id/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/it/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/it/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 463e2913..00000000
--- a/gnuwin32/share/locale/it/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/it/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/it/LC_MESSAGES/bison.mo
deleted file mode 100644
index 09771eb9..00000000
--- a/gnuwin32/share/locale/it/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/it/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/it/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index d2c40dc9..00000000
--- a/gnuwin32/share/locale/it/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ja/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/ja/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index d11de405..00000000
--- a/gnuwin32/share/locale/ja/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ja/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/ja/LC_MESSAGES/bison.mo
deleted file mode 100644
index c28966a8..00000000
--- a/gnuwin32/share/locale/ja/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ky/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/ky/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 4185d053..00000000
--- a/gnuwin32/share/locale/ky/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/lt/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/lt/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 16ac4d10..00000000
--- a/gnuwin32/share/locale/lt/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ms/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/ms/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 87905ba0..00000000
--- a/gnuwin32/share/locale/ms/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ms/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/ms/LC_MESSAGES/bison.mo
deleted file mode 100644
index ed59d886..00000000
--- a/gnuwin32/share/locale/ms/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/nb/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/nb/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index cff7d776..00000000
--- a/gnuwin32/share/locale/nb/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/nb/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/nb/LC_MESSAGES/bison.mo
deleted file mode 100644
index 3bcf6492..00000000
--- a/gnuwin32/share/locale/nb/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/nl/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/nl/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 7b2f24c1..00000000
--- a/gnuwin32/share/locale/nl/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/nl/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/nl/LC_MESSAGES/bison.mo
deleted file mode 100644
index da4de8ed..00000000
--- a/gnuwin32/share/locale/nl/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/nl/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/nl/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index f985ea28..00000000
--- a/gnuwin32/share/locale/nl/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/pl/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/pl/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 30822a53..00000000
--- a/gnuwin32/share/locale/pl/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/pl/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/pl/LC_MESSAGES/bison.mo
deleted file mode 100644
index 7b6fae2c..00000000
--- a/gnuwin32/share/locale/pl/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/pl/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/pl/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index bb5c4e93..00000000
--- a/gnuwin32/share/locale/pl/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/pt_BR/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/pt_BR/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 1e72485c..00000000
--- a/gnuwin32/share/locale/pt_BR/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/pt_BR/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/pt_BR/LC_MESSAGES/bison.mo
deleted file mode 100644
index b579bbb9..00000000
--- a/gnuwin32/share/locale/pt_BR/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/pt_BR/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/pt_BR/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 72b522bd..00000000
--- a/gnuwin32/share/locale/pt_BR/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ro/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/ro/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index aaff454b..00000000
--- a/gnuwin32/share/locale/ro/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ro/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/ro/LC_MESSAGES/bison.mo
deleted file mode 100644
index 76d6c871..00000000
--- a/gnuwin32/share/locale/ro/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ro/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/ro/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 7515f60c..00000000
--- a/gnuwin32/share/locale/ro/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ru/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/ru/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 189d7dd9..00000000
--- a/gnuwin32/share/locale/ru/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ru/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/ru/LC_MESSAGES/bison.mo
deleted file mode 100644
index 7e16fad6..00000000
--- a/gnuwin32/share/locale/ru/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/ru/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/ru/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 8f44eb50..00000000
--- a/gnuwin32/share/locale/ru/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/sk/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/sk/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 1cd1dbbb..00000000
--- a/gnuwin32/share/locale/sk/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/sl/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/sl/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index fd1b5d24..00000000
--- a/gnuwin32/share/locale/sl/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/sl/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/sl/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 3d79f017..00000000
--- a/gnuwin32/share/locale/sl/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/sr/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/sr/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 53da354f..00000000
--- a/gnuwin32/share/locale/sr/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/sv/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/sv/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 51d4b157..00000000
--- a/gnuwin32/share/locale/sv/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/sv/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/sv/LC_MESSAGES/bison.mo
deleted file mode 100644
index d00a9e22..00000000
--- a/gnuwin32/share/locale/sv/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/sv/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/sv/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 1ed0bfc2..00000000
--- a/gnuwin32/share/locale/sv/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/th/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/th/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 537a09b3..00000000
--- a/gnuwin32/share/locale/th/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/tr/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/tr/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index e3389128..00000000
--- a/gnuwin32/share/locale/tr/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/tr/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/tr/LC_MESSAGES/bison.mo
deleted file mode 100644
index 17e87fe3..00000000
--- a/gnuwin32/share/locale/tr/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/tr/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/tr/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 1a9c9bb9..00000000
--- a/gnuwin32/share/locale/tr/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/uk/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/uk/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index a0323a5d..00000000
--- a/gnuwin32/share/locale/uk/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/uk/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/uk/LC_MESSAGES/bison.mo
deleted file mode 100644
index b41d6f32..00000000
--- a/gnuwin32/share/locale/uk/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/uk/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/uk/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index feb85cce..00000000
--- a/gnuwin32/share/locale/uk/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/vi/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/vi/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 7e650d74..00000000
--- a/gnuwin32/share/locale/vi/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/vi/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/vi/LC_MESSAGES/bison.mo
deleted file mode 100644
index d41ee574..00000000
--- a/gnuwin32/share/locale/vi/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/wa/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/wa/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index dc26f4e6..00000000
--- a/gnuwin32/share/locale/wa/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/zh_CN/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/zh_CN/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index b0998380..00000000
--- a/gnuwin32/share/locale/zh_CN/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/zh_CN/LC_MESSAGES/libiconv.mo b/gnuwin32/share/locale/zh_CN/LC_MESSAGES/libiconv.mo
deleted file mode 100644
index 0f7080c6..00000000
--- a/gnuwin32/share/locale/zh_CN/LC_MESSAGES/libiconv.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/zh_TW/LC_MESSAGES/bison-runtime.mo b/gnuwin32/share/locale/zh_TW/LC_MESSAGES/bison-runtime.mo
deleted file mode 100644
index 243f5aa0..00000000
--- a/gnuwin32/share/locale/zh_TW/LC_MESSAGES/bison-runtime.mo
+++ /dev/null
Binary files differ
diff --git a/gnuwin32/share/locale/zh_TW/LC_MESSAGES/bison.mo b/gnuwin32/share/locale/zh_TW/LC_MESSAGES/bison.mo
deleted file mode 100644
index 9c01484c..00000000
--- a/gnuwin32/share/locale/zh_TW/LC_MESSAGES/bison.mo
+++ /dev/null
Binary files differ
diff --git a/init-repository b/init-repository
index 63972ae3..8becca95 100755
--- a/init-repository
+++ b/init-repository
@@ -1,657 +1,30 @@
-#!/usr/bin/env perl
-#############################################################################
-##
-## Copyright (C) 2015 The Qt Company Ltd.
-## Contact: http://www.qt.io/licensing/
-##
-## This file is part of the utilities of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL21$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see http://www.qt.io/terms-conditions. For further
-## information use the contact form at http://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 2.1 or version 3 as published by the Free
-## Software Foundation and appearing in the file LICENSE.LGPLv21 and
-## LICENSE.LGPLv3 included in the packaging of this file. Please review the
-## following information to ensure the GNU Lesser General Public License
-## requirements will be met: https://www.gnu.org/licenses/lgpl.html and
-## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-##
-## As a special exception, The Qt Company gives you certain additional
-## rights. These rights are described in The Qt Company LGPL Exception
-## version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+#!/bin/sh
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
-use v5.8;
-use strict;
-use warnings;
+set -eu
-package Qt::InitRepository;
+script_dir_path=`dirname $0`
+script_dir_path=`(cd "$script_dir_path"; /bin/pwd)`
+optfile=init-repository.opt
+opttmpfile=init-repository.opt.in
-sub printUsage($)
-{
- my ($ex) = @_;
+# check whether cmake exists
+if ! [ -x "$(command -v cmake)" ]; then
+ echo "Error: cmake was not found. You need to install it before configuring Qt."
+ exit 1
+fi
- print <<EOF ;
-Usage:
- ./init-repository [options]
+# Posix compatible way to truncate file
+: > "$optfile"
+: > "$opttmpfile"
- This script may be run after an initial `git clone' of Qt5 in order to
- check out all submodules. It fetches them from canonical URLs inferred
- from the clone's origin.
+# For consistency, use QtWriteArgsFile.cmake to write the optfile like we do on Windows.
+# We do the same with the configure script in qtbase.
+for arg in "$@"; do echo \"$arg\" >> "$opttmpfile"; done
-Options:
- Global options:
+cmake -DIN_FILE="${opttmpfile}" -DOUT_FILE="${optfile}" -P "${script_dir_path}/cmake/QtWriteArgsFile.cmake"
- --force, -f
- Force initialization (even if the submodules are already checked
- out).
-
- --force-hooks
- Force initialization of hooks (even if there are already hooks in
- checked out submodules).
-
- --quiet, -q
- Be quiet. Will exit cleanly if the repository is already
- initialized.
-
- Module options:
-
- --module-subset=<module1>,<module2>...
- Only initialize the specified subset of modules given as the
- argument. Specified modules must already exist in .gitmodules. The
- string "all" results in cloning all known modules. The strings
- "essential", "addon", "preview", "deprecated", "obsolete", and
- "ignore" refer to classes of modules; "default" maps to
- "essential,addon,preview,deprecated", which corresponds with the
- set of maintained modules and is also the default set. Module
- names may be prefixed with a dash to exclude them from a bigger
- set, e.g. "all,-ignore".
-
- --no-update
- Skip the `git submodule update' command.
-
- --no-fetch
- Skip the `git fetch' commands. Implied by --no-update.
-
- --branch
- Instead of checking out specific SHA1s, check out the submodule
- branches that correspond with the current supermodule commit. By
- default, this option will cause local commits in the submodules to
- be rebased. With --no-update, the branches will be checked out, but
- their heads will not move.
-
- --ignore-submodules
- Set git config to ignore submodules by default when doing operations
- on the qt5 repo, such as `pull', `fetch', `diff' etc.
-
- After using this option, pass `--ignore-submodules=none' to git to
- override it as needed.
-
- Repository options:
-
- --berlin
- Switch to internal URLs and make use of the Berlin git mirrors.
- (Implies `--mirror').
-
- --oslo
- Switch to internal URLs and make use of the Oslo git mirrors.
- (Implies `--mirror').
-
- --codereview-username <Gerrit/JIRA username>
- Specify the user name for the (potentially) writable `gerrit' remote
- for each module, for use with the Gerrit code review tool.
-
- If this option is omitted, the gerrit remote is created without a
- username and port number, and thus relies on a correct SSH
- configuration.
-
- --alternates <path to other Qt5 repo>
- Adds alternates for each submodule to another full qt5 checkout.
- This makes this qt5 checkout very small, as it will use the object
- store of the alternates before unique objects are stored in its own
- object store.
-
- This option has no effect when using `--no-update'.
-
- NOTE: This will make this repo dependent on the alternate, which is
- potentially dangerous! The dependency can be broken by also using
- the `--copy-objects' option, or by running "git repack -a" in each
- submodule, where required. Please read the note about the `--shared'
- option in the documentation of `git clone' for more information.
-
- --copy-objects
- When `--alternates' is used, automatically do a "git repack -a" in
- each submodule after cloning, to ensure that the repositories are
- independent from the source used as a reference for cloning.
-
- Note that this negates the disk usage benefits gained from the use
- of `--alternates'.
-
- --mirror <url-base>
- Uses <url-base> as the base URL for submodule git mirrors.
-
- For example:
-
- --mirror user\@machine:/foo/bar/qt/
-
- ...will use the following as a mirror for qtbase:
-
- user\@machine:/foo/bar/qt/qtbase.git
-
- The mirror is permitted to contain a subset of the submodules; any
- missing modules will fall back to the canonical URLs.
-
-EOF
- exit($ex);
-}
-
-use Carp qw( confess );
-use Cwd qw( getcwd abs_path );
-use English qw( -no_match_vars );
-use File::Spec::Functions qw ( rel2abs );
-use Getopt::Long qw( GetOptions );
-
-my $script_path = abs_path($0);
-$script_path =~ s,[/\\][^/\\]+$,,;
-
-my $GERRIT_SSH_BASE
- = 'ssh://@USER@codereview.qt-project.org@PORT@/qt/';
-
-my $BER_MIRROR_URL_BASE
- = 'git://hegel/qt/';
-
-my $OSLO_MIRROR_URL_BASE
- = 'git://qilin/qt/';
-
-sub new
-{
- my ($class, @arguments) = @_;
-
- my $self = {};
- bless $self, $class;
- $self->parse_arguments(@arguments);
-
- return $self;
-}
-
-# Like `system', but possibly log the command, and die on non-zero exit code
-sub exe
-{
- my ($self, @cmd) = @_;
-
- if (!$self->{quiet}) {
- print "+ @cmd\n";
- }
-
- if (system(@cmd) != 0) {
- confess "@cmd exited with status $CHILD_ERROR";
- }
-
- return;
-}
-
-sub parse_arguments
-{
- my ($self) = @_;
-
- %{$self} = (%{$self},
- 'alternates' => "",
- 'branch' => 0,
- 'codereview-username' => "",
- 'detach-alternates' => 0 ,
- 'force' => 0 ,
- 'force-hooks' => 0 ,
- 'ignore-submodules' => 0 ,
- 'mirror-url' => "",
- 'update' => 1 ,
- 'fetch' => 1 ,
- 'module-subset' => "default",
- );
-
- GetOptions(
- 'alternates=s' => \$self->{qw{ alternates }},
- 'branch' => \$self->{qw{ branch }},
- 'codereview-username=s' => \$self->{qw{ codereview-username }},
- 'copy-objects' => \$self->{qw{ detach-alternates }},
- 'force|f' => \$self->{qw{ force }},
- 'force-hooks' => \$self->{qw{ force-hooks }},
- 'ignore-submodules' => \$self->{qw{ ignore-submodules }},
- 'mirror=s' => \$self->{qw{ mirror-url }},
- 'quiet' => \$self->{qw{ quiet }},
- 'update!' => \$self->{qw{ update }},
- 'fetch!' => \$self->{qw{ fetch }},
- 'module-subset=s' => \$self->{qw{ module-subset }},
-
- 'help|?' => sub { printUsage(1); },
-
- 'berlin' => sub {
- $self->{'mirror-url'} = $BER_MIRROR_URL_BASE;
- },
- 'oslo' => sub {
- $self->{'mirror-url'} = $OSLO_MIRROR_URL_BASE;
- },
- ) || printUsage(2);
- @ARGV && printUsage(2);
-
- # Replace any double trailing slashes from end of mirror
- $self->{'mirror-url'} =~ s{//+$}{/};
-
- $self->{'module-subset'} =~ s/\bdefault\b/preview,essential,addon,deprecated/;
- $self->{'module-subset'} = [ split(/,/, $self->{'module-subset'}) ];
-
- $self->{'fetch'} = 0 if (!$self->{'update'});
-
- return;
-}
-
-sub check_if_already_initialized
-{
- my ($self) = @_;
-
- # We consider the repo as `initialized' if submodule.qtbase.url is set
- if (qx(git config --get submodule.qtbase.url)) {
- if (!$self->{force}) {
- exit 0 if ($self->{quiet});
- print "Will not reinitialize already initialized repository (use -f to force)!\n";
- exit 1;
- }
- }
-
- return;
-}
-
-sub git_submodule_init
-{
- my ($self, @init_args) = @_;
-
- if ($self->{quiet}) {
- unshift @init_args, '--quiet';
- }
- $self->exe('git', 'submodule', 'init', @init_args);
-
- my $template = getcwd()."/.commit-template";
- if (-e $template) {
- $self->exe('git', 'config', 'commit.template', $template);
- }
-
- return;
-}
-
-use constant {
- STS_PREVIEW => 1,
- STS_ESSENTIAL => 2,
- STS_ADDON => 3,
- STS_DEPRECATED => 4,
- STS_OBSOLETE => 5
-};
-
-sub git_clone_all_submodules
-{
- my ($self, $my_repo_base, $co_branch, $alternates, @subset) = @_;
-
- my %subdirs = ();
- my %subbranches = ();
- my %subbases = ();
- my %subinits = ();
- my @submodconfig = qx(git config -l -f .gitmodules);
- foreach my $line (@submodconfig) {
- # Example line: submodule.qtqa.url=../qtqa.git
- next if ($line !~ /^submodule\.([^.=]+)\.([^.=]+)=(.*)$/);
- if ($2 eq "path") {
- $subdirs{$1} = $3;
- } elsif ($2 eq "branch") {
- $subbranches{$1} = $3;
- } elsif ($2 eq "url") {
- my ($mod, $base) = ($1, $3);
- next if ($base !~ /^\.\.\//);
- $base = $my_repo_base.'/'.$base;
- while ($base =~ s,(?!\.\./)[^/]+/\.\./,,g) {}
- $subbases{$mod} = $base;
- } elsif ($2 eq "update") {
- push @subset, '-'.$1 if ($3 eq 'none');
- } elsif ($2 eq "status") {
- if ($3 eq "preview") {
- $subinits{$1} = STS_PREVIEW;
- } elsif ($3 eq "essential") {
- $subinits{$1} = STS_ESSENTIAL;
- } elsif ($3 eq "addon") {
- $subinits{$1} = STS_ADDON;
- } elsif ($3 eq "deprecated") {
- $subinits{$1} = STS_DEPRECATED;
- } elsif ($3 eq "obsolete") {
- $subinits{$1} = STS_OBSOLETE;
- } elsif ($3 eq "ignore") {
- delete $subinits{$1};
- } else {
- die("Invalid subrepo status '$3' for '$1'.\n");
- }
- }
- }
-
- my %include = ();
- foreach my $mod (@subset) {
- my $del = ($mod =~ s/^-//);
- my $fail = 0;
- my @what;
- if ($mod eq "all") {
- @what = keys %subbases;
- } elsif ($mod eq "essential") {
- @what = grep { ($subinits{$_} || 0) eq STS_ESSENTIAL } keys %subbases;
- } elsif ($mod eq "addon") {
- @what = grep { ($subinits{$_} || 0) eq STS_ADDON } keys %subbases;
- } elsif ($mod eq "preview") {
- @what = grep { ($subinits{$_} || 0) eq STS_PREVIEW } keys %subbases;
- } elsif ($mod eq "deprecated") {
- @what = grep { ($subinits{$_} || 0) eq STS_DEPRECATED } keys %subbases;
- } elsif ($mod eq "obsolete") {
- @what = grep { ($subinits{$_} || 0) eq STS_OBSOLETE } keys %subbases;
- } elsif ($mod eq "ignore") {
- @what = grep { ($subinits{$_} || 0) eq 0 } keys %subbases;
- } elsif (defined($subdirs{$mod})) {
- push @what, $mod;
- } else {
- $fail = 1;
- }
- if ($del) {
- print "Warning: excluding non-existent module '$mod'.\n"
- if ($fail);
- map { delete $include{$_} } @what;
- } else {
- die("Error: module subset names non-existent '$mod'.\n")
- if ($fail);
- map { $include{$_} = 1; } @what;
- }
- }
-
- my @modules = sort keys %include;
-
- $self->git_submodule_init(map { $subdirs{$_} } @modules);
-
- # manually clone each repo here, so we can easily use reference repos, mirrors etc
- my @configresult = qx(git config -l);
- foreach my $line (@configresult) {
- # Example line: submodule.qtqa.url=git://code.qt.io/qt/qtqa.git
- next if ($line !~ /submodule\.([^.=]+)\.url=/);
- my $module = $1;
-
- if (!defined($include{$module})) {
- $self->exe('git', 'config', '--remove-section', "submodule.$module");
- next;
- }
-
- if ($self->{'ignore-submodules'}) {
- $self->exe('git', 'config', "submodule.$module.ignore", 'all');
- }
- }
-
- my $any_bad = 0;
- foreach my $module (@modules) {
- $any_bad = 1
- if ($self->git_stat_one_submodule($subdirs{$module}));
- }
- die("Dirty submodule(s) present; cannot proceed.\n")
- if ($any_bad);
-
- foreach my $module (@modules) {
- $self->git_clone_one_submodule($subdirs{$module}, $subbases{$module},
- $co_branch && $subbranches{$module}, $alternates);
- }
-
- if ($co_branch) {
- foreach my $module (@modules) {
- my $branch = $subbranches{$module};
- die("No branch defined for submodule $module.\n") if (!defined($branch));
- my $orig_cwd = getcwd();
- my $module_dir = $subdirs{$module};
- chdir($module_dir) or confess "chdir $module_dir: $OS_ERROR";
- my $br = qx(git rev-parse -q --verify $branch);
- if (!$br) {
- $self->exe('git', 'checkout', '-b', $branch, "origin/$branch");
- } else {
- $self->exe('git', 'checkout', $branch);
- }
- chdir("$orig_cwd") or confess "chdir $orig_cwd: $OS_ERROR";
- }
- }
- if ($self->{update}) {
- my @cmd = ('git', 'submodule', 'update', '--force', '--no-fetch');
- push @cmd, '--remote', '--rebase' if ($co_branch);
- $self->exe(@cmd);
-
- foreach my $module (@modules) {
- if (-f $module.'/.gitmodules') {
- my $orig_cwd = getcwd();
- chdir($module) or confess "chdir $module: $OS_ERROR";
- $self->git_clone_all_submodules($subbases{$module}, 0, "$alternates/$module", "all");
- chdir("$orig_cwd") or confess "chdir $orig_cwd: $OS_ERROR";
- }
- }
- }
-
- return;
-}
-
-sub git_add_remotes
-{
- my ($self, $gerrit_repo_basename) = @_;
-
- my $gerrit_repo_url = $GERRIT_SSH_BASE;
- # If given a username, make a "verbose" remote.
- # Otherwise, rely on proper SSH configuration.
- if ($self->{'codereview-username'}) {
- $gerrit_repo_url =~ s,\@USER\@,$self->{'codereview-username'}\@,;
- $gerrit_repo_url =~ s,\@PORT\@,:29418,;
- } else {
- $gerrit_repo_url =~ s,\@[^\@]+\@,,g;
- }
-
- $gerrit_repo_url .= $gerrit_repo_basename;
- $self->exe('git', 'config', 'remote.gerrit.url', $gerrit_repo_url);
- $self->exe('git', 'config', 'remote.gerrit.fetch', '+refs/heads/*:refs/remotes/gerrit/*', '/heads/');
-}
-
-sub git_stat_one_submodule
-{
- my ($self, $submodule) = @_;
-
- return 0 if (! -e "$submodule/.git");
-
- my $orig_cwd = getcwd();
- chdir($submodule) or confess "chdir $submodule: $OS_ERROR";
-
- my @sts = qx(git status --porcelain --untracked=no --ignore-submodules=all);
-
- # After a git clone --no-checkout, git status reports all files as
- # staged for deletion, but we still want to update the submodule.
- # It's unlikely that a genuinely dirty index would have _only_ this
- # type of modifications, and it doesn't seem like a horribly big deal
- # to lose them anyway, so ignore them.
- @sts = grep(!/^D /, @sts);
-
- chdir($orig_cwd) or confess "cd $orig_cwd: $OS_ERROR";
-
- return 0 if (!@sts);
-
- print STDERR "$submodule is dirty.\n";
-
- return -1;
-}
-
-sub git_clone_one_submodule
-{
- my ($self, $submodule, $repo_basename, $branch, $alternates) = @_;
-
- my $mirror_url = $self->{ 'mirror-url' };
- my $protocol = $self->{ 'protocol' };
-
- # `--reference FOO' args for the clone, if any.
- my @reference_args;
-
- if ($alternates) {
- # alternates is a qt5 repo, so the submodule will be under that.
- if (-e "$alternates/$submodule/.git") {
- @reference_args = ('--reference', "$alternates/$submodule");
- }
- else {
- print " *** $alternates/$submodule not found, ignoring alternate for this submodule\n";
- }
- }
-
- my $do_clone = (! -e "$submodule/.git");
-
- my $url = $self->{'base-url'}.$repo_basename;
- my $mirror;
- if ($mirror_url && ($do_clone || $self->{fetch})) {
- $mirror = $mirror_url.$repo_basename;
- }
-
- if ($mirror) {
- # Only use the mirror if it can be reached.
- eval { $self->exe('git', 'ls-remote', $mirror, 'test/if/mirror/exists') };
- if ($@) {
- warn "mirror [$mirror] is not accessible; $url will be used\n";
- undef $mirror;
- }
- }
-
- if ($do_clone) {
- if ($branch) {
- push @reference_args, '--branch', $branch;
- } else {
- push @reference_args, '--no-checkout';
- }
- $self->exe('git', 'clone', @reference_args,
- ($mirror ? $mirror : $url), $submodule);
- }
-
- my $orig_cwd = getcwd();
- chdir($submodule) or confess "chdir $submodule: $OS_ERROR";
-
- if ($mirror) {
- # This is only for the user's convenience - we make no use of it.
- $self->exe('git', 'config', 'remote.mirror.url', $mirror);
- $self->exe('git', 'config', 'remote.mirror.fetch', '+refs/heads/*:refs/remotes/mirror/*');
- }
-
- if (!$do_clone && $self->{fetch}) {
- # If we didn't clone, fetch from the right location. We always update
- # the origin remote, so that submodule update --remote works.
- $self->exe('git', 'config', 'remote.origin.url', ($mirror ? $mirror : $url));
- $self->exe('git', 'fetch', 'origin');
- }
-
- if (!($do_clone || $self->{fetch}) || $mirror) {
- # Leave the origin configured to the canonical URL. It's already correct
- # if we cloned/fetched without a mirror; otherwise it may be anything.
- $self->exe('git', 'config', 'remote.origin.url', $url);
- }
-
- my $template = $orig_cwd."/.commit-template";
- if (-e $template) {
- $self->exe('git', 'config', 'commit.template', $template);
- }
-
- $self->git_add_remotes($repo_basename);
-
- if ($self->{'detach-alternates'}) {
- $self->exe('git', 'repack', '-a');
-
- my $alternates_path = '.git/objects/info/alternates';
- if (-e $alternates_path) {
- unlink($alternates_path) || confess "unlink $alternates_path: $OS_ERROR";
- }
- }
-
- chdir($orig_cwd) or confess "cd $orig_cwd: $OS_ERROR";
-
- return;
-}
-
-sub ensure_link
-{
- my ($self, $src, $tgt) = @_;
- return if (!$self->{'force-hooks'} and -f $tgt);
- unlink($tgt); # In case we have a dead symlink or pre-existing hook
- print "Aliasing $src\n as $tgt ...\n" if (!$self->{quiet});
- if ($^O ne "msys" && $^O ne "MSWin32") {
- return if eval { symlink($src, $tgt) };
- }
- # Windows doesn't do (proper) symlinks. As the post_commit script needs
- # them to locate itself, we write a forwarding script instead.
- open SCRIPT, ">".$tgt or die "Cannot create forwarding script $tgt: $!\n";
- # Make the path palatable for MSYS.
- $src =~ s,\\,/,g;
- $src =~ s,^(.):/,/$1/,g;
- print SCRIPT "#!/bin/sh\nexec $src \"\$\@\"\n";
- close SCRIPT;
-}
-
-sub git_install_hooks
-{
- my ($self) = @_;
-
- my $hooks = $script_path.'/qtrepotools/git-hooks';
- return if (!-d $hooks);
-
- my @configresult = qx(git config --list --local);
- foreach my $line (@configresult) {
- next if ($line !~ /submodule\.([^.=]+)\.url=/);
- my $module = $1;
- my $module_gitdir = $module.'/.git';
- if (!-d $module_gitdir) {
- open GITD, $module_gitdir or die "Cannot open $module: $!\n";
- my $gd = <GITD>;
- close GITD;
- chomp($gd);
- $gd =~ s/^gitdir: // or die "Malformed .git file $module_gitdir\n";
- $module_gitdir = rel2abs($gd, $module);
- if (open COMD, $module_gitdir.'/commondir') {
- my $cd = <COMD>;
- chomp($cd);
- $module_gitdir .= '/'.$cd;
- $module_gitdir = abs_path($module_gitdir);
- close COMD;
- }
- }
- $self->ensure_link($hooks.'/gerrit_commit_msg_hook', $module_gitdir.'/hooks/commit-msg');
- $self->ensure_link($hooks.'/git_post_commit_hook', $module_gitdir.'/hooks/post-commit');
- }
-}
-
-sub run
-{
- my ($self) = @_;
-
- $self->check_if_already_initialized;
-
- chomp(my $url = `git config remote.origin.url`);
- die("Have no origin remote.\n") if (!$url);
- $url =~ s,\.git$,,;
- $url =~ s/qt5$//;
- $self->{'base-url'} = $url;
-
- $self->git_clone_all_submodules('qt5', $self->{branch}, $self->{alternates}, @{$self->{'module-subset'}});
-
- $self->git_add_remotes('qt5');
-
- $self->git_install_hooks;
-
- return;
-}
-
-#==============================================================================
-
-Qt::InitRepository->new()->run if (!caller);
-1;
+cmake_script_path="$script_dir_path/cmake/QtIRScript.cmake"
+exec cmake -DOPTFILE="${optfile}" -P "$cmake_script_path"
diff --git a/init-repository.bat b/init-repository.bat
new file mode 100644
index 00000000..b9daca2a
--- /dev/null
+++ b/init-repository.bat
@@ -0,0 +1,23 @@
+:: Copyright (C) 2024 The Qt Company Ltd.
+:: SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+
+@echo off
+setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS
+set script_dir_path=%~dp0
+set script_dir_path=%script_dir_path:~0,-1%
+
+set cmake_scripts_dir=%script_dir_path%\cmake
+:: The '.' in 'echo.%*' ensures we don't print "echo is off" when no arguments are passed
+:: https://devblogs.microsoft.com/oldnewthing/20170802-00/?p=96735
+:: The space before the '>' makes sure that when we have a digit at the end of the args, we
+:: don't accidentally concatenate it with the '>' resulting in '0>' or '2>' which redirects into the
+:: file from a stream different than stdout, leading to broken or empty content.
+echo.%* >init-repository.opt.in
+
+call cmake -DIN_FILE=init-repository.opt.in -DOUT_FILE=init-repository.opt ^
+ -P "%cmake_scripts_dir%\QtWriteArgsFile.cmake"
+call cmake -DOPTFILE=init-repository.opt ^
+ -P "%cmake_scripts_dir%\QtIRScript.cmake"
+
+del init-repository.opt.in
+del init-repository.opt
diff --git a/init-repository.pl b/init-repository.pl
new file mode 100755
index 00000000..3a5f26f6
--- /dev/null
+++ b/init-repository.pl
@@ -0,0 +1,653 @@
+#!/usr/bin/env perl
+# Copyright (C) 2015 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
+
+use v5.8;
+use strict;
+use warnings;
+
+package Qt::InitRepository;
+
+
+sub printUsage($)
+{
+ my ($ex) = @_;
+
+ print <<EOF ;
+Usage:
+ ./init-repository [options]
+
+ This script may be run after an initial `git clone' of Qt5 in order to
+ check out all submodules. It fetches them from canonical URLs inferred
+ from the clone's origin.
+
+Options:
+ Global options:
+
+ --force, -f
+ Force initialization (even if the submodules are already checked
+ out).
+
+ --force-hooks
+ Force initialization of hooks (even if there are already hooks in
+ checked out submodules).
+
+ --quiet, -q
+ Be quiet. Will exit cleanly if the repository is already
+ initialized.
+
+ Module options:
+
+ --module-subset=<module1>,<module2>...
+ Only initialize the specified subset of modules given as the
+ argument. Specified modules must already exist in .gitmodules. The
+ string "all" results in cloning all known modules. The strings
+ "essential", "addon", "preview", "deprecated", "obsolete",
+ "additionalLibrary", and "ignore" refer to classes of modules
+ identified by "status=" lines in the .gitmodules file.
+ You can use "default" in the subset as a short-hand for
+ "essential,addon,preview,deprecated", which corresponds to the set of
+ maintained modules included in standard Qt releases; this is also the
+ default module subset when this option is not given. Entries
+ may be prefixed with a dash to exclude them from a bigger
+ set, e.g. "all,-ignore".
+
+ --no-update
+ Skip the `git submodule update' command.
+
+ --no-fetch
+ Skip the `git fetch' commands. Implied by --no-update.
+
+ --branch
+ Instead of checking out specific SHA1s, check out the submodule
+ branches that correspond with the current supermodule commit. By
+ default, this option will cause local commits in the submodules to
+ be rebased. With --no-update, the branches will be checked out, but
+ their heads will not move.
+
+ --ignore-submodules
+ Set git config to ignore submodules by default when doing operations
+ on the qt5 repo, such as `pull', `fetch', `diff' etc.
+
+ After using this option, pass `--ignore-submodules=none' to git to
+ override it as needed.
+
+ Repository options:
+
+ --berlin
+ Switch to internal URLs and make use of the Berlin git mirrors.
+ (Implies `--mirror').
+
+ --oslo
+ Switch to internal URLs and make use of the Oslo git mirrors.
+ (Implies `--mirror').
+
+ --codereview-username <Gerrit/JIRA username>
+ Specify the user name for the (potentially) writable `gerrit' remote
+ for each module, for use with the Gerrit code review tool.
+
+ If this option is omitted, the gerrit remote is created without a
+ username and port number, and thus relies on a correct SSH
+ configuration.
+
+ --alternates <path to other Qt5 repo>
+ Adds alternates for each submodule to another full qt5 checkout.
+ This makes this qt5 checkout very small, as it will use the object
+ store of the alternates before unique objects are stored in its own
+ object store.
+
+ This option has no effect when using `--no-update'.
+
+ NOTE: This will make this repo dependent on the alternate, which is
+ potentially dangerous! The dependency can be broken by also using
+ the `--copy-objects' option, or by running "git repack -a" in each
+ submodule, where required. Please read the note about the `--shared'
+ option in the documentation of `git clone' for more information.
+
+ --copy-objects
+ When `--alternates' is used, automatically do a "git repack -a" in
+ each submodule after cloning, to ensure that the repositories are
+ independent from the source used as a reference for cloning.
+
+ Note that this negates the disk usage benefits gained from the use
+ of `--alternates'.
+
+ --mirror <url-base>
+ Uses <url-base> as the base URL for submodule git mirrors.
+
+ For example:
+
+ --mirror user\@machine:/foo/bar/qt/
+
+ ...will use the following as a mirror for qtbase:
+
+ user\@machine:/foo/bar/qt/qtbase.git
+
+ The mirror is permitted to contain a subset of the submodules; any
+ missing modules will fall back to the canonical URLs.
+
+EOF
+ exit($ex);
+}
+
+use Carp qw( confess );
+use Cwd qw( getcwd abs_path );
+use English qw( -no_match_vars );
+use File::Spec::Functions qw ( rel2abs );
+use Getopt::Long qw( GetOptions );
+
+my $script_path = abs_path($0);
+$script_path =~ s,[/\\][^/\\]+$,,;
+
+my $GERRIT_SSH_BASE
+ = 'ssh://@USER@codereview.qt-project.org@PORT@/qt/';
+
+my $BER_MIRROR_URL_BASE
+ = 'git://hegel/qt/';
+
+my $OSLO_MIRROR_URL_BASE
+ = 'git://qilin/qt/';
+
+sub new
+{
+ my ($class, @arguments) = @_;
+
+ my $self = {};
+ bless $self, $class;
+ $self->parse_arguments(@arguments);
+
+ return $self;
+}
+
+# Like `system', but possibly log the command, and die on non-zero exit code
+sub exe
+{
+ my ($self, @cmd) = @_;
+
+ if (!$self->{quiet}) {
+ print "+ @cmd\n";
+ }
+
+ if (system(@cmd) != 0) {
+ confess "@cmd exited with status $CHILD_ERROR";
+ }
+
+ return;
+}
+
+sub parse_arguments
+{
+ my ($self) = @_;
+
+ %{$self} = (%{$self},
+ 'alternates' => "",
+ 'branch' => 0,
+ 'codereview-username' => "",
+ 'detach-alternates' => 0 ,
+ 'force' => 0 ,
+ 'force-hooks' => 0 ,
+ 'ignore-submodules' => 0 ,
+ 'mirror-url' => "",
+ 'update' => 1 ,
+ 'fetch' => 1 ,
+ 'module-subset' => "default",
+ );
+
+ GetOptions(
+ 'alternates=s' => \$self->{qw{ alternates }},
+ 'branch' => \$self->{qw{ branch }},
+ 'codereview-username=s' => \$self->{qw{ codereview-username }},
+ 'copy-objects' => \$self->{qw{ detach-alternates }},
+ 'force|f' => \$self->{qw{ force }},
+ 'force-hooks' => \$self->{qw{ force-hooks }},
+ 'ignore-submodules' => \$self->{qw{ ignore-submodules }},
+ 'mirror=s' => \$self->{qw{ mirror-url }},
+ 'quiet' => \$self->{qw{ quiet }},
+ 'update!' => \$self->{qw{ update }},
+ 'fetch!' => \$self->{qw{ fetch }},
+ 'module-subset=s' => \$self->{qw{ module-subset }},
+
+ 'help|?' => sub { printUsage(1); },
+
+ 'berlin' => sub {
+ $self->{'mirror-url'} = $BER_MIRROR_URL_BASE;
+ },
+ 'oslo' => sub {
+ $self->{'mirror-url'} = $OSLO_MIRROR_URL_BASE;
+ },
+ ) || printUsage(2);
+ @ARGV && printUsage(2);
+
+ # Replace any double trailing slashes from end of mirror
+ $self->{'mirror-url'} =~ s{//+$}{/};
+
+ $self->{'module-subset'} =~ s/\bdefault\b/preview,essential,addon,deprecated/;
+ $self->{'module-subset'} = [ split(/,/, $self->{'module-subset'}) ];
+
+ $self->{'fetch'} = 0 if (!$self->{'update'});
+
+ return;
+}
+
+sub check_if_already_initialized
+{
+ my ($self) = @_;
+
+ # We consider the repo as `initialized' if submodule.qtbase.url is set
+ if (qx(git config --get submodule.qtbase.url)) {
+ if (!$self->{force}) {
+ exit 0 if ($self->{quiet});
+ print "Will not reinitialize already initialized repository (use -f to force)!\n";
+ exit 1;
+ }
+ }
+
+ return;
+}
+
+sub git_submodule_init
+{
+ my ($self, @init_args) = @_;
+
+ if ($self->{quiet}) {
+ unshift @init_args, '--quiet';
+ }
+ $self->exe('git', 'submodule', 'init', @init_args);
+
+ my $template = getcwd()."/.commit-template";
+ if (-e $template) {
+ $self->exe('git', 'config', 'commit.template', $template);
+ }
+
+ return;
+}
+
+use constant {
+ STS_PREVIEW => 1,
+ STS_ESSENTIAL => 2,
+ STS_ADDON => 3,
+ STS_DEPRECATED => 4,
+ STS_OBSOLETE => 5,
+ STS_ADDITIONAL => 6
+};
+
+sub has_url_scheme
+{
+ my ($url) = @_;
+ return $url =~ "^[a-z][a-z0-9+\-.]*://";
+}
+
+sub git_clone_all_submodules
+{
+ my ($self, $my_repo_base, $co_branch, $alternates, @subset) = @_;
+
+ my %subdirs = ();
+ my %subbranches = ();
+ my %subbases = ();
+ my %subinits = ();
+ my @submodconfig = qx(git config -l -f .gitmodules);
+ foreach my $line (@submodconfig) {
+ # Example line: submodule.qtqa.url=../qtqa.git
+ next if ($line !~ /^submodule\.([^.=]+)\.([^.=]+)=(.*)$/);
+ if ($2 eq "path") {
+ $subdirs{$1} = $3;
+ } elsif ($2 eq "branch") {
+ $subbranches{$1} = $3;
+ } elsif ($2 eq "url") {
+ my ($mod, $base) = ($1, $3);
+ if (!has_url_scheme($base)) {
+ $base = $my_repo_base.'/'.$base;
+ }
+ while ($base =~ s,(?!\.\./)[^/]+/\.\./,,g) {}
+ $subbases{$mod} = $base;
+ } elsif ($2 eq "update") {
+ push @subset, '-'.$1 if ($3 eq 'none');
+ } elsif ($2 eq "status") {
+ if ($3 eq "preview") {
+ $subinits{$1} = STS_PREVIEW;
+ } elsif ($3 eq "essential") {
+ $subinits{$1} = STS_ESSENTIAL;
+ } elsif ($3 eq "addon") {
+ $subinits{$1} = STS_ADDON;
+ } elsif ($3 eq "deprecated") {
+ $subinits{$1} = STS_DEPRECATED;
+ } elsif ($3 eq "obsolete") {
+ $subinits{$1} = STS_OBSOLETE;
+ } elsif ($3 eq "additionalLibrary") {
+ $subinits{$1} = STS_ADDITIONAL;
+ } elsif ($3 eq "ignore") {
+ delete $subinits{$1};
+ } else {
+ die("Invalid subrepo status '$3' for '$1'.\n");
+ }
+ }
+ }
+
+ my %include = ();
+ foreach my $mod (@subset) {
+ my $del = ($mod =~ s/^-//);
+ my $fail = 0;
+ my @what;
+ if ($mod eq "all") {
+ @what = keys %subbases;
+ } elsif ($mod eq "essential") {
+ @what = grep { ($subinits{$_} || 0) eq STS_ESSENTIAL } keys %subbases;
+ } elsif ($mod eq "addon") {
+ @what = grep { ($subinits{$_} || 0) eq STS_ADDON } keys %subbases;
+ } elsif ($mod eq "additionalLibrary") {
+ @what = grep { ($subinits{$_} || 0) eq STS_ADDITIONAL } keys %subbases;
+ } elsif ($mod eq "preview") {
+ @what = grep { ($subinits{$_} || 0) eq STS_PREVIEW } keys %subbases;
+ } elsif ($mod eq "deprecated") {
+ @what = grep { ($subinits{$_} || 0) eq STS_DEPRECATED } keys %subbases;
+ } elsif ($mod eq "obsolete") {
+ @what = grep { ($subinits{$_} || 0) eq STS_OBSOLETE } keys %subbases;
+ } elsif ($mod eq "ignore") {
+ @what = grep { ($subinits{$_} || 0) eq 0 } keys %subbases;
+ } elsif (defined($subdirs{$mod})) {
+ push @what, $mod;
+ } else {
+ $fail = 1;
+ }
+ if ($del) {
+ print "Warning: excluding non-existent module '$mod'.\n"
+ if ($fail);
+ map { delete $include{$_} } @what;
+ } else {
+ die("Error: module subset names non-existent '$mod'.\n")
+ if ($fail);
+ map { $include{$_} = 1; } @what;
+ }
+ }
+
+ my @modules = sort keys %include;
+
+ $self->git_submodule_init(map { $subdirs{$_} } @modules);
+
+ # manually clone each repo here, so we can easily use reference repos, mirrors etc
+ my @configresult = qx(git config -l);
+ foreach my $line (@configresult) {
+ # Example line: submodule.qtqa.url=git://code.qt.io/qt/qtqa.git
+ next if ($line !~ /submodule\.([^.=]+)\.url=/);
+ my $module = $1;
+
+ if (!defined($include{$module})) {
+ $self->exe('git', 'config', '--remove-section', "submodule.$module");
+ next;
+ }
+
+ if ($self->{'ignore-submodules'}) {
+ $self->exe('git', 'config', "submodule.$module.ignore", 'all');
+ }
+ }
+
+ my $any_bad = 0;
+ foreach my $module (@modules) {
+ $any_bad = 1
+ if ($self->git_stat_one_submodule($subdirs{$module}));
+ }
+ die("Dirty submodule(s) present; cannot proceed.\n")
+ if ($any_bad);
+
+ foreach my $module (@modules) {
+ $self->git_clone_one_submodule($subdirs{$module}, $subbases{$module},
+ $co_branch && $subbranches{$module}, $alternates);
+ }
+
+ if ($co_branch) {
+ foreach my $module (@modules) {
+ my $branch = $subbranches{$module};
+ die("No branch defined for submodule $module.\n") if (!defined($branch));
+ my $orig_cwd = getcwd();
+ my $module_dir = $subdirs{$module};
+ chdir($module_dir) or confess "chdir $module_dir: $OS_ERROR";
+ my $br = qx(git rev-parse -q --verify $branch);
+ if (!$br) {
+ $self->exe('git', 'checkout', '-b', $branch, "origin/$branch");
+ } else {
+ $self->exe('git', 'checkout', $branch);
+ }
+ chdir("$orig_cwd") or confess "chdir $orig_cwd: $OS_ERROR";
+ }
+ }
+ if ($self->{update}) {
+ my @cmd = ('git', 'submodule', 'update', '--force', '--no-fetch');
+ push @cmd, '--remote', '--rebase' if ($co_branch);
+ $self->exe(@cmd);
+
+ foreach my $module (@modules) {
+ if (-f $module.'/.gitmodules') {
+ my $orig_cwd = getcwd();
+ chdir($module) or confess "chdir $module: $OS_ERROR";
+ $self->git_clone_all_submodules($subbases{$module}, 0, "$alternates/$module", "all");
+ chdir("$orig_cwd") or confess "chdir $orig_cwd: $OS_ERROR";
+ }
+ }
+ }
+
+ return;
+}
+
+sub git_add_remotes
+{
+ my ($self, $gerrit_repo_basename) = @_;
+
+ my $gerrit_repo_url = $GERRIT_SSH_BASE;
+ # If given a username, make a "verbose" remote.
+ # Otherwise, rely on proper SSH configuration.
+ if ($self->{'codereview-username'}) {
+ $gerrit_repo_url =~ s,\@USER\@,$self->{'codereview-username'}\@,;
+ $gerrit_repo_url =~ s,\@PORT\@,:29418,;
+ } else {
+ $gerrit_repo_url =~ s,\@[^\@]+\@,,g;
+ }
+
+ $gerrit_repo_url .= $gerrit_repo_basename;
+ $self->exe('git', 'config', 'remote.gerrit.url', $gerrit_repo_url);
+ $self->exe('git', 'config', 'remote.gerrit.fetch', '+refs/heads/*:refs/remotes/gerrit/*', '/heads/');
+}
+
+sub git_stat_one_submodule
+{
+ my ($self, $submodule) = @_;
+
+ return 0 if (! -e "$submodule/.git");
+
+ my $orig_cwd = getcwd();
+ chdir($submodule) or confess "chdir $submodule: $OS_ERROR";
+
+ my @sts = qx(git status --porcelain --untracked=no --ignore-submodules=all);
+
+ # After a git clone --no-checkout, git status reports all files as
+ # staged for deletion, but we still want to update the submodule.
+ # It's unlikely that a genuinely dirty index would have _only_ this
+ # type of modifications, and it doesn't seem like a horribly big deal
+ # to lose them anyway, so ignore them.
+ @sts = grep(!/^D /, @sts);
+
+ chdir($orig_cwd) or confess "cd $orig_cwd: $OS_ERROR";
+
+ return 0 if (!@sts);
+
+ print STDERR "$submodule is dirty.\n";
+
+ return -1;
+}
+
+sub git_clone_one_submodule
+{
+ my ($self, $submodule, $repo_basename, $branch, $alternates) = @_;
+
+ my $mirror_url = $self->{ 'mirror-url' };
+ my $protocol = $self->{ 'protocol' };
+
+ # `--reference FOO' args for the clone, if any.
+ my @reference_args;
+
+ if ($alternates) {
+ # alternates is a qt5 repo, so the submodule will be under that.
+ if (-e "$alternates/$submodule/.git") {
+ @reference_args = ('--reference', "$alternates/$submodule");
+ }
+ else {
+ print " *** $alternates/$submodule not found, ignoring alternate for this submodule\n";
+ }
+ }
+
+ my $do_clone = (! -e "$submodule/.git");
+
+ my $url = $repo_basename;
+ if (!has_url_scheme($url)) {
+ $url = $self->{'base-url'}.$url;
+ }
+
+ my $mirror;
+ if (!has_url_scheme($repo_basename) && $mirror_url && ($do_clone || $self->{fetch})) {
+ $mirror = $mirror_url.$repo_basename;
+ }
+
+ if ($mirror) {
+ # Only use the mirror if it can be reached.
+ eval { $self->exe('git', 'ls-remote', $mirror, 'test/if/mirror/exists') };
+ if ($@) {
+ warn "mirror [$mirror] is not accessible; $url will be used\n";
+ undef $mirror;
+ }
+ }
+
+ if ($do_clone) {
+ if ($branch) {
+ push @reference_args, '--branch', $branch;
+ } else {
+ push @reference_args, '--no-checkout';
+ }
+ $self->exe('git', 'clone', @reference_args,
+ ($mirror ? $mirror : $url), $submodule);
+ }
+
+ my $orig_cwd = getcwd();
+ chdir($submodule) or confess "chdir $submodule: $OS_ERROR";
+
+ if ($mirror) {
+ # This is only for the user's convenience - we make no use of it.
+ $self->exe('git', 'config', 'remote.mirror.url', $mirror);
+ $self->exe('git', 'config', 'remote.mirror.fetch', '+refs/heads/*:refs/remotes/mirror/*');
+ }
+
+ if (!$do_clone && $self->{fetch}) {
+ # If we didn't clone, fetch from the right location. We always update
+ # the origin remote, so that submodule update --remote works.
+ $self->exe('git', 'config', 'remote.origin.url', ($mirror ? $mirror : $url));
+ $self->exe('git', 'fetch', 'origin');
+ }
+
+ if (!($do_clone || $self->{fetch}) || $mirror) {
+ # Leave the origin configured to the canonical URL. It's already correct
+ # if we cloned/fetched without a mirror; otherwise it may be anything.
+ $self->exe('git', 'config', 'remote.origin.url', $url);
+ }
+
+ my $template = $orig_cwd."/.commit-template";
+ if (-e $template) {
+ $self->exe('git', 'config', 'commit.template', $template);
+ }
+
+ if (!has_url_scheme($repo_basename)) {
+ $self->git_add_remotes($repo_basename);
+ }
+
+ if ($self->{'detach-alternates'}) {
+ $self->exe('git', 'repack', '-a');
+
+ my $alternates_path = '.git/objects/info/alternates';
+ if (-e $alternates_path) {
+ unlink($alternates_path) || confess "unlink $alternates_path: $OS_ERROR";
+ }
+ }
+
+ chdir($orig_cwd) or confess "cd $orig_cwd: $OS_ERROR";
+
+ return;
+}
+
+sub ensure_link
+{
+ my ($self, $src, $tgt) = @_;
+ return if (!$self->{'force-hooks'} and -f $tgt);
+ unlink($tgt); # In case we have a dead symlink or pre-existing hook
+ print "Aliasing $src\n as $tgt ...\n" if (!$self->{quiet});
+ if ($^O ne "msys" && $^O ne "MSWin32") {
+ return if eval { symlink($src, $tgt) };
+ }
+ # Windows doesn't do (proper) symlinks. As the post_commit script needs
+ # them to locate itself, we write a forwarding script instead.
+ open SCRIPT, ">".$tgt or die "Cannot create forwarding script $tgt: $!\n";
+ # Make the path palatable for MSYS.
+ $src =~ s,\\,/,g;
+ $src =~ s,^(.):/,/$1/,g;
+ print SCRIPT "#!/bin/sh\nexec $src \"\$\@\"\n";
+ close SCRIPT;
+}
+
+sub git_install_hooks
+{
+ my ($self) = @_;
+
+ my $hooks = $script_path.'/qtrepotools/git-hooks';
+ if (!-d $hooks) {
+ print "Warning: cannot find Git hooks, qtrepotools module might be absent\n";
+ return;
+ };
+
+ my @configresult = qx(git config --list --local);
+ foreach my $line (@configresult) {
+ next if ($line !~ /submodule\.([^.=]+)\.url=/);
+ my $module = $1;
+ my $module_gitdir = $module.'/.git';
+ if (!-d $module_gitdir) {
+ open GITD, $module_gitdir or die "Cannot open $module: $!\n";
+ my $gd = <GITD>;
+ close GITD;
+ chomp($gd);
+ $gd =~ s/^gitdir: // or die "Malformed .git file $module_gitdir\n";
+ $module_gitdir = rel2abs($gd, $module);
+ if (open COMD, $module_gitdir.'/commondir') {
+ my $cd = <COMD>;
+ chomp($cd);
+ $module_gitdir .= '/'.$cd;
+ $module_gitdir = abs_path($module_gitdir);
+ close COMD;
+ }
+ }
+ $self->ensure_link($hooks.'/gerrit_commit_msg_hook', $module_gitdir.'/hooks/commit-msg');
+ $self->ensure_link($hooks.'/git_post_commit_hook', $module_gitdir.'/hooks/post-commit');
+ $self->ensure_link($hooks.'/clang-format-pre-commit', $module_gitdir.'/hooks/pre-commit');
+ }
+}
+
+sub run
+{
+ my ($self) = @_;
+
+ $self->check_if_already_initialized;
+
+ chomp(my $url = `git config remote.origin.url`);
+ die("Have no origin remote.\n") if (!$url);
+ $url =~ s,\.git/?$,,;
+ $url =~ s/((?:tqtc-)?qt5)$//;
+ my $qtrepo = $1 || 'qt5';
+ $self->{'base-url'} = $url;
+
+ $self->git_clone_all_submodules($qtrepo, $self->{branch}, $self->{alternates}, @{$self->{'module-subset'}});
+
+ $self->git_add_remotes($qtrepo);
+
+ $self->git_install_hooks;
+
+ return;
+}
+
+#==============================================================================
+
+Qt::InitRepository->new()->run if (!caller);
+1;
diff --git a/qt.pro b/qt.pro
deleted file mode 100644
index 81553664..00000000
--- a/qt.pro
+++ /dev/null
@@ -1,103 +0,0 @@
-# Create the super cache so modules will add themselves to it.
-cache(, super)
-
-# Suppress the license check on subsequent "visits". The first
-# visit will skip it anyway due to not having a compiler set up
-# yet. This cannot be added to the super cache, because that is
-# read before spec_pre.prf, which flushes CONFIG. This does not
-# affect submodules, as they come with a .qmake.conf. But that
-# one sets the flag via qt_build_config.prf anyway.
-!QTDIR_build: cache(CONFIG, add, $$list(QTDIR_build))
-
-TEMPLATE = subdirs
-
-CONFIG += prepare_docs qt_docs_targets
-
-# Extract submodules from .gitmodules.
-lines = $$cat(.gitmodules, lines)
-for (line, lines) {
- mod = $$replace(line, "^\\[submodule \"([^\"]+)\"\\]$", \\1)
- !equals(mod, $$line) {
- module = $$mod
- modules += $$mod
- } else {
- prop = $$replace(line, "^$$escape_expand(\\t)([^ =]+) *=.*$", \\1)
- !equals(prop, $$line) {
- val = $$replace(line, "^[^=]+= *", )
- module.$${module}.$$prop = $$split(val)
- } else {
- error("Malformed line in .gitmodules: $$line")
- }
- }
-}
-QMAKE_INTERNAL_INCLUDED_FILES += $$PWD/.gitmodules
-
-QT_SKIP_MODULES =
-
-# This is a bit hacky, but a proper implementation is not worth it.
-args = $$QMAKE_EXTRA_ARGS
-contains(args, -redo): \
- args += $$cat($$OUT_PWD/config.opt, lines)
-for (ever) {
- isEmpty(args): break()
- a = $$take_first(args)
-
- equals(a, -skip) {
- isEmpty(args): break()
- m = $$take_first(args)
- contains(m, -.*): next()
- m ~= s/^(qt)?/qt/
- !contains(modules, $$m): \
- error("-skip command line argument used with non-existent module '$$m'.")
- QT_SKIP_MODULES += $$m
- }
-}
-
-modules = $$sort_depends(modules, module., .depends .recommends .serialize)
-modules = $$reverse(modules)
-for (mod, modules) {
- project = $$eval(module.$${mod}.project)
- equals(project, -): \
- next()
-
- deps = $$eval(module.$${mod}.depends)
- recs = $$eval(module.$${mod}.recommends) $$eval(module.$${mod}.serialize)
- for (d, $$list($$deps $$recs)): \
- !contains(modules, $$d): \
- error("'$$mod' depends on undeclared '$$d'.")
-
- contains(QT_SKIP_MODULES, $$mod): \
- next()
- !isEmpty(QT_BUILD_MODULES):!contains(QT_BUILD_MODULES, $$mod): \
- next()
-
- isEmpty(project) {
- !exists($$mod/$${mod}.pro): \
- next()
- $${mod}.subdir = $$mod
- } else {
- !exists($$mod/$$project): \
- next()
- $${mod}.file = $$mod/$$project
- $${mod}.makefile = Makefile
- }
- $${mod}.target = module-$$mod
-
- for (d, deps) {
- !contains(SUBDIRS, $$d) {
- $${mod}.target =
- break()
- }
- $${mod}.depends += $$d
- }
- isEmpty($${mod}.target): \
- next()
- for (d, recs) {
- contains(SUBDIRS, $$d): \
- $${mod}.depends += $$d
- }
-
- SUBDIRS += $$mod
-}
-
-load(qt_configure)
diff --git a/qt3d b/qt3d
-Subproject 1a75f9b07148042803d4366a8a21d6f2d62deee
+Subproject ea6cc11bcdac30fab1661e68403abfdfb53dd61
diff --git a/qt5compat b/qt5compat
new file mode 160000
+Subproject b17fcdb6306d1575118250a83265fde3b0bf4f2
diff --git a/qtactiveqt b/qtactiveqt
-Subproject d3e7101032aa8c870fe4eda8ea5abe5bbfe4712
+Subproject 67cee14fe7ea0542ffa1d305eeb2870b600fd68
diff --git a/qtandroidextras b/qtandroidextras
deleted file mode 160000
-Subproject c5e4882e75c37f2c0462141793dffc4fa6710fc
diff --git a/qtbase b/qtbase
-Subproject 1f04b0944633fd526585ee76d211ef779281082
+Subproject e7362764d4931f255d2377462df8ac7a0d4e7c8
diff --git a/qtcanvas3d b/qtcanvas3d
-Subproject 9a7c0f06fd375a1d7e07082338a4fa0cfc36075
+Subproject 1319e0965f6008f44f9216a7bb76e106a171076
diff --git a/qtcharts b/qtcharts
-Subproject d7b0312363a868d1d50ef4af032b57a36d50b24
+Subproject e157476c4d92161735aa765cb1d2944ee3bbce1
diff --git a/qtcoap b/qtcoap
new file mode 160000
+Subproject 2b07ae2cb3f475df63d3ace109e8a74204debd3
diff --git a/qtconnectivity b/qtconnectivity
-Subproject 14b0efe1d4e5addec5f577a2d01a3a0d9a1d931
+Subproject 300af80d22c149fca9fe443ea191a5dec0915c6
diff --git a/qtdatavis3d b/qtdatavis3d
-Subproject 13c950f006160b8aa8aae559fcbd75d7d4f9be1
+Subproject 1da76a04536dadcbe282cd6df5f4896334e7c77
diff --git a/qtdeclarative b/qtdeclarative
-Subproject 2f4479857d2b68f8cd3267b2f2b3c652ada431e
+Subproject 330fa93d6e9003c0ea188b9e703f2b3f0448f8c
diff --git a/qtdoc b/qtdoc
-Subproject 31beb2498da41b21b718cccc622b5cb8045e97b
+Subproject 83ccee427058d2574624d54bca634a66a73b22c
diff --git a/qtdocgallery b/qtdocgallery
deleted file mode 160000
-Subproject e36e6f0abd45c2794c70c31eb10c5263e7e7a29
diff --git a/qtgamepad b/qtgamepad
-Subproject 19ca9370409d82a00841372df2e8bc0bf35148e
+Subproject 5fe6fd206f4aef1cb1ee9c328ee27e25e6b44f4
diff --git a/qtgraphicaleffects b/qtgraphicaleffects
deleted file mode 160000
-Subproject 9490960f5fb4e56058f6b8c096617e94e9e5611
diff --git a/qtgraphs b/qtgraphs
new file mode 160000
+Subproject 93220511230aad52f4cd3c08eebcb1b2bcebeac
diff --git a/qtgrpc b/qtgrpc
new file mode 160000
+Subproject 3a586f45e009a0d63f4c1e033becdd3f227cbee
diff --git a/qthttpserver b/qthttpserver
new file mode 160000
+Subproject 1b72902310451c1e2acbdd85413bfdc18e3b6ba
diff --git a/qtimageformats b/qtimageformats
-Subproject 626c3053efd7905080ac4a65fca55551391a36e
+Subproject 490c1efee3c58ff7439530e21c5fd0dd86c3846
diff --git a/qtlanguageserver b/qtlanguageserver
new file mode 160000
+Subproject 1cfd21c3b08f79c294f2257e983425a776df163
diff --git a/qtlocation b/qtlocation
-Subproject 0e64148b39ab7e7417d9d115ddc53631167989b
+Subproject e1125cf831ec61e14457444dd85655f92ec1dab
diff --git a/qtlottie b/qtlottie
new file mode 160000
+Subproject 3f0cf7fb092084834a3b813f07cbc44d8984d2f
diff --git a/qtmacextras b/qtmacextras
deleted file mode 160000
-Subproject 576926d0608b1d37b88d56b8bf873aeb1c57d14
diff --git a/qtmqtt b/qtmqtt
new file mode 160000
+Subproject 724b5a12aef6a6482b5d6382ab9e85a82b34156
diff --git a/qtmultimedia b/qtmultimedia
-Subproject 7a4478a4a411df9f21e1499d2301049f9045b7d
+Subproject 18f699b667982b60fbd7d3adc539cde81e742c2
diff --git a/qtnetworkauth b/qtnetworkauth
-Subproject effb9ec6f5abfe50277de410769e7d8e01e6d97
+Subproject e43647ce8b5488a9d7c8501a29ad1ee74b063a9
diff --git a/qtopcua b/qtopcua
new file mode 160000
+Subproject 4623f47c1589752db56052f1600be5f55f3bc0f
diff --git a/qtpositioning b/qtpositioning
new file mode 160000
+Subproject 21bbe4ee94c3a81b91610c2cc374415fdfdd338
diff --git a/qtpurchasing b/qtpurchasing
deleted file mode 160000
-Subproject 9a451391f077093307cc7f3ac8cee5a0f6a168f
diff --git a/qtqa b/qtqa
-Subproject ececaf29b2f5de75ae4b00e44a5a0f09bc65e80
+Subproject 1305349e71b772f48d683d78844695b4db608ed
diff --git a/qtquick3d b/qtquick3d
new file mode 160000
+Subproject 9653f92bc1cf129940c2159acac35481324ba53
diff --git a/qtquick3dphysics b/qtquick3dphysics
new file mode 160000
+Subproject 45b8b8455da4a8ca688617a5f78b34899611e3e
diff --git a/qtquickcontrols b/qtquickcontrols
deleted file mode 160000
-Subproject 84fbb48832e984c7fce1c4091adb0d340974a75
diff --git a/qtquickcontrols2 b/qtquickcontrols2
deleted file mode 160000
-Subproject 4259e99c1990dc88632b85d945e9093cca47a83
diff --git a/qtquickeffectmaker b/qtquickeffectmaker
new file mode 160000
+Subproject ed4b5dbc2252c2a39eb7a9267d586a685f59e7b
diff --git a/qtquicktimeline b/qtquicktimeline
new file mode 160000
+Subproject 428b4cfc7dac9b319229c74dda5f3440c0064b1
diff --git a/qtremoteobjects b/qtremoteobjects
-Subproject ff04810bd09d3897ccede880680dd94fcf58517
+Subproject a24e4482dd0dd1d1939fc88422617785f5724bd
diff --git a/qtrepotools b/qtrepotools
-Subproject 64abf60ae196bd3ad59531f48d2e2c78efa5987
+Subproject 141876182b9431a7f847f877188bd5e1c0407de
diff --git a/qtscript b/qtscript
deleted file mode 160000
-Subproject 484e9de6d86d011bd349890cba87a25554b0f67
diff --git a/qtscxml b/qtscxml
-Subproject 80a9f4dfd078c4df1bc2c7fa279d637debfd672
+Subproject bf685529c776e329d223ecbd590219cb3ecea7c
diff --git a/qtsensors b/qtsensors
-Subproject 14b5821f7b9998c1263c592d2cc70f21f1e7298
+Subproject dbde1971bc2759364601dfb48477b29d98a0e62
diff --git a/qtserialbus b/qtserialbus
-Subproject 673495d2eb1fe9cdf701351d75c2203c80ab6ba
+Subproject 52c3f5d96e4fc42d242017ff3dd1f865a08840b
diff --git a/qtserialport b/qtserialport
-Subproject 574098ec0d928d8eb02cf997318c0168952297e
+Subproject e06c8f943d6e8762c7345ca698b8889cd5daec7
diff --git a/qtshadertools b/qtshadertools
new file mode 160000
+Subproject 626be35fe558e5d5d8337cc64fc8a8854ec6eff
diff --git a/qtspeech b/qtspeech
-Subproject 7529a90059a72681ff106500ac64ce6c00e9b22
+Subproject 50e4b3f126cf8c8d085924ad253a2aefbeb04fc
diff --git a/qtsvg b/qtsvg
-Subproject 6292c75fb742f2877630ec22fb3a9b0d3afc9a9
+Subproject b5a9711109774baed6ea14079ff87802d191d2a
diff --git a/qttools b/qttools
-Subproject 1e2671435fb828f088e6ca034a8724991907389
+Subproject 70f1c85c0a60ac80f088abdff08edfa902cca38
diff --git a/qttranslations b/qttranslations
-Subproject ebd5ad86ac35fc27e58489d1389abb6cacfb2b1
+Subproject 3190e96e5e182bee91b68a905bffbfe6f73595a
diff --git a/qtvirtualkeyboard b/qtvirtualkeyboard
-Subproject a826da7d9bee9bd96c84ceaba5f102f66fc538c
+Subproject 2b75c7fd4acb8354c1a8f29b0e564e95c9aa596
diff --git a/qtwayland b/qtwayland
-Subproject c1b65146f6b9ad98edea424742f759471275837
+Subproject 2c2763760bcdd8894cfe9d9a1c07f7b02269289
diff --git a/qtwebchannel b/qtwebchannel
-Subproject 1466130070922a6cc55c2a5b724311780a394a1
+Subproject 733ab7219390133a0cd6a22bfb6ff35eee15c6d
diff --git a/qtwebengine b/qtwebengine
-Subproject d9643a016abc743db1dd879e7622cd27f88ff39
+Subproject 967a54e1a87d2e65cb427e6bea1749fd48784f1
diff --git a/qtwebglplugin b/qtwebglplugin
-Subproject 10a64558ce927e2df0f2dfe7ff3d786d4737c06
+Subproject 531fb30d539f09003946ab768873ef87e6117fa
diff --git a/qtwebsockets b/qtwebsockets
-Subproject 30794c6737a1105bdcd840e41ff374ece3bc60e
+Subproject 3be45ae54e4e732280cd5c8d5690513dbec1ea9
diff --git a/qtwebview b/qtwebview
-Subproject 460ba5ff499b59904139bd6fd6ecf24d04e403f
+Subproject 6cf31ed99c78f838bcd49ebc6203c7a05754e9d
diff --git a/qtwinextras b/qtwinextras
deleted file mode 160000
-Subproject f68e98026f6e37cf5db51e24bc90d3cf9be9d14
diff --git a/qtx11extras b/qtx11extras
deleted file mode 160000
-Subproject 941623379f15db113551e7e887b0af58da17865
diff --git a/qtxmlpatterns b/qtxmlpatterns
-Subproject 25a313cc7af41c2c63231499c49cc1f3e382e01
+Subproject 05ab44484453673ee813bcac287fc9052ec9164
diff --git a/tests/manual/RunCMake/CMakeLists.txt b/tests/manual/RunCMake/CMakeLists.txt
new file mode 100644
index 00000000..f3ade5f8
--- /dev/null
+++ b/tests/manual/RunCMake/CMakeLists.txt
@@ -0,0 +1,12 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+cmake_minimum_required(VERSION 3.16)
+project(tst_run_cmake_tests)
+enable_testing()
+
+include("${CMAKE_CURRENT_SOURCE_DIR}/Common.cmake")
+
+add_RunCMake_test(InitRepository
+ -DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}
+)
diff --git a/tests/manual/RunCMake/Common.cmake b/tests/manual/RunCMake/Common.cmake
new file mode 100644
index 00000000..c4e782d7
--- /dev/null
+++ b/tests/manual/RunCMake/Common.cmake
@@ -0,0 +1,20 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+set(top_repo_dir_path "${CMAKE_CURRENT_LIST_DIR}/../../..")
+get_filename_component(top_repo_dir_path "${top_repo_dir_path}" ABSOLUTE)
+
+macro(qt_ir_setup_test_include_paths)
+ set(ir_script_path "${top_repo_dir_path}/cmake")
+ list(APPEND CMAKE_MODULE_PATH
+ "${ir_script_path}"
+ "${ir_script_path}/3rdparty/cmake"
+ )
+ include(QtIRHelpers)
+ qt_ir_include_all_helpers()
+endmacro()
+qt_ir_setup_test_include_paths()
+
+# Used by add_RunCMake_test
+set(CMAKE_CMAKE_COMMAND "${CMAKE_COMMAND}")
+set(_isMultiConfig FALSE)
diff --git a/tests/manual/RunCMake/InitRepository/0030_ir_qtsvg-stdout.txt b/tests/manual/RunCMake/InitRepository/0030_ir_qtsvg-stdout.txt
new file mode 100644
index 00000000..7e765d78
--- /dev/null
+++ b/tests/manual/RunCMake/InitRepository/0030_ir_qtsvg-stdout.txt
@@ -0,0 +1,13 @@
+\+ git submodule init qtsvg
+Submodule 'qtsvg' \(https://code.qt.io/qt/qtsvg.git\) registered for path 'qtsvg'
+\+ git config commit.template .+/tests/manual/RunCMake/build/tmp.+/qt6/.commit-template
+\+ git clone --no-checkout https://code.qt.io/qt/qtsvg.git qtsvg
+Cloning into 'qtsvg'...
+\+ git config commit.template .+/tests/manual/RunCMake/build/tmp.+/qt6/.commit-template
+\+ git config remote.gerrit.url ssh://codereview.qt-project.org/qt/qtsvg.git
+\+ git config remote.gerrit.fetch \+refs/heads/\*:refs/remotes/gerrit/\* /heads/
+\+ git submodule update --force --no-fetch
+Submodule path 'qtsvg': checked out '[0-9a-zA-Z]+'
+\+ git config remote.gerrit.url ssh://codereview.qt-project.org/qt/qt5
+\+ git config remote.gerrit.fetch \+refs/heads/\*:refs/remotes/gerrit/\* /heads/
+Warning: cannot find Git hooks, qtrepotools module might be absent
diff --git a/tests/manual/RunCMake/InitRepository/0040_ir_qtsvg_again-stdout.txt b/tests/manual/RunCMake/InitRepository/0040_ir_qtsvg_again-stdout.txt
new file mode 100644
index 00000000..f71f37ec
--- /dev/null
+++ b/tests/manual/RunCMake/InitRepository/0040_ir_qtsvg_again-stdout.txt
@@ -0,0 +1 @@
+Will not reinitialize already initialized repository \(use -f to force\)!
diff --git a/tests/manual/RunCMake/InitRepository/0050_ir_existing-stdout.txt b/tests/manual/RunCMake/InitRepository/0050_ir_existing-stdout.txt
new file mode 100644
index 00000000..ef0476a9
--- /dev/null
+++ b/tests/manual/RunCMake/InitRepository/0050_ir_existing-stdout.txt
@@ -0,0 +1,12 @@
+\+ git submodule init qtsvg
+\+ git config commit.template .+/tests/manual/RunCMake/build/tmp.+/qt6/.commit-template
+\+ git config remote.origin.url https://code.qt.io/qt/qtsvg.git
+\+ git fetch origin
+\+ git config commit.template .+/tests/manual/RunCMake/build/tmp.+/qt6/.commit-template
+\+ git config remote.gerrit.url ssh://codereview.qt-project.org/qt/qtsvg.git
+\+ git config remote.gerrit.fetch \+refs/heads/\*:refs/remotes/gerrit/\* /heads/
+\+ git submodule update --force --no-fetch
+Submodule path 'qtsvg': checked out '[0-9a-zA-Z]+'
+\+ git config remote.gerrit.url ssh://codereview.qt-project.org/qt/qt5
+\+ git config remote.gerrit.fetch \+refs/heads/\*:refs/remotes/gerrit/\* /heads/
+Warning: cannot find Git hooks, qtrepotools module might be absent
diff --git a/tests/manual/RunCMake/InitRepository/0060_ir_shadertools_and_svg-stdout.txt b/tests/manual/RunCMake/InitRepository/0060_ir_shadertools_and_svg-stdout.txt
new file mode 100644
index 00000000..8922dcdd
--- /dev/null
+++ b/tests/manual/RunCMake/InitRepository/0060_ir_shadertools_and_svg-stdout.txt
@@ -0,0 +1,19 @@
+\+ git submodule init qtshadertools qtsvg
+Submodule 'qtshadertools' \(https://code.qt.io/qt/qtshadertools.git\) registered for path 'qtshadertools'
+\+ git config commit.template .+/tests/manual/RunCMake/build/tmp.+/qt6/.commit-template
+\+ git clone --no-checkout https://code.qt.io/qt/qtshadertools.git qtshadertools
+Cloning into 'qtshadertools'...
+\+ git config commit.template .+/tests/manual/RunCMake/build/tmp.+/qt6/.commit-template
+\+ git config remote.gerrit.url ssh://codereview.qt-project.org/qt/qtshadertools.git
+\+ git config remote.gerrit.fetch \+refs/heads/\*:refs/remotes/gerrit/\* /heads/
+\+ git config remote.origin.url https://code.qt.io/qt/qtsvg.git
+\+ git fetch origin
+\+ git config commit.template .+/tests/manual/RunCMake/build/tmp.+/qt6/.commit-template
+\+ git config remote.gerrit.url ssh://codereview.qt-project.org/qt/qtsvg.git
+\+ git config remote.gerrit.fetch \+refs/heads/\*:refs/remotes/gerrit/\* /heads/
+\+ git submodule update --force --no-fetch
+Submodule path 'qtshadertools': checked out '[0-9a-zA-Z]+'
+Submodule path 'qtsvg': checked out '[0-9a-zA-Z]+'
+\+ git config remote.gerrit.url ssh://codereview.qt-project.org/qt/qt5
+\+ git config remote.gerrit.fetch \+refs/heads/\*:refs/remotes/gerrit/\* /heads/
+Warning: cannot find Git hooks, qtrepotools module might be absent
diff --git a/tests/manual/RunCMake/InitRepository/0070_ir_qttools_with_deps-stdout.txt b/tests/manual/RunCMake/InitRepository/0070_ir_qttools_with_deps-stdout.txt
new file mode 100644
index 00000000..2db90337
--- /dev/null
+++ b/tests/manual/RunCMake/InitRepository/0070_ir_qttools_with_deps-stdout.txt
@@ -0,0 +1,44 @@
+\+ git submodule init qtshadertools qtsvg qtactiveqt qttools
+Submodule 'qtactiveqt' \(https://code.qt.io/qt/qtactiveqt.git\) registered for path 'qtactiveqt'
+Submodule 'qttools' \(https://code.qt.io/qt/qttools.git\) registered for path 'qttools'
+\+ git config commit.template .+/tests/manual/RunCMake/build/tmp.+/qt6/.commit-template
+\+ git config remote.origin.url https://code.qt.io/qt/qtshadertools.git
+\+ git fetch origin
+\+ git config commit.template .+/tests/manual/RunCMake/build/tmp.+/qt6/.commit-template
+\+ git config remote.gerrit.url ssh://codereview.qt-project.org/qt/qtshadertools.git
+\+ git config remote.gerrit.fetch \+refs/heads/\*:refs/remotes/gerrit/\* /heads/
+\+ git config remote.origin.url https://code.qt.io/qt/qtsvg.git
+\+ git fetch origin
+\+ git config commit.template .+/tests/manual/RunCMake/build/tmp.+/qt6/.commit-template
+\+ git config remote.gerrit.url ssh://codereview.qt-project.org/qt/qtsvg.git
+\+ git config remote.gerrit.fetch \+refs/heads/\*:refs/remotes/gerrit/\* /heads/
+\+ git clone --no-checkout https://code.qt.io/qt/qtactiveqt.git qtactiveqt
+Cloning into 'qtactiveqt'...
+\+ git config commit.template .+/tests/manual/RunCMake/build/tmp.+/qt6/.commit-template
+\+ git config remote.gerrit.url ssh://codereview.qt-project.org/qt/qtactiveqt.git
+\+ git config remote.gerrit.fetch \+refs/heads/\*:refs/remotes/gerrit/\* /heads/
+\+ git clone --no-checkout https://code.qt.io/qt/qttools.git qttools
+Cloning into 'qttools'...
+\+ git config commit.template .+/tests/manual/RunCMake/build/tmp.+/qt6/.commit-template
+\+ git config remote.gerrit.url ssh://codereview.qt-project.org/qt/qttools.git
+\+ git config remote.gerrit.fetch \+refs/heads/\*:refs/remotes/gerrit/\* /heads/
+\+ git submodule update --force --no-fetch
+Submodule path 'qtactiveqt': checked out '[0-9a-zA-Z]+'
+Submodule path 'qtshadertools': checked out '[0-9a-zA-Z]+'
+Submodule path 'qtsvg': checked out '[0-9a-zA-Z]+'
+Submodule path 'qttools': checked out '[0-9a-zA-Z]+'
+\+ git submodule init src/assistant/qlitehtml
+Submodule 'src/assistant/qlitehtml' \(https://code.qt.io/playground/qlitehtml.git\) registered for path 'src/assistant/qlitehtml'
+\+ git clone --no-checkout https://code.qt.io/playground/qlitehtml.git src/assistant/qlitehtml
+Cloning into 'src/assistant/qlitehtml'...
+\+ git submodule update --force --no-fetch
+Submodule path 'src/assistant/qlitehtml': checked out '[0-9a-zA-Z]+'
+\+ git submodule init src/3rdparty/litehtml
+Submodule 'src/3rdparty/litehtml' \(https://github.com/litehtml/litehtml.git\) registered for path 'src/3rdparty/litehtml'
+\+ git clone --no-checkout https://github.com/litehtml/litehtml.git src/3rdparty/litehtml
+Cloning into 'src/3rdparty/litehtml'...
+\+ git submodule update --force --no-fetch
+Submodule path 'src/3rdparty/litehtml': checked out '[0-9a-zA-Z]+'
+\+ git config remote.gerrit.url ssh://codereview.qt-project.org/qt/qt5
+\+ git config remote.gerrit.fetch \+refs/heads/\*:refs/remotes/gerrit/\* /heads/
+Warning: cannot find Git hooks, qtrepotools module might be absent
diff --git a/tests/manual/RunCMake/InitRepository/RunCMakeTest.cmake b/tests/manual/RunCMake/InitRepository/RunCMakeTest.cmake
new file mode 100644
index 00000000..a83b192e
--- /dev/null
+++ b/tests/manual/RunCMake/InitRepository/RunCMakeTest.cmake
@@ -0,0 +1,153 @@
+# Copyright (C) 2024 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+cmake_minimum_required(VERSION 3.16)
+include("${CMAKE_CURRENT_SOURCE_DIR}/../Common.cmake")
+
+# The file is included separately from Common.cmake because it has side-effects
+# that we want to apply only in the RunCMake part of the test.
+include(QtIRRunCMake)
+
+# Uses prefix set from outside scope.
+function(run_suite_command name)
+ run_cmake_command(${prefix}_${name} ${ARGN})
+endfunction()
+
+macro(read_expected_output test file_name)
+ set(expect "")
+ set(expect_path "${RunCMake_SOURCE_DIR}/${file_name}-stdout.txt")
+ if(EXISTS "${expect_path}")
+ file(READ "${expect_path}" expect)
+ endif()
+
+ if(NOT expect)
+ message(FATAL_ERROR "No expected output for test ${file_name}. "
+ "Make sure to add a ${file_name}-stdout.txt file.")
+ endif()
+
+ set(RunCMake_TEST_EXPECT_stdout "${expect}")
+endmacro()
+
+function(run_suite_test test_name)
+ set(options "ONLY_CMAKE")
+ set(oneValueArgs "EXPECT_NAME")
+ set(multiValueArgs "COMMAND_ARGS")
+ cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ if(prefix STREQUAL "perl" AND arg_ONLY_CMAKE)
+ return()
+ endif()
+
+ if(arg_EXPECT_NAME)
+ set(expect_name "${arg_EXPECT_NAME}")
+ else()
+ set(expect_name "${test_name}")
+ endif()
+
+ read_expected_output(${test_name} ${expect_name})
+ run_suite_command(${test_name} ${arg_COMMAND_ARGS})
+endfunction()
+
+function(run_suite)
+ set(options
+ USE_PERL_SCRIPT
+ )
+ set(oneValueArgs "")
+ set(multiValueArgs "")
+ cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+ if(arg_USE_PERL_SCRIPT)
+ set(use_perl_script TRUE)
+ set(prefix "perl")
+ set(extra_ir_args "")
+ else()
+ set(use_perl_script FALSE)
+ set(prefix "cmake")
+ # When testing the cmake script, we don't want to resolve deps by default and
+ # we want output to be the same as the one shown by the perl script.
+ set(extra_ir_args "--no-resolve-deps" "--perl-identical-output")
+ endif()
+
+ # Set in Common.cmake
+ set(local_clone_url "${top_repo_dir_path}")
+
+ # Path to temp qt6 dir based on script used.
+ set(tmp_path "${CMAKE_CURRENT_SOURCE_DIR}/tmp_${prefix}")
+ set(qt6_repo_dir "${tmp_path}/qt6")
+
+ # Path to init-repository script
+ set(init_repository_script_path "${qt6_repo_dir}/init-repository")
+ if(use_perl_script)
+ string(APPEND init_repository_script_path ".pl")
+
+ # Need to call perl explicitly, especially on Windows
+ list(PREPEND init_repository_script_path perl)
+ elseif(CMAKE_HOST_WIN32)
+ string(APPEND init_repository_script_path ".bat")
+ endif()
+
+ # Clean up the temp qt6 repo dir.
+ file(REMOVE_RECURSE "${qt6_repo_dir}")
+ file(REMOVE_RECURSE "${tmp_path}")
+ file(MAKE_DIRECTORY "${tmp_path}")
+ set(RunCMake_TEST_COMMAND_WORKING_DIRECTORY "${tmp_path}")
+
+ # Make a copy of the qt6 repo
+ run_suite_command(0010_prepare_qt6_clone git clone "${local_clone_url}" qt6 --quiet)
+ set(RunCMake_TEST_COMMAND_WORKING_DIRECTORY "${qt6_repo_dir}")
+
+ # Adjust its remote url to be the official mirror rather the local url.
+ set(remote_clone_url "https://code.qt.io/qt/qt5.git")
+ run_suite_command(0020_set_qt6_remote_url git remote set-url origin "${remote_clone_url}")
+
+ # Ignore certain lines
+ set(RunCMake_TEST_EXTRA_IGNORE_LINE_REGEX
+ "|Trace will be written to"
+ "|Put cmake in trace mode, but with variables expanded"
+ "|Put cmake in trace mode and redirect trace output"
+ )
+
+ # Merge stdout with stderr, otherwise we can't test for the same output across script
+ # implementations, because CMake has no easy way to control with output stream
+ # should be used.
+ set(RunCMake_TEST_OUTPUT_MERGE TRUE)
+
+ # Initialize just qtsvg
+ run_suite_test(0030_ir_qtsvg
+ COMMAND_ARGS ${init_repository_script_path} --module-subset=qtsvg ${extra_ir_args})
+
+ # Asking to do it again will refuse to do it, unless forced, because the repo has already been
+ # initialized. Only do this check for cmake, because the perl script checks for initialization
+ # if qtbase is initialized, and we don't want to test that because cloning qtbase just for the
+ # test is too slow.
+ run_suite_test(0040_ir_qtsvg_again
+ ONLY_CMAKE
+ COMMAND_ARGS ${init_repository_script_path} --module-subset=qtsvg ${extra_ir_args})
+
+ # Configuring without a module-subset will initialize qtsvg again, because the new behavior
+ # of the cmake script is to initialize previously existing submodules, rather than all of them.
+ run_suite_test(0050_ir_existing
+ ONLY_CMAKE
+ COMMAND_ARGS ${init_repository_script_path} -f ${extra_ir_args})
+
+ # Initialize more than one submodule, choosing the smaller ones, for faster cloning.
+ run_suite_test(0060_ir_shadertools_and_svg
+ COMMAND_ARGS ${init_repository_script_path}
+ --module-subset=qtshadertools,qtsvg -f
+ ${extra_ir_args})
+
+ # Initialize qttools with dependencies, but without qtbase and qtdeclarative.
+ # This should also clone qtactiveqt.
+ list(REMOVE_ITEM extra_ir_args "--no-resolve-deps")
+ run_suite_test(0070_ir_qttools_with_deps
+ ONLY_CMAKE
+ COMMAND_ARGS ${init_repository_script_path}
+ --module-subset=qttools,-qtbase,-qtdeclarative,-qtimageformats,-qtlanguageserver -f
+ ${extra_ir_args})
+
+ # Unset the working dir for further tests.
+ unset(RunCMake_TEST_COMMAND_WORKING_DIRECTORY)
+endfunction()
+
+run_suite()
+run_suite(USE_PERL_SCRIPT)