From 5cca2b7ba4eaff6971b0e978f44edc238607fb55 Mon Sep 17 00:00:00 2001 From: Tero Heikkinen Date: Fri, 26 May 2023 19:40:16 +0300 Subject: [PATCH] Add Red Hat 8.8 to CI RHEL 8.8 will be added as parallel with RHEL 8.6 until packaging site gives green light to remove the older Red Hat version. Removing also some obsolete package installations. Task-number: QTQAINFRA-5600 Change-Id: Ie77500a805a89db9019b5347539e662bc016af59 Reviewed-by: Qt CI Bot Reviewed-by: Jukka Jokiniva --- coin/platform_configs/cmake_platforms.yaml | 10 ++ .../cmake_platforms_target_android.yaml | 32 ++++ coin/platform_configs/flashing-wizard.yaml | 5 + .../linux_android_tests_developer.yaml | 14 ++ .../linux_android_tests_multi_abi.yaml | 24 +++ coin/platform_configs/qt-creator.yaml | 6 + coin/platform_configs/qtsaferenderer.yaml | 9 + .../tqtc-android-automotive.yaml | 16 ++ .../README_MANUAL_INSTALLATIONS | 62 +++++++ .../01-disable-automounting.sh | 15 ++ .../01-disable_net_lso.sh | 3 + .../01-install_telegraf.sh | 3 + .../01-refresh-subscription-manager.sh | 18 ++ .../01-remove_network_manager_secret_key.sh | 9 + .../01-remove_stable-privacy.sh | 8 + .../01-set-ulimit.sh | 6 + .../01-systemsetup.sh | 29 ++++ .../03-enable-repos.sh | 25 +++ .../03-install-gcc-toolset.sh | 10 ++ .../04-install-packages.sh | 160 ++++++++++++++++++ .../qtci-linux-RHEL-8.8-x86_64/04-p7zip.sh | 17 ++ .../05-libclang-v100-dyn.sh | 6 + .../qtci-linux-RHEL-8.8-x86_64/05-libclang.sh | 6 + .../09-disable_selinux.sh | 9 + .../qtci-linux-RHEL-8.8-x86_64/09-openssl.sh | 8 + .../qtci-linux-RHEL-8.8-x86_64/20-sccache.sh | 3 + .../22-mqtt_broker.sh | 7 + .../qtci-linux-RHEL-8.8-x86_64/30-fbx.sh | 6 + .../30-install-conan.sh | 6 + .../30-install-git.sh | 6 + .../30-install_icu.sh | 46 +++++ .../35-install-breakpad.sh | 6 + .../40-android_linux.sh | 9 + .../40-install-cmake.sh | 13 ++ .../50-openssl_for_android_linux.sh | 9 + .../60-install_protobuf.sh | 10 ++ .../61-install_grpc.sh | 10 ++ .../70-install_QemuGA.sh | 11 ++ .../70-install_dwz.sh | 12 ++ .../90-bootstrap-autostart.sh | 3 + .../90-install-ffmpeg.sh | 4 + .../qtci-linux-RHEL-8.8-x86_64/90-squish.sh | 4 + .../qtci-linux-RHEL-8.8-x86_64/99-cleanup.sh | 8 + .../qtci-linux-RHEL-8.8-x86_64/99-version.sh | 18 ++ 44 files changed, 701 insertions(+) create mode 100644 coin/pre-provisioning/qtci-linux-RHEL-8.8-x86_64/README_MANUAL_INSTALLATIONS create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable-automounting.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable_net_lso.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-install_telegraf.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-refresh-subscription-manager.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_network_manager_secret_key.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_stable-privacy.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-set-ulimit.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-systemsetup.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-enable-repos.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-install-gcc-toolset.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-p7zip.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang-v100-dyn.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-disable_selinux.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-openssl.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/20-sccache.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/22-mqtt_broker.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-fbx.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-conan.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-git.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install_icu.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/35-install-breakpad.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-android_linux.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-install-cmake.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/50-openssl_for_android_linux.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/60-install_protobuf.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/61-install_grpc.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_QemuGA.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_dwz.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-bootstrap-autostart.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-squish.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-cleanup.sh create mode 100644 coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-version.sh diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml index 5128e3ac..ede5a0a3 100644 --- a/coin/platform_configs/cmake_platforms.yaml +++ b/coin/platform_configs/cmake_platforms.yaml @@ -174,6 +174,16 @@ Configurations: 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}', 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}' ] +- + Id: 'rhel-8.8' + Template: 'qtci-linux-RHEL-8.8-x86_64-50' + Compiler: 'GCC' + Features: ['Packaging', 'Sccache', 'UseConfigure', 'InstallQt5Dependencies'] + Configure arguments: '-nomake examples -release -force-debug-info -headersclean -separate-debug-info -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput' + Environment variables: [ + 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}', + 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}' + ] - Id: 'rhel-9.0' Template: 'qtci-linux-RHEL-9.0-x86_64-50' diff --git a/coin/platform_configs/cmake_platforms_target_android.yaml b/coin/platform_configs/cmake_platforms_target_android.yaml index 74629e4e..d9e08e96 100644 --- a/coin/platform_configs/cmake_platforms_target_android.yaml +++ b/coin/platform_configs/cmake_platforms_target_android.yaml @@ -47,6 +47,22 @@ Configurations: 'ANDROID_EMULATOR=@emulator_x86_api_23', 'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}' ] +- + Id: 'android-6-RHEL-8.8-x86-on-linux' + Template: 'qtci-linux-RHEL-8.8-x86_64-50' + Target os: 'Android_ANY' + Target arch: 'x86' + Compiler: 'GCC' + Target compiler: 'Clang' + Platform dependency: 'rhel-8.8' + Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure'] + Environment variables: [ + 'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86', + 'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON', + 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86}}', + 'ANDROID_EMULATOR=@emulator_x86_api_23', + 'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}' + ] - Id: 'android-13-x86_64-on-linux' Template: 'qtci-linux-RHEL-8.6-x86_64-50' @@ -63,3 +79,19 @@ Configurations: 'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}', 'ANDROID_EMULATOR=@emulator_x86_64_api_33' ] +- + Id: 'android-13-RHEL-8.8-x86_64-on-linux' + Template: 'qtci-linux-RHEL-8.8-x86_64-50' + Target os: 'Android_ANY' + Target arch: 'x86_64' + Compiler: 'GCC' + Target compiler: 'Clang' + Platform dependency: 'rhel-8.8' + Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure'] + Environment variables: [ + 'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64', + 'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}} -DQT_GENERATE_WRAPPER_SCRIPTS_FOR_ALL_HOSTS=ON', + 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID_X86_64}}', + 'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}', + 'ANDROID_EMULATOR=@emulator_x86_64_api_33' + ] diff --git a/coin/platform_configs/flashing-wizard.yaml b/coin/platform_configs/flashing-wizard.yaml index 009aeb05..9d114372 100644 --- a/coin/platform_configs/flashing-wizard.yaml +++ b/coin/platform_configs/flashing-wizard.yaml @@ -28,6 +28,11 @@ Configurations: Compiler: 'GCC' Features: ['Packaging', 'UseLegacyInstructions'] Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -qt-xcb -sysconfdir /etc/xdg -qt-pcre -openssl -qt-harfbuzz QMAKE_LFLAGS_APP+=-s -static -no-icu' + - + Template: 'qtci-linux-RHEL-8.8-x86_64-50' + Compiler: 'GCC' + Features: ['Packaging', 'UseLegacyInstructions'] + Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -qt-xcb -sysconfdir /etc/xdg -qt-pcre -openssl -qt-harfbuzz QMAKE_LFLAGS_APP+=-s -static -no-icu' - Template: 'qtci-linux-Ubuntu-18.04-x86_64-50' Compiler: 'GCC' diff --git a/coin/platform_configs/linux_android_tests_developer.yaml b/coin/platform_configs/linux_android_tests_developer.yaml index f14dcad0..73ef4135 100644 --- a/coin/platform_configs/linux_android_tests_developer.yaml +++ b/coin/platform_configs/linux_android_tests_developer.yaml @@ -14,3 +14,17 @@ Configurations: 'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}}', 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}', 'ANDROID_EMULATOR=@emulator_x86_api_23'] +- + Id: 'android-x86-developer-build-testrun-on-linux' + Template: 'qtci-linux-RHEL-8.8-x86_64-50' + Target os: 'Android_ANY' + Target arch: 'x86' + Compiler: 'GCC' + Target compiler: 'Clang' + Platform dependency: 'rhel-8.8' + Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'UseConfigure'] + Environment variables: [ + 'TARGET_CONFIGURE_ARGS=-nomake examples -debug -developer-build -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86', + 'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}}', + 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}', + 'ANDROID_EMULATOR=@emulator_x86_api_23'] diff --git a/coin/platform_configs/linux_android_tests_multi_abi.yaml b/coin/platform_configs/linux_android_tests_multi_abi.yaml index 0c75b934..8fa4f43a 100644 --- a/coin/platform_configs/linux_android_tests_multi_abi.yaml +++ b/coin/platform_configs/linux_android_tests_multi_abi.yaml @@ -24,3 +24,27 @@ Configurations: 'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-13-x86_64-on-linux', 'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"' ] +- + Id: 'rhel_8.8_android_multi' + Template: 'qtci-linux-RHEL-8.8-x86_64-50' + Target os: 'Android_ANY' + Target arch: 'multi' + Compiler: 'GCC' + Target compiler: 'Clang' + Platform dependency: [ + 'rhel-8.8', + 'android-6-RHEL-8.8-x86-on-linux', + 'android-13-RHEL-8.8-x86_64-on-linux' + ] + Features: [ + 'Sccache', + 'AndroidTestRun', + 'MinimalAndroidMultiABITests', + 'InstallDepsPerPlatformSubdir' + ] + Environment variables: [ + 'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-8.8', + 'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-6-RHEL-8.8-x86-on-linux', + 'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-13-RHEL-8.8-x86_64-on-linux', + 'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"' + ] diff --git a/coin/platform_configs/qt-creator.yaml b/coin/platform_configs/qt-creator.yaml index 4f9204c0..35862a07 100644 --- a/coin/platform_configs/qt-creator.yaml +++ b/coin/platform_configs/qt-creator.yaml @@ -21,6 +21,12 @@ Configurations: Features: ['Packaging', 'Sccache', 'DebugAndRelease'] Configure arguments: '' Environment variables: [] +- + Template: 'qtci-linux-RHEL-8.8-x86_64-50' + Compiler: 'GCC' + Features: ['Packaging', 'Sccache', 'DebugAndRelease'] + Configure arguments: '' + Environment variables: [] - Template: 'qtci-linux-RHEL-9.0-x86_64-50' Compiler: 'GCC' diff --git a/coin/platform_configs/qtsaferenderer.yaml b/coin/platform_configs/qtsaferenderer.yaml index 1b636047..26950237 100644 --- a/coin/platform_configs/qtsaferenderer.yaml +++ b/coin/platform_configs/qtsaferenderer.yaml @@ -44,6 +44,15 @@ Configurations: Environment variables: [ 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY' ] +- + Id: 'Linux-RHEL_8_8_Static' + Template: 'qtci-linux-RHEL-8.8-x86_64-50' + Compiler: 'GCC' + Features: ['Packaging', 'Sccache', 'UseConfigure', 'MinimalStaticTests'] + Configure arguments: '-static -no-icu -nomake examples -release -headersclean -qt-libjpeg -qt-libpng -qt-pcre -qt-harfbuzz -qt-doubleconversion -no-libudev -bundled-xcb-xinput -no-sql-mysql' + Environment variables: [ + 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY' + ] - Id: 'Windows-MSVC2019_Static' Template: 'qtci-windows-10_22H2-x86_64-50' diff --git a/coin/platform_configs/tqtc-android-automotive.yaml b/coin/platform_configs/tqtc-android-automotive.yaml index b15c8e00..b5b7d5be 100644 --- a/coin/platform_configs/tqtc-android-automotive.yaml +++ b/coin/platform_configs/tqtc-android-automotive.yaml @@ -2,6 +2,7 @@ Version: 2 Include: [ cmake_platforms.yaml: [ 'rhel-8.6', + 'rhel-8.8', 'windows-10_22h2-mingw11', 'ubuntu-22.04-documentation' ], @@ -31,3 +32,18 @@ Configurations: 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}', 'ANDROID_EMULATOR=@automotive_emulator_x86_64_api_31' ] +- + Id: "automotive-android-12-x86_64-on-linux" + Template: 'qtci-linux-RHEL-8.8-x86_64-50' + Target os: 'Android_ANY' + Target arch: 'x86_64' + Compiler: 'GCC' + Target compiler: 'Clang' + Platform dependency: 'rhel-8.8' + Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'VMSize8', 'UseConfigure'] + Environment variables: [ + 'TARGET_CONFIGURE_ARGS=-nomake examples -release -force-debug-info -android-ndk {{.Env.ANDROID_NDK_ROOT_DEFAULT}} -android-sdk {{.Env.ANDROID_SDK_ROOT}} -android-abis x86_64', + 'TARGET_CMAKE_ARGS=-DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME_DEFAULT}}', + 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}', + 'ANDROID_EMULATOR=@automotive_emulator_x86_64_api_31' + ] diff --git a/coin/pre-provisioning/qtci-linux-RHEL-8.8-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-RHEL-8.8-x86_64/README_MANUAL_INSTALLATIONS new file mode 100644 index 00000000..a2ed87e0 --- /dev/null +++ b/coin/pre-provisioning/qtci-linux-RHEL-8.8-x86_64/README_MANUAL_INSTALLATIONS @@ -0,0 +1,62 @@ +### RED HAT ENTERPRISE LINUX 8.8 ### + +Language: English (United States) +Time & Date: Etc/Coordinated Universal Time +Software Selection: Server with GUI +Installation Destination: Automatic partitioning selected +Root Passowrd: Set +Network & Host..: Connect +User Creation +Beging Installation + +Reboot + +Licensing: Accept +Finish Configuration + +gnome-initial-setup: +Language: English (US) +Typing:English (US) +Privacy: Location Services: OFF +Connect Your Online Accounts: Skip +Start Using Red Hat Enterprise Linux + +# Add user to sudoers +Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt + +# Configure Settings + Notifications: + * Notification Popups: OFF + * Lock Screen Notifications: OFF + Privacy: + * Screen Lock: OFF + Power: + * Blank screen: Never + Details: + * Time & Date: Time Zone: UTC + * run "sudo timedatectl set-timezone Etc/UTC" + * Users: Automatic login on + +Add 'GRUB_GFXMODE=1280x800' to /etc/default/grub +sudo grub2-mkconfig -o /etc/grub2.cfg +sudo grub2-mkconfig -o /boot/grub2/grub.cfg + +# Add support for virtio driver +su +echo "add_drivers+=\" virtio-blk \"" >> /etc/dracut.conf.d/virtio.conf +dracut -f + +# Do these from Opennebula UI! + +# Enable network connection from right upper corner + + Devices: + * Displays: Resolution 1280 x 800 + +# Fetch and run coin-setup +Download http://coin/coin/binary/linux_amd64/coin-setup +# run as qt user +chmod 755 coin-setup +run './coin-setup' + +Reboot diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable-automounting.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable-automounting.sh new file mode 100644 index 00000000..c9d490b1 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable-automounting.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +sudo tee -a /etc/dconf/db/local.d/00-media-automount <<"EOF" +[org/gnome/desktop/media-handling] +automount=false +automount-open=false +EOF + +sudo dconf update + diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable_net_lso.sh new file mode 100644 index 00000000..4da6aaaa --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-disable_net_lso.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +echo "ETHTOOL_OPTS='-K \${DEVICE} tso off'" | sudo tee -a /etc/sysconfig/network-scripts/ifcfg-Wired_connection_1 diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-install_telegraf.sh new file mode 100644 index 00000000..729f9003 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-install_telegraf.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/unix/telegraf_install.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-refresh-subscription-manager.sh new file mode 100644 index 00000000..cd2eb607 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-refresh-subscription-manager.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -e + +curl --retry 5 --retry-delay 10 --retry-max-time 60 http://ci-files01-hki.intra.qt.io/input/semisecure/redhat_ak.sh -o "/tmp/redhat_ak.sh" &>/dev/null +sudo chmod 755 /tmp/redhat_ak.sh +/tmp/redhat_ak.sh + +# refresh local certificates +sudo subscription-manager refresh + +# Attach available subscriptions to system. This is needed when subscriptions are renewed. +sudo subscription-manager attach --auto + +sudo rm -f /tmp/redhat_ak.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_network_manager_secret_key.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_network_manager_secret_key.sh new file mode 100644 index 00000000..5ed44f2d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_network_manager_secret_key.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +# Ipv6 link local becomes tentative and dadfailed if two systems has the same secret_key +# New unique secret key will be created automatically during start up. +# https://access.redhat.com/solutions/3553581 +echo "Removing secret_key" +sudo rm -f "/var/lib/NetworkManager/secret_key" + + diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_stable-privacy.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_stable-privacy.sh new file mode 100644 index 00000000..6d59f866 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-remove_stable-privacy.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only +set -ex + +echo "Change default stable-secret to based on MAC" +sudo sed -i '/^IPV6_ADDR_GEN_MODE/d' "/etc/sysconfig/network-scripts/ifcfg-enp1s0" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-set-ulimit.sh new file mode 100644 index 00000000..dadc0781 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-set-ulimit.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/set_ulimit.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-systemsetup.sh new file mode 100644 index 00000000..8d43ace0 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/01-systemsetup.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/shared/network_test_server_ip.txt +source "$BASEDIR/../common/shared/network_test_server_ip.txt" + +echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts" +echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts +echo "Set DISPLAY" +echo 'export DISPLAY=":0"' >> ~/.bashrc +# for current session +export DISPLAY=:0 + +# Set timezone to UTC. +sudo timedatectl set-timezone Etc/UTC +# disable Automatic screen lock +gsettings set org.gnome.desktop.screensaver lock-enabled false +# disable blank screen power saving +gsettings set org.gnome.desktop.session idle-delay 0 + +# Set Wayland enable as false. +echo "Setting Wayland enable as false" +sudo sed -i 's/#WaylandEnable=false/WaylandEnable=false/g' /etc/gdm/custom.conf + diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-enable-repos.sh new file mode 100644 index 00000000..2f7b3dda --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-enable-repos.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +echo "set WritePreparedUpdates=false" | sudo tee -a /etc/PackageKit/PackageKit.conf +sudo systemctl stop packagekit +sudo systemctl disable packagekit +sudo yum -y remove PackageKit gnome-software + +sudo subscription-manager config --rhsm.manage_repos=1 +sudo subscription-manager refresh + +# sudo yum config-manager --enable 'rhceph-4-tools-for-rhel-8-x86_64-rpms' +sudo yum config-manager --enable 'codeready-builder-for-rhel-8-x86_64-rpms' +sudo yum config-manager --enable 'rhel-8-for-x86_64-baseos-rpms' +sudo yum config-manager --enable 'rhel-8-for-x86_64-appstream-rpms' +# Epel is required for 'double-conversion-devel', 'libsqlite3x' and 'p7zip' +sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm + +sudo yum clean all +# As well as this fetching the repository data, we also get a printout of the used repos +sudo yum repolist diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-install-gcc-toolset.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-install-gcc-toolset.sh new file mode 100644 index 00000000..032a841d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/03-install-gcc-toolset.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +sudo yum -y install gcc-toolset-10 + +echo "source /opt/rh/gcc-toolset-10/enable" >> ~/.bashrc diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh new file mode 100644 index 00000000..40990c2f --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-install-packages.sh @@ -0,0 +1,160 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company 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 + +sudo yum -y update + +installPackages=() +installPackages+=(git) +installPackages+=(zlib-devel) +installPackages+=(glib2-devel) +installPackages+=(openssl3) +installPackages+=(openssl3-devel) +installPackages+=(freetype-devel) +installPackages+=(fontconfig-devel) +installPackages+=(curl-devel) +installPackages+=(expat-devel) +installPackages+=(gettext-devel) +installPackages+=(perl-devel) +installPackages+=(dh-autoreconf) +# cmake build +installPackages+=(ninja-build) +installPackages+=(pcre2-devel) +installPackages+=(double-conversion-devel) +installPackages+=(zstd) +# update kernel +installPackages+=(kernel) +installPackages+=(kernel-tools) +installPackages+=(kernel-devel) +installPackages+=(kernel-core) +installPackages+=(kernel-modules) +installPackages+=(kernel-headers) +# EGL support +# mesa-libraries need to use older version than 22.1.5-2 which cause Xorg to crash +installPackages+=(mesa-libEGL-devel-21.3.4-1.el8) +installPackages+=(mesa-libGL-devel-21.3.4-1.el8) +installPackages+=(mesa-dri-drivers-21.3.4-1.el8.x86_64) +installPackages+=(mesa-libgbm-21.3.4-1.el8.x86_64) +installPackages+=(mesa-vulkan-drivers-21.3.4-1.el8.x86_64) +installPackages+=(libxkbfile-devel) +# Xinput2 +installPackages+=(libXi-devel) +installPackages+=(mysql-server) +installPackages+=(mysql) +installPackages+=(mysql-devel) +installPackages+=(postgresql-devel) +installPackages+=(cups-devel) +installPackages+=(dbus-devel) +# gstreamer 1 for QtMultimedia +# Note! gstreamer1-plugins-bad-free needs to be upgraded or it will conflicts with gstreamer1-plugins-base-devel +installPackages+=(gstreamer1-plugins-bad-free) +installPackages+=(gstreamer1-devel) +installPackages+=(gstreamer1-plugins-base-devel) +# 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 3.8 for pyside. Qt for Python support for Python 3.6 will be deprecated in within pyside6.3 +installPackages+=(python38) +installPackages+=(python38-devel) +# WebEngine +installPackages+=(bison) +installPackages+=(flex) +installPackages+=(gperftools-libs) +installPackages+=(gperf) +installPackages+=(alsa-lib-devel) +installPackages+=(pulseaudio-libs-devel) +installPackages+=(libXtst-devel) +installPackages+=(libxshmfence-devel) +installPackages+=(nspr-devel) +installPackages+=(nss-devel) +installPackages+=(python3-html5lib) +# For Android builds +installPackages+=(java-11-openjdk-devel) +# For receiving shasum +installPackages+=(perl-Digest-SHA) +# INTEGRITY requirements +installPackages+=(glibc.i686) +# Enable Qt Bluetooth +installPackages+=(bluez-libs-devel) +# QtNfc +installPackages+=(pcsc-lite-devel) +# QtWebKit +installPackages+=(libxml2-devel) +installPackages+=(libxslt-devel) +# For building Wayland from source +installPackages+=(libffi-devel) +# QtWayland +#installPackages+=(mesa-libwayland-egl) +#installPackages+=(mesa-libwayland-egl-devel) +installPackages+=(libwayland-client) +installPackages+=(libwayland-cursor) +installPackages+=(libwayland-server) +# Jenkins +installPackages+=(chrpath) +# libxkbcommon +installPackages+=(libxkbcommon-devel) +installPackages+=(libxkbcommon-x11-devel) +# xcb-util-* libraries +installPackages+=(xcb-util) +installPackages+=(xcb-util-image-devel) +installPackages+=(xcb-util-keysyms-devel) +installPackages+=(xcb-util-wm-devel) +installPackages+=(xcb-util-renderutil-devel) +installPackages+=(xcb-util-cursor) +installPackages+=(xcb-util-cursor-devel) + +# ODBC support +installPackages+=(unixODBC-devel) +installPackages+=(unixODBC) +# Vulkan support +installPackages+=(vulkan-devel) +installPackages+=(vulkan-tools) +# Conan: For Python build +installPackages+=(xz-devel) +installPackages+=(zlib-devel) +installPackages+=(libffi-devel) +installPackages+=(libsqlite3x-devel) +# Build.pl +installPackages+=(perl-Data-Dumper) +# In RedHat these come with Devtoolset +installPackages+=(gcc) +installPackages+=(gcc-c++) +installPackages+=(make) +# Open source VMware Tools +installPackages+=(open-vm-tools) + +sudo yum -y install "${installPackages[@]}" + +sudo dnf -y module install nodejs:12 + +# We shouldn't use yum to install virtualenv. The one found from package repo is not +# working, but we can use installed pip +sudo pip3 install --upgrade pip +sudo pip3 install virtualenv wheel +# Just make sure we have virtualenv to run with python3.8 -m virtualenv +sudo python3.8 -m pip install virtualenv wheel + +sudo /usr/bin/pip3 install wheel +# Install all needed packages in a special wheel cache directory +/usr/bin/pip3 wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt" + +# Install 3.8 compatible wheels +python3.8 -m pip wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt" + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" + +OpenSSLVersion="$(openssl3 version |cut -b 9-14)" +echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-p7zip.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-p7zip.sh new file mode 100644 index 00000000..98be8b40 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/04-p7zip.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +set -ex + +name="p7zip" +version="7-11" +sudo yum -y install "$name" + +# Link 7za to 7z so we can use existing installation scripts +sudo ln -s /usr/bin/7za /usr/bin/7z + +echo "$name = $version" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang-v100-dyn.sh new file mode 100644 index 00000000..fbf34ddd --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang-v100-dyn.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang-v100-dyn.sh +"$BASEDIR/../common/unix/libclang-v100-dyn.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang.sh new file mode 100644 index 00000000..7074cbc1 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/05-libclang.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang.sh +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-disable_selinux.sh new file mode 100644 index 00000000..17f9422f --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-disable_selinux.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/disable_selinux.sh +source "${BASH_SOURCE%/*}/../common/linux/disable_selinux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-openssl.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-openssl.sh new file mode 100644 index 00000000..6877a74d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/09-openssl.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -ex + +# Required by Rhel source build +sudo yum -y install perl-IPC-Cmd + +"$(dirname "$0")/../common/unix/install-openssl.sh" "linux" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/20-sccache.sh new file mode 100644 index 00000000..b371d947 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/20-sccache.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/sccache.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/22-mqtt_broker.sh new file mode 100644 index 00000000..fd568537 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/22-mqtt_broker.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/unix/mqtt_broker.sh +source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-fbx.sh new file mode 100644 index 00000000..d8df4375 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-fbx.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/fbx_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-conan.sh new file mode 100644 index 00000000..ec54fa54 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-conan.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/install-conan.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-git.sh new file mode 100644 index 00000000..05fcdf8e --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install-git.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-git.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install_icu.sh new file mode 100644 index 00000000..a75ea6a6 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/30-install_icu.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +set -ex + +# This script will install ICU + +icuVersion="56.1" +icuLocation="/usr/lib64" +sha1="6dd9ca6b185681a7ddc4bb94fd7fced27647a21c" +baseBinaryPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z" +baseBinaryPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64.7z" + +sha1Dev="bffde26cdea752bee0edd281820c57f1adac3864" +develPackageURL="http://ci-files01-hki.intra.qt.io/input/icu/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z" +develPackageExternalURL="http://master.qt.io/development_releases/prebuilt/icu/prebuilt/$icuVersion/icu-linux-g++-Rhel7.2-x64-devel.7z" + +echo "Installing custom ICU $icuVersion $sha1 packages on RHEL to $icuLocation" + +targetFile=$(mktemp) +DownloadURL "$baseBinaryPackageURL" "$baseBinaryPackageExternalURL" "$sha1" "$targetFile" +sudo 7z x -y -o/usr/lib64 "$targetFile" +sudo rm "$targetFile" + +echo "Installing custom ICU devel packages on RHEL" + +tempDir=$(mktemp -d) + +targetFile=$(mktemp) +DownloadURL "$develPackageURL" "$develPackageExternalURL" "$sha1Dev" "$targetFile" +7z x -y -o"$tempDir" "$targetFile" + +sudo cp -a "$tempDir"/lib/* /usr/lib64 +sudo cp -a "$tempDir"/* /usr/ + +sudo rm "$targetFile" +sudo rm -fr "$tempDir" + +sudo /sbin/ldconfig + +echo "ICU = $icuVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/35-install-breakpad.sh new file mode 100644 index 00000000..74dd1579 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/35-install-breakpad.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +# shellcheck source=../common/unix/install-breakpad.sh +source "${BASH_SOURCE%/*}/../common/unix/install-breakpad.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-android_linux.sh new file mode 100644 index 00000000..f7591d82 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-android_linux.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/linux/android_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/android_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-install-cmake.sh new file mode 100644 index 00000000..7effb8d7 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/40-install-cmake.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs CMake 3.6.2 + +set -ex + +# CMake is needed for autotests that verify that Qt can be built with CMake + +# shellcheck source=../common/linux/cmake_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/50-openssl_for_android_linux.sh new file mode 100644 index 00000000..4e5ec7f0 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/50-openssl_for_android_linux.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/openssl_for_android.sh +source "${BASH_SOURCE%/*}/../common/unix/openssl_for_android.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/60-install_protobuf.sh new file mode 100644 index 00000000..ef6fdec0 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/60-install_protobuf.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_protobuf.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/61-install_grpc.sh new file mode 100644 index 00000000..ba69ffef --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/61-install_grpc.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +# shellcheck source=../common/unix/install_grpc.sh +source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_QemuGA.sh new file mode 100644 index 00000000..62b799e0 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_QemuGA.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script installs QEMU Guest Agent + +set -ex + +sudo yum -y install qemu-guest-agent +sudo systemctl start qemu-guest-agent diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_dwz.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_dwz.sh new file mode 100644 index 00000000..3647cc48 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/70-install_dwz.sh @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +sudo yum -y install elfutils-libelf-devel + +# shellcheck source=../common/linux/install_dwz.sh +source "${BASH_SOURCE%/*}/../common/linux/install_dwz.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-bootstrap-autostart.sh new file mode 100644 index 00000000..1ff43850 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-bootstrap-autostart.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh new file mode 100644 index 00000000..280b2870 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-install-ffmpeg.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "android" diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-squish.sh new file mode 100644 index 00000000..e4281588 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/90-squish.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-cleanup.sh new file mode 100644 index 00000000..842cd294 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-cleanup.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +"$(dirname "$0")"/../common/linux/cleanup_cache.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-version.sh new file mode 100644 index 00000000..725351ae --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.8-x86_64/99-version.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash + +# Copyright (C) 2023 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +# This script needs to be called last during provisioning so that the software information will show up last in provision log. + +# Storage installed RPM packages information + +set -ex + +# shellcheck disable=SC2129 +echo "*********************************************" >> ~/versions.txt +echo "***** All installed RPM packages *****" >> ~/versions.txt +rpm -q -a | sort >> ~/versions.txt +echo "*********************************************" >> ~/versions.txt + +"$(dirname "$0")/../common/linux/version.sh"