diff options
author | Heikki Halmet <heikki.halmet@qt.io> | 2022-06-30 10:57:25 +0300 |
---|---|---|
committer | Heikki Halmet <heikki.halmet@qt.io> | 2022-09-15 12:30:52 +0300 |
commit | 05450d9a26ac854ce3d265590226f92cfbc1b3c5 (patch) | |
tree | 84c80ebd93118386b962e2a922c0cbcc043f82bf | |
parent | 33e7cac1b47ce4047097325d35e55fa42acc5c58 (diff) | |
download | qt5-05450d9a26ac854ce3d265590226f92cfbc1b3c5.tar.gz |
Add SLES 15 SP4 to CI
Python-xml library was dropped out - not supported anymore.
Task-number: QTQAINFRA-5068
Change-Id: I6695b4456279143839c38637a5e67a754cafae19
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Ville-Pekka Karhu <ville-pekka.karhu@qt.io>
(cherry picked from commit a5b9ca03e1c84f35fd4cc3f1134664f26d8a0503)
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
27 files changed, 774 insertions, 0 deletions
diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml index 3bc5bd0f..9f9692cf 100644 --- a/coin/platform_configs/cmake_platforms.yaml +++ b/coin/platform_configs/cmake_platforms.yaml @@ -42,6 +42,14 @@ Configurations: 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}' ] - + Template: 'qtci-linux-SLES-15_SP4-x86_64-50' + Compiler: 'GCC' + Features: ['Sccache', 'DisableTests', 'UseConfigure'] + Configure arguments: '-nomake examples -static -no-sql-mysql' + Environment variables: [ + 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}' + ] +- Template: 'qtci-windows-10_21H2-x86_64-51' Compiler: 'MSVC2019' Features: ['Packaging', 'Sccache', "DebugAndRelease", 'UseConfigure'] diff --git a/coin/platform_configs/cmake_platforms_static_tests.yaml b/coin/platform_configs/cmake_platforms_static_tests.yaml index 41c7b381..c9ba6cfa 100644 --- a/coin/platform_configs/cmake_platforms_static_tests.yaml +++ b/coin/platform_configs/cmake_platforms_static_tests.yaml @@ -10,6 +10,15 @@ Configurations: 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}' ] - + Id: 'sles-15-SP4-static' + Template: 'qtci-linux-SLES-15_SP4-x86_64-50' + Compiler: 'GCC' + Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure'] + Configure arguments: '-nomake examples -static -no-sql-mysql' + Environment variables: [ + 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}' + ] +- Template: 'qtci-windows-10_21H2-x86_64-51' Compiler: 'MSVC2019' Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure'] diff --git a/coin/pre-provisioning/qtci-linux-SLES-15_SP4-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-SLES-15_SP4-x86_64/README_MANUAL_INSTALLATIONS new file mode 100644 index 00000000..da785987 --- /dev/null +++ b/coin/pre-provisioning/qtci-linux-SLES-15_SP4-x86_64/README_MANUAL_INSTALLATIONS @@ -0,0 +1,64 @@ +### SUSE Linux Enterprise Server 15 SP4 ### + +# Installation # +Language: English (US) +Keyboard Layout: English (US) + +Available Extensions and Modules: + Basesystem Module + Desktop Applications Module + Python 3 Module + Server Applications Module + +SLES with GNOME + +Region: Etc +Time Zone: UTC + +Create user with automatic login + +disable firewall + +Displays: Resolution 1280x800 +Power: Screen Blank: Never +Privacy: Screen lock: Automatic screen lock: disable +Privacy: Screen lock: Show notifications on lock screen: disable + +# Add user to sudoers +Add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt + +sudo su - +echo "add_drivers+=\"virtio-blk\"" >/etc/dracut.conf.d/virtio.conf +dracut -f + +# Add these to /etc/polkit-default-privs.local +org.freedesktop.udisks2.filesystem-mount yes +org.freedesktop.udisks2.filesystem-mount-other-seat yes +org.freedesktop.udisks2.filesystem-mount-system yes +org.freedesktop.login1.power-off yes +org.freedesktop.login1.power-off-ignore-inhibit yes +org.freedesktop.login1.power-off-multiple-sessions yes + +# Set how DHClient creates CID for compatibility with older DHCP servers +sudo sed -i 's/DHCLIENT_CREATE_CID=""/DHCLIENT_CREATE_CID="rfc2132"/' /etc/sysconfig/network/dhcp +systemctl restart wicked + +# Create etc/sysconfig/network/ifcfg-eth1 with values: +* BOOTPROTO='dhcp' +* STARTMODE='auto' +sudo ifup eth1 + +# Register product +# Add 'Available Extensions and Modules' +* Basesystem Module 15 SP4 x86_64 +* Server Applications Module 15 SP4 x86_64 + +zypper yum update + +* Download and run coin-setup + +# Fetch and run coin-setup +Download http://coin/coin/binary/linux_386/coin-setup +sudo ./coin-setup + +sudo reboot now diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-btrfs-balance.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-btrfs-balance.sh new file mode 100755 index 00000000..a0126cb2 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-btrfs-balance.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +set -ex + +# Stops the balance job if one is running at the moment. This is a very expensive thing to run and causes major slow down. +sudo systemctl stop btrfs-balance.service + +# This will disable btrfs balance job scheduling. +sudo sed -i 's/BTRFS_BALANCE_PERIOD="weekly"/BTRFS_BALANCE_PERIOD="none"/g' /etc/sysconfig/btrfsmaintenance diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-coredump.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-coredump.sh new file mode 100755 index 00000000..d078f9c7 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-coredump.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +sudo chkconfig kdump off +sudo sed -i 's/#Storage=external/Storage=none/g' /etc/systemd/coredump.conf diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-fstrim_timer.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-fstrim_timer.sh new file mode 100755 index 00000000..9fd06e72 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable-fstrim_timer.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +# This will disable fstrim. The fstrim.timer is scheduled to activate the fstrim.service +sudo systemctl stop fstrim.timer +sudo systemctl disable fstrim.timer diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable_net_lso.sh new file mode 100755 index 00000000..95fd5467 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-disable_net_lso.sh @@ -0,0 +1,6 @@ +#!/bin/sh + +sudo mkdir -p /etc/wicked/scripts +echo "ethtool -K \$2 tso off" | sudo tee -a /etc/wicked/scripts/net_tso_off +sudo chmod 744 /etc/wicked/scripts/net_tso_off +echo "PRE_UP_SCRIPT='wicked:/etc/wicked/scripts/net_tso_off'" | sudo tee -a /etc/sysconfig/network/ifcfg-eth0 diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-install_telegraf.sh new file mode 100755 index 00000000..729f9003 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-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-SLES-15_SP4-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-set-ulimit.sh new file mode 100755 index 00000000..dadc0781 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-set-ulimit.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/set_ulimit.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-systemsetup.sh new file mode 100755 index 00000000..e6cff67d --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/01-systemsetup.sh @@ -0,0 +1,79 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2019 The Qt Company Ltd. +## Contact: https://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL$ +## 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 https://www.qt.io/terms-conditions. For further +## information use the contact form at https://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 3 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL3 included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 3 requirements +## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 2.0 or (at your option) the GNU General +## Public license version 3 or any later version approved by the KDE Free +## Qt Foundation. The licenses are as published by the Free Software +## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-2.0.html and +## https://www.gnu.org/licenses/gpl-3.0.html. +## +## $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" +# shellcheck source=../common/unix/check_and_set_proxy.sh +source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" + +echo "Set timezone to UTC." +sudo timedatectl set-timezone Etc/UTC +echo "Timeout for blanking the screen (0 = never)" +gsettings set org.gnome.desktop.session idle-delay 0 +echo "Prevents screen lock when screesaver goes active." +gsettings set org.gnome.desktop.screensaver lock-enabled false +gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true' + +sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub +sudo grub2-mkconfig -o /boot/grub2/grub.cfg + +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 + +sudo systemctl stop packagekit +sudo systemctl disable packagekit +sudo systemctl mask packagekit +while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do + echo "Waiting for PackageKit to finish..." + sleep 5 +done +sudo zypper -nq remove gnome-software + +# shellcheck disable=SC2031 +if [ "$http_proxy" != "" ]; then + sudo sed -i 's/PROXY_ENABLED=\"no\"/PROXY_ENABLED=\"yes\"/' /etc/sysconfig/proxy + sudo sed -i "s|HTTP_PROXY=\".*\"|HTTP_PROXY=\"$proxy\"|" /etc/sysconfig/proxy +fi diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-disable-gnome-notifications.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-disable-gnome-notifications.sh new file mode 100755 index 00000000..f38c9bab --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-disable-gnome-notifications.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# shellcheck source=../common/linux/disable-notifications.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-disable-ntp.sh new file mode 100755 index 00000000..38707a8a --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-disable-ntp.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +# shellcheck source=../common/linux/disable-ntp_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-enable-modules.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-enable-modules.sh new file mode 100755 index 00000000..61100b6e --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-enable-modules.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2022 The Qt Company Ltd. +## Contact: https://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL$ +## 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 https://www.qt.io/terms-conditions. For further +## information use the contact form at https://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 3 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL3 included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 3 requirements +## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 2.0 or (at your option) the GNU General +## Public license version 3 or any later version approved by the KDE Free +## Qt Foundation. The licenses are as published by the Free Software +## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-2.0.html and +## https://www.gnu.org/licenses/gpl-3.0.html. +## +## $QT_END_LICENSE$ +## +############################################################################# + +set -ex + +sudo curl http://repo-clones.ci.qt.io:8081/tools/rmt-client-setup --output rmt-client-setup +sudo chmod 755 rmt-client-setup +sudo SUSEConnect --cleanup +sudo sh rmt-client-setup https://repo-clones.ci.qt.io:8082 --yes --fingerprint 80:90:7F:45:C6:DF:45:8A:57:25:1E:17:5E:D7:E3:6E:96:1B:1B:95 + +# Activate these modules +sudo SUSEConnect -p sle-module-basesystem/15.4/x86_64 +sudo SUSEConnect -p sle-module-server-applications/15.4/x86_64 +sudo SUSEConnect -p sle-module-desktop-applications/15.4/x86_64 +sudo SUSEConnect -p sle-module-development-tools/15.4/x86_64 +sudo SUSEConnect -p sle-module-python3/15.4/x86_64 + +sudo zypper lr -u + +sudo rm -f /tmp/suse_rk.sh diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-zypperpackages.sh new file mode 100755 index 00000000..f4ebbfc2 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/02-zypperpackages.sh @@ -0,0 +1,125 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2020 The Qt Company Ltd. +## Contact: https://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL$ +## 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 https://www.qt.io/terms-conditions. For further +## information use the contact form at https://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 3 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL3 included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 3 requirements +## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 2.0 or (at your option) the GNU General +## Public license version 3 or any later version approved by the KDE Free +## Qt Foundation. The licenses are as published by the Free Software +## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-2.0.html and +## https://www.gnu.org/licenses/gpl-3.0.html. +## +## $QT_END_LICENSE$ +## +############################################################################# + +set -ex + +sudo zypper -nq install elfutils binutils + +sudo zypper addrepo --no-gpgcheck https://download.opensuse.org/repositories/devel:gcc/SLE-15/devel:gcc.repo +sudo zypper refresh +sudo zypper -nq install --force-resolution gcc10 gcc10-c++ + +sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 1 \ + --slave /usr/bin/g++ g++ /usr/bin/g++-10 \ + --slave /usr/bin/cc cc /usr/bin/gcc-10 \ + --slave /usr/bin/c++ c++ /usr/bin/g++-10 + +sudo zypper -nq install git ninja make patch wget tar + +sudo zypper -nq install bison flex gperf \ + zlib-devel \ + libudev-devel \ + glib2-devel \ + libopenssl-devel \ + freetype2-devel \ + fontconfig-devel \ + sqlite3-devel \ + libxkbcommon-devel \ + libxkbcommon-x11-devel + +sudo zypper -nq install cmake + +sudo zypper -nq install p7zip + +# EGL support +sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel + +# ICU +sudo zypper -nq install libicu-devel libicu-suse65_1 + +# gtk3 style for QtGui/QStyle +sudo zypper -nq install gtk3-devel + +# Xinput2 +sudo zypper -nq install libXi-devel postgresql14 postgresql14-devel mysql-devel mysql mysql-server + +# system provided XCB libraries +sudo zypper -nq install xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel \ + xcb-util-wm-devel xcb-util-renderutil-devel + +# qtwebengine +sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel libdrm-devel \ + libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \ + mozilla-nspr-devel mozilla-nss-devel glproto-devel libxshmfence-devel + +# qtwebkit +sudo zypper -nq install libxml2-devel libxslt-devel + +# GStreamer (qtwebkit and qtmultimedia), pulseaudio (qtmultimedia) +sudo zypper -nq install gstreamer-devel gstreamer-plugins-base-devel libpulse-devel + +# cups +sudo zypper -nq install cups-devel + +# speech-dispatcher +sudo zypper -nq install libspeechd-devel +#sudo sed -i 's:includedir=/usr/include:includedir=/usr/include/speech-dispatcher:' /usr/lib64/pkgconfig/speech-dispatcher.pc + +# ODBC support +sudo zypper -nq install unixODBC-devel unixODBC + +# sqlite support +sudo zypper -nq install sqlite3 sqlite3-devel + +# Java - needed by RTA jenkins +sudo zypper -nq install java + +# open-vm-tools requires update. Version in tier1 is broken and causes segfault on boot. +sudo zypper -nq update open-vm-tools + +# Tools to build Git +sudo zypper -nq install autoconf libcurl-devel libexpat-devel + +gccVersion="$(gcc --version |grep gcc |cut -b 17-23)" +echo "GCC = $gccVersion" >> versions.txt + +OpenSSLVersion="$(openssl version |cut -b 9-14)" +echo "OpenSSL = $OpenSSLVersion" >> ~/versions.txt diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang-v100-dyn.sh new file mode 100755 index 00000000..b0080cbc --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang-v100-dyn.sh @@ -0,0 +1,7 @@ +#!/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-SLES-15_SP4-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang.sh new file mode 100755 index 00000000..bbe2b4b4 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-libclang.sh @@ -0,0 +1,7 @@ +#!/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-SLES-15_SP4-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-pythondev.sh new file mode 100755 index 00000000..f8530fc8 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/08-pythondev.sh @@ -0,0 +1,116 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: https://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL$ +## 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 https://www.qt.io/terms-conditions. For further +## information use the contact form at https://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 3 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL3 included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 3 requirements +## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 2.0 or (at your option) the GNU General +## Public license version 3 or any later version approved by the KDE Free +## Qt Foundation. The licenses are as published by the Free Software +## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-2.0.html and +## https://www.gnu.org/licenses/gpl-3.0.html. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# provides: python development libraries +# version: provided by default Linux distribution repository +# needed to build pyside + +set -ex + +PROVISIONING_DIR="$(dirname "$0")/../" +. "$PROVISIONING_DIR"/common/unix/common.sourced.sh +. "$PROVISIONING_DIR"/common/unix/DownloadURL.sh + + +# Selected installation instructions coming from: +# https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/Python3/build_python3.sh +export PACKAGE_NAME="python" +python2Version="2.7.18" +python3Version="3.7.6" +python2Sha="678d4cf483a1c92efd347ee8e1e79326dc82810b" +python3Sha="55a2cce72049f0794e9a11a84862e9039af9183603b78bc60d89539f82cf533f" + + +function InstallPython { + + PACKAGE_VERSION=$1 + PACKAGE_SHA=$2 + + $CMD_PKG_INSTALL ncurses zlib-devel libffi-devel libopenssl-devel + + echo 'Configuration and Installation started' + + #Download Source code + DownloadURL \ + http://ci-files01-hki.intra.qt.io/input/python/Python-${PACKAGE_VERSION}.tar.xz \ + https://www.python.org/ftp/${PACKAGE_NAME}/${PACKAGE_VERSION}/Python-${PACKAGE_VERSION}.tar.xz \ + $PACKAGE_SHA + tar -xf "Python-${PACKAGE_VERSION}.tar.xz" + + #Configure and Build + cd "Python-${PACKAGE_VERSION}" + ./configure --prefix=/usr/local --exec-prefix=/usr/local + make + sudo make install + + echo 'Installed python successfully' + + #Cleanup + cd - + rm "Python-${PACKAGE_VERSION}.tar.xz" + + #Verify python installation + export PATH="/usr/local/bin:${PATH}" + if command -V "$PACKAGE_NAME"${PACKAGE_VERSION:0:1} >/dev/null + then + printf -- "%s installation completed. Please check the Usage to start the service.\n" "$PACKAGE_NAME" + else + printf -- "Error while installing %s, exiting with 127 \n" "$PACKAGE_NAME" + exit 127 + fi + + +} + +InstallPython "$python2Version" "$python2Sha" +InstallPython "$python3Version" "$python3Sha" + +python3 --version | fgrep "$python3Version" + +pip3 install --user wheel +pip3 install --user virtualenv + +# Install all needed packages in a special wheel cache directory +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" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/09-cmake.sh new file mode 100755 index 00000000..5eb53566 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/09-cmake.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +"$(dirname "$0")/../common/linux/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/20-sccache.sh new file mode 100755 index 00000000..b371d947 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-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-SLES-15_SP4-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/22-mqtt_broker.sh new file mode 100755 index 00000000..e0875b37 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/22-mqtt_broker.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: https://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL$ +## 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 https://www.qt.io/terms-conditions. For further +## information use the contact form at https://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 3 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL3 included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 3 requirements +## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 2.0 or (at your option) the GNU General +## Public license version 3 or any later version approved by the KDE Free +## Qt Foundation. The licenses are as published by the Free Software +## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-2.0.html and +## https://www.gnu.org/licenses/gpl-3.0.html. +## +## $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-SLES-15_SP4-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/30-install-conan.sh new file mode 100755 index 00000000..b8820053 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-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" "linux" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/30-install-git.sh new file mode 100755 index 00000000..05fcdf8e --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/30-install-git.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/linux/install-git.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/55-emsdk.sh new file mode 100755 index 00000000..3299f3e5 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/55-emsdk.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: https://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL$ +## 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 https://www.qt.io/terms-conditions. For further +## information use the contact form at https://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 3 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL3 included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 3 requirements +## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 2.0 or (at your option) the GNU General +## Public license version 3 or any later version approved by the KDE Free +## Qt Foundation. The licenses are as published by the Free Software +## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-2.0.html and +## https://www.gnu.org/licenses/gpl-3.0.html. +## +## $QT_END_LICENSE$ +## +############################################################################# + +set -ex + +# shellcheck source=../common/unix/emsdk.sh +source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/70-install_QemuGA.sh new file mode 100755 index 00000000..248e17db --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/70-install_QemuGA.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2020 The Qt Company Ltd. +## Contact: https://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL$ +## 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 https://www.qt.io/terms-conditions. For further +## information use the contact form at https://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 3 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL3 included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 3 requirements +## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 2.0 or (at your option) the GNU General +## Public license version 3 or any later version approved by the KDE Free +## Qt Foundation. The licenses are as published by the Free Software +## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-2.0.html and +## https://www.gnu.org/licenses/gpl-3.0.html. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script installs QEMU Guest Agent + +set -ex + +sudo zypper -nq install qemu-guest-agent diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/90-squish.sh new file mode 100755 index 00000000..e4281588 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-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-SLES-15_SP4-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-unset-proxy.sh new file mode 100755 index 00000000..59f3abc2 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-unset-proxy.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: https://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL$ +## 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 https://www.qt.io/terms-conditions. For further +## information use the contact form at https://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 3 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL3 included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 3 requirements +## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 2.0 or (at your option) the GNU General +## Public license version 3 or any later version approved by the KDE Free +## Qt Foundation. The licenses are as published by the Free Software +## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-2.0.html and +## https://www.gnu.org/licenses/gpl-3.0.html. +## +## $QT_END_LICENSE$ +## +############################################################################# + +set -ex + +# Having proxy set while running autotests makes them fail +sudo sed -i 's/PROXY_ENABLED=\"yes\"/PROXY_ENABLED=\"no\"/' /etc/sysconfig/proxy + diff --git a/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-version.sh b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-version.sh new file mode 100755 index 00000000..87825b16 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15_SP4-x86_64/99-version.sh @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: https://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL$ +## 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 https://www.qt.io/terms-conditions. For further +## information use the contact form at https://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 3 as published by the Free Software +## Foundation and appearing in the file LICENSE.LGPL3 included in the +## packaging of this file. Please review the following information to +## ensure the GNU Lesser General Public License version 3 requirements +## will be met: https://www.gnu.org/licenses/lgpl-3.0.html. +## +## GNU General Public License Usage +## Alternatively, this file may be used under the terms of the GNU +## General Public License version 2.0 or (at your option) the GNU General +## Public license version 3 or any later version approved by the KDE Free +## Qt Foundation. The licenses are as published by the Free Software +## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 +## included in the packaging of this file. Please review the following +## information to ensure the GNU General Public License requirements will +## be met: https://www.gnu.org/licenses/gpl-2.0.html and +## https://www.gnu.org/licenses/gpl-3.0.html. +## +## $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" |