From 89e0159bbc0f3837bb777a92bb7d80e58973a1b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tony=20Saraj=C3=A4rvi?= Date: Thu, 14 Jun 2018 13:42:21 +0300 Subject: Swap openSUSE 42.3 to 15 Task-number: QTQAINFRA-2067 Change-Id: I71f79181704d6ce8faac0019f6d7a5016b0ecb5e Reviewed-by: Qt CI Bot Reviewed-by: Gatis Paeglis Reviewed-by: Heikki Halmet --- .../01-systemsetup.sh | 38 ++++++++++ .../02-disable-ntp.sh | 3 + .../02-zypperpackages.sh | 51 +++++++++++++ .../qtci-linux-openSUSE-15.0-x86_64/08-libclang.sh | 7 ++ .../08-pythondev.sh | 18 +++++ .../qtci-linux-openSUSE-15.0-x86_64/09-cmake.sh | 5 ++ .../qtci-linux-openSUSE-15.0-x86_64/18-icc.sh | 86 ++++++++++++++++++++++ .../22-mqtt_broker.sh | 37 ++++++++++ .../50-open62541.sh | 37 ++++++++++ .../qtci-linux-openSUSE-15.0-x86_64/55-emsdk.sh | 38 ++++++++++ .../qtci-linux-openSUSE-15.0-x86_64/90-squish.sh | 4 + .../99-unset-proxy.sh | 39 ++++++++++ .../qtci-linux-openSUSE-15.0-x86_64/99-version.sh | 48 ++++++++++++ 13 files changed, 411 insertions(+) create mode 100755 coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/01-systemsetup.sh create mode 100755 coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/02-disable-ntp.sh create mode 100755 coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/02-zypperpackages.sh create mode 100755 coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/08-libclang.sh create mode 100755 coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/08-pythondev.sh create mode 100755 coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/09-cmake.sh create mode 100755 coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/18-icc.sh create mode 100755 coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/22-mqtt_broker.sh create mode 100755 coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/50-open62541.sh create mode 100755 coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/55-emsdk.sh create mode 100755 coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/90-squish.sh create mode 100755 coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/99-unset-proxy.sh create mode 100755 coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/99-version.sh (limited to 'coin/provisioning/qtci-linux-openSUSE-15.0-x86_64') diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/01-systemsetup.sh new file mode 100755 index 00000000..7e6993a5 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/01-systemsetup.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +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 + +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.0-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/02-disable-ntp.sh new file mode 100755 index 00000000..38707a8a --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.0-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.0-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/02-zypperpackages.sh new file mode 100755 index 00000000..d1f3050f --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/02-zypperpackages.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash + +set -ex + +sudo zypper -nq install git gcc7 gcc7-c++ +sudo /usr/sbin/update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 1 \ + --slave /usr/bin/g++ g++ /usr/bin/g++-7 \ + --slave /usr/bin/cc cc /usr/bin/gcc-7 \ + --slave /usr/bin/c++ c++ /usr/bin/g++-7 + +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 + +# 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 + +# ICU +sudo zypper -nq install libicu-devel libicu60_2 + +# qtwebengine +sudo zypper -nq install alsa-devel dbus-1-devel \ + libXcomposite-devel libXcursor-devel libXrandr-devel libXtst-devel \ + mozilla-nspr-devel mozilla-nss-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 diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/08-libclang.sh new file mode 100755 index 00000000..bbe2b4b4 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.0-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.0-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/08-pythondev.sh new file mode 100755 index 00000000..208762d3 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/08-pythondev.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +# provides: python development libraries +# version: provided by default Linux distribution repository +# needed to build pyside + +set -ex + +sudo pkcon -y refresh +sudo pkcon -y install python-devel python-virtualenv + +# install python3 +sudo pkcon -y install libpython3_4m1_0 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 + +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/09-cmake.sh new file mode 100755 index 00000000..5eb53566 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.0-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.0-x86_64/18-icc.sh b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/18-icc.sh new file mode 100755 index 00000000..7ab8528a --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/18-icc.sh @@ -0,0 +1,86 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script install Intel Parallel Studio XE Composer Edition for C++ Linux + +# shellcheck source=../common/unix/DownloadURL.sh +source "${BASH_SOURCE%/*}/../common/unix/DownloadURL.sh" + +set -ex + +mainStorage="ci-files01-hki.intra.qt.io:/hdd/www/input" +localMount="/mnt/storage/" + +iccPackage="parallel_studio_xe_2018_update1_composer_edition_for_cpp.tgz" +iccPackageSource="$localMount/intel/$iccPackage" +iccInstallPath="/opt/intel" +iccTmpPath="/tmp/icc" + +iccLicense="l_icc_2018.lic" +iccLicenseSource="$localMount/semisecure/$iccLicense" +iccLicenseTarget="/home/qt/$iccLicense" + +iccInstallInstructions="$iccTmpPath/instructions.txt" + +sudo mkdir -p "$localMount" +sudo mount "$mainStorage" "$localMount" +mkdir -p "$iccTmpPath" +tar -zxf "$iccPackageSource" -C "$iccTmpPath" --strip 1 + +cp "$iccLicenseSource" "$iccLicenseTarget" + +sudo umount "$localMount" + +cat >"$iccInstallInstructions" <>~/.bashrc +echo "export ICC64_18_PATH=$iccInstallPath/compilers_and_libraries_2018.1.163/linux/bin/intel64:$iccInstallPath/bin" >>~/.bashrc +echo "ICC = 18.0.1 20171018" >> ~/versions.txt + +rm -rf "$iccTmpPath" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/22-mqtt_broker.sh new file mode 100755 index 00000000..e677427f --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/22-mqtt_broker.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# shellcheck source=../common/unix/mqtt_broker.sh +source "${BASH_SOURCE%/*}/../common/unix/mqtt_broker.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/50-open62541.sh b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/50-open62541.sh new file mode 100755 index 00000000..21c926b8 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/50-open62541.sh @@ -0,0 +1,37 @@ +#!/bin/env bash + +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# shellcheck source=../common/linux/open62541.sh +source "${BASH_SOURCE%/*}/../common/linux/open62541.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/55-emsdk.sh new file mode 100755 index 00000000..ecce5ae7 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/55-emsdk.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +set -ex + +source "${BASH_SOURCE%/*}/../common/linux/emsdk.sh" diff --git a/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/90-squish.sh new file mode 100755 index 00000000..e4281588 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.0-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.0-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/99-unset-proxy.sh new file mode 100755 index 00000000..5ff78055 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/99-unset-proxy.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash +############################################################################# +## +## Copyright (C) 2017 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +set -ex + +# 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.0-x86_64/99-version.sh b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/99-version.sh new file mode 100755 index 00000000..03565da2 --- /dev/null +++ b/coin/provisioning/qtci-linux-openSUSE-15.0-x86_64/99-version.sh @@ -0,0 +1,48 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +# This script needs to be called last during provisioning so that the software information will show up last in provision log. + +# Storage installed RPM packages information + +set -ex + +# shellcheck disable=SC2129 +echo "*********************************************" >> ~/versions.txt +echo "***** All installed RPM packages *****" >> ~/versions.txt +rpm -q -a | sort >> ~/versions.txt +echo "*********************************************" >> ~/versions.txt + +"$(dirname "$0")/../common/linux/version.sh" -- cgit v1.2.3