diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml index 0cae8413..22183e7c 100644 --- a/coin/platform_configs/cmake_platforms.yaml +++ b/coin/platform_configs/cmake_platforms.yaml @@ -175,6 +175,17 @@ Configurations: 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}', 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON' ] +- + Id: 'rhel-8.10' + Template: 'qtci-linux-RHEL-8.10-x86_64-50' + Compiler: 'GCC' + Features: ['InsignificantTests', '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}} -DQT_DEPLOY_FFMPEG=TRUE -DINPUT_headersclean=ON' + ] + - Id: 'rhel-9.2' Template: 'qtci-linux-RHEL-9.2-x86_64-51' diff --git a/coin/platform_configs/cmake_platforms_target_android.yaml b/coin/platform_configs/cmake_platforms_target_android.yaml index dc3776a5..6c4d5355 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_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}', 'ANDROID_EMULATOR=emulator_x86_api_28' ] +- + Id: 'android-9-x86-on-linux-rhel-8.10' + Template: 'qtci-linux-RHEL-8.10-x86_64-50' + Target os: 'Android_ANY' + Target arch: 'x86' + Compiler: 'GCC' + Target compiler: 'Clang' + Platform dependency: 'rhel-8.10' + Features: ['InsignificantTests', 'Sccache', 'WarningsAreErrors', '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}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include', + 'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}', + 'ANDROID_EMULATOR=emulator_x86_api_28' + ] - Id: 'android-14-x86_64-on-linux' Template: 'qtci-linux-RHEL-8.8-x86_64-50' @@ -63,3 +79,19 @@ Configurations: 'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}', 'ANDROID_EMULATOR=emulator_x86_64_api_34' ] +- + Id: 'android-14-x86_64-on-linux-rhel-8.10' + Template: 'qtci-linux-RHEL-8.10-x86_64-50' + Target os: 'Android_ANY' + Target arch: 'x86_64' + Compiler: 'GCC' + Target compiler: 'Clang' + Platform dependency: 'rhel-8.10' + Features: ['InsignificantTests', 'Sccache', 'WarningsAreErrors', '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}} -DQT_DEPLOY_FFMPEG=TRUE -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include', + 'ANDROID_NDK_ROOT={{.Env.ANDROID_NDK_ROOT_DEFAULT}}', + 'ANDROID_EMULATOR=emulator_x86_64_api_34' + ] diff --git a/coin/platform_configs/flashing-wizard.yaml b/coin/platform_configs/flashing-wizard.yaml index 18d281fa..4bae934e 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.10-x86_64-50' + Compiler: 'GCC' + Features: ['InsignificantTests', '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 c792158f..9d6a90c0 100644 --- a/coin/platform_configs/linux_android_tests_developer.yaml +++ b/coin/platform_configs/linux_android_tests_developer.yaml @@ -15,3 +15,18 @@ Configurations: 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR_ANDROID}}', 'NON_QTBASE_TARGET_CMAKE_ARGS=', 'ANDROID_EMULATOR=emulator_x86_api_28'] +- + Id: 'android-x86-developer-build-testrun-on-linux-rhel-8.10' + Template: 'qtci-linux-RHEL-8.10-x86_64-50' + Target os: 'Android_ANY' + Target arch: 'x86' + Compiler: 'GCC' + Target compiler: 'Clang' + Platform dependency: 'rhel-8.10' + Features: ['InsignificantTests', '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}}', + 'NON_QTBASE_TARGET_CMAKE_ARGS=', + 'ANDROID_EMULATOR=emulator_x86_api_28'] diff --git a/coin/platform_configs/linux_android_tests_multi_abi.yaml b/coin/platform_configs/linux_android_tests_multi_abi.yaml index 3477bce5..6b149c53 100644 --- a/coin/platform_configs/linux_android_tests_multi_abi.yaml +++ b/coin/platform_configs/linux_android_tests_multi_abi.yaml @@ -26,3 +26,30 @@ Configurations: 'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"', 'ANDROID_EMULATOR=emulator_x86_api_28' ] +- + Id: 'android-9-multi-abi-rhel-8.10' + Template: 'qtci-linux-RHEL-8.10-x86_64-50' + Target os: 'Android_ANY' + Target arch: 'multi' + Compiler: 'GCC' + Target compiler: 'Clang' + Platform dependency: [ + 'rhel-8.10', + 'android-9-x86-on-linux-rhel-8.10', + 'android-14-x86_64-on-linux-rhel-8.10' + ] + Features: [ + 'Sccache', + 'InsignificantTests', + 'WarningsAreErrors', + 'AndroidTestRun', + 'MinimalAndroidMultiABITests', + 'InstallDepsPerPlatformSubdir' + ] + Environment variables: [ + 'QT_CI_ARTIFACT_ID_PATH_Android-host=QT_CI_ARTIFACT_ID_PATH_rhel-8.10', + 'QT_CI_ARTIFACT_ID_PATH_Android-x86=QT_CI_ARTIFACT_ID_PATH_android-9-x86-on-linux-rhel-8.10', + 'QT_CI_ARTIFACT_ID_PATH_Android-x86_64=QT_CI_ARTIFACT_ID_PATH_android-14-x86_64-on-linux-rhel-8.10', + 'COMMON_TARGET_TEST_CMAKE_ARGS=-DQT_ANDROID_ABIS="x86;x86_64"', + 'ANDROID_EMULATOR=emulator_x86_api_28' + ] diff --git a/coin/platform_configs/qt-creator.yaml b/coin/platform_configs/qt-creator.yaml index 4e9f7c0c..83924df1 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.10-x86_64-50' + Compiler: 'GCC' + Features: ['InsignificantTests', 'Sccache', 'DebugAndRelease'] + Configure arguments: '' + Environment variables: [] - Template: 'qtci-macos-14-arm-106' Compiler: 'Clang' diff --git a/coin/platform_configs/qtsaferenderer-runtime.yaml b/coin/platform_configs/qtsaferenderer-runtime.yaml index 89488f66..ee801d59 100644 --- a/coin/platform_configs/qtsaferenderer-runtime.yaml +++ b/coin/platform_configs/qtsaferenderer-runtime.yaml @@ -12,6 +12,7 @@ Include: [ "sles-15_sp5-static", "windows-10_22h2-msvc2022", "rhel-8.8", + "rhel-8.10", "windows-10_22h2-mingw13", "windows-11_23H2-mingw13-developer-build", "windows-11_23H2-llvm", diff --git a/coin/platform_configs/qtsaferenderer.yaml b/coin/platform_configs/qtsaferenderer.yaml index a2de0c71..984c4010 100644 --- a/coin/platform_configs/qtsaferenderer.yaml +++ b/coin/platform_configs/qtsaferenderer.yaml @@ -12,6 +12,7 @@ Include: [ "sles-15_sp5-static", "windows-10_22h2-msvc2022", "rhel-8.8", + "rhel-8.10", "windows-10_22h2-mingw13", "windows-11_23H2-mingw13-developer-build", "windows-11_23H2-llvm", @@ -45,6 +46,16 @@ Configurations: 'CMAKE_ARGS=-DOpenGL_GL_PREFERENCE=LEGACY', 'NON_QTBASE_CMAKE_ARGS=-DINPUT_headersclean=ON' ] +- + Id: 'Linux-RHEL_8_10_Static' + Template: 'qtci-linux-RHEL-8.10-x86_64-50' + Compiler: 'GCC' + Features: ['InsignificantTests', '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', + 'NON_QTBASE_CMAKE_ARGS=-DINPUT_headersclean=ON' + ] - Id: 'Windows-MSVC2022_Static' Template: 'qtci-windows-10_22H2-x86_64-51' diff --git a/coin/platform_configs/tqtc-android-automotive.yaml b/coin/platform_configs/tqtc-android-automotive.yaml index 68f22659..f2609502 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.8', + "rhel-8.10", 'windows-10_22h2-mingw13', 'ubuntu-22.04-documentation', 'ubuntu-22.04-documentation-x11-tests' @@ -13,7 +14,9 @@ Include: [ 'android-arm64-on-macos', 'android-armv7-on-windows', 'android-9-x86-on-linux', - 'android-14-x86_64-on-linux' + 'android-9-x86-on-linux-rhel-8.10', + 'android-14-x86_64-on-linux', + 'android-14-x86_64-on-linux-rhel-8.10' ] ] Configurations: @@ -33,6 +36,22 @@ Configurations: 'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include', 'ANDROID_EMULATOR=automotive_emulator_x86_64_api_34' ] +- + Id: "automotive-android-14-x86_64-on-linux-rhel-8.10" + Template: 'qtci-linux-RHEL-8.10-x86_64-50' + Target os: 'Android_ANY' + Target arch: 'x86_64' + Compiler: 'GCC' + Target compiler: 'Clang' + Platform dependency: 'rhel-8.10' + Features: ['InsignificantTests', 'Sccache', 'WarningsAreErrors', '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}}', + 'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include', + 'ANDROID_EMULATOR=automotive_emulator_x86_64_api_34' + ] - Id: "automotive-android-10-x86_64-on-linux" Template: 'qtci-linux-RHEL-8.8-x86_64-50' @@ -49,3 +68,19 @@ Configurations: 'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include', 'ANDROID_EMULATOR=automotive_emulator_x86_64_api_29' ] +- + Id: "automotive-android-10-x86_64-on-linux-rhel-8.10" + Template: 'qtci-linux-RHEL-8.10-x86_64-50' + Target os: 'Android_ANY' + Target arch: 'x86_64' + Compiler: 'GCC' + Target compiler: 'Clang' + Platform dependency: 'rhel-8.10' + Features: ['InsignificantTests', 'Sccache', 'WarningsAreErrors', '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}}', + 'NON_QTBASE_TARGET_CMAKE_ARGS= -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include', + 'ANDROID_EMULATOR=automotive_emulator_x86_64_api_29' + ] diff --git a/coin/platform_configs/tqtc-qtpip.yaml b/coin/platform_configs/tqtc-qtpip.yaml index 7bc0741e..f70579aa 100644 --- a/coin/platform_configs/tqtc-qtpip.yaml +++ b/coin/platform_configs/tqtc-qtpip.yaml @@ -3,6 +3,7 @@ Module only: true Include: [ cmake_platforms.yaml: [ "windows-10_22h2-msvc2019", + "rhel-8.10", "rhel-8.8" ], macos.yaml: [ diff --git a/coin/pre-provisioning/qtci-linux-RHEL-8.10-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-RHEL-8.10-x86_64/README_MANUAL_INSTALLATIONS new file mode 100644 index 00000000..12fce8ed --- /dev/null +++ b/coin/pre-provisioning/qtci-linux-RHEL-8.10-x86_64/README_MANUAL_INSTALLATIONS @@ -0,0 +1,62 @@ +### RED HAT ENTERPRISE LINUX 8.10 ### + +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.10-x86_64/01-disable-automounting.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-disable-automounting.sh new file mode 100644 index 00000000..c9d490b1 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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.10-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-disable_net_lso.sh new file mode 100644 index 00000000..4da6aaaa --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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.10-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-install_telegraf.sh new file mode 100644 index 00000000..729f9003 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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.10-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-refresh-subscription-manager.sh new file mode 100644 index 00000000..51417f1b --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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-8.10-x86_64/01-remove_network_manager_secret_key.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-remove_network_manager_secret_key.sh new file mode 100644 index 00000000..7f9790ae --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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-8.10-x86_64/01-remove_stable-privacy.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-remove_stable-privacy.sh new file mode 100644 index 00000000..6d59f866 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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.10-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-set-ulimit.sh new file mode 100644 index 00000000..e951e82a --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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-8.10-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/01-systemsetup.sh new file mode 100644 index 00000000..8d43ace0 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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.10-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/03-enable-repos.sh new file mode 100644 index 00000000..292c02a1 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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 disable packagekit +while sudo fuser /usr/libexec/packagekitd >/dev/null 2>&1; do + echo "Waiting for PackageKit to finish..." + sleep 1 +done +sudo yum -y remove PackageKit gnome-software + +sudo subscription-manager config --rhsm.manage_repos=1 +sudo subscription-manager refresh + +# List available RHEL versions and bind with correct one +sudo subscription-manager release --list +sudo subscription-manager release --set=8.10 +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-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.10-x86_64/03-install-gcc-toolset.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/03-install-gcc-toolset.sh new file mode 100644 index 00000000..dfed7489 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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 gcc-toolset-10-libatomic-devel + +echo "source /opt/rh/gcc-toolset-10/enable" >> ~/.bashrc diff --git a/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/04-install-packages.sh new file mode 100644 index 00000000..ad98e624 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/04-install-packages.sh @@ -0,0 +1,177 @@ +#!/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+=(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) +# pipewire for QtMultimedia +installPackages+=(pipewire-devel) +# for QtMultimedia, ffmpeg +installPackages+=(yasm) +installPackages+=(libva-devel) +# gtk3 style for QtGui/QStyle +installPackages+=(gtk3-devel) +# libusb1 for tqtc-boot2qt/qdb +installPackages+=(libusbx-devel) +# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux +installPackages+=(speech-dispatcher-devel) +# Python for pyside +installPackages+=(python3.11) +installPackages+=(python3.11-pip) +installPackages+=(python3.11-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+=(libatomic) +installPackages+=(mesa-libgbm-devel-21.3.4-1.el8.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-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) +# cifs-utils, for mounting smb drive +installPackages+=(keyutils) +installPackages+=(cifs-utils) +# used for reading vcpkg packages version, from vcpkg.json +installPackages+=(jq) +# zip, needed for vcpkg caching +installPackages+=(zip) +# OpenSSL requirement, built by vcpkg +installPackages+=(perl-IPC-Cmd) + +sudo yum -y install "${installPackages[@]}" + +sudo dnf -y module install nodejs:16 + +# 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 +sudo python3.11 -m pip install virtualenv wheel +sudo python3.11 -m pip install -r "${BASH_SOURCE%/*}/../common/shared/sbom_requirements.txt" + +sudo /usr/bin/pip3 install wheel +sudo /usr/bin/pip3 install dataclasses + +OpenSSLVersion="$(openssl3 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-8.10-x86_64/04-p7zip.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/04-p7zip.sh new file mode 100644 index 00000000..98be8b40 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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.10-x86_64/05-install-patchelf.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/05-install-patchelf.sh new file mode 100644 index 00000000..14813160 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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/linux/install-patchelf.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/05-libclang-v100-dyn.sh new file mode 100644 index 00000000..2e08049d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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-8.10-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/05-libclang.sh new file mode 100644 index 00000000..cc68ed1f --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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-8.10-x86_64/05-mount-vcpkg-cache-drive.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/05-mount-vcpkg-cache-drive.sh new file mode 100644 index 00000000..ed49b3a5 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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-8.10-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/09-disable_selinux.sh new file mode 100644 index 00000000..17f9422f --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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.10-x86_64/09-openssl.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/09-openssl.sh new file mode 100644 index 00000000..ae8024f2 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/09-openssl.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 + +# 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.10-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/20-sccache.sh new file mode 100644 index 00000000..b371d947 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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.10-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/22-mqtt_broker.sh new file mode 100644 index 00000000..fd568537 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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.10-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/30-fbx.sh new file mode 100644 index 00000000..16a9bda8 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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-8.10-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/30-install-conan.sh new file mode 100644 index 00000000..67a4f911 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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-8.10-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/30-install-git.sh new file mode 100644 index 00000000..7a73f354 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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-8.10-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/30-install_icu.sh new file mode 100644 index 00000000..0effaefa --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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="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-8.10-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/35-install-breakpad.sh new file mode 100644 index 00000000..8a9dde56 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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-8.10-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/40-android_linux.sh new file mode 100644 index 00000000..f7591d82 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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.10-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/40-install-cmake.sh new file mode 100644 index 00000000..7effb8d7 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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.10-x86_64/41-install-vcpkg.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/41-install-vcpkg.sh new file mode 100644 index 00000000..aa88364d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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-8.10-x86_64/42-install-vcpkg-ports.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/42-install-vcpkg-ports.sh new file mode 100644 index 00000000..4bc799eb --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/42-install-vcpkg-ports.sh @@ -0,0 +1,14 @@ +#!/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 + +echo "Installing vcpkg ports" +echo "VCPKG_ROOT: ${VCPKG_ROOT}" +echo "ANDOID_NDK_HOME: ${ANDROID_NDK_HOME}" + +# Installing common ports +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-vcpkg-ports.sh" + +# Installing platform specific ports +"$BASEDIR/../common/linux/install-vcpkg-ports-android.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/50-openssl_for_android_linux.sh new file mode 100644 index 00000000..4e5ec7f0 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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.10-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/60-install_protobuf.sh new file mode 100644 index 00000000..ef6fdec0 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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.10-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/61-install_grpc.sh new file mode 100644 index 00000000..ba69ffef --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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.10-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/70-install_QemuGA.sh new file mode 100644 index 00000000..62b799e0 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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.10-x86_64/70-install_dwz.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/70-install_dwz.sh new file mode 100644 index 00000000..3647cc48 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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.10-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/90-bootstrap-autostart.sh new file mode 100644 index 00000000..1ff43850 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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.10-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/90-install-ffmpeg.sh new file mode 100644 index 00000000..04a3ffe9 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/90-install-ffmpeg.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 + +# TODO: investigate why the FFmpeg plugin can't find shared FFmpeg on rhel-8.8 / 8.10 +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux" "static" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86_64" +source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg-android.sh" "android-x86" diff --git a/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/90-mimer.sh new file mode 100644 index 00000000..bff2a7c7 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/90-mimer.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm" diff --git a/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/90-squish.sh new file mode 100644 index 00000000..f803ccc1 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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-8.10-x86_64/99-cleanup.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/99-cleanup.sh new file mode 100644 index 00000000..842cd294 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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.10-x86_64/99-enable_test_stacktraces.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/99-enable_test_stacktraces.sh new file mode 100644 index 00000000..600b7850 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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-8.10-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-8.10-x86_64/99-version.sh new file mode 100644 index 00000000..725351ae --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.10-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"