diff options
Diffstat (limited to 'coin/provisioning/qtci-linux-RHEL-9.2-x86_64')
37 files changed, 570 insertions, 0 deletions
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/02-install-xcb_util_cursor.sh b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/02-install-xcb_util_cursor.sh new file mode 100755 index 00000000..353297db --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/02-install-xcb_util_cursor.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# Install xcb-util-cursor* libraries before updating repos. In updated repos these libraries are no longer available. +# QTQAINFRA-6325 +sudo yum -y install xcb-util-cursor +sudo yum -y install xcb-util-cursor-devel diff --git a/coin/provisioning/qtci-linux-RHEL-9.2-x86_64/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..279d66a5 --- /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-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) +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" |