diff options
author | Heikki Halmet <heikki.halmet@qt.io> | 2022-06-20 08:57:07 +0300 |
---|---|---|
committer | Heikki Halmet <heikki.halmet@qt.io> | 2022-11-05 11:52:04 +0000 |
commit | 43a8ea3bbd0490eed0b526771ae457172d8a9a5f (patch) | |
tree | 08d58149df8a8ad10627024142f7d16e54afeb05 | |
parent | 5f48df25c02c32bd64b0037b7a170ac991c4ca46 (diff) |
Add openSUSE LEAP 15.4 (KDE) to CI
Graphichs Platform: X11 (System default) in image with suffix 50
Graphics Platform: Wayland (Plasma (Wayland) in image with suffix 51
Task-number: QTQAINFRA-5049
Change-Id: If4b208bc12bd272c757aac61ffc9ef7a88df8f7c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit 9c21dd75d264b349621ff2093dae36aeb2032161)
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
25 files changed, 668 insertions, 6 deletions
diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml index e43d4679..add0169d 100644 --- a/coin/platform_configs/cmake_platforms.yaml +++ b/coin/platform_configs/cmake_platforms.yaml @@ -24,8 +24,8 @@ Configurations: 'NON_QTBASE_CMAKE_ARGS=-DFFMPEG_DIR={{.Env.FFMPEG_DIR}}' ] - - Id: 'OpenSUSE-15.3-host' - Template: 'qtci-linux-openSUSE-15.3-x86_64-50' + Id: 'OpenSUSE-15.4-host' + Template: 'qtci-linux-openSUSE-15.4-x86_64-50' Compiler: 'GCC' Features: ['Sccache', 'WarningsAreErrors', 'UseConfigure'] Configure arguments: '-nomake examples -developer-build' diff --git a/coin/platform_configs/cmake_platforms_wasm.yaml b/coin/platform_configs/cmake_platforms_wasm.yaml index 4f7dea69..8f474e68 100644 --- a/coin/platform_configs/cmake_platforms_wasm.yaml +++ b/coin/platform_configs/cmake_platforms_wasm.yaml @@ -1,10 +1,10 @@ Version: 2 Configurations: - - Template: 'qtci-linux-openSUSE-15.3-x86_64-50' + Template: 'qtci-linux-openSUSE-15.4-x86_64-50' Target os: 'WebAssembly' Compiler: 'GCC' - Platform dependency: 'OpenSUSE-15.3-host' + Platform dependency: 'OpenSUSE-15.4-host' Features: ['Packaging', 'Sccache', 'DisableTests', 'UseConfigure'] Environment variables: [ 'EM_CONFIG={{.Env.EMSDK}}/.emscripten', @@ -15,10 +15,10 @@ Configurations: ] - Id: 'webassembly-thread-asyncify' - Template: 'qtci-linux-openSUSE-15.3-x86_64-50' + Template: 'qtci-linux-openSUSE-15.4-x86_64-50' Target os: 'WebAssembly' Compiler: 'GCC' - Platform dependency: 'OpenSUSE-15.3-host' + Platform dependency: 'OpenSUSE-15.4-host' Features: ['Sccache', 'DisableTests'] Environment variables: [ 'EM_CONFIG={{.Env.EMSDK}}/.emscripten', diff --git a/coin/pre-provisioning/qtci-linux-openSUSE-15.4-x86_64/README_MANUAL_INSTALLATIONS b/coin/pre-provisioning/qtci-linux-openSUSE-15.4-x86_64/README_MANUAL_INSTALLATIONS new file mode 100644 index 00000000..1f7a3044 --- /dev/null +++ b/coin/pre-provisioning/qtci-linux-openSUSE-15.4-x86_64/README_MANUAL_INSTALLATIONS @@ -0,0 +1,42 @@ +### OpenSUSE Leap 15.4 ### +## KDE ## +## In qtci-linux-openSUSE-15.4-x86_64-50 > Graphics Platform: X11 (System default) ## +## In qtci-linux-openSUSE-15.4-x86_64-51 > Graphics Platform: Wayland (Plasma (Wayland))## + +# Installation # +Language: English (US) +Keyboard Layout: English (US) + +Activate online repositories during installation (yes) +Use default selections + +Desktop with KDE Plasma + +Suggested Partitioning - default values + +Time Zone: UTC + +## Configurations ## +Download and run coin-setup binary +YaST - System - Services Manager - Firewalld - Stop +# enable ssh access +sudo rcsshd start +Workspace Behavior - Screen locking - Lock screen automatically - unselect options +Startup and Shutdown - Behavior - Login Screen - Select Automatically log in with session (System default) +Add below to '$HOME/.config/autostart/coin-bootstrap-agent.desktop' + [Desktop Entry] + Type=Application + Exec=/usr/bin/gnome-terminal -e "/home/qt/bootstrap-agent /dev/ttyS0" + Hidden=false + X-GNOME-Autostart-enabled=true + Name=Coin +Notifications + Critical notifications - unselect + Log priority notifications - unselect + Application progress: Show in task manager - unselect + Show in notifications - unselect + Notification badges: Show in task manager - unselect +Display and Monitor - Display Configuration - 1280x800 +Power Management: Screen Energy Saving - unselect + +add 'qt ALL=NOPASSWD: ALL' to /etc/sudoers.d/qt diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-disable_net_lso.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-disable_net_lso.sh new file mode 100755 index 00000000..c404c366 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-disable_net_lso.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +echo "ethtool -K \${DEVICE_IFACE} tso off" | sudo tee -a /etc/NetworkManager/dispatcher.d/net_tso_off +sudo chmod +x /etc/NetworkManager/dispatcher.d/net_tso_off diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-install_telegraf.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-install_telegraf.sh new file mode 100755 index 00000000..729f9003 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.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-openSUSE-15.4-x86_64/01-set-ulimit.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-set-ulimit.sh new file mode 100755 index 00000000..dadc0781 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-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-openSUSE-15.4-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-systemsetup.sh new file mode 100755 index 00000000..57eb01e9 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/01-systemsetup.sh @@ -0,0 +1,73 @@ +#!/usr/bin/env bash +############################################################################# +## +## Copyright (C) 2022 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" +# shellcheck source=../common/unix/check_and_set_proxy.sh +source "${BASH_SOURCE%/*}/../common/unix/check_and_set_proxy.sh" + +# https://bugzilla.opensuse.org/show_bug.cgi?id=1032027 +sudo btrfs quota disable / + +sed -i '$ a\[Daemon\]\nAutolock=false\nLockOnResume=false' ~/.config/kscreenlockerrc + +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 "Disabling file indexing." +sudo balooctl disable + +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 0.5 +done +echo "Disabling update notifications" +sudo zypper -nq remove plasma5-pk-updates + + +# 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-openSUSE-15.4-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/02-disable-ntp.sh new file mode 100755 index 00000000..38707a8a --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-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-openSUSE-15.4-x86_64/03-enable-repos.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/03-enable-repos.sh new file mode 100755 index 00000000..58ab7727 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/03-enable-repos.sh @@ -0,0 +1,49 @@ +#!/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 sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/distribution/leap/15.4/repo/oss/#g" /etc/zypp/repos.d/repo-oss.repo +sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/distribution/leap/15.4/repo/non-oss/#g" /etc/zypp/repos.d/repo-non-oss.repo +sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/update/leap/15.4/oss/#g" /etc/zypp/repos.d/repo-update.repo +sudo sed -i "s#baseurl=.*#baseurl=http://repo-clones.ci.qt.io/repos/opensuse/update/leap/15.4/non-oss/#g" /etc/zypp/repos.d/repo-update-non-oss.repo + +sudo zypper lr -u diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/04-zypperpackages.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/04-zypperpackages.sh new file mode 100755 index 00000000..070c026b --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/04-zypperpackages.sh @@ -0,0 +1,97 @@ +#!/usr/bin/env bash +############################################################################# +## +## Copyright (C) 2022 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 zypper -nq install git gcc9 gcc9-c++ ninja +sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 1 \ + --slave /usr/bin/g++ g++ /usr/bin/g++-9 \ + --slave /usr/bin/cc cc /usr/bin/gcc-9 \ + --slave /usr/bin/c++ c++ /usr/bin/g++-9 + +sudo zypper -nq install bison flex gperf \ + zlib-devel \ + systemd-devel \ + glib2-devel \ + libopenssl-devel \ + freetype2-devel \ + fontconfig-devel \ + sqlite3-devel \ + libxkbcommon-devel \ + libxkbcommon-x11-devel \ + pcre2-devel libpng16-devel + +# EGL support +sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel + + +# Xinput2 +sudo zypper -nq install libXi-devel + +# 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 xcb-util-cursor-devel + +# ICU +sudo zypper -nq install libicu-devel + +# qtwebengine +sudo zypper -nq install alsa-devel dbus-1-devel libxkbfile-devel \ + libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \ + mozilla-nspr-devel mozilla-nss-devel nodejs12 glproto-devel \ + libxshmfence-devel libXdamage-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 + +# make +sudo zypper -nq install make + +# 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-openSUSE-15.4-x86_64/08-libclang-v100-dyn.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-libclang-v100-dyn.sh new file mode 100755 index 00000000..b0080cbc --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-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-openSUSE-15.4-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-libclang.sh new file mode 100755 index 00000000..bbe2b4b4 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-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-openSUSE-15.4-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-pythondev.sh new file mode 100755 index 00000000..ad810d3e --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/08-pythondev.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash +############################################################################# +## +## Copyright (C) 2022 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$ +## +############################################################################# + +# provides: python development libraries +# version: provided by default Linux distribution repository +# needed to build pyside + +set -ex + +sudo zypper -nq install python-devel python-xml + +# install python3 +sudo zypper -nq install python3-base python3 python3-pip python3-devel python3-virtualenv python3-wheel + +# 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-openSUSE-15.4-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/09-cmake.sh new file mode 100755 index 00000000..5eb53566 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-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-openSUSE-15.4-x86_64/10-cmake-min-supported.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/10-cmake-min-supported.sh new file mode 100755 index 00000000..cc79d066 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/10-cmake-min-supported.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -ex + +"$(dirname "$0")/../common/linux/cmake_min_supported.sh" + +# For testing Qt's CMake deployment API with CMake < 3.21, we need patchelf. +sudo zypper -nq install patchelf diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/20-sccache.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/20-sccache.sh new file mode 100755 index 00000000..b371d947 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.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-openSUSE-15.4-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/22-mqtt_broker.sh new file mode 100755 index 00000000..e0875b37 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-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-openSUSE-15.4-x86_64/30-install-conan.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/30-install-conan.sh new file mode 100755 index 00000000..b8820053 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.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" "linux" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/30-install-git.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/30-install-git.sh new file mode 100755 index 00000000..05fcdf8e --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-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-openSUSE-15.4-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/55-emsdk.sh new file mode 100755 index 00000000..3299f3e5 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-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-openSUSE-15.4-x86_64/70-install_QemuGA.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/70-install_QemuGA.sh new file mode 100755 index 00000000..248e17db --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-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-openSUSE-15.4-x86_64/80-install-chrome.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/80-install-chrome.sh new file mode 100755 index 00000000..3b3b2ded --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/80-install-chrome.sh @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +############################################################################# +## +## Copyright (C) 2022 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 + +# This script will install up-to-date google Chrome needed for Webassembly auto tests. + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +# Webassembly auto tests run requires latest Chrome. Let's use the latest stable one which means we can't cache this +sudo zypper ar http://dl.google.com/linux/chrome/rpm/stable/x86_64 Google-Chrome + +# Add the Google public signing key +externalUrl="https://dl.google.com/linux/linux_signing_key.pub" +Download "$externalUrl" "/tmp/linux_signing_key.pub" +sudo rpm --import /tmp/linux_signing_key.pub + +# Update the repo cache of zypper and install Chrome +sudo zypper ref -f +sudo zypper -nq install --no-confirm google-chrome-stable + +# Install Chromedriver Chromium +sudo zypper -nq install chromedriver + diff --git a/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/90-squish.sh new file mode 100755 index 00000000..e4281588 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.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-openSUSE-15.4-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-unset-proxy.sh new file mode 100755 index 00000000..59f3abc2 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-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-openSUSE-15.4-x86_64/99-version.sh b/coin/provisioning/qtci-linux-openSUSE-15.4-x86_64/99-version.sh new file mode 100755 index 00000000..87825b16 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.4-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" |