mirror of
git://code.qt.io/qt/qt5.git
synced 2026-01-10 17:06:35 +08:00
Add Red Hat 9.4 with non-blocking tests in CI
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]
Adapted for 6.8:
* remove install-firebird.sh, which is only in dev
* remove 90-install-oracle.sh, which is only in dev
Task-number: QTQAINFRA-6362
Change-Id: I92c10a15346e7bd0c0190a8d6a6513cf6143d2a8
(cherry picked from commit ee8ee93d91)
Reviewed-by: Tim Blechmann <tim.blechmann@qt.io>
This commit is contained in:
committed by
Tim Blechmann
parent
d7c80e60f7
commit
4ae967a5f9
@@ -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'
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -12,3 +12,14 @@ 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'
|
||||
]
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "ETHTOOL_OPTS='-K \${DEVICE} tso off'" | sudo tee -a /etc/sysconfig/network-scripts/ifcfg-Wired_connection_1
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
"$(dirname "$0")"/../common/unix/telegraf_install.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
|
||||
@@ -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"
|
||||
|
||||
|
||||
@@ -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"
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
15
coin/provisioning/qtci-linux-RHEL-9.4-x86_64/04-p7zip.sh
Normal file
15
coin/provisioning/qtci-linux-RHEL-9.4-x86_64/04-p7zip.sh
Normal file
@@ -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
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
source "${BASH_SOURCE%/*}/../common/linux/sccache.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"
|
||||
8
coin/provisioning/qtci-linux-RHEL-9.4-x86_64/30-fbx.sh
Normal file
8
coin/provisioning/qtci-linux-RHEL-9.4-x86_64/30-fbx.sh
Normal file
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/install-vcpkg.sh"
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
|
||||
BASEDIR=$(dirname "$0")
|
||||
"$BASEDIR/../common/linux/install-vcpkg-ports.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"
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
@@ -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"
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh"
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
|
||||
8
coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-mimer.sh
Normal file
8
coin/provisioning/qtci-linux-RHEL-9.4-x86_64/90-mimer.sh
Normal file
@@ -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"
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
17
coin/provisioning/qtci-linux-RHEL-9.4-x86_64/99-version.sh
Normal file
17
coin/provisioning/qtci-linux-RHEL-9.4-x86_64/99-version.sh
Normal file
@@ -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"
|
||||
Reference in New Issue
Block a user