aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTero Heikkinen <tero.heikkinen@qt.io>2023-06-27 18:38:07 +0300
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-09-14 15:40:29 +0000
commit39ac86b9e1aabfe18733e47057c701852b26dfa7 (patch)
tree3fdc6a3c97753efdb499bbeb41d67ecbe3ca8cff
parent54f555c6a45f27984a95f55687f28a0fe3403ad9 (diff)
Add SLES 15.5 to CI with InsignificantTests flag enabled
SLES 15.5 will be added as parallel with SLES 15.4 until packaging site gives green light to remove the older version. Upgrade nodejs to commonly used 18.16.0 version This is following the new CI process to introduce new platforms in parallel with Insignificant flags in use. Flags removed later after flakiness has been monitored enough to give green for OS replacing. Task-number: QTQAINFRA-5667 Change-Id: I66d325f0e20f536b8e8b61ce3eb9f1dbc6a9f204 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Heikki Halmet <heikki.halmet@qt.io> Reviewed-by: Tero Heikkinen <tero.heikkinen@qt.io> (cherry picked from commit f81b389059d3272fff543898647be8326f5ac20a) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--coin/platform_configs/cmake_platforms.yaml10
-rw-r--r--coin/platform_configs/cmake_platforms_static_tests.yaml9
-rw-r--r--coin/platform_configs/qtsaferenderer-runtime.yaml1
-rw-r--r--coin/platform_configs/qtsaferenderer.yaml1
-rw-r--r--coin/pre-provisioning/qtci-linux-SLES-15_SP5-x86_64/README_MANUAL_INSTALLATIONS75
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-btrfs-balance.sh11
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-coredump.sh8
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-fstrim_timer.sh9
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable_net_lso.sh8
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-install_telegraf.sh5
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-set-ulimit.sh8
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-systemsetup.sh52
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-gnome-notifications.sh6
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-ntp.sh5
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-enable-modules.sh23
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-zypperpackages.sh101
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang-v100-dyn.sh9
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang.sh9
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-pythondev.sh76
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-cmake.sh7
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-openssl.sh7
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/20-sccache.sh5
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/22-mqtt_broker.sh6
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-conan.sh8
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-git.sh8
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/55-emsdk.sh8
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/60-install_protobuf.sh9
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/61-install_grpc.sh9
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/70-install_QemuGA.sh9
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-bootstrap-autostart.sh5
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh5
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-mimer.sh8
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-squish.sh7
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-unset-proxy.sh9
-rw-r--r--coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-version.sh17
35 files changed, 553 insertions, 0 deletions
diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml
index 7f0f7b25..f4535f3c 100644
--- a/coin/platform_configs/cmake_platforms.yaml
+++ b/coin/platform_configs/cmake_platforms.yaml
@@ -60,6 +60,16 @@ Configurations:
'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
]
-
+ Id: 'sles-15_sp5-static'
+ Template: 'qtci-linux-SLES-15_SP5-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'DisableTests', 'UseConfigure', 'InsignificantTests']
+ Configure arguments: '-nomake examples -static -no-sql-mysql'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}',
+ 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}'
+ ]
+-
Id: 'windows-10_22h2-msvc2019'
Template: 'qtci-windows-10_22H2-x86_64-51'
Compiler: 'MSVC2019'
diff --git a/coin/platform_configs/cmake_platforms_static_tests.yaml b/coin/platform_configs/cmake_platforms_static_tests.yaml
index 53b63398..2790aa3f 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_sp5-minimal-static'
+ Template: 'qtci-linux-SLES-15_SP5-x86_64-50'
+ Compiler: 'GCC'
+ Features: ['Sccache', 'MinimalStaticTests', 'UseConfigure', 'InsignificantTests']
+ Configure arguments: '-nomake examples -static -no-sql-mysql'
+ Environment variables: [
+ 'CMAKE_ARGS=-DOPENSSL_ROOT_DIR={{.Env.OPENSSL_HOME}}'
+ ]
+-
Id: 'windows-10_22h2-minimal-static'
Template: 'qtci-windows-10_22H2-x86_64-51'
Compiler: 'MSVC2019'
diff --git a/coin/platform_configs/qtsaferenderer-runtime.yaml b/coin/platform_configs/qtsaferenderer-runtime.yaml
index dc437366..c973ddee 100644
--- a/coin/platform_configs/qtsaferenderer-runtime.yaml
+++ b/coin/platform_configs/qtsaferenderer-runtime.yaml
@@ -10,6 +10,7 @@ Include: [
"ubuntu-22.04-documentation",
"opensuse-15.4-developer-build",
"sles-15_sp4-static",
+ "sles-15_sp5-static",
"windows-10_22h2-msvc2019",
"windows-10_22h2-msvc2022",
"windows-10_22h2-msvc2019-developer-build",
diff --git a/coin/platform_configs/qtsaferenderer.yaml b/coin/platform_configs/qtsaferenderer.yaml
index f0589916..3d8679a3 100644
--- a/coin/platform_configs/qtsaferenderer.yaml
+++ b/coin/platform_configs/qtsaferenderer.yaml
@@ -10,6 +10,7 @@ Include: [
"ubuntu-22.04-documentation",
"opensuse-15.4-developer-build",
"sles-15_sp4-static",
+ "sles-15_sp5-static",
"windows-10_22h2-msvc2019",
"windows-10_22h2-msvc2022",
"rhel-8.4",
diff --git a/coin/pre-provisioning/qtci-linux-SLES-15_SP5-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-SLES-15_SP5-x86_64/README_MANUAL_INSTALLATIONS
new file mode 100644
index 00000000..3f25ec4a
--- /dev/null
+++ b/coin/pre-provisioning/qtci-linux-SLES-15_SP5-x86_64/README_MANUAL_INSTALLATIONS
@@ -0,0 +1,75 @@
+### SUSE Linux Enterprise Server 15 SP5 ###
+
+# Register product #
+Register product at the beginning or later during the
+installation process. Full version allows registering later.
+
+# 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
+
+# Run this command for changes to take effect
+sudo bash /sbin/set_polkit_default_privs
+
+# 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
+
+# If not yet registered - Register product
+# Add 'Available Extensions and Modules'
+* Basesystem Module 15 SP5 x86_64
+* Server Applications Module 15 SP5 x86_64
+* Python 3 Module 15 SP5 x86_64
+* Desktop Applications Module 15 SP5 x86_64
+
+zypper update
+
+* Download and run coin-setup
+
+# Fetch and run coin-setup
+Download http://coin/coin/binary/linux_386/coin-setup
+# run as qt user
+chmod 755 ./coin-setup
+sudo ./coin-setup
+
+sudo reboot now
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-btrfs-balance.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-btrfs-balance.sh
new file mode 100644
index 00000000..23f9ce85
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-btrfs-balance.sh
@@ -0,0 +1,11 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+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_SP5-x86_64/01-disable-coredump.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-coredump.sh
new file mode 100644
index 00000000..c757ecb9
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-coredump.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+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_SP5-x86_64/01-disable-fstrim_timer.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-fstrim_timer.sh
new file mode 100644
index 00000000..93c694d0
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable-fstrim_timer.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# 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_SP5-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable_net_lso.sh
new file mode 100644
index 00000000..19ce7038
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-disable_net_lso.sh
@@ -0,0 +1,8 @@
+#!/bin/sh
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+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_SP5-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-install_telegraf.sh
new file mode 100644
index 00000000..70aeca1a
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-install_telegraf.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+"$(dirname "$0")"/../common/unix/telegraf_install.sh
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-set-ulimit.sh
new file mode 100644
index 00000000..59cbf4bb
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-set-ulimit.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/set_ulimit.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-systemsetup.sh
new file mode 100644
index 00000000..6c59e232
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/01-systemsetup.sh
@@ -0,0 +1,52 @@
+#!/usr/bin/env bash
+# Copyright (C) 2019 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/shared/network_test_server_ip.txt
+source "$BASEDIR/../common/shared/network_test_server_ip.txt"
+# 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
+
+echo "Checking packagekit status"
+sudo systemctl status packagekit
+
+# This can be optimized in future if some sleep steps or even stop -command is not needed
+# SP5 finally worked with this setup and would've needed new provisioning to optimize more
+echo "Packagekit needs waiting with proper order for disposal.."
+sudo systemctl disable packagekit
+sudo sleep 2m
+sudo systemctl stop packagekit
+sudo sleep 2m
+sudo systemctl mask packagekit
+sudo sleep 2m
+# This caused failing, commented out if possible to take this approach back later
+#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_SP5-x86_64/02-disable-gnome-notifications.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-gnome-notifications.sh
new file mode 100644
index 00000000..bf699969
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-gnome-notifications.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/linux/disable-notifications.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-ntp.sh
new file mode 100644
index 00000000..b3b4880c
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-disable-ntp.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+# shellcheck source=../common/linux/disable-ntp_linux.sh
+source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-enable-modules.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-enable-modules.sh
new file mode 100644
index 00000000..55c697e3
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-enable-modules.sh
@@ -0,0 +1,23 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+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.5/x86_64
+sudo SUSEConnect -p sle-module-server-applications/15.5/x86_64
+sudo SUSEConnect -p sle-module-desktop-applications/15.5/x86_64
+sudo SUSEConnect -p sle-module-development-tools/15.5/x86_64
+sudo SUSEConnect -p sle-module-python3/15.5/x86_64
+# sle-module-web-scripting is required for Nodejs
+sudo SUSEConnect -p sle-module-web-scripting/15.5/x86_64
+
+sudo zypper lr -u
+
+sudo rm -f /tmp/suse_rk.sh
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-zypperpackages.sh
new file mode 100644
index 00000000..eb559a66
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/02-zypperpackages.sh
@@ -0,0 +1,101 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+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 \
+ 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 addrepo --no-gpgcheck https://download.postgresql.org/pub/repos/zypp/repo/pgdg-sles-15-pg14.repo
+# Leaving postgresql14-devel out as dependency with clang15-devel doesn't yet have provider
+sudo zypper -nq install libXi-devel postgresql14 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
+
+# temporary solution for libxcb-cursor0 xcb-util-cursor-devel
+sudo zypper addrepo --no-gpgcheck https://download.opensuse.org/repositories/home:/liangqi_qt:/branches:/SUSE:/SLE-15-SP5:/GA/standard/home:liangqi_qt:branches:SUSE:SLE-15-SP5:GA.repo
+sudo zypper refresh
+sudo zypper -nq install --force-resolution libxcb-cursor0 xcb-util-cursor-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
+
+# yasm (for ffmpeg in multimedia)
+sudo zypper -nq install yasm
+
+# 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
+
+# Nodejs - required by QtWebengine
+# Skip this and use commonly installed nodejs 18.16.0 version as it's available
+#sudo zypper -nq install nodejs16
+
+# OpenSSL 3
+sudo zypper -nq install openssl-3
+
+gccVersion="$(gcc --version |grep gcc |cut -b 17-23)"
+echo "GCC = $gccVersion" >> versions.txt
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang-v100-dyn.sh
new file mode 100644
index 00000000..fc446b09
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang-v100-dyn.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+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_SP5-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang.sh
new file mode 100644
index 00000000..85786c6d
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-libclang.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+# shellcheck source=../common/unix/libclang.sh
+"$BASEDIR/../common/unix/libclang.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-pythondev.sh
new file mode 100644
index 00000000..5811dc12
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/08-pythondev.sh
@@ -0,0 +1,76 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# 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.8.16"
+python2Sha="678d4cf483a1c92efd347ee8e1e79326dc82810b"
+python3Sha="d85dbb3774132473d8081dcb158f34a10ccad7a90b96c7e50ea4bb61f5ce4562"
+
+
+function InstallPython {
+
+ PACKAGE_VERSION=$1
+ PACKAGE_SHA=$2
+
+ $CMD_PKG_INSTALL ncurses zlib-devel libffi-devel
+
+ echo 'Configuration and Installation started'
+
+ #Download Source code
+ DownloadURL \
+ http://ci-files01-hki.ci.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
+
+# shellcheck source=../common/unix/SetEnvVar.sh
+source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh"
+SetEnvVar "PYTHON3_PATH" "/usr/local/bin"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-cmake.sh
new file mode 100644
index 00000000..2f9acc6b
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-cmake.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+"$(dirname "$0")/../common/linux/cmake_linux.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-openssl.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-openssl.sh
new file mode 100644
index 00000000..3a65360e
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/09-openssl.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+"$(dirname "$0")/../common/unix/install-openssl.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/20-sccache.sh
new file mode 100644
index 00000000..1e30c811
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/20-sccache.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+source "${BASH_SOURCE%/*}/../common/linux/sccache.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/22-mqtt_broker.sh
new file mode 100644
index 00000000..c81f5c66
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/22-mqtt_broker.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# shellcheck source=../common/unix/mqtt_broker.sh
+source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-conan.sh
new file mode 100644
index 00000000..337d7c0c
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-conan.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/install-conan.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-git.sh
new file mode 100644
index 00000000..4931b6ae
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/30-install-git.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/install-git.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/55-emsdk.sh
new file mode 100644
index 00000000..6b1a79e5
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/55-emsdk.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/emsdk.sh
+source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/60-install_protobuf.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/60-install_protobuf.sh
new file mode 100644
index 00000000..c538ca07
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/60-install_protobuf.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_protobuf.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_protobuf.sh"
+
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/61-install_grpc.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/61-install_grpc.sh
new file mode 100644
index 00000000..ecd6a51f
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/61-install_grpc.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# shellcheck source=../common/unix/install_grpc.sh
+source "${BASH_SOURCE%/*}/../common/unix/install_grpc.sh"
+
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/70-install_QemuGA.sh
new file mode 100644
index 00000000..76459a03
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/70-install_QemuGA.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2020 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script installs QEMU Guest Agent
+
+set -ex
+
+sudo zypper -nq install qemu-guest-agent
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-bootstrap-autostart.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-bootstrap-autostart.sh
new file mode 100644
index 00000000..d524920e
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-bootstrap-autostart.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+source "${BASH_SOURCE%/*}/../common/linux/bootstrap-autostart.sh"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh
new file mode 100644
index 00000000..2a0d7258
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-install-ffmpeg.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+source "${BASH_SOURCE%/*}/../common/unix/install-ffmpeg.sh" "linux"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-mimer.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-mimer.sh
new file mode 100644
index 00000000..bff2a7c7
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-mimer.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/linux/mimersql.sh" "openssl-1" "rpm"
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-squish.sh
new file mode 100644
index 00000000..68f0fba2
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/90-squish.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash
+# Copyright (C) 2023 The Qt Company Ltd
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+BASEDIR=$(dirname "$0")
+"$BASEDIR/../common/unix/squishInstall.sh"
+
diff --git a/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-unset-proxy.sh
new file mode 100644
index 00000000..d63c4919
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-unset-proxy.sh
@@ -0,0 +1,9 @@
+#!/usr/bin/env bash
+# Copyright (C) 2017 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+set -ex
+
+# 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_SP5-x86_64/99-version.sh b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-version.sh
new file mode 100644
index 00000000..00d06674
--- /dev/null
+++ b/coin/provisioning/qtci-linux-SLES-15_SP5-x86_64/99-version.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+# Copyright (C) 2018 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+# This script needs to be called last during provisioning so that the software information will show up last in provision log.
+
+# Storage installed RPM packages information
+
+set -ex
+
+# shellcheck disable=SC2129
+echo "*********************************************" >> ~/versions.txt
+echo "***** All installed RPM packages *****" >> ~/versions.txt
+rpm -q -a | sort >> ~/versions.txt
+echo "*********************************************" >> ~/versions.txt
+
+"$(dirname "$0")/../common/linux/version.sh"