From ee8ee93d91c7c5600a87ce0abac35efe3aa10575 Mon Sep 17 00:00:00 2001 From: Elias Toivola Date: Wed, 2 Oct 2024 15:17:46 +0300 Subject: [PATCH] Add Red Hat 9.4 with non-blocking tests in CI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit RHEL-9.4 will be run in parallel with RHEL-9.2 with insignificant tests until RHEL-9.4 is confirmed stable, then it will replace RHEL-9.2. [CI Platforms] Pick-to: 6.8 Task-number: QTQAINFRA-6362 Change-Id: I92c10a15346e7bd0c0190a8d6a6513cf6143d2a8 Reviewed-by: Simo Fält Reviewed-by: Tero Heikkinen --- coin/platform_configs/cmake_platforms.yaml | 10 + coin/platform_configs/qmake2cmake.yaml | 4 + .../qtbase-new-compiler-testing.yaml | 11 + .../01-disable-automounting.sh | 13 ++ .../README_MANUAL_INSTALLATIONS | 54 +++++ .../01-disable_net_lso.sh | 3 + .../01-install_telegraf.sh | 3 + .../01-refresh-subscription-manager.sh | 18 ++ .../01-remove_network_manager_secret_key.sh | 11 + .../01-set-ulimit.sh | 8 + .../01-systemsetup.sh | 31 +++ .../02-install-xcb_util_cursor.sh | 10 + .../03-enable-repos.sh | 34 +++ .../04-install-packages.sh | 204 ++++++++++++++++++ .../qtci-linux-RHEL-9.4-x86_64/04-p7zip.sh | 15 ++ .../05-install-ninja.sh | 8 + .../05-install-patchelf.sh | 5 + .../05-libclang-v100-dyn.sh | 8 + .../qtci-linux-RHEL-9.4-x86_64/05-libclang.sh | 8 + .../05-mount-vcpkg-cache-drive.sh | 8 + .../09-disable_selinux.sh | 8 + .../qtci-linux-RHEL-9.4-x86_64/20-sccache.sh | 3 + .../22-mqtt_broker.sh | 6 + .../qtci-linux-RHEL-9.4-x86_64/30-fbx.sh | 8 + .../30-install-conan.sh | 8 + .../30-install-git.sh | 8 + .../30-install_icu.sh | 45 ++++ .../35-install-breakpad.sh | 8 + .../40-android_linux.sh | 8 + .../40-install-cmake.sh | 12 ++ .../41-install-golang.sh | 7 + .../41-install-upx.sh | 7 + .../41-install-vcpkg.sh | 6 + .../42-install-vcpkg-ports.sh | 6 + .../50-openssl_for_android_linux.sh | 7 + .../60-install_protobuf.sh | 9 + .../61-install_grpc.sh | 9 + .../70-install_QemuGA.sh | 10 + .../70-install_dwz.sh | 11 + .../90-bootstrap-autostart.sh | 3 + .../qtci-linux-RHEL-9.4-x86_64/90-firebird.sh | 8 + .../90-install-ffmpeg.sh | 3 + .../90-install-oracle.sh | 8 + .../qtci-linux-RHEL-9.4-x86_64/90-mimer.sh | 8 + .../qtci-linux-RHEL-9.4-x86_64/90-squish.sh | 6 + .../qtci-linux-RHEL-9.4-x86_64/99-cleanup.sh | 7 + .../99-enable_test_stacktraces.sh | 8 + .../qtci-linux-RHEL-9.4-x86_64/99-version.sh | 17 ++ 48 files changed, 720 insertions(+) create mode 100644 coin/pre-provisioning/qtci-linux-RHEL-9.4-x86_64/01-disable-automounting.sh create mode 100644 coin/pre-provisioning/qtci-linux-RHEL-9.4-x86_64/README_MANUAL_INSTALLATIONS create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/01-disable_net_lso.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/01-install_telegraf.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/01-refresh-subscription-manager.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/01-remove_network_manager_secret_key.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/01-set-ulimit.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/01-systemsetup.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/02-install-xcb_util_cursor.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/03-enable-repos.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/04-install-packages.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/04-p7zip.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/05-install-ninja.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/05-install-patchelf.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/05-libclang-v100-dyn.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/05-libclang.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/05-mount-vcpkg-cache-drive.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/09-disable_selinux.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/20-sccache.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/22-mqtt_broker.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/30-fbx.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/30-install-conan.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/30-install-git.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/30-install_icu.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/35-install-breakpad.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/40-android_linux.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/40-install-cmake.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/41-install-golang.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/41-install-upx.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/41-install-vcpkg.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/42-install-vcpkg-ports.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/50-openssl_for_android_linux.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/60-install_protobuf.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/61-install_grpc.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/70-install_QemuGA.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/70-install_dwz.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-bootstrap-autostart.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-firebird.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-install-ffmpeg.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-install-oracle.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-mimer.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-squish.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/99-cleanup.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/99-enable_test_stacktraces.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-9.4-x86_64/99-version.sh diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml index 165d4699..182cac13 100644 --- a/coin/platform_configs/cmake_platforms.yaml +++ b/coin/platform_configs/cmake_platforms.yaml @@ -212,6 +212,16 @@ Configurations: 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY', 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON' ] +- + Id: 'rhel-9.4' + Template: 'qtci-linux-RHEL-9.4-x86_64-50' + Compiler: 'GCC' + Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'GenerateSBOM', 'VerifySBOM', 'InsignificantTests'] + 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}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON' + ] - Id: 'ios-universal' Template: 'qtci-macos-14-arm-106' diff --git a/coin/platform_configs/qmake2cmake.yaml b/coin/platform_configs/qmake2cmake.yaml index ac119063..82674ec9 100644 --- a/coin/platform_configs/qmake2cmake.yaml +++ b/coin/platform_configs/qmake2cmake.yaml @@ -13,6 +13,10 @@ Configurations: Template: 'qtci-linux-RHEL-9.2-x86_64-51' Compiler: 'GCC' Features: ['DisableTests'] +- + Template: 'qtci-linux-RHEL-9.4-x86_64-50' + Compiler: 'GCC' + Features: ['DisableTests'] - Template: 'qtci-linux-Ubuntu-22.04-x86_64-51' Compiler: 'GCC' diff --git a/coin/platform_configs/qtbase-new-compiler-testing.yaml b/coin/platform_configs/qtbase-new-compiler-testing.yaml index 027aff07..cd8f96bd 100644 --- a/coin/platform_configs/qtbase-new-compiler-testing.yaml +++ b/coin/platform_configs/qtbase-new-compiler-testing.yaml @@ -12,6 +12,17 @@ Configurations: 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY', 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DINPUT_headersclean=ON' ] +- + Id: 'rhel-9.4-gcc12' + Template: 'qtci-linux-RHEL-9.4-x86_64-50' + Compiler: 'GCC' + Features: ['Sccache', 'UseConfigure', 'InstallQt5Dependencies', 'DoNotRunTests', 'InsignificantTests'] + 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' + ] # Test gcc-14 on Ubuntu 24.04 ARM64 Wayland - Id: 'ubuntu-24.04-arm64-gcc14' diff --git a/coin/pre-provisioning/qtci-linux-RHEL-9.4-x86_64/01-disable-automounting.sh b/coin/pre-provisioning/qtci-linux-RHEL-9.4-x86_64/01-disable-automounting.sh new file mode 100644 index 00000000..a99e64a7 --- /dev/null +++ b/coin/pre-provisioning/qtci-linux-RHEL-9.4-x86_64/01-disable-automounting.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 + +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.4-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-RHEL-9.4-x86_64/README_MANUAL_INSTALLATIONS new file mode 100644 index 00000000..71eff051 --- /dev/null +++ b/coin/pre-provisioning/qtci-linux-RHEL-9.4-x86_64/README_MANUAL_INSTALLATIONS @@ -0,0 +1,54 @@ +### RHEL 9.4 ### +Hard Disk: 500G +Network: CI +Video Card: Total Video Memory: 64MB +Boot options/Firmware: BIOS +Language: English (United States) +Keyboard: English (US), Norwegian (Windows), Finnish (Windows) +Time & Date: Etc/Coordinated Universal Time +Software Selection: Server with GUI +Installation Destination: Automatic partitioning selected +Root Passowrd: Set +Network & Host..: Connected +KDUMP enabled: Memory Reservation: automatic +Begin Installation +Reboot +# Configure Settings + Notifications: + * Lock Screen Notifications: OFF + * Applications: Set notification off + * Do Not Disturb: on + 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 +This is done when the VM is launched as persistent in OpenNebula. +# 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/provisioning/qtci-linux-RHEL-9.4-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/01-disable_net_lso.sh new file mode 100644 index 00000000..4da6aaaa --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.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-9.4-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/01-install_telegraf.sh new file mode 100644 index 00000000..729f9003 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.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-9.4-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/01-refresh-subscription-manager.sh new file mode 100644 index 00000000..51417f1b --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.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-9.4-x86_64/01-remove_network_manager_secret_key.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/01-remove_network_manager_secret_key.sh new file mode 100644 index 00000000..7f9790ae --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.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-9.4-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/01-set-ulimit.sh new file mode 100644 index 00000000..e951e82a --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.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-9.4-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/01-systemsetup.sh new file mode 100644 index 00000000..fbd00eef --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.4-x86_64/02-install-xcb_util_cursor.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/02-install-xcb_util_cursor.sh new file mode 100644 index 00000000..353297db --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.4-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/03-enable-repos.sh new file mode 100644 index 00000000..30f07320 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.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-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.4-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/04-install-packages.sh new file mode 100644 index 00000000..dd5c6fbf --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/04-install-packages.sh @@ -0,0 +1,204 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 The Qt Company 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) +installPackages+=(libzstd-devel) +# 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) +# pipewire for QtMultimedia +installPackages+=(pipewire-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) +# password management support for Qt Creator +installPackages+=(libsecret-devel) +# For Firebird in RTA +installPackages+=(libtommath-devel) + +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 python -m pip install -r "${BASH_SOURCE%/*}/../common/shared/sbom_requirements.txt" + +sudo /usr/bin/pip3 install wheel +sudo /usr/bin/pip3 install -r "${BASH_SOURCE%/*}/../common/shared/sbom_requirements.txt" + +# Provisioning during installation says: +# 'The script sbom2doc is installed in '/usr/local/bin' which is not on PATH.' +# hence the explicit assignment to SBOM_PYTHON_APPS_PATH. +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +SetEnvVar "SBOM_PYTHON_APPS_PATH" "/usr/local/bin" + +# 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.4-x86_64/04-p7zip.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/04-p7zip.sh new file mode 100644 index 00000000..f1035285 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.4-x86_64/05-install-ninja.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/05-install-ninja.sh new file mode 100644 index 00000000..adbb6349 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/05-install-ninja.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-ninja.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/05-install-patchelf.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/05-install-patchelf.sh new file mode 100644 index 00000000..495e3d4a --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/05-install-patchelf.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +# Copyright (C) 2024 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +source "${BASH_SOURCE%/*}/../common/unix/install-patchelf.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/05-libclang-v100-dyn.sh new file mode 100644 index 00000000..2e08049d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.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-9.4-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/05-libclang.sh new file mode 100644 index 00000000..cc68ed1f --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.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-9.4-x86_64/05-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/05-mount-vcpkg-cache-drive.sh new file mode 100644 index 00000000..ed49b3a5 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.4-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/09-disable_selinux.sh new file mode 100644 index 00000000..d044472b --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.4-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/20-sccache.sh new file mode 100644 index 00000000..b371d947 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.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-9.4-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/22-mqtt_broker.sh new file mode 100644 index 00000000..bb69e88a --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.4-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/30-fbx.sh new file mode 100644 index 00000000..16a9bda8 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.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-9.4-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/30-install-conan.sh new file mode 100644 index 00000000..67a4f911 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.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-9.4-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/30-install-git.sh new file mode 100644 index 00000000..7a73f354 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.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-9.4-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/30-install_icu.sh new file mode 100644 index 00000000..8d365c9d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.4-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/35-install-breakpad.sh new file mode 100644 index 00000000..8a9dde56 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.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-9.4-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/40-android_linux.sh new file mode 100644 index 00000000..877dfd08 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.4-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/40-install-cmake.sh new file mode 100644 index 00000000..155f6b7d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.4-x86_64/41-install-golang.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/41-install-golang.sh new file mode 100644 index 00000000..6b72bc47 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/41-install-golang.sh @@ -0,0 +1,7 @@ +#!/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/linux/install-golang.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/41-install-upx.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/41-install-upx.sh new file mode 100644 index 00000000..0bccc01e --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/41-install-upx.sh @@ -0,0 +1,7 @@ +#!/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/linux/install-upx.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/41-install-vcpkg.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/41-install-vcpkg.sh new file mode 100644 index 00000000..aa88364d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.4-x86_64/42-install-vcpkg-ports.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/42-install-vcpkg-ports.sh new file mode 100644 index 00000000..71a46f9a --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.4-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/50-openssl_for_android_linux.sh new file mode 100644 index 00000000..a71ba0a7 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.4-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/60-install_protobuf.sh new file mode 100644 index 00000000..b0761374 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.4-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/61-install_grpc.sh new file mode 100644 index 00000000..3d14832d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.4-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/70-install_QemuGA.sh new file mode 100644 index 00000000..dbaed25d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.4-x86_64/70-install_dwz.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/70-install_dwz.sh new file mode 100644 index 00000000..518c5533 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/70-install_dwz.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +# Copyright (C) 2023 Konstantin Tokarev +# 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.4-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-bootstrap-autostart.sh new file mode 100644 index 00000000..1ff43850 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.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-9.4-x86_64/90-firebird.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-firebird.sh new file mode 100644 index 00000000..c817fefd --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-firebird.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/install-firebird.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-install-ffmpeg.sh new file mode 100644 index 00000000..61da9b7b --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.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-RHEL-9.4-x86_64/90-install-oracle.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-install-oracle.sh new file mode 100644 index 00000000..7dd380bf --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-install-oracle.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/install-oracle.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-mimer.sh new file mode 100644 index 00000000..4683452a --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.4-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-squish.sh new file mode 100644 index 00000000..f803ccc1 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.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-9.4-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/99-cleanup.sh new file mode 100644 index 00000000..dd268210 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.4-x86_64/99-enable_test_stacktraces.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/99-enable_test_stacktraces.sh new file mode 100644 index 00000000..600b7850 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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.4-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-9.4-x86_64/99-version.sh new file mode 100644 index 00000000..b12622c6 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-9.4-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"