diff options
41 files changed, 1135 insertions, 50 deletions
diff --git a/coin/platform_configs/default.yaml b/coin/platform_configs/default.yaml index 18ea85f3..b98c451e 100644 --- a/coin/platform_configs/default.yaml +++ b/coin/platform_configs/default.yaml @@ -1,3 +1,6 @@ +Version: 2 +Module only: True +Configurations: - Template: 'qtci-windows-10-x86_64-14' Compiler: 'MSVC2015' @@ -67,24 +70,29 @@ Features: ['Packaging', 'DisableTests'] Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -release -static -nomake tests -nomake examples -no-sql-mysql -no-pch -no-dbus -no-headersclean -no-ssl -no-warnings-are-errors -no-feature-thread -xplatform wasm-emscripten' - + Template: 'qtci-linux-SLES-15-x86_64' + Compiler: 'GCC' + Features: ['DisableTests'] + Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -no-sql-mysql -no-pch -R . -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib' +- Template: 'qtci-linux-RHEL-7.6-x86_64' Compiler: 'GCC' Features: ['Packaging'] - Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -separate-debug-info -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -qt-xcb -sysconfdir /etc/xdg -qt-pcre -qt-harfbuzz -R . -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib' + Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-libudev -no-use-gold-linker -force-debug-info -separate-debug-info -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -qt-libjpeg -qt-libpng -qt-xcb -sysconfdir /etc/xdg -qt-pcre -qt-harfbuzz -R . -openssl -I {{.Env.OPENSSL_HOME}}/include -L {{.Env.OPENSSL_HOME}}/lib QMAKE_LFLAGS_APP+=-s' - Template: 'qtci-macos-10.13-x86_64-2' Compiler: 'Clang' Features: ['Packaging'] - Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -release -nomake tests -nomake examples -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -xplatform macx-clang -separate-debug-info -sdk macosx -device-option QMAKE_APPLE_DEVICE_ARCHS=x86_64 -sysconfdir /Library/Preferences/Qt -I/usr/local/opt/openssl/include' + Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -release -separate-debug-info -nomake tests -nomake examples -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -sysconfdir /Library/Preferences/Qt -I/usr/local/opt/openssl/include' - Template: 'qtci-macos-10.14-x86_64' Compiler: 'Clang' Features: ['DisableTests'] - Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -release -nomake tests -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -xplatform macx-clang -separate-debug-info -sdk macosx -device-option QMAKE_APPLE_DEVICE_ARCHS=x86_64 -sysconfdir /Library/Preferences/Qt -I/usr/local/opt/openssl/include' + Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -debug-and-release -release -separate-debug-info -nomake tests -no-sql-mysql -plugin-sql-psql -plugin-sql-sqlite -sysconfdir /Library/Preferences/Qt -I/usr/local/opt/openssl/include' - Template: 'qtci-macos-10.12-x86_64-9' Compiler: 'Clang' - Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -developer-build -release -qtnamespace TestNamespace -nomake tests -nomake examples -no-pch -no-framework -xplatform macx-clang -sdk macosx -device-option QMAKE_APPLE_DEVICE_ARCHS=x86_64 -I/usr/local/opt/openssl/include' + Configure arguments: '-opensource -confirm-license -verbose -prefix /Users/qt/work/install -developer-build -release -no-pch -no-framework -qtnamespace TestNamespace -nomake tests -nomake examples -I/usr/local/opt/openssl/include' - Template: 'qtci-macos-10.13-x86_64-2' Target os: 'IOS_ANY' @@ -127,15 +135,24 @@ Target os: 'QEMU' Target arch: 'armv7' Compiler: 'GCC' - Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-imx7-g++ -device-option CROSS_COMPILE=/opt/yocto-armv7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- -device-option DISTRO_OPTS="hard-float boot2qt" -sysroot /opt/yocto-armv7/sysroots/armv7ahf-neon-poky-linux-gnueabi -extprefix /home/qt/work/install -mysql_config /opt/yocto-armv7/sysroots/armv7ahf-neon-poky-linux-gnueabi/usr/bin/mysql_config -psql_config /dev/null -tslib' + Environment variables: ['GST_PLUGIN_SCANNER=/opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/libexec/gstreamer-1.0/gst-plugin-scanner'] + Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-imx7-g++ -device-option CROSS_COMPILE=/opt/yocto-armv7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- -device-option DISTRO_OPTS="hard-float boot2qt" -sysroot /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi -extprefix /home/qt/work/install -mysql_config /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/bin/mysql_config -psql_config /dev/null -tslib' - Template: 'qtci-linux-Ubuntu-18.04-x86_64' Target os: 'QEMU' Target arch: 'arm64' Compiler: 'GCC' + Environment variables: ['GST_PLUGIN_SCANNER=/opt/yocto-arm64/sysroots/aarch64-poky-linux/usr/libexec/gstreamer-1.0/gst-plugin-scanner'] Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-generic-g++ -device-option CROSS_COMPILE=/opt/yocto-arm64/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux- -device-option DISTRO_OPTS=boot2qt -sysroot /opt/yocto-arm64/sysroots/aarch64-poky-linux -extprefix /home/qt/work/install -mysql_config /opt/yocto-arm64/sysroots/aarch64-poky-linux/usr/bin/mysql_config -psql_config /dev/null -tslib' - Template: 'qtci-linux-Ubuntu-18.04-x86_64' + Target os: 'QEMU' + Target arch: 'mips64' + Compiler: 'GCC' + Features: ['DisableTests'] + Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-generic-g++ -device-option CROSS_COMPILE=/opt/yocto-mips64/sysroots/x86_64-pokysdk-linux/usr/bin/mips64-poky-linux/mips64-poky-linux- -device-option DISTRO_OPTS=boot2qt -sysroot /opt/yocto-mips64/sysroots/mips64-poky-linux -extprefix /home/qt/work/install -mysql_config /opt/yocto-mips64/sysroots/mips64-poky-linux/usr/bin/mysql_config -psql_config /dev/null -tslib' +- + Template: 'qtci-linux-Ubuntu-18.04-x86_64' Compiler: 'GCC' Features: ['TestOnly', 'LicenseCheck'] - diff --git a/coin/platform_configs/qtbase.yaml b/coin/platform_configs/qtbase.yaml index 374d9cb0..fae959fc 100644 --- a/coin/platform_configs/qtbase.yaml +++ b/coin/platform_configs/qtbase.yaml @@ -4,7 +4,7 @@ Target arch: 'armv7' Compiler: 'GCC' Features: ['DisableTests'] - Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-imx7-g++ -device-option CROSS_COMPILE=/opt/yocto-armv7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- -device-option DISTRO_OPTS="hard-float boot2qt" -sysroot /opt/yocto-armv7/sysroots/armv7ahf-neon-poky-linux-gnueabi -extprefix /home/qt/work/install -mysql_config /opt/yocto-armv7/sysroots/armv7ahf-neon-poky-linux-gnueabi/usr/bin/mysql_config -psql_config /dev/null -tslib' + Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-imx7-g++ -device-option CROSS_COMPILE=/opt/yocto-armv7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- -device-option DISTRO_OPTS="hard-float boot2qt" -sysroot /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi -extprefix /home/qt/work/install -mysql_config /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/bin/mysql_config -psql_config /dev/null -tslib' - Template: 'qtci-linux-Ubuntu-18.04-x86_64' Target os: 'QEMU' diff --git a/coin/platform_configs/qtdeclarative.yaml b/coin/platform_configs/qtdeclarative.yaml index 9327b92e..161875d8 100644 --- a/coin/platform_configs/qtdeclarative.yaml +++ b/coin/platform_configs/qtdeclarative.yaml @@ -3,7 +3,7 @@ Target os: 'QEMU' Target arch: 'armv7' Compiler: 'GCC' - Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-imx7-g++ -device-option CROSS_COMPILE=/opt/yocto-armv7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- -device-option DISTRO_OPTS="hard-float boot2qt" -sysroot /opt/yocto-armv7/sysroots/armv7ahf-neon-poky-linux-gnueabi -extprefix /home/qt/work/install -mysql_config /opt/yocto-armv7/sysroots/armv7ahf-neon-poky-linux-gnueabi/usr/bin/mysql_config -psql_config /dev/null -tslib' + Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -developer-build -nomake tests -nomake examples -no-xcb -R . -openssl -device linux-imx7-g++ -device-option CROSS_COMPILE=/opt/yocto-armv7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- -device-option DISTRO_OPTS="hard-float boot2qt" -sysroot /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi -extprefix /home/qt/work/install -mysql_config /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/bin/mysql_config -psql_config /dev/null -tslib' - Template: 'qtci-linux-Ubuntu-18.04-x86_64' Target os: 'QEMU' @@ -15,7 +15,7 @@ Target os: 'QEMU' Target arch: 'armv7' Compiler: 'GCC' - Configure arguments: '-opensource -confirm-license -R . -developer-build -device linux-imx7-g++ -device-option CROSS_COMPILE=/opt/yocto-armv7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- -device-option DISTRO_OPTS="hard-float boot2qt" -extprefix /home/qt/work/install -mysql_config /opt/yocto-armv7/sysroots/armv7ahf-neon-poky-linux-gnueabi/usr/bin/mysql_config -no-xcb -nomake examples -nomake tests -openssl -prefix /home/qt/work/install -psql_config /dev/null -sysroot /opt/yocto-armv7/sysroots/armv7ahf-neon-poky-linux-gnueabi -tslib -verbose' + Configure arguments: '-opensource -confirm-license -R . -developer-build -device linux-imx7-g++ -device-option CROSS_COMPILE=/opt/yocto-armv7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- -device-option DISTRO_OPTS="hard-float boot2qt" -extprefix /home/qt/work/install -mysql_config /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/usr/bin/mysql_config -no-xcb -nomake examples -nomake tests -openssl -prefix /home/qt/work/install -psql_config /dev/null -sysroot /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi -tslib -verbose' - Template: 'qtci-linux-Ubuntu-18.04-x86_64' Target os: 'QEMU' diff --git a/coin/platform_configs/qtsaferenderer.yaml b/coin/platform_configs/qtsaferenderer.yaml index cc0c29d7..7051900b 100644 --- a/coin/platform_configs/qtsaferenderer.yaml +++ b/coin/platform_configs/qtsaferenderer.yaml @@ -5,9 +5,10 @@ - Template: 'qtci-windows-10-x86_64-14' Compiler: 'Mingw73' - Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -developer-build -static -nomake tests -nomake examples -no-icu -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -plugin-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -platform win32-g++' + Features: ['Packaging', 'DisableTests'] + Configure arguments: '-opensource -confirm-license -verbose -prefix c:\Users\qt\work\install -release -static -nomake tests -nomake examples -no-icu -opengl dynamic -openssl -I %OPENSSL_INCLUDE_x64% -L %OPENSSL_LIB_x64% -plugin-sql-mysql -plugin-sql-sqlite -plugin-sql-odbc -I %MYSQL_INCLUDE_x64% -L %MYSQL_LIB_x64% -platform win32-g++' - Template: 'qtci-linux-RHEL-7.6-x86_64' Compiler: 'GCC' - Features: ['DisableTests'] - Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -developer-build -static -nomake tests -nomake examples -no-use-gold-linker' + Features: ['Packaging', 'DisableTests'] + Configure arguments: '-opensource -confirm-license -verbose -prefix /home/qt/work/install -release -static -nomake tests -nomake examples -no-use-gold-linker -no-icu -no-fontconfig -qt-freetype -no-opengl -qpa offscreen -no-xcb -qt-libpng -no-vulkan' diff --git a/coin/provisioning/common/linux/disable-notifications.sh b/coin/provisioning/common/linux/disable-notifications.sh index 7e805833..28d21656 100755 --- a/coin/provisioning/common/linux/disable-notifications.sh +++ b/coin/provisioning/common/linux/disable-notifications.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash -sudo gsettings set org.gnome.desktop.notifications.application:/update-manager/ enable false -sudo gsettings set org.gnome.desktop.notifications show-banners false +gsettings set org.gnome.desktop.notifications.application:/update-manager/ enable false +gsettings set org.gnome.desktop.notifications show-banners false diff --git a/coin/provisioning/common/linux/disable-ntp_linux.sh b/coin/provisioning/common/linux/disable-ntp_linux.sh index 06d17be0..c509d36b 100755 --- a/coin/provisioning/common/linux/disable-ntp_linux.sh +++ b/coin/provisioning/common/linux/disable-ntp_linux.sh @@ -41,6 +41,8 @@ if uname -a |grep -q "Ubuntu"; then sudo timedatectl set-ntp false elif cat /etc/os-release | grep "PRETTY_NAME" | grep -q "Leap 15"; then (sudo systemctl stop chronyd && sudo systemctl disable chronyd) +elif cat /etc/os-release |grep "SUSE Linux Enterprise Server 15"; then + sudo timedatectl set-ntp false else (systemctl &>/dev/null && sudo systemctl disable ntpd) || sudo /sbin/chkconfig ntpd off fi diff --git a/coin/provisioning/common/macos/libiodbc.rb b/coin/provisioning/common/macos/libiodbc.rb new file mode 100644 index 00000000..ed669e69 --- /dev/null +++ b/coin/provisioning/common/macos/libiodbc.rb @@ -0,0 +1,23 @@ +class Libiodbc < Formula + desc "Database connectivity layer based on ODBC. (alternative to unixodbc)" + homepage "http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/" + url "https://github.com/openlink/iODBC/archive/v3.52.12.tar.gz" + sha256 "b2cab4f8fbd5388344d7ee0deb1a32310795b1e631c3505a5b515d90186e2516" + + depends_on "autoconf" => :build + depends_on "automake" => :build + depends_on "libtool" => :build + + conflicts_with "unixodbc", :because => "both install 'odbcinst.h' header" + + def install + system "./autogen.sh" + system "./configure", "--prefix=#{prefix}" + system "make", "install" + end + + test do + system bin/"iodbc-config", "--version" + end +end + diff --git a/coin/provisioning/common/macos/libiodbc.sh b/coin/provisioning/common/macos/libiodbc.sh index 79fa86c2..4ba0bbc3 100755 --- a/coin/provisioning/common/macos/libiodbc.sh +++ b/coin/provisioning/common/macos/libiodbc.sh @@ -41,7 +41,7 @@ set -ex source "${BASH_SOURCE%/*}/../unix/SetEnvVar.sh" brew update -brew install libiodbc +brew install ${BASH_SOURCE%/*}/libiodbc.rb # CPLUS_INCLUDE_PATH is set so clang and configure can find libiodbc diff --git a/coin/provisioning/qtci-linux-SLES-12-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-SLES-12-x86_64/01-systemsetup.sh new file mode 100755 index 00000000..0bf3ce24 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-12-x86_64/01-systemsetup.sh @@ -0,0 +1,69 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2019 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" + +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 + +while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do + echo "Waiting for PackageKit to finish..." + sleep 0.5 +done + +# 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-12-x86_64/02-disable-gnome-notifications.sh b/coin/provisioning/qtci-linux-SLES-12-x86_64/02-disable-gnome-notifications.sh new file mode 100755 index 00000000..f38c9bab --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-12-x86_64/02-disable-gnome-notifications.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# shellcheck source=../common/linux/disable-notifications.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh" diff --git a/coin/provisioning/qtci-linux-SLES-12-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-SLES-12-x86_64/02-disable-ntp.sh new file mode 100755 index 00000000..38707a8a --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-12-x86_64/02-disable-ntp.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +# shellcheck source=../common/linux/disable-ntp_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh" diff --git a/coin/provisioning/qtci-linux-SLES-12-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-SLES-12-x86_64/02-zypperpackages.sh new file mode 100755 index 00000000..cdea163f --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-12-x86_64/02-zypperpackages.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2019 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 gcc gcc-c++ + +sudo zypper -nq install bison flex gperf \ + zlib-devel \ + libudev-devel \ + glib2-devel \ + libopenssl-devel \ + freetype2-devel \ + fontconfig-devel \ + sqlite3-devel \ + libxkbcommon-devel \ + libxkbcommon-x11-devel + +sudo zypper -nq install p7zip + +# EGL support +sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel + +# gtk3 style for QtGui/QStyle +sudo zypper -nq install gtk3-devel + +# Xinput2 +sudo zypper -nq install libXi-devel postgresql10 postgresql10-devel mysql-devel mysql mysql-server + +# system provided XCB libraries +sudo zypper -nq install xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel \ + xcb-util-wm-devel xcb-util-renderutil-devel + +# ICU +sudo zypper -nq install libicu-devel libicu52_1 + +# 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 +# https://bugzilla.suse.com/show_bug.cgi?id=1129586 +sudo mv /usr/include/speech-dispatcher/speech-dispatcher/* /usr/include/speech-dispatcher/ + +# ODBC support +sudo zypper -nq install unixODBC-devel unixODBC + +# freetds support +sudo zypper -nq install libfreetds freetds-devel + +# sqlite2 support +sudo zypper -nq install sqlite2 sqlite2-devel + diff --git a/coin/provisioning/qtci-linux-SLES-12-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-SLES-12-x86_64/08-libclang.sh new file mode 100755 index 00000000..bbe2b4b4 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-12-x86_64/08-libclang.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang.sh +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-SLES-12-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-SLES-12-x86_64/08-pythondev.sh new file mode 100755 index 00000000..cc9385e9 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-12-x86_64/08-pythondev.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2019 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 + +wget -q https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/Python3/build_python3.sh +sed -i 's/12.3/12.4/g' build_python3.sh +bash build_python3.sh + +export +python3 --version + +pip3 install --user wheel +pip3 install --user virtualenv + +# Install all needed packages in a special wheel cache directory +pip3 wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt" + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" diff --git a/coin/provisioning/qtci-linux-SLES-12-x86_64/09-cmake.sh b/coin/provisioning/qtci-linux-SLES-12-x86_64/09-cmake.sh new file mode 100755 index 00000000..5eb53566 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-12-x86_64/09-cmake.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash + +set -ex + +"$(dirname "$0")/../common/linux/cmake_linux.sh" diff --git a/coin/provisioning/qtci-linux-SLES-12-x86_64/09-install-openssl.sh b/coin/provisioning/qtci-linux-SLES-12-x86_64/09-install-openssl.sh new file mode 100755 index 00000000..4f1d3768 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-12-x86_64/09-install-openssl.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +set -ex + +# shellcheck source=../common/unix/install-openssl.sh +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "linux" diff --git a/coin/provisioning/qtci-linux-SLES-12-x86_64/18-icc.sh b/coin/provisioning/qtci-linux-SLES-12-x86_64/18-icc.sh new file mode 100755 index 00000000..7ab8528a --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-12-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" <<EOT +ACCEPT_EULA=accept +CONTINUE_WITH_OPTIONAL_ERROR=yes +PSET_INSTALL_DIR=$iccInstallPath +CONTINUE_WITH_INSTALLDIR_OVERWRITE=yes +PSET_MODE=install +ACTIVATION_LICENSE_FILE=$iccLicenseTarget +ACTIVATION_TYPE=license_file +PHONEHOME_SEND_USAGE_DATA=no +ARCH_SELECTED=ALL +COMPONENTS=;intel-comp__x86_64;intel-comp-32bit__x86_64;intel-comp-doc__noarch;intel-comp-l-all-common__noarch;intel-comp-l-all-vars__noarch;intel-comp-nomcu-vars__noarch;intel-comp-ps-32bit__x86_64;intel-comp-ps__x86_64;intel-comp-ps-ss__x86_64;intel-comp-ps-ss-bec__x86_64;intel-comp-ps-ss-bec-32bit__x86_64;intel-openmp__x86_64;intel-openmp-32bit__x86_64;intel-openmp-common__noarch;intel-openmp-common-icc__noarch;intel-tbb-libs-32bit__x86_64;intel-tbb-libs__x86_64;intel-idesupport-icc-common-ps__noarch;intel-icc__x86_64;intel-icc-32bit__x86_64;intel-c-comp-common__noarch;intel-icc-common__noarch;intel-icc-common-ps__noarch;intel-icc-common-ps-ss-bec__noarch;intel-icc-doc__noarch;intel-icc-doc-ps__noarch;intel-icc-ps__x86_64;intel-icc-ps-ss__x86_64;intel-icc-ps-ss-bec__x86_64;intel-icc-ps-ss-bec-32bit__x86_64;intel-tbb-devel-32bit__x86_64;intel-tbb-devel__x86_64;intel-tbb-common__noarch;intel-tbb-doc__noarch;intel-ism__noarch;intel-ccompxe__noarch;intel-psxe-common__noarch;intel-psxe-doc__noarch;intel-psxe-common-doc__noarch;intel-ccompxe-doc__noarch;intel-psxe-licensing__noarch;intel-psxe-licensing-doc__noarch;intel-icsxe-pset +EOT + +(cd "$iccTmpPath" && sudo ./install.sh --silent $iccInstallInstructions --ignore-cpu) + +# Export LD_LIBRARY_PATH to Coin +echo "export ICC64_18_LDLP=$iccInstallPath/lib/intel64" >>~/.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-SLES-12-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-SLES-12-x86_64/22-mqtt_broker.sh new file mode 100755 index 00000000..e677427f --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-12-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-SLES-12-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-SLES-12-x86_64/55-emsdk.sh new file mode 100755 index 00000000..44cf1b80 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-12-x86_64/55-emsdk.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +set -ex + +# shellcheck source=../common/unix/emsdk.sh +source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-linux-SLES-12-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-SLES-12-x86_64/90-squish.sh new file mode 100755 index 00000000..e4281588 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-12-x86_64/90-squish.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-linux-SLES-12-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-SLES-12-x86_64/99-unset-proxy.sh new file mode 100755 index 00000000..5ff78055 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-12-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-SLES-12-x86_64/99-version.sh b/coin/provisioning/qtci-linux-SLES-12-x86_64/99-version.sh new file mode 100755 index 00000000..03565da2 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-12-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" diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/01-systemsetup.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/01-systemsetup.sh new file mode 100755 index 00000000..ee0b6894 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/01-systemsetup.sh @@ -0,0 +1,71 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2019 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" + +echo "Set timezone to UTC." +sudo timedatectl set-timezone Etc/UTC +echo "Timeout for blanking the screen (0 = never)" +gsettings set org.gnome.desktop.session idle-delay 0 +echo "Prevents screen lock when screesaver goes active." +gsettings set org.gnome.desktop.screensaver lock-enabled false +gsettings set org.gnome.desktop.lockdown disable-lock-screen 'true' + +sudo sed -i 's|GRUB_TIMEOUT=8|GRUB_TIMEOUT=0|g' /etc/default/grub +sudo grub2-mkconfig -o /boot/grub2/grub.cfg + +echo "Set Network Test Server address to $network_test_server_ip in /etc/hosts" +echo "$network_test_server_ip qt-test-server qt-test-server.qt-test-net" | sudo tee -a /etc/hosts +echo "Set DISPLAY" +echo 'export DISPLAY=":0"' >> ~/.bashrc + +sudo systemctl stop packagekit +sudo systemctl disable packagekit +while sudo fuser /usr/lib/packagekitd >/dev/null 2>&1 ; do + echo "Waiting for PackageKit to finish..." + sleep 5 +done + +# 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-x86_64/02-disable-gnome-notifications.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-disable-gnome-notifications.sh new file mode 100755 index 00000000..f38c9bab --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-disable-gnome-notifications.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash + +# shellcheck source=../common/linux/disable-notifications.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-notifications.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/02-disable-ntp.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-disable-ntp.sh new file mode 100755 index 00000000..38707a8a --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-disable-ntp.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +# shellcheck source=../common/linux/disable-ntp_linux.sh +source "${BASH_SOURCE%/*}/../common/linux/disable-ntp_linux.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh new file mode 100755 index 00000000..080bc43b --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/02-zypperpackages.sh @@ -0,0 +1,94 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2019 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 gcc gcc-c++ + +sudo zypper -nq install bison flex gperf \ + zlib-devel \ + libudev-devel \ + glib2-devel \ + libopenssl-devel \ + freetype2-devel \ + fontconfig-devel \ + sqlite3-devel \ + libxkbcommon-devel \ + libxkbcommon-x11-devel + +sudo zypper -nq install cmake + +sudo zypper -nq install p7zip + +# EGL support +sudo zypper -nq install Mesa-libEGL-devel Mesa-libGL-devel + +# gtk3 style for QtGui/QStyle +sudo zypper -nq install gtk3-devel + +# Xinput2 +sudo zypper -nq install libXi-devel postgresql10 postgresql10-devel mysql-devel mysql mysql-server + +# system provided XCB libraries +sudo zypper -nq install xcb-util-devel xcb-util-image-devel xcb-util-keysyms-devel \ + xcb-util-wm-devel xcb-util-renderutil-devel + +# 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 +#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 + diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/08-libclang.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/08-libclang.sh new file mode 100755 index 00000000..bbe2b4b4 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/08-libclang.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +set -ex + +BASEDIR=$(dirname "$0") +# shellcheck source=../common/unix/libclang.sh +"$BASEDIR/../common/unix/libclang.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/08-pythondev.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/08-pythondev.sh new file mode 100755 index 00000000..cda48de7 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/08-pythondev.sh @@ -0,0 +1,58 @@ +#!/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$ +## +############################################################################# + +# provides: python development libraries +# version: provided by default Linux distribution repository +# needed to build pyside + +set -ex + +sudo zypper -nq install python-devel + +wget -q https://raw.githubusercontent.com/linux-on-ibm-z/scripts/master/Python3/build_python3.sh +bash build_python3.sh + +export +python3 --version + +pip3 install --user wheel +pip3 install --user virtualenv + +# Install all needed packages in a special wheel cache directory +pip3 wheel --wheel-dir "$HOME/python3-wheels" -r "${BASH_SOURCE%/*}/../common/shared/requirements.txt" + +# shellcheck source=../common/unix/SetEnvVar.sh +source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" +SetEnvVar "PYTHON3_WHEEL_CACHE" "$HOME/python3-wheels" diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/09-install-openssl.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/09-install-openssl.sh new file mode 100755 index 00000000..4f1d3768 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/09-install-openssl.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +set -ex + +# shellcheck source=../common/unix/install-openssl.sh +source "${BASH_SOURCE%/*}/../common/unix/install-openssl.sh" "linux" diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/18-icc.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/18-icc.sh new file mode 100755 index 00000000..7ab8528a --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15-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" <<EOT +ACCEPT_EULA=accept +CONTINUE_WITH_OPTIONAL_ERROR=yes +PSET_INSTALL_DIR=$iccInstallPath +CONTINUE_WITH_INSTALLDIR_OVERWRITE=yes +PSET_MODE=install +ACTIVATION_LICENSE_FILE=$iccLicenseTarget +ACTIVATION_TYPE=license_file +PHONEHOME_SEND_USAGE_DATA=no +ARCH_SELECTED=ALL +COMPONENTS=;intel-comp__x86_64;intel-comp-32bit__x86_64;intel-comp-doc__noarch;intel-comp-l-all-common__noarch;intel-comp-l-all-vars__noarch;intel-comp-nomcu-vars__noarch;intel-comp-ps-32bit__x86_64;intel-comp-ps__x86_64;intel-comp-ps-ss__x86_64;intel-comp-ps-ss-bec__x86_64;intel-comp-ps-ss-bec-32bit__x86_64;intel-openmp__x86_64;intel-openmp-32bit__x86_64;intel-openmp-common__noarch;intel-openmp-common-icc__noarch;intel-tbb-libs-32bit__x86_64;intel-tbb-libs__x86_64;intel-idesupport-icc-common-ps__noarch;intel-icc__x86_64;intel-icc-32bit__x86_64;intel-c-comp-common__noarch;intel-icc-common__noarch;intel-icc-common-ps__noarch;intel-icc-common-ps-ss-bec__noarch;intel-icc-doc__noarch;intel-icc-doc-ps__noarch;intel-icc-ps__x86_64;intel-icc-ps-ss__x86_64;intel-icc-ps-ss-bec__x86_64;intel-icc-ps-ss-bec-32bit__x86_64;intel-tbb-devel-32bit__x86_64;intel-tbb-devel__x86_64;intel-tbb-common__noarch;intel-tbb-doc__noarch;intel-ism__noarch;intel-ccompxe__noarch;intel-psxe-common__noarch;intel-psxe-doc__noarch;intel-psxe-common-doc__noarch;intel-ccompxe-doc__noarch;intel-psxe-licensing__noarch;intel-psxe-licensing-doc__noarch;intel-icsxe-pset +EOT + +(cd "$iccTmpPath" && sudo ./install.sh --silent $iccInstallInstructions --ignore-cpu) + +# Export LD_LIBRARY_PATH to Coin +echo "export ICC64_18_LDLP=$iccInstallPath/lib/intel64" >>~/.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-SLES-15-x86_64/22-mqtt_broker.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/22-mqtt_broker.sh new file mode 100755 index 00000000..e677427f --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15-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-SLES-15-x86_64/55-emsdk.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/55-emsdk.sh new file mode 100755 index 00000000..44cf1b80 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/55-emsdk.sh @@ -0,0 +1,39 @@ +#!/usr/bin/env bash + +############################################################################# +## +## Copyright (C) 2018 The Qt Company Ltd. +## Contact: http://www.qt.io/licensing/ +## +## This file is part of the provisioning scripts of the Qt Toolkit. +## +## $QT_BEGIN_LICENSE:LGPL21$ +## Commercial License Usage +## Licensees holding valid commercial Qt licenses may use this file in +## accordance with the commercial license agreement provided with the +## Software or, alternatively, in accordance with the terms contained in +## a written agreement between you and The Qt Company. For licensing terms +## and conditions see http://www.qt.io/terms-conditions. For further +## information use the contact form at http://www.qt.io/contact-us. +## +## GNU Lesser General Public License Usage +## Alternatively, this file may be used under the terms of the GNU Lesser +## General Public License version 2.1 or version 3 as published by the Free +## Software Foundation and appearing in the file LICENSE.LGPLv21 and +## LICENSE.LGPLv3 included in the packaging of this file. Please review the +## following information to ensure the GNU Lesser General Public License +## requirements will be met: https://www.gnu.org/licenses/lgpl.html and +## http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +## +## As a special exception, The Qt Company gives you certain additional +## rights. These rights are described in The Qt Company LGPL Exception +## version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +## +## $QT_END_LICENSE$ +## +############################################################################# + +set -ex + +# shellcheck source=../common/unix/emsdk.sh +source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/90-squish.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/90-squish.sh new file mode 100755 index 00000000..e4281588 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15-x86_64/90-squish.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +BASEDIR=$(dirname "$0") +"$BASEDIR/../common/unix/squishInstall.sh" + diff --git a/coin/provisioning/qtci-linux-SLES-15-x86_64/99-unset-proxy.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/99-unset-proxy.sh new file mode 100755 index 00000000..5ff78055 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15-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-SLES-15-x86_64/99-version.sh b/coin/provisioning/qtci-linux-SLES-15-x86_64/99-version.sh new file mode 100755 index 00000000..03565da2 --- /dev/null +++ b/coin/provisioning/qtci-linux-SLES-15-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" diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh index 4ca84072..9a4558e2 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/03-qemu.sh @@ -121,6 +121,43 @@ index 11a311f9db..94d8abc745 100644 2.17.1 EOT +patch -p1 <<EOT +From fb4f0fa319e757c083f0b3674f575a09c323f5aa Mon Sep 17 00:00:00 2001 +From: Assam Boudjelthia <assam.boudjelthia@qt.io> +Date: Tue, 20 Aug 2019 09:46:46 +0300 +Subject: [PATCH] Suppress unsupported syscall and ioctl debug messages + +Those messages were spamming the CI tests output, thus they can +only be shown by defining environment variable QEMU_SYSCALL_DEBUG=true + +diff --git a/linux-user/syscall.c b/linux-user/syscall.c +index 94d8abc745..e72cfb0cb5 100644 +--- a/linux-user/syscall.c ++++ b/linux-user/syscall.c +@@ -5479,7 +5479,8 @@ static abi_long do_ioctl(int fd, int cmd, abi_long arg) + ie = ioctl_entries; + for(;;) { + if (ie->target_cmd == 0) { +- gemu_log("Unsupported ioctl: cmd=0x%04lx\n", (long)cmd); ++ if (getenv("QEMU_SYSCALL_DEBUG")) ++ gemu_log("Unsupported ioctl: cmd=0x%04lx\n", (long)cmd); + return -TARGET_ENOSYS; + } + if (ie->target_cmd == cmd) +@@ -12172,7 +12173,8 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, + + default: + unimplemented: +- gemu_log("qemu: Unsupported syscall: %d\n", num); ++ if (getenv("QEMU_SYSCALL_DEBUG")) ++ gemu_log("qemu: Unsupported syscall: %d\n", num); + #if defined(TARGET_NR_setxattr) || defined(TARGET_NR_get_thread_area) || defined(TARGET_NR_getdomainname) || defined(TARGET_NR_set_robust_list) + unimplemented_nowarn: + #endif +-- +2.17.1 +EOT + ./configure --target-list=arm-linux-user,aarch64-linux-user --static --disable-werror make sudo make install diff --git a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh index f43e8fd2..c5289f45 100755 --- a/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh +++ b/coin/provisioning/qtci-linux-Ubuntu-18.04-x86_64/04-yocto.sh @@ -2,7 +2,7 @@ ############################################################################# ## -## Copyright (C) 2017 The Qt Company Ltd. +## Copyright (C) 2019 The Qt Company Ltd. ## Contact: http://www.qt.io/licensing/ ## ## This file is part of the provisioning scripts of the Qt Toolkit. @@ -44,14 +44,14 @@ source "${BASH_SOURCE%/*}/../common/unix/SetEnvVar.sh" echo "Installing Yocto toolchain for 32-bit b2qt ARMV7..." -versionARM="2.5.2" -package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarmv7-409ebc3.sh" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/sumo/$package" -AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/sumo/$package" -SHA1="a03b4eb492b16c6e60cf83c0718c27e9cfa6d522" +versionARM="2.6.1" +package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarmv7-9e1a27d.sh" +PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/thud/$package" +AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/thud/$package" +SHA1="7c76230ef1bb58bf907daa81117d81b48534802c" yoctoInstaller="/tmp/yocto-toolchain-ARMv7.sh" yoctoLocationARMv7="/opt/yocto-armv7" -sysrootARMv7="sysroots/armv7ahf-neon-poky-linux-gnueabi" +sysrootARMv7="sysroots/armv7at2hf-neon-poky-linux-gnueabi" crosscompileARMv7="sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-" DownloadURL "$PrimaryUrl" "$AltUrl" "$SHA1" "$yoctoInstaller" @@ -62,11 +62,11 @@ rm -rf "$yoctoInstaller" echo "Installing Yocto toolchain for 64-bit b2qt ARM64..." -versionARM64="2.5.2" -package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarm64-409ebc3.sh" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/sumo/$package" -AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/sumo/$package" -SHA1="3dadf1135d00f7cb5586b605b1f7344ae828c9cd" +versionARM64="2.6.1" +package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemuarm64-9e1a27d.sh" +PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/thud/$package" +AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/thud/$package" +SHA1="598c24b8bcf289bb67a14aea51567c0d00bf5187" yoctoInstaller="/tmp/yocto-toolchain-ARM64.sh" yoctoLocationARM64="/opt/yocto-arm64" sysrootARM64="sysroots/aarch64-poky-linux" @@ -80,11 +80,11 @@ rm -rf "$yoctoInstaller" echo "Installing Yocto toolchain for 64-bit b2qt MIPS64..." -versionMIPS64="2.5.2" -package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemumips64-409ebc3.sh" -PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/sumo/$package" -AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/sumo/$package" -SHA1="dd03b496707ca8888b339a667e021722a8c2fdb4" +versionMIPS64="2.6.1" +package="b2qt-x86_64-meta-toolchain-b2qt-embedded-sdk-qemumips64-9e1a27d.sh" +PrimaryUrl="http://ci-files01-hki.intra.qt.io/input/boot2qt/thud/$package" +AltUrl="http://download.qt.io/development_releases/prebuilt/boot2qt/thud/$package" +SHA1="8cea8504463ab96322e92f3c6e9e922f394ae3c7" yoctoInstaller="/tmp/yocto-toolchain-mips64.sh" yoctoLocationMIPS64="/opt/yocto-mips64" sysrootMIPS64="sysroots/mips64-poky-linux" @@ -115,7 +115,7 @@ echo "Yocto ARM64 toolchain = $versionARM64" >> ~/versions.txt echo "Yocto MIPS64 toolchain = $versionMIPS64" >> ~/versions.txt # List qt user in qemu toolchain sysroots -sudo sh -c "grep ^qt /etc/passwd >> /opt/yocto-armv7/sysroots/armv7ahf-neon-poky-linux-gnueabi/etc/passwd" -sudo sh -c "grep ^qt /etc/group >> /opt/yocto-armv7/sysroots/armv7ahf-neon-poky-linux-gnueabi/etc/group" +sudo sh -c "grep ^qt /etc/passwd >> /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/etc/passwd" +sudo sh -c "grep ^qt /etc/group >> /opt/yocto-armv7/sysroots/armv7at2hf-neon-poky-linux-gnueabi/etc/group" sudo sh -c "grep ^qt /etc/passwd >> /opt/yocto-arm64/sysroots/aarch64-poky-linux/etc/passwd" sudo sh -c "grep ^qt /etc/group >> /opt/yocto-arm64/sysroots/aarch64-poky-linux/etc/group" diff --git a/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh b/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh index 0b8595a0..aa61f549 100755 --- a/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh +++ b/coin/provisioning/qtci-macos-10.13-x86_64/55-signtools.sh @@ -114,15 +114,15 @@ sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" { Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios; } 2> /dev/null { iosPassword=$(cat "$targetFolder/ios_password.txt"); } 2> /dev/null -iPhoneDeveloper="iosdevelopment_2019.p12" -shaIPhoneDeveloper="fbc89661c5295b4105f3890989a94c559ea4a61c" -Install "$cacheSigningTools/latest_ios_cert/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper +iPhoneDeveloper="iosDevelopment2019CiTeam.p12" +shaIPhoneDeveloper="fa22abe1b1cc64af6585f7a61c4aba5e00220bdc" +Install "$cacheSigningTools/latest_ios_cert_2019/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper echo "Importing $iPhoneDeveloper.." { security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null -iPhoneDistribution="iosdistribution_2019.p12" -shaIPhoneDistribution="f306102f9e18e2074a7b655a9b151ce69c95baac" -Install "$cacheSigningTools/latest_ios_cert/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution +iPhoneDistribution="iosDistribution2019CiTeam.p12" +shaIPhoneDistribution="6510119651c7aecb21d0a1dae329f2eae1e8f4e9" +Install "$cacheSigningTools/latest_ios_cert_2019/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution echo "Importing $iPhoneDistribution.." { security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null @@ -130,8 +130,8 @@ echo "Importing $iPhoneDistribution.." echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.." mkdir "$targetFolder/Library/MobileDevice" mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles" -shaMobileprovision="88c67c95a6f59e6463a00da0b5021f581db624bf" -Install "$cacheSigningTools/latest_ios_cert/iOS_Dev08112017.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev08112017.mobileprovision" $shaMobileprovision +shaMobileprovision="477a7f3876c4333bd56a045df0d82fce795b1ebb" +Install "$cacheSigningTools/latest_ios_cert_2019/iOS_Dev_2019_citeam.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev08112017.mobileprovision" $shaMobileprovision # Removing password files rm -fr "$targetFolder/login_keychain_password.txt" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh b/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh index c0d75ff6..544364b0 100755 --- a/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh +++ b/coin/provisioning/qtci-macos-10.14-x86_64/30-android.sh @@ -51,7 +51,7 @@ toolsVersion="r26.1.1" # toolsFile dertermines tools version toolsFile="sdk-tools-darwin-4333796.zip" -ndkVersion="r18b" +ndkVersion="r19c" ndkFile="android-ndk-$ndkVersion-darwin-x86_64.zip" sdkBuildToolsVersion="28.0.3" # this is compile sdk version @@ -76,6 +76,7 @@ ls -l "$sdkTargetFolder" SetEnvVar "ANDROID_SDK_HOME" "$sdkTargetFolder" SetEnvVar "ANDROID_NDK_HOME" "$targetFolder/android-ndk-$ndkVersion" +SetEnvVar "ANDROID_NDK_ROOT" "$targetFolder/android-ndk-$ndkVersion" SetEnvVar "ANDROID_NDK_HOST" "darwin-x86_64" SetEnvVar "ANDROID_API_VERSION" "$sdkApiLevel" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/36-emsdk.sh b/coin/provisioning/qtci-macos-10.14-x86_64/36-emsdk.sh new file mode 100755 index 00000000..7396d336 --- /dev/null +++ b/coin/provisioning/qtci-macos-10.14-x86_64/36-emsdk.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash + +set -ex + +# shellcheck source=../common/unix/emsdk.sh +source "${BASH_SOURCE%/*}/../common/unix/emsdk.sh" diff --git a/coin/provisioning/qtci-macos-10.14-x86_64/55-signtools.sh b/coin/provisioning/qtci-macos-10.14-x86_64/55-signtools.sh index 0b8595a0..aa61f549 100755 --- a/coin/provisioning/qtci-macos-10.14-x86_64/55-signtools.sh +++ b/coin/provisioning/qtci-macos-10.14-x86_64/55-signtools.sh @@ -114,15 +114,15 @@ sha1Ios="aae58d00d0a1b179a09f21cfc67f9d16fb95ff36" { Install "$cacheSigningTools/ios_password.txt" "$targetFolder/ios_password.txt" $sha1Ios; } 2> /dev/null { iosPassword=$(cat "$targetFolder/ios_password.txt"); } 2> /dev/null -iPhoneDeveloper="iosdevelopment_2019.p12" -shaIPhoneDeveloper="fbc89661c5295b4105f3890989a94c559ea4a61c" -Install "$cacheSigningTools/latest_ios_cert/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper +iPhoneDeveloper="iosDevelopment2019CiTeam.p12" +shaIPhoneDeveloper="fa22abe1b1cc64af6585f7a61c4aba5e00220bdc" +Install "$cacheSigningTools/latest_ios_cert_2019/$iPhoneDeveloper" "$targetFolder/$iPhoneDeveloper" $shaIPhoneDeveloper echo "Importing $iPhoneDeveloper.." { security import $targetFolder/$iPhoneDeveloper -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null -iPhoneDistribution="iosdistribution_2019.p12" -shaIPhoneDistribution="f306102f9e18e2074a7b655a9b151ce69c95baac" -Install "$cacheSigningTools/latest_ios_cert/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution +iPhoneDistribution="iosDistribution2019CiTeam.p12" +shaIPhoneDistribution="6510119651c7aecb21d0a1dae329f2eae1e8f4e9" +Install "$cacheSigningTools/latest_ios_cert_2019/$iPhoneDistribution" "$targetFolder/$iPhoneDistribution" $shaIPhoneDistribution echo "Importing $iPhoneDistribution.." { security import "$targetFolder/$iPhoneDistribution" -k $loginKeychain* -P "$iosPassword" -T /usr/bin/codesign; } 2> /dev/null @@ -130,8 +130,8 @@ echo "Importing $iPhoneDistribution.." echo "Creating directory $targetFolder/Library/MobileDevice/Provisioning Profiles.." mkdir "$targetFolder/Library/MobileDevice" mkdir "$targetFolder/Library/MobileDevice/Provisioning Profiles" -shaMobileprovision="88c67c95a6f59e6463a00da0b5021f581db624bf" -Install "$cacheSigningTools/latest_ios_cert/iOS_Dev08112017.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev08112017.mobileprovision" $shaMobileprovision +shaMobileprovision="477a7f3876c4333bd56a045df0d82fce795b1ebb" +Install "$cacheSigningTools/latest_ios_cert_2019/iOS_Dev_2019_citeam.mobileprovision" "$targetFolder/Library/MobileDevice/Provisioning Profiles/iOS_Dev08112017.mobileprovision" $shaMobileprovision # Removing password files rm -fr "$targetFolder/login_keychain_password.txt" |