aboutsummaryrefslogtreecommitdiffstats
path: root/coin/provisioning/qtci-linux-RHEL-9.0-x86_64
diff options
context:
space:
mode:
Diffstat (limited to 'coin/provisioning/qtci-linux-RHEL-9.0-x86_64')
-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
33 files changed, 517 insertions, 0 deletions
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..79c3476a
--- /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-17-openjdk-devel-17.0.9.0.9)
+# 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"