diff options
author | Heikki Halmet <heikki.halmet@qt.io> | 2021-11-16 12:09:03 +0200 |
---|---|---|
committer | Heikki Halmet <heikki.halmet@qt.io> | 2021-11-17 17:43:00 +0200 |
commit | 1bd401b52ce64f5ce45a6948e5419b3ba822cd56 (patch) | |
tree | dc678c9c6e2e1d43df194c63dca0b4748093d431 | |
parent | 6cc9c921cb471497a4637532abc68ab59cf7d126 (diff) |
Replace Rhel 8.2 with Rhel 8.4
Task-number: QTQAINFRA-4514
Change-Id: Idaa28bf61d0ae7498fc019589a168b45e693594b
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
36 files changed, 1051 insertions, 18 deletions
diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml index e6bc1893..4dd2b254 100644 --- a/coin/platform_configs/cmake_platforms.yaml +++ b/coin/platform_configs/cmake_platforms.yaml @@ -108,8 +108,8 @@ Configurations: 'CONAN_PROFILE=coin/conan/profiles/windows-arm64-msvc2019_64' ] - - Id: 'RHEL-8.2-host' - Template: 'qtci-linux-RHEL-8.2-x86_64-50' + Id: 'RHEL-8.4-host' + Template: 'qtci-linux-RHEL-8.4-x86_64-50' Compiler: 'GCC' Features: ['Packaging', 'Sccache'] Configure arguments: '-DQT_BUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DFEATURE_headersclean=ON -DFEATURE_separate_debug_info=ON -DFEATURE_system_jpeg=OFF -DFEATURE_system_png=OFF -DFEATURE_system_pcre2=OFF -DFEATURE_system_harfbuzz=OFF -DFEATURE_system_doubleconversion=OFF -DFEATURE_libudev=OFF -DINPUT_bundled_xcb_xinput=yes -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DOpenGL_GL_PREFERENCE=LEGACY' diff --git a/coin/platform_configs/cmake_platforms_target_android_host_linux.yaml b/coin/platform_configs/cmake_platforms_target_android_host_linux.yaml index 08f0d029..94b3a56e 100644 --- a/coin/platform_configs/cmake_platforms_target_android_host_linux.yaml +++ b/coin/platform_configs/cmake_platforms_target_android_host_linux.yaml @@ -1,12 +1,12 @@ Version: 2 Configurations: - - Template: 'qtci-linux-RHEL-8.2-x86_64-50' + Template: 'qtci-linux-RHEL-8.4-x86_64-50' Target os: 'Android_ANY' Target arch: 'arm64' Compiler: 'GCC' Target compiler: 'Clang' - Platform dependency: 'RHEL-8.2-host' + Platform dependency: 'RHEL-8.4-host' Features: ['Packaging', 'Sccache', 'DisableTests'] Environment variables: [ 'TARGET_CONFIGURE_ARGS=-DQT_BUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_ROOT}} -DANDROID_ABI=arm64-v8a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}} -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache', @@ -15,12 +15,12 @@ Configurations: 'CONAN_PROFILE=coin/conan/profiles/unix-android-arm64-clang' ] - - Template: 'qtci-linux-RHEL-8.2-x86_64-50' + Template: 'qtci-linux-RHEL-8.4-x86_64-50' Target os: 'Android_ANY' Target arch: 'armv7' Compiler: 'GCC' Target compiler: 'Clang' - Platform dependency: 'RHEL-8.2-host' + Platform dependency: 'RHEL-8.4-host' Features: ['Packaging', 'Sccache', 'DisableTests'] Environment variables: [ 'TARGET_CONFIGURE_ARGS=-DQT_BUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_ROOT}} -DANDROID_ABI=armeabi-v7a -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}} -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache', @@ -29,12 +29,12 @@ Configurations: 'CONAN_PROFILE=coin/conan/profiles/unix-android-armv7-clang' ] - - Template: 'qtci-linux-RHEL-8.2-x86_64-50' + Template: 'qtci-linux-RHEL-8.4-x86_64-50' Target os: 'Android_ANY' Target arch: 'x86' Compiler: 'GCC' Target compiler: 'Clang' - Platform dependency: 'RHEL-8.2-host' + Platform dependency: 'RHEL-8.4-host' Features: ['Packaging', 'Sccache', 'DisableTests'] Environment variables: [ 'TARGET_CONFIGURE_ARGS=-DQT_BUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_ROOT}} -DANDROID_ABI=x86 -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}} -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache', @@ -43,12 +43,12 @@ Configurations: 'CONAN_PROFILE=coin/conan/profiles/unix-android-x86-clang' ] - - Template: 'qtci-linux-RHEL-8.2-x86_64-50' + Template: 'qtci-linux-RHEL-8.4-x86_64-50' Target os: 'Android_ANY' Target arch: 'x86_64' Compiler: 'GCC' Target compiler: 'Clang' - Platform dependency: 'RHEL-8.2-host' + Platform dependency: 'RHEL-8.4-host' Features: ['Packaging', 'Sccache', 'DisableTests'] Environment variables: [ 'TARGET_CONFIGURE_ARGS=-DQT_BUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_ROOT}} -DANDROID_ABI=x86_64 -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}} -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache', diff --git a/coin/platform_configs/flashing-wizard.yaml b/coin/platform_configs/flashing-wizard.yaml index ec1a4c63..4d3f0340 100644 --- a/coin/platform_configs/flashing-wizard.yaml +++ b/coin/platform_configs/flashing-wizard.yaml @@ -13,7 +13,7 @@ Configurations: Features: ['Packaging', 'UseLegacyInstructions'] Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -debug-and-release -release -force-debug-info -nomake tests -nomake examples -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x86% -L %OPENSSL_LIB_x86% -no-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x86% -L %MYSQL_LIB_x86% -plugin-sql-psql -I %POSTGRESQL_INCLUDE_x86% -L %POSTGRESQL_LIB_x86% -static -no-icu' - - Template: 'qtci-linux-RHEL-8.2-x86_64-50' + Template: 'qtci-linux-RHEL-8.4-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' diff --git a/coin/platform_configs/qdb.yaml b/coin/platform_configs/qdb.yaml index cde31a6b..c608b129 100644 --- a/coin/platform_configs/qdb.yaml +++ b/coin/platform_configs/qdb.yaml @@ -11,8 +11,8 @@ Configurations: 'LLVM_INSTALL_DIR={{.Env.LLVM_INSTALL_DIR_msvc}}' ] - - Id: 'RHEL-8.2-host' - Template: 'qtci-linux-RHEL-8.2-x86_64-50' + Id: 'RHEL-8.4-host' + Template: 'qtci-linux-RHEL-8.4-x86_64-50' Compiler: 'GCC' Features: ['Packaging', 'Sccache', 'MinimalStaticTests'] Configure arguments: '-DQT_BUILD_EXAMPLES=OFF -DBUILD_SHARED_LIBS=OFF -DFEATURE_system_jpeg=OFF -DFEATURE_system_png=OFF -DFEATURE_system_pcre2=OFF -DFEATURE_system_harfbuzz=OFF -DFEATURE_system_doubleconversion=OFF -DFEATURE_libudev=OFF -DINPUT_bundled_xcb_xinput=yes -DFEATURE_icu=OFF -DFEATURE_sql_mysql=OFF -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}} -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache' diff --git a/coin/platform_configs/qt-creator.yaml b/coin/platform_configs/qt-creator.yaml index 5ed498fe..56b47ba9 100644 --- a/coin/platform_configs/qt-creator.yaml +++ b/coin/platform_configs/qt-creator.yaml @@ -16,7 +16,7 @@ Configurations: Environment variables: [] Environment script: ['%ProgramFiles%\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat', 'x86'] - - Template: 'qtci-linux-RHEL-8.2-x86_64-50' + Template: 'qtci-linux-RHEL-8.4-x86_64-50' Compiler: 'GCC' Features: ['Packaging', 'Sccache', 'DisableTests'] Configure arguments: '' diff --git a/coin/platform_configs/qtbase.yaml b/coin/platform_configs/qtbase.yaml index 327263db..26edd340 100644 --- a/coin/platform_configs/qtbase.yaml +++ b/coin/platform_configs/qtbase.yaml @@ -8,13 +8,13 @@ Include: [ ] Configurations: - - Template: 'qtci-linux-RHEL-8.2-x86_64-50' + Template: 'qtci-linux-RHEL-8.4-x86_64-50' Target os: 'Android_ANY' Target arch: 'x86' Compiler: 'GCC' Target compiler: 'Clang' - Platform dependency: 'RHEL-8.2-host' - Features: ['Packaging', 'Sccache', 'AndroidTestRun'] + Platform dependency: 'RHEL-8.4-host' + Features: ['Packaging', 'Sccache', 'AndroidTestRun', 'Insignificant'] Environment variables: [ 'TARGET_CONFIGURE_ARGS=-DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE={{.Env.ANDROID_NDK_ROOT}}/build/cmake/android.toolchain.cmake -DANDROID_SDK_ROOT={{.Env.ANDROID_SDK_ROOT}} -DANDROID_ABI=x86 -DCMAKE_C_COMPILER_FRONTEND_VARIANT=GNU -DCMAKE_CXX_COMPILER_FRONTEND_VARIANT=GNU -DOPENSSL_ROOT_DIR={{.Env.OPENSSL_ANDROID_HOME}} -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache', 'NON_QTBASE_TARGET_CONFIGURE_ARGS=-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache', @@ -22,3 +22,4 @@ Configurations: 'CONAN_INSTALL_DIR={{.InstallDir}}/target', 'CONAN_PROFILE=coin/conan/profiles/unix-android-x86-clang'] + diff --git a/coin/platform_configs/qtsaferenderer.yaml b/coin/platform_configs/qtsaferenderer.yaml index 396776d6..df9f96ef 100644 --- a/coin/platform_configs/qtsaferenderer.yaml +++ b/coin/platform_configs/qtsaferenderer.yaml @@ -19,7 +19,7 @@ Configurations: Features: ['Packaging', 'DisableTests', 'UseLegacyInstructions'] Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -static -nomake tests -nomake examples -no-icu -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -plugin-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -platform win32-g++' - - Template: 'qtci-linux-RHEL-8.2-x86_64-50' + Template: 'qtci-linux-RHEL-8.4-x86_64-50' Compiler: 'GCC' Features: ['Packaging', 'DisableTests', 'UseLegacyInstructions'] Configure arguments: '-qmake -opensource -confirm-license -verbose -prefix /home/qt/work/install -release -static -nomake tests -nomake examples -no-use-gold-linker -no-icu -no-fontconfig -qt-freetype -no-opengl -qpa offscreen -no-xcb -qt-libpng -no-vulkan' diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-disable-automounting.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-disable-automounting.sh new file mode 100644 index 00000000..cceb79bf --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-disable-automounting.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2021 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +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.4-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-disable_net_lso.sh new file mode 100755 index 00000000..4da6aaaa --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-disable_net_lso.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +echo "ETHTOOL_OPTS='-K \${DEVICE} tso off'" | sudo tee -a /etc/sysconfig/network-scripts/ifcfg-Wired_connection_1 diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-install_telegraf.sh new file mode 100755 index 00000000..729f9003 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-install_telegraf.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +"$(dirname "$0")"/../common/unix/telegraf_install.sh diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-refresh-subscription-manager.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-refresh-subscription-manager.sh new file mode 100755 index 00000000..e26a1e0d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-refresh-subscription-manager.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2020 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +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.4-x86_64/01-remove_network_manager_secret_key.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_network_manager_secret_key.sh new file mode 100755 index 00000000..5ed44f2d --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-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.4-x86_64/01-remove_stable-privacy.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_stable-privacy.sh new file mode 100755 index 00000000..5fdf5804 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-remove_stable-privacy.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2020 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# +set -ex + +echo "Change default stable-secret to based on MAC" +sudo sed -i '/^IPV6_ADDR_GEN_MODE/d' "/etc/sysconfig/network-scripts/ifcfg-ens192" diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-systemsetup.sh new file mode 100755 index 00000000..f9f43403 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/01-systemsetup.sh @@ -0,0 +1,61 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2021 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +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 + +# Set system locale +sudo localectl set-locale LANG=en_US.UTF-8 diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-enable-repos.sh new file mode 100755 index 00000000..9976490b --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-enable-repos.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2021 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +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.4-x86_64/03-install-gcc-toolset.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-install-gcc-toolset.sh new file mode 100755 index 00000000..c991b679 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/03-install-gcc-toolset.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2021 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +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.4-x86_64/04-install-packages.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-install-packages.sh new file mode 100755 index 00000000..f15d54e3 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-install-packages.sh @@ -0,0 +1,165 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2021 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +set -ex + +# Remove update notifications and packagekit running in the background +sudo yum -y remove PackageKit gnome-software + +installPackages=() +installPackages+=(git) +installPackages+=(zlib-devel) +installPackages+=(glib2-devel) +installPackages+=(openssl-devel) +installPackages+=(freetype-devel) +installPackages+=(fontconfig-devel) +# cmake build +installPackages+=(ninja-build) +installPackages+=(pcre2-devel) +installPackages+=(double-conversion-devel) +installPackages+=(zstd) +# EGL support +installPackages+=(mesa-libEGL-devel) +installPackages+=(mesa-libGL-devel) +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) +# gtk3 style for QtGui/QStyle +installPackages+=(gtk3-devel) +# libusb1 for tqtc-boot2qt/qdb +installPackages+=(libusbx-devel) +# speech-dispatcher-devel for QtSpeech, otherwise it has no backend on Linux +installPackages+=(speech-dispatcher-devel) +# Python 2 devel and pip. python-pip requires the EPEL repository to be added +installPackages+=(python2-devel python2-pip) +# Python 3 with python-devel, pip and virtualenv +installPackages+=(python36) +installPackages+=(python36-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) +# 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) +# 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) +# 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) +# Install all available locales (COIN-727) +installPackages+=(langpacks-*) + +sudo yum -y install "${installPackages[@]}" + +sudo ln -s /usr/bin/python2 /usr/bin/python + +sudo yum -y install @nodejs + +# 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 + +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" + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" + +OpenSSLVersion="$(openssl version |cut -b 9-14)" +echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt + diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-p7zip.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-p7zip.sh new file mode 100755 index 00000000..e616bbe2 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/04-p7zip.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2021 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# +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.4-x86_64/05-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-libclang-v100-dyn.sh new file mode 100755 index 00000000..fbf34ddd --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-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.4-x86_64/05-libclang.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/05-libclang.sh new file mode 100755 index 00000000..7074cbc1 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-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.4-x86_64/07-qnx_710.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/07-qnx_710.sh new file mode 100755 index 00000000..4519dd14 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/07-qnx_710.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2021 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +set -ex + +# shellcheck source=../common/linux/qnx_700.sh +source "${BASH_SOURCE%/*}/../common/linux/qnx_710.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/09-disable_selinux.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/09-disable_selinux.sh new file mode 100755 index 00000000..b7a53cd4 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/09-disable_selinux.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +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.4-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/20-sccache.sh new file mode 100755 index 00000000..b371d947 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/20-sccache.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + +source "${BASH_SOURCE%/*}/../common/linux/sccache.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/22-mqtt_broker.sh new file mode 100755 index 00000000..e677427f --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/22-mqtt_broker.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# shellcheck source=../common/unix/mqtt_broker.sh +source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-fbx.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-fbx.sh new file mode 100755 index 00000000..d8df4375 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-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.4-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install-conan.sh new file mode 100755 index 00000000..ec54fa54 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-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.4-x86_64/30-install_icu.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install_icu.sh new file mode 100755 index 00000000..3e6dbc35 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/30-install_icu.sh @@ -0,0 +1,76 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2021 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# 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.4-x86_64/35-install-breakpad.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/35-install-breakpad.sh new file mode 100755 index 00000000..74dd1579 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-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.4-x86_64/40-android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-android_linux.sh new file mode 100755 index 00000000..a6c4dfff --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-android_linux.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +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.4-x86_64/40-install-cmake.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-install-cmake.sh new file mode 100755 index 00000000..062b2790 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/40-install-cmake.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# 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.4-x86_64/50-openssl_for_android_linux.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/50-openssl_for_android_linux.sh new file mode 100755 index 00000000..c4b8601a --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/50-openssl_for_android_linux.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2021 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# +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.4-x86_64/60-install_protobuff.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/60-install_protobuff.sh new file mode 100755 index 00000000..a77938b3 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/60-install_protobuff.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +set -ex + +# shellcheck source=../common/unix/install_protobuff.sh +source "${BASH_SOURCE%/*}/../common/unix/install_protobuff.sh" + diff --git a/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_QemuGA.sh new file mode 100755 index 00000000..0c5244c7 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_QemuGA.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2020 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# 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.4-x86_64/70-install_dwz.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_dwz.sh new file mode 100755 index 00000000..935d9227 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/70-install_dwz.sh @@ -0,0 +1,42 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2020 Konstantin Tokarev <annulen@yandex.ru> +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +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.4-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/90-squish.sh new file mode 100755 index 00000000..e4281588 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-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.4-x86_64/99-version.sh b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/99-version.sh new file mode 100755 index 00000000..03565da2 --- /dev/null +++ b/coin/provisioning/qtci-linux-RHEL-8.4-x86_64/99-version.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# 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" |